diff --git a/numerical_methods/fast_fourier_transform.cpp b/numerical_methods/fast_fourier_transform.cpp index 219d4a8da..802cc9364 100644 --- a/numerical_methods/fast_fourier_transform.cpp +++ b/numerical_methods/fast_fourier_transform.cpp @@ -14,7 +14,9 @@ #include /// for mathematical-related functions #include /// for storing points and coefficents #include /// for assert -# define pi 3.14159265358979323846 +#include + + /** * @brief FastFourierTransform is a recursive function which returns list of complex numbers @@ -25,7 +27,8 @@ */ std::complex* FastFourierTransform(std::complex*p,uint64_t n) { - + double pi = 2*asin(1.0);///Declaring value of pi + if(n==1) return p; ///Base Case To return std::complex om=std::complex(cos(2*pi/n),sin(2*pi/n)); ///Calculating value of omega @@ -82,9 +85,9 @@ static void test() { uint8_t n2=sizeof(t2)/sizeof(std::complex); - std::complex r1[2]={{3,0},{-1,0} };///True Answer for test case 1 + std::vector> r1={{3,0},{-1,0} };///True Answer for test case 1 - std::complex r2[4]={{10,0},{-2,-2},{-2,0},{-2,2} };///True Answer for test case 2 + std::vector> r2={{10,0},{-2,-2},{-2,0},{-2,2} };///True Answer for test case 2 std::complex *o1=FastFourierTransform(t1,n1);