|
|
1.1 ! root 1: #ifdef KR_headers ! 2: extern double sqrt(); ! 3: double f__cabs(real, imag) double real, imag; ! 4: #else ! 5: #undef abs ! 6: #include "math.h" ! 7: double f__cabs(double real, double imag) ! 8: #endif ! 9: { ! 10: double temp; ! 11: ! 12: if(real < 0) ! 13: real = -real; ! 14: if(imag < 0) ! 15: imag = -imag; ! 16: if(imag > real){ ! 17: temp = real; ! 18: real = imag; ! 19: imag = temp; ! 20: } ! 21: if((real+imag) == real) ! 22: return(real); ! 23: ! 24: temp = imag/real; ! 25: temp = real*sqrt(1.0 + temp*temp); /*overflow!!*/ ! 26: return(temp); ! 27: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.