Ruby
3.4.2p28 (2025-02-15 revision d2930f8e7a5db8a7337fa43370940381b420cc3e)
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