Swarm-NG  1.1
swarmng.range_type.Range Class Reference

Simple data structure to specify a range and test against it This is different from Python range object since it has methods for testing if a number is in range and also supports infinite ranges. More...

Public Member Functions

def contains
 Test that the range contains the number i.
 
def with_limits
 Create an iterator limiting this range to lower and upper. More...
 
def lower
 Lower bound for the range. More...
 
def upper
 Upper bound for the range. More...
 
def ulPair
 Lower/Upper bound as a tuple. More...
 

Static Public Member Functions

def single
 Create a range that contains only one number The upper and lower bound are set to s. More...
 
def interval
 Create a range from a tuple. More...
 
def universal
 Create a range that contains everything. More...
 

Detailed Description

Simple data structure to specify a range and test against it This is different from Python range object since it has methods for testing if a number is in range and also supports infinite ranges.

To create a Range object: use one of the following static methods:

One of the main uses of Range is to test if it contains a number in the range

1 >>> r = Range.interval(5,8)
2 >>> r.contains(7)
3 true
4 >>> r.contains(9)
5 false

{.py}

A range object can be iterated on just like the Python range object

1 >>> for i in Range.interval(1,10):
2 ... print(i)
3 1
4 2
5 3
6 4
7 5
8 6
9 7
10 8
11 9
12 10

Note that these ranges contain the upper bound.

: make the constructor private

Definition at line 47 of file range_type.py.

Member Function Documentation

def swarmng.range_type.Range.interval (   t,
  u = None 
)
static

Create a range from a tuple.

This function can take one tuple as an argument or two arguments.

1 >>> t = (3,8)
2 >>> Range.interval(t)
3 >>> Range.interval(10,20)

Definition at line 66 of file range_type.py.

Referenced by swarmng.range_type.Range.contains(), swarmng.range_type.Range.lower(), swarmng.range_type.Range.ulPair(), swarmng.range_type.Range.upper(), and swarmng.range_type.Range.with_limits().

def swarmng.range_type.Range.lower (   self)

Lower bound for the range.

WARNING it is undefined for Universal range type.

Definition at line 133 of file range_type.py.

References swarmng.range_type.Range.interval(), swarmng.query.Keplerian.type, and swarmng.range_type.Range.type.

def swarmng.range_type.Range.single (   s)
static

Create a range that contains only one number The upper and lower bound are set to s.

Definition at line 51 of file range_type.py.

Referenced by swarmng.range_type.Range.with_limits().

def swarmng.range_type.Range.ulPair (   self)

Lower/Upper bound as a tuple.

WARNING it is undefined for Universal range type.

Definition at line 153 of file range_type.py.

References swarmng.range_type.Range.interval(), swarmng.query.Keplerian.type, and swarmng.range_type.Range.type.

def swarmng.range_type.Range.universal ( )
static

Create a range that contains everything.

The contain method for this object always returns true. The upper and lower for this object are undefined.

Definition at line 80 of file range_type.py.

References swarmng.query.Keplerian.type, and swarmng.range_type.Range.type.

def swarmng.range_type.Range.upper (   self)

Upper bound for the range.

WARNING it is undefined for Universal range type.

Definition at line 143 of file range_type.py.

References swarmng.range_type.Range.interval(), swarmng.query.Keplerian.type, and swarmng.range_type.Range.type.

def swarmng.range_type.Range.with_limits (   self,
  lower,
  upper 
)

Create an iterator limiting this range to lower and upper.

this is very useful for cases where UNIVERSAL ranges are allowed, because the UNIVERSAL range will be clamped to the provided lower and uppper bound.

Definition at line 107 of file range_type.py.

References swarmng.range_type.Range.interval(), swarmng.range_type.Range.single(), swarmng.query.Keplerian.type, and swarmng.range_type.Range.type.


The documentation for this class was generated from the following file: