extern double fabs (double); | |
extern double sqrt (double); | |
typedef struct complexm { | |
double re,im; | |
} complex; | |
static complex | |
setCom (double r, double i) | |
{ | |
complex ct; | |
ct.re=fabs(r)<1E-300?0.0:r; | |
ct.im=fabs(i)<1E-300?0.0:i; | |
return ct; | |
} | |
static complex | |
csqrt_crash (double x) | |
{ | |
return (x>=0) ? setCom(sqrt(x),0) : setCom(0,sqrt(-x)); | |
} |