@@ -22,6 +22,7 @@ using DerivableInterfaces:
22
22
AbstractArrayInterface,
23
23
DefaultArrayInterface,
24
24
interface,
25
+ permuteddims,
25
26
zero!
26
27
using LinearAlgebra: Adjoint, Transpose
27
28
using SparseArraysBase:
312
313
# `blockisequal_map[!]`.
313
314
# TODO : Maybe define a `BlockIsEqualInterface` for these kinds of functions.
314
315
function blockisequal_permutedims! (a_dest:: AbstractArray , a_src:: AbstractArray , perm)
315
- blocks (a_dest) .= blocks (PermutedDimsArray (a_src, perm))
316
+ blocks (a_dest) .= blocks (permuteddims (a_src, perm))
316
317
return a_dest
317
318
end
318
319
322
323
@interface :: AbstractBlockSparseArrayInterface function Base. permutedims (
323
324
a:: AbstractArray , perm
324
325
)
325
- a_dest = similar (PermutedDimsArray (a, perm))
326
+ a_dest = similar (permuteddims (a, perm))
326
327
# TODO : Maybe define this as `@interface BlockIsEqualInterface() permutedims!(...)`.
327
328
blockisequal_permutedims! (a_dest, a, perm)
328
329
return a_dest
334
335
@interface :: AbstractBlockSparseArrayInterface function Base. permutedims! (
335
336
a_dest:: AbstractArray , a_src:: AbstractArray , perm
336
337
)
337
- if all (blockisequal .(axes (a_dest), axes (PermutedDimsArray (a_src, perm))))
338
+ if all (blockisequal .(axes (a_dest), axes (permuteddims (a_src, perm))))
338
339
# TODO : Maybe define this as `@interface BlockIsEqualInterface() permutedims!(...)`.
339
340
blockisequal_permutedims! (a_dest, a_src, perm)
340
341
return a_dest
@@ -403,15 +404,15 @@ end
403
404
function SparseArraysBase. getstoredindex (
404
405
a:: SparsePermutedDimsArrayBlocks{<:Any,N} , index:: Vararg{Int,N}
405
406
) where {N}
406
- return PermutedDimsArray (
407
+ return permuteddims (
407
408
getstoredindex (blocks (parent (a. array)), _getindices (index, _invperm (a. array))... ),
408
409
_perm (a. array),
409
410
)
410
411
end
411
412
function SparseArraysBase. getunstoredindex (
412
413
a:: SparsePermutedDimsArrayBlocks{<:Any,N} , index:: Vararg{Int,N}
413
414
) where {N}
414
- return PermutedDimsArray (
415
+ return permuteddims (
415
416
getunstoredindex (blocks (parent (a. array)), _getindices (index, _invperm (a. array))... ),
416
417
_perm (a. array),
417
418
)
0 commit comments