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

Unbounded dense vector holding unsigned integers of type unsigned long. More...

+ Inheritance diagram for CDPL.Math.ULVector:

Public Member Functions

None __init__ ()
 Constructs an empty vector (size zero).
 
None __init__ (ULVector v)
 Move-constructs a vector from v (v is left in a valid empty state). More...
 
None __init__ (int n)
 Constructs a vector of size n with default-initialized elements. More...
 
None __init__ (int n, int v)
 Constructs a vector of size n with every element initialized to v. More...
 
None __init__ (ConstFVectorExpression e)
 Initializes the ULVector instance. More...
 
None __init__ (ConstDVectorExpression e)
 Initializes the ULVector instance. More...
 
None __init__ (ConstLVectorExpression e)
 Initializes the ULVector instance. More...
 
None __init__ (ConstULVectorExpression e)
 Initializes the ULVector instance. More...
 
None __init__ (object a)
 Initializes the ULVector instance. More...
 
None resize (int n, int v=0)
 Resizes the vector to n elements. More...
 
None clear (int v=0)
 Sets every element of the vector to the value v. More...
 
int getObjectID ()
 Returns the numeric identifier (ID) of the wrapped C++ class instance. More...
 
ULVector assign (ConstFVectorExpression e)
 Resizes this vector to match e and assigns the elements of e without intermediate temporary. More...
 
ULVector assign (ConstDVectorExpression e)
 Resizes this vector to match e and assigns the elements of e without intermediate temporary. More...
 
ULVector assign (ConstLVectorExpression e)
 Resizes this vector to match e and assigns the elements of e without intermediate temporary. More...
 
ULVector assign (ConstULVectorExpression e)
 Resizes this vector to match e and assigns the elements of e without intermediate temporary. More...
 
ULVector assign (ULVector v)
 Move-assigns the elements of v to this 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 vector is empty. More...
 
int getSize ()
 Returns the current element count. More...
 
int getElement (int i)
 
object toArray ()
 
None swap (ULVector v)
 Swaps the contents of this vector with those of v. More...
 
None setElement (int i, int v)
 
bool __eq__ (ULVector v)
 Returns the result of the comparison operation self == v. More...
 
bool __eq__ (ConstULVectorExpression e)
 Returns the result of the comparison operation self == e. More...
 
bool __ne__ (ULVector v)
 Returns the result of the comparison operation self != v. More...
 
bool __ne__ (ConstULVectorExpression e)
 Returns the result of the comparison operation self != e. More...
 
int __call__ (int i)
 Returns a reference to the element at index i. More...
 
int __getitem__ (int i)
 
int __len__ ()
 
str __str__ ()
 Returns a string representation of the ULVector instance. More...
 
ULVector __pos__ ()
 
ConstULVectorExpression __neg__ ()
 
ConstULVectorExpression __add__ (ConstULVectorExpression e)
 Returns the result of the addition operation self + e. More...
 
ConstULVectorExpression __sub__ (ConstULVectorExpression e)
 Returns the result of the subtraction operation self - e. More...
 
ConstULVectorExpression __mul__ (int t)
 Returns the result of the multiplication operation self * t. More...
 
ConstULVectorExpression __mul__ (ConstULMatrixExpression e)
 Returns the result of the multiplication operation self * e. More...
 
ConstULVectorExpression __div__ (int t)
 Returns the result of the division operation self // t. More...
 
ConstULVectorExpression __truediv__ (int t)
 Returns the result of the true division operation self / t. More...
 
ConstULVectorExpression __rmul__ (int t)
 Returns the result of the multiplication operation t * self. More...
 
None __setitem__ (int i, int v)
 
ULVector __iadd__ (ULVector v)
 Performs the in-place addition operation self += v. More...
 
ULVector __iadd__ (ConstULVectorExpression e)
 Performs the in-place addition operation self += e. More...
 
ULVector __isub__ (ULVector v)
 Performs the in-place subtraction operation self -= v. More...
 
ULVector __isub__ (ConstULVectorExpression e)
 Performs the in-place subtraction operation self -= e. More...
 
