Ruby
3.5.0dev (2025-02-22 revision 412997300569c1853c09813e4924b6df3d7e8669)
missing
hypot.c
1
/* public domain rewrite of hypot */
2
3
#include "ruby/missing.h"
4
#include <math.h>
5
6
double
hypot(
double
x,
double
y)
7
{
8
if
(x < 0) x = -x;
9
if
(y < 0) y = -y;
10
if
(x < y) {
11
double
tmp = x;
12
x = y; y = tmp;
13
}
14
if
(y == 0.0)
return
x;
15
y /= x;
16
return
x * sqrt(1.0+y*y);
17
}
Generated by
1.9.8