mirror of https://github.com/python/cpython
27 lines
309 B
C
27 lines
309 B
C
|
/* hypot() replacement */
|
||
|
|
||
|
#include "config.h"
|
||
|
#include "myproto.h"
|
||
|
#include "mymath.h"
|
||
|
|
||
|
double hypot(x, y)
|
||
|
double x;
|
||
|
double y;
|
||
|
{
|
||
|
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);
|
||
|
}
|
||
|
}
|