home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / py2s152.zip / Python / hypot.c < prev    next >
C/C++ Source or Header  |  1999-06-27  |  335b  |  27 lines

  1. /* hypot() replacement */
  2.  
  3. #include "config.h"
  4. #include "myproto.h"
  5. #include "mymath.h"
  6.  
  7. double hypot(x, y)
  8.     double x;
  9.     double y;
  10. {
  11.     double yx;
  12.  
  13.     x = fabs(x);
  14.     y = fabs(y);
  15.     if (x < y) {
  16.         double temp = x;
  17.         x = y;
  18.         y = temp;
  19.     }
  20.     if (x == 0.)
  21.         return 0.;
  22.     else {
  23.         yx = y/x;
  24.         return x*sqrt(1.+yx*yx);
  25.     }
  26. }
  27.