From 96cbe7f482fe89112de414da2bd8e90ffb0dcdbd Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Fri, 16 Mar 2012 15:18:19 +0000 Subject: [PATCH] Include program generating __sincosl_table in comment. --- ChangeLog | 3 ++ sysdeps/ieee754/ldbl-96/t_sincosl.c | 43 +++++++++++++++++++++++++++-- 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5a99783369..470f076295 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2012-03-16 Joseph Myers + * sysdeps/ieee754/ldbl-96/t_sincosl.c: Include generator program + in comment. + [BZ #13851] * sysdeps/ieee754/ldbl-96/e_rem_pio2l.c: New file. * sysdeps/ieee754/ldbl-96/k_cosl.c: Likewise. 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 + #include + + 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. */