Two double value arrays are almost equal
/* Copyright (C) 2003 Univ. of Massachusetts Amherst, Computer Science Dept.
This file is part of "MALLET" (MAchine Learning for LanguagE Toolkit).
http://www.cs.umass.edu/~mccallum/mallet
This software is provided under the terms of the Common Public License,
version 1.0, as published by http://www.opensource.org. For further
information, see the file `LICENSE' included with this distribution. */
//package cc.mallet.util;
/**
*
*
* @author <a href="mailto:casutton@cs.umass.edu">Charles Sutton</a>
* @version $Id: ArrayUtils.java,v 1.1 2007/10/22 21:37:40 mccallum Exp $
*/
public class Util {
public static boolean almostEquals(double[] d1, double[] d2, double eps) {
for (int i = 0; i < d1.length; i++) {
double v1 = d1[i];
double v2 = d2[i];
if (!almostEquals(v1, v2, eps))
return false;
}
return true;
}
/**
* Numbers that are closer than this are considered equal by almostEquals.
*/
public static double EPSILON = 0.000001;
public static boolean almostEquals(double d1, double d2) {
return almostEquals(d1, d2, EPSILON);
}
public static boolean almostEquals(double d1, double d2, double epsilon) {
return Math.abs(d1 - d2) < epsilon;
}
}
Related examples in the same category