mirror of
https://github.com/python/cpython.git
synced 2024-11-24 10:24:35 +08:00
24 lines
282 B
C
24 lines
282 B
C
/* hypot() replacement */
|
|
|
|
#include "pyconfig.h"
|
|
#include "pyport.h"
|
|
|
|
double hypot(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);
|
|
}
|
|
}
|