Skip to content

Commit 6e65adb

Browse files
authored
Accept Number orders (#154)
1 parent 58dee7f commit 6e65adb

File tree

5 files changed

+16
-8
lines changed

5 files changed

+16
-8
lines changed

Project.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "ApproxFunOrthogonalPolynomials"
22
uuid = "b70543e2-c0d9-56b8-a290-0d4d6d4de211"
3-
version = "0.5.17"
3+
version = "0.5.18"
44

55
[deps]
66
ApproxFunBase = "fbd15aa5-315a-5a7d-a8a4-24992e37be05"

src/Spaces/Chebyshev/ChebyshevOperators.jl

+3-1
Original file line numberDiff line numberDiff line change
@@ -214,8 +214,10 @@ end
214214

215215
## Derivative
216216

217-
Derivative(sp::Chebyshev{DD},order::Integer) where {DD<:IntervalOrSegment} =
217+
function Derivative(sp::Chebyshev{DD},order::Number) where {DD<:IntervalOrSegment}
218+
@assert Integer(order) == order "order must be an integer"
218219
ConcreteDerivative(sp,order)
220+
end
219221

220222

221223
rangespace(D::ConcreteDerivative{Chebyshev{DD,RR}}) where {DD<:IntervalOrSegment,RR} =

src/Spaces/Hermite/Hermite.jl

+3-2
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,9 @@ Fun(::typeof(identity), sp::GaussWeight) = Fun(identity, sp.space)
8787

8888
spacescompatible(a::GaussWeight,b::GaussWeight)=spacescompatible(a.space,b.space)&&isapprox(a.L,b.L)
8989

90-
function Derivative(sp::GaussWeight,k::Integer)
91-
if k == 1
90+
function Derivative(sp::GaussWeight,k::Number)
91+
@assert Integer(k) == k "order must be an integer"
92+
if k == 1
9293
x = Multiplication(Fun(identity,sp.space),sp.space)
9394
D = Derivative(sp.space)
9495
D2 = D - (2sp.L)x

src/Spaces/Jacobi/JacobiOperators.jl

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
## Derivative
22

3-
function Derivative(J::Jacobi,k::Integer)
3+
function Derivative(J::Jacobi,k::Number)
4+
@assert Integer(k) == k "order must be an integer"
45
k==1 ? ConcreteDerivative(J,1) :
56
DerivativeWrapper(
67
TimesOperator(
@@ -33,7 +34,8 @@ Evaluation(S::NormalizedPolynomialSpace{<:Jacobi},x::Number,o::Integer) = Concre
3334

3435
## Integral
3536

36-
function Integral(J::Jacobi,k::Integer)
37+
function Integral(J::Jacobi,k::Number)
38+
@assert Integer(k) == k "order must be an integer"
3739
if k > 1
3840
Q=Integral(J,1)
3941
IntegralWrapper(TimesOperator(Integral(rangespace(Q),k-1),Q),J,k)

src/Spaces/Ultraspherical/UltrasphericalOperators.jl

+5-2
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,12 @@ end
5454
#Derivative(d::IntervalOrSegment)=Derivative(1,d)
5555

5656

57-
Derivative(sp::Ultraspherical{LT,DD},m::Integer) where {LT,DD<:IntervalOrSegment} =
57+
function Derivative(sp::Ultraspherical{LT,DD}, m::Number) where {LT,DD<:IntervalOrSegment}
58+
@assert Integer(m) == m "order must be an integer"
5859
ConcreteDerivative(sp,m)
59-
function Integral(sp::Ultraspherical{LT,DD},m::Integer) where {LT,DD<:IntervalOrSegment}
60+
end
61+
function Integral(sp::Ultraspherical{LT,DD}, m::Number) where {LT,DD<:IntervalOrSegment}
62+
@assert Integer(m) == m "order must be an integer"
6063
λ = order(sp)
6164
if m λ
6265
ConcreteIntegral(sp,m)

0 commit comments

Comments
 (0)