From ff50b2c46d95e3c50b63fdcc95ccc2dada8b3224 Mon Sep 17 00:00:00 2001 From: Sheehan Olver Date: Tue, 22 Mar 2022 07:10:38 +0000 Subject: [PATCH] Fix ambiguity in mul! for Diagonal (#92) * Fix ambiguity in mul! for Diagonal * Update test_layoutarray.jl --- Project.toml | 2 +- src/mul.jl | 4 ++++ test/test_layoutarray.jl | 3 +++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 9848597..b108cb9 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "ArrayLayouts" uuid = "4c555306-a7a7-4459-81d9-ec55ddd5c99a" authors = ["Sheehan Olver "] -version = "0.8.2" +version = "0.8.3" [deps] FillArrays = "1a297f60-69ca-5386-bcde-b61e274b549b" diff --git a/src/mul.jl b/src/mul.jl index f781267..d421a17 100644 --- a/src/mul.jl +++ b/src/mul.jl @@ -176,6 +176,10 @@ macro layoutmul(Typ) ArrayLayouts.mul!(dest,A,B,α,β) LinearAlgebra.mul!(dest::AbstractMatrix, A::AbstractMatrix, B::$Typ, α::Number, β::Number) = ArrayLayouts.mul!(dest,A,B,α,β) + LinearAlgebra.mul!(dest::AbstractMatrix, A::$Typ, B::Diagonal, α::Number, β::Number) = + ArrayLayouts.mul!(dest,A,B,α,β) + LinearAlgebra.mul!(dest::AbstractMatrix, A::Diagonal, B::$Typ, α::Number, β::Number) = + ArrayLayouts.mul!(dest,A,B,α,β) LinearAlgebra.mul!(dest::AbstractMatrix, A::$Typ, B::$Typ, α::Number, β::Number) = ArrayLayouts.mul!(dest,A,B,α,β) diff --git a/test/test_layoutarray.jl b/test/test_layoutarray.jl index 711d2b9..b04eb6d 100644 --- a/test/test_layoutarray.jl +++ b/test/test_layoutarray.jl @@ -139,6 +139,9 @@ MemoryLayout(::Type{MyVector}) = DenseColumnMajor() @test mul!(copy(B), A, Bin, 2, 3) ≈ 2A*Bin + 3B @test mul!(copy(B), A, Bin', 2, 3) ≈ 2A*Bin' + 3B @test mul!(copy(B), Bin', A, 2, 3) ≈ 2Bin'*A + 3B + + @test mul!(copy(B), A, Diagonal(Bin), 2, 3) ≈ 2A*Diagonal(Bin) + 3B + @test mul!(copy(B), Diagonal(Bin), A, 2, 3) ≈ 2Diagonal(Bin)*A + 3B end @testset "generic_blasmul!" begin