#!/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:complex", "truncate");
my ($pFreq, $pReal, $pImag) = $fft->FFT();

($n, $pX, $pData) = $fft->SetData(undef, $pReal, $pImag, "inverse:complex", "truncate");
my ($pTime, $pOrgReal, $pOrgImag) = $fft->FFT();

open(OUT, ">a.csv");
print OUT "x,A,B,Ainv,Binv,original\n";
for(my $i = 0 ; $i < $N ; $i++) {
	my $org = $series->[$i];
	print OUT "$i,$pReal->[$i],$pImag->[$i],$pOrgReal->[$i],$pOrgImag->[$i],$org\n";
}
close(OUT);