Skip to content

Commit 3d12ca4

Browse files
committed
Change name to TruncationIntersection
1 parent ea0aa6e commit 3d12ca4

2 files changed

Lines changed: 13 additions & 12 deletions

File tree

src/implementations/truncation.jl

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -90,24 +90,25 @@ Truncation strategy to discard the values that are larger than `atol` in absolut
9090
truncabove(atol) = TruncationKeepFiltered((atol) abs)
9191

9292
"""
93-
TruncationComposition(trunc1::TruncationStrategy, trunc2::TruncationStrategy)
93+
TruncationIntersection(trunc1::TruncationStrategy, trunc2::TruncationStrategy)
94+
9495
Compose two truncation strategies, keeping values common between the two strategies.
9596
"""
96-
struct TruncationComposition{T<:Tuple{Vararg{TruncationStrategy}}} <:
97+
struct TruncationIntersection{T<:Tuple{Vararg{TruncationStrategy}}} <:
9798
TruncationStrategy
9899
components::T
99100
end
100101
function Base.:&(trunc1::TruncationStrategy, trunc2::TruncationStrategy)
101-
return TruncationComposition((trunc1, trunc2))
102+
return TruncationIntersection((trunc1, trunc2))
102103
end
103-
function Base.:&(trunc1::TruncationComposition, trunc2::TruncationComposition)
104-
return TruncationComposition((trunc1.components..., trunc2.components...))
104+
function Base.:&(trunc1::TruncationIntersection, trunc2::TruncationIntersection)
105+
return TruncationIntersection((trunc1.components..., trunc2.components...))
105106
end
106-
function Base.:&(trunc1::TruncationComposition, trunc2::TruncationStrategy)
107-
return TruncationComposition((trunc1.components..., trunc2))
107+
function Base.:&(trunc1::TruncationIntersection, trunc2::TruncationStrategy)
108+
return TruncationIntersection((trunc1.components..., trunc2))
108109
end
109-
function Base.:&(trunc1::TruncationStrategy, trunc2::TruncationComposition)
110-
return TruncationComposition((trunc1, trunc2.components...))
110+
function Base.:&(trunc1::TruncationStrategy, trunc2::TruncationIntersection)
111+
return TruncationIntersection((trunc1, trunc2.components...))
111112
end
112113

113114
# truncate!
@@ -175,7 +176,7 @@ function findtruncated(values::AbstractVector, strategy::TruncationKeepAbove)
175176
return 1:i
176177
end
177178

178-
function findtruncated(values::AbstractVector, strategy::TruncationComposition)
179+
function findtruncated(values::AbstractVector, strategy::TruncationIntersection)
179180
inds = map(Base.Fix1(findtruncated, values), strategy.components)
180181
return intersect(inds...)
181182
end

test/truncate.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using MatrixAlgebraKit
22
using Test
33
using TestExtras
4-
using MatrixAlgebraKit: NoTruncation, TruncationComposition, TruncationKeepAbove,
4+
using MatrixAlgebraKit: NoTruncation, TruncationIntersection, TruncationKeepAbove,
55
TruncationStrategy
66

77
@testset "truncate" begin
@@ -22,7 +22,7 @@ using MatrixAlgebraKit: NoTruncation, TruncationComposition, TruncationKeepAbove
2222
@test trunc.rev == true
2323

2424
trunc = @constinferred TruncationStrategy(; atol=1e-2, rtol=1e-3, maxrank=10)
25-
@test trunc isa TruncationComposition
25+
@test trunc isa TruncationIntersection
2626
@test trunc == truncrank(10) & TruncationKeepAbove(1e-2, 1e-3)
2727
@test trunc.components[1] == truncrank(10)
2828
@test trunc.components[2] == TruncationKeepAbove(1e-2, 1e-3)

0 commit comments

Comments
 (0)