Ruby
3.4.1p0 (2024-12-25 revision 48d4efcb85000e1ebae42004e963b5d0cedddcf2)
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.13.2