https://github.com/JuliaLang/julia
Revision 933a83af6af1a5d272095a8875192f944b182f29 authored by N5N3 on 25 December 2023, 12:54:47 UTC, committed by GitHub on 25 December 2023, 12:54:47 UTC
1. If we use `BitArray`/`Array{Bool}` to index, `to_indices` has an
optimiztion for linear-iteratable case.
But the corresponding check is not correct. IIUC, this optimization is
legal only when the Boolen array is the only index provided.
The first commit fix it and widen this optimization to all Boolen array.
Before this PR
```julia
julia> A = rand(2,3,4); I = rand(Bool,3,4);

julia> A[1,I] == A[1,view(I,:,:)]
ERROR: BoundsError: attempt to access 2×3×4 Array{Float64, 3} at index [1, 3×4 Matrix{Bool}]
```
After
```julia
julia> A = rand(2,3,4); I = rand(Bool,3,4);

julia> A[1,I] == A[1,view(I,:,:)]
true
```

2. On master, if the index/array has singleton trailing dimension,
boundcheck of logical index show different behavior depending on the
number of indexes provided.
If there's only one index variable, singleton dimension wil not be
ignored. The second commit fix it. (close #45867)

---------

Co-authored-by: Matt Bauman <mbauman@gmail.com>
1 parent 4e4c0e5
History
Tip revision: 933a83af6af1a5d272095a8875192f944b182f29 authored by N5N3 on 25 December 2023, 12:54:47 UTC
Fix inconsistant logical index behavior (#45869)
Tip revision: 933a83a
File Mode Size
.devcontainer
.github
base
cli
contrib
deps
doc
etc
src
stdlib
test
.buildkite-external-version -rw-r--r-- 5 bytes
.clang-format -rw-r--r-- 3.3 KB
.clangd -rw-r--r-- 114 bytes
.codecov.yml -rw-r--r-- 52 bytes
.git-blame-ignore-revs -rw-r--r-- 371 bytes
.gitattributes -rw-r--r-- 65 bytes
.gitignore -rw-r--r-- 523 bytes
.mailmap -rw-r--r-- 12.7 KB
CITATION.bib -rw-r--r-- 513 bytes
CITATION.cff -rw-r--r-- 940 bytes
CONTRIBUTING.md -rw-r--r-- 23.4 KB
HISTORY.md -rw-r--r-- 372.8 KB
LICENSE.md -rw-r--r-- 1.3 KB
Make.inc -rw-r--r-- 55.9 KB
Makefile -rw-r--r-- 30.3 KB
NEWS.md -rw-r--r-- 8.1 KB
README.md -rw-r--r-- 7.4 KB
THIRDPARTY.md -rw-r--r-- 3.8 KB
VERSION -rw-r--r-- 11 bytes
julia.spdx.json -rw-r--r-- 35.8 KB
pkgimage.mk -rw-r--r-- 5.8 KB
sysimage.mk -rw-r--r-- 4.2 KB
typos.toml -rw-r--r-- 78 bytes

README.md

back to top