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

Vector expression proxy that views a strided slice of an underlying vector. More...

+ Inheritance diagram for CDPL.Math.DVectorSlice:

Public Member Functions

None __init__ (DVectorSlice s)
 Initializes a copy of the DVectorSlice instance s. More...
 
None __init__ (DVectorExpression e, Slice s)
 Initializes the DVectorSlice instance. More...
 
int getStart ()
 Returns the start index of the slice within the wrapped vector. More...
 
int getStride ()
 Returns the stride of the slice (step between successive viewed elements). More...
 
int getObjectID ()
 Returns the numeric identifier (ID) of the wrapped C++ class instance. More...
 
DVectorSlice assign (ConstFVectorExpression e)
 Assigns the vector expression e to this view without intermediate temporary (use only when e does not alias the wrapped vector). More...
 
DVectorSlice assign (ConstDVectorExpression e)
 Assigns the vector expression e to this view without intermediate temporary (use only when e does not alias the wrapped vector). More...
 
DVectorSlice assign (ConstLVectorExpression e)
 Assigns the vector expression e to this view without intermediate temporary (use only when e does not alias the wrapped vector). More...
 
DVectorSlice assign (ConstULVectorExpression e)
 Assigns the vector expression e to this view without intermediate temporary (use only when e does not alias the wrapped vector). More...
 
DVectorSlice assign (DVectorSlice s)
 Copies the elements of s into this view (writing through to the wrapped vector). More...
 
None assign (object a)
 Replaces the current state of self with a copy of the state of the object instance a. More...
 
bool isEmpty ()
 Tells whether the view is empty (zero-length slice). More...
 
int getSize ()
 Returns the size of the view (number of elements covered by the slice). More...
 
float getElement (int i)
 
object toArray ()
 
None swap (DVectorSlice s)
 Swaps the elements of this view with those of s. More...
 
None setElement (int i, float v)
 
DVectorExpression getData ()
 Returns a reference to the wrapped vector (via its stored closure). More...
 
bool __eq__ (DVectorSlice s)
 Returns the result of the comparison operation self == s. More...
 
bool __eq__ (ConstDVectorExpression e)
 Returns the result of the comparison operation self == e. More...
 
bool __ne__ (DVectorSlice s)
 Returns the result of the comparison operation self != s. More...
 
bool __ne__ (ConstDVectorExpression e)
 Returns the result of the comparison operation self != e. More...
 
float __call__ (int i)
 Returns a reference to the element at index i of the view. More...
 
float __getitem__ (int i)
 Returns a reference to the element at index i of the view. More...
 
int __len__ ()
 Returns the size of the view (number of elements covered by the slice). More...
 
str __str__ ()
 Returns a string representation of the DVectorSlice instance. More...
 
DVectorSlice __pos__ ()
 
ConstDVectorExpression __neg__ ()
 
ConstDVectorExpression __add__ (ConstDVectorExpression e)
 Returns the result of the addition operation self + e. More...
 
ConstDVectorExpression __sub__ (ConstDVectorExpression e)
 Returns the result of the subtraction operation self - e. More...
 
ConstDVectorExpression __mul__ (float t)
 Returns the result of the multiplication operation self * t. More...
 
ConstDVectorExpression __mul__ (ConstDMatrixExpression e)
 Returns the result of the multiplication operation self * e. More...
 
ConstDVectorExpression __div__ (float t)
 Returns the result of the division operation self // t. More...
 
ConstDVectorExpression __truediv__ (float t)
 Returns the result of the true division operation self / t. More...
 
ConstDVectorExpression __rmul__ (float t)
 Returns the result of the multiplication operation t * self. More...
 
None __setitem__ (int i, float v)
 
DVectorSlice __iadd__ (DVectorSlice s)
 Performs the in-place addition operation self += s. More...
 
DVectorSlice __iadd__ (ConstDVectorExpression e)
 Adds the vector expression e componentwise to this view. More...
 
DVectorSlice __isub__ (DVectorSlice s)
 Performs the in-place subtraction operation self -= s. More...
 
DVectorSlice __isub__ (ConstDVectorExpression e)
 Subtracts the vector expression e componentwise from this view. More...
 
DVectorSlice __imul__ (float t)
 Multiplies every element of this view by the scalar t. More...
 
DVectorSlice __idiv__ (float t)
 Divides every element of this view by the scalar t. More...
 
DVectorSlice __itruediv__ (float t)
 

Properties

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

Detailed Description

Vector expression proxy that views a strided slice of an underlying vector.

Constructor & Destructor Documentation

◆ __init__() [1/2]

None CDPL.Math.DVectorSlice.__init__ ( DVectorSlice  s)

Initializes a copy of the DVectorSlice instance s.

Parameters
sThe DVectorSlice instance to copy.

◆ __init__() [2/2]

None CDPL.Math.DVectorSlice.__init__ ( DVectorExpression  e,
Slice  s 
)

Initializes the DVectorSlice instance.

Parameters
e
s

Member Function Documentation

◆ getStart()

int CDPL.Math.DVectorSlice.getStart ( )

Returns the start index of the slice within the wrapped vector.

Returns
The start index of the slice.

◆ getStride()

int CDPL.Math.DVectorSlice.getStride ( )

Returns the stride of the slice (step between successive viewed elements).

Returns
The stride.

◆ getObjectID()

int CDPL.Math.DVectorSlice.getObjectID ( )

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

Different Python DVectorSlice 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 DVectorSlice 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]

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

Assigns the vector expression e to this view without intermediate temporary (use only when e does not alias the wrapped vector).

Parameters
eThe source vector expression.
Returns
self

◆ assign() [2/6]

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

