Пример работы функций fft и fft-inv
Input: a = {1, 2, 3, 4, 5}
Next pow of 2: n = 8
Complex array: a = {(1, 0); (2, 0); (3, 0); (4, 0); (5, 0); (0, 0); (0, 0); (0, 0)}
fft(a, false):
0. reverse bits reordering:
a = {(1.0, 0.0); (5.0, 0.0); (3.0, 0.0); (0.0, 0.0); (2.0, 0.0); (0.0, 0.0); (4.0, 0.0); (0.0, 0.0)}
1. merged intervals with length 1:
a = {(6.00, 0.00);(-4.00, 0.00);(3.00, 0.00);(3.00, 0.00);(2.00, 0.00);(2.00, 0.00);(4.00, 0.00);(4.00, 0.00)}
2. merged intervals with length 2:
a = {(9.00, 0.00);(-4.00, 3.00);(3.00, 0.00);(-4.00, -3.00);(6.00, 0.00);(2.00, 4.00);(-2.00, 0.00);(2.00, -4.00)}
3. merged intervals with length 4:
a = {(15.00, 0.00);(-5.41, 7.24);(3.00, -2.00);(-2.59, 1.24);(3.00, 0.00);(-2.59, -1.24);(3.00, 2.00);(-5.41, -7.24)}
fft(a, true):
0. reverse bits reordering:
a = {(15.00, 0.00);(3.00, 0.00);(3.00, -2.00);(3.00, 2.00);(-5.41, 7.24);(-2.59, -1.24);(-2.59, 1.24);(-5.41, -7.24)}
1. merged intervals with length 1:
a = {(18.00, 0.00);(12.00, 0.00);(6.00, 0.00);(0.00, -4.00);(-8.00, 6.00);(-2.83, 8.49);(-8.00, -6.00);(2.83, 8.49)}
2. merged intervals with length 2:
a = {(24.00, 0.00);(8.00, 0.00);(12.00, 0.00);(16.00, 0.00);(-16.00, 0.00);(5.66, 5.66);(0.00, 12.00);(-11.31, 11.31)}
3. merged intervals with length 4:
a = {(8.00, 0.00);(16.00, 0.00);(24.00, 0.00);(32.00, 0.00);(40.00, 0.00);(0.00, 0.00);(0.00, 0.00);(0.00, 0.00)}
4. Divide all on n = 8 (because of inverse transform):
a = {(1.00, 0.00);(2.00, 0.00);(3.00, 0.00);(4.00, 0.00);(5.00, 0.00);(0.00, 0.00);(0.00, 0.00);(0.00, 0.00)}