https://github.com/JuliaLang/julia

sort by:
Revision Author Date Message Commit Date
e14aca6 WIP: deprecate iteration on bare `AbstractDict`. Users should use `pairs(dict)` or `values(dict)` (or `keys(dict)`) to disambiguate iteration result. 20 December 2017, 13:12:21 UTC
2d45ef5 preserve `do` syntax in AST. part of #21774 (#23718) 20 December 2017, 04:02:31 UTC
b537f78 Merge pull request #25181 from JuliaLang/jn/disasm-symbolicator disasm: improve symbolicator 20 December 2017, 01:47:40 UTC
1319567 Merge pull request #25148 from Sacha0/despecial update context-independent and remove context-dependent lowering of ' 19 December 2017, 22:20:16 UTC
ea3639e Make inbounds macros expression-like (#25033) 19 December 2017, 20:54:58 UTC
3c22019 disasm: improve symbolicators ability to handle constants 19 December 2017, 18:17:22 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
e704d22 disasm: remove invalid OpInfoLookup code This lets LLVM fall through to the Symbol symbolicator, where we already have the right answer Otherwise, this code might get in the way, if the instruction encoding was not just the literal pointer. 19 December 2017, 05:32:29 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
6e3c1ce Remove special lowering of ' in *, /, and \ expressions to A[c]_(mul|ldiv|rdiv)_B[c]. 19 December 2017, 01:09:03 UTC
664fc98 Make A' lower to Core.postfixapostrophize(A) with default def = Adjoint(A) and clean up fallout. 19 December 2017, 01:09:03 UTC
07740b6 add tests for getfield-overloading (#25164) tests for PR #24960 18 December 2017, 22:50:03 UTC
90cf0ba Rewrite isolated ' calls in test/ to preserve behavior through ' lowering changes. 18 December 2017, 21:38:32 UTC
9ec817f Rewrite isolated ' calls in stdlib/ to preserve behavior through ' lowering changes. 18 December 2017, 21:38:31 UTC
8699d98 Rewrite isolated ' calls in base/ to preserve behavior through ' lowering changes. 18 December 2017, 21:38:31 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
back to top