a8e45a3255089266ccf6500188a2d31af8634e4a |
|
25-Feb-2015 |
Hans Boehm <hboehm@google.com> |
Fix cos() prescaling, clean up inverse, add tests Cosine arguments close to pi were not correctly prescaled, resulting in a significantly more expensive computation. The choice of binary search vs interpolation in the inverse function algorithm was somewhat random, in that it sometimes counted binary search steps as "successful" and sometimes not. This caused more binary search steps than intended, which unfortunately sometimes improved matters. This fixes the unpredictability and adjust the heuristics to get performance on tan(atan(large)) back to roughly where we started. Increase precision a bit more aggressively in the inverse function to potentially allow superlinear convergence in more cases. I couldn't reconstruct any meaningful rationale for the old formula. Add SlowCRTest. Reorganize and fix tests to be consistent with Android guidelines, more or less. Update COPYRIGHT.txt to reflect the fact that we own SlowCRTest. Change-Id: I8e2d3d11672ddfe24fd8ad0c74d05ef11b12cb03
/external/crcalc/Android.mk
|