ViennaCL - The Vienna Computing Library  1.7.0
Free open-source GPU-accelerated linear algebra and solver library.
viennacl::matrix_base< NumericT, SizeT, DistanceT > Class Template Reference

#include <matrix_def.hpp>

Public Types

typedef matrix_iterator< row_iteration, self_typeiterator1
 
typedef matrix_iterator< col_iteration, self_typeiterator2
 
typedef scalar< NumericTvalue_type
 
typedef NumericT cpu_value_type
 
typedef SizeT size_type
 
typedef DistanceT difference_type
 
typedef viennacl::backend::mem_handle handle_type
 

Public Member Functions

 matrix_base ()
 The default constructor. Does not allocate any memory. More...
 
 matrix_base (bool is_row_major)
 The layout constructor. Does not allocate any memory. More...
 
 matrix_base (size_type rows, size_type columns, bool is_row_major, viennacl::context ctx=viennacl::context())
 Creates the matrix with the given dimensions. More...
 
 matrix_base (viennacl::backend::mem_handle &h, size_type mat_size1, size_type mat_start1, size_type mat_stride1, size_type mat_internal_size1, size_type mat_size2, size_type mat_start2, size_type mat_stride2, size_type mat_internal_size2, bool is_row_major)
 Constructor for creating a matrix_range or matrix_stride from some other matrix/matrix_range/matrix_stride. More...
 
template<typename LHS , typename RHS , typename OP >
 matrix_base (matrix_expression< const LHS, const RHS, OP > const &proxy)
 Constructor for creating a matrix_range or matrix_stride from some other matrix/matrix_range/matrix_stride. More...
 
 matrix_base (NumericT *ptr_to_mem, viennacl::memory_types mem_type, size_type mat_size1, size_type mat_start1, size_type mat_stride1, size_type mat_internal_size1, size_type mat_size2, size_type mat_start2, size_type mat_stride2, size_type mat_internal_size2, bool is_row_major)
 
 matrix_base (const self_type &other)
 
template<typename OtherNumericT >
 matrix_base (const matrix_base< OtherNumericT, SizeT, DistanceT > &other)
 
self_typeoperator= (const self_type &other)
 
template<typename OtherNumericT >
self_typeoperator= (const matrix_base< OtherNumericT, SizeT, DistanceT > &other)
 
template<typename LHS , typename RHS , typename OP >
self_typeoperator= (const matrix_expression< const LHS, const RHS, OP > &proxy)
 Implementation of the operation m1 = m2 @ alpha, where @ denotes either multiplication or division, and alpha is either a CPU or a GPU scalar. More...
 
self_typeoperator= (const matrix_expression< const self_type, const self_type, op_trans > &proxy)
 
template<typename LHS , typename RHS , typename OP >
self_typeoperator+= (const matrix_expression< const LHS, const RHS, OP > &proxy)
 
template<typename LHS , typename RHS , typename OP >
self_typeoperator-= (const matrix_expression< const LHS, const RHS, OP > &proxy)
 
self_typeoperator= (identity_matrix< NumericT > const &m)
 Assigns the supplied identity matrix to the matrix. More...
 
self_typeoperator= (zero_matrix< NumericT > const &m)
 Assigns the supplied zero matrix to the matrix. More...
 
self_typeoperator= (scalar_matrix< NumericT > const &m)
 Assigns the supplied scalar vector to the matrix. More...
 
entry_proxy< NumericToperator() (size_type row_index, size_type col_index)
 Read-write access to a single element of the matrix/matrix_range/matrix_slice. More...
 
const_entry_proxy< NumericToperator() (size_type row_index, size_type col_index) const
 Read access to a single element of the matrix/matrix_range/matrix_slice. More...
 
self_typeoperator+= (const self_type &other)
 
self_typeoperator-= (const self_type &other)
 
self_typeoperator*= (char val)
 Scales the matrix by a char (8-bit integer) More...
 
self_typeoperator*= (short val)
 Scales the matrix by a short integer. More...
 
self_typeoperator*= (int val)
 Scales the matrix by an integer. More...
 
