Description:
fmal() function: fused multiply-add.

Files:
lib/fmal.c
lib/fma.c
lib/float+.h
m4/fmal.m4
m4/fegetround.m4
m4/mathfunc.m4

Depends-on:
math
extensions
fma             [{ test $HAVE_FMAL = 0 || test $REPLACE_FMAL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1]
float           [{ test $HAVE_FMAL = 0 || test $REPLACE_FMAL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0]
stdbool         [{ test $HAVE_FMAL = 0 || test $REPLACE_FMAL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0]
verify          [{ test $HAVE_FMAL = 0 || test $REPLACE_FMAL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0]
isfinite        [{ test $HAVE_FMAL = 0 || test $REPLACE_FMAL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0]
integer_length  [{ test $HAVE_FMAL = 0 || test $REPLACE_FMAL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0]
frexpl          [{ test $HAVE_FMAL = 0 || test $REPLACE_FMAL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0]
ldexpl          [{ test $HAVE_FMAL = 0 || test $REPLACE_FMAL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0]

configure.ac:
gl_FUNC_FMAL
if test $HAVE_FMAL = 0 || test $REPLACE_FMAL = 1; then
  AC_LIBOBJ([fmal])
  gl_PREREQ_FMAL
fi
gl_MATH_MODULE_INDICATOR([fmal])

Makefile.am:

Include:
<math.h>

Link:
$(FMAL_LIBM)

License:
LGPL

Maintainer:
all
