commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William Rossi (JIRA)" <j...@apache.org>
Subject [jira] Updated: (MATH-375) Elementary functions in JDK are slower than necessary and not as accurate as they could be.
Date Thu, 26 Aug 2010 00:46:20 GMT

     [ https://issues.apache.org/jira/browse/MATH-375?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

William Rossi updated MATH-375:
-------------------------------

    Attachment: atanpatch.txt.gz

The attached patch fixes the bugs you reported in atan2().  I didn't implement sqrt() because
I can't really improve upon Math.sqrt().  The implementation in Math seems to get compiled
into a single machine instruction and I can't really compete against that.   It might be reasonable
to have FastMath.sqrt() simply call Math.sqrt() though.

As far as other functions go, if there are some that are higher priority than others, please
let me know.

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


Mime
View raw message