https://github.com/JuliaLang/julia

sort by:
Revision Author Date Message Commit Date
714628f wip 19 December 2017, 21:52:24 UTC
b33c1a0 strings: make getindex fundamental not next 19 December 2017, 21:40:11 UTC
ea3639e Make inbounds macros expression-like (#25033) 19 December 2017, 20:54:58 UTC
c16c0cb Merge pull request #25029 from JuliaLang/rf/intset-offset Make BitSet store any Int 19 December 2017, 11:51:50 UTC
55852ee add fuzzy testing for some Set and BitSet functions 19 December 2017, 08:46:43 UTC
a4371b2 BitSet: add a couple small optimizations * isempty: using _check0 instead of all makes it 35% faster * ==: checking first non-overlapping parts is more likely to be faster, as the the lower and upper parts of the bits field are unlikely to be zero (at least for a freshly created BitSet) 19 December 2017, 08:45:12 UTC
55968e7 BitSet: use _div64 & _mod64 from bitarray.jl 19 December 2017, 08:45:12 UTC
dd6a94a re-implement rand(::BitSet) 19 December 2017, 08:45:12 UTC
7f44009 optimize updating a value in BitSet _setint! was delegating to the bitarray code, but then some work was being redone in get_chunks_id. So we split this functionality into lower level functions. 19 December 2017, 08:45:12 UTC
13cdaeb BitSet push! & pop! : don't check for emptyness every time When a BitSet is empty, its offset must be initialized. But checking for emptyness in each invocation of _setint! was costly, so we put the check in a branch which is called less often. 19 December 2017, 08:45:12 UTC
ed692cd BitSet: use 0-based bit-indexing The 1-based indexing was forcing to promote Int to Int128 in chk_indice & chk_offset, to allow correct computation with extreme values (e.g. BitSet([typemin(Int)])). 1-based indexing was a left-over from the former BitVector as underlying implementation. Switching to 0-based indexing allows both a more-direct mapping between the model and the implementation, and better performance. 19 December 2017, 08:45:12 UTC
cb49741 morph BitSet into a real Int Set Add an offset field to BitSet acting as an infimum of stored values, which can be adjusted on-the-fly. BitSet then becomes able to store negative integers, and doesn't have to have elements centered around 0. 19 December 2017, 08:45:08 UTC
e48eaaf A few more references for arrays manual (#25173) 19 December 2017, 07:35:04 UTC
813ad93 emit a friendly error message for workspace(), close #25166 (#25170) 19 December 2017, 07:24:53 UTC
3216445 fill[stored]! for Symmetric and Hermitian matrices (#25152) 19 December 2017, 07:24:06 UTC
d5d12ad BitSet: swap the underlying BitVector for Vector{UInt64} The BitVector had already started to show its limits for BitSet needs. Juggling at 3 layers with BitSet, BitVector, and Vector{UInt64} was becoming confusing at times. Updating this code to handle negative integers only increased the confusion. Some modest performance improvements (~20%) could be achieved in the process for some functions. 19 December 2017, 07:01:57 UTC
1044335 More doctests for array fun (#24920) * Simple cleanup and doctest for views macro * Doctests for accumulate! and copy! 19 December 2017, 01:41:25 UTC
6e0549e Merge pull request #25150 from Sacha0/history move 0.6 NEWS.md section to HISTORY.md 19 December 2017, 01:10:41 UTC
07740b6 add tests for getfield-overloading (#25164) tests for PR #24960 18 December 2017, 22:50:03 UTC
5abe9b1 define peek(::TTYTerminal), fixes #25098 (#25161) 18 December 2017, 19:26:13 UTC
0272186 Merge pull request #25125 from Sacha0/depdotap remove special lowering for and deprecate .' 18 December 2017, 19:02:06 UTC
ca7e64f Merge pull request #16906 from JuliaLang/rf/randjump-genpoly MersenneTwister: implement generation of jump-ahead polynomials 18 December 2017, 19:01:28 UTC
7d92d3d Merge pull request #25034 from JuliaLang/jn/require_ji_better2 loading: refactor .ji loading, to handle errors better 18 December 2017, 18:58:03 UTC
dcddbca show: improve handling of . syntax printing (#24994) 18 December 2017, 17:55:40 UTC
8b01dfa make IndexValue act like an AbstractDict (#25114) Since this type acts like an AbstractDict container under iteration, it should also be reasonable to make it also act like an AbstractDict under other common operations (such as calling `pairs` and `getindex`) 18 December 2017, 16:49:12 UTC
88cdf44 add :color attribute to IOContext, prefer get(io,:color,false) to Base.have_color (#25067) 18 December 2017, 15:39:59 UTC
801dfc4 MersenneTwister: implement generation of jump-ahead polynomials 18 December 2017, 14:09:20 UTC
5e50550 Merge pull request #25155 from JuliaLang/vc/distributed_topo rename topology master_slave to master_worker 18 December 2017, 13:28:29 UTC
7fb5d27 remove the last eye method (#25153) 18 December 2017, 08:00:20 UTC
3cae287 Merge pull request #25102 from JuliaLang/sk/home rename JULIA_HOME => Sys.BINDIR 18 December 2017, 07:21:27 UTC
2b23e37 Merge pull request #25145 from JuliaLang/ksh/arrdocagain Various doctests for array stuff [ci skip] 18 December 2017, 06:34:05 UTC
8ec9274 rename topology master_slave to master_worker 18 December 2017, 05:25:08 UTC
e83ce4b rename JULIA_HOME => Sys.BINDIR [fix #20899] ENV["JULIA_HOME"] => ENV["JULIA_BINDIR"] 18 December 2017, 05:09:52 UTC
4b625bb Various doctests for array stuff [ci skip] 18 December 2017, 05:07:10 UTC
43eee7f capitalize Sys.CPU_NAME This was the only value exported from Sys with a lowercase name – all other lowercase exports are functions and values are uppercase. 18 December 2017, 04:24:48 UTC
d48b9a4 @deprecate_binding: print the new binding by default 18 December 2017, 04:20:05 UTC
4d3d49d implement getfield overloading (#24960) New functions `Base.getproperty` and `Base.setproperty!` can be overloaded to change the behavior of `x.p` and `x.p = v`, respectively. This forces inference constant propagation through get/setproperty, since it is very likely this method will yield better information after specializing on the field name (even if `convert` is too big to make us want to inline the generic version and trigger the heuristic normally). closes #16195 (and thus also closes #16226) fix #1974 18 December 2017, 03:20:35 UTC
a28f495 Merge pull request #25126 from JuliaLang/amitm/listenport Distributed: worker to supply a port_hint in the known range 18 December 2017, 03:15:09 UTC
d8929e9 build: enhance usage of libwhich path resolution to respect SONAME (#24916) If the SONAME is available, it directly names the file we want to link to, so use that instead. 18 December 2017, 02:42:02 UTC
4817d99 make adjoint! return first argument (#25147) 18 December 2017, 01:19:39 UTC
e58b7c7 loading: refactor .ji loading, to handle errors better 18 December 2017, 00:58:08 UTC
943e54a Fix location of 0.7 news items accidentally placed in 0.6 section. [ci skip] 17 December 2017, 23:57:42 UTC
cfd8d9f Move 0.6 NEWS.md section to HISTORY.md. [ci skip] 17 December 2017, 23:57:35 UTC
77ef406 Xrefs and a little manual addition about atomic ops (#25120) 17 December 2017, 23:33:50 UTC
36b33d7 Deprecate .'. 17 December 2017, 19:13:43 UTC
24292dd Remove special lowering of .' in *, /, and \ expressions to A[t]_(mul|ldiv|rdiv)_B[t]. 17 December 2017, 19:13:43 UTC
ae6056a Strip .' from test/. 17 December 2017, 19:13:43 UTC
3efa9a9 Strip .' from stdlib/. 17 December 2017, 19:09:46 UTC
fc17e3b Strip .' from base/. 17 December 2017, 19:08:41 UTC
292a3b4 Merge pull request #25142 from JuliaLang/anj/lapack379 Fix occasional test error in lapack.jl 17 December 2017, 18:26:22 UTC
a2c97c8 reset GLOBAL_RNG state in/out at-testset for reproducibility (#24445) This is a follow-up on the recently introduced `guardsrand` functionality, first suggested at https://github.com/JuliaLang/julia/pull/16940#issuecomment-226152878. Each `testset` block is now implicitly wrapped in a `guardsrand` block, which is more user-friendly and more systematic (only few users know about `guardsrand`). These are essentially two new features: 1) "in": in base, tests are run with the global RNG randomly seeded, but the seed is printed in case of failure to allow reproducing the failure; but even if the failure occurs after many tests, when they alter the global RNG state, one has to re-run the whole file, which can be time-consuming; with this change, at the beginning of each `testset`, the global RNG is re-seeded with its own seed: this allows to re-run only the failing `testset`, which can be done easily in the REPL (the seeding occurs for each loop in a `testset for`; this also allows to re-arrange `testset`s in arbitrary order w.r.t. the global RNG; 2) "out": a `testset` leaves no tracks of its use of `srand` or `rand` (this "feature" should be less and less needed/useful with the generalization of the use of `testset` blocks). Example: ``` @testset begin srand(123) rand() @testset for T in (Int, Float64) # here is an implicit srand(123), by 1) rand() end rand() # this value will not be affected if the sub-`testset` block # above is removed, or if another rand() call is added therein, by 2) end ``` Note that guardsrand can't be used directly, as then the testset's body is wrapped in a function, which causes problem with overwriting loop variable ("outer"), using `using`, defining new methods, etc. So we need to duplicate guardsrand's logic. 17 December 2017, 17:35:51 UTC
a5c9e88 rename some copy! methods to copyto! (#24808) When the deprecation gets lifted, they will be re-enabled with a new meaning. 17 December 2017, 09:45:40 UTC
4516fc9 Make testset readable 17 December 2017, 06:51:37 UTC
2195ef9 Make test tolerance proportional to condition number in a solve test for the Bunch-Kaufman factorization 17 December 2017, 06:51:11 UTC
e89a2b8 Fix missing gc root in compile-all (#25128) ``` /home/keno/julia/src/precompile.c:191:5: note: GC frame changed here JL_GC_PUSH2(&p, &methsig); ^~~~~~~~~~~~~~~~~~~~~~~~~ /home/keno/julia/src/precompile.c:193:5: note: Loop condition is true. Entering loop body while (!incr) { ^ /home/keno/julia/src/precompile.c:194:24: note: Started tracking value here jl_svec_t *p = jl_alloc_svec_uninit(l); ^~~~~~~~~~~~~~~~~~~~~~~ /home/keno/julia/src/precompile.c:195:9: note: Loop condition is true. Entering loop body for (i = 0, idx_ctr = 0, incr = 1; i < l; i++) { ^ /home/keno/julia/src/precompile.c:197:13: note: Taking false branch if (jl_is_uniontype(ty)) { ^ /home/keno/julia/src/precompile.c:195:9: note: Loop condition is false. Execution continues on line 217 for (i = 0, idx_ctr = 0, incr = 1; i < l; i++) { ^ /home/keno/julia/src/precompile.c:217:32: note: Passing non-rooted value as argument to function that may GC methsig = (jl_value_t*)jl_apply_tuple_type(p); ^ ~ ``` Essentially the same bug as #25123 16 December 2017, 22:02:53 UTC
7eb3d90 Fix missing gc root in struct allocation (#25124) ClangSA says: ``` /home/keno/julia/src/datatype.c:729:22: note: Started tracking value here jl_value_t *jv = jl_gc_alloc(ptls, jl_datatype_size(type), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./julia_internal.h:285:6: note: expanded from macro 'jl_gc_alloc' (jl_gc_alloc)(ptls, sz, ty)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/keno/julia/src/datatype.c:730:24: note: Assuming 'i' is < 'na' for (size_t i = 0; i < na; i++) { ^~~~~~ /home/keno/julia/src/datatype.c:730:5: note: Loop condition is true. Entering loop body for (size_t i = 0; i < na; i++) { ^ /home/keno/julia/src/datatype.c:732:14: note: Value may have been GCed here if (!jl_isa(args[i], ft)) ^~~~~~~~~~~~~~~~~~~ /home/keno/julia/src/datatype.c:732:13: note: Assuming the condition is false if (!jl_isa(args[i], ft)) ^~~~~~~~~~~~~~~~~~~~ /home/keno/julia/src/datatype.c:732:9: note: Taking false branch if (!jl_isa(args[i], ft)) ^ /home/keno/julia/src/datatype.c:734:9: note: Argument value may have been GCed jl_set_nth_field(jv, i, args[i]); ^ ~~ ``` I concur. 16 December 2017, 22:01:32 UTC
0d7493c Fix missing gc root in generator expansion (#25123) ClangSA complains: ``` /home/keno/julia/src/method.c:334:37: note: Passing non-rooted value as argument to function that may GC func = (jl_code_info_t*)jl_expand((jl_value_t*)ex, linfo->def.method->module); ^ ~~~~~~~~~~~~~~~ ``` But why you ask, `ex` is pushed into a gc frame earlier in the function. Well, because of C scoping rules, that's a different `ex` than the one that gets assigned. 16 December 2017, 21:43:26 UTC
fbbdaeb Do not print at-ref links in terminal (#25132) * Do not print at-ref links. * Also handle `at-ref param` links 16 December 2017, 20:30:16 UTC
378e102 Merge pull request #25056 from fredrikekre/fe/stdlib-printf at-[s]printf to Printf stdlib 16 December 2017, 19:56:50 UTC
f5dab58 interactiveutil: clipboard for FreeBSD (#23151) 16 December 2017, 17:54:46 UTC
4570ca7 Merge pull request #25083 from Sacha0/adjtransvec transition linalg to Adjoint/Transpose externally 16 December 2017, 17:41:18 UTC
8bf4e9d Merge pull request #25122 from JuliaLang/kf/interpdtroot Root dt during construction in interpreter 16 December 2017, 16:57:11 UTC
8ab6f01 at-[s]printf to Printf stdlib 16 December 2017, 16:37:18 UTC
3eb5544 Make CartesianRange an AbstractArray and deprecate sub2ind and ind2sub (#25113) * Make CartesianRange an AbstractArray and deprecate sub2ind and ind2sub * Rename CartesianRange->CartesianIndices 16 December 2017, 16:05:17 UTC
97bfa91 Add Array{T,N}(nothing/missing, dims...) convenience constructors (#25054) These are shorthands for fill!(Array{T,N}(uninitialized, dims...), nothing/missing). In the future they could be optimized for isbits Union types in which nothing/missing is the first type of the Union, since such arrays are already filled with nothing/missing. 16 December 2017, 13:45:01 UTC
c4b6c76 Merge pull request #25101 from JuliaLang/teh/vec_sparsecsc vec(::SparseMatrixCSC) returns a view 16 December 2017, 10:38:44 UTC
9c1faae Move back isascii() from Unicode to Base (#25076) This function is not really Unicode-related and its definition does not depend on the Unicode standard version. This fixes a bug introduced when moving isascii() to Base.Unicode, as it was not exported from Unicode stdlib module as it should have been. 16 December 2017, 09:29:46 UTC
c640381 Replace all use of 'indexes' with 'indices' (#25088) 16 December 2017, 07:39:28 UTC
2ec9145 optimize porthint in known range 16 December 2017, 04:52:47 UTC
8244bdf Transition base to Adjoint/Transpose (flip switch, clean up fallout). 16 December 2017, 02:43:16 UTC
4f02304 Strip defs involving RowVector from base/linalg/triangular.jl. 16 December 2017, 02:40:04 UTC
cce1615 Strip defs involving RowVector from base/linalg/symmetric.jl and touch up tests. 16 December 2017, 02:40:04 UTC
6131f25 Strip defs involving RowVector from base/sparse/higherorderfns.jl, give behaviors to Adjoint/Transpose. 16 December 2017, 02:40:04 UTC
dc79192 Give Adjoint/Transpose ConjRowVector/RowVector's sparse/structured concatenation behaviors. 16 December 2017, 02:40:04 UTC
2f69ba8 Strip defs involving RowVector from base/linalg/factorization.jl. 16 December 2017, 02:40:04 UTC
80cef64 Strip defs involving RowVector from base/linalg/generic.jl, give behaviors to Adjoint/Transpose, and test. 16 December 2017, 02:40:04 UTC
286f8ca Strip defs involving RowVector from base/linalg/givens.jl. 16 December 2017, 02:40:04 UTC
c5d0586 Strip defs involving RowVector from base/linalg/lq.jl, give behaviors to Adjoint/Transpose. 16 December 2017, 02:40:04 UTC
d470cad Strip defs involving RowVector from base/sparse/linalg.jl. 16 December 2017, 02:40:04 UTC
4c5afcd Strip defs involving RowVector from base/linalg/diagonal.jl and transition associated tests to Adjoint/Transpose. 16 December 2017, 02:40:04 UTC
50655e9 Strip defs involving RowVector from base/linalg/bidiag.jl and remove associated soon-to-fail tests. 16 December 2017, 02:40:04 UTC
c928c29 Export Adjoint and Transpose for forthcoming transition. 16 December 2017, 02:40:04 UTC
d72d001 Give Adjoint/Transpose ConjRowVector/RowVector's right-division behaviors and test. 16 December 2017, 02:40:04 UTC
49c740d Give Adjoint/Transpose ConjRowVector/RowVector's left-division behaviors and test. 16 December 2017, 02:40:04 UTC
b1568fd Give Adjoint/Transpose ConjRowVector/RowVector's pseudoinversion behaviors and test. 16 December 2017, 02:40:04 UTC
f210ae8 Give Adjoint/Transpose ConjRowVector/RowVector's multiplication behaviors and test. 16 December 2017, 02:40:04 UTC
7085271 Transfer definitions not involving RowVector from linalg/rowvector.jl to linalg/adjtrans.jl. 16 December 2017, 02:40:04 UTC
12f06a8 Shield linalg/rowvector tests against changes to adjoint(...), transpose(...), .', ', and A[ct]_(mul|ldiv|rdiv)_B[ct][!]. 16 December 2017, 02:40:04 UTC
a6217c7 Give Adjoint/Transpose ConjRowVector/RowVector's map/broadcast behaviors and test. 16 December 2017, 02:40:04 UTC
a532c1d Give Adjoint/Transpose ConjRowVector/RowVector's hcat behaviors and test. 16 December 2017, 02:40:04 UTC
e2bac90 Rename IterativeEigenSolvers to IterativeEigensolvers (#25089) 16 December 2017, 01:38:51 UTC
ff0e1f7 Add <(::Tuple, ::Tuple) implementing three-valued logic (#25099) For consistency with ==, as < was the only remaining exception. isless() still returns a Bool, treating missing as greater than any other value. 15 December 2017, 23:34:06 UTC
5d1e1d0 Replace Nullable{T} with Union{T, Void} or Union{Some{T}, Void} (#23642) Also add coalesce() function to return first non-nothing value and unwrap Some objects. Use the notnothing() function internally where it makes sense to assert that the result is different from nothing. Use custom MaybeValue wrapper for ProductIterator to work around a performance regression due to type instability (information about whether a value is present or not is carried separately). 15 December 2017, 23:31:26 UTC
2e0738f Root dt during construction in interpreter ClangSA was unhappy about this: ``` /home/keno/julia/src/interpreter.c:239:10: note: Started tracking value here dt = jl_new_datatype((jl_sym_t*)name, modu, NULL, (jl_svec_t*)para, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/keno/julia/src/interpreter.c:244:23: note: Value may have been GCed here jl_binding_t *b = jl_get_binding_wr(modu, (jl_sym_t*)name, 1); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/keno/julia/src/interpreter.c:255:9: note: Argument value may have been GCed jl_set_datatype_super(dt, super); ^ ~~ ``` Talking to Jeff and Jameson, these are likely never seen in real code because leaf types are generally rooted somehow and we don't like collecting them. However, it seems like there's no guarantee that this won't happen (in contrived) situations, so let's put the root here to be safe. 15 December 2017, 23:24:55 UTC
9315ca0 fix :typeinfo with tuple elements (closes #25042) (#25043) 15 December 2017, 21:20:23 UTC
9b8e651 Require all arrays in eachindex to have the same axes. Fixes #13310 (#25108) 15 December 2017, 20:19:56 UTC
15d87e7 Merge pull request #25092 from JuliaLang/ksh/threaddocs Xrefs and wording fixes for thread docs 15 December 2017, 19:14:42 UTC
e3b01be Merge pull request #25103 from JuliaLang/anj/25096 Make test tolerance dependent on condition number in Bunch-Kaufman test 15 December 2017, 19:11:10 UTC
e5ab947 Merge pull request #25060 from Subhash-Saurabh/24870_issue Documentation changes for isreal for 'Inf' and 'Nan' 15 December 2017, 19:02:50 UTC
7cfcca2 at-deprecate spones(A) fillstored!(copy(A), 1) (#25037) 15 December 2017, 18:56:33 UTC
back to top