self_typeoperator*= (long val)
 Scales the matrix by a long integer. More...
 
self_typeoperator*= (float val)
 Scales the matrix by a single precision floating point value. More...
 
self_typeoperator*= (double val)
 Scales the matrix by a double precision floating point value. More...
 
self_typeoperator/= (char val)
 Scales the matrix by a char (8-bit integer) More...
 
self_typeoperator/= (short val)
 Scales the matrix by a short integer. More...
 
self_typeoperator/= (int val)
 Scales the matrix by an integer. More...
 
self_typeoperator/= (long val)
 Scales the matrix by a long integer. More...
 
self_typeoperator/= (float val)
 Scales the matrix by a single precision floating point value. More...
 
self_typeoperator/= (double val)
 Scales the matrix by a double precision floating point value. More...
 
matrix_expression< const self_type, const NumericT, op_multoperator- () const
 Sign flip for the matrix. Emulated to be equivalent to -1.0 * matrix. More...
 
size_type size1 () const
 Returns the number of rows. More...
 
size_type size2 () const
 Returns the number of columns. More...
 
size_type start1 () const
 Returns the number of rows. More...
 
size_type start2 () const
 Returns the number of columns. More...
 
size_type stride1 () const
 Returns the number of rows. More...
 
size_type stride2 () const
 Returns the number of columns. More...
 
void clear ()
 Resets all entries to zero. More...
 
size_type internal_size1 () const
 Returns the internal number of rows. Usually required for launching OpenCL kernels only. More...
 
size_type internal_size2 () const
 Returns the internal number of columns. Usually required for launching OpenCL kernels only. More...
 
size_type internal_size () const
 Returns the total amount of allocated memory in multiples of sizeof(NumericT) More...
 
handle_typehandle ()
 Returns the OpenCL handle, non-const-version. More...
 
const handle_typehandle () const
 Returns the OpenCL handle, const-version. More...
 
viennacl::memory_types memory_domain () const
 
bool row_major () const
 
void switch_memory_context (viennacl::context new_ctx)
 
template<class NumericT, typename SizeT , typename DistanceT >
 matrix_base (const matrix_base< NumericT, SizeT, DistanceT > &other)
 
template<typename OtherNumericT >
matrix_base< NumericT, SizeT, DistanceT > & operator= (const matrix_base< OtherNumericT, SizeT, DistanceT > &other)
 
template<typename LHS , typename RHS , typename OP >
matrix_base< NumericT, SizeT, DistanceT > & operator= (const matrix_expression< const LHS, const RHS, OP > &proxy)
 Implementation of the operation m1 = m2 @ alpha, where @ denotes either multiplication or division, and alpha is either a CPU or a GPU scalar. More...
 
template<typename LHS , typename RHS , typename OP >
matrix_base< NumericT, SizeT, DistanceT > & operator+= (const matrix_expression< const LHS, const RHS, OP > &proxy)
 
template<typename LHS , typename RHS , typename OP >
matrix_base< NumericT, SizeT, DistanceT > & operator-= (const matrix_expression< const LHS, const RHS, OP > &proxy)
 
template<class NumericT , typename SizeT , typename DistanceT >
matrix_base< NumericT, SizeT, DistanceT > & operator+= (const matrix_base< NumericT, SizeT, DistanceT > &other)
 
template<class NumericT , typename SizeT , typename DistanceT >
matrix_base< NumericT, SizeT, DistanceT > & operator-= (const matrix_base< NumericT, SizeT, DistanceT > &other)
 

Protected Member Functions

void set_handle (viennacl::backend::mem_handle const &h)
 
void resize (size_type rows, size_type columns, bool preserve=true)
 

Detailed Description

template<class NumericT, typename SizeT, typename DistanceT>
class viennacl::matrix_base< NumericT, SizeT, DistanceT >

Definition at line 103 of file matrix_def.hpp.

Member Typedef Documentation

template<class NumericT, typename SizeT, typename DistanceT>
typedef NumericT viennacl::matrix_base< NumericT, SizeT, DistanceT >::cpu_value_type

Definition at line 111 of file matrix_def.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
typedef DistanceT viennacl::matrix_base< NumericT, SizeT, DistanceT >::difference_type

