Skip to content

Commit 7e663ed

Browse files
committed
Try fixing tests
1 parent d71da0d commit 7e663ed

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

NDTensors/src/lib/BlockSparseArrays/src/blocksparsearrayinterface/blocksparsearrayinterface.jl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -233,9 +233,13 @@ end
233233

234234
# Represents the array of arrays of a `SubArray`
235235
# wrapping a block spare array, i.e. `blocks(array)` where `a` is a `SubArray`.
236-
struct SparseSubArrayBlocks{T,N,Array<:SubArray{T,N}} <: AbstractSparseArray{T,N}
236+
struct SparseSubArrayBlocks{T,N,BlockType<:AbstractArray{T,N},Array<:SubArray{T,N}} <:
237+
AbstractSparseArray{BlockType,N}
237238
array::Array
238239
end
240+
function blocksparse_blocks(a::SubArray)
241+
return SparseSubArrayBlocks{eltype(a),ndims(a),blocktype(parent(a)),typeof(a)}(a)
242+
end
239243
# TODO: Define this as `blockrange(a::AbstractArray, indices::Tuple{Vararg{AbstractUnitRange}})`.
240244
function blockrange(a::SparseSubArrayBlocks)
241245
blockranges = blockrange.(axes(parent(a.array)), a.array.indices)
@@ -294,10 +298,6 @@ function SparseArrayInterface.sparse_storage(a::SparseSubArrayBlocks)
294298
return map(I -> a[I], stored_indices(a))
295299
end
296300

297-
function blocksparse_blocks(a::SubArray)
298-
return SparseSubArrayBlocks(a)
299-
end
300-
301301
to_blocks_indices(I::BlockSlice{<:BlockRange{1}}) = Int.(I.block)
302302
to_blocks_indices(I::BlockIndices{<:Vector{<:Block{1}}}) = Int.(I.blocks)
303303

0 commit comments

Comments
 (0)