ULVector __imul__ (int t)
 Performs the in-place multiplication operation self *= t. More...
 
ULVector __idiv__ (int t)
 Performs the in-place division operation self /= t. More...
 
ULVector __itruediv__ (int t)
 

Properties

 objectID = property(getObjectID)
 
 size = property(getSize)
 

Detailed Description

Unbounded dense vector holding unsigned integers of type unsigned long.

Constructor & Destructor Documentation

◆ __init__() [1/8]

None CDPL.Math.ULVector.__init__ ( ULVector  v)

Move-constructs a vector from v (v is left in a valid empty state).

Parameters
vThe vector to move from.

◆ __init__() [2/8]

None CDPL.Math.ULVector.__init__ ( int  n)

Constructs a vector of size n with default-initialized elements.

Parameters
nThe desired vector size.

◆ __init__() [3/8]

None CDPL.Math.ULVector.__init__ ( int  n,
int  v 
)

Constructs a vector of size n with every element initialized to v.

Parameters
nThe desired vector size.
vThe element value used to initialize every entry.

◆ __init__() [4/8]

None CDPL.Math.ULVector.__init__ ( ConstFVectorExpression  e)

Initializes the ULVector instance.

Parameters
e

◆ __init__() [5/8]

None CDPL.Math.ULVector.__init__ ( ConstDVectorExpression  e)

Initializes the ULVector instance.

Parameters
e

◆ __init__() [6/8]

None CDPL.Math.ULVector.__init__ ( ConstLVectorExpression  e)

Initializes the ULVector instance.

Parameters
e

◆ __init__() [7/8]

None CDPL.Math.ULVector.__init__ ( ConstULVectorExpression  e)

Initializes the ULVector instance.

Parameters
e

◆ __init__() [8/8]

None CDPL.Math.ULVector.__init__ ( object  a)

Initializes the ULVector instance.

Parameters
a

Member Function Documentation

◆ resize()

None CDPL.Math.ULVector.resize ( int  n,
int   v = 0 
)

Resizes the vector to n elements.

Parameters
nThe new element count.
vThe fill value for newly added elements.

◆ clear()

None CDPL.Math.ULVector.clear ( int   v = 0)

Sets every element of the vector to the value v.

Parameters
vThe fill value.

◆ getObjectID()

int CDPL.Math.ULVector.getObjectID ( )

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

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

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

Resizes this vector to match e and assigns the elements of e without intermediate temporary.

Parameters
eThe source vector expression.
Returns
self

◆ assign() [2/6]

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

Resizes this vector to match e and assigns the elements of e without intermediate temporary.

Parameters
eThe source vector expression.
Returns
self

◆ assign() [3/6]

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

Resizes this vector to match e and assigns the elements of e without intermediate temporary.

Parameters
eThe source vector expression.
Returns
self

◆ assign() [4/6]

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

Resizes this vector to match e and assigns the elements of e without intermediate temporary.

Parameters
eThe source vector expression.
Returns
self

◆ assign() [5/6]

ULVector CDPL.Math.ULVector.assign ( ULVector  v)

Move-assigns the elements of v to this vector.

Parameters
vThe source vector (left in a valid but unspecified state).
Returns
self

◆ assign() [6/6]

None CDPL.Math.ULVector.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.ULVector.isEmpty ( )

Tells whether the vector is empty.

Returns
True if the vector contains no elements, and False otherwise.

◆ getSize()

int CDPL.Math.ULVector.getSize ( )

Returns the current element count.

Returns
The number of elements.

◆ getElement()

int CDPL.Math.ULVector.getElement ( int  i)
Parameters
i
Returns

◆ toArray()

object CDPL.Math.ULVector.toArray ( )
Returns

◆ swap()

None CDPL.Math.ULVector.swap ( ULVector  v)

Swaps the contents of this vector with those of v.

Parameters
vThe vector to swap with.

◆ setElement()

None CDPL.Math.ULVector.setElement ( int  i,
int  v 
)
Parameters
i
v

