|
48 | 48 | @testset "2x2 StaticMatrix with StaticVector" begin
|
49 | 49 | m = @SMatrix [1 2; 3 4]
|
50 | 50 | v = SVector(1, 4)
|
51 |
| - @test @inferred(broadcast(+, m, v)) === @SMatrix [2 3; 7 8] |
52 |
| - @test @inferred(m .+ v) === @SMatrix [2 3; 7 8] |
53 |
| - @test @inferred(v .+ m) === @SMatrix [2 3; 7 8] |
54 |
| - @test @inferred(m .* v) === @SMatrix [1 2; 12 16] |
55 |
| - @test @inferred(v .* m) === @SMatrix [1 2; 12 16] |
56 |
| - @test @inferred(m ./ v) === @SMatrix [1 2; 3/4 1] |
57 |
| - @test @inferred(v ./ m) === @SMatrix [1 1/2; 4/3 1] |
58 |
| - @test @inferred(m .- v) === @SMatrix [0 1; -1 0] |
59 |
| - @test @inferred(v .- m) === @SMatrix [0 -1; 1 0] |
60 |
| - @test @inferred(m .^ v) === @SMatrix [1 2; 81 256] |
61 |
| - @test @inferred(v .^ m) === @SMatrix [1 1; 64 256] |
62 |
| - # Issue #546 |
63 |
| - @test @inferred(m ./ (v .* v')) === @SMatrix [1.0 0.5; 0.75 0.25] |
64 |
| - testinf(m, v) = m ./ (v .* v') |
65 |
| - @test @inferred(testinf(m, v)) === @SMatrix [1.0 0.5; 0.75 0.25] |
| 51 | + vrep = @SMatrix [1 1; 4 4] |
| 52 | + for m in (m, Transpose(m), Adjoint(m), Diagonal(m), Symmetric(m, :U), Symmetric(m, :L), Hermitian(m, :U), Hermitian(m, :L), UpperTriangular(m), LowerTriangular(m), UnitUpperTriangular(m), UnitLowerTriangular(m)) |
| 53 | + @test @inferred(broadcast(+, m, v)) === map(+, m, vrep)::SMatrix |
| 54 | + @test @inferred(m .+ v) === map(+, m, vrep)::SMatrix |
| 55 | + @test @inferred(v .+ m) === map(+, vrep, m)::SMatrix |
| 56 | + @test @inferred(m .* v) === map(*, m, vrep)::SMatrix |
| 57 | + @test @inferred(v .* m) === map(*, vrep, m)::SMatrix |
| 58 | + @test @inferred(m ./ v) === map(/, m, vrep)::SMatrix |
| 59 | + @test @inferred(v ./ m) === map(/, vrep, m)::SMatrix |
| 60 | + @test @inferred(m .- v) === map(-, m, vrep)::SMatrix |
| 61 | + @test @inferred(v .- m) === map(-, vrep, m)::SMatrix |
| 62 | + @test @inferred(m .^ v) === map(^, m, vrep)::SMatrix |
| 63 | + @test @inferred(v .^ m) === map(^, vrep, m)::SMatrix |
| 64 | + # Issue #546 |
| 65 | + @test @inferred(m ./ (v .* v')) === map(/, m, v .* v')::SMatrix |
| 66 | + testinf(m, v) = m ./ (v .* v') |
| 67 | + @test @inferred(testinf(m, v)) === map(/, m, v .* v')::SMatrix |
| 68 | + end |
66 | 69 | end
|
67 | 70 |
|
68 | 71 | @testset "2x2 StaticMatrix with 1x2 StaticMatrix" begin
|
69 | 72 | # Issues #197, #242: broadcast between SArray and row-like SMatrix
|
70 | 73 | m1 = @SMatrix [1 2; 3 4]
|
71 | 74 | m2 = @SMatrix [1 4]
|
72 |
| - @test @inferred(broadcast(+, m1, m2)) === @SMatrix [2 6; 4 8] |
73 |
| - @test @inferred(m1 .+ m2) === @SMatrix [2 6; 4 8] |
74 |
| - @test @inferred(m2 .+ m1) === @SMatrix [2 6; 4 8] |
75 |
| - @test @inferred(m1 .* m2) === @SMatrix [1 8; 3 16] |
76 |
| - @test @inferred(m2 .* m1) === @SMatrix [1 8; 3 16] |
77 |
| - @test @inferred(m1 ./ m2) === @SMatrix [1 1/2; 3 1] |
78 |
| - @test @inferred(m2 ./ m1) === @SMatrix [1 2; 1/3 1] |
79 |
| - @test @inferred(m1 .- m2) === @SMatrix [0 -2; 2 0] |
80 |
| - @test @inferred(m2 .- m1) === @SMatrix [0 2; -2 0] |
81 |
| - @test @inferred(m1 .^ m2) === @SMatrix [1 16; 3 256] |
| 75 | + m2rep = @SMatrix [1 4; 1 4] |
| 76 | + m1s = (m1, Transpose(m1), Adjoint(m1), Diagonal(m1), Symmetric(m1, :U), Symmetric(m1, :L), Hermitian(m1, :U), Hermitian(m1, :L), UpperTriangular(m1), LowerTriangular(m1), UnitUpperTriangular(m1), UnitLowerTriangular(m1)) |
| 77 | + for m1 in m1s |
| 78 | + @test @inferred(broadcast(+, m1, m2)) === map(+, m1, m2rep)::SMatrix |
| 79 | + @test @inferred(m1 .+ m2) === map(+, m1, m2rep)::SMatrix |
| 80 | + @test @inferred(m2 .+ m1) === map(+, m2rep, m1)::SMatrix |
| 81 | + @test @inferred(m1 .* m2) === map(*, m1, m2rep)::SMatrix |
| 82 | + @test @inferred(m2 .* m1) === map(*, m2rep, m1)::SMatrix |
| 83 | + @test @inferred(m1 ./ m2) === map(/, m1, m2rep)::SMatrix |
| 84 | + @test @inferred(m2 ./ m1) === map(/, m2rep, m1)::SMatrix |
| 85 | + @test @inferred(m1 .- m2) === map(-, m1, m2rep)::SMatrix |
| 86 | + @test @inferred(m2 .- m1) === map(-, m2rep, m1)::SMatrix |
| 87 | + @test @inferred(m1 .^ m2) === map(^, m1, m2rep)::SMatrix |
| 88 | + end |
82 | 89 | end
|
83 | 90 |
|
84 | 91 | @testset "1x2 StaticMatrix with StaticVector" begin
|
|
0 commit comments