| <!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>Precision (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="Precision (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/Precision.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><a href="../../../../../org/apache/commons/math3/util/Pair.html" title="class in org.apache.commons.math3.util"><span class="strong">Prev Class</span></a></li> |
| <li><a href="../../../../../org/apache/commons/math3/util/ResizableDoubleArray.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/Precision.html" target="_top">Frames</a></li> |
| <li><a href="Precision.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><a href="#field_summary">Field</a> | </li> |
| <li>Constr | </li> |
| <li><a href="#method_summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field_detail">Field</a> | </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 Precision" class="title">Class Precision</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.Precision</li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <hr> |
| <br> |
| <pre>public class <span class="strong">Precision</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">Utilities for comparing numbers.</div> |
| <dl><dt><span class="strong">Since:</span></dt> |
| <dd>3.0</dd> |
| <dt><span class="strong">Version:</span></dt> |
| <dd>$Id: Precision.java 1591835 2014-05-02 09:04:01Z tn $</dd></dl> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- =========== FIELD SUMMARY =========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="field_summary"> |
| <!-- --> |
| </a> |
| <h3>Field Summary</h3> |
| <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation"> |
| <caption><span>Fields</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colLast" scope="col">Field and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static double</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/Precision.html#EPSILON">EPSILON</a></strong></code> |
| <div class="block"> |
| Largest double-precision floating-point number such that |
| <code>1 + EPSILON</code> is numerically equal to 1.</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/Precision.html#SAFE_MIN">SAFE_MIN</a></strong></code> |
| <div class="block">Safe minimum, such that <code>1 / SAFE_MIN</code> does not overflow.</div> |
| </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| <!-- ========== 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/Precision.html#compareTo(double, double, double)">compareTo</a></strong>(double x, |
| double y, |
| double eps)</code> |
| <div class="block">Compares two numbers given some amount of allowed error.</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/Precision.html#compareTo(double, double, int)">compareTo</a></strong>(double x, |
| double y, |
| int maxUlps)</code> |
| <div class="block">Compares two numbers given some amount of allowed error.</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/Precision.html#equals(double, double)">equals</a></strong>(double x, |
| double y)</code> |
| <div class="block">Returns true iff they are equal as defined by |
| <a href="../../../../../org/apache/commons/math3/util/Precision.html#equals(double, double, int)"><code>equals(x, y, 1)</code></a>.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/Precision.html#equals(double, double, double)">equals</a></strong>(double x, |
| double y, |
| double eps)</code> |
| <div class="block">Returns <code>true</code> if there is no double value strictly between the |
| arguments or the difference between them is within the range of allowed |
| error (inclusive).</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/Precision.html#equals(double, double, int)">equals</a></strong>(double x, |
| double y, |
| int maxUlps)</code> |
| <div class="block">Returns true if both arguments are equal or within the range of allowed |
| error (inclusive).</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/Precision.html#equals(float, float)">equals</a></strong>(float x, |
| float y)</code> |
| <div class="block">Returns true iff they are equal as defined by |
| <a href="../../../../../org/apache/commons/math3/util/Precision.html#equals(float, float, int)"><code>equals(x, y, 1)</code></a>.</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/Precision.html#equals(float, float, float)">equals</a></strong>(float x, |
| float y, |
| float eps)</code> |
| <div class="block">Returns true if both arguments are equal or within the range of allowed |
| error (inclusive).</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/Precision.html#equals(float, float, int)">equals</a></strong>(float x, |
| float y, |
| int maxUlps)</code> |
| <div class="block">Returns true if both arguments are equal or within the range of allowed |
| error (inclusive).</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/Precision.html#equalsIncludingNaN(double, double)">equalsIncludingNaN</a></strong>(double x, |
| double y)</code> |
| <div class="block">Returns true if both arguments are NaN or neither is NaN and they are |
| equal as defined by <a href="../../../../../org/apache/commons/math3/util/Precision.html#equals(double, double)"><code>equals(x, y, 1)</code></a>.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/Precision.html#equalsIncludingNaN(double, double, double)">equalsIncludingNaN</a></strong>(double x, |
| double y, |
| double eps)</code> |
| <div class="block">Returns true if both arguments are NaN or are equal or within the range |
| of allowed error (inclusive).</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/Precision.html#equalsIncludingNaN(double, double, int)">equalsIncludingNaN</a></strong>(double x, |
| double y, |
| int maxUlps)</code> |
| <div class="block">Returns true if both arguments are NaN or if they are equal as defined |
| by <a href="../../../../../org/apache/commons/math3/util/Precision.html#equals(double, double, int)"><code>equals(x, y, maxUlps)</code></a>.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/Precision.html#equalsIncludingNaN(float, float)">equalsIncludingNaN</a></strong>(float x, |
| float y)</code> |
| <div class="block">Returns true if both arguments are NaN or neither is NaN and they are |
| equal as defined by <a href="../../../../../org/apache/commons/math3/util/Precision.html#equals(float, float)"><code>equals(x, y, 1)</code></a>.</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/Precision.html#equalsIncludingNaN(float, float, float)">equalsIncludingNaN</a></strong>(float x, |
| float y, |
| float eps)</code> |
| <div class="block">Returns true if both arguments are NaN or are equal or within the range |
| of allowed error (inclusive).</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/Precision.html#equalsIncludingNaN(float, float, int)">equalsIncludingNaN</a></strong>(float x, |
| float y, |
| int maxUlps)</code> |
| <div class="block">Returns true if both arguments are NaN or if they are equal as defined |
| by <a href="../../../../../org/apache/commons/math3/util/Precision.html#equals(float, float, int)"><code>equals(x, y, maxUlps)</code></a>.</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/Precision.html#equalsWithRelativeTolerance(double, double, double)">equalsWithRelativeTolerance</a></strong>(double x, |
| double y, |
| double eps)</code> |
| <div class="block">Returns <code>true</code> if there is no double value strictly between the |
| arguments or the relative difference between them is smaller or equal |
| to the given tolerance.</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/Precision.html#representableDelta(double, double)">representableDelta</a></strong>(double x, |
| double originalDelta)</code> |
| <div class="block">Computes a number <code>delta</code> close to <code>originalDelta</code> with |
| the property that</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/Precision.html#round(double, int)">round</a></strong>(double x, |
| int scale)</code> |
| <div class="block">Rounds the given value to the specified number of decimal places.</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/Precision.html#round(double, int, int)">round</a></strong>(double x, |
| int scale, |
| int roundingMethod)</code> |
| <div class="block">Rounds the given value to the specified number of decimal places.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static float</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/Precision.html#round(float, int)">round</a></strong>(float x, |
| int scale)</code> |
| <div class="block">Rounds the given value to the specified number of decimal places.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static float</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/util/Precision.html#round(float, int, int)">round</a></strong>(float x, |
| int scale, |
| int roundingMethod)</code> |
| <div class="block">Rounds the given value to the specified number of decimal places.</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"> |
| <!-- ============ FIELD DETAIL =========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="field_detail"> |
| <!-- --> |
| </a> |
| <h3>Field Detail</h3> |
| <a name="EPSILON"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>EPSILON</h4> |
| <pre>public static final double EPSILON</pre> |
| <div class="block"><p> |
| Largest double-precision floating-point number such that |
| <code>1 + EPSILON</code> is numerically equal to 1. This value is an upper |
| bound on the relative error due to rounding real numbers to double |
| precision floating-point numbers. |
| </p> |
| <p> |
| In IEEE 754 arithmetic, this is 2<sup>-53</sup>. |
| </p></div> |
| <dl><dt><span class="strong">See Also:</span></dt><dd><a href="http://en.wikipedia.org/wiki/Machine_epsilon">Machine epsilon</a></dd></dl> |
| </li> |
| </ul> |
| <a name="SAFE_MIN"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>SAFE_MIN</h4> |
| <pre>public static final double SAFE_MIN</pre> |
| <div class="block">Safe minimum, such that <code>1 / SAFE_MIN</code> does not overflow. |
| <br/> |
| In IEEE 754 arithmetic, this is also the smallest normalized |
| number 2<sup>-1022</sup>.</div> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <!-- ============ METHOD DETAIL ========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method_detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a name="compareTo(double, double, double)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>compareTo</h4> |
| <pre>public static int compareTo(double x, |
| double y, |
| double eps)</pre> |
| <div class="block">Compares two numbers given some amount of allowed error.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - the first number</dd><dd><code>y</code> - the second number</dd><dd><code>eps</code> - the amount of error to allow when checking for equality</dd> |
| <dt><span class="strong">Returns:</span></dt><dd><ul><li>0 if <a href="../../../../../org/apache/commons/math3/util/Precision.html#equals(double, double, double)"><code>equals(x, y, eps)</code></a></li> |
| <li>< 0 if !<a href="../../../../../org/apache/commons/math3/util/Precision.html#equals(double, double, double)"><code>equals(x, y, eps)</code></a> && x < y</li> |
| <li>> 0 if !<a href="../../../../../org/apache/commons/math3/util/Precision.html#equals(double, double, double)"><code>equals(x, y, eps)</code></a> && x > y</li></ul></dd></dl> |
| </li> |
| </ul> |
| <a name="compareTo(double, double, int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>compareTo</h4> |
| <pre>public static int compareTo(double x, |
| double y, |
| int maxUlps)</pre> |
| <div class="block">Compares two numbers given some amount of allowed error. |
| Two float numbers are considered equal if there are <code>(maxUlps - 1)</code> |
| (or fewer) floating point numbers between them, i.e. two adjacent floating |
| point numbers are considered equal. |
| Adapted from <a |
| href="http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm"> |
| Bruce Dawson</a></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - first value</dd><dd><code>y</code> - second value</dd><dd><code>maxUlps</code> - <code>(maxUlps - 1)</code> is the number of floating point |
| values between <code>x</code> and <code>y</code>.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd><ul><li>0 if <a href="../../../../../org/apache/commons/math3/util/Precision.html#equals(double, double, int)"><code>equals(x, y, maxUlps)</code></a></li> |
| <li>< 0 if !<a href="../../../../../org/apache/commons/math3/util/Precision.html#equals(double, double, int)"><code>equals(x, y, maxUlps)</code></a> && x < y</li> |
| <li>> 0 if !<a href="../../../../../org/apache/commons/math3/util/Precision.html#equals(double, double, int)"><code>equals(x, y, maxUlps)</code></a> && x > y</li></ul></dd></dl> |
| </li> |
| </ul> |
| <a name="equals(float, float)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>equals</h4> |
| <pre>public static boolean equals(float x, |
| float y)</pre> |
| <div class="block">Returns true iff they are equal as defined by |
| <a href="../../../../../org/apache/commons/math3/util/Precision.html#equals(float, float, int)"><code>equals(x, y, 1)</code></a>.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - first value</dd><dd><code>y</code> - second value</dd> |
| <dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the values are equal.</dd></dl> |
| </li> |
| </ul> |
| <a name="equalsIncludingNaN(float, float)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>equalsIncludingNaN</h4> |
| <pre>public static boolean equalsIncludingNaN(float x, |
| float y)</pre> |
| <div class="block">Returns true if both arguments are NaN or neither is NaN and they are |
| equal as defined by <a href="../../../../../org/apache/commons/math3/util/Precision.html#equals(float, float)"><code>equals(x, y, 1)</code></a>.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - first value</dd><dd><code>y</code> - second value</dd> |
| <dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the values are equal or both are NaN.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>2.2</dd></dl> |
| </li> |
| </ul> |
| <a name="equals(float, float, float)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>equals</h4> |
| <pre>public static boolean equals(float x, |
| float y, |
| float eps)</pre> |
| <div class="block">Returns true if both arguments are equal or within the range of allowed |
| error (inclusive).</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - first value</dd><dd><code>y</code> - second value</dd><dd><code>eps</code> - the amount of absolute error to allow.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the values are equal or within range of each other.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>2.2</dd></dl> |
| </li> |
| </ul> |
| <a name="equalsIncludingNaN(float, float, float)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>equalsIncludingNaN</h4> |
| <pre>public static boolean equalsIncludingNaN(float x, |
| float y, |
| float eps)</pre> |
| <div class="block">Returns true if both arguments are NaN or are equal or within the range |
| of allowed error (inclusive).</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - first value</dd><dd><code>y</code> - second value</dd><dd><code>eps</code> - the amount of absolute error to allow.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the values are equal or within range of each other, |
| or both are NaN.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>2.2</dd></dl> |
| </li> |
| </ul> |
| <a name="equals(float, float, int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>equals</h4> |
| <pre>public static boolean equals(float x, |
| float y, |
| int maxUlps)</pre> |
| <div class="block">Returns true if both arguments are equal or within the range of allowed |
| error (inclusive). |
| Two float numbers are considered equal if there are <code>(maxUlps - 1)</code> |
| (or fewer) floating point numbers between them, i.e. two adjacent floating |
| point numbers are considered equal. |
| Adapted from <a |
| href="http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm"> |
| Bruce Dawson</a></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - first value</dd><dd><code>y</code> - second value</dd><dd><code>maxUlps</code> - <code>(maxUlps - 1)</code> is the number of floating point |
| values between <code>x</code> and <code>y</code>.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd><code>true</code> if there are fewer than <code>maxUlps</code> floating |
| point values between <code>x</code> and <code>y</code>.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>2.2</dd></dl> |
| </li> |
| </ul> |
| <a name="equalsIncludingNaN(float, float, int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>equalsIncludingNaN</h4> |
| <pre>public static boolean equalsIncludingNaN(float x, |
| float y, |
| int maxUlps)</pre> |
| <div class="block">Returns true if both arguments are NaN or if they are equal as defined |
| by <a href="../../../../../org/apache/commons/math3/util/Precision.html#equals(float, float, int)"><code>equals(x, y, maxUlps)</code></a>.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - first value</dd><dd><code>y</code> - second value</dd><dd><code>maxUlps</code> - <code>(maxUlps - 1)</code> is the number of floating point |
| values between <code>x</code> and <code>y</code>.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd><code>true</code> if both arguments are NaN or if there are less than |
| <code>maxUlps</code> floating point values between <code>x</code> and <code>y</code>.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>2.2</dd></dl> |
| </li> |
| </ul> |
| <a name="equals(double, double)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>equals</h4> |
| <pre>public static boolean equals(double x, |
| double y)</pre> |
| <div class="block">Returns true iff they are equal as defined by |
| <a href="../../../../../org/apache/commons/math3/util/Precision.html#equals(double, double, int)"><code>equals(x, y, 1)</code></a>.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - first value</dd><dd><code>y</code> - second value</dd> |
| <dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the values are equal.</dd></dl> |
| </li> |
| </ul> |
| <a name="equalsIncludingNaN(double, double)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>equalsIncludingNaN</h4> |
| <pre>public static boolean equalsIncludingNaN(double x, |
| double y)</pre> |
| <div class="block">Returns true if both arguments are NaN or neither is NaN and they are |
| equal as defined by <a href="../../../../../org/apache/commons/math3/util/Precision.html#equals(double, double)"><code>equals(x, y, 1)</code></a>.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - first value</dd><dd><code>y</code> - second value</dd> |
| <dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the values are equal or both are NaN.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>2.2</dd></dl> |
| </li> |
| </ul> |
| <a name="equals(double, double, double)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>equals</h4> |
| <pre>public static boolean equals(double x, |
| double y, |
| double eps)</pre> |
| <div class="block">Returns <code>true</code> if there is no double value strictly between the |
| arguments or the difference between them is within the range of allowed |
| error (inclusive).</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - First value.</dd><dd><code>y</code> - Second value.</dd><dd><code>eps</code> - Amount of allowed absolute error.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the values are two adjacent floating point |
| numbers or they are within range of each other.</dd></dl> |
| </li> |
| </ul> |
| <a name="equalsWithRelativeTolerance(double, double, double)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>equalsWithRelativeTolerance</h4> |
| <pre>public static boolean equalsWithRelativeTolerance(double x, |
| double y, |
| double eps)</pre> |
| <div class="block">Returns <code>true</code> if there is no double value strictly between the |
| arguments or the relative difference between them is smaller or equal |
| to the given tolerance.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - First value.</dd><dd><code>y</code> - Second value.</dd><dd><code>eps</code> - Amount of allowed relative error.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the values are two adjacent floating point |
| numbers or they are within range of each other.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>3.1</dd></dl> |
| </li> |
| </ul> |
| <a name="equalsIncludingNaN(double, double, double)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>equalsIncludingNaN</h4> |
| <pre>public static boolean equalsIncludingNaN(double x, |
| double y, |
| double eps)</pre> |
| <div class="block">Returns true if both arguments are NaN or are equal or within the range |
| of allowed error (inclusive).</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - first value</dd><dd><code>y</code> - second value</dd><dd><code>eps</code> - the amount of absolute error to allow.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the values are equal or within range of each other, |
| or both are NaN.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>2.2</dd></dl> |
| </li> |
| </ul> |
| <a name="equals(double, double, int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>equals</h4> |
| <pre>public static boolean equals(double x, |
| double y, |
| int maxUlps)</pre> |
| <div class="block">Returns true if both arguments are equal or within the range of allowed |
| error (inclusive). |
| Two float numbers are considered equal if there are <code>(maxUlps - 1)</code> |
| (or fewer) floating point numbers between them, i.e. two adjacent floating |
| point numbers are considered equal. |
| Adapted from <a |
| href="http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm"> |
| Bruce Dawson</a></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - first value</dd><dd><code>y</code> - second value</dd><dd><code>maxUlps</code> - <code>(maxUlps - 1)</code> is the number of floating point |
| values between <code>x</code> and <code>y</code>.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd><code>true</code> if there are fewer than <code>maxUlps</code> floating |
| point values between <code>x</code> and <code>y</code>.</dd></dl> |
| </li> |
| </ul> |
| <a name="equalsIncludingNaN(double, double, int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>equalsIncludingNaN</h4> |
| <pre>public static boolean equalsIncludingNaN(double x, |
| double y, |
| int maxUlps)</pre> |
| <div class="block">Returns true if both arguments are NaN or if they are equal as defined |
| by <a href="../../../../../org/apache/commons/math3/util/Precision.html#equals(double, double, int)"><code>equals(x, y, maxUlps)</code></a>.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - first value</dd><dd><code>y</code> - second value</dd><dd><code>maxUlps</code> - <code>(maxUlps - 1)</code> is the number of floating point |
| values between <code>x</code> and <code>y</code>.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd><code>true</code> if both arguments are NaN or if there are less than |
| <code>maxUlps</code> floating point values between <code>x</code> and <code>y</code>.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>2.2</dd></dl> |
| </li> |
| </ul> |
| <a name="round(double, int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>round</h4> |
| <pre>public static double round(double x, |
| int scale)</pre> |
| <div class="block">Rounds the given value to the specified number of decimal places. |
| The value is rounded using the <a href="http://docs.oracle.com/javase/6/docs/api/java/math/BigDecimal.html?is-external=true#ROUND_HALF_UP" title="class or interface in java.math"><code>BigDecimal.ROUND_HALF_UP</code></a> method.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - Value to round.</dd><dd><code>scale</code> - Number of digits to the right of the decimal point.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>the rounded value.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>1.1 (previously in <code>MathUtils</code>, moved as of version 3.0)</dd></dl> |
| </li> |
| </ul> |
| <a name="round(double, int, int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>round</h4> |
| <pre>public static double round(double x, |
| int scale, |
| int roundingMethod)</pre> |
| <div class="block">Rounds the given value to the specified number of decimal places. |
| The value is rounded using the given method which is any method defined |
| in <a href="http://docs.oracle.com/javase/6/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math"><code>BigDecimal</code></a>. |
| If <code>x</code> is infinite or <code>NaN</code>, then the value of <code>x</code> is |
| returned unchanged, regardless of the other parameters.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - Value to round.</dd><dd><code>scale</code> - Number of digits to the right of the decimal point.</dd><dd><code>roundingMethod</code> - Rounding method as defined in <a href="http://docs.oracle.com/javase/6/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math"><code>BigDecimal</code></a>.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>the rounded value.</dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/ArithmeticException.html?is-external=true" title="class or interface in java.lang">ArithmeticException</a></code> - if <code>roundingMethod == ROUND_UNNECESSARY</code> |
| and the specified scaling operation would require rounding.</dd> |
| <dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if <code>roundingMethod</code> does not |
| represent a valid rounding mode.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>1.1 (previously in <code>MathUtils</code>, moved as of version 3.0)</dd></dl> |
| </li> |
| </ul> |
| <a name="round(float, int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>round</h4> |
| <pre>public static float round(float x, |
| int scale)</pre> |
| <div class="block">Rounds the given value to the specified number of decimal places. |
| The value is rounded using the <a href="http://docs.oracle.com/javase/6/docs/api/java/math/BigDecimal.html?is-external=true#ROUND_HALF_UP" title="class or interface in java.math"><code>BigDecimal.ROUND_HALF_UP</code></a> method.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - Value to round.</dd><dd><code>scale</code> - Number of digits to the right of the decimal point.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>the rounded value.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>1.1 (previously in <code>MathUtils</code>, moved as of version 3.0)</dd></dl> |
| </li> |
| </ul> |
| <a name="round(float, int, int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>round</h4> |
| <pre>public static float round(float x, |
| int scale, |
| int roundingMethod) |
| throws <a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a>, |
| <a href="../../../../../org/apache/commons/math3/exception/MathIllegalArgumentException.html" title="class in org.apache.commons.math3.exception">MathIllegalArgumentException</a></pre> |
| <div class="block">Rounds the given value to the specified number of decimal places. |
| The value is rounded using the given method which is any method defined |
| in <a href="http://docs.oracle.com/javase/6/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math"><code>BigDecimal</code></a>.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - Value to round.</dd><dd><code>scale</code> - Number of digits to the right of the decimal point.</dd><dd><code>roundingMethod</code> - Rounding method as defined in <a href="http://docs.oracle.com/javase/6/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math"><code>BigDecimal</code></a>.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>the rounded value.</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 an exact operation is required but result is not exact</dd> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MathIllegalArgumentException.html" title="class in org.apache.commons.math3.exception">MathIllegalArgumentException</a></code> - if <code>roundingMethod</code> is not a valid rounding method.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>1.1 (previously in <code>MathUtils</code>, moved as of version 3.0)</dd></dl> |
| </li> |
| </ul> |
| <a name="representableDelta(double, double)"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>representableDelta</h4> |
| <pre>public static double representableDelta(double x, |
| double originalDelta)</pre> |
| <div class="block">Computes a number <code>delta</code> close to <code>originalDelta</code> with |
| the property that <pre><code> |
| x + delta - x |
| </code></pre> |
| is exactly machine-representable. |
| This is useful when computing numerical derivatives, in order to reduce |
| roundoff errors.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - Value.</dd><dd><code>originalDelta</code> - Offset value.</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>a number <code>delta</code> so that <code>x + delta</code> and <code>x</code> |
| differ by a representable floating number.</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/Precision.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><a href="../../../../../org/apache/commons/math3/util/Pair.html" title="class in org.apache.commons.math3.util"><span class="strong">Prev Class</span></a></li> |
| <li><a href="../../../../../org/apache/commons/math3/util/ResizableDoubleArray.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/Precision.html" target="_top">Frames</a></li> |
| <li><a href="Precision.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><a href="#field_summary">Field</a> | </li> |
| <li>Constr | </li> |
| <li><a href="#method_summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field_detail">Field</a> | </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> |