#include <matrix_def.hpp>
| Public Types | |
| typedef matrix_iterator < row_iteration, self_type > | iterator1 | 
| typedef matrix_iterator < col_iteration, self_type > | iterator2 | 
| typedef scalar< NumericT > | value_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_type & | operator= (const self_type &other) | 
| template<typename OtherNumericT > | |
| self_type & | operator= (const matrix_base< OtherNumericT, SizeT, DistanceT > &other) | 
| template<typename LHS , typename RHS , typename OP > | |
| self_type & | 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... | |
| self_type & | operator= (const matrix_expression< const self_type, const self_type, op_trans > &proxy) | 
| template<typename LHS , typename RHS , typename OP > | |
| self_type & | operator+= (const matrix_expression< const LHS, const RHS, OP > &proxy) | 
| template<typename LHS , typename RHS , typename OP > | |
| self_type & | operator-= (const matrix_expression< const LHS, const RHS, OP > &proxy) | 
| self_type & | operator= (identity_matrix< NumericT > const &m) | 
| Assigns the supplied identity matrix to the matrix.  More... | |
| self_type & | operator= (zero_matrix< NumericT > const &m) | 
| Assigns the supplied zero matrix to the matrix.  More... | |
| self_type & | operator= (scalar_matrix< NumericT > const &m) | 
| Assigns the supplied scalar vector to the matrix.  More... | |
| entry_proxy< NumericT > | operator() (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< NumericT > | operator() (size_type row_index, size_type col_index) const | 
| Read access to a single element of the matrix/matrix_range/matrix_slice.  More... | |
| self_type & | operator+= (const self_type &other) | 
| self_type & | operator-= (const self_type &other) | 
| self_type & | operator*= (char val) | 
| Scales the matrix by a char (8-bit integer)  More... | |
| self_type & | operator*= (short val) | 
| Scales the matrix by a short integer.  More... | |
| self_type & | operator*= (int val) | 
| Scales the matrix by an integer.  More... | |
| self_type & | operator*= (long val) | 
| Scales the matrix by a long integer.  More... | |
| self_type & | operator*= (float val) | 
| Scales the matrix by a single precision floating point value.  More... | |
| self_type & | operator*= (double val) | 
| Scales the matrix by a double precision floating point value.  More... | |
| self_type & | operator/= (char val) | 
| Scales the matrix by a char (8-bit integer)  More... | |
| self_type & | operator/= (short val) | 
| Scales the matrix by a short integer.  More... | |
| self_type & | operator/= (int val) | 
| Scales the matrix by an integer.  More... | |
| self_type & | operator/= (long val) | 
| Scales the matrix by a long integer.  More... | |
| self_type & | operator/= (float val) | 
| Scales the matrix by a single precision floating point value.  More... | |
| self_type & | operator/= (double val) | 
| Scales the matrix by a double precision floating point value.  More... | |
| matrix_expression< const self_type, const NumericT, op_mult > | operator- () 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_type & | handle () | 
| Returns the OpenCL handle, non-const-version.  More... | |
| const handle_type & | handle () 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) | 
Definition at line 103 of file matrix_def.hpp.
| typedef NumericT viennacl::matrix_base< NumericT, SizeT, DistanceT >::cpu_value_type | 
Definition at line 111 of file matrix_def.hpp.
| typedef DistanceT viennacl::matrix_base< NumericT, SizeT, DistanceT >::difference_type | 
Definition at line 113 of file matrix_def.hpp.
| typedef viennacl::backend::mem_handle viennacl::matrix_base< NumericT, SizeT, DistanceT >::handle_type | 
Definition at line 114 of file matrix_def.hpp.
| typedef matrix_iterator<row_iteration, self_type > viennacl::matrix_base< NumericT, SizeT, DistanceT >::iterator1 | 
Definition at line 108 of file matrix_def.hpp.
| typedef matrix_iterator<col_iteration, self_type > viennacl::matrix_base< NumericT, SizeT, DistanceT >::iterator2 | 
Definition at line 109 of file matrix_def.hpp.
| typedef SizeT viennacl::matrix_base< NumericT, SizeT, DistanceT >::size_type | 
Definition at line 112 of file matrix_def.hpp.
| typedef scalar<NumericT> viennacl::matrix_base< NumericT, SizeT, DistanceT >::value_type | 
Definition at line 110 of file matrix_def.hpp.
| 
 | inlineexplicit | 
