Data Structures | Namespaces | Typedefs | Functions

/data/development/ViennaCL/dev/viennacl/forwards.h File Reference

This file provides the forward declarations for the main types used within ViennaCL. More...

#include <cstddef>
#include "viennacl/ocl/forwards.h"
#include "viennacl/meta/enable_if.hpp"

Go to the source code of this file.

Data Structures

struct  MATRIX_ITERATOR_INCREMENTER< ROWCOL, MATRIXTYPE >
struct  lower_tag
 A tag class representing a lower triangular matrix. More...
struct  upper_tag
 A tag class representing an upper triangular matrix. More...
struct  unit_lower_tag
 A tag class representing a lower triangular matrix with unit diagonal. More...
struct  unit_upper_tag
 A tag class representing an upper triangular matrix with unit diagonal. More...
class  no_precond
 A tag class representing the use of no preconditioner. More...

Namespaces

namespace  viennacl
namespace  viennacl::tools
namespace  viennacl::linalg

Typedefs

typedef std::size_t vcl_size_t
typedef std::ptrdiff_t vcl_ptrdiff_t
typedef basic_range range

Functions

template<typename SCALARTYPE , unsigned int ALIGNMENT, typename CPU_ITERATOR >
void copy (CPU_ITERATOR const &cpu_begin, CPU_ITERATOR const &cpu_end, vector_iterator< SCALARTYPE, ALIGNMENT > gpu_begin)
 STL-like transfer for the entries of a GPU vector to the CPU. The cpu type does not need to lie in a linear piece of memory.
template<typename SCALARTYPE , unsigned int ALIGNMENT_SRC, unsigned int ALIGNMENT_DEST>
void copy (const_vector_iterator< SCALARTYPE, ALIGNMENT_SRC > const &gpu_src_begin, const_vector_iterator< SCALARTYPE, ALIGNMENT_SRC > const &gpu_src_end, vector_iterator< SCALARTYPE, ALIGNMENT_DEST > gpu_dest_begin)
 Copy (parts of a) GPU vector to another GPU vector.
template<typename SCALARTYPE , unsigned int ALIGNMENT_SRC, unsigned int ALIGNMENT_DEST>
void copy (const_vector_iterator< SCALARTYPE, ALIGNMENT_SRC > const &gpu_src_begin, const_vector_iterator< SCALARTYPE, ALIGNMENT_SRC > const &gpu_src_end, const_vector_iterator< SCALARTYPE, ALIGNMENT_DEST > gpu_dest_begin)
 Copy (parts of a) GPU vector to another GPU vector.
template<class SCALARTYPE , unsigned int ALIGNMENT>
void convolve_i (viennacl::vector< SCALARTYPE, ALIGNMENT > &input1, viennacl::vector< SCALARTYPE, ALIGNMENT > &input2, viennacl::vector< SCALARTYPE, ALIGNMENT > &output)
template<typename V1 , typename S2 >
viennacl::enable_if
< viennacl::is_vector< V1 >
::value &&viennacl::is_scalar
< S2 >::value >::type 
norm_1_impl (V1 const &vec, S2 &result)
 Computes the l^1-norm of a vector.
template<typename V1 , typename S2 >
viennacl::enable_if
< viennacl::is_vector< V1 >
::value &&viennacl::is_scalar
< S2 >::value >::type 
norm_2_impl (V1 const &vec, S2 &result)
 Computes the l^2-norm of a vector - implementation.
template<typename V1 , typename S2 >
viennacl::enable_if
< viennacl::is_vector< V1 >
::value &&viennacl::is_scalar
< S2 >::value >::type 
norm_inf_impl (V1 const &vec, S2 &result)
 Computes the supremum-norm of a vector.
template<class SCALARTYPE , typename F , unsigned int ALIGNMENT, unsigned int VECTOR_ALIGNMENT>
viennacl::vector_expression
< const viennacl::matrix
< SCALARTYPE, F, ALIGNMENT >
, const viennacl::vector
< SCALARTYPE, VECTOR_ALIGNMENT >
, op_prod > 
prod_impl (const viennacl::matrix< SCALARTYPE, F, ALIGNMENT > &mat, const viennacl::vector< SCALARTYPE, VECTOR_ALIGNMENT > &vec)
 Returns a proxy class that represents matrix-vector multiplication.
template<class SCALARTYPE , unsigned int ALIGNMENT, unsigned int VECTOR_ALIGNMENT>
viennacl::vector_expression
< const
viennacl::compressed_matrix
< SCALARTYPE, ALIGNMENT >
, const viennacl::vector
< SCALARTYPE, VECTOR_ALIGNMENT >
, op_prod > 
prod_impl (const compressed_matrix< SCALARTYPE, ALIGNMENT > &mat, const vector< SCALARTYPE, VECTOR_ALIGNMENT > &vec)
 Returns a proxy class that represents matrix-vector multiplication with a compressed_matrix.
template<class SCALARTYPE , unsigned int ALIGNMENT, unsigned int VECTOR_ALIGNMENT>
viennacl::vector_expression
< const
viennacl::coordinate_matrix
< SCALARTYPE, ALIGNMENT >
, const viennacl::vector
< SCALARTYPE, VECTOR_ALIGNMENT >
, op_prod > 
prod_impl (const coordinate_matrix< SCALARTYPE, ALIGNMENT > &mat, const vector< SCALARTYPE, VECTOR_ALIGNMENT > &vec)
 Returns a proxy class that represents matrix-vector multiplication with a compressed_matrix.
template<typename V1 , typename V2 , typename S3 >
viennacl::enable_if
< viennacl::is_vector< V1 >
::value &&viennacl::is_vector
< V2 >::value
&&viennacl::is_scalar< S3 >
::value >::type 
inner_prod_impl (V1 const &vec1, V2 const &vec2, S3 &result)
 Computes the inner product of two vectors - implementation. Library users should call inner_prod(vec1, vec2).

Detailed Description

This file provides the forward declarations for the main types used within ViennaCL.