[
https://issues.apache.org/jira/browse/MATH-375?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12905210#action_12905210
]
Jeff Hain edited comment on MATH-375 at 9/1/10 7:14 PM:
--------------------------------------------------------
Hello.
William, I checked your treatments (with the patch) using tests of another
FastMath class I did some time ago (http://sourceforge.net/projects/jafama),
and found some troubles with special cases, especially +-Infinity, NaN, or huge
values: see "test_fastmath_wr.zip" attachment, which contains test code, and a
log of their run.
Also, running your tests, I had this exception:
-19.731458173549257 2.696103718050787E-9 2.6961037180507868E-9
1.534029657343928E-16 0.5025524399680612
Exception in thread "main" java.lang.RuntimeException: exp() had errors in
excess of 0.502 ULP
at FastMathWRTest.testExpAccuracy(FastMathWRTest.java:458)
at FastMathWRTest.main(FastMathWRTest.java:18)
Regards,
Jeff
was (Author: jeff):
Hello.
William, I've also contracted the fast-math disease some time ago, which ended
up into some FastMath class as well (http://sourceforge.net/projects/jafama).
Though, your form seems more severe, since you felt the need to stay within
about +-0.5 ULP :)
Anyway, I did run my "FastMath" tests on your class (with the patch), and found
some troubles with special cases, especially +-Infinity, NaN, or huge values:
see "test_fastmath_wr.zip" attachment, which contains test code, and a log of
their run.
Also, running your tests, I had this exception:
-19.731458173549257 2.696103718050787E-9 2.6961037180507868E-9
1.534029657343928E-16 0.5025524399680612
Exception in thread "main" java.lang.RuntimeException: exp() had errors in
excess of 0.502 ULP
at FastMathWRTest.testExpAccuracy(FastMathWRTest.java:458)
at FastMathWRTest.main(FastMathWRTest.java:18)
May it help you improve your treatments!
Regards,
Jeff
> Elementary functions in JDK are slower than necessary and not as accurate as
> they could be.
> -------------------------------------------------------------------------------------------
>
> Key: MATH-375
> URL: https://issues.apache.org/jira/browse/MATH-375
> Project: Commons Math
> Issue Type: New Feature
> Environment: JDK 1.4 - 1.6
> Reporter: William Rossi
> Fix For: 2.2
>
> Attachments: atanpatch.txt.gz, FastMath.tar.gz, test_fastmath_wr.zip
>
>
> I would like to contribute improved versions on exp(), log(), pow(), etc. to
> the project. Please refer to this discussion thread
> http://markmail.org/message/zyeoguw6gwtofm62.
> I have developed over the past year a set of elementary functions similar to
> those in java.lang.Math, but with the following characteristics:
> * Higher performance.
> * Better accuracy. Results are accurate to slightly more that +/- 0.5 ULP.
> * Pure Java. The standard Math class is impleneted via JNI, and thus takes a
> performance hit.
> Note that some functions such as exp are nearly twice as fast in my
> implementation. I've seen it 3 times faster on different processors. The
> preformance varies by the relative speed of calculation vs memory lookups.
> The functions are implemented as tables of values in extra precision (approx
> 70 bits), and then interpolated with a minimax polynomial.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.