Collections Data Structure Java

/* 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 Charles Sutton
 * @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;
  }
}