Copyright(c) 2001 by David Kastrup
Any use of the code is permitted as long as this copyright notice is preserved
in the code.