python_arango_ogm.utils.f_range

 1class frange():
 2  """
 3    Floating point range which allows checking presence of an item (inclusive
 4    of lower; exclusive of upper).  This issn't intended to replace all range
 5    functions.  However, you can do things like this:
 6    f_range=frange(3.3, 9.9)
 7    assert 3.2 not in f_range
 8    assert 3.3 in f_range
 9    assert 9.8 in f_range
10    assert 9.9 not in f_range
11    assert 55 not in f_range
12  """
13
14  def __init__(self, lower, upper, upper_inclusive=False):
15    if upper < lower:
16      raise ValueError(f"Upper should be greater or equal than lower: {upper} < {lower}")
17    self.lower = lower
18    self.upper = upper
19    self.upper_inclusive = upper_inclusive
20
21  def __contains__(self, key):
22    k = float(key)
23    smaller_upper = (k <= self.upper if self.upper_inclusive else k < self.upper)
24    return k >= self.lower and smaller_upper
class frange:
 2class frange():
 3  """
 4    Floating point range which allows checking presence of an item (inclusive
 5    of lower; exclusive of upper).  This issn't intended to replace all range
 6    functions.  However, you can do things like this:
 7    f_range=frange(3.3, 9.9)
 8    assert 3.2 not in f_range
 9    assert 3.3 in f_range
10    assert 9.8 in f_range
11    assert 9.9 not in f_range
12    assert 55 not in f_range
13  """
14
15  def __init__(self, lower, upper, upper_inclusive=False):
16    if upper < lower:
17      raise ValueError(f"Upper should be greater or equal than lower: {upper} < {lower}")
18    self.lower = lower
19    self.upper = upper
20    self.upper_inclusive = upper_inclusive
21
22  def __contains__(self, key):
23    k = float(key)
24    smaller_upper = (k <= self.upper if self.upper_inclusive else k < self.upper)
25    return k >= self.lower and smaller_upper

Floating point range which allows checking presence of an item (inclusive of lower; exclusive of upper). This issn't intended to replace all range functions. However, you can do things like this: f_range=frange(3.3, 9.9) assert 3.2 not in f_range assert 3.3 in f_range assert 9.8 in f_range assert 9.9 not in f_range assert 55 not in f_range

frange(lower, upper, upper_inclusive=False)
15  def __init__(self, lower, upper, upper_inclusive=False):
16    if upper < lower:
17      raise ValueError(f"Upper should be greater or equal than lower: {upper} < {lower}")
18    self.lower = lower
19    self.upper = upper
20    self.upper_inclusive = upper_inclusive
lower
upper
upper_inclusive