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

Luc Maisonobe commented on MATH-1271:
-------------------------------------

Including code from "Hacker's Delight" is OK as per this page: 
http://www.hackersdelight.org/permissions.htm.

However, what is more troublesome in the pull request is the various test 
methods labelled as "A method from java.lang.Integer."
or "A method from java.lang.Long.". If these methods have been copied from a 
JVM, they are subject to the JVM license.
So typically it would be GPL for openJDK. This cannot be included in Apache 
Commons Math.

I would suggest that rather than copying the methods and calling them from the 
tests we simply put in the test the fixed values
provided by these methods (*data* output from a GPL code is not subject to the 
code license).

> 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
>              Labels: features
>
> 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