view modules/hypot @ 16530:3cae6aa4577f

hypot-ieee: Work around test failure on OSF/1 and native Windows. * lib/math.in.h (hypot): New declaration. * lib/hypot.c: New file. * m4/hypot-ieee.m4: New file. * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test whether hypot works with mixed NaN and Infinity arguments. Replace it if not. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT, REPLACE_HYPOT. * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT. * modules/hypot (Files): Add lib/hypot.c. (Depends-on): Add dependencies. (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1. * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4. (configure.ac): Invoke gl_FUNC_HYPOT_IEEE. * tests/test-math-c++.cc: Check the declaration of hypot. * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
author Bruno Haible <bruno@clisp.org>
date Wed, 29 Feb 2012 20:00:38 +0100
parents f42c8eb008b8
children fdbe3125f81a
line wrap: on
line source

Description:
hypot() function: length of a vector in the plane.

Files:
lib/hypot.c
m4/hypot.m4
m4/mathfunc.m4

Depends-on:
math
isfinite        [test $REPLACE_HYPOT = 1]
fabs            [test $REPLACE_HYPOT = 1]
frexp           [test $REPLACE_HYPOT = 1]
ldexp           [test $REPLACE_HYPOT = 1]
sqrt            [test $REPLACE_HYPOT = 1]
isinf           [test $REPLACE_HYPOT = 1]

configure.ac:
gl_FUNC_HYPOT
if test $REPLACE_HYPOT = 1; then
  AC_LIBOBJ([hypot])
fi
gl_MATH_MODULE_INDICATOR([hypot])

Makefile.am:

Include:
<math.h>

Link:
$(HYPOT_LIBM)

License:
LGPL

Maintainer:
Bruno Haible