2 * Karinto Library Project
\r
4 * This software is distributed under a zlib-style license.
\r
5 * See license.txt for more information.
\r
9 using System.Collections.Generic;
\r
11 using System.Diagnostics;
\r
13 using Karinto.Numeric;
\r
14 using NUnit.Framework;
\r
16 namespace KarintoTest
\r
19 public class FftTest
\r
25 Complex[] input = MakeComplexSample();
\r
26 Complex[] output = Fft.TransformForward(input);
\r
30 public void RealToComplex()
\r
32 double[] input = MakeRealSample();
\r
34 Fft r2c = new Fft(input.Length, Fft.Direction.Forward);
\r
37 r2c.Transform(input, out output);
\r
41 private Complex[] MakeComplexSample()
\r
43 Complex[] a = new Complex[64];
\r
44 for (int i = 0; i < 16; ++i)
\r
46 a[i] = new Complex(i * 0.125, 0);
\r
48 for (int i = 16; i < 48; ++i)
\r
50 a[i] = new Complex(4.0 - i * 0.125, 0);
\r
52 for (int i = 48; i < 64; ++i)
\r
54 a[i] = new Complex(i * 0.125 - 8.0, 0);
\r
59 private double[] MakeRealSample()
\r
61 double[] a = new double[64];
\r
62 for (int i = 0; i < 16; ++i)
\r
66 for (int i = 16; i < 48; ++i)
\r
68 a[i] = 4.0 - i * 0.125;
\r
70 for (int i = 48; i < 64; ++i)
\r
72 a[i] = i * 0.125 - 8.0;
\r