Chemical Data Processing Library Python API - Version 1.4.0
Public Member Functions | Properties | List of all members
CDPL.Math.LVectorRange Class Reference

Vector expression proxy that views a contiguous half-open subrange of an underlying vector. More...

+ Inheritance diagram for CDPL.Math.LVectorRange:

Public Member Functions

None __init__ (LVectorRange r)
 Contructs a copy of the LVectorRange instance r. More...
 
None __init__ (LVectorExpression e, Range r)
 Contructs the LVectorRange instance. More...
 
int getStart ()
 Returns the start index of the viewed range within the wrapped vector. More...
 
int getObjectID ()
 Returns the numeric identifier (ID) of the wrapped C++ class instance. More...
 
LVectorRange assign (ConstFVectorExpression e)
 Assigns the vector expression e to this view (writing through to the wrapped vector). More...
 
LVectorRange assign (ConstDVectorExpression e)
 Assigns the vector expression e to this view (writing through to the wrapped vector). More...
 
LVectorRange assign (ConstLVectorExpression e)
 Assigns the vector expression e to this view (writing through to the wrapped vector). More...
 
LVectorRange assign (ConstULVectorExpression e)
 Assigns the vector expression e to this view (writing through to the wrapped vector). More...
 
LVectorRange assign (LVectorRange r)
 Copies the elements of r into this view (writing through to the wrapped vector). More...
 
LVectorRange assign (object a)
 Assigns the contents of the numpy.ndarray object a to this view. More...
 
bool isEmpty ()
 Tells whether the view is empty (zero-length range). More...
 
int getSize ()
 Returns the size of the view (number of elements covered by the range). More...
 
int getElement (int i)
 Returns the element at index i of the view. More...
 
object toArray ()
 Converts the LVectorRange instance into a corresponding numpy.ndarray object. More...
 
None swap (LVectorRange r)
 Swaps the elements of this view with those of r. More...
 
None setElement (int i, int v)
 Sets the value of the element at index i of the view to v. More...
 
LVectorExpression getData ()
 Returns the wrapped vector. More...
 
bool __eq__ (LVectorRange r)
 Returns the result of the comparison operation self == r. More...
 
bool __eq__ (ConstLVectorExpression e)
 Returns the result of the comparison operation self == e. More...
 
bool __ne__ (LVectorRange r)
 Returns the result of the comparison operation self != r. More...
 
bool __ne__ (ConstLVectorExpression e)
 Returns the result of the comparison operation self != e. More...
 
int __call__ (int i)
 Returns the element at index i of the view. More...
 
int __getitem__ (int i)
 Returns the element at index i of the view. More...
 
int __len__ ()
 Returns the size of the view (number of elements covered by the range). More...
 
str __str__ ()
 Returns a string representation of the LVectorRange instance. More...
 
LVectorRange __pos__ ()
 Returns self. More...
 
ConstLVectorExpression __neg__ ()
 Returns the result of the operation self * -1. More...
 
ConstLVectorExpression __add__ (ConstLVectorExpression e)
 Returns the result of the addition operation self + e. More...
 
ConstLVectorExpression __sub__ (ConstLVectorExpression e)
 Returns the result of the subtraction operation self - e. More...
 
ConstLVectorExpression __mul__ (int t)
 Returns the result of the multiplication operation self * t. More...
 
ConstLVectorExpression __mul__ (ConstLMatrixExpression e)
 Returns the result of the multiplication operation self * e. More...
 
ConstLVectorExpression __div__ (int t)
 Returns the result of the division operation self // t. More...
 
ConstLVectorExpression __truediv__ (int t)
 Returns the result of the true division operation self / t. More...
 
ConstLVectorExpression __rmul__ (int t)
 Returns the result of the multiplication operation t * self. More...
 
None __setitem__ (int i, int v)
 Sets the value of the element at index i of the view to v. More...
 
LVectorRange __iadd__ (LVectorRange r)
 Adds the vector range r componentwise to this view. More...
 
LVectorRange __iadd__ (ConstLVectorExpression e)
 Adds the vector expression e componentwise to this view. More...
 
LVectorRange __isub__ (LVectorRange r)
 Subtracts the vector range r componentwise from this view. More...
 
LVectorRange __isub__ (ConstLVectorExpression e)
 Subtracts the vector expression e componentwise from this view. More...
 
LVectorRange __imul__ (int t)
 Multiplies every element of this view by the scalar t. More...
 
LVectorRange __idiv__ (int t)
 Divides every element of this view by the scalar t. More...
 
LVectorRange __itruediv__ (int t)
 Divides every element of this view by the scalar t. More...
 

Properties

 objectID = property(getObjectID)
 
 size = property(getSize)
 
 data = property(getData)
 
 start = property(getStart)
 

Detailed Description

Vector expression proxy that views a contiguous half-open subrange of an underlying vector.

Constructor & Destructor Documentation

◆ __init__() [1/2]

None CDPL.Math.LVectorRange.__init__ ( LVectorRange  r)

