Qualtagh created MATH-1271:
------------------------------

             Summary: Unsigned operations
                 Key: MATH-1271
                 URL: https://issues.apache.org/jira/browse/MATH-1271
             Project: Commons Math
          Issue Type: New Feature
    Affects Versions: 4.0
            Reporter: Qualtagh
            Priority: Trivial


Add unsigned operations to ArithmeticUtils: divideUnsigned and 
remainderUnsigned. They exist in java.lang.Integer and java.lang.Long since 
Java 8. The inner implementation is based on leveraging to long (for ints) and 
to BigInteger (for longs). Comments in code suggest using tricks described in 
"Hacker's Delight" to stay with smaller type (int and long respectively). Those 
tricks were implemented in this pull request: 
https://github.com/apache/commons-math/pull/13

I don't know if using an algorithm from "Hacker's Delight" is compatible with 
Apache license. The code is faster than standard Java 8 implementation: 2 times 
for int and 8 times for long (verified with simple small tests).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to