about summary refs log tree commit diff
path: root/sysdeps/ieee754
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2012-03-16 15:18:19 +0000
committerJoseph Myers <joseph@codesourcery.com>2012-03-16 15:18:19 +0000
commit96cbe7f482fe89112de414da2bd8e90ffb0dcdbd (patch)
tree851af99e197ce93c65971607965aef7d3584d357 /sysdeps/ieee754
parent8848d99dce1e57168a492d146f5e72195c7665a5 (diff)
downloadglibc-96cbe7f482fe89112de414da2bd8e90ffb0dcdbd.tar.gz
glibc-96cbe7f482fe89112de414da2bd8e90ffb0dcdbd.tar.xz
glibc-96cbe7f482fe89112de414da2bd8e90ffb0dcdbd.zip
Include program generating __sincosl_table in comment.
Diffstat (limited to 'sysdeps/ieee754')
-rw-r--r--sysdeps/ieee754/ldbl-96/t_sincosl.c43
1 files changed, 41 insertions, 2 deletions
diff --git a/sysdeps/ieee754/ldbl-96/t_sincosl.c b/sysdeps/ieee754/ldbl-96/t_sincosl.c
index 1ab9c2c61c..50dd84b948 100644
--- a/sysdeps/ieee754/ldbl-96/t_sincosl.c
+++ b/sysdeps/ieee754/ldbl-96/t_sincosl.c
@@ -22,8 +22,47 @@
    bits and the same for sine.
    0.1484375+82.0/128.0 is the smallest number among above defined numbers
    larger than pi/4.
-   Computed using MPFR.
- */
+   Computed using MPFR:
+
+   #include <stdio.h>
+   #include <mpfr.h>
+
+   int
+   main (void)
+   {
+     int j;
+     mpfr_t t, b, i, rs, rc, ts, tc, tsl, tcl;
+     mpfr_init2 (b, 64);
+     mpfr_init2 (i, 64);
+     mpfr_init2 (t, 64);
+     mpfr_set_str (b, "0.1484375", 0, MPFR_RNDN);
+     mpfr_set_str (i, "0x1p-7", 0, MPFR_RNDN);
+     mpfr_init2 (rs, 300);
+     mpfr_init2 (rc, 300);
+     mpfr_init2 (ts, 64);
+     mpfr_init2 (tc, 64);
+     mpfr_init2 (tsl, 64);
+     mpfr_init2 (tcl, 64);
+     for (j = 0; j <= 82; j++)
+       {
+         mpfr_mul_ui (t, i, j, MPFR_RNDN);
+         mpfr_add (t, t, b, MPFR_RNDN);
+         printf ("  /" "* x = 0.1484375 + %d/128.  *" "/\n", j);
+         mpfr_cos (rc, t, MPFR_RNDN);
+         mpfr_sin (rs, t, MPFR_RNDN);
+         mpfr_set (tc, rc, MPFR_RNDN);
+         mpfr_set (ts, rs, MPFR_RNDN);
+         mpfr_sub (tcl, rc, tc, MPFR_RNDN);
+         mpfr_sub (tsl, rs, ts, MPFR_RNDN);
+         mpfr_printf ("  %.17RaL,\n", tc);
+         mpfr_printf ("  %.17RaL,\n", tcl);
+         mpfr_printf ("  %.17RaL,\n", ts);
+         mpfr_printf ("  %.17RaL,\n", tsl);
+       }
+     return 0;
+   }
+
+*/
 
 const long double __sincosl_table[] = {
   /* x = 0.1484375 + 0/128.  */