From df35de3f30e46f1572488d7e3d34157955861a53 Mon Sep 17 00:00:00 2001 From: Sheehan Olver Date: Tue, 23 Jul 2024 15:07:54 +0100 Subject: [PATCH 1/3] Overload copy for DiagTrav (#129) --- Project.toml | 2 +- src/blockkron.jl | 2 ++ test/test_blockkron.jl | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index c3c059d..3adaa6c 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "LazyBandedMatrices" uuid = "d7e5e226-e90b-4449-9968-0f923699bf6f" authors = ["Sheehan Olver "] -version = "0.10.1" +version = "0.10.2" [deps] ArrayLayouts = "4c555306-a7a7-4459-81d9-ec55ddd5c99a" diff --git a/src/blockkron.jl b/src/blockkron.jl index 6872366..71f83b8 100644 --- a/src/blockkron.jl +++ b/src/blockkron.jl @@ -33,6 +33,8 @@ end axes(A::DiagTrav) = (_krontrav_axes(axes(A.array)...),) +copy(A::DiagTrav) = DiagTrav(copy(A.array)) + struct DiagTravLayout{Lay} <: AbstractBlockLayout end MemoryLayout(::Type{<:DiagTrav{T, N, AA}}) where {T,N,AA} = DiagTravLayout{typeof(MemoryLayout(AA))}() diff --git a/test/test_blockkron.jl b/test/test_blockkron.jl index 8d281f5..179a9e0 100644 --- a/test/test_blockkron.jl +++ b/test/test_blockkron.jl @@ -26,6 +26,7 @@ LinearAlgebra.factorize(A::MyLazyArray) = factorize(A.data) @test DiagTrav(A) == Vector(DiagTrav(A)) == [1, 4, 2, 7, 5, 3] @test resize!(DiagTrav(A), Block(2)) == [1, 4,2] @test maximum(abs, DiagTrav(A)) == 7 + @test copy(DiagTrav(A)) == DiagTrav(A) A = [1 2 3; 4 5 6] @test DiagTrav(A) == [1, 4, 2, 5, 3] From a29898f0076fc1133f353211904d9c73f3e8db47 Mon Sep 17 00:00:00 2001 From: Daniel VandenHeuvel <95613936+DanielVandH@users.noreply.github.com> Date: Tue, 23 Jul 2024 15:19:09 +0100 Subject: [PATCH 2/3] Missing consts (#128) --- src/LazyBandedMatrices.jl | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/LazyBandedMatrices.jl b/src/LazyBandedMatrices.jl index ed62d14..265bfb1 100644 --- a/src/LazyBandedMatrices.jl +++ b/src/LazyBandedMatrices.jl @@ -22,19 +22,19 @@ import BlockBandedMatrices: AbstractBlockBandedLayout, AbstractBandedBlockBanded BlockBandedStyle, BandedBlockBandedStyle, isblockbanded, isbandedblockbanded import BlockArrays: BlockSlices, BlockSlice1, BlockSlice, blockvec, AbstractBlockLayout, blockcolsupport, blockrowsupport, BlockLayout, block, blockindex, viewblock, AbstractBlockedUnitRange -LazyArraysBandedMatricesExt = Base.get_extension(LazyArrays, :LazyArraysBandedMatricesExt) -LazyArraysBlockBandedMatricesExt = Base.get_extension(LazyArrays, :LazyArraysBlockBandedMatricesExt) - -BroadcastBandedLayout = LazyArraysBandedMatricesExt.BroadcastBandedLayout -AbstractLazyBandedLayout = LazyArraysBandedMatricesExt.AbstractLazyBandedLayout -ApplyBandedLayout = LazyArraysBandedMatricesExt.ApplyBandedLayout -LazyBandedLayout = LazyArraysBandedMatricesExt.LazyBandedLayout -AbstractLazyBlockBandedLayout = LazyArraysBlockBandedMatricesExt.AbstractLazyBlockBandedLayout -BroadcastBandedBlockBandedLayout = LazyArraysBlockBandedMatricesExt.BroadcastBandedBlockBandedLayout -ApplyBlockBandedLayout = LazyArraysBlockBandedMatricesExt.ApplyBlockBandedLayout -LazyBandedBlockBandedLayout = LazyArraysBlockBandedMatricesExt.LazyBandedBlockBandedLayout -AbstractLazyBandedBlockBandedLayout = LazyArraysBlockBandedMatricesExt.AbstractLazyBandedBlockBandedLayout -ApplyBandedBlockBandedLayout = LazyArraysBlockBandedMatricesExt.ApplyBandedBlockBandedLayout +const LazyArraysBandedMatricesExt = Base.get_extension(LazyArrays, :LazyArraysBandedMatricesExt) +const LazyArraysBlockBandedMatricesExt = Base.get_extension(LazyArrays, :LazyArraysBlockBandedMatricesExt) + +const BroadcastBandedLayout = LazyArraysBandedMatricesExt.BroadcastBandedLayout +const AbstractLazyBandedLayout = LazyArraysBandedMatricesExt.AbstractLazyBandedLayout +const ApplyBandedLayout = LazyArraysBandedMatricesExt.ApplyBandedLayout +const LazyBandedLayout = LazyArraysBandedMatricesExt.LazyBandedLayout +const AbstractLazyBlockBandedLayout = LazyArraysBlockBandedMatricesExt.AbstractLazyBlockBandedLayout +const BroadcastBandedBlockBandedLayout = LazyArraysBlockBandedMatricesExt.BroadcastBandedBlockBandedLayout +const ApplyBlockBandedLayout = LazyArraysBlockBandedMatricesExt.ApplyBlockBandedLayout +const LazyBandedBlockBandedLayout = LazyArraysBlockBandedMatricesExt.LazyBandedBlockBandedLayout +const AbstractLazyBandedBlockBandedLayout = LazyArraysBlockBandedMatricesExt.AbstractLazyBandedBlockBandedLayout +const ApplyBandedBlockBandedLayout = LazyArraysBlockBandedMatricesExt.ApplyBandedBlockBandedLayout From 0520abd2c155f14ada1756eece5deaf3da74eeb6 Mon Sep 17 00:00:00 2001 From: Sheehan Olver Date: Tue, 23 Jul 2024 15:20:30 +0100 Subject: [PATCH 3/3] Overload copy for DiagTrav (#130)