diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 18:28:23 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 18:28:23 -0800 |
commit | f177c949113889342d74aee8011a86bd4f589841 (patch) | |
tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /changes | |
parent | 74aa530c6ca9c2f10a0e3635b4211f1438b972b2 (diff) | |
download | fdlibm-f177c949113889342d74aee8011a86bd4f589841.tar.gz |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'changes')
-rw-r--r-- | changes | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/changes b/changes deleted file mode 100644 index 0407ab4..0000000 --- a/changes +++ /dev/null @@ -1,77 +0,0 @@ -21 Oct 2002 -bug fix in e_pow.c from "David G Hough at validlab.com" <validlab@validlab.com>. -credit for bug report goes to andrew_johnson@uk.ibm.com -test example: ------------------------------ -static int fail=0; - -trypow(x,y,z) -double x,y,z; -{ -extern double ieee_pow(); -double p ; - -p = ieee_pow(x,y); -if (p != z) { - printf(" pow failure x %e y %e computed %e correct %e \n",x,y,p,z); - fail++; - return; -} -if (1/p != 1/z) { - printf(" pow failure x %e y %e computed %e correct %e \n",x,y,p,z); - fail++; - return; -} -} - -main() -{ - -trypow( 1.0000000001, 1.0000000001E10, 2.7182820535066154); -trypow(-1.0000000001, 1.0000000001E10, -2.7182820535066154); -trypow(-0.001, 1.0000000001E10, -0.0); -trypow(-1000.0, 1.0000000001E10, -1.0/0.0); - -if (fail == 0) { - printf(" fdlibm e_pow.c seems to be current \n"); - exit(0); -} -else { - printf(" fdlibm e_pow.c seems to be out of date \n"); - exit(1); -} - -} ------------------------------ - - - -What's new in FDLIBM 5.3? - -CONFIGURE - To build FDLIBM, edit the supplied Makefile or create - a local Makefile by running "sh configure" - using the supplied configure script contributed by Nelson Beebe - -BUGS FIXED - - 1. e_pow.c incorrect results when - x is very close to -1.0 and y is very large, e.g. - ieee_pow(-1.0000000000000002e+00,4.5035996273704970e+15) = 0 - ieee_pow(-9.9999999999999978e-01,4.5035996273704970e+15) = 0 - Correct results are close to -e and -1/e. - - 2. k_tan.c error was > 1 ulp target for FDLIBM - 5.2: Worst error at least 1.45 ulp at - ieee_tan(1.7765241907548024E+269) = 1.7733884462610958E+16 - 5.3: Worst error 0.96 ulp - -NOT FIXED YET - - 3. Compiler failure on non-standard code - Statements like - *(1+(int*)&t1) = 0; - are not standard C and cause some optimizing compilers (e.g. GCC) - to generate bad code under optimization. These cases - are to be addressed in the next release. - |