The default constructor. Does not allocate any memory.
Definition at line 117 of file matrix_def.hpp.
| 
 | inlineexplicit | 
The layout constructor. Does not allocate any memory.
Definition at line 120 of file matrix_def.hpp.
| 
 | explicit | 
Creates the matrix with the given dimensions.
| rows | Number of rows | 
| columns | Number of columns | 
| is_row_major | Boolean flag stating whether this matrix is stored row-major | 
| ctx | Optional context in which the matrix is created (one out of multiple OpenCL contexts, CUDA, host) | 
| rows | Number of rows | 
| columns | Number of columns | 
| ctx | Optional context in which the matrix is created (one out of multiple OpenCL contexts, CUDA, host) | 
Definition at line 127 of file matrix.hpp.
| 
 | 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.
| 
 | 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.
| 
 | explicit | 
Definition at line 161 of file matrix.hpp.
| viennacl::matrix_base< NumericT, SizeT, DistanceT >::matrix_base | ( | const self_type & | other | ) | 
| viennacl::matrix_base< NumericT, SizeT, DistanceT >::matrix_base | ( | const matrix_base< OtherNumericT, SizeT, DistanceT > & | other | ) | 
Definition at line 246 of file matrix.hpp.
| viennacl::matrix_base< NumericT, SizeT, DistanceT >::matrix_base | ( | const matrix_base< NumericT, SizeT, DistanceT > & | other | ) | 
Definition at line 228 of file matrix.hpp.
| void viennacl::matrix_base< NumericT, SizeT, DistanceT >::clear | ( | ) | 
Resets all entries to zero.
Definition at line 634 of file matrix.hpp.
| 
 | inline | 
Returns the OpenCL handle, non-const-version.
Definition at line 244 of file matrix_def.hpp.
| 
 | inline | 
Returns the OpenCL handle, const-version.
Definition at line 246 of file matrix_def.hpp.
| 
 | inline | 
Returns the total amount of allocated memory in multiples of sizeof(NumericT)
Definition at line 242 of file matrix_def.hpp.
| 
 | inline | 
Returns the internal number of rows. Usually required for launching OpenCL kernels only.
Definition at line 238 of file matrix_def.hpp.
| 
 | inline | 
Returns the internal number of columns. Usually required for launching OpenCL kernels only.
Definition at line 240 of file matrix_def.hpp.
| 
 | inline | 
Definition at line 247 of file matrix_def.hpp.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| self_type& viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator+= | ( | const matrix_expression< const LHS, const RHS, OP > & | proxy | ) | 
| self_type& viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator+= | ( | const self_type & | other | ) | 
| 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.
| 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.
| 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.
| self_type& viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator-= | ( | const matrix_expression< const LHS, const RHS, OP > & | proxy | ) | 
| self_type& viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator-= | ( | const self_type & | other | ) | 
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| matrix_base< NumericT, SizeT, DistanceT > & viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator= | ( | const self_type & | other | ) | 
Definition at line 262 of file matrix.hpp.
| self_type& viennacl::matrix_base< NumericT, SizeT, DistanceT >::operator= | ( | const matrix_base< OtherNumericT, SizeT, DistanceT > & | other | ) | 
| 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.
| proxy | An expression template proxy class. | 
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| proxy | An expression template proxy class. | 
Definition at line 305 of file matrix.hpp.
| 
 | protected | 
Definition at line 638 of file matrix.hpp.
| 
 | inline | 
Definition at line 248 of file matrix_def.hpp.
| 
 | protected | 
| 
 | inline | 
Returns the number of rows.
Definition at line 224 of file matrix_def.hpp.
| 
 | inline | 
Returns the number of columns.
Definition at line 226 of file matrix_def.hpp.
| 
 | inline | 
Returns the number of rows.
Definition at line 228 of file matrix_def.hpp.
| 
 | inline | 
Returns the number of columns.
Definition at line 230 of file matrix_def.hpp.
| 
 | inline | 
Returns the number of rows.
Definition at line 232 of file matrix_def.hpp.
| 
 | inline | 
Returns the number of columns.
Definition at line 234 of file matrix_def.hpp.
| 
 | inline | 
Definition at line 249 of file matrix_def.hpp.