Skip to content

Commit cba262e

Browse files
authored
Concrete namespaces in macros (#465)
* Concrete namespaces in macros * bump version to v0.8.26
1 parent 3e26737 commit cba262e

File tree

3 files changed

+25
-25
lines changed

3 files changed

+25
-25
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "ApproxFunBase"
22
uuid = "fbd15aa5-315a-5a7d-a8a4-24992e37be05"
3-
version = "0.8.25"
3+
version = "0.8.26"
44

55
[deps]
66
AbstractFFTs = "621f4979-c628-5d54-868e-fcf4e3e8185c"

src/Operators/Operator.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -539,7 +539,7 @@ end
539539
#
540540
macro wrappergetindex(Wrap, forwardsize = true)
541541
v = map((:(ApproxFunBase.BandedMatrix),:(ApproxFunBase.RaggedMatrix),
542-
:Matrix,:Vector,:AbstractVector)) do TYP
542+
:(Base.Matrix),:(Base.Vector),:(Base.AbstractVector))) do TYP
543543
quote
544544
$TYP(P::ApproxFunBase.SubOperator{T,OP}) where {T,OP<:$Wrap} =
545545
$TYP(view(parent(P).op,P.indexes[1],P.indexes[2]))
@@ -560,7 +560,7 @@ macro wrappergetindex(Wrap, forwardsize = true)
560560
Base.getindex(OP::$Wrap,k::Colon, j::ApproxFunBase.InfRanges) = view(OP, k, j)
561561
Base.getindex(OP::$Wrap,k::Colon, j::Colon) = view(OP, k, j)
562562

563-
axpy!(α,P::ApproxFunBase.SubOperator{T,OP},A::AbstractMatrix) where {T,OP<:$Wrap} =
563+
LinearAlgebra.axpy!(α,P::ApproxFunBase.SubOperator{T,OP},A::AbstractMatrix) where {T,OP<:$Wrap} =
564564
ApproxFunBase.unwrap_axpy!(α,P,A)
565565

566566
ApproxFunBase.mul_coefficients(A::$Wrap,b) = ApproxFunBase.mul_coefficients(A.op,b)
@@ -569,7 +569,7 @@ macro wrappergetindex(Wrap, forwardsize = true)
569569
ApproxFunBase.mul_coefficients(A::ApproxFunBase.SubOperator{T,OP},b) where {T,OP<:$Wrap} =
570570
ApproxFunBase.mul_coefficients(view(parent(A).op,S.indexes[1],S.indexes[2]),b)
571571

572-
isdiag(W::$Wrap) = isdiag(W.op)
572+
LinearAlgebra.isdiag(W::$Wrap) = isdiag(W.op)
573573

574574
# fast converts to banded matrices would be based on indices, not blocks
575575
function ApproxFunBase.BandedMatrix(S::ApproxFunBase.SubOperator{T,OP,NTuple{2,ApproxFunBase.BlockRange1}}) where {T,OP<:$Wrap}

src/Operators/banded/CalculusOperator.jl

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -30,71 +30,71 @@ macro calculus_operator(Op)
3030
ApproxFunBase.rangespace(A::$WrappOp) = A.rangespace
3131

3232
## Constructors
33-
$ConcOp(sp::Space,k) = $ConcOp{typeof(sp),typeof(k),ApproxFunBase.prectype(sp)}(sp,k)
33+
$ConcOp(sp::ApproxFunBase.Space,k) = $ConcOp{typeof(sp),typeof(k),ApproxFunBase.prectype(sp)}(sp,k)
3434

3535
$Op(sp::ApproxFunBase.UnsetSpace,k) = $ConcOp(sp,k)
3636
$Op(sp::ApproxFunBase.UnsetSpace,k::Number) = $ConcOp(sp,k)
3737
$Op(sp::ApproxFunBase.UnsetSpace,k::Real) = $ConcOp(sp,k)
3838
$Op(sp::ApproxFunBase.UnsetSpace,k::Integer) = $ConcOp(sp,k)
3939

40-
function $DefaultOp(sp::Space, k)
40+
function $DefaultOp(sp::ApproxFunBase.Space, k)
4141
csp=ApproxFunBase.canonicalspace(sp)
4242
if ApproxFunBase.conversion_type(csp,sp)==csp # Conversion(sp,csp) is not banded, or sp==csp
4343
error("Implement $(string($Op))($(string(sp)),$k)")
4444
end
4545
O = $Op(csp,k)
46-
C = Conversion_maybeconcrete(sp, csp, Val(:forward))
46+
C = ApproxFunBase.Conversion_maybeconcrete(sp, csp, Val(:forward))
4747
Top = ApproxFunBase.TimesOperator([O,C])
48-
$WrappOp(Top, sp, k, rangespace(O))
48+
$WrappOp(Top, sp, k, ApproxFunBase.rangespace(O))
4949
end
5050

