Ruby
3.5.0dev (2025-01-10 revision 5fab31b15e32622c4b71d1d347a41937e9f9c212)
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