Definition at line 113 of file matrix_def.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
typedef viennacl::backend::mem_handle viennacl::matrix_base< NumericT, SizeT, DistanceT >::handle_type

Definition at line 114 of file matrix_def.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
typedef matrix_iterator<row_iteration, self_type > viennacl::matrix_base< NumericT, SizeT, DistanceT >::iterator1

Definition at line 108 of file matrix_def.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
typedef matrix_iterator<col_iteration, self_type > viennacl::matrix_base< NumericT, SizeT, DistanceT >::iterator2

Definition at line 109 of file matrix_def.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
typedef SizeT viennacl::matrix_base< NumericT, SizeT, DistanceT >::size_type

Definition at line 112 of file matrix_def.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
typedef scalar<NumericT> viennacl::matrix_base< NumericT, SizeT, DistanceT >::value_type

Definition at line 110 of file matrix_def.hpp.

Constructor & Destructor Documentation

template<class NumericT, typename SizeT, typename DistanceT>
viennacl::matrix_base< NumericT, SizeT, DistanceT >::matrix_base ( )
inlineexplicit

The default constructor. Does not allocate any memory.

Definition at line 117 of file matrix_def.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
viennacl::matrix_base< NumericT, SizeT, DistanceT >::matrix_base ( bool  is_row_major)
inlineexplicit

The layout constructor. Does not allocate any memory.

Definition at line 120 of file matrix_def.hpp.

template<class NumericT , typename SizeT , typename DistanceT >
viennacl::matrix_base< NumericT, SizeT, DistanceT >::matrix_base ( size_type  rows,
size_type  columns,
bool  is_row_major,
viennacl::context  ctx = viennacl::context() 
)
explicit

Creates the matrix with the given dimensions.

Parameters
rowsNumber of rows
columnsNumber of columns
is_row_majorBoolean flag stating whether this matrix is stored row-major
ctxOptional context in which the matrix is created (one out of multiple OpenCL contexts, CUDA, host)
rowsNumber of rows
columnsNumber of columns
ctxOptional context in which the matrix is created (one out of multiple OpenCL contexts, CUDA, host)

Definition at line 127 of file matrix.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
viennacl::matrix_base< NumericT, SizeT, DistanceT >::matrix_base ( viennacl::backend::mem_handle h,
size_type  mat_size1,
size_type  mat_start1,
size_type  mat_stride1,
size_type  mat_internal_size1,
size_type  mat_size2,
size_type  mat_start2,
size_type  mat_stride2,
size_type  mat_internal_size2,
bool  is_row_major 
)
inlineexplicit

Constructor for creating a matrix_range or matrix_stride from some other matrix/matrix_range/matrix_stride.

Definition at line 132 of file matrix_def.hpp.

template<class NumericT , typename SizeT , typename DistanceT >
template<typename LHS , typename RHS , typename OP >
viennacl::matrix_base< NumericT, SizeT, DistanceT >::matrix_base ( matrix_expression< const LHS, const RHS, OP > const &  proxy)
explicit

Constructor for creating a matrix_range or matrix_stride from some other matrix/matrix_range/matrix_stride.

Definition at line 144 of file matrix.hpp.

template<class NumericT, typename SizeT , typename DistanceT >
viennacl::matrix_base< NumericT, SizeT, DistanceT >::matrix_base ( NumericT ptr_to_mem,
viennacl::memory_types  mem_type,
size_type  mat_size1,
size_type  mat_start1,
size_type  mat_stride1,
size_type  mat_internal_size1,
size_type  mat_size2,
size_type  mat_start2,
size_type  mat_stride2,
size_type  mat_internal_size2,
bool  is_row_major 
)
explicit

Definition at line 161 of file matrix.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
viennacl::matrix_base< NumericT, SizeT, DistanceT >::matrix_base ( const self_type other)
template<typename NumericT , typename SizeT, typename DistanceT>
template<typename OtherNumericT >
viennacl::matrix_base< NumericT, SizeT, DistanceT >::matrix_base ( const matrix_base< OtherNumericT, SizeT, DistanceT > &  other)

