From 968c993d8efda030fe19f3845e17df2bd208515e Mon Sep 17 00:00:00 2001 From: Sheehan Olver Date: Thu, 27 Apr 2023 14:19:32 +0100 Subject: [PATCH] == for PiecewisePolynomial --- src/PiecewiseOrthogonalPolynomials.jl | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/PiecewiseOrthogonalPolynomials.jl b/src/PiecewiseOrthogonalPolynomials.jl index 7004a36..8734534 100644 --- a/src/PiecewiseOrthogonalPolynomials.jl +++ b/src/PiecewiseOrthogonalPolynomials.jl @@ -29,6 +29,13 @@ PiecewisePolynomial(basis::AbstractQuasiMatrix{T}, points::AbstractVector) where axes(B::PiecewisePolynomial) = (Inclusion(first(B.points) .. last(B.points)), blockedrange(Fill(length(B.points) - 1, ∞))) ==(P::PiecewisePolynomial, Q::PiecewisePolynomial) = P.basis == Q.basis && P.points == Q.points +function ==(P::PiecewisePolynomial, Q::AbstractQuasiMatrix) + P.basis == Q || return false + x = axes(Q,1) + P.points == [first(x), last(x)] +end + +==(Q::AbstractQuasiMatrix, P::PiecewisePolynomial) = P == Q function repeatgrid(ax, g, pts) ret = Matrix{eltype(g)}(undef, length(g), length(pts) - 1) @@ -98,8 +105,9 @@ axes(B::ContinuousPolynomial{0}) = axes(PiecewisePolynomial(B)) axes(B::ContinuousPolynomial{1}) = (Inclusion(first(B.points) .. last(B.points)), blockedrange(Vcat(length(B.points), Fill(length(B.points) - 1, ∞)))) -==(P::PiecewisePolynomial, C::ContinuousPolynomial{0}) = P == PiecewisePolynomial(C) -==(C::ContinuousPolynomial{0}, P::PiecewisePolynomial) = PiecewisePolynomial(C) == P +==(A::ContinuousPolynomial{0}, B::ContinuousPolynomial{0}) = A.points == B.points +==(P::AbstractQuasiMatrix, C::ContinuousPolynomial{0}) = P == PiecewisePolynomial(C) +==(C::ContinuousPolynomial{0}, P::AbstractQuasiMatrix) = PiecewisePolynomial(C) == P ==(::PiecewisePolynomial, ::ContinuousPolynomial{1}) = false ==(::ContinuousPolynomial{1}, ::PiecewisePolynomial) = false ==(A::ContinuousPolynomial{o}, B::ContinuousPolynomial{o}) where o = A.points == B.points