summaryrefslogtreecommitdiffstats
path: root/Python/hypot.c
blob: b21deea8f7cb3f7eb7dafbb8b5add8b0b1e87169 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/* hypot() replacement */

#include "config.h"
#include "myproto.h"
#include "mymath.h"

double hypot(double x, double y)
{
	double yx;

	x = fabs(x);
	y = fabs(y);
	if (x < y) {
		double temp = x;
		x = y;
		y = temp;
	}
	if (x == 0.)
		return 0.;
	else {
		yx = y/x;
		return x*sqrt(1.+yx*yx);
	}
}