Assigns the vector expression e to this view without intermediate temporary (use only when e does not alias the wrapped vector).

Parameters
eThe source vector expression.
Returns
self

◆ assign() [3/6]

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

Assigns the vector expression e to this view without intermediate temporary (use only when e does not alias the wrapped vector).

Parameters
eThe source vector expression.
Returns
self

◆ assign() [4/6]

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

Assigns the vector expression e to this view without intermediate temporary (use only when e does not alias the wrapped vector).

Parameters
eThe source vector expression.
Returns
self

◆ assign() [5/6]

DVectorSlice CDPL.Math.DVectorSlice.assign ( DVectorSlice  s)

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

Parameters
sThe source slice view.
Returns
self

◆ assign() [6/6]

None CDPL.Math.DVectorSlice.assign ( object  a)

Replaces the current state of self with a copy of the state of the object instance a.

Parameters
aThe object instance to copy.
Returns
self

◆ isEmpty()

bool CDPL.Math.DVectorSlice.isEmpty ( )

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

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

◆ getSize()

int CDPL.Math.DVectorSlice.getSize ( )

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

Returns
The number of elements in the view.

◆ swap()

None CDPL.Math.DVectorSlice.swap ( DVectorSlice  s)

Swaps the elements of this view with those of s.

Parameters
sThe view to swap with.

◆ getData()

DVectorExpression CDPL.Math.DVectorSlice.getData ( )

Returns a reference to the wrapped vector (via its stored closure).

Returns
A reference to the wrapped vector closure.

◆ __eq__() [1/2]

bool CDPL.Math.DVectorSlice.__eq__ ( DVectorSlice  s)

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

Parameters
sThe DVectorSlice instance to be compared with.
Returns
The result of the comparison operation.

◆ __eq__() [2/2]

bool CDPL.Math.DVectorSlice.__eq__ ( ConstDVectorExpression  e)

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

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

◆ __ne__() [1/2]

bool CDPL.Math.DVectorSlice.__ne__ ( DVectorSlice  s)

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

Parameters
sThe DVectorSlice instance to be compared with.
Returns
The result of the comparison operation.

◆ __ne__() [2/2]

bool CDPL.Math.DVectorSlice.__ne__ ( ConstDVectorExpression  e)

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

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

◆ __call__()

float CDPL.Math.DVectorSlice.__call__ ( int  i)

Returns a reference to the element at index i of the view.

Parameters
iThe zero-based index within the view.
Returns
A reference to the underlying element v(slice(i)).

◆ __getitem__()

float CDPL.Math.DVectorSlice.__getitem__ ( int  i)

Returns a reference to the element at index i of the view.

Parameters
iThe zero-based index within the view.
Returns
A reference to the underlying element.

◆ __len__()

int CDPL.Math.DVectorSlice.__len__ ( )

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

Returns
The number of elements in the view.

◆ __str__()

str CDPL.Math.DVectorSlice.__str__ ( )

Returns a string representation of the DVectorSlice instance.

Returns
The generated string representation.

◆ __add__()

ConstDVectorExpression CDPL.Math.DVectorSlice.__add__ ( ConstDVectorExpression  e)

Returns the result of the addition operation self + e.

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

◆ __sub__()

ConstDVectorExpression CDPL.Math.DVectorSlice.__sub__ ( ConstDVectorExpression  e)

Returns the result of the subtraction operation self - e.

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

◆ __mul__() [1/2]

ConstDVectorExpression CDPL.Math.DVectorSlice.__mul__ ( float  t)

Returns the result of the multiplication operation self * t.

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

◆ __mul__() [2/2]

ConstDVectorExpression CDPL.Math.DVectorSlice.__mul__ ( ConstDMatrixExpression  e)

Returns the result of the multiplication operation self * e.

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

◆ __div__()

ConstDVectorExpression CDPL.Math.DVectorSlice.__div__ ( float  t)

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

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

◆ __truediv__()

ConstDVectorExpression CDPL.Math.DVectorSlice.__truediv__ ( float  t)

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

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

◆ __rmul__()

ConstDVectorExpression CDPL.Math.DVectorSlice.__rmul__ ( float  t)

Returns the result of the multiplication operation t * self.

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

◆ __iadd__() [1/2]

DVectorSlice CDPL.Math.DVectorSlice.__iadd__ ( DVectorSlice  s)

Performs the in-place addition operation self += s.

Parameters
sSpecifies the second addend.
Returns
The updated DVectorSlice instance self.

◆ __iadd__() [2/2]

DVectorSlice CDPL.Math.DVectorSlice.__iadd__ ( ConstDVectorExpression  e)

Adds the vector expression e componentwise to this view.

Parameters
eThe vector expression to add.
Returns
self

◆ __isub__() [1/2]

DVectorSlice CDPL.Math.DVectorSlice.__isub__ ( DVectorSlice  s)

Performs the in-place subtraction operation self -= s.

Parameters
sSpecifies the subtrahend.
Returns
The updated DVectorSlice instance self.

◆ __isub__() [2/2]

DVectorSlice CDPL.Math.DVectorSlice.__isub__ ( ConstDVectorExpression  e)

Subtracts the vector expression e componentwise from this view.

Parameters
eThe vector expression to subtract.
Returns
self

◆ __imul__()

DVectorSlice CDPL.Math.DVectorSlice.__imul__ ( float  t)

Multiplies every element of this view by the scalar t.

Parameters
tThe scalar multiplier.
Returns
self

◆ __idiv__()

DVectorSlice CDPL.Math.DVectorSlice.__idiv__ ( float  t)

Divides every element of this view by the scalar t.

Parameters
tThe scalar divisor.
Returns
self