Contructs a copy of the LVectorRange instance r.

Parameters
rThe LVectorRange instance to copy.

◆ __init__() [2/2]

None CDPL.Math.LVectorRange.__init__ ( LVectorExpression  e,
Range  r 
)

Contructs the LVectorRange instance.

Parameters
e
r

Member Function Documentation

◆ getStart()

int CDPL.Math.LVectorRange.getStart ( )

Returns the start index of the viewed range within the wrapped vector.

Returns
The start index of the range.

◆ getObjectID()

int CDPL.Math.LVectorRange.getObjectID ( )

Returns the numeric identifier (ID) of the wrapped C++ class instance.

Different Python LVectorRange instances may reference the same underlying C++ class instance. The commonly used Python expression a is not b thus cannot tell reliably whether the two LVectorRange instances a and b reference different C++ objects. The numeric identifier returned by this method allows to correctly implement such an identity test via the simple expression a.getObjectID() != b.getObjectID().

Returns
The numeric ID of the internally referenced C++ class instance.

◆ assign() [1/6]

LVectorRange CDPL.Math.LVectorRange.assign ( ConstFVectorExpression  e)

Assigns the vector expression e to this view (writing through to the wrapped vector).

Parameters
eThe source vector expression.
Returns
self.

◆ assign() [2/6]

LVectorRange CDPL.Math.LVectorRange.assign ( ConstDVectorExpression  e)

Assigns the vector expression e to this view (writing through to the wrapped vector).

Parameters
eThe source vector expression.
Returns
self.

◆ assign() [3/6]

LVectorRange CDPL.Math.LVectorRange.assign ( ConstLVectorExpression  e)

Assigns the vector expression e to this view (writing through to the wrapped vector).

Parameters
eThe source vector expression.
Returns
self.

◆ assign() [4/6]

LVectorRange CDPL.Math.LVectorRange.assign ( ConstULVectorExpression  e)

Assigns the vector expression e to this view (writing through to the wrapped vector).

Parameters
eThe source vector expression.
Returns
self.

◆ assign() [5/6]

LVectorRange CDPL.Math.LVectorRange.assign ( LVectorRange  r)

Copies the elements of r into this view (writing through to the wrapped vector).

Parameters
rThe source range view.
Returns
self.

◆ assign() [6/6]

LVectorRange CDPL.Math.LVectorRange.assign ( object  a)

Assigns the contents of the numpy.ndarray object a to this view.

Parameters
aThe numpy.ndarray object.
See also
[NUMPY]

◆ isEmpty()

bool CDPL.Math.LVectorRange.isEmpty ( )

Tells whether the view is empty (zero-length range).

Returns
True if the range is empty, and False otherwise.

◆ getSize()

int CDPL.Math.LVectorRange.getSize ( )

Returns the size of the view (number of elements covered by the range).

Returns
The number of elements in the view.

◆ getElement()

int CDPL.Math.LVectorRange.getElement ( int  i)

Returns the element at index i of the view.

Parameters
iThe zero-based index within the view.
Returns
The value of the element v(range(i)).

◆ toArray()

object CDPL.Math.LVectorRange.toArray ( )

Converts the LVectorRange instance into a corresponding numpy.ndarray object.

Returns
The generated numpy.ndarray object.
See also
[NUMPY]

◆ swap()

None CDPL.Math.LVectorRange.swap ( LVectorRange  r)

Swaps the elements of this view with those of r.

Parameters
rThe view to swap with.

◆ setElement()

None CDPL.Math.LVectorRange.setElement ( int  i,
int  v 
)

Sets the value of the element at index i of the view to v.

Parameters
iThe zero-based index within the view.
vThe new value of the element.
Exceptions
Base.IndexErrorif i is not in the range [0, getSize()).

◆ getData()

LVectorExpression CDPL.Math.LVectorRange.getData ( )

Returns the wrapped vector.

Returns
The wrapped vector closure.

◆ __eq__() [1/2]

bool CDPL.Math.LVectorRange.__eq__ ( LVectorRange  r)

Returns the result of the comparison operation self == r.

Parameters
rThe LVectorRange instance to be compared with.
Returns
The result of the comparison operation.

◆ __eq__() [2/2]

bool CDPL.Math.LVectorRange.__eq__ ( ConstLVectorExpression  e)

Returns the result of the comparison operation self == e.

Parameters
eThe ConstLVectorExpression instance to be compared with.
Returns
The result of the comparison operation.

◆ __ne__() [1/2]

bool CDPL.Math.LVectorRange.__ne__ ( LVectorRange  r)

Returns the result of the comparison operation self != r.

Parameters
rThe LVectorRange instance to be compared with.
Returns
The result of the comparison operation.

◆ __ne__() [2/2]

bool CDPL.Math.LVectorRange.__ne__ ( ConstLVectorExpression  e)

Returns the result of the comparison operation self != e.

Parameters
eThe ConstLVectorExpression instance to be compared with.
Returns
The result of the comparison operation.

◆ __call__()

