20
20
21
21
# Override the default definition of `BlockArrays.blocksize`,
22
22
# which is incorrect for certain slices.
23
- function BlockArrays. blocksize (a:: SubArray{<:Any,<:Any,<:BlockSparseArrayLike } )
23
+ function BlockArrays. blocksize (a:: SubArray{<:Any,<:Any,<:AnyAbstractBlockSparseArray } )
24
24
return blocklength .(axes (a))
25
25
end
26
- function BlockArrays. blocksize (a:: SubArray{<:Any,<:Any,<:BlockSparseArrayLike} , i:: Int )
26
+ function BlockArrays. blocksize (
27
+ a:: SubArray{<:Any,<:Any,<:AnyAbstractBlockSparseArray} , i:: Int
28
+ )
27
29
# TODO : Maybe use `blocklength(axes(a, i))` which would be a bit faster.
28
30
return blocksize (a)[i]
29
31
end
33
35
# which don't handle subslices of blocks properly.
34
36
function Base. view (
35
37
a:: SubArray {
36
- <: Any ,N,<: BlockSparseArrayLike ,<: Tuple {Vararg{BlockSlice{<: BlockRange{1} },N}}
38
+ <: Any ,N,<: AnyAbstractBlockSparseArray ,<: Tuple {Vararg{BlockSlice{<: BlockRange{1} },N}}
37
39
},
38
40
I:: Block{N} ,
39
41
) where {N}
40
42
return blocksparse_view (a, I)
41
43
end
42
44
function Base. view (
43
45
a:: SubArray {
44
- <: Any ,N,<: BlockSparseArrayLike ,<: Tuple {Vararg{BlockSlice{<: BlockRange{1} },N}}
46
+ <: Any ,N,<: AnyAbstractBlockSparseArray ,<: Tuple {Vararg{BlockSlice{<: BlockRange{1} },N}}
45
47
},
46
48
I:: Vararg{Block{1},N} ,
47
49
) where {N}
48
50
return blocksparse_view (a, I... )
49
51
end
50
52
function Base. view (
51
- V:: SubArray {<: Any ,1 ,<: BlockSparseArrayLike ,<: Tuple{BlockSlice{<:BlockRange{1}}} },
53
+ V:: SubArray {<: Any ,1 ,<: AnyAbstractBlockSparseArray ,<: Tuple{BlockSlice{<:BlockRange{1}}} },
52
54
I:: Block{1} ,
53
55
)
54
56
return blocksparse_view (a, I)
@@ -154,7 +156,7 @@ function BlockArrays.viewblock(
154
156
return viewblock (a, to_tuple (block)... )
155
157
end
156
158
157
- # Fixes ambiguity error with `BlockSparseArrayLike ` definition.
159
+ # Fixes ambiguity error with `AnyAbstractBlockSparseArray ` definition.
158
160
function Base. view (
159
161
a:: SubArray {
160
162
T,N,<: AbstractBlockSparseArray{T,N} ,<: Tuple {Vararg{BlockSlice{<: BlockRange{1} },N}}
@@ -163,7 +165,7 @@ function Base.view(
163
165
) where {T,N}
164
166
return viewblock (a, block)
165
167
end
166
- # Fixes ambiguity error with `BlockSparseArrayLike ` definition.
168
+ # Fixes ambiguity error with `AnyAbstractBlockSparseArray ` definition.
167
169
function Base. view (
168
170
a:: SubArray {
169
171
T,N,<: AbstractBlockSparseArray{T,N} ,<: Tuple {Vararg{BlockSlice{<: BlockRange{1} },N}}
0 commit comments