source: vendor/gcc/3.2.2/libf2c/libF77/cabs.c

Last change on this file was 2, checked in by bird, 22 years ago

Initial revision

  • Property cvs2svn:cvs-rev set to 1.1
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 427 bytes
Line 
1#ifdef KR_headers
2extern double sqrt();
3double f__cabs(real, imag) double real, imag;
4#else
5#undef abs
6#include <math.h>
7double f__cabs(double real, double imag)
8#endif
9{
10double temp;
11
12if(real < 0)
13 real = -real;
14if(imag < 0)
15 imag = -imag;
16if(imag > real){
17 temp = real;
18 real = imag;
19 imag = temp;
20}
21if((real+imag) == real)
22 return(real);
23
24temp = imag/real;
25temp = real*sqrt(1.0 + temp*temp); /*overflow!!*/
26return(temp);
27}
Note: See TracBrowser for help on using the repository browser.