[ http://issues.apache.org/jira/browse/MATH-154?page=comments#action_12426209 ] Brent Worden commented on MATH-154: -----------------------------------
Can we change it to subtractAndCheck? Also, it might be useful to add two additional methods to just check for operation safety and not throw an exception. This would be useful in the RNG methods Remi proposed where all that was needed was whether or not an operation was valid. This would avoid creating an expensive exception for simple case logic. > MathUtils addAndCheck and subAndCheck for long values > ----------------------------------------------------- > > Key: MATH-154 > URL: http://issues.apache.org/jira/browse/MATH-154 > Project: Commons Math > Issue Type: Improvement > Affects Versions: Nightly Builds, 1.1 Final > Reporter: Remi Arntzen > Fix For: 1.2 Final > > > public static long addAndCheck(long x, long y) { > BigInteger s = BigInteger.valueOf(x).add(BigInteger.valueOf(y); > if (s.bitLength() + 1 > Long.SIZE) { > throw new ArithmeticException("overflow: add"); > } > return s.longValue(); > } > public static long subAndCheck(long x, long y) { > BigInteger s = BigInteger.valueOf(x).subtract(BigInteger.valueOf(y)); > if (s.bitLength() + 1 > Long.SIZE) { > throw new ArithmeticException("overflow: add"); > } > return s.longValue(); > } -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]