function TestRfft1()
# Initialization
println("** Rfft1 **")
seed = 13
n = 5
lwsave::Cint = n + round(Cint, log(n)/log(2)) + 4
wsave = Vector{Cdouble}(undef, lwsave)
if info != 0
println("Error during initialization: info = ", info)
return 1
end
# Generate test data
inc = 1
lr = inc*(n - 1) + 1
r = Vector{Cdouble}(undef, lr)
rcopy = Vector{Cdouble}(undef, lr)
for i = 1:n
k = 1 + inc*(i - 1)
rcopy[k] = r[k]
end
# Forward transform
if info != 0
println("Error in Rfft1f: info = ", info)
return 2
end
# Backward transform
if info != 0
println("Error in Rfft1b: info = ", info)
return 3
end
# Check results
diff = 0.0
for i = 1:n
k = 1 + inc*(i - 1)
if abs(r[k] - rcopy[k]) > diff
diff = abs(r[k] - rcopy[k])
end
println(rcopy[k], " ", r[k], " ", abs(r[k] - rcopy[k]))
end
println("diff(max) = ", diff)
end
function rfft1b(n::Integer, r::Array{Float64}, wsave::Array{Float64}, inc::Integer=1)
One-dimensional real fast Fourier backward transform
function rfft1i(n::Integer, wsave::Array{Float64})
Initialization of work data for rfft1f and rfft1b
function rfft1f(n::Integer, r::Array{Float64}, wsave::Array{Float64}, inc::Integer=1)
One-dimensional real Fourier transform
function genrand_res53()
53 bit real random number in [0, 1) (Mersenne Twister)
function init_genrand(s::Integer)
Initialization with seed for random number generator (Mersenne Twister)