Esempio n. 1
0
        public DroppedDomain <T> Lub(DroppedDomain <T> other)
        {
            if (IsTop || other.IsTop)
            {
                return(Top);
            }
            var value = Value.Lub(other.Value);

            return(value == null ? null : new DroppedDomain <T>(value));
        }
Esempio n. 2
0
 public bool Lte(DroppedDomain <T> other)
 {
     if (other.IsTop)
     {
         return(true);
     }
     if (IsTop)
     {
         return(false);
     }
     return(Value.Lte(other.Value));
 }
Esempio n. 3
0
 public DroppedDomain <T> Lub(DroppedDomain <T> other, BoolRef changed)
 {
     if (IsTop)
     {
         return(Top);
     }
     else if (other.IsTop)
     {
         changed.Set();
         return(Top);
     }
     else
     {
         var value = Value.Lub(other.Value, changed);
         return(value == null ? null : new DroppedDomain <T>(value));
     }
 }
Esempio n. 4
0
 public bool CommutableWith(DroppedDomain <T> other)
 {
     if (IsTop && other.IsTop)
     {
         return(false);
     }
     else if (IsTop)
     {
         return(other.IsBottom);
     }
     else if (other.IsTop)
     {
         return(IsBottom);
     }
     else
     {
         return(Value.CommutableWith(other.Value));
     }
 }
Esempio n. 5
0
 static DroppedDomain()
 {
     Top = new DroppedDomain <T>(null);
 }