class_docstr: Representation for a range of values. 
class_docstr_tok: ["Representation","for","a","range","of","values","."]
docstr: Combiner for Right shift operation.
  
  >>> Interval(10, 100) >> Interval(3, 8)
  Interval(low=0, high=12)
  >>> Interval(10, float("inf")) >> Interval(3, 8)
  Interval(low=0, high=inf)
  >>> Interval(-float("inf"), 0) >> Interval(3, 8)
  Interval(low=-inf, high=0)
  >>> Interval(-30, 10) >> Interval(3, float('inf'))
  Interval(low=-4, high=1)
docstr_tok: ["Combiner","for","Right","shift","operation",".",">",">",">","Interval","(","10",",","100",")",">",">","Interval","(","3",",","8",")","Interval","(","low=0",",","high=12",")",">",">",">","Interval","(","10",",","float","(","``","inf","''",")",")",">",">","Interval","(","3",",","8",")","Interval","(","low=0",",","high=inf",")",">",">",">","Interval","(","-float","(","``","inf","''",")",",","0",")",">",">","Interval","(","3",",","8",")","Interval","(","low=-inf",",","high=0",")",">",">",">","Interval","(","-30",",","10",")",">",">","Interval","(","3",",","float","(","'inf","'",")",")","Interval","(","low=-4",",","high=1",")"]
code: def __rshift__(range1, range2):
      """
      Combiner for Right shift operation.
  
      >>> Interval(10, 100) >> Interval(3, 8)
      Interval(low=0, high=12)
      >>> Interval(10, float("inf")) >> Interval(3, 8)
      Interval(low=0, high=inf)
      >>> Interval(-float("inf"), 0) >> Interval(3, 8)
      Interval(low=-inf, high=0)
      >>> Interval(-30, 10) >> Interval(3, float('inf'))
      Interval(low=-4, high=1)
      """
      if range1.low <= 0:
          if isinf(range1.low):
              min_ = range1.low
          else:
              min_ = range1.low >> range2.low
      elif isinf(range2.high):
          min_ = 0
      else:
          min_ = range1.low >> range2.high
      if isinf(range1.high):
          max_ = range1.high
      elif isinf(range2.low):
          max_ = 0
      else:
          max_ = range1.high >> range2.low
      return Interval(min_, max_)
  
imports: from math import isinf, isnan
  import itertools
  import numpy
label_desc: Use image node_id 15 for calling the Interval obj's underlying member method code with example usage: obj.__rshift__(range1, range2) and returns: Interval