# [jira] [Created] (MATH-866) New method to compute relative deviation between two floating numbers

3 messages
Open this post in threaded view
|

## [jira] [Created] (MATH-866) New method to compute relative deviation between two floating numbers

 Yannick TANGUY created MATH-866: -----------------------------------              Summary: New method to compute relative deviation between two floating numbers                  Key: MATH-866                  URL: https://issues.apache.org/jira/browse/MATH-866             Project: Commons Math           Issue Type: Improvement     Affects Versions: 3.1             Reporter: Yannick TANGUY A new method to compute a relative deviation would be very useful. In order to handle properly odd values (O+,0-,NaN,Infinity), we suggest to call first the classical equals() method (strict equality, using one ulp as a threshold) and then the relative tolerance. Here is the code we use :   public static boolean equalsWithRelativeTolerance(final double x, final double y, final double eps) {         // Initialisation         boolean isEqual = false;         // very close (including both equals 0.0) case         if (equals(x, y)) {             isEqual = true;         }         // common case         else {             // Relative difference computation             final double absoluteMax = FastMath.max(FastMath.abs(x), FastMath.abs(y));             final double relativeDifference = FastMath.abs((x - y) / absoluteMax);             //test             if (relativeDifference < eps) {                 isEqual = true;             }         }         return isEqual;     } -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira