|
38 | 38 |
|
39 | 39 | # TODO remove _permutedims once support for Julia 1.10 is dropped |
40 | 40 | # define permutedims with a BlockedPermuation. Default is to flatten it. |
41 | | -function Base.permutedims(a::AbstractArray, biperm::AbstractBlockPermutation) |
| 41 | +function permuteblockeddims(a::AbstractArray, biperm::AbstractBlockPermutation) |
42 | 42 | return _permutedims(a, Tuple(biperm)) |
43 | 43 | end |
44 | 44 |
|
45 | | -# solve ambiguities |
46 | | -function Base.permutedims(a::StridedArray, biperm::AbstractBlockPermutation) |
47 | | - return _permutedims(a, Tuple(biperm)) |
48 | | -end |
49 | | -function Base.permutedims(a::Diagonal, biperm::AbstractBlockPermutation) |
50 | | - return _permutedims(a, Tuple(biperm)) |
51 | | -end |
52 | | - |
53 | | -function Base.permutedims!( |
| 45 | +function permuteblockeddims!( |
54 | 46 | a::AbstractArray, b::AbstractArray, biperm::AbstractBlockPermutation |
55 | 47 | ) |
56 | 48 | return _permutedims!(a, b, Tuple(biperm)) |
57 | 49 | end |
58 | 50 |
|
59 | | -# solve ambiguities |
60 | | -function Base.permutedims!( |
61 | | - a::Array{T,N}, b::StridedArray{T,N}, biperm::AbstractBlockPermutation |
62 | | -) where {T,N} |
63 | | - return _permutedims!(a, b, Tuple(biperm)) |
64 | | -end |
65 | | - |
66 | 51 | # ===================================== matricize ======================================== |
67 | 52 | # TBD settle copy/not copy convention |
68 | 53 | # matrix factorizations assume copy |
|
75 | 60 | function matricize( |
76 | 61 | style::FusionStyle, a::AbstractArray, biperm::AbstractBlockPermutation{2} |
77 | 62 | ) |
78 | | - a_perm = permutedims(a, biperm) |
| 63 | + a_perm = permuteblockeddims(a, biperm) |
79 | 64 | return matricize(style, a_perm, trivialperm(biperm)) |
80 | 65 | end |
81 | 66 |
|
@@ -112,7 +97,7 @@ function unmatricize( |
112 | 97 | ) |
113 | 98 | blocked_axes = axes[biperm] |
114 | 99 | a_perm = unmatricize(m, blocked_axes) |
115 | | - return permutedims(a_perm, invperm(biperm)) |
| 100 | + return permuteblockeddims(a_perm, invperm(biperm)) |
116 | 101 | end |
117 | 102 |
|
118 | 103 | function unmatricize(::ReshapeFusion, m::AbstractMatrix, axes::AbstractUnitRange...) |
@@ -147,5 +132,5 @@ function unmatricize!( |
147 | 132 | ) |
148 | 133 | blocked_axes = axes(a)[biperm] |
149 | 134 | a_perm = unmatricize(m, blocked_axes) |
150 | | - return permutedims!(a, a_perm, invperm(biperm)) |
| 135 | + return permuteblockeddims!(a, a_perm, invperm(biperm)) |
151 | 136 | end |
0 commit comments