Definition at line 246 of file matrix.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
template<class NumericT, typename SizeT , typename DistanceT >
viennacl::matrix_base< NumericT, SizeT, DistanceT >::matrix_base ( const matrix_base< NumericT, SizeT, DistanceT > &  other)

Definition at line 228 of file matrix.hpp.

Member Function Documentation

template<class NumericT , typename SizeT , typename DistanceT >
void viennacl::matrix_base< NumericT, SizeT, DistanceT >::clear ( )

Resets all entries to zero.

Definition at line 634 of file matrix.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
handle_type& viennacl::matrix_base< NumericT, SizeT, DistanceT >::handle ( )
inline

Returns the OpenCL handle, non-const-version.

Definition at line 244 of file matrix_def.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
const handle_type& viennacl::matrix_base< NumericT, SizeT, DistanceT >::handle ( ) const
inline

Returns the OpenCL handle, const-version.

Definition at line 246 of file matrix_def.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
size_type viennacl::matrix_base< NumericT, SizeT, DistanceT >::internal_size ( ) const
inline

Returns the total amount of allocated memory in multiples of sizeof(NumericT)

Definition at line 242 of file matrix_def.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
size_type viennacl::matrix_base< NumericT, SizeT, DistanceT >::internal_size1 ( ) const
inline

Returns the internal number of rows. Usually required for launching OpenCL kernels only.

Definition at line 238 of file matrix_def.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
size_type viennacl::matrix_base< NumericT, SizeT, DistanceT >::internal_size2 ( ) const
inline

Returns the internal number of columns. Usually required for launching OpenCL kernels only.

Definition at line 240 of file matrix_def.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
viennacl::memory_types viennacl::matrix_base< NumericT, SizeT, DistanceT >::memory_domain ( ) const
inline

Definition at line 247 of file matrix_def.hpp.

template<class NumericT , typename SizeT , typename DistanceT >
entry_proxy< NumericT > viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator() ( size_type  row_index,
size_type  col_index 
)

Read-write access to a single element of the matrix/matrix_range/matrix_slice.

Definition at line 477 of file matrix.hpp.

template<class NumericT , typename SizeT , typename DistanceT >
const_entry_proxy< NumericT > viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator() ( size_type  row_index,
size_type  col_index 
) const

Read access to a single element of the matrix/matrix_range/matrix_slice.

Definition at line 487 of file matrix.hpp.

template<class NumericT , typename SizeT , typename DistanceT >
matrix_base< NumericT, SizeT, DistanceT > & viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator*= ( char  val)

Scales the matrix by a char (8-bit integer)

Scales a matrix by a char (8-bit integer) value.

Definition at line 517 of file matrix.hpp.

template<class NumericT , typename SizeT , typename DistanceT >
matrix_base< NumericT, SizeT, DistanceT > & viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator*= ( short  val)

Scales the matrix by a short integer.

Scales a matrix by a char (8-bit integer) value.

Definition at line 526 of file matrix.hpp.

template<class NumericT , typename SizeT , typename DistanceT >
matrix_base< NumericT, SizeT, DistanceT > & viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator*= ( int  val)

Scales the matrix by an integer.

Scales a matrix by a char (8-bit integer) value.

Definition at line 535 of file matrix.hpp.

template<class NumericT , typename SizeT , typename DistanceT >
matrix_base< NumericT, SizeT, DistanceT > & viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator*= ( long  val)

Scales the matrix by a long integer.

Scales a matrix by a char (8-bit integer) value.

Definition at line 544 of file matrix.hpp.

template<class NumericT , typename SizeT , typename DistanceT >
matrix_base< NumericT, SizeT, DistanceT > & viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator*= ( float  val)

Scales the matrix by a single precision floating point value.

Scales a matrix by a char (8-bit integer) value.

Definition at line 553 of file matrix.hpp.

template<class NumericT , typename SizeT , typename DistanceT >
matrix_base< NumericT, SizeT, DistanceT > & viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator*= ( double  val)

Scales the matrix by a double precision floating point value.

