Staging
v0.5.1
https://github.com/python/cpython
Raw File
Tip revision: e5b9bff214584fa088cdf616f96d44eec69dd743 authored by Martin v. Löwis on 31 October 2011, 11:38:50 UTC
2.5 is no longer maintained
Tip revision: e5b9bff
hypot.c
/* hypot() replacement */

#include "pyconfig.h"
#include "pyport.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);
	}
}
back to top