CSol
Public Member Functions | Protected Attributes | List of all members
Vector Class Reference

OpenCL linear algebra vector class.

#include <csol_la.h>

Public Member Functions

 Vector (LinearAlgebra &, int)
 Vector constructor. More...
 
 Vector (const Vector &)
 Vector copy constructor. More...
 
int get_n () const
 
Vector operator* (const Vector &r_) const
 
Vector operator* (const REAL &r_) const
 
Vectoroperator*= (const Vector &)
 Vector *= operator. More...
 
Vectoroperator*= (const REAL &)
 Vector *= operator. More...
 
Vector operator+ (const Vector &r_) const
 
Vectoroperator+= (const Vector &)
 Vector += operator. More...
 
Vector operator- (const Vector &r_) const
 
Vectoroperator-= (const Vector &)
 Vector -= operator. More...
 
Vectoroperator= (const Vector &)
 Vector assignment operator. More...
 
void read (REAL *) const
 Vector read operation. More...
 
void set (const REAL)
 Vector set operation. More...
 
void write (REAL *)
 Vector write operation. More...
 

Protected Attributes

int n
 Vector length. More...
 
int padn
 Number of entries padded to multiple of OpenCL workgroup size. More...
 
cl::Buffer v
 Pointer to values. More...
 

Constructor & Destructor Documentation

Vector ( LinearAlgebra LA_,
int  n_ 
)

Empty vector constructor, vector is set to zero.

Parameters
LA_linear algebra instance handle.
n_vector length.
Vector ( const Vector r_)
Parameters
r_vector to copy.

Member Function Documentation

int get_n ( ) const
inline
Vector operator* ( const Vector r_) const
inline
Vector operator* ( const REAL &  r_) const
inline
Vector & operator*= ( const Vector r_)

Performs *= operation with vector, vectors must be same size.

Parameters
r_vector values to multiply.
Vector & operator*= ( const REAL &  r_)

Performs *= operation with scalar value.

Parameters
r_scalar value to multiply.
Vector operator+ ( const Vector r_) const
inline
Vector & operator+= ( const Vector r_)

Performs += operation with vector, vectors must be same size.

Parameters
r_vector values to add.
Vector operator- ( const Vector r_) const
inline
Vector & operator-= ( const Vector r_)

Performs -= operation with vector, vectors must be same size.

Parameters
r_vector values to subtract.
Vector & operator= ( const Vector r_)

Copies vector values, vectors must be same size.

Parameters
r_vector values to copy.
void read ( REAL *  v_) const

Reads values from memory pointer into vector OpenCL buffer.

Parameters
v_pointer to values in memory.
void set ( const REAL  u_)

Sets vector to scalar value.

Parameters
u_scalar value.
void write ( REAL *  v_)

Writes values from vector OpenCL buffer into memory.

Parameters
v_pointer to memory.

Member Data Documentation

int n
protected
int padn
protected
cl::Buffer v
protected