Skip to content

Commit 85b7bd4

Browse files
committed
return slices besides 1
1 parent f529d28 commit 85b7bd4

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

src/cached.jl

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@ eachchunk(A::CachedDiskArray) = eachchunk(parent(A))
3535
function _readblock_cached!(A::CachedDiskArray{T,N}, data, I...) where {T,N}
3636
chunks = eachchunk(A)
3737
chunk_inds = findchunk.(chunks.chunks, I)
38+
needed_chunks = chunks[chunk_inds...]
3839

39-
chunk_arrays = map(chunks[chunk_inds...]) do c
40+
chunk_arrays = map(needed_chunks) do c
4041
if haskey(A.cache, c)
4142
A.cache[c]
4243
else
@@ -46,7 +47,9 @@ function _readblock_cached!(A::CachedDiskArray{T,N}, data, I...) where {T,N}
4647
end
4748
out = ConcatDiskArray(chunk_arrays)
4849

49-
out_inds = map(i -> i .- first(i) .+ 1, I)
50+
out_inds = map(I, first(needed_chunks)) do i, nc
51+
i .- first(nc) .+ 1
52+
end
5053

5154
data .= view(out, out_inds...)
5255

test/runtests.jl

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -720,6 +720,11 @@ end
720720

721721
ca = DiskArrays.cache(ch; maxsize=5)
722722
@test sum(ca) == sum(ca)
723-
# Read from the cache
724-
@test ca[:, :] == ch
723+
724+
@test ca[:, :] == ch[:, :]
725+
@test ca[:, 1] == ch[:, 1]
726+
@test ca[:, 2] == ch[:, 2]
727+
@test ca[:, 3] == ch[:, 3]
728+
@test ca[:, 200] == ch[:, 200]
729+
@test ca[200, :] == ch[200, :]
725730
end

0 commit comments

Comments
 (0)