Пример #1
0
 public override Element /*!*/ Widen(Element /*!*/ a, Element /*!*/ b)
 {
     //Contract.Requires(b != null);
     //Contract.Requires(a != null);
     Contract.Ensures(Contract.Result <Element>() != null);
     widenCount++;
     return(lattice.Widen(a, b));
 }
Пример #2
0
        public PolyhedraEnvironment <Expression> Widening(PolyhedraEnvironment <Expression> prev)
        {
            PolyhedraEnvironment <Expression> result;

            if (AbstractDomainsHelper.TryTrivialJoin(this, prev, out result))
            {
                return(result);
            }
            else
            {
                // Boogie's polyhedra has it in the other order
                return(Factory(UnderlyingPolyhedra.Widen(prev.embedded, embedded), intv.Widening(prev.intv)));
            }
        }