int CDPL.Math.LVectorRange.__call__ ( int  i)

Returns the element at index i of the view.

Parameters
iThe zero-based index within the view.
Returns
The value of the element v(range(i)).

◆ __getitem__()

int CDPL.Math.LVectorRange.__getitem__ ( int  i)

Returns the element at index i of the view.

Parameters
iThe zero-based index within the view.
Returns
The value of the element v(range(i)).

◆ __len__()

int CDPL.Math.LVectorRange.__len__ ( )

Returns the size of the view (number of elements covered by the range).

Returns
The number of elements in the view.

◆ __str__()

str CDPL.Math.LVectorRange.__str__ ( )

Returns a string representation of the LVectorRange instance.

Returns
The generated string representation.

◆ __pos__()

LVectorRange CDPL.Math.LVectorRange.__pos__ ( )

Returns self.

Returns
self.

◆ __neg__()

ConstLVectorExpression CDPL.Math.LVectorRange.__neg__ ( )

Returns the result of the operation self * -1.

Returns
A ConstLVectorExpression instance holding the result of the element negation.

◆ __add__()

ConstLVectorExpression CDPL.Math.LVectorRange.__add__ ( ConstLVectorExpression  e)

Returns the result of the addition operation self + e.

Parameters
eSpecifies the second addend.
Returns
A ConstLVectorExpression instance holding the result of the addition.

◆ __sub__()

ConstLVectorExpression CDPL.Math.LVectorRange.__sub__ ( ConstLVectorExpression  e)

Returns the result of the subtraction operation self - e.

Parameters
eSpecifies the subtrahend.
Returns
A LVectorRange instance holding the result of the subtraction.

◆ __mul__() [1/2]

ConstLVectorExpression CDPL.Math.LVectorRange.__mul__ ( int  t)

Returns the result of the multiplication operation self * t.

Parameters
tSpecifies the multiplier.
Returns
A ConstLVectorExpression instance holding the result of the multiplication.

◆ __mul__() [2/2]

ConstLVectorExpression CDPL.Math.LVectorRange.__mul__ ( ConstLMatrixExpression  e)

Returns the result of the multiplication operation self * e.

Parameters
eSpecifies the multiplier.
Returns
A ConstLVectorExpression instance holding the result of the multiplication.

◆ __div__()

ConstLVectorExpression CDPL.Math.LVectorRange.__div__ ( int  t)

Returns the result of the division operation self // t.

Parameters
tSpecifies the divisor.
Returns
A ConstLVectorExpression instance holding the result of the division.

◆ __truediv__()

ConstLVectorExpression CDPL.Math.LVectorRange.__truediv__ ( int  t)

Returns the result of the true division operation self / t.

Parameters
tSpecifies the divisor.
Returns
A ConstLVectorExpression instance holding the result of the division.

◆ __rmul__()

ConstLVectorExpression CDPL.Math.LVectorRange.__rmul__ ( int  t)

Returns the result of the multiplication operation t * self.

Parameters
tSpecifies the multiplicand.
Returns
A ConstLVectorExpression instance holding the result of the multiplication.

◆ __setitem__()

None CDPL.Math.LVectorRange.__setitem__ ( int  i,
int  v 
)

Sets the value of the element at index i of the view to v.

Parameters
iThe zero-based index within the view.
vThe new value of the element.
Exceptions
Base.IndexErrorif i is not in the range [0, getSize()).

◆ __iadd__() [1/2]

LVectorRange CDPL.Math.LVectorRange.__iadd__ ( LVectorRange  r)

Adds the vector range r componentwise to this view.

Parameters
rThe vector range to add.
Returns
self.

◆ __iadd__() [2/2]

LVectorRange CDPL.Math.LVectorRange.__iadd__ ( ConstLVectorExpression  e)

Adds the vector expression e componentwise to this view.

Parameters
eThe vector expression to add.
Returns
self.

◆ __isub__() [1/2]

LVectorRange CDPL.Math.LVectorRange.__isub__ ( LVectorRange  r)

Subtracts the vector range r componentwise from this view.

Parameters
rThe vector range to subtract.
Returns
self.

◆ __isub__() [2/2]

LVectorRange CDPL.Math.LVectorRange.__isub__ ( ConstLVectorExpression  e)

Subtracts the vector expression e componentwise from this view.

Parameters
eThe vector expression to subtract.
Returns
self.

◆ __imul__()

LVectorRange CDPL.Math.LVectorRange.__imul__ ( int  t)

Multiplies every element of this view by the scalar t.

Parameters
tThe scalar multiplier.
Returns
self.

◆ __idiv__()

LVectorRange CDPL.Math.LVectorRange.__idiv__ ( int  t)

Divides every element of this view by the scalar t.

Parameters
tThe scalar divisor.
Returns
self.

◆ __itruediv__()

LVectorRange CDPL.Math.LVectorRange.__itruediv__ ( int  t)

Divides every element of this view by the scalar t.

Parameters
tThe scalar divisor.
Returns
self.