| 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)); | |
| } |