You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ah...@apache.org on 2020/04/05 12:44:06 UTC
[commons-numbers] 01/06: Use same javadoc for float and double
Precision variants.
This is an automated email from the ASF dual-hosted git repository.
aherbert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-numbers.git
commit 50fcfa34769917080f44f11c82c822b8fd928cbc
Author: Alex Herbert <ah...@apache.org>
AuthorDate: Sun Apr 5 12:04:51 2020 +0100
Use same javadoc for float and double Precision variants.
---
.../org/apache/commons/numbers/core/Precision.java | 42 ++++++++++++----------
1 file changed, 23 insertions(+), 19 deletions(-)
diff --git a/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/Precision.java b/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/Precision.java
index 4155b51..7acce24 100644
--- a/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/Precision.java
+++ b/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/Precision.java
@@ -184,8 +184,9 @@ public final class Precision {
}
/**
- * Returns true if the arguments are equal or within the range of allowed
- * error (inclusive). Returns {@code false} if either of the arguments
+ * Returns {@code true} if there is no float value strictly between the
+ * arguments or the difference between them is within the range of allowed
+ * error (inclusive). Returns {@code false} if either of the arguments
* is NaN.
*
* @param x first value
@@ -198,8 +199,9 @@ public final class Precision {
}
/**
- * Returns true if the arguments are both NaN, are equal, or are within the range
- * of allowed error (inclusive).
+ * Returns true if the arguments are both NaN, there are no float value strictly
+ * between the arguments or the difference between them is within the range of allowed
+ * error (inclusive).
*
* @param x first value
* @param y second value
@@ -208,18 +210,22 @@ public final class Precision {
* or both are NaN.
*/
public static boolean equalsIncludingNaN(float x, float y, float eps) {
- return equalsIncludingNaN(x, y) || (Math.abs(y - x) <= eps);
+ return equalsIncludingNaN(x, y, 1) || (Math.abs(y - x) <= eps);
}
/**
* Returns true if the arguments are equal or within the range of allowed
- * error (inclusive).
- * Two float numbers are considered equal if there are {@code (maxUlps - 1)}
- * (or fewer) floating point numbers between them, i.e. two adjacent floating
- * point numbers are considered equal.
+ * error (inclusive). Returns {@code false} if either of the arguments is NaN.
+ * <p>
+ * Two double numbers are considered equal if there are {@code (maxUlps - 1)}
+ * (or fewer) floating point numbers between them, i.e. two adjacent
+ * floating point numbers are considered equal.
+ * </p>
+ * <p>
* Adapted from <a
* href="http://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/">
- * Bruce Dawson</a>. Returns {@code false} if either of the arguments is NaN.
+ * Bruce Dawson</a>.
+ * </p>
*
* @param x first value
* @param y second value
@@ -258,11 +264,10 @@ public final class Precision {
}
return isEqual && !Float.isNaN(x) && !Float.isNaN(y);
-
}
/**
- * Returns true if the arguments are both NaN or if they are equal as defined
+ * Returns true if both arguments are NaN or if they are equal as defined
* by {@link #equals(float,float,int) equals(x, y, maxUlps)}.
*
* @param x first value
@@ -319,8 +324,7 @@ public final class Precision {
* @param x First value.
* @param y Second value.
* @param eps Amount of allowed absolute error.
- * @return {@code true} if the values are two adjacent floating point
- * numbers or they are within range of each other.
+ * @return {@code true} if the values are equal or within range of each other.
*/
public static boolean equals(double x, double y, double eps) {
return equals(x, y, 1) || Math.abs(y - x) <= eps;
@@ -350,8 +354,9 @@ public final class Precision {
}
/**
- * Returns true if the arguments are both NaN, are equal or are within the range
- * of allowed error (inclusive).
+ * Returns true if the arguments are both NaN, there are no double value strictly
+ * between the arguments or the difference between them is within the range of allowed
+ * error (inclusive).
*
* @param x first value
* @param y second value
@@ -365,7 +370,7 @@ public final class Precision {
/**
* Returns true if the arguments are equal or within the range of allowed
- * error (inclusive).
+ * error (inclusive). Returns {@code false} if either of the arguments is NaN.
* <p>
* Two float numbers are considered equal if there are {@code (maxUlps - 1)}
* (or fewer) floating point numbers between them, i.e. two adjacent
@@ -374,7 +379,7 @@ public final class Precision {
* <p>
* Adapted from <a
* href="http://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/">
- * Bruce Dawson</a>. Returns {@code false} if either of the arguments is NaN.
+ * Bruce Dawson</a>.
* </p>
*
* @param x first value
@@ -414,7 +419,6 @@ public final class Precision {
}
return isEqual && !Double.isNaN(x) && !Double.isNaN(y);
-
}
/**