Skip to content

Commit 3f9866b

Browse files
committed
Remove clenshaw macro, fix namespace issues in macro
1 parent eb05ce1 commit 3f9866b

File tree

2 files changed

+16
-30
lines changed

2 files changed

+16
-30
lines changed

src/LinearAlgebra/clenshaw.jl

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export clenshaw, @clenshaw
1+
export clenshaw
22

33

44
##
@@ -27,20 +27,6 @@ function ClenshawPlan(::Type{T},sp,N::Int,n::Int) where T
2727
ClenshawPlan(sp,Array{T}(undef,n),Array{T}(undef,n),Array{T}(undef,n),A,B,C)
2828
end
2929

30-
macro clenshaw(x, c...)
31-
a, b = :(zero(t)), :(zero(t))
32-
as = []
33-
N = length(c)
34-
for k = N:-1:2
35-
ak = Symbol("a",k)
36-
push!(as, :($ak = $a))
37-
a = :(muladd(t,$a,$(esc(c[k]))-$b))
38-
b = :($ak)
39-
end
40-
ex = Expr(:block,as...,:(muladd(t/2,$a,$(esc(c[1]))-$b)))
41-
Expr(:block, :(t = $(esc(2))*$(esc(x))), ex)
42-
end
43-
4430
clenshaw(x,c) = clenshaw_halved(2*x, c)
4531

4632
@generated function clenshaw_halved(x, c::StaticArrays.SVector{N,R}) where {N, R}

src/Operators/Operator.jl

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -515,40 +515,40 @@ macro wrappergetindex(Wrap)
515515
ds = domainspace(A)
516516
rs = rangespace(A)
517517
KR,JR = parentindices(S)
518-
BandedMatrix(view(A,
519-
blockstart(rs,first(KR)):blockstop(rs,last(KR)),
520-
blockstart(ds,first(JR)):blockstop(ds,last(JR))))
518+
ApproxFunBase.BandedMatrix(view(A,
519+
ApproxFunBase.blockstart(rs,first(KR)):ApproxFunBase.blockstop(rs,last(KR)),
520+
ApproxFunBase.blockstart(ds,first(JR)):ApproxFunBase.blockstop(ds,last(JR))))
521521
end
522522

523523

524524
# if the spaces change, then we need to be smarter
525525
function ApproxFunBase.BlockBandedMatrix(S::ApproxFunBase.SubOperator{T,OP}) where {T,OP<:$Wrap}
526526
P = parent(S)
527-
if blocklengths(domainspace(P)) === blocklengths(domainspace(P.op)) &&
528-
blocklengths(rangespace(P)) === blocklengths(rangespace(P.op))
529-
BlockBandedMatrix(view(parent(S).op,S.indexes[1],S.indexes[2]))
527+
if ApproxFunBase.blocklengths(domainspace(P)) === ApproxFunBase.blocklengths(domainspace(P.op)) &&
528+
ApproxFunBase.blocklengths(rangespace(P)) === ApproxFunBase.blocklengths(rangespace(P.op))
529+
ApproxFunBase.BlockBandedMatrix(view(parent(S).op,S.indexes[1],S.indexes[2]))
530530
else
531-
default_BlockBandedMatrix(S)
531+
ApproxFunBase.default_BlockBandedMatrix(S)
532532
end
533533
end
534534

535535
function ApproxFunBase.PseudoBlockMatrix(S::ApproxFunBase.SubOperator{T,OP}) where {T,OP<:$Wrap}
536536
P = parent(S)
537-
if blocklengths(domainspace(P)) === blocklengths(domainspace(P.op)) &&
538-
blocklengths(rangespace(P)) === blocklengths(rangespace(P.op))
539-
PseudoBlockMatrix(view(parent(S).op,S.indexes[1],S.indexes[2]))
537+
if ApproxFunBase.blocklengths(domainspace(P)) === ApproxFunBase.blocklengths(domainspace(P.op)) &&
538+
ApproxFunBase.blocklengths(rangespace(P)) === ApproxFunBase.blocklengths(rangespace(P.op))
539+
ApproxFunBase.PseudoBlockMatrix(view(parent(S).op,S.indexes[1],S.indexes[2]))
540540
else
541-
default_blockmatrix(S)
541+
ApproxFunBase.default_blockmatrix(S)
542542
end
543543
end
544544

545545
function ApproxFunBase.BandedBlockBandedMatrix(S::ApproxFunBase.SubOperator{T,OP}) where {T,OP<:$Wrap}
546546
P = parent(S)
547-
if blocklengths(domainspace(P)) === blocklengths(domainspace(P.op)) &&
548-
blocklengths(rangespace(P)) === blocklengths(rangespace(P.op))
549-
BandedBlockBandedMatrix(view(parent(S).op,S.indexes[1],S.indexes[2]))
547+
if ApproxFunBase.blocklengths(domainspace(P)) === ApproxFunBase.blocklengths(domainspace(P.op)) &&
548+
ApproxFunBase.blocklengths(rangespace(P)) === ApproxFunBase.blocklengths(rangespace(P.op))
549+
ApproxFunBase.BandedBlockBandedMatrix(view(parent(S).op,S.indexes[1],S.indexes[2]))
550550
else
551-
default_BandedBlockBandedMatrix(S)
551+
ApproxFunBase.default_BandedBlockBandedMatrix(S)
552552
end
553553
end
554554

0 commit comments

Comments
 (0)