blob: 939deddfff2860f0bf6671f0dc0a9980b764c55a [file] [log] [blame]
Guido van Rossum57b18221996-08-29 18:10:41 +00001/* hypot() replacement */
2
3#include "config.h"
Peter Schneider-Kamp7e018902000-07-31 15:28:04 +00004#include "pyport.h"
Guido van Rossum57b18221996-08-29 18:10:41 +00005
Thomas Woutersf70ef4f2000-07-22 18:47:25 +00006double hypot(double x, double y)
Guido van Rossum57b18221996-08-29 18:10:41 +00007{
8 double yx;
9
10 x = fabs(x);
11 y = fabs(y);
12 if (x < y) {
13 double temp = x;
14 x = y;
15 y = temp;
16 }
17 if (x == 0.)
18 return 0.;
19 else {
20 yx = y/x;
21 return x*sqrt(1.+yx*yx);
22 }
23}