ViennaCL - The Vienna Computing Library: viennacl::matrix_base< NumericT, SizeT, DistanceT > Class Template Reference

ViennaCL - The Vienna Computing Library 1.7.1 Free open-source GPU-accelerated linear algebra and solver library. |

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Member Functions | List of all members
viennacl::matrix_base< NumericT, SizeT, DistanceT > Class Template Reference

`#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)

## 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

  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.

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

  proxy | An 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

  proxy | An 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:

- viennacl/detail/matrix_def.hpp
- viennacl/matrix.hpp