X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Ftanl.c;h=ae70884c711137540da57c22eea47f28bf359ce5;hb=cd56634a4a8179fd5a4419fbb3e27211b042ab1c;hp=6a6dc6d85853dc7a42da52bb75945253fc6af0e9;hpb=692679fcbebba0095bae0f1f1a99bd1f0f5a0476;p=gnulib.git diff --git a/lib/tanl.c b/lib/tanl.c index 6a6dc6d85..ae70884c7 100644 --- a/lib/tanl.c +++ b/lib/tanl.c @@ -19,6 +19,19 @@ /* Specification. */ #include +#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE + +long double +tanl (long double x) +{ + return tan (x); +} + +#else + +/* Code based on glibc/sysdeps/ieee754/ldbl-128/s_tanl.c + and glibc/sysdeps/ieee754/ldbl-128/k_tanl.c. */ + /* tanl(x) * Return tangent function of x. * @@ -49,7 +62,7 @@ * TRIG(x) returns trig(x) nearly rounded */ -#include "trigl.h" +# include "trigl.h" /* * ==================================================== @@ -208,16 +221,18 @@ tanl (long double x) } } +#endif + #if 0 int main (void) { - printf ("%.16Lg\n", tanl(0.7853981633974483096156608458198757210492)); - printf ("%.16Lg\n", tanl(-0.7853981633974483096156608458198757210492)); - printf ("%.16Lg\n", tanl(0.7853981633974483096156608458198757210492 *3)); - printf ("%.16Lg\n", tanl(-0.7853981633974483096156608458198757210492 *31)); - printf ("%.16Lg\n", tanl(0.7853981633974483096156608458198757210492 / 2)); - printf ("%.16Lg\n", tanl(0.7853981633974483096156608458198757210492 * 3/2)); - printf ("%.16Lg\n", tanl(0.7853981633974483096156608458198757210492 * 5/2)); + printf ("%.16Lg\n", tanl (0.7853981633974483096156608458198757210492)); + printf ("%.16Lg\n", tanl (-0.7853981633974483096156608458198757210492)); + printf ("%.16Lg\n", tanl (0.7853981633974483096156608458198757210492 *3)); + printf ("%.16Lg\n", tanl (-0.7853981633974483096156608458198757210492 *31)); + printf ("%.16Lg\n", tanl (0.7853981633974483096156608458198757210492 / 2)); + printf ("%.16Lg\n", tanl (0.7853981633974483096156608458198757210492 * 3/2)); + printf ("%.16Lg\n", tanl (0.7853981633974483096156608458198757210492 * 5/2)); } #endif