Ejemplo n.º 1
0
 def intersection(self, o):
     if self.is_compatible(o):
         svl, svu = Vector(self.lower, smart=True), Vector(self.upper, smart=True)
         ovl, ovu = Vector(o.lower, smart=True), Vector(o.upper, smart=True)
         return Interval(self.dim, vmax(svl, ovl)[0], vmin(svu, ovu)[0], self.stamp)
     else:
         return NullInterval(self.dim)
Ejemplo n.º 2
0
 def union(self, o):
     if o.is_Null and self.dim is o.dim:
         return self._rebuild()
     elif self.is_compatible(o):
         svl, svu = Vector(self.lower, smart=True), Vector(self.upper, smart=True)
         ovl, ovu = Vector(o.lower, smart=True), Vector(o.upper, smart=True)
         return Interval(self.dim, vmin(svl, ovl)[0], vmax(svu, ovu)[0], self.stamp)
     else:
         raise ValueError("Cannot compute union of non-compatible Intervals (%s, %s)" %
                          (self, o))
Ejemplo n.º 3
0
 def union(self, o):
     if o.is_Null and self.dim == o.dim:
         return self._rebuild()
     elif self.is_compatible(o):
         svl, svu = Vector(self.lower, smart=True), Vector(self.upper,
                                                           smart=True)
         ovl, ovu = Vector(o.lower, smart=True), Vector(o.upper, smart=True)
         return Interval(self.dim,
                         vmin(svl, ovl)[0],
                         vmax(svu, ovu)[0], self.stamp)
     else:
         return IntervalGroup([self._rebuild(), o._rebuild()])