[ 
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.

Reply via email to