From 2723bb0b541b6684bcf7b7ceee7eb3ecf4351bbf Mon Sep 17 00:00:00 2001 From: Miha Zgubic Date: Mon, 20 Jun 2022 14:37:07 +0200 Subject: [PATCH] implement Base.copy --- Project.toml | 2 +- src/blockdiagonal.jl | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index b52abba..79f4dd8 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "BlockDiagonals" uuid = "0a1fb500-61f7-11e9-3c65-f5ef3456f9f0" authors = ["Invenia Technical Computing Corporation"] -version = "0.1.30" +version = "0.1.31" [deps] ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" diff --git a/src/blockdiagonal.jl b/src/blockdiagonal.jl index 27c352f..284a930 100644 --- a/src/blockdiagonal.jl +++ b/src/blockdiagonal.jl @@ -161,6 +161,10 @@ function _block_indices(B::BlockDiagonal, i::Integer, j::Integer) return p, i, j end +function Base.copy(b::BlockDiagonal) + return BlockDiagonal(copy.(blocks(b))) +end + function Base.copy!(dest::BlockDiagonal, src::BlockDiagonal) isequal_blocksizes(dest, src) || throw(DimensionMismatch("dest and src have different block sizes")) for i in eachindex(blocks(dest))