Skip to content

Commit 11df9e6

Browse files
authored
require one-based indexing in diff convenience methods (#85)
1 parent 90dede8 commit 11df9e6

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/utils.jl

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# diff from CosSpace -> SinSpace
22

33
function cosspacediff(v::AbstractVector{T}) where T<:Number
4+
Base.require_one_based_indexing(v)
45
if length(v)==1
56
w = zeros(T,1)
67
else
@@ -16,6 +17,7 @@ end
1617
# diff from SinSpace -> CosSpace
1718

1819
function sinspacediff(v::AbstractVector{T}) where T<:Number
20+
Base.require_one_based_indexing(v)
1921
w = Array{T}(undef, length(v)+1)
2022
w[1] = zero(T)
2123
for k=1:length(v)
@@ -28,6 +30,7 @@ end
2830
# diff from Fourier -> Fourier
2931

3032
function fourierdiff(v::AbstractVector{T}) where T<:Number
33+
Base.require_one_based_indexing(v)
3134
n = 2(length(v)÷2)+1
3235
w = Array{T}(undef, n)
3336
w[1] = zero(T)
@@ -44,8 +47,9 @@ end
4447
# diff from Taylor -> Taylor
4548

4649
function taylor_diff(v::AbstractVector{T}) where T<:Number
50+
Base.require_one_based_indexing(v)
4751
w = Array{T}(undef, length(v))
48-
for k=1:length(v)
52+
for k in eachindex(v, w)
4953
@inbounds w[k] = (k-1)*v[k]
5054
end
5155

@@ -55,8 +59,9 @@ end
5559
# diff from Hardy{false} -> Hardy{false}
5660

5761
function hardyfalse_diff(v::AbstractVector{T}) where T<:Number
62+
Base.require_one_based_indexing(v)
5863
w = Array{T}(undef, length(v))
59-
for k=1:length(v)
64+
for k in eachindex(v, w)
6065
@inbounds w[k] = -k*v[k]
6166
end
6267

@@ -66,10 +71,10 @@ end
6671
# diff from Laurent -> Laurent
6772

6873
function laurentdiff(v::AbstractVector{T}) where T<:Number
74+
Base.require_one_based_indexing(v)
6975
n = length(v)
7076
w = Array{T}(undef, n)
7177
w[1] = zero(T)
72-
n=length(v)
7378

7479
for k=1:(isodd(n) ? n÷2 : n÷2-1)
7580
@inbounds w[2k] = -k*v[2k]

0 commit comments

Comments
 (0)