Scales a matrix by a char (8-bit integer) value.

Definition at line 562 of file matrix.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
template<typename LHS , typename RHS , typename OP >
self_type& viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator+= ( const matrix_expression< const LHS, const RHS, OP > &  proxy)
template<class NumericT, typename SizeT, typename DistanceT>
self_type& viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator+= ( const self_type other)
template<class NumericT, typename SizeT, typename DistanceT>
template<typename LHS , typename RHS , typename OP >
matrix_base<NumericT, SizeT, DistanceT>& viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator+= ( const matrix_expression< const LHS, const RHS, OP > &  proxy)

Definition at line 363 of file matrix.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
template<class NumericT , typename SizeT , typename DistanceT >
matrix_base<NumericT, SizeT, DistanceT>& viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator+= ( const matrix_base< NumericT, SizeT, DistanceT > &  other)

Definition at line 498 of file matrix.hpp.

template<class NumericT , typename SizeT , typename DistanceT >
matrix_expression< const matrix_base< NumericT, SizeT, DistanceT >, const NumericT, op_mult > viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator- ( ) const

Sign flip for the matrix. Emulated to be equivalent to -1.0 * matrix.

Definition at line 628 of file matrix.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
template<typename LHS , typename RHS , typename OP >
self_type& viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator-= ( const matrix_expression< const LHS, const RHS, OP > &  proxy)
template<class NumericT, typename SizeT, typename DistanceT>
self_type& viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator-= ( const self_type other)
template<class NumericT, typename SizeT, typename DistanceT>
template<typename LHS , typename RHS , typename OP >
matrix_base<NumericT, SizeT, DistanceT>& viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator-= ( const matrix_expression< const LHS, const RHS, OP > &  proxy)

Definition at line 378 of file matrix.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
template<class NumericT , typename SizeT , typename DistanceT >
matrix_base<NumericT, SizeT, DistanceT>& viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator-= ( const matrix_base< NumericT, SizeT, DistanceT > &  other)

Definition at line 507 of file matrix.hpp.

template<class NumericT , typename SizeT , typename DistanceT >
matrix_base< NumericT, SizeT, DistanceT > & viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator/= ( char  val)

Scales the matrix by a char (8-bit integer)

Scales this matrix by a char (8-bit integer) value.

Definition at line 573 of file matrix.hpp.

template<class NumericT , typename SizeT , typename DistanceT >
matrix_base< NumericT, SizeT, DistanceT > & viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator/= ( short  val)

Scales the matrix by a short integer.

Scales this matrix by a short integer value.

Definition at line 582 of file matrix.hpp.

template<class NumericT , typename SizeT , typename DistanceT >
matrix_base< NumericT, SizeT, DistanceT > & viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator/= ( int  val)

Scales the matrix by an integer.

Scales this matrix by an integer value.

Definition at line 591 of file matrix.hpp.

template<class NumericT , typename SizeT , typename DistanceT >
matrix_base< NumericT, SizeT, DistanceT > & viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator/= ( long  val)

Scales the matrix by a long integer.

Scales this matrix by a long integer value.

Definition at line 600 of file matrix.hpp.

template<class NumericT , typename SizeT , typename DistanceT >
matrix_base< NumericT, SizeT, DistanceT > & viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator/= ( float  val)

Scales the matrix by a single precision floating point value.

Scales this matrix by a single precision floating point value.

Definition at line 609 of file matrix.hpp.

template<class NumericT , typename SizeT , typename DistanceT >
matrix_base< NumericT, SizeT, DistanceT > & viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator/= ( double  val)

Scales the matrix by a double precision floating point value.

Scales this matrix by a double precision floating point value.

Definition at line 618 of file matrix.hpp.

template<class NumericT , typename SizeT , typename DistanceT >
matrix_base< NumericT, SizeT, DistanceT > & viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator= ( const self_type other)

