-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Support for 0-indexed and arbitrary-indexed arrays #16260
Commits on Jun 12, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 252f0ff - Browse repository at this point
Copy the full SHA 252f0ffView commit details -
Configuration menu - View commit details
-
Copy full SHA for 25b5ee5 - Browse repository at this point
Copy the full SHA 25b5ee5View commit details -
Rework bounds-checking so it uses
indices
This is also a redesign of how all this code works, in particular making `checkbounds(Bool, A, I...)` more first-class and splitting the 1d checking into `checkindex`.
Configuration menu - View commit details
-
Copy full SHA for 9ee6112 - Browse repository at this point
Copy the full SHA 9ee6112View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7cf1163 - Browse repository at this point
Copy the full SHA 7cf1163View commit details -
Use indices rather than size in equality checks
This also fixes a serialize test that seems broken
Configuration menu - View commit details
-
Copy full SHA for 7925233 - Browse repository at this point
Copy the full SHA 7925233View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4a9affa - Browse repository at this point
Copy the full SHA 4a9affaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 43c8d84 - Browse repository at this point
Copy the full SHA 43c8d84View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7a30542 - Browse repository at this point
Copy the full SHA 7a30542View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4b385f0 - Browse repository at this point
Copy the full SHA 4b385f0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9ef029b - Browse repository at this point
Copy the full SHA 9ef029bView commit details -
Configuration menu - View commit details
-
Copy full SHA for b7eec60 - Browse repository at this point
Copy the full SHA b7eec60View commit details -
Configuration menu - View commit details
-
Copy full SHA for d3667ef - Browse repository at this point
Copy the full SHA d3667efView commit details -
Configuration menu - View commit details
-
Copy full SHA for 53ef3ae - Browse repository at this point
Copy the full SHA 53ef3aeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3469fa9 - Browse repository at this point
Copy the full SHA 3469fa9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 95a9a6f - Browse repository at this point
Copy the full SHA 95a9a6fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 266890c - Browse repository at this point
Copy the full SHA 266890cView commit details -
Configuration menu - View commit details
-
Copy full SHA for cdf325b - Browse repository at this point
Copy the full SHA cdf325bView commit details -
Add IndicesBehavior trait and use it for similar/indexing
I was trying to avoid adding another trait, but the reality is that this means less specialization for user-types (especially of "difficult" functions like index_shape), and may be the only way to write certain algorithms in a type-stable manner.
Configuration menu - View commit details
-
Copy full SHA for 071dbfe - Browse repository at this point
Copy the full SHA 071dbfeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0735ad0 - Browse repository at this point
Copy the full SHA 0735ad0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 79f649f - Browse repository at this point
Copy the full SHA 79f649fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0d688dd - Browse repository at this point
Copy the full SHA 0d688ddView commit details -
Configuration menu - View commit details
-
Copy full SHA for eb51aa2 - Browse repository at this point
Copy the full SHA eb51aa2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1520c63 - Browse repository at this point
Copy the full SHA 1520c63View commit details -
Configuration menu - View commit details
-
Copy full SHA for c2e0b2c - Browse repository at this point
Copy the full SHA c2e0b2cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1b59063 - Browse repository at this point
Copy the full SHA 1b59063View commit details -
Avoid calling sub2ind for AbstractVector in indexing
sub2ind is ambiguous when using unconventional indexing in 1-d, so handle all logic separately. This fixes a problem with `show`ing OffsetVectors that cropped up after rebase.
Configuration menu - View commit details
-
Copy full SHA for a57e872 - Browse repository at this point
Copy the full SHA a57e872View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9e66642 - Browse repository at this point
Copy the full SHA 9e66642View commit details -
Configuration menu - View commit details
-
Copy full SHA for a547b9f - Browse repository at this point
Copy the full SHA a547b9fView commit details -
Changes to broadcast to support .<, .==, etc for indices
Broadcast looks like it needs rewriting for jbfunctions. This starts on the process for these specific operations, but leaves the rest of the problem untouched. One issue here is that I'm implicitly assuming that `parent(P)` returns the "inner" type requested by `allocate_for`. I haven't had to make that assumption yet.
Configuration menu - View commit details
-
Copy full SHA for 54658a8 - Browse repository at this point
Copy the full SHA 54658a8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 522547b - Browse repository at this point
Copy the full SHA 522547bView commit details -
Configuration menu - View commit details
-
Copy full SHA for b66d06c - Browse repository at this point
Copy the full SHA b66d06cView commit details -
Configuration menu - View commit details
-
Copy full SHA for d5750d1 - Browse repository at this point
Copy the full SHA d5750d1View commit details -
Redesign allocate_for so it always gets passed a reference array
Introduces promote_indices (is this a good name?) that picks one array to represent a list of arrays, as long as there is no inconsistency in array types.
Configuration menu - View commit details
-
Copy full SHA for 336cfe6 - Browse repository at this point
Copy the full SHA 336cfe6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9d97d4a - Browse repository at this point
Copy the full SHA 9d97d4aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 877ae39 - Browse repository at this point
Copy the full SHA 877ae39View commit details -
Configuration menu - View commit details
-
Copy full SHA for b81b729 - Browse repository at this point
Copy the full SHA b81b729View commit details -
Configuration menu - View commit details
-
Copy full SHA for ea2e2d7 - Browse repository at this point
Copy the full SHA ea2e2d7View commit details -
Use atsign-inbounds in next for AbstractArrays
Since the iterator is guaranteed to be inbounds, there is no reason to use a bounds-check. This leads to substantial performance improvements for certain array types.
Configuration menu - View commit details
-
Copy full SHA for d6e65e4 - Browse repository at this point
Copy the full SHA d6e65e4View commit details -
Optimize specializations of indices
Very worthwhile from a performance perspective, since bounds-checking is so performance-critical
Configuration menu - View commit details
-
Copy full SHA for 02f111b - Browse repository at this point
Copy the full SHA 02f111bView commit details
Commits on Jun 13, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 9da5ffc - Browse repository at this point
Copy the full SHA 9da5ffcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9a5c4e9 - Browse repository at this point
Copy the full SHA 9a5c4e9View commit details -
Use type-stable newindexer in broadcast
I was hoping that a small amount of type instability would pay for itself later, but no such luck.
Configuration menu - View commit details
-
Copy full SHA for a5c16e4 - Browse repository at this point
Copy the full SHA a5c16e4View commit details -
Improve performance of bounds-checking for SubArrays
SubArrays have slow indices(S, d) but fast indices(S), so exploit this.
Configuration menu - View commit details
-
Copy full SHA for 5924290 - Browse repository at this point
Copy the full SHA 5924290View commit details -
Configuration menu - View commit details
-
Copy full SHA for a7b88cf - Browse repository at this point
Copy the full SHA a7b88cfView commit details