Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Improve accuracy of ^ for ill-conditioned matrices #12584

Closed
wants to merge 1,117 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1117 commits
Select commit Hold shift + click to select a range
2c9ff3b
Improve inferability of promote_op
pabloferz Aug 9, 2016
5842445
Revert "Temporary ugly hack to download old versions of winrpm gcc dl…
tkelman Aug 10, 2016
cf5952e
fix incorrect bignum rng buffer size [fix #17772] (#17874)
wildart Aug 10, 2016
ea748d6
Add more `try`-`catch` and sigatomic for top-level code/new tasks
yuyichao Jul 30, 2016
e25d21e
Implement `jl_call_in_ctx` on unix.
yuyichao Jul 30, 2016
86e17ae
Patch is picky about newlines at end of file
tkelman Aug 10, 2016
8bd6f0f
Set an RPATH on all libraries requiring fortran in binary-dist (#17901)
Keno Aug 10, 2016
e2b83ae
Remove redundant uplo argument in chol family. When using Hermitian (…
andreasnoack Aug 10, 2016
4ba2497
Define conj and conj! for for Symmetric and Hermitian. (#17827)
andreasnoack Aug 10, 2016
a554434
Add cross-release compatibility note to CONTRIBUTING.md (#17911)
ranjanan Aug 10, 2016
f950371
reword second tag -> find in CONTRIBUTING.md
tkelman Aug 10, 2016
8d64e51
improve heuristic for when to refresh line in the REPL (#17868)
KristofferC Aug 10, 2016
d93e7bb
Fix trailing whitespace in code literal
MichaelHatherly Aug 10, 2016
9ab14ea
fix missing line break in precompile error message
JeffBezanson Aug 10, 2016
6b0e8b5
remove some unnecessary anonymous functions
JeffBezanson Aug 10, 2016
c7306bc
sweep unused types from caches in sysimg write
JeffBezanson Jul 5, 2016
0b21723
avoid making copies of `Tuple{Vararg{Any}}`
JeffBezanson Jul 5, 2016
a474f71
fix BigInt `ndigits` test
JeffBezanson Aug 10, 2016
ad0f8a7
Optimize exception frames allocation
yuyichao Aug 2, 2016
67d881b
Support non-1 indices and fix type problems in DFT (fixes #17896)
timholy Aug 9, 2016
f218351
Export circcopy! and add it to the RST manual
timholy Aug 9, 2016
cfaaee8
Move OffsetArray definition to TestHelpers
timholy Aug 11, 2016
afa3354
fix output of getaddrinfo in networking and streams (#17931)
Aug 11, 2016
1a25969
Add test for PR #17803
ranjanan Aug 11, 2016
c12b3d1
Fix doctest line numbers after #17882
tkelman Aug 11, 2016
228ed99
Fix typo in tbaa_decorate_gcframe
yuyichao Aug 11, 2016
1ab15ae
Fix StackOverflowError in zip_iteratorsize
timholy Aug 11, 2016
1a1362f
slightly improve error message for unsupported kw arguments
JeffBezanson Aug 11, 2016
1bc40e0
Change test to Int128(-1)
ranjanan Aug 11, 2016
9e05bd6
Remove two cross-references
MichaelHatherly Aug 11, 2016
5cb68c6
improve correctness of fieldtype_tfunc
vtjnash Aug 10, 2016
7dcca5c
preserve functionality of special ^ inliner in linear IR
vtjnash Aug 10, 2016
671b6f1
add model of special case ^ inliner to inference edges
vtjnash Aug 10, 2016
69023b9
add mem fence-post verification code
vtjnash Aug 8, 2016
24c371d
Expand docs on enumerate's relationship with indexing
timholy Aug 11, 2016
acfed7c
Generalize getindex for AbstractUnitRanges
timholy Aug 11, 2016
efa8c17
Revert "Remove redundant uplo argument in chol family. When using Her…
andreasnoack Aug 12, 2016
29b2d6e
Remove redundant uplo argument in chol family. When using Hermitian
andreasnoack Aug 12, 2016
b17b8bb
disable openssl in curl build when build agains mbedtls [fix #17910] …
wildart Aug 12, 2016
5d2e42b
Move documentation inline for error types declared in base/base.jl. (…
xorJane Aug 12, 2016
49271f4
Fix typo in libgit2 credentials callback (#17975)
Keno Aug 12, 2016
2b2d4a4
Fix MSVC compilation
yuyichao Aug 11, 2016
9b2f321
more manual eta reduction (companion to 9cead4f7874a2aa9b1a8d6adc5) (…
StefanKarpinski Aug 12, 2016
7a46389
Fix atahn to atanh (#17977)
kshyatt Aug 12, 2016
47d192e
Write up test for #15592
ranjanan Aug 12, 2016
c850e6f
Fix missing type parameter in _array_for
timholy Aug 13, 2016
631708f
Provide a more useful error message for calling map on a Dict with a …
timholy Aug 13, 2016
f329279
Move env.jl test to separate test file
dhoegh Aug 13, 2016
395c137
Silence unneeded output in backtrace test
timholy Aug 13, 2016
9e04023
Force inlining on indices(A, d)
timholy Aug 13, 2016
223f311
Fix `@threadcall` argument passing.
maleadt Aug 4, 2016
074c524
stop curl from rebuilding incessantly
vtjnash Aug 13, 2016
c731d55
Add cygpath_w call so `make -C test/perf` works in cygwin-cross
tkelman Aug 11, 2016
f9be671
fix deprecated syntax "global rng_state::Float64"
tkelman Aug 11, 2016
0de84af
A trick to fix continue/break/return handling in for loop testset.
yuyichao Aug 13, 2016
e25106b
Remove nonstandard header sys/sysctl.h when unneeded
Aug 12, 2016
e773092
fix a typo in Base.split (#18008)
bicycle1885 Aug 14, 2016
5ee8a7a
Fix a row-indexing bug with sparse matrices
tkelman Aug 14, 2016
d67aefa
specialize on type in getindex for types
KristofferC Aug 14, 2016
c231a39
Fix #17956 and add test. The bug was introduced in 103db50aa6c67d8e73…
dhoegh Aug 13, 2016
60f1981
Deprecate `delete!(ENV, k ,def)` as it is inherently type unstable an…
dhoegh Aug 13, 2016
f5b3004
move doc for `withenv`
dhoegh Aug 13, 2016
fc622dd
Formatting: indent the OS specific blocks.
dhoegh Aug 14, 2016
0b7b535
Lock libmap and use atomic load/store on library handle/symbol GVs
yuyichao Aug 14, 2016
fb42b58
Remove RNG from exports (#18023)
wookay Aug 15, 2016
6b1b10c
fix effect_free computation over getfield
vtjnash Aug 13, 2016
edfe0b1
Fix a trivial typo in devdocs
akc Aug 15, 2016
3ca0f9c
Make Colon immutable. Fixes 18034.
tkoolen Aug 15, 2016
04994f9
Make `find` indices-aware
timholy Aug 15, 2016
12a01dc
Fixes and more tests for indexing with non-1 logical arrays
timholy Aug 15, 2016
b92d580
add support for split debuginfo files
vtjnash Aug 11, 2016
cd62eb1
fall back to dynamic dispatch in union-splitting optimization
JeffBezanson Aug 16, 2016
acc744e
Update modules.rst adding type to show for v0.5 (#18018)
musm Aug 16, 2016
7a036e9
added example of array type conversion (#17663)
mzaffalon Aug 16, 2016
bc3b2a4
test libccalltest.so with split debug info
vtjnash Aug 15, 2016
1869053
fix "improved" correctness of fieldtype
vtjnash Aug 16, 2016
7d1533a
Document known problem with setrounding.
simonbyrne Aug 16, 2016
ff741bf
Clear the IRBuilder's insertion point after emitting a function.
maleadt Aug 16, 2016
aa7e3ca
update docs, use new markdown syntax
simonbyrne Aug 16, 2016
c45ad1a
wrap help text
simonbyrne Aug 16, 2016
4053f3a
Fix bug with operator precendence
omus Aug 16, 2016
81b9e9f
Define find and findnz for SparseVector (#18049)
pranavtbhat Aug 16, 2016
ae4b42f
assume `getfield` is non-volatile if inferred to be constant
JeffBezanson Aug 16, 2016
3b55c99
fix #18051, allocation in sparse vector getindex
JeffBezanson Aug 16, 2016
d6470bc
Add test for #18054.
maleadt Aug 16, 2016
f815ddd
Fix for consistency.
musm Aug 16, 2016
f1aa31a
fix #10633, remove redundant definitions for `map(Integer, a)` etc.
JeffBezanson Aug 16, 2016
a7acb3f
Improve URL regex
omus Aug 16, 2016
9ca347b
Some indices generalizations for linalg/generic (#18032)
timholy Aug 16, 2016
1a77b8c
Correct invalid SSH URL
omus Aug 16, 2016
14579d2
move recheck_tuple_intersection to thread-local
vtjnash Aug 17, 2016
83028fe
ensure in_typeinf_loop is only read by the thread with the typeinf lock
vtjnash Aug 17, 2016
db61260
do not catch everything in isassigned
KristofferC Aug 17, 2016
da5e010
Reinstate downloading old versions of winrpm gcc dll's (#18059)
tkelman Aug 17, 2016
40ca236
Removed SSH test from libgit2-online
omus Aug 17, 2016
2bfbdcc
Update URL parsing tests
omus Aug 17, 2016
7a2499d
Add missing tests for diagonal and uniformscaling (#17921)
kshyatt Aug 17, 2016
7479c56
Add tests for flipdim, unary ops
kshyatt Aug 17, 2016
302964f
Add tests for iteration methods on numbers
kshyatt Aug 17, 2016
b239629
split static-eval to its individual users
vtjnash Aug 17, 2016
017aa1e
updates to README.md (#18093)
mcprentiss Aug 18, 2016
0f2cc75
improve FreeBSD / generic posix support
vtjnash Aug 16, 2016
df5f4d9
Added test for complex on SharedArrays (#18097)
kshyatt Aug 18, 2016
a38743a
Set LIB_INSTALL_DIR for cmake-based projects (#18047)
staticfloat Aug 18, 2016
ec6ee2c
readme formatting
tkelman Aug 18, 2016
2c74174
Fix compiler warnings on 32bits
yuyichao Aug 18, 2016
e03ad1d
Improve arch/cpu detection/selection on ARM and AArch64
yuyichao Aug 18, 2016
4ce6ab4
fix "recommanded" typo
tkelman Aug 18, 2016
c10148e
ASAN: provide default options.
maleadt Aug 16, 2016
152c2c9
ASAN/MSAN: document use of sanitizers.
maleadt Aug 16, 2016
8379703
Missing tests for strings (#18089)
kshyatt Aug 18, 2016
8663ede
factor out the jl_get_llvmf code more cleanly
vtjnash Aug 17, 2016
a738400
Fix compilation on llvm 3.9
yuyichao Aug 18, 2016
c41951a
disable llvm optimizations in JIT when generating output
JeffBezanson Aug 18, 2016
61b50b1
Build curl with minimal external libraries.
ViralBShah Aug 18, 2016
a738dbd
fix #18085, segfault on method add in loop
JeffBezanson Aug 18, 2016
c3d06c9
make dlopen more conservative about opening files the user didn't req…
stevengj Aug 18, 2016
99e7c7f
fix more of the #18017 regression
JeffBezanson Aug 18, 2016
6d2441e
Add istriu, istril, issymmetric, and ishermitian methods for UniformS…
andreasnoack Aug 18, 2016
4931889
fix #18129, optimize some more cases of captured variables
JeffBezanson Aug 18, 2016
cf852e7
Missing tests for intfuncs
kshyatt Aug 19, 2016
2b5fbcf
Tests for missing abstract array utils
kshyatt Aug 19, 2016
66c501d
rational powers (fixes #18114) (#18118)
pwl Aug 19, 2016
02a11ee
Use unique identifier to avoid incorrect ditype reuse
yuyichao Aug 19, 2016
8341028
More tests for osnames (#18121)
kshyatt Aug 19, 2016
dc7a22f
Two missing tests for intset (#18128)
kshyatt Aug 19, 2016
8155465
Make similar faster and safer (#18107)
timholy Aug 19, 2016
706946a
Fix incorrect code block in rounding modes docs (#18137)
MichaelHatherly Aug 19, 2016
766d1de
Bugfix #18073 (#18105)
dbeach24 Aug 18, 2016
68b636e
Remove +-(UniformScaling, Number) to avoid ambiguous behavior as poin…
andreasnoack Aug 19, 2016
af2b7e4
Expose MEMDEBUG, and use it to fix the #14173 test
maleadt Aug 19, 2016
516c3a1
Simplify bounds checks for multi-dimensional array accesses
MatthiasJReisinger Aug 16, 2016
9f2384d
replace branch in bit shift operators, helps #18135
JeffBezanson Aug 19, 2016
19ddfdc
make sure .= uses Base.identity, not a local identity (#18122)
stevengj Aug 19, 2016
00a63f0
Make rpath settings a bit more consistent
tkelman Aug 7, 2016
fac68ce
Delete some files from libssh2 and curl that keep changing on travis
tkelman Jul 29, 2016
b3afbc7
Install all 3 mbedtls dlls on windows
tkelman Aug 19, 2016
7dba10f
disable libpsl in curl build
tkelman Aug 19, 2016
943986d
disable using zlib in mbedtls, libssh2, and libcurl
tkelman Aug 19, 2016
b8b49f8
Cleanup: replace misleading STAGE#_DEPS variables with DEP_LIBS
tkelman Aug 20, 2016
57e0afc
Improve handling of curl, mbedtls, libssh2 USE_SYSTEM
tkelman Aug 20, 2016
93b2cdd
Set CMAKE_INSTALL_LIBDIR and CMAKE_INSTALL_BINDIR
tkelman Aug 20, 2016
ac6bfb5
Disable building static mbedtls library
tkelman Aug 20, 2016
917940f
Also just copy libgit2 dll for its install target
tkelman Aug 20, 2016
5f4530a
Fix indent in sparsevector.jl
tkelman Aug 20, 2016
dc7eaab
Try fixing LLVM 3.3 compilation (#18138)
yuyichao Aug 20, 2016
496ad1d
Add test for 15913 and 15896 (#17991)
ranjanan Aug 20, 2016
f238e5b
Fixes #18141, eliminating null in value when iterating over `ENV`. (#…
twadleigh Aug 20, 2016
a75b5e1
reshape(::Array, Val{N}) always returns an Array
timholy Aug 20, 2016
3ce15ec
fast rand(::Dict) and rand(::Set) (#18155)
dbeach24 Aug 20, 2016
553f51a
reshape: only call to_shape when it will return Dims
timholy Aug 20, 2016
f117cc9
Add note about docstrings for aliases (#18157)
MichaelHatherly Aug 21, 2016
c1767e5
Misc build fixes for win32 clang (#18164)
Keno Aug 21, 2016
45bbf07
Increase MEMDEBUG allocation threshold for #14173 test
maleadt Aug 21, 2016
4498ead
Add do-block support for redirect_std[out,err,in]
timholy Aug 22, 2016
d84ef34
ASAN: disable leak detection for flisp.
maleadt Aug 22, 2016
05b0f67
Fix fft(::Vector{Complex{Int}})
timholy Aug 22, 2016
969c277
Add command line option --polly={yes|no}
MatthiasJReisinger Jun 15, 2016
3492a1a
fix #18173, closure lowering error caused by #18130
JeffBezanson Aug 22, 2016
60aa5f3
Fix the part of #18164 that broke the build
tkelman Aug 23, 2016
42d6e57
ccalltest.c: ifndef Intel compiler for complex int (#18193)
Aug 23, 2016
1dd9f3a
Describe negative bit shift counts in NEWS.md (#18188)
eschnett Aug 23, 2016
5cddbc8
Do codegen in control flow order
yuyichao Aug 20, 2016
b4bf0a4
incremental deserialize: handle LambdaInfo identity uniquing
vtjnash Aug 22, 2016
17c266b
cleanup stacktraces method signatures
vtjnash Aug 15, 2016
5ee9dbd
profile: add mincount argument
vtjnash Aug 15, 2016
f1dd9e1
profile: add noisefloor argument
vtjnash Aug 23, 2016
485f959
incremental deserialize: optimize many simple common cases of flagref…
vtjnash Aug 22, 2016
910fd1a
precompile: major LLVM speed improvement
vtjnash Aug 22, 2016
f086b7b
typemap: handle vararg tuple subtyping in jl_typemap_assoc_by_type
Aug 22, 2016
bf79aa4
inline native Julia scalars encountered in f.(args...) AST
stevengj Aug 23, 2016
d3cddc9
Make sure `:push_loc` meta always has a corresponding `:pop_loc`
yuyichao Aug 22, 2016
932f4ff
Move specialized isequal definitions to avoid hitting #265
martinholters Aug 24, 2016
f7419a7
fix sort / fallback order for incremental precompile
vtjnash Aug 19, 2016
5982c1a
change incremental serialize to use deferred errors
vtjnash Aug 19, 2016
0809e41
keep track of full dependency state while building incremental precom…
vtjnash Aug 19, 2016
631c302
document __init__ behavior during precompile
vtjnash Aug 22, 2016
5174979
inliner needs to do method match tests early
vtjnash Aug 24, 2016
400f21e
improve string docs to define String etc (#18216)
stevengj Aug 24, 2016
83e7a5c
Don't require blank line before markdown lists
MichaelHatherly Aug 24, 2016
9bfea05
fix typo in ##18205
stevengj Aug 24, 2016
57a6055
Fix chol for Symmetric(A, :L). (#18142)
andreasnoack Aug 25, 2016
c00113a
Don't throw in eigs on semidefinite Bs for generalized eigenproblems.…
andreasnoack Aug 25, 2016
e664560
In cgmemmgr, allow writing permissions on the read page for the debugger
Keno Aug 17, 2016
a9e3ba6
add missing "Threads." in example (#18219)
rened Aug 25, 2016
6e3d16b
Deprecate methods that convert from Diagonal and Bidiagonal to <:Abst…
Sacha0 Aug 25, 2016
da52f96
hopefully unbreak osx travis llvm linking (#18241)
tkelman Aug 25, 2016
d4def98
Rewrite vectorized unary functions over SparseMatrixCSCs, leveraging …
Sacha0 Jul 2, 2016
69dfbd3
Transition vectorized unary functions over `SparseMatrixCSC`s to comp…
Sacha0 Jul 3, 2016
d52b18e
Handle `VecElement` in `julia_const_to_llvm`
yuyichao Aug 25, 2016
e5eb0b6
Clarifiy performance results (#18242)
eschnett Aug 26, 2016
e46401e
Speed up indices for SubArray
timholy Aug 28, 2016
54e6cfb
Use inbounds in reductions with generic iterators
timholy Aug 28, 2016
4710fed
add faster done for strings (#18259)
KristofferC Aug 29, 2016
9b4f47e
Test for Dict not triggering a deprecation due to ::Integer==::Char c…
martinholters Aug 29, 2016
eb687ff
lufact for sparse matrix pivot option error (#18246)
garrettthomaskth Aug 29, 2016
382de0b
Revert #182599 "add faster done for strings" (#18275)
KristofferC Aug 29, 2016
a142b99
Add missing convert(Vector, ...) and convert(Matrix, ...) methods (#1…
Evizero Aug 29, 2016
1d792f7
Some broadcast fixes (#18200)
pabloferz Aug 29, 2016
c45b35e
Rename the FooBar type in test/core.jl (#18279)
tkelman Aug 29, 2016
2a26531
Add a more efficient implementation of in(::CartesianIndex, ::Cartesi…
timholy Aug 29, 2016
da75407
Add tests for conversions from ReshapedArray to Array/Vector/Matrix (…
nalimilan Aug 29, 2016
3a3fd89
Install libopenlibm.dll.a in windows. Bump openlibm to v0.5.4. (#18265)
twadleigh Aug 29, 2016
476da8b
Small build system modifications to make ppc64le compileable (#18258)
staticfloat Aug 30, 2016
f2c6690
Fix deprecated flag in Pkg tests. (#18283)
helgee Aug 30, 2016
6fce364
Add tests for Hermitian cholesky methods (#18284)
kshyatt Aug 30, 2016
092cfec
Remove comments from same line of variable declarations in Make.inc
jdlangs Aug 30, 2016
b784bc8
ppc64 build cleanups
ViralBShah Aug 31, 2016
29160e3
tiny cleanup (#18233)
stevengj Aug 31, 2016
b031687
display something useful for text/plain output of invalid String (#18…
stevengj Aug 31, 2016
b76a0f1
set JULIA_CPU_TARGET default after MARCH-dependent block
tkelman Aug 31, 2016
ee6c136
Update OpenBLAS to v0.2.19 for Power8.
ViralBShah Sep 1, 2016
ed6a96d
rm stray : in manual
stevengj Sep 1, 2016
95aeb91
Avoid aliasing in in UniformScaling*AbstractMatrix (#18286)
andreasnoack Sep 1, 2016
ff318df
Improve inlining cost model
yuyichao Aug 27, 2016
54ad8ed
Pop noinline meta before label reindexing
yuyichao Aug 24, 2016
a083951
Store `propragate_inbounds` in lambda info
yuyichao Aug 24, 2016
2cece09
Add void_use_elim_pass!
yuyichao Aug 24, 2016
d2e732d
Clean up meta expression detection/handling
yuyichao Aug 27, 2016
886a3ab
Handle boundscheck elimination in type inference
yuyichao Aug 27, 2016
6e06734
Delete boundscheck handling from codegen
yuyichao Aug 27, 2016
b900734
Fix #18189 (Add deprecation of @unix_only, etc. to NEWS) (#18254)
BrandonEdwards Sep 2, 2016
733c074
Fix `jl_get_specialization` signature mismatch
yuyichao Sep 2, 2016
247225d
Repeatedly divide read buffer size by 8 until success. Fixes #11481.
twadleigh Sep 2, 2016
55a8409
make compile fast
vtjnash Sep 3, 2016
5387608
Update utf8proc.jl (#18327)
matthieugomez Sep 3, 2016
b60c975
Moved so many docs out of HelpDB. More examples.
kshyatt Aug 15, 2016
48f7724
Moved docstrings to deal with aliasing
kshyatt Aug 23, 2016
3df0c2a
More wording improvements, few more doctests
kshyatt Aug 31, 2016
0ab19a6
Deprecate vectorized functions in base/special/trig.jl in favor of co…
Sacha0 Jul 5, 2016
382fda9
Deprecate vectorized functions in base/special/log.jl in favor of com…
Sacha0 Jul 5, 2016
e353eeb
Deprecate vectorized functions in base/special/gamma.jl in favor of c…
Sacha0 Jul 5, 2016
56ce5ac
Deprecate vectorized functions in base/special/erf.jl in favor of com…
Sacha0 Jul 5, 2016
2a9e713
Deprecate vectorized functions in base/special/bessel.jl in favor of …
Sacha0 Jul 5, 2016
5621af5
Deprecate vectorized functions in base/math.jl in favor of compact br…
Sacha0 Jul 5, 2016
92f8aea
Deprecate vectorized functions in base/floatfuncs.jl in favor of comp…
Sacha0 Jul 5, 2016
b65a894
Deprecate vectorized functions in base/fastmath.jl in favor of compac…
Sacha0 Jul 5, 2016
4508bec
Deprecate vectorized functions in base/complex.jl in favor of compact…
Sacha0 Jul 5, 2016
57263cd
Deprecate vectorized functions in base/dates/accessors.jl in favor of…
Sacha0 Jul 6, 2016
003f567
Deprecate vectorized functions in base/dates/adjusters.jl in favor of…
Sacha0 Jul 6, 2016
2d1026f
Deprecate vectorized functions in base/dates/conversions.jl in favor …
Sacha0 Jul 6, 2016
64c474e
Deprecate vectorized functions in base/dates/query.jl in favor of com…
Sacha0 Jul 6, 2016
c0913ff
Clean up @vectorize_(1|2)arg deprecations.
Sacha0 Jul 8, 2016
9b57a4b
Deprecate `@vectorize_1arg` and `@vectorize_2arg`.
Sacha0 Aug 13, 2016
90ef185
Update documentation following deprecation of macro-vectorized functi…
Sacha0 Aug 13, 2016
b95a124
Revise a few vectorized-math methods, specifically eliminating tempor…
Sacha0 Aug 31, 2016
7ae8308
Remove now-redundant integer-specialized condskeel methods.
Sacha0 Aug 31, 2016
3befe84
Fix docs for isdefined
simonster Sep 3, 2016
617b2a6
don't throw DomainError for negative integer powers of ±1 (#18342)
stevengj Sep 5, 2016
a9cf2af
Make the algorithm for real powers of a matrix robust
mfasi Aug 12, 2015
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
23 changes: 15 additions & 8 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ matrix:
apt:
sources:
- ubuntu-toolchain-r-test
- kalakris-cmake
packages:
- cmake
- bar
- time
- binutils
Expand All @@ -28,7 +30,9 @@ matrix:
apt:
sources:
- ubuntu-toolchain-r-test
- kalakris-cmake
packages:
- cmake
- bar
- time
- g++-5
Expand Down Expand Up @@ -56,7 +60,6 @@ notifications:
- http://julia.mit.edu:8000/travis-hook
before_install:
- make check-whitespace
- JULIA_SYSIMG_BUILD_FLAGS="--output-ji ../usr/lib/julia/sys.ji"
- if [ `uname` = "Linux" ]; then
contrib/travis_fastfail.sh || exit 1;
mkdir -p $HOME/bin;
Expand All @@ -77,10 +80,10 @@ before_install:
brew rm --force $(brew deps --HEAD julia);
brew install -v staticfloat/juliadeps/libgfortran;
brew install -v --only-dependencies --HEAD julia;
BUILDOPTS="-j3 USECLANG=1 LLVM_CONFIG=$(brew --prefix llvm37-julia)/bin/llvm-config-3.7.1 LLVM_SIZE=$(brew --prefix llvm37-julia)/bin/llvm-size-3.7.1";
BUILDOPTS="$BUILDOPTS VERBOSE=1 USE_BLAS64=0 SUITESPARSE_INC=-I$(brew --prefix suite-sparse-julia)/include FORCE_ASSERTIONS=1 STAGE2_DEPS=utf8proc";
BUILDOPTS="-j3 USECLANG=1 LLVM_CONFIG=$(brew --prefix llvm37-julia)/bin/llvm-config-3.7 LLVM_SIZE=$(brew --prefix llvm37-julia)/bin/llvm-size-3.7";
BUILDOPTS="$BUILDOPTS VERBOSE=1 USE_BLAS64=0 SUITESPARSE_INC=-I$(brew --prefix suite-sparse-julia)/include FORCE_ASSERTIONS=1";
BUILDOPTS="$BUILDOPTS LIBBLAS=-lopenblas LIBBLASNAME=libopenblas LIBLAPACK=-lopenblas LIBLAPACKNAME=libopenblas";
for lib in LLVM SUITESPARSE ARPACK BLAS FFTW LAPACK GMP MPFR PCRE LIBUNWIND LIBGIT2; do
for lib in LLVM SUITESPARSE ARPACK BLAS FFTW LAPACK GMP MPFR PCRE LIBUNWIND; do
export BUILDOPTS="$BUILDOPTS USE_SYSTEM_$lib=1";
done;
export CXXFLAGS=-DUSE_ORCJIT;
Expand All @@ -93,7 +96,7 @@ script:
- make -C moreutils mispipe
- make $BUILDOPTS -C base version_git.jl.phony
- moreutils/mispipe "make $BUILDOPTS NO_GIT=1 -C deps" bar > deps.log || cat deps.log
- make $BUILDOPTS NO_GIT=1 JULIA_SYSIMG_BUILD_FLAGS="$JULIA_SYSIMG_BUILD_FLAGS" prefix=/tmp/julia install | moreutils/ts -s "%.s"
- make $BUILDOPTS NO_GIT=1 prefix=/tmp/julia install | moreutils/ts -s "%.s"
- make $BUILDOPTS NO_GIT=1 build-stats
- du -sk /tmp/julia/*
- if [ `uname` = "Darwin" ]; then
Expand All @@ -102,12 +105,16 @@ script:
done;
fi
- cd .. && mv julia julia2
- cp /tmp/julia/lib/julia/sys.ji local.ji && /tmp/julia/bin/julia -J local.ji -e 'true' &&
/tmp/julia/bin/julia-debug -J local.ji -e 'true' && rm local.ji
- /tmp/julia/bin/julia --precompiled=no -e 'true' &&
/tmp/julia/bin/julia-debug --precompiled=no -e 'true'
- /tmp/julia/bin/julia -e 'versioninfo()'
- export JULIA_CPU_CORES=2 && export JULIA_TEST_MAXRSS_MB=600 && cd /tmp/julia/share/julia/test &&
/tmp/julia/bin/julia --check-bounds=yes runtests.jl $TESTSTORUN &&
/tmp/julia/bin/julia --check-bounds=yes runtests.jl libgit2-online pkg
- cd `dirname $TRAVIS_BUILD_DIR` && mv julia2 julia && rm -rf julia/deps/build/julia-env
- cd `dirname $TRAVIS_BUILD_DIR` && mv julia2 julia &&
rm -rf julia/deps/build/julia-env &&
rm -rf julia/deps/build/libssh2-*/CMakeFiles/Makefile2 &&
rm -rf julia/deps/build/curl-*/config.log &&
rm -rf julia/deps/build/curl-*/libtool
# uncomment the following if failures are suspected to be due to the out-of-memory killer
# - dmesg
46 changes: 46 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,22 @@ Julia has a built-in [package manager](https://github.com/JuliaLang/METADATA.jl)

For developers who need to wrap C libraries so that they can be called from Julia, the [Clang.jl](https://github.com/ihnorton/Clang.jl) package can help generate the wrappers automatically from the C header files.

### Package Compatibility Across Releases

Sometimes, you might find that while your package works
on the current release, it might not work on the upcoming release or nightly.
This is due to the fact that some Julia functions (after some discussion)
could be deprecated or removed altogether. This may cause your package to break or
throw a number of deprecation warnings on usage. Therefore it is highly recommended
to port your package to latest Julia release.

However, porting a package to the latest release may cause the package to break on
earlier Julia releases. To maintain compatibility across releases, use
[`Compat.jl`](https://github.com/JuliaLang/Compat.jl/). Find the fix for your package
from the README, and specify the minimum version of Compat that provides the fix
in your REQUIRE file. To find the correct minimum version, refer to
[this guide](https://github.com/JuliaLang/Compat.jl/#tagging-the-correct-minimum-version-of-compat).

### Writing tests

There are never enough tests. Track [code coverage at Coveralls](https://coveralls.io/r/JuliaLang/julia), and help improve it.
Expand Down Expand Up @@ -104,6 +120,35 @@ If you want to edit an existing docstring signature, you **first** have to chang
edit the helpdb.jl or inline method docstrings. The existing signatures in the `doc/stdlib/*.rst` files are pattern matched to base docstrings and the new content overwrites the content in `doc/stdlib/`.
The signature definitions **must** be in sync or else the pattern match will fail and documentation will be lost in the result.
To add entirely new methods to the `stdlib` documentation, first add the signature in the appropriate `doc/stdlib/*.rst` file before writing the docstring, rebuilding Julia, and re-running `doc/genstdlib.jl`.
Pattern matching requires that multiline method signatures' inter-line character alignment in `doc/stdlib/*.rst` match that in the corresponding docstring. In the following example,

```julia
"""
foo(bar, baz,
qux, quux)

Foo `bar`, `baz`, `qux`, and `quux`.
"""
```

will only match entries in `doc/stdlib/*.rst` beginning with

```
.. function:: foo(bar, baz,
qux, quux)
```

Note that the second line of the signature is indented by four spaces relative to `foo(bar, baz,`
in the first line of the signature. This leading indent matches the indent used in the
docstring exactly. If it did not match, such as in the following example,

```
.. function:: foo(bar, baz,
qux, quux)
```

where three spaces instead of four are used then running `genstdlib.jl` will print a warning
and not update the docstring.

It is encouraged to write all new docstrings in Markdown markup. If you need to write a more complicated docstring that contains cross-references or citations it can be written in a restructured text codeblock.
Many of the existing docstrings are currently restructured text codeblocks and these will be transitioned to Markdown over time. RST codeblocks are delineated with the triple-quote (\`\`\`rst \`\`\`) Makdown codeblock syntax.
Expand Down Expand Up @@ -163,6 +208,7 @@ Make sure that [Travis](http://www.travis-ci.org) greenlights the pull request w
- use lower case with underscores for method names
- it is generally preferred to use ASCII operators and identifiers over
Unicode equivalents whenever possible
- in docstring refer to the language as "Julia" and the executable as "`julia`"

#### General Formatting Guidelines For C code contributions

Expand Down
34 changes: 0 additions & 34 deletions DEBUGGER.md

This file was deleted.

25 changes: 5 additions & 20 deletions DISTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ separated most of the notes by OS.
Note that while the code for Julia is
[MIT-licensed, with a few exceptions](https://github.com/JuliaLang/julia/blob/master/LICENSE.md),
the distribution created by the techniques described herein will be
GPL licensed, as various dependent libraries such as `FFTW`, `Rmath`,
`SuiteSparse`, and `git` are GPL licensed. We do hope to have a
GPL licensed, as various dependent libraries such as `FFTW` and
`SuiteSparse` are GPL licensed. We do hope to have a
non-GPL distribution of Julia in the future.

Versioning and Git
Expand Down Expand Up @@ -84,9 +84,8 @@ to force the installation into a temporary directory.

By default, Julia loads `$prefix/etc/julia/juliarc.jl` as an
installation-wide initialization file. This file can be used by
distribution managers to provide paths to various binaries such as a
bundled `git` executable (as we do on OS X), or to setup paths (as
we do on Windows). For Linux distribution packages, if `$prefix` is
distribution managers to set up custom paths or initialization code.
For Linux distribution packages, if `$prefix` is
set to `/usr`, there is no `/usr/etc` to look into. This requires
the path to Julia's private `etc` directory to be changed. This can
be done via the `sysconfdir` make variable when building. Simply
Expand All @@ -107,8 +106,7 @@ Note that if you want your `.app` to be able to run on OSX 10.6 Snow
Leopard, you must pass `USE_SYSTEM_LIBUNWIND=1` as one of the make
variables passed to both `make` processes. This disables the use of
`libosxunwind`, a more modern libunwind that relies on OS features
available only in 10.7+. This is the reason why we offer [separate
downloads](http://julialang.org/downloads/) for OS X 10.6 and 10.7+.
available only in 10.7+. This is the reason why we support 10.7+ [while we did support 10.6 prior to Julia 0.3.0](http://julialang.org/downloads/platform.html).

Windows
-------
Expand Down Expand Up @@ -162,19 +160,6 @@ set `USE_SYSTEM_BLAS=1` and `USE_SYSTEM_LAPACK=1`, you should also set
`LIBLAPACK=-l$(YOURBLAS)` and `LIBLAPACKNAME=lib$(YOURBLAS)`. Else, the
reference LAPACK will be used and performance will typically be much lower.

Notes on Rmath
==============

Rmath is a library from R, which includes basic statistical
functions. Julia uses a patched version of Rmath, which uses DSFMT as
its underlying generator, and faster normal random number
generators. If the stock Rmath provided by various linux distributions
is used, the underlying random streams will not be the same for
different RNGs in Base and Distributions.jl.

It is highly recommended that the patched Rmath provided by Julia is
used.

Compilation scripts
===================

Expand Down
19 changes: 9 additions & 10 deletions LICENSE.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,13 @@ for exceptions.
> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Julia includes code from the following projects, which have their own licenses:

- [LDC](https://github.com/ldc-developers/ldc/blob/master/LICENSE) (for ccall/cfunction ABI definitions) [BSD-3]. The portion of code that Julia uses from LDC is [BSD-3] licensed.
- [LLVM](http://llvm.org/releases/3.7.0/LICENSE.TXT) (for parts of src/jitlayers.cpp and src/disasm.cpp) [BSD-3, effectively]
- [MUSL](http://git.musl-libc.org/cgit/musl/tree/COPYRIGHT) (for getopt implementation on Windows) [MIT]
- [MINGW](https://sourceforge.net/p/mingw/mingw-org-wsl/ci/legacy/tree/mingwrt/mingwex/dirname.c) (for dirname implementation on Windows) [MIT]
- [NetBSD](http://www.netbsd.org/about/redistribution.html) (for setjmp, longjmp, and strptime implementations on Windows) [BSD-3]
- [randmtzig.c](https://github.com/JuliaLang/julia/blob/master/test/perf/micro/randmtzig.c) for Gaussian random number generation (for C benchmarks only) [BSD-3]

The Julia language links to the following external libraries, which have their
own licenses:
Expand All @@ -41,21 +43,23 @@ own licenses:
- [LIBUNWIND](http://git.savannah.gnu.org/gitweb/?p=libunwind.git;a=blob_plain;f=LICENSE;hb=master) [MIT]
- [LIBUV](https://github.com/joyent/libuv/blob/master/LICENSE) [MIT]
- [LLVM](http://llvm.org/releases/3.7.0/LICENSE.TXT) [BSD-3, effectively]
- [UTF8PROC](https://github.com/JuliaLang/libmojibake) [MIT]
- [UTF8PROC](https://github.com/JuliaLang/utf8proc) [MIT]


Julia's standard library uses the following external libraries, which have
their own licenses:

- [ARPACK](http://www.caam.rice.edu/software/ARPACK/RiceBSD.txt#LICENSE) [BSD-3]
- [ATLAS](http://math-atlas.sourceforge.net/faq.html#license) [BSD-3]
- [DSFMT](http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/LICENSE.txt) [BSD-3]
- [OPENLIBM](https://github.com/JuliaLang/openlibm/blob/master/LICENSE.md) [MIT, BSD-2, ISC]
- [OPENSPECFUN](https://github.com/JuliaLang/openspecfun) [MIT, public domain]
- [FADDEEVA](http://ab-initio.mit.edu/Faddeeva) [MIT]
- [FFTW](http://fftw.org/doc/License-and-Copyright.html) [GPL2+]
- [GMP](http://gmplib.org/manual/Copying.html#Copying) [LGPL3+ or GPL2+]
- [LIBGIT2](https://github.com/libgit2/libgit2/blob/development/COPYING) [GPL2+ with unlimited linking exception]
- [CURL](https://curl.haxx.se/docs/copyright.html) [MIT/X derivative]
- [LIBSSH2](https://github.com/libssh2/libssh2/blob/master/COPYING) [BSD-3]
- [MBEDTLS](https://tls.mbed.org/how-to-get) [either GPLv2 or Apache 2.0]
- [MPFR](http://www.mpfr.org/mpfr-current/mpfr.html#Copying) [LGPL3+]
- [OPENBLAS](https://raw.github.com/xianyi/OpenBLAS/master/LICENSE) [BSD-3]
- [LAPACK](http://netlib.org/lapack/LICENSE.txt) [BSD-3]
Expand All @@ -66,16 +70,10 @@ their own licenses:
The following components of Julia's standard library have separate licenses:

- base/fftw.jl (see [FFTW](http://fftw.org/doc/License-and-Copyright.html))
- base/sparse/csparse.jl (LGPL-2.1+)
- base/linalg/umfpack.jl (see [SUITESPARSE](http://faculty.cse.tamu.edu/davis/suitesparse.html))
- base/linalg/cholmod.jl (see [SUITESPARSE](http://faculty.cse.tamu.edu/davis/suitesparse.html))


Julia builds the following libraries by default, but does not use them itself:

- [RMATH](http://www.r-project.org/Licenses/)


Julia's build process uses the following external tools:

- [PATCHELF](http://hydra.nixos.org/build/1524660/download/1/README)
Expand All @@ -85,9 +83,10 @@ Julia's build process uses the following external tools:
Julia bundles the following external programs and libraries on some platforms:

- [7-Zip](http://www.7-zip.org/license.txt)
- [GIT](http://git-scm.com/about/free-and-open-source)
- [BUSYBOX](https://github.com/rmyorston/busybox-w32/blob/master/LICENSE)
- [ZLIB](http://zlib.net/zlib_license.html)
- [LIBEXPAT](http://expat.cvs.sourceforge.net/viewvc/expat/expat/README)
- [OPENSSL](https://github.com/openssl/openssl/blob/master/LICENSE)

On some platforms, distributions of Julia contain SSL certificate authority certificates, released under the [Mozilla Public License](https://en.wikipedia.org/wiki/Mozilla_Public_License).
On some platforms, distributions of Julia contain SSL certificate authority certificates,
released under the [Mozilla Public License](https://en.wikipedia.org/wiki/Mozilla_Public_License).
Loading