All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
matrix_proxy.hpp File Reference

Proxy classes for matrices. More...

`#include "viennacl/forwards.h"`
`#include "viennacl/range.hpp"`
`#include "viennacl/slice.hpp"`
`#include "viennacl/detail/matrix_def.hpp"`
`#include "viennacl/traits/size.hpp"`

Go to the source code of this file.

## Classes

class | viennacl::matrix_range< MatrixType >
| Class for representing non-strided submatrices of a bigger matrix A. More...
class | viennacl::matrix_range< matrix_range< MatrixType > >
class | viennacl::matrix_slice< MatrixType >
| Class for representing strided submatrices of a bigger matrix A. More...
class | viennacl::matrix_slice< matrix_range< MatrixType > >

## Namespaces

| viennacl
| Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
| viennacl::detail
| Holds implementation details for functionality in the main viennacl-namespace. Not intended for direct use by library users.

## Functions

template<typename NumericT , typename MatrixT >
NumericT const & | viennacl::detail::matrix_access (MatrixT const &A, vcl_size_t i, vcl_size_t j)
template<typename NumericT >
NumericT const & | viennacl::detail::matrix_access (std::vector< std::vector< NumericT > > const &A, vcl_size_t i, vcl_size_t j)
template<typename NumericT , typename MatrixT >
NumericT & | viennacl::detail::matrix_access (MatrixT &A, vcl_size_t i, vcl_size_t j)
template<typename NumericT >
NumericT & | viennacl::detail::matrix_access (std::vector< std::vector< NumericT > > &A, vcl_size_t i, vcl_size_t j)
template<typename CPUMatrixT , typename NumericT >
void | viennacl::copy (const CPUMatrixT &cpu_matrix, matrix_range< matrix< NumericT, row_major, 1 > > &gpu_matrix_range)
template<typename CPUMatrixT , typename NumericT >
void | viennacl::copy (const CPUMatrixT &cpu_matrix, matrix_range< matrix< NumericT, column_major, 1 > > &gpu_matrix_range)
template<typename CPUMatrixT , typename NumericT >
void | viennacl::copy (matrix_range< matrix< NumericT, row_major, 1 > > const &gpu_matrix_range, CPUMatrixT &cpu_matrix)
template<typename CPUMatrixT , typename NumericT >
void | viennacl::copy (matrix_range< matrix< NumericT, column_major, 1 > > const &gpu_matrix_range, CPUMatrixT &cpu_matrix)
template<typename MatrixType >
matrix_range< MatrixType > | viennacl::project (MatrixType const &A, viennacl::range const &r1, viennacl::range const &r2)
template<typename MatrixType >
matrix_range< MatrixType > | viennacl::project (matrix_range< MatrixType > const &A, viennacl::range const &r1, viennacl::range const &r2)
template<typename CPUMatrixT , typename NumericT >
void | viennacl::copy (const CPUMatrixT &cpu_matrix, matrix_slice< matrix< NumericT, row_major, 1 > > &gpu_matrix_slice)
template<typename CPUMatrixT , typename NumericT >
void | viennacl::copy (const CPUMatrixT &cpu_matrix, matrix_slice< matrix< NumericT, column_major, 1 > > &gpu_matrix_slice)
template<typename CPUMatrixT , typename NumericT >
void | viennacl::copy (matrix_slice< matrix< NumericT, row_major, 1 > > const &gpu_matrix_slice, CPUMatrixT &cpu_matrix)
template<typename CPUMatrixT , typename NumericT >
void | viennacl::copy (matrix_slice< matrix< NumericT, column_major, 1 > > const &gpu_matrix_slice, CPUMatrixT &cpu_matrix)
template<typename MatrixType >
matrix_slice< MatrixType > | viennacl::project (MatrixType const &A, viennacl::slice const &r1, viennacl::slice const &r2)
template<typename MatrixType >
matrix_slice< MatrixType > | viennacl::project (matrix_range< MatrixType > const &A, viennacl::slice const &r1, viennacl::slice const &r2)
template<typename MatrixType >
matrix_slice< MatrixType > | viennacl::project (matrix_slice< MatrixType > const &A, viennacl::slice const &r1, viennacl::slice const &r2)

## Detailed Description

Proxy classes for matrices.

Definition in file matrix_proxy.hpp.