You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Charles Cooper (JIRA)" <ji...@apache.org> on 2013/03/20 17:05:17 UTC

[jira] [Comment Edited] (MATH-951) Patch: Faster implementation of double org.apache.commons.math3.FastMath.copySign(double, double)

    [ https://issues.apache.org/jira/browse/MATH-951?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13607772#comment-13607772 ] 

Charles Cooper edited comment on MATH-951 at 3/20/13 4:04 PM:
--------------------------------------------------------------

It's a bitwise XOR. The highest order bit is going to be zero if the highest order bit in the two numbers is the same, and one if they are different. In other words it's a little like multiplication (but faster and more importantly no chance of overflow) in that the result will be positive if both multiplicands have the same sign and negative if they have differing sign.
                
      was (Author: coopercm):
    It's a bitwise XOR. The highest order bit is going to be zero if the highest order bit in the two numbers is the same, and one if they are different. In other words it's a little like multiplication (but faster and no overflow) in that the result will be positive if both multiplicands have the same sign and negative if they have differing sign.
                  
> Patch: Faster implementation of double org.apache.commons.math3.FastMath.copySign(double, double)
> -------------------------------------------------------------------------------------------------
>
>                 Key: MATH-951
>                 URL: https://issues.apache.org/jira/browse/MATH-951
>             Project: Commons Math
>          Issue Type: Improvement
>    Affects Versions: 3.2
>         Environment: java version "1.6.0_27"
> OpenJDK Runtime Environment (IcedTea6 1.12.3) (6b27-1.12.3-1)
> OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
> Linux debian 3.2.0-4-amd64 #2 SMP Wed Jan 2 01:41:29 PST 2013 x86_64 GNU/Linux
> Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz
>            Reporter: Charles Cooper
>            Priority: Minor
>              Labels: patch, performance
>             Fix For: 3.2
>
>         Attachments: patch
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> Between 40-50% faster than both current implementation and java.lang.Math.copySign by my (sloppy) benchmark. Patch attached.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira