@@ -49,15 +49,15 @@ function renew!(x::Array{BigFloat})
49
49
return x
50
50
end
51
51
52
- function horner! (c:: Vector {Float64} , x:: Vector{Float64} , f:: Vector{Float64} )
52
+ function horner! (c:: StridedVector {Float64} , x:: Vector{Float64} , f:: Vector{Float64} )
53
53
@assert length (x) == length (f)
54
- ccall ((:ft_horner , libfasttransforms), Cvoid, (Cint, Ptr{Float64}, Cint, Cint, Ptr{Float64}, Ptr{Float64}), length (c), c, 1 , length (x), x, f)
54
+ ccall ((:ft_horner , libfasttransforms), Cvoid, (Cint, Ptr{Float64}, Cint, Cint, Ptr{Float64}, Ptr{Float64}), length (c), c, stride (c, 1 ) , length (x), x, f)
55
55
f
56
56
end
57
57
58
- function horner! (c:: Vector {Float32} , x:: Vector{Float32} , f:: Vector{Float32} )
58
+ function horner! (c:: StridedVector {Float32} , x:: Vector{Float32} , f:: Vector{Float32} )
59
59
@assert length (x) == length (f)
60
- ccall ((:ft_hornerf , libfasttransforms), Cvoid, (Cint, Ptr{Float32}, Cint, Cint, Ptr{Float32}, Ptr{Float32}), length (c), c, 1 , length (x), x, f)
60
+ ccall ((:ft_hornerf , libfasttransforms), Cvoid, (Cint, Ptr{Float32}, Cint, Cint, Ptr{Float32}, Ptr{Float32}), length (c), c, stride (c, 1 ) , length (x), x, f)
61
61
f
62
62
end
63
63
@@ -75,31 +75,31 @@ function check_clenshaw_points(x, f)
75
75
length (x) == length (f) || throw (ArgumentError (" Dimensions must match" ))
76
76
end
77
77
78
- function _clenshaw! ( :: AbstractStridedLayout , :: AbstractColumnMajor , :: AbstractColumnMajor , c:: AbstractVector {Float64} , x:: AbstractVector {Float64} , f:: AbstractVector {Float64} )
78
+ function clenshaw! ( c:: StridedVector {Float64} , x:: Vector {Float64} , f:: Vector {Float64} )
79
79
@boundscheck check_clenshaw_points (x, f)
80
- ccall ((:ft_clenshaw , libfasttransforms), Cvoid, (Cint, Ptr{Float64}, Cint, Cint, Ptr{Float64}, Ptr{Float64}), length (c), c, stride (c,1 ), length (x), x, f)
80
+ ccall ((:ft_clenshaw , libfasttransforms), Cvoid, (Cint, Ptr{Float64}, Cint, Cint, Ptr{Float64}, Ptr{Float64}), length (c), c, stride (c, 1 ), length (x), x, f)
81
81
f
82
82
end
83
83
84
- function _clenshaw! ( :: AbstractStridedLayout , :: AbstractColumnMajor , :: AbstractColumnMajor , c:: AbstractVector {Float32} , x:: AbstractVector {Float32} , f:: AbstractVector {Float32} )
84
+ function clenshaw! ( c:: StridedVector {Float32} , x:: Vector {Float32} , f:: Vector {Float32} )
85
85
@boundscheck check_clenshaw_points (x, f)
86
- ccall ((:ft_clenshawf , libfasttransforms), Cvoid, (Cint, Ptr{Float32}, Cint, Cint, Ptr{Float32}, Ptr{Float32}), length (c), c, stride (c,1 ), length (x), x, f)
86
+ ccall ((:ft_clenshawf , libfasttransforms), Cvoid, (Cint, Ptr{Float32}, Cint, Cint, Ptr{Float32}, Ptr{Float32}), length (c), c, stride (c, 1 ), length (x), x, f)
87
87
f
88
88
end
89
89
90
- function clenshaw! (c:: Vector {Float64} , A:: Vector{Float64} , B:: Vector{Float64} , C:: Vector{Float64} , x:: Vector{Float64} , ϕ₀:: Vector{Float64} , f:: Vector{Float64} )
90
+ function clenshaw! (c:: StridedVector {Float64} , A:: Vector{Float64} , B:: Vector{Float64} , C:: Vector{Float64} , x:: Vector{Float64} , ϕ₀:: Vector{Float64} , f:: Vector{Float64} )
91
91
N = length (c)
92
92
@boundscheck check_clenshaw_recurrences (N, A, B, C)
93
93
@boundscheck check_clenshaw_points (x, ϕ₀, f)
94
- ccall ((:ft_orthogonal_polynomial_clenshaw , libfasttransforms), Cvoid, (Cint, Ptr{Float64}, Cint, Ptr{Float64}, Ptr{Float64}, Ptr{Float64}, Cint, Ptr{Float64}, Ptr{Float64}, Ptr{Float64}), N, c, 1 , A, B, C, length (x), x, ϕ₀, f)
94
+ ccall ((:ft_orthogonal_polynomial_clenshaw , libfasttransforms), Cvoid, (Cint, Ptr{Float64}, Cint, Ptr{Float64}, Ptr{Float64}, Ptr{Float64}, Cint, Ptr{Float64}, Ptr{Float64}, Ptr{Float64}), N, c, stride (c, 1 ) , A, B, C, length (x), x, ϕ₀, f)
95
95
f
96
96
end
97
97
98
- function clenshaw! (c:: Vector {Float32} , A:: Vector{Float32} , B:: Vector{Float32} , C:: Vector{Float32} , x:: Vector{Float32} , ϕ₀:: Vector{Float32} , f:: Vector{Float32} )
98
+ function clenshaw! (c:: StridedVector {Float32} , A:: Vector{Float32} , B:: Vector{Float32} , C:: Vector{Float32} , x:: Vector{Float32} , ϕ₀:: Vector{Float32} , f:: Vector{Float32} )
99
99
N = length (c)
100
100
@boundscheck check_clenshaw_recurrences (N, A, B, C)
101
101
@boundscheck check_clenshaw_points (x, ϕ₀, f)
102
- ccall ((:ft_orthogonal_polynomial_clenshawf , libfasttransforms), Cvoid, (Cint, Ptr{Float32}, Cint, Ptr{Float32}, Ptr{Float32}, Ptr{Float32}, Cint, Ptr{Float32}, Ptr{Float32}, Ptr{Float32}), N, c, 1 , A, B, C, length (x), x, ϕ₀, f)
102
+ ccall ((:ft_orthogonal_polynomial_clenshawf , libfasttransforms), Cvoid, (Cint, Ptr{Float32}, Cint, Ptr{Float32}, Ptr{Float32}, Ptr{Float32}, Cint, Ptr{Float32}, Ptr{Float32}, Ptr{Float32}), N, c, stride (c, 1 ) , A, B, C, length (x), x, ϕ₀, f)
103
103
f
104
104
end
105
105
0 commit comments