internal EquivalenceClassEval(IEquivalenceClasser <IN, OUT> eq, EquivalenceClassEval.Eval.CollectionContainsChecker <In> checker, string summaryName) { { //Eval eval = new Eval(); // this one is all side effects /* returns a Pair of each */ /* there is some discomfort here, we should really be using an EqualityChecker for checker, but * I screwed up the API. */ // public static String formatNumber(double d) { // double frac = d % 1.0; // int whole = (int) Math.round(d - frac); // int frac1 = (int) Math.round(frac * 1000); // String prePad = ""; // if(whole < 1000) // prePad += " "; // if(whole > 100) // prePad += " "; // if(whole > 10) // prePad += " "; // return pad + whole + "." + frac1; // } numberFormat.SetMaximumFractionDigits(4); numberFormat.SetMinimumFractionDigits(4); numberFormat.SetMinimumIntegerDigits(1); numberFormat.SetMaximumIntegerDigits(1); } this.eq = eq; this.checker = checker; this.summaryName = summaryName; }
protected internal static void RemoveItem <T>(T o, ICollection <T> c, EquivalenceClassEval.Eval.CollectionContainsChecker <T> checker) { foreach (T o1 in c) { if (checker.Contained(o, Java.Util.Collections.Singleton(o1))) { c.Remove(o1); return; } } }
public Eval(bool bagEval, EquivalenceClassEval.IEqualityChecker <T> e) { checker = new EquivalenceClassEval.Eval.CollectionContainsChecker <T>(e); this.bagEval = bagEval; }