def TestRfft1():
# Initialization
seed = 13
n = 5
lwsave = n + int(log(n)/log(2)) + 4
wsave = np.empty(lwsave)
if info != 0:
print('Error during initialization: info =', info)
return 1
# Generate test data
inc = 1
lr = inc*(n - 1) + 1
r = np.empty(lr)
rcopy = np.empty(lr)
for i in range(n):
k = inc*i
rcopy[k] = r[k]
# Forward transform
if info != 0:
print('Error in Rfft1f: info =', info)
return 2
# Backward transform
if info != 0:
print('Error in Rfft1b: info =', info)
return 3
# Check results
diff = 0.0
for i in range(n):
k = inc*i
if abs(r[k] - rcopy[k]) > diff:
diff = abs(r[k] - rcopy[k])
print(rcopy[k], r[k], abs(r[k] - rcopy[k]))
print('diff(max) =', diff)
def rfft1b(n, r, wsave, inc=1)
One-dimensional real fast Fourier backward transform
def rfft1f(n, r, wsave, inc=1)
One-dimensional real Fourier transform
def rfft1i(n, wsave)
Initialization of work data for rfft1f and rfft1b
def init_genrand(s)
Initialization with seed for random number generator (Mersenne Twister)
def genrand_res53()
53 bit real random number in [0, 1) (Mersenne Twister)