|
|
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.