Skip to content

Commit 2773655

Browse files
authored
Avoid ambiguity with Triangular and Diagonal (#36)
* Avoid ambiguity with Traingular and Diagonal * Update test_muladd.jl * v0.4.4
1 parent c9367f7 commit 2773655

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "ArrayLayouts"
22
uuid = "4c555306-a7a7-4459-81d9-ec55ddd5c99a"
33
authors = ["Sheehan Olver <[email protected]>"]
4-
version = "0.4.3"
4+
version = "0.4.4"
55

66
[deps]
77
FillArrays = "1a297f60-69ca-5386-bcde-b61e274b549b"

src/triangular.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ rowsupport(::TriangularLayout{'L'}, A, j) = isempty(j) ? (1:0) : rowsupport(tria
1212
mulreduce(M::Mul{<:TriangularLayout}) = Lmul(M)
1313
mulreduce(M::Mul{<:TriangularLayout,<:TriangularLayout}) = Lmul(M)
1414
mulreduce(M::Mul{<:Any,<:TriangularLayout}) = Rmul(M)
15+
mulreduce(M::Mul{<:DiagonalLayout,<:TriangularLayout}) = Lmul(M)
16+
mulreduce(M::Mul{<:TriangularLayout,<:DiagonalLayout}) = Rmul(M)
1517

1618
similar(M::Lmul{<:TriangularLayout{'U'},<:TriangularLayout{'U'}}) = UpperTriangular(Matrix{eltype(M)}(undef, size(M)))
1719
similar(M::Lmul{<:TriangularLayout{'L'},<:TriangularLayout{'L'}}) = LowerTriangular(Matrix{eltype(M)}(undef, size(M)))

test/test_muladd.jl

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,7 @@ Random.seed!(0)
519519
@test ArrayLayouts.rmul!(copy(A),UpperTriangular(B)) == A*UpperTriangular(B)
520520
end
521521

522-
@testset "Diagonal and SymTridiagonal" begin
522+
@testset "Diagonal" begin
523523
A = randn(5,5)
524524
B = Diagonal(randn(5))
525525
@test MemoryLayout(B) == DiagonalLayout{DenseColumnMajor}()
@@ -547,6 +547,13 @@ Random.seed!(0)
547547
@test @inferred(mul(LowerTriangular(A), UpperTriangular(B))) isa Matrix
548548
@test @inferred(mul(UnitUpperTriangular(A), LowerTriangular(B))) isa Matrix
549549
end
550+
551+
@testset "diag * tri" begin
552+
D = Diagonal(randn(5))
553+
U = UpperTriangular(randn(5,5))
554+
@test mul(D,U) == D*U
555+
@test mul(U,D) == U*D
556+
end
550557
end
551558

552559
@testset "MulAdd" begin

0 commit comments

Comments
 (0)