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)
1次元実フーリエ逆変換
function rfft1i(n::Integer, wsave::Array{Float64})
rfft1fおよびrfft1bのための作業データの初期化
function rfft1f(n::Integer, r::Array{Float64}, wsave::Array{Float64}, inc::Integer=1)
1次元実フーリエ変換
function genrand_res53()
区間[0, 1)の53ビット実数乱数 (メルセンヌ・ツイスター)
function init_genrand(s::Integer)
乱数生成ルーチンのシードによる初期化 (メルセンヌ・ツイスター)