Definition at line 262 of file matrix.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
template<typename OtherNumericT >
self_type& viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator= ( const matrix_base< OtherNumericT, SizeT, DistanceT > &  other)
template<class NumericT, typename SizeT, typename DistanceT>
template<typename LHS , typename RHS , typename OP >
self_type& viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator= ( const matrix_expression< const LHS, const RHS, OP > &  proxy)

Implementation of the operation m1 = m2 @ alpha, where @ denotes either multiplication or division, and alpha is either a CPU or a GPU scalar.

Parameters
proxyAn expression template proxy class.
template<class NumericT , typename SizeT , typename DistanceT >
matrix_base< NumericT, SizeT, DistanceT > & viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator= ( const matrix_expression< const self_type, const self_type, op_trans > &  proxy)

Definition at line 332 of file matrix.hpp.

template<class NumericT, typename SizeT , typename DistanceT >
matrix_base< NumericT, SizeT, DistanceT > & viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator= ( identity_matrix< NumericT > const &  m)

Assigns the supplied identity matrix to the matrix.

Definition at line 393 of file matrix.hpp.

template<class NumericT, typename SizeT , typename DistanceT >
matrix_base< NumericT, SizeT, DistanceT > & viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator= ( zero_matrix< NumericT > const &  m)

Assigns the supplied zero matrix to the matrix.

Definition at line 421 of file matrix.hpp.

template<class NumericT, typename SizeT , typename DistanceT >
matrix_base< NumericT, SizeT, DistanceT > & viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator= ( scalar_matrix< NumericT > const &  m)

Assigns the supplied scalar vector to the matrix.

Definition at line 446 of file matrix.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
template<typename OtherNumericT >
matrix_base<NumericT, SizeT, DistanceT>& viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator= ( const matrix_base< OtherNumericT, SizeT, DistanceT > &  other)

Definition at line 284 of file matrix.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
template<typename LHS , typename RHS , typename OP >
matrix_base<NumericT, SizeT, DistanceT>& viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator= ( const matrix_expression< const LHS, const RHS, OP > &  proxy)

Implementation of the operation m1 = m2 @ alpha, where @ denotes either multiplication or division, and alpha is either a CPU or a GPU scalar.

Parameters
proxyAn expression template proxy class.

Definition at line 305 of file matrix.hpp.

template<class NumericT , typename SizeT , typename DistanceT >
void viennacl::matrix_base< NumericT, SizeT, DistanceT >::resize ( size_type  rows,
size_type  columns,
bool  preserve = true 
)
protected

Definition at line 638 of file matrix.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
bool viennacl::matrix_base< NumericT, SizeT, DistanceT >::row_major ( ) const
inline

Definition at line 248 of file matrix_def.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
void viennacl::matrix_base< NumericT, SizeT, DistanceT >::set_handle ( viennacl::backend::mem_handle const &  h)
protected
template<class NumericT, typename SizeT, typename DistanceT>
size_type viennacl::matrix_base< NumericT, SizeT, DistanceT >::size1 ( ) const
inline

Returns the number of rows.

Definition at line 224 of file matrix_def.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
size_type viennacl::matrix_base< NumericT, SizeT, DistanceT >::size2 ( ) const
inline

Returns the number of columns.

Definition at line 226 of file matrix_def.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
size_type viennacl::matrix_base< NumericT, SizeT, DistanceT >::start1 ( ) const
inline

Returns the number of rows.

Definition at line 228 of file matrix_def.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
size_type viennacl::matrix_base< NumericT, SizeT, DistanceT >::start2 ( ) const
inline

Returns the number of columns.

Definition at line 230 of file matrix_def.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
size_type viennacl::matrix_base< NumericT, SizeT, DistanceT >::stride1 ( ) const
inline

Returns the number of rows.

Definition at line 232 of file matrix_def.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
size_type viennacl::matrix_base< NumericT, SizeT, DistanceT >::stride2 ( ) const
inline

Returns the number of columns.

Definition at line 234 of file matrix_def.hpp.

template<class NumericT, typename SizeT, typename DistanceT>
void viennacl::matrix_base< NumericT, SizeT, DistanceT >::switch_memory_context ( viennacl::context  new_ctx)
inline

Definition at line 249 of file matrix_def.hpp.


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