51-
$DefaultOp(d,k) = $Op(Space(d),k)
51+
$DefaultOp(d,k) = $Op(ApproxFunBase.Space(d),k)
5252

5353
$DefaultOp(sp) = $Op(sp,1)
54-
$DefaultOp() = $Op(UnsetSpace())
55-
$DefaultOp(k::Number) = $Op(UnsetSpace(),k)
56-
$DefaultOp(k::Vector) = $Op(UnsetSpace(),k)
54+
$DefaultOp() = $Op(ApproxFunBase.UnsetSpace())
55+
$DefaultOp(k::Number) = $Op(ApproxFunBase.UnsetSpace(),k)
56+
$DefaultOp(k::AbstractVector) = $Op(ApproxFunBase.UnsetSpace(),k)
5757

5858
$Op(x...) = $DefaultOp(x...)
59-
$ConcOp(S::Space) = $ConcOp(S,1)
59+
$ConcOp(S::ApproxFunBase.Space) = $ConcOp(S,1)
6060

61-
function Base.convert(::Type{Operator{T}},D::$ConcOp) where T
61+
function Base.convert(::Type{ApproxFunBase.Operator{T}},D::$ConcOp) where T
6262
if T==eltype(D)
6363
D
6464
else
6565
$ConcOp{typeof(D.space),typeof(D.order),T}(D.space, D.order)
6666
end
6767
end
6868

69-
$WrappOp(op::Operator, order = 1, d = domainspace(op), r = rangespace(op)) =
69+
$WrappOp(op::ApproxFunBase.Operator, order = 1, d = domainspace(op), r = rangespace(op)) =
7070
$WrappOp{typeof(op),typeof(d),typeof(r),typeof(order),eltype(op)}(op,order,d,r)
7171

72-
function Base.convert(::Type{Operator{T}},D::$WrappOp) where T
72+
function Base.convert(::Type{ApproxFunBase.Operator{T}},D::$WrappOp) where T
7373
if T==eltype(D)
7474
D
7575
else
76-
op=ApproxFunBase.strictconvert(Operator{T},D.op)
77-
S = domainspace(D)
78-
R = rangespace(D)
79-
$WrappOp(op,D.order,S,R)::Operator{T}
76+
op=ApproxFunBase.strictconvert(ApproxFunBase.Operator{T},D.op)
77+
S = ApproxFunBase.domainspace(D)
78+
R = ApproxFunBase.rangespace(D)
79+
$WrappOp(op,D.order,S,R)::ApproxFunBase.Operator{T}
8080
end
8181
end
8282

8383
## Routines
8484
ApproxFunBase.domainspace(D::$ConcOp) = D.space
8585

86-
Base.getindex(::$ConcOp{UnsetSpace,OT,T},k::Integer,j::Integer) where {OT,T} =
86+
Base.getindex(::$ConcOp{ApproxFunBase.UnsetSpace,OT,T},k::Integer,j::Integer) where {OT,T} =
8787
error("Spaces cannot be inferred for operator")
8888

89-
ApproxFunBase.rangespace(D::$ConcOp{UnsetSpace,T}) where {T} = UnsetSpace()
89+
ApproxFunBase.rangespace(D::$ConcOp{ApproxFunBase.UnsetSpace,T}) where {T} = UnsetSpace()
9090

9191
#promoting domain space is allowed to change range space
9292
# for integration, we fall back on existing conversion for now
93-
ApproxFunBase.promotedomainspace(D::$Op,sp::UnsetSpace) = D
93+
ApproxFunBase.promotedomainspace(D::$Op, sp::ApproxFunBase.UnsetSpace) = D
9494

9595

96-
function ApproxFunBase.promotedomainspace(D::$Op,sp::Space)
97-
if isambiguous(domain(sp))
96+
function ApproxFunBase.promotedomainspace(D::$Op, sp::ApproxFunBase.Space)
97+
if ApproxFunBase.isambiguous(domain(sp))
9898
$Op(typeof(sp)(domain(D)),D.order)
9999
else
100100
$Op(sp,D.order)

0 commit comments

Comments
 (0)