1996-08-29 15:10:41 -03:00
|
|
|
/* hypot() replacement */
|
|
|
|
|
|
|
|
#include "config.h"
|
2000-07-31 12:28:04 -03:00
|
|
|
#include "pyport.h"
|
1996-08-29 15:10:41 -03:00
|
|
|
|
2000-07-22 15:47:25 -03:00
|
|
|
double hypot(double x, double y)
|
1996-08-29 15:10:41 -03:00
|
|
|
{
|
|
|
|
double yx;
|
|
|
|
|
|
|
|
x = fabs(x);
|
|
|
|
y = fabs(y);
|
|
|
|
if (x < y) {
|
|
|
|
double temp = x;
|
|
|
|
x = y;
|
|
|
|
y = temp;
|
|
|
|
}
|
|
|
|
if (x == 0.)
|
|
|
|
return 0.;
|
|
|
|
else {
|
|
|
|
yx = y/x;
|
|
|
|
return x*sqrt(1.+yx*yx);
|
|
|
|
}
|
|
|
|
}
|