static public FltVar CardinalityMax(FltVar[] list) { FltVar chosenVar = null; for (int idx = 0; idx < list.Length; ++idx) { FltVar var = list[idx]; if (!var.IsBound() && !var.IsEmpty() && (ReferenceEquals(chosenVar, null) || (chosenVar.Domain.Cardinality < var.Domain.Cardinality))) { chosenVar = var; } } return(chosenVar); }
static public FltVar MostConstrained(FltVar[] list) { FltVar chosenVar = null; for (int idx = 0; idx < list.Length; ++idx) { FltVar var = list[idx]; if (!var.IsBound() && !var.IsEmpty() && (ReferenceEquals(chosenVar, null) || chosenVar.ConstraintList.Count < var.ConstraintList.Count)) { chosenVar = var; } } return(chosenVar); }