blob: 9d3c0d0bac3722af423a8000731e8d96d2458a5f [file] [log] [blame]
Guido van Rossum57b18221996-08-29 18:10:41 +00001/* hypot() replacement */
2
Christian Heimes32fbe592007-11-12 15:01:33 +00003#include "Python.h"
Guido van Rossum57b18221996-08-29 18:10:41 +00004
Thomas Woutersf70ef4f2000-07-22 18:47:25 +00005double hypot(double x, double y)
Guido van Rossum57b18221996-08-29 18:10:41 +00006{
7 double yx;
8
9 x = fabs(x);
10 y = fabs(y);
11 if (x < y) {
12 double temp = x;
13 x = y;
14 y = temp;
15 }
16 if (x == 0.)
17 return 0.;
18 else {
19 yx = y/x;
20 return x*sqrt(1.+yx*yx);
21 }
22}