Skip to content

Commit f83cd2e

Browse files
syntactic sugar for p*I
1 parent 6c90d83 commit f83cd2e

File tree

2 files changed

+19
-12
lines changed

2 files changed

+19
-12
lines changed

src/libfasttransforms.jl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -492,6 +492,13 @@ end
492492
\(p::AdjointFTPlan{T}, x::Array{T}) where T = ldiv!(p, deepcopy(x))
493493
\(p::TransposeFTPlan{T}, x::Array{T}) where T = ldiv!(p, deepcopy(x))
494494

495+
*(p::FTPlan{T, 1}, x::UniformScaling{S}) where {T, S} = lmul!(p, Matrix{promote_type(T, S)}(x, p.n, p.n))
496+
*(p::AdjointFTPlan{T, FTPlan{T, 1, K}}, x::UniformScaling{S}) where {T, S, K} = lmul!(p, Matrix{promote_type(T, S)}(x, p.parent.n, p.parent.n))
497+
*(p::TransposeFTPlan{T, FTPlan{T, 1, K}}, x::UniformScaling{S}) where {T, S, K} = lmul!(p, Matrix{promote_type(T, S)}(x, p.parent.n, p.parent.n))
498+
\(p::FTPlan{T, 1}, x::UniformScaling{S}) where {T, S} = ldiv!(p, Matrix{promote_type(T, S)}(x, p.n, p.n))
499+
\(p::AdjointFTPlan{T, FTPlan{T, 1, K}}, x::UniformScaling{S}) where {T, S, K} = ldiv!(p, Matrix{promote_type(T, S)}(x, p.parent.n, p.parent.n))
500+
\(p::TransposeFTPlan{T, FTPlan{T, 1, K}}, x::UniformScaling{S}) where {T, S, K} = ldiv!(p, Matrix{promote_type(T, S)}(x, p.parent.n, p.parent.n))
501+
495502
for (fJ, fC, elty) in ((:lmul!, :ft_bfmvf, :Float32),
496503
(:ldiv!, :ft_bfsvf, :Float32),
497504
(:lmul!, :ft_bfmv , :Float64),

test/libfasttransformstests.jl

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,23 +32,23 @@ FastTransforms.set_num_threads(ceil(Int, Base.Sys.CPU_THREADS/2))
3232
y = p2'\z
3333
z = p2\y
3434
@test z x
35-
P = p1*Id
35+
P = p1*I
3636
Q = p2*P
37-
@test Q Id
38-
P = p1*Id
37+
@test Q I
38+
P = p1*I
3939
Q = p1'P
4040
P = transpose(p1)*Q
4141
Q = transpose(p1)\P
4242
P = p1'\Q
4343
Q = p1\P
44-
@test Q Id
45-
P = p2*Id
44+
@test Q I
45+
P = p2*I
4646
Q = p2'P
4747
P = transpose(p2)*Q
4848
Q = transpose(p2)\P
4949
P = p2'\Q
5050
Q = p2\P
51-
@test Q Id
51+
@test Q I
5252
end
5353
end
5454

@@ -79,23 +79,23 @@ FastTransforms.set_num_threads(ceil(Int, Base.Sys.CPU_THREADS/2))
7979
y = p2'\z
8080
z = p2\y
8181
@test z x
82-
P = p1*Id
82+
P = p1*I
8383
Q = p2*P
84-
@test_skip Q Id
85-
P = p1*Id
84+
@test_skip Q I
85+
P = p1*I
8686
Q = p1'P
8787
P = transpose(p1)*Q
8888
Q = transpose(p1)\P
8989
P = p1'\Q
9090
Q = p1\P
91-
@test_skip Q Id
92-
P = p2*Id
91+
@test_skip Q I
92+
P = p2*I
9393
Q = p2'P
9494
P = transpose(p2)*Q
9595
Q = transpose(p2)\P
9696
P = p2'\Q
9797
Q = p2\P
98-
@test_skip Q Id
98+
@test_skip Q I
9999
end
100100
end
101101

0 commit comments

Comments
 (0)