blob: b21deea8f7cb3f7eb7dafbb8b5add8b0b1e87169 [file] [log] [blame]
Guido van Rossum57b18221996-08-29 18:10:41 +00001/* hypot() replacement */
2
3#include "config.h"
4#include "myproto.h"
5#include "mymath.h"
6
Thomas Woutersf70ef4f2000-07-22 18:47:25 +00007double hypot(double x, double y)
Guido van Rossum57b18221996-08-29 18:10:41 +00008{
9 double yx;
10
11 x = fabs(x);
12 y = fabs(y);
13 if (x < y) {
14 double temp = x;
15 x = y;
16 y = temp;
17 }
18 if (x == 0.)
19 return 0.;
20 else {
21 yx = y/x;
22 return x*sqrt(1.+yx*yx);
23 }
24}