/*this is the header file for functions that allow to work */ /*with complex numbers */ #ifndef complex_h #define complex_h #include #define PI 3.141592654 typedef struct DCOMPLEX { double re, im; } dcomplex; dcomplex Complex(double real, double imag); void Cecho(dcomplex z); double Cre(dcomplex z); double Cim(dcomplex z); dcomplex Conjg(dcomplex z); double Cabs(dcomplex z); dcomplex Cinv(dcomplex z); double Carg(dcomplex z); dcomplex Cadd(dcomplex a, dcomplex b); dcomplex Csub(dcomplex a, dcomplex b); dcomplex Cmul(dcomplex a, dcomplex b); dcomplex CRmul(double x, dcomplex a); dcomplex Cexp(dcomplex z); dcomplex Cpow(dcomplex z, double p); dcomplex Clog(dcomplex z); double Carg2(dcomplex z); dcomplex Csin(dcomplex z); #endif