Beispiel #1
0
        /// <summary>
        /// Get all value sets for the variable.
        /// </summary>
        /// <param name="variable">Variable</param>
        /// <param name="assignment">All value assignments.</param>
        /// <param name="constraintNetwork">Constraint network.</param>
        /// <returns>All value sets for the variable.</returns>
        private IEnumerable <ValueSet> OrderDomainValues(VariableBase variable, SnapshotLabelAssignment assignment, ConstraintNetwork constraintNetwork)
        {
            switch (variable)
            {
            case SolverVariable solverVariable:
                return(solverVariable.GetCandidates());

            case EncapsulatedVariable encapsulatedVariable:
                return(encapsulatedVariable.GetCandidates());

            default:
                throw new NotImplementedException();
            }
        }
Beispiel #2
0
 internal Value(VariableBase variable, int value)
 {
     Variable = variable;
     Content  = value;
 }
Beispiel #3
0
 internal bool IsAssigned(VariableBase variable)
 {
     return(_assignments.Any(valueSet => valueSet.IsAssigned(variable.Name)));
 }