public static IEnumerable <int> WhereFalse( this TranslatedArray <GRBVar> array, Func <GRBVar, double> valueSelector = null) { foreach (var i in array.Indices) { if (array[i].ToDouble(valueSelector) < 0.5) { yield return(i); } } }
public static IEnumerable <int> WhereNonZero( this TranslatedArray <GRBVar> array, Func <GRBVar, double> valueSelector = null) { var comparer = NumericComparer.Default; foreach (var i in array.Indices) { if (comparer.AreEqual(array[i].ToDouble(valueSelector), 0.0) == false) { yield return(i); } } }
public static bool TryWhereNonZero( this TranslatedArray <GRBVar> variables, out int index, Func <GRBVar, double> valueSelector = null) { var comparer = NumericComparer.Default; index = default; foreach (var i in variables.Indices) { if (comparer.AreEqual(variables[i].ToDouble(valueSelector), 0.0) == false) { index = i; return(true); } } return(false); }