Skip to content

Commit d727379

Browse files
authored
Fix Bernstein Fun (#268)
* Speed up ChebyshevDirichlet leftendpoint indexing * fix Bernstein Fun
1 parent 2ad9378 commit d727379

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

src/Spaces/CurveSpace.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,10 @@ spacescompatible(a::Bernstein{O,T},b::Bernstein{O,T}) where {O,T}=domainscompati
4444

4545
setdomain(S::Bernstein{O},d::Domain) where {O}=Bernstein{O}(d)
4646

47-
Fun(::typeof(identity), B::Bernstein{order,T}) where {order,T} =
47+
function Fun(::typeof(identity), B::Bernstein{order,D}) where {order,D}
48+
T = eltype(domain(B))
4849
Fun(B,collect(-one(T):2one(T)/order:one(T)))
50+
end
4951

5052
evaluate(f::AbstractVector,S::Bernstein,z) = decasteljau(f,S,tocanonical(S,z))
5153

test/SpacesTest.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ using ApproxFunBaseTest: testbandedoperator, testraggedbelowoperator,
3636

3737
@test norm(([B;L]\[[1.,0],0])-([Dirichlet(d);L]\[[1.,0],0])) <10eps()
3838
end
39+
@testset "Bernstein" begin
40+
f = Fun(Bernstein{1}())
41+
@test Fun(f, Chebyshev()) == Fun(Chebyshev())
42+
end
3943

4044
@testset "PiecewiseSpace" begin
4145
x = Fun(identity,UnionDomain(-1..0, 0..1))

0 commit comments

Comments
 (0)