view modules/cosl @ 15940:564c0603a942

cosl: Simplify for platforms where 'long double' == 'double'. * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative implementation. * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE. Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. * modules/cosl (Depends-on): Add cos. Update conditions. (configure.ac): Don't compile sincosl.c and trigl.c if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
author Bruno Haible <bruno@clisp.org>
date Tue, 11 Oct 2011 02:55:56 +0200
parents 0cee0fa6cf32
children
line wrap: on
line source

Description:
cosl() function: cosine function with long double argument.

Files:
lib/cosl.c
lib/trigl.h
lib/sincosl.c
lib/trigl.c
m4/cosl.m4

Depends-on:
math
extensions
cos             [test $HAVE_COSL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1]
float           [test $HAVE_COSL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0]
isnanl          [test $HAVE_COSL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0]
floor           [test $HAVE_COSL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0]
floorl          [test $HAVE_COSL = 0 && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0]

configure.ac:
gl_FUNC_COSL
if test $HAVE_COSL = 0; then
  AC_LIBOBJ([cosl])
  if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0; then
    AC_LIBOBJ([sincosl])
    AC_LIBOBJ([trigl])
  fi
fi
gl_MATH_MODULE_INDICATOR([cosl])

Makefile.am:

Include:
<math.h>

Link:
$(ACOSL_LIBM)

License:
LGPL

Maintainer:
Paolo Bonzini