John Halleck's Cave Survey Code in C:

Euclidean Distance package

This package computes Euclidean Norm (distance) accurately without overflow.

enorm.h - Header file.

enorm.c - Code file.

test routines


No warranty, express or implied, should be assumed for these code fragments. They are for educational and demonstration purposes, and may contain major errors.


This is a C implementation of Cleve Moler's Euclidean Norm algorithm. This algorithm is documented in the IBM Journal of Research and Development, Vol27, No 6, November 1983.

In effect, it computes sqrt(x*x+y*y), but it doesn't compute x*x or y*y so it will not overflow unless the answer overflows. The algorithm is generally much faster than the sqrt routine on a given machine.

Go to ...

This page is
© Copyright 2000 by John Halleck, All Rights Reserved.
This snapshot was last modified on August 23rd, 2000