//public int getMostSoftSatisfiedDomain()
//{
// Domain d = v[0].Domain;
// if (CType == ConstraintTypes.Soft)
// {
// for (int i = 1; i < v.Length; i++)
// {
// d = d.Cap(v[i].Domain);
// if (d.EmptyDomain)
// return -1;
// }
// }
// return ((IntDomain) d).Min();
//}
protected internal override bool Satisfy(Trail trail)
{
Domain d = v[0].Domain;
for (int i = 1; i < v.Length; i++)
{
d = d.Cap(v[i].Domain);
if (d.Empty)
{
return(false);
}
}
if (trail != null)
{
for (int i = 0; i < v.Length; i++)
{
v[i].UpdateDomain(d, trail);
}
}
return(true);
}