#!/usr/bin/perl

use lib 'd:/Programs/Perl/lib';

use strict;
use Sci::MyFFT;

my $PI = 3.1415926539;
my $N = 64;

my $series;
for (my $k = 0 ; $k < $N ; $k++) {
	$series->[$k] = sin(4*$k*$PI/$N) + cos(6*$k*$PI/$N);
}

my $fft = new MyFFT;
my ($n, $pX, $pData) = $fft->SetData(undef, $series, undef, "forward:real", "truncate");
my ($pFreq, $pReal, $pImag) = $fft->FFT();
print "n=$n\n";

($n, $pX, $pData) = $fft->SetData(undef, $pReal, $pImag, "inverse:real", "truncate");
my ($pTime, $pOrgReal) = $fft->FFT();
print "n=$n\n";

open(OUT, ">a.csv");
print OUT "x,A,B,inv,original\n";
for(my $i = 0 ; $i < $N ; $i++) {
	print OUT "$i,$pReal->[$i],$pImag->[$i],$pOrgReal->[$i],$series->[$i]\n";
}
close(OUT);