◆ __eq__() [1/2]

bool CDPL.Math.ULVector.__eq__ ( ULVector  v)

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

Parameters
vThe ULVector instance to be compared with.
Returns
The result of the comparison operation.

◆ __eq__() [2/2]

bool CDPL.Math.ULVector.__eq__ ( ConstULVectorExpression  e)

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

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

◆ __ne__() [1/2]

bool CDPL.Math.ULVector.__ne__ ( ULVector  v)

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

Parameters
vThe ULVector instance to be compared with.
Returns
The result of the comparison operation.

◆ __ne__() [2/2]

bool CDPL.Math.ULVector.__ne__ ( ConstULVectorExpression  e)

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

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

◆ __call__()

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

Returns a reference to the element at index i.

Parameters
iThe zero-based element index.
Returns
A reference to the element.
Exceptions
Base.IndexErrorif i is out of range.

◆ __getitem__()

int CDPL.Math.ULVector.__getitem__ ( int  i)
Parameters
i
Returns

◆ __len__()

int CDPL.Math.ULVector.__len__ ( )
Returns

◆ __str__()

str CDPL.Math.ULVector.__str__ ( )

Returns a string representation of the ULVector instance.

Returns
The generated string representation.

◆ __pos__()

ULVector CDPL.Math.ULVector.__pos__ ( )
Returns

◆ __neg__()

ConstULVectorExpression CDPL.Math.ULVector.__neg__ ( )
Returns

◆ __add__()

ConstULVectorExpression CDPL.Math.ULVector.__add__ ( ConstULVectorExpression  e)

Returns the result of the addition operation self + e.

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

◆ __sub__()

ConstULVectorExpression CDPL.Math.ULVector.__sub__ ( ConstULVectorExpression  e)

Returns the result of the subtraction operation self - e.

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

◆ __mul__() [1/2]

ConstULVectorExpression CDPL.Math.ULVector.__mul__ ( int  t)

Returns the result of the multiplication operation self * t.

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

◆ __mul__() [2/2]

ConstULVectorExpression CDPL.Math.ULVector.__mul__ ( ConstULMatrixExpression  e)

Returns the result of the multiplication operation self * e.

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

◆ __div__()

ConstULVectorExpression CDPL.Math.ULVector.__div__ ( int  t)

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

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

◆ __truediv__()

ConstULVectorExpression CDPL.Math.ULVector.__truediv__ ( int  t)

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

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

◆ __rmul__()

ConstULVectorExpression CDPL.Math.ULVector.__rmul__ ( int  t)

Returns the result of the multiplication operation t * self.

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

◆ __setitem__()

None CDPL.Math.ULVector.__setitem__ ( int  i,
int  v 
)
Parameters
i
v

◆ __iadd__() [1/2]

ULVector CDPL.Math.ULVector.__iadd__ ( ULVector  v)

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

Parameters
vSpecifies the second addend.
Returns
The updated ULVector instance self.

◆ __iadd__() [2/2]

ULVector CDPL.Math.ULVector.__iadd__ ( ConstULVectorExpression  e)

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

Parameters
eSpecifies the second addend.
Returns
The updated ULVector instance self.

◆ __isub__() [1/2]

ULVector CDPL.Math.ULVector.__isub__ ( ULVector  v)

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

Parameters
vSpecifies the subtrahend.
Returns
The updated ULVector instance self.

◆ __isub__() [2/2]

ULVector CDPL.Math.ULVector.__isub__ ( ConstULVectorExpression  e)

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

Parameters
eSpecifies the subtrahend.
Returns
The updated ULVector instance self.

◆ __imul__()

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

Performs the in-place multiplication operation self *= t.

Parameters
tSpecifies the multiplier.
Returns
The updated ULVector instance self.

◆ __idiv__()

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

Performs the in-place division operation self /= t.

Parameters
tSpecifies the divisor.
Returns
The updated ULVector instance self.

◆ __itruediv__()

ULVector CDPL.Math.ULVector.__itruediv__ ( int  t)
Parameters
t
Returns