@@ -22,6 +22,7 @@ using DerivableInterfaces:
2222 AbstractArrayInterface,
2323 DefaultArrayInterface,
2424 interface,
25+ permuteddims,
2526 zero!
2627using LinearAlgebra: Adjoint, Transpose
2728using SparseArraysBase:
312313# `blockisequal_map[!]`.
313314# TODO : Maybe define a `BlockIsEqualInterface` for these kinds of functions.
314315function 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))
316317 return a_dest
317318end
318319
322323@interface :: AbstractBlockSparseArrayInterface function Base. permutedims (
323324 a:: AbstractArray , perm
324325)
325- a_dest = similar (PermutedDimsArray (a, perm))
326+ a_dest = similar (permuteddims (a, perm))
326327 # TODO : Maybe define this as `@interface BlockIsEqualInterface() permutedims!(...)`.
327328 blockisequal_permutedims! (a_dest, a, perm)
328329 return a_dest
334335@interface :: AbstractBlockSparseArrayInterface function Base. permutedims! (
335336 a_dest:: AbstractArray , a_src:: AbstractArray , perm
336337)
337- if all (blockisequal .(axes (a_dest), axes (PermutedDimsArray (a_src, perm))))
338+ if all (blockisequal .(axes (a_dest), axes (permuteddims (a_src, perm))))
338339 # TODO : Maybe define this as `@interface BlockIsEqualInterface() permutedims!(...)`.
339340 blockisequal_permutedims! (a_dest, a_src, perm)
340341 return a_dest
@@ -403,15 +404,15 @@ end
403404function SparseArraysBase. getstoredindex (
404405 a:: SparsePermutedDimsArrayBlocks{<:Any,N} , index:: Vararg{Int,N}
405406) where {N}
406- return PermutedDimsArray (
407+ return permuteddims (
407408 getstoredindex (blocks (parent (a. array)), _getindices (index, _invperm (a. array))... ),
408409 _perm (a. array),
409410 )
410411end
411412function SparseArraysBase. getunstoredindex (
412413 a:: SparsePermutedDimsArrayBlocks{<:Any,N} , index:: Vararg{Int,N}
413414) where {N}
414- return PermutedDimsArray (
415+ return permuteddims (
415416 getunstoredindex (blocks (parent (a. array)), _getindices (index, _invperm (a. array))... ),
416417 _perm (a. array),
417418 )
0 commit comments