From c7362013cfd120fde0e3743a7d64534cb8db00b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Legat?= Date: Sat, 14 Jun 2025 23:03:40 +0200 Subject: [PATCH] Implement copy for bases --- src/bases_dirac.jl | 2 ++ src/bases_fixed.jl | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/bases_dirac.jl b/src/bases_dirac.jl index 75d79189..48a917ff 100644 --- a/src/bases_dirac.jl +++ b/src/bases_dirac.jl @@ -101,6 +101,8 @@ function MappedBasis(itr, map, inverse_map) return MappedBasis{typeof(map(first(itr)))}(itr, map, inverse_map) end +Base.copy(b::MappedBasis) = b + object(db::MappedBasis) = db.object function Base.IteratorSize(::Type{<:MappedBasis{T,I,S}}) where {T,I,S} diff --git a/src/bases_fixed.jl b/src/bases_fixed.jl index 52732795..1ac67ffc 100644 --- a/src/bases_fixed.jl +++ b/src/bases_fixed.jl @@ -106,6 +106,8 @@ struct SubBasis{T,I,K,B<:AbstractBasis{T,K},V<:AbstractVector{K}} <: end end +Base.copy(b::SubBasis) = SubBasis(copy(parent(b)), copy(b.keys)) + Base.parent(sub::SubBasis) = sub.parent_basis Base.length(b::SubBasis) = length(b.keys)