| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html" charset="UTF-8"> |
| <title>ArithmeticUtils (Apache Commons Math 3.3 API)</title> |
| <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> |
| </head> |
| <body> |
| <script type="text/javascript"><!-- |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="ArithmeticUtils (Apache Commons Math 3.3 API)"; |
| } |
| //--> |
| </script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="topNav"><a name="navbar_top"> |
| <!-- --> |
| </a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="class-use/ArithmeticUtils.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../help-doc.html">Help</a></li> |
| </ul> |
| <div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li>Prev Class</li> |
| <li><a href="../../../../../org/apache/commons/math3/util/BigReal.html" title="class in org.apache.commons.math3.util"><span class="strong">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../index.html?org/apache/commons/math3/util/ArithmeticUtils.html" target="_top">Frames</a></li> |
| <li><a href="ArithmeticUtils.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_top"> |
| <li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_top"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li>Field | </li> |
| <li>Constr | </li> |
| <li><a href="#method_summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li>Constr | </li> |
| <li><a href="#method_detail">Method</a></li> |
| </ul> |
| </div> |
| <a name="skip-navbar_top"> |
| <!-- --> |
| </a></div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <div class="header"> |
| <div class="subTitle">org.apache.commons.math3.util</div> |
| <h2 title="Class ArithmeticUtils" class="title">Class ArithmeticUtils</h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li> |
| <li> |
| <ul class="inheritance"> |
| <li>org.apache.commons.math3.util.ArithmeticUtils</li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <hr> |
| <br> |
| <pre>public final class <span class="strong">ArithmeticUtils</span> |
| extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre> |
| <div class="block">Some useful, arithmetics related, additions to the built-in functions in |
| <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Math.html?is-external=true" title="class or interface in java.lang"><code>Math</code></a>.</div> |
| <dl><dt><span class="strong">Version:</span></dt> |
| <dd>$Id: ArithmeticUtils.java 1591835 2014-05-02 09:04:01Z tn $</dd></dl> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method_summary"> |
| <!-- --> |
| </a> |
| <h3>Method Summary</h3> |
| <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> |
| <caption><span>Methods</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colLast" scope="col">Method and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static int</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#addAndCheck(int, int)">addAndCheck</a></strong>(int x, |
| int y)</code> |
| <div class="block">Add two integers, checking for overflow.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static long</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#addAndCheck(long, long)">addAndCheck</a></strong>(long a, |
| long b)</code> |
| <div class="block">Add two long integers, checking for overflow.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static long</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#binomialCoefficient(int, int)">binomialCoefficient</a></strong>(int n, |
| int k)</code> |
| <div class="block"><strong>Deprecated.</strong> |
| <div class="block"><i>use <a href="../../../../../org/apache/commons/math3/util/CombinatoricsUtils.html#binomialCoefficient(int, int)"><code>CombinatoricsUtils.binomialCoefficient(int, int)</code></a></i></div> |
| </div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static double</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#binomialCoefficientDouble(int, int)">binomialCoefficientDouble</a></strong>(int n, |
| int k)</code> |
| <div class="block"><strong>Deprecated.</strong> |
| <div class="block"><i>use <a href="../../../../../org/apache/commons/math3/util/CombinatoricsUtils.html#binomialCoefficientDouble(int, int)"><code>CombinatoricsUtils.binomialCoefficientDouble(int, int)</code></a></i></div> |
| </div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static double</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#binomialCoefficientLog(int, int)">binomialCoefficientLog</a></strong>(int n, |
| int k)</code> |
| <div class="block"><strong>Deprecated.</strong> |
| <div class="block"><i>use <a href="../../../../../org/apache/commons/math3/util/CombinatoricsUtils.html#binomialCoefficientLog(int, int)"><code>CombinatoricsUtils.binomialCoefficientLog(int, int)</code></a></i></div> |
| </div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static long</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#factorial(int)">factorial</a></strong>(int n)</code> |
| <div class="block"><strong>Deprecated.</strong> |
| <div class="block"><i>use <a href="../../../../../org/apache/commons/math3/util/CombinatoricsUtils.html#factorial(int)"><code>CombinatoricsUtils.factorial(int)</code></a></i></div> |
| </div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static double</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#factorialDouble(int)">factorialDouble</a></strong>(int n)</code> |
| <div class="block"><strong>Deprecated.</strong> |
| <div class="block"><i>use <a href="../../../../../org/apache/commons/math3/util/CombinatoricsUtils.html#factorialDouble(int)"><code>CombinatoricsUtils.factorialDouble(int)</code></a></i></div> |
| </div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static double</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#factorialLog(int)">factorialLog</a></strong>(int n)</code> |
| <div class="block"><strong>Deprecated.</strong> |
| <div class="block"><i>use <a href="../../../../../org/apache/commons/math3/util/CombinatoricsUtils.html#factorialLog(int)"><code>CombinatoricsUtils.factorialLog(int)</code></a></i></div> |
| </div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static int</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#gcd(int, int)">gcd</a></strong>(int p, |
| int q)</code> |
| <div class="block">Computes the greatest common divisor of the absolute value of two |
| numbers, using a modified version of the "binary gcd" method.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static long</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#gcd(long, long)">gcd</a></strong>(long p, |
| long q)</code> |
| <div class="block"> |
| Gets the greatest common divisor of the absolute value of two numbers, |
| using the "binary gcd" method which avoids division and modulo |
| operations.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#isPowerOfTwo(long)">isPowerOfTwo</a></strong>(long n)</code> |
| <div class="block">Returns true if the argument is a power of two.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static int</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#lcm(int, int)">lcm</a></strong>(int a, |
| int b)</code> |
| <div class="block"> |
| Returns the least common multiple of the absolute value of two numbers, |
| using the formula <code>lcm(a,b) = (a / gcd(a,b)) * b</code>.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static long</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#lcm(long, long)">lcm</a></strong>(long a, |
| long b)</code> |
| <div class="block"> |
| Returns the least common multiple of the absolute value of two numbers, |
| using the formula <code>lcm(a,b) = (a / gcd(a,b)) * b</code>.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static int</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#mulAndCheck(int, int)">mulAndCheck</a></strong>(int x, |
| int y)</code> |
| <div class="block">Multiply two integers, checking for overflow.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static long</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#mulAndCheck(long, long)">mulAndCheck</a></strong>(long a, |
| long b)</code> |
| <div class="block">Multiply two long integers, checking for overflow.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/math/BigInteger.html?is-external=true" title="class or interface in java.math">BigInteger</a></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#pow(java.math.BigInteger, java.math.BigInteger)">pow</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/math/BigInteger.html?is-external=true" title="class or interface in java.math">BigInteger</a> k, |
| <a href="http://docs.oracle.com/javase/6/docs/api/java/math/BigInteger.html?is-external=true" title="class or interface in java.math">BigInteger</a> e)</code> |
| <div class="block">Raise a BigInteger to a BigInteger power.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/math/BigInteger.html?is-external=true" title="class or interface in java.math">BigInteger</a></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#pow(java.math.BigInteger, int)">pow</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/math/BigInteger.html?is-external=true" title="class or interface in java.math">BigInteger</a> k, |
| int e)</code> |
| <div class="block">Raise a BigInteger to an int power.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/math/BigInteger.html?is-external=true" title="class or interface in java.math">BigInteger</a></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#pow(java.math.BigInteger, long)">pow</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/math/BigInteger.html?is-external=true" title="class or interface in java.math">BigInteger</a> k, |
| long e)</code> |
| <div class="block">Raise a BigInteger to a long power.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static int</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#pow(int, int)">pow</a></strong>(int k, |
| int e)</code> |
| <div class="block">Raise an int to an int power.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static int</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#pow(int, long)">pow</a></strong>(int k, |
| long e)</code> |
| <div class="block"><strong>Deprecated.</strong> |
| <div class="block"><i>As of 3.3. Please use <a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#pow(int, int)"><code>pow(int,int)</code></a> instead.</i></div> |
| </div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static long</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#pow(long, int)">pow</a></strong>(long k, |
| int e)</code> |
| <div class="block">Raise a long to an int power.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static long</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#pow(long, long)">pow</a></strong>(long k, |
| long e)</code> |
| <div class="block"><strong>Deprecated.</strong> |
| <div class="block"><i>As of 3.3. Please use <a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#pow(long, int)"><code>pow(long,int)</code></a> instead.</i></div> |
| </div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static long</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#stirlingS2(int, int)">stirlingS2</a></strong>(int n, |
| int k)</code> |
| <div class="block"><strong>Deprecated.</strong> |
| <div class="block"><i>use <a href="../../../../../org/apache/commons/math3/util/CombinatoricsUtils.html#stirlingS2(int, int)"><code>CombinatoricsUtils.stirlingS2(int, int)</code></a></i></div> |
| </div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static int</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#subAndCheck(int, int)">subAndCheck</a></strong>(int x, |
| int y)</code> |
| <div class="block">Subtract two integers, checking for overflow.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static long</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#subAndCheck(long, long)">subAndCheck</a></strong>(long a, |
| long b)</code> |
| <div class="block">Subtract two long integers, checking for overflow.</div> |
| </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3> |
| <code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| <div class="details"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ============ METHOD DETAIL ========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method_detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a name="addAndCheck(int, int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>addAndCheck</h4> |
| <pre>public static int addAndCheck(int x, |
| int y) |
| throws <a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></pre> |
| <div class="block">Add two integers, checking for overflow.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - an addend</dd><dd><code>y</code> - an addend</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>the sum <code>x+y</code></dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - if the result can not be represented |
| as an <code>int</code>.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>1.1</dd></dl> |
| </li> |
| </ul> |
| <a name="addAndCheck(long, long)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>addAndCheck</h4> |
| <pre>public static long addAndCheck(long a, |
| long b) |
| throws <a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></pre> |
| <div class="block">Add two long integers, checking for overflow.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>a</code> - an addend</dd><dd><code>b</code> - an addend</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>the sum <code>a+b</code></dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - if the result can not be represented as an long</dd><dt><span class="strong">Since:</span></dt> |
| <dd>1.2</dd></dl> |
| </li> |
| </ul> |
| <a name="binomialCoefficient(int, int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>binomialCoefficient</h4> |
| <pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a> |
| public static long binomialCoefficient(int n, |
| int k) |
| throws <a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a>, |
| <a href="../../../../../org/apache/commons/math3/exception/NumberIsTooLargeException.html" title="class in org.apache.commons.math3.exception">NumberIsTooLargeException</a>, |
| <a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></pre> |
| <div class="block"><span class="strong">Deprecated.</span> <i>use <a href="../../../../../org/apache/commons/math3/util/CombinatoricsUtils.html#binomialCoefficient(int, int)"><code>CombinatoricsUtils.binomialCoefficient(int, int)</code></a></i></div> |
| <div class="block">Returns an exact representation of the <a |
| href="http://mathworld.wolfram.com/BinomialCoefficient.html"> Binomial |
| Coefficient</a>, "<code>n choose k</code>", the number of |
| <code>k</code>-element subsets that can be selected from an |
| <code>n</code>-element set. |
| <p> |
| <Strong>Preconditions</strong>: |
| <ul> |
| <li> <code>0 <= k <= n </code> (otherwise |
| <code>IllegalArgumentException</code> is thrown)</li> |
| <li> The result is small enough to fit into a <code>long</code>. The |
| largest value of <code>n</code> for which all coefficients are |
| <code>< Long.MAX_VALUE</code> is 66. If the computed value exceeds |
| <code>Long.MAX_VALUE</code> an <code>ArithMeticException</code> is |
| thrown.</li> |
| </ul></p></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>n</code> - the size of the set</dd><dd><code>k</code> - the size of the subsets to be counted</dd> |
| <dt><span class="strong">Returns:</span></dt><dd><code>n choose k</code></dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></code> - if <code>n < 0</code>.</dd> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/NumberIsTooLargeException.html" title="class in org.apache.commons.math3.exception">NumberIsTooLargeException</a></code> - if <code>k > n</code>.</dd> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - if the result is too large to be |
| represented by a long integer.</dd></dl> |
| </li> |
| </ul> |
| <a name="binomialCoefficientDouble(int, int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>binomialCoefficientDouble</h4> |
| <pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a> |
| public static double binomialCoefficientDouble(int n, |
| int k) |
| throws <a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a>, |
| <a href="../../../../../org/apache/commons/math3/exception/NumberIsTooLargeException.html" title="class in org.apache.commons.math3.exception">NumberIsTooLargeException</a>, |
| <a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></pre> |
| <div class="block"><span class="strong">Deprecated.</span> <i>use <a href="../../../../../org/apache/commons/math3/util/CombinatoricsUtils.html#binomialCoefficientDouble(int, int)"><code>CombinatoricsUtils.binomialCoefficientDouble(int, int)</code></a></i></div> |
| <div class="block">Returns a <code>double</code> representation of the <a |
| href="http://mathworld.wolfram.com/BinomialCoefficient.html"> Binomial |
| Coefficient</a>, "<code>n choose k</code>", the number of |
| <code>k</code>-element subsets that can be selected from an |
| <code>n</code>-element set. |
| <p> |
| <Strong>Preconditions</strong>: |
| <ul> |
| <li> <code>0 <= k <= n </code> (otherwise |
| <code>IllegalArgumentException</code> is thrown)</li> |
| <li> The result is small enough to fit into a <code>double</code>. The |
| largest value of <code>n</code> for which all coefficients are < |
| Double.MAX_VALUE is 1029. If the computed value exceeds Double.MAX_VALUE, |
| Double.POSITIVE_INFINITY is returned</li> |
| </ul></p></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>n</code> - the size of the set</dd><dd><code>k</code> - the size of the subsets to be counted</dd> |
| <dt><span class="strong">Returns:</span></dt><dd><code>n choose k</code></dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></code> - if <code>n < 0</code>.</dd> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/NumberIsTooLargeException.html" title="class in org.apache.commons.math3.exception">NumberIsTooLargeException</a></code> - if <code>k > n</code>.</dd> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - if the result is too large to be |
| represented by a long integer.</dd></dl> |
| </li> |
| </ul> |
| <a name="binomialCoefficientLog(int, int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>binomialCoefficientLog</h4> |
| <pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a> |
| public static double binomialCoefficientLog(int n, |
| int k) |
| throws <a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a>, |
| <a href="../../../../../org/apache/commons/math3/exception/NumberIsTooLargeException.html" title="class in org.apache.commons.math3.exception">NumberIsTooLargeException</a>, |
| <a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></pre> |
| <div class="block"><span class="strong">Deprecated.</span> <i>use <a href="../../../../../org/apache/commons/math3/util/CombinatoricsUtils.html#binomialCoefficientLog(int, int)"><code>CombinatoricsUtils.binomialCoefficientLog(int, int)</code></a></i></div> |
| <div class="block">Returns the natural <code>log</code> of the <a |
| href="http://mathworld.wolfram.com/BinomialCoefficient.html"> Binomial |
| Coefficient</a>, "<code>n choose k</code>", the number of |
| <code>k</code>-element subsets that can be selected from an |
| <code>n</code>-element set. |
| <p> |
| <Strong>Preconditions</strong>: |
| <ul> |
| <li> <code>0 <= k <= n </code> (otherwise |
| <code>IllegalArgumentException</code> is thrown)</li> |
| </ul></p></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>n</code> - the size of the set</dd><dd><code>k</code> - the size of the subsets to be counted</dd> |
| <dt><span class="strong">Returns:</span></dt><dd><code>n choose k</code></dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></code> - if <code>n < 0</code>.</dd> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/NumberIsTooLargeException.html" title="class in org.apache.commons.math3.exception">NumberIsTooLargeException</a></code> - if <code>k > n</code>.</dd> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - if the result is too large to be |
| represented by a long integer.</dd></dl> |
| </li> |
| </ul> |
| <a name="factorial(int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>factorial</h4> |
| <pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a> |
| public static long factorial(int n) |
| throws <a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a>, |
| <a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></pre> |
| <div class="block"><span class="strong">Deprecated.</span> <i>use <a href="../../../../../org/apache/commons/math3/util/CombinatoricsUtils.html#factorial(int)"><code>CombinatoricsUtils.factorial(int)</code></a></i></div> |
| <div class="block">Returns n!. Shorthand for <code>n</code> <a |
| href="http://mathworld.wolfram.com/Factorial.html"> Factorial</a>, the |
| product of the numbers <code>1,...,n</code>. |
| <p> |
| <Strong>Preconditions</strong>: |
| <ul> |
| <li> <code>n >= 0</code> (otherwise |
| <code>IllegalArgumentException</code> is thrown)</li> |
| <li> The result is small enough to fit into a <code>long</code>. The |
| largest value of <code>n</code> for which <code>n!</code> < |
| Long.MAX_VALUE} is 20. If the computed value exceeds <code>Long.MAX_VALUE</code> |
| an <code>ArithMeticException </code> is thrown.</li> |
| </ul> |
| </p></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>n</code> - argument</dd> |
| <dt><span class="strong">Returns:</span></dt><dd><code>n!</code></dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - if the result is too large to be represented |
| by a <code>long</code>.</dd> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></code> - if <code>n < 0</code>.</dd> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - if <code>n > 20</code>: The factorial value is too |
| large to fit in a <code>long</code>.</dd></dl> |
| </li> |
| </ul> |
| <a name="factorialDouble(int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>factorialDouble</h4> |
| <pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a> |
| public static double factorialDouble(int n) |
| throws <a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></pre> |
| <div class="block"><span class="strong">Deprecated.</span> <i>use <a href="../../../../../org/apache/commons/math3/util/CombinatoricsUtils.html#factorialDouble(int)"><code>CombinatoricsUtils.factorialDouble(int)</code></a></i></div> |
| <div class="block">Compute n!, the<a href="http://mathworld.wolfram.com/Factorial.html"> |
| factorial</a> of <code>n</code> (the product of the numbers 1 to n), as a |
| <code>double</code>. |
| The result should be small enough to fit into a <code>double</code>: The |
| largest <code>n</code> for which <code>n! < Double.MAX_VALUE</code> is 170. |
| If the computed value exceeds <code>Double.MAX_VALUE</code>, |
| <code>Double.POSITIVE_INFINITY</code> is returned.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>n</code> - Argument.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd><code>n!</code></dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></code> - if <code>n < 0</code>.</dd></dl> |
| </li> |
| </ul> |
| <a name="factorialLog(int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>factorialLog</h4> |
| <pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a> |
| public static double factorialLog(int n) |
| throws <a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></pre> |
| <div class="block"><span class="strong">Deprecated.</span> <i>use <a href="../../../../../org/apache/commons/math3/util/CombinatoricsUtils.html#factorialLog(int)"><code>CombinatoricsUtils.factorialLog(int)</code></a></i></div> |
| <div class="block">Compute the natural logarithm of the factorial of <code>n</code>.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>n</code> - Argument.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd><code>n!</code></dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></code> - if <code>n < 0</code>.</dd></dl> |
| </li> |
| </ul> |
| <a name="gcd(int, int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>gcd</h4> |
| <pre>public static int gcd(int p, |
| int q) |
| throws <a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></pre> |
| <div class="block">Computes the greatest common divisor of the absolute value of two |
| numbers, using a modified version of the "binary gcd" method. |
| See Knuth 4.5.2 algorithm B. |
| The algorithm is due to Josef Stein (1961). |
| <br/> |
| Special cases: |
| <ul> |
| <li>The invocations |
| <code>gcd(Integer.MIN_VALUE, Integer.MIN_VALUE)</code>, |
| <code>gcd(Integer.MIN_VALUE, 0)</code> and |
| <code>gcd(0, Integer.MIN_VALUE)</code> throw an |
| <code>ArithmeticException</code>, because the result would be 2^31, which |
| is too large for an int value.</li> |
| <li>The result of <code>gcd(x, x)</code>, <code>gcd(0, x)</code> and |
| <code>gcd(x, 0)</code> is the absolute value of <code>x</code>, except |
| for the special cases above.</li> |
| <li>The invocation <code>gcd(0, 0)</code> is the only one which returns |
| <code>0</code>.</li> |
| </ul></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>p</code> - Number.</dd><dd><code>q</code> - Number.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>the greatest common divisor (never negative).</dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - if the result cannot be represented as |
| a non-negative <code>int</code> value.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>1.1</dd></dl> |
| </li> |
| </ul> |
| <a name="gcd(long, long)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>gcd</h4> |
| <pre>public static long gcd(long p, |
| long q) |
| throws <a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></pre> |
| <div class="block"><p> |
| Gets the greatest common divisor of the absolute value of two numbers, |
| using the "binary gcd" method which avoids division and modulo |
| operations. See Knuth 4.5.2 algorithm B. This algorithm is due to Josef |
| Stein (1961). |
| </p> |
| Special cases: |
| <ul> |
| <li>The invocations |
| <code>gcd(Long.MIN_VALUE, Long.MIN_VALUE)</code>, |
| <code>gcd(Long.MIN_VALUE, 0L)</code> and |
| <code>gcd(0L, Long.MIN_VALUE)</code> throw an |
| <code>ArithmeticException</code>, because the result would be 2^63, which |
| is too large for a long value.</li> |
| <li>The result of <code>gcd(x, x)</code>, <code>gcd(0L, x)</code> and |
| <code>gcd(x, 0L)</code> is the absolute value of <code>x</code>, except |
| for the special cases above. |
| <li>The invocation <code>gcd(0L, 0L)</code> is the only one which returns |
| <code>0L</code>.</li> |
| </ul></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>p</code> - Number.</dd><dd><code>q</code> - Number.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>the greatest common divisor, never negative.</dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - if the result cannot be represented as |
| a non-negative <code>long</code> value.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>2.1</dd></dl> |
| </li> |
| </ul> |
| <a name="lcm(int, int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>lcm</h4> |
| <pre>public static int lcm(int a, |
| int b) |
| throws <a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></pre> |
| <div class="block"><p> |
| Returns the least common multiple of the absolute value of two numbers, |
| using the formula <code>lcm(a,b) = (a / gcd(a,b)) * b</code>. |
| </p> |
| Special cases: |
| <ul> |
| <li>The invocations <code>lcm(Integer.MIN_VALUE, n)</code> and |
| <code>lcm(n, Integer.MIN_VALUE)</code>, where <code>abs(n)</code> is a |
| power of 2, throw an <code>ArithmeticException</code>, because the result |
| would be 2^31, which is too large for an int value.</li> |
| <li>The result of <code>lcm(0, x)</code> and <code>lcm(x, 0)</code> is |
| <code>0</code> for any <code>x</code>. |
| </ul></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>a</code> - Number.</dd><dd><code>b</code> - Number.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>the least common multiple, never negative.</dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - if the result cannot be represented as |
| a non-negative <code>int</code> value.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>1.1</dd></dl> |
| </li> |
| </ul> |
| <a name="lcm(long, long)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>lcm</h4> |
| <pre>public static long lcm(long a, |
| long b) |
| throws <a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></pre> |
| <div class="block"><p> |
| Returns the least common multiple of the absolute value of two numbers, |
| using the formula <code>lcm(a,b) = (a / gcd(a,b)) * b</code>. |
| </p> |
| Special cases: |
| <ul> |
| <li>The invocations <code>lcm(Long.MIN_VALUE, n)</code> and |
| <code>lcm(n, Long.MIN_VALUE)</code>, where <code>abs(n)</code> is a |
| power of 2, throw an <code>ArithmeticException</code>, because the result |
| would be 2^63, which is too large for an int value.</li> |
| <li>The result of <code>lcm(0L, x)</code> and <code>lcm(x, 0L)</code> is |
| <code>0L</code> for any <code>x</code>. |
| </ul></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>a</code> - Number.</dd><dd><code>b</code> - Number.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>the least common multiple, never negative.</dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - if the result cannot be represented |
| as a non-negative <code>long</code> value.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>2.1</dd></dl> |
| </li> |
| </ul> |
| <a name="mulAndCheck(int, int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>mulAndCheck</h4> |
| <pre>public static int mulAndCheck(int x, |
| int y) |
| throws <a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></pre> |
| <div class="block">Multiply two integers, checking for overflow.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - Factor.</dd><dd><code>y</code> - Factor.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>the product <code>x * y</code>.</dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - if the result can not be |
| represented as an <code>int</code>.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>1.1</dd></dl> |
| </li> |
| </ul> |
| <a name="mulAndCheck(long, long)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>mulAndCheck</h4> |
| <pre>public static long mulAndCheck(long a, |
| long b) |
| throws <a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></pre> |
| <div class="block">Multiply two long integers, checking for overflow.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>a</code> - Factor.</dd><dd><code>b</code> - Factor.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>the product <code>a * b</code>.</dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - if the result can not be represented |
| as a <code>long</code>.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>1.2</dd></dl> |
| </li> |
| </ul> |
| <a name="subAndCheck(int, int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>subAndCheck</h4> |
| <pre>public static int subAndCheck(int x, |
| int y) |
| throws <a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></pre> |
| <div class="block">Subtract two integers, checking for overflow.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - Minuend.</dd><dd><code>y</code> - Subtrahend.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>the difference <code>x - y</code>.</dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - if the result can not be represented |
| as an <code>int</code>.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>1.1</dd></dl> |
| </li> |
| </ul> |
| <a name="subAndCheck(long, long)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>subAndCheck</h4> |
| <pre>public static long subAndCheck(long a, |
| long b) |
| throws <a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></pre> |
| <div class="block">Subtract two long integers, checking for overflow.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>a</code> - Value.</dd><dd><code>b</code> - Value.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>the difference <code>a - b</code>.</dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - if the result can not be represented as a |
| <code>long</code>.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>1.2</dd></dl> |
| </li> |
| </ul> |
| <a name="pow(int, int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>pow</h4> |
| <pre>public static int pow(int k, |
| int e) |
| throws <a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a>, |
| <a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></pre> |
| <div class="block">Raise an int to an int power.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>k</code> - Number to raise.</dd><dd><code>e</code> - Exponent (must be positive or zero).</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>\( k^e \)</dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></code> - if <code>e < 0</code>.</dd> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - if the result would overflow.</dd></dl> |
| </li> |
| </ul> |
| <a name="pow(int, long)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>pow</h4> |
| <pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a> |
| public static int pow(int k, |
| long e) |
| throws <a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></pre> |
| <div class="block"><span class="strong">Deprecated.</span> <i>As of 3.3. Please use <a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#pow(int, int)"><code>pow(int,int)</code></a> instead.</i></div> |
| <div class="block">Raise an int to a long power.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>k</code> - Number to raise.</dd><dd><code>e</code> - Exponent (must be positive or zero).</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>k<sup>e</sup></dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></code> - if <code>e < 0</code>.</dd></dl> |
| </li> |
| </ul> |
| <a name="pow(long, int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>pow</h4> |
| <pre>public static long pow(long k, |
| int e) |
| throws <a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a>, |
| <a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></pre> |
| <div class="block">Raise a long to an int power.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>k</code> - Number to raise.</dd><dd><code>e</code> - Exponent (must be positive or zero).</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>\( k^e \)</dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></code> - if <code>e < 0</code>.</dd> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - if the result would overflow.</dd></dl> |
| </li> |
| </ul> |
| <a name="pow(long, long)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>pow</h4> |
| <pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a> |
| public static long pow(long k, |
| long e) |
| throws <a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></pre> |
| <div class="block"><span class="strong">Deprecated.</span> <i>As of 3.3. Please use <a href="../../../../../org/apache/commons/math3/util/ArithmeticUtils.html#pow(long, int)"><code>pow(long,int)</code></a> instead.</i></div> |
| <div class="block">Raise a long to a long power.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>k</code> - Number to raise.</dd><dd><code>e</code> - Exponent (must be positive or zero).</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>k<sup>e</sup></dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></code> - if <code>e < 0</code>.</dd></dl> |
| </li> |
| </ul> |
| <a name="pow(java.math.BigInteger, int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>pow</h4> |
| <pre>public static <a href="http://docs.oracle.com/javase/6/docs/api/java/math/BigInteger.html?is-external=true" title="class or interface in java.math">BigInteger</a> pow(<a href="http://docs.oracle.com/javase/6/docs/api/java/math/BigInteger.html?is-external=true" title="class or interface in java.math">BigInteger</a> k, |
| int e) |
| throws <a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></pre> |
| <div class="block">Raise a BigInteger to an int power.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>k</code> - Number to raise.</dd><dd><code>e</code> - Exponent (must be positive or zero).</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>k<sup>e</sup></dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></code> - if <code>e < 0</code>.</dd></dl> |
| </li> |
| </ul> |
| <a name="pow(java.math.BigInteger, long)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>pow</h4> |
| <pre>public static <a href="http://docs.oracle.com/javase/6/docs/api/java/math/BigInteger.html?is-external=true" title="class or interface in java.math">BigInteger</a> pow(<a href="http://docs.oracle.com/javase/6/docs/api/java/math/BigInteger.html?is-external=true" title="class or interface in java.math">BigInteger</a> k, |
| long e) |
| throws <a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></pre> |
| <div class="block">Raise a BigInteger to a long power.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>k</code> - Number to raise.</dd><dd><code>e</code> - Exponent (must be positive or zero).</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>k<sup>e</sup></dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></code> - if <code>e < 0</code>.</dd></dl> |
| </li> |
| </ul> |
| <a name="pow(java.math.BigInteger, java.math.BigInteger)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>pow</h4> |
| <pre>public static <a href="http://docs.oracle.com/javase/6/docs/api/java/math/BigInteger.html?is-external=true" title="class or interface in java.math">BigInteger</a> pow(<a href="http://docs.oracle.com/javase/6/docs/api/java/math/BigInteger.html?is-external=true" title="class or interface in java.math">BigInteger</a> k, |
| <a href="http://docs.oracle.com/javase/6/docs/api/java/math/BigInteger.html?is-external=true" title="class or interface in java.math">BigInteger</a> e) |
| throws <a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></pre> |
| <div class="block">Raise a BigInteger to a BigInteger power.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>k</code> - Number to raise.</dd><dd><code>e</code> - Exponent (must be positive or zero).</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>k<sup>e</sup></dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></code> - if <code>e < 0</code>.</dd></dl> |
| </li> |
| </ul> |
| <a name="stirlingS2(int, int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>stirlingS2</h4> |
| <pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a> |
| public static long stirlingS2(int n, |
| int k) |
| throws <a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a>, |
| <a href="../../../../../org/apache/commons/math3/exception/NumberIsTooLargeException.html" title="class in org.apache.commons.math3.exception">NumberIsTooLargeException</a>, |
| <a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></pre> |
| <div class="block"><span class="strong">Deprecated.</span> <i>use <a href="../../../../../org/apache/commons/math3/util/CombinatoricsUtils.html#stirlingS2(int, int)"><code>CombinatoricsUtils.stirlingS2(int, int)</code></a></i></div> |
| <div class="block">Returns the <a |
| href="http://mathworld.wolfram.com/StirlingNumberoftheSecondKind.html"> |
| Stirling number of the second kind</a>, "<code>S(n,k)</code>", the number of |
| ways of partitioning an <code>n</code>-element set into <code>k</code> non-empty |
| subsets. |
| <p> |
| The preconditions are <code>0 <= k <= n </code> (otherwise |
| <code>NotPositiveException</code> is thrown) |
| </p></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>n</code> - the size of the set</dd><dd><code>k</code> - the number of non-empty subsets</dd> |
| <dt><span class="strong">Returns:</span></dt><dd><code>S(n,k)</code></dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></code> - if <code>k < 0</code>.</dd> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/NumberIsTooLargeException.html" title="class in org.apache.commons.math3.exception">NumberIsTooLargeException</a></code> - if <code>k > n</code>.</dd> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - if some overflow happens, typically for n exceeding 25 and |
| k between 20 and n-2 (S(n,n-1) is handled specifically and does not overflow)</dd><dt><span class="strong">Since:</span></dt> |
| <dd>3.1</dd></dl> |
| </li> |
| </ul> |
| <a name="isPowerOfTwo(long)"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>isPowerOfTwo</h4> |
| <pre>public static boolean isPowerOfTwo(long n)</pre> |
| <div class="block">Returns true if the argument is a power of two.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>n</code> - the number to test</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>true if the argument is a power of two</dd></dl> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| </div> |
| <!-- ========= END OF CLASS DATA ========= --> |
| <!-- ======= START OF BOTTOM NAVBAR ====== --> |
| <div class="bottomNav"><a name="navbar_bottom"> |
| <!-- --> |
| </a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="class-use/ArithmeticUtils.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../help-doc.html">Help</a></li> |
| </ul> |
| <div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li>Prev Class</li> |
| <li><a href="../../../../../org/apache/commons/math3/util/BigReal.html" title="class in org.apache.commons.math3.util"><span class="strong">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../index.html?org/apache/commons/math3/util/ArithmeticUtils.html" target="_top">Frames</a></li> |
| <li><a href="ArithmeticUtils.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_bottom"> |
| <li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_bottom"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li>Field | </li> |
| <li>Constr | </li> |
| <li><a href="#method_summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li>Constr | </li> |
| <li><a href="#method_detail">Method</a></li> |
| </ul> |
| </div> |
| <a name="skip-navbar_bottom"> |
| <!-- --> |
| </a></div> |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> |
| <p class="legalCopy"><small>Copyright © 2003–2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </body> |
| </html> |