Skip to content

Commit aabc765

Browse files
authored
explicit vector in ContinuousSpace integration (#204)
* explicit vector in ContinuousSpace integration * fix typo * add components inference test * limit inference test to recent Julia versions
1 parent dfa4e91 commit aabc765

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

src/ApproxFunOrthogonalPolynomials.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,9 @@ bary(v::AbstractVector{Float64},d::IntervalOrSegmentDomain,x::Float64) = bary(v,
8787

8888
strictconvert(T::Type, x) = convert(T, x)::T
8989

90+
convert_vector(v::AbstractVector) = convert(Vector, v)
91+
convert_vector(t::Tuple) = [t...]
92+
9093
include("bary.jl")
9194

9295

src/Spaces/Ultraspherical/ContinuousSpace.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ function *(P::TransformPlan{T,<:ContinuousSpace,false},vals::AbstractVector{T})
9494
end
9595
end
9696

97-
components(S::ContinuousSpace) = map(ChebyshevDirichlet{1,1}, components(domain(S)))
97+
components(S::ContinuousSpace) = [ChebyshevDirichlet{1,1}(s) for s in components(domain(S))]
9898
canonicalspace(S::ContinuousSpace) = PiecewiseSpace(components(S))
9999
convert(::Type{PiecewiseSpace}, S::ContinuousSpace) = canonicalspace(S)
100100

@@ -429,7 +429,7 @@ function union_rule(A::ContinuousSpace{<:Real}, B::ContinuousSpace{<:Real})
429429
end
430430

431431
function integrate(f::Fun{<:ContinuousSpace})
432-
cs = cumsum.(components(f))
432+
cs = [cumsum(x) for x in components(f)]
433433
for k=1:length(cs)-1
434434
cs[k+1] += last(cs[k])
435435
end

test/SpacesTest.jl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,11 @@ using ApproxFunBaseTest: testbandedoperator, testraggedbelowoperator,
128128
@test conversion_type(s,cs) == s
129129

130130
@test Fun(exp,d)(.1) exp(.1)
131+
132+
if VERSION >= v"1.8"
133+
f = abs(Fun(sin,-5..5))
134+
@inferred components(space(f))
135+
end
131136
end
132137

133138
@testset "Jacobi recurrence bug" begin

0 commit comments

Comments
 (0)