Ruby
3.3.4p94 (2024-07-09 revision be1089c8ec5ba40e09b1553e36b3174bf4014d9d)
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.11.0