Cream.Domain.Cap C# (CSharp) Method

Cap() public abstract method

public abstract Cap ( Domain d ) : Domain
d Domain
return Domain
        public abstract Domain Cap(Domain d);

Usage Example

Example #1
0
        //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);
        }