view Python/hypot.c @ 5829:f1127d6fcd74 legacy-trunk

Huge speedup by inlining some common integer operations: int+int, int-int, int <compareop> int, and list[int]. (Unfortunately, int*int is way too much code to inline.) Also corrected a NULL that should have been a zero.
author Guido van Rossum <guido@python.org>
date Thu, 17 Jul 1997 23:12:42 +0000
parents 37d009b1bf45
children f79434ee41fa
line wrap: on
line source

/* hypot() replacement */

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

double hypot(x, y)
	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);
	}
}