var a,b:
Vector;
begin //Even
a.SetIt(false,[1,2,3,4]);
b.FFTFromReal(a);
// b = [(10, 0),( -2,2), (-2, 0)]
a.SetIt(false,[1,2,3,4, 0, 0]);
//result requires 3 complex (or 6 real values)
a.FFTFromReal;
// b = [(10, 0),( -2,2), (-2, 0)]
//Odd length
a.SetIt(false,[1,2,3]);
b.FFTOddLength := True;
//use only Length-1 samples
b.FFTFromReal(a);
// b = [(6,0),( -1.5,0.8660)] //result requires 2 complex (= 4 real numbers)
a.SetIt(false,[1,2,3,0]);
a.FFTOddLength := True;
//use only Length-1 samples
a.FFTFromReal;
// b = [(6,0),( -1.5,0.8660)] //result requires 2 complex (= 4 real numbers)
end;