Class for representing strided submatrices of a bigger matrix A. More...
#include <forwards.h>
Public Types | |
typedef MatrixType::value_type | value_type |
typedef MatrixType::handle_type | handle_type |
typedef viennacl::result_of::cpu_value_type < value_type >::type | cpu_value_type |
typedef range::size_type | size_type |
typedef range::difference_type | difference_type |
typedef value_type | reference |
typedef const value_type & | const_reference |
Public Types inherited from viennacl::matrix_base< MatrixType::cpu_value_type > | |
typedef matrix_iterator < row_iteration, self_type > | iterator1 |
typedef matrix_iterator < col_iteration, self_type > | iterator2 |
typedef scalar < MatrixType::cpu_value_type > | value_type |
typedef MatrixType::cpu_value_type | cpu_value_type |
typedef SizeT | size_type |
typedef DistanceT | difference_type |
typedef viennacl::backend::mem_handle | handle_type |
Public Member Functions | |
matrix_slice (MatrixType const &A, slice const &row_slice, slice const &col_slice) | |
matrix_slice (self_type const &A, slice const &row_slice, slice const &col_slice) | |
matrix_slice (self_type const &other) | |
template<typename OtherNumericT , typename F > | |
base_type & | operator= (viennacl::matrix< OtherNumericT, F > const &B) |
template<typename OtherNumericT , typename F > | |
base_type & | operator= (viennacl::matrix_range< viennacl::matrix< OtherNumericT, F > > const &B) |
template<typename OtherNumericT , typename F > | |
base_type & | operator= (viennacl::matrix_slice< viennacl::matrix< OtherNumericT, F > > const &B) |
Public Member Functions inherited from viennacl::matrix_base< MatrixType::cpu_value_type > | |
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... | |
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 (MatrixType::cpu_value_type *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) | |
matrix_base (const matrix_base< OtherNumericT, SizeT, DistanceT > &other) | |
self_type & | operator= (const self_type &other) |
self_type & | operator= (const matrix_base< OtherNumericT, SizeT, DistanceT > &other) |
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) |
self_type & | operator= (identity_matrix< MatrixType::cpu_value_type > const &m) |
Assigns the supplied identity matrix to the matrix. More... | |
self_type & | operator= (zero_matrix< MatrixType::cpu_value_type > const &m) |
Assigns the supplied zero matrix to the matrix. More... | |
self_type & | operator= (scalar_matrix< MatrixType::cpu_value_type > const &m) |
Assigns the supplied scalar vector to the matrix. More... | |
self_type & | operator+= (const matrix_expression< const LHS, const RHS, OP > &proxy) |
self_type & | operator+= (const self_type &other) |
self_type & | operator-= (const matrix_expression< const LHS, const RHS, OP > &proxy) |
self_type & | operator-= (const self_type &other) |
entry_proxy < MatrixType::cpu_value_type > | 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 < MatrixType::cpu_value_type > | 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*= (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 MatrixType::cpu_value_type, 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) |
Additional Inherited Members | |
Protected Member Functions inherited from viennacl::matrix_base< MatrixType::cpu_value_type > | |
void | set_handle (viennacl::backend::mem_handle const &h) |
void | resize (size_type rows, size_type columns, bool preserve=true) |
Class for representing strided submatrices of a bigger matrix A.
In MATLAB notation, this could for example refer to the submatrix A(3:2:8, 6:3:16) of a matrix A.
Definition at line 443 of file forwards.h.
typedef const value_type& viennacl::matrix_slice< MatrixType >::const_reference |
Definition at line 375 of file matrix_proxy.hpp.
typedef viennacl::result_of::cpu_value_type<value_type>::type viennacl::matrix_slice< MatrixType >::cpu_value_type |
Definition at line 371 of file matrix_proxy.hpp.
typedef range::difference_type viennacl::matrix_slice< MatrixType >::difference_type |
Definition at line 373 of file matrix_proxy.hpp.
typedef MatrixType::handle_type viennacl::matrix_slice< MatrixType >::handle_type |
Definition at line 370 of file matrix_proxy.hpp.
typedef value_type viennacl::matrix_slice< MatrixType >::reference |
Definition at line 374 of file matrix_proxy.hpp.
typedef range::size_type viennacl::matrix_slice< MatrixType >::size_type |
Definition at line 372 of file matrix_proxy.hpp.
typedef MatrixType::value_type viennacl::matrix_slice< MatrixType >::value_type |
Definition at line 369 of file matrix_proxy.hpp.
|
inline |
Definition at line 377 of file matrix_proxy.hpp.
|
inline |
Definition at line 384 of file matrix_proxy.hpp.
|
inline |
Definition at line 392 of file matrix_proxy.hpp.
|
inline |
Definition at line 401 of file matrix_proxy.hpp.
|
inline |
Definition at line 404 of file matrix_proxy.hpp.
|
inline |
Definition at line 407 of file matrix_proxy.hpp.