1 #ifndef VIENNACL_SCHEDULER_EXECUTE_VECTOR_DISPATCHER_HPP
2 #define VIENNACL_SCHEDULER_EXECUTE_VECTOR_DISPATCHER_HPP
40 template <
typename ScalarType1>
42 lhs_rhs_element const & vec2, ScalarType1
const & alpha,
vcl_size_t len_alpha,
bool reciprocal_alpha,
bool flip_sign_alpha)
46 &&
bool(
"Arguments are not vector types!"));
66 template <
typename ScalarType1,
typename ScalarType2>
68 lhs_rhs_element const & vec2, ScalarType1
const & alpha,
vcl_size_t len_alpha,
bool reciprocal_alpha,
bool flip_sign_alpha,
74 &&
bool(
"Arguments are not vector types!"));
96 template <
typename ScalarType1,
typename ScalarType2>
98 lhs_rhs_element const & vec2, ScalarType1
const & alpha,
vcl_size_t len_alpha,
bool reciprocal_alpha,
bool flip_sign_alpha,
104 &&
bool(
"Arguments are not vector types!"));
statement_node_subtype subtype
Definition: forwards.h:270
std::size_t vcl_size_t
Definition: forwards.h:58
void inner_prod_impl(lhs_rhs_element const &x, lhs_rhs_element const &y, lhs_rhs_element const &s)
Dispatcher interface for computing s = inner_prod(x, y)
Definition: execute_vector_dispatcher.hpp:163
Implementations of vector operations.
Definition: forwards.h:86
void inner_prod_impl(vector_base< T > const &vec1, vector_base< T > const &vec2, scalar< T > &result)
Computes the inner product of two vectors - dispatcher interface.
Definition: vector_operations.hpp:351
void norm_impl(lhs_rhs_element const &x, lhs_rhs_element const &s, operation_node_type op_type)
Dispatcher interface for computing s = norm_1(x)
Definition: execute_vector_dispatcher.hpp:127
Definition: forwards.h:217
Definition: forwards.h:185
void avbv_v(vector_base< T > &vec1, vector_base< T > const &vec2, ScalarType1 const &alpha, vcl_size_t len_alpha, bool reciprocal_alpha, bool flip_sign_alpha, vector_base< T > const &vec3, ScalarType2 const &beta, vcl_size_t len_beta, bool reciprocal_beta, bool flip_sign_beta)
Definition: vector_operations.hpp:115
double convert_to_double(float d)
Definition: execute_util.hpp:88
viennacl::scalar< float > * scalar_float
Definition: forwards.h:303
This file provides the forward declarations for the main types used within ViennaCL.
A class representing the 'data' for the LHS or RHS operand of the respective node.
Definition: forwards.h:267
void avbv(lhs_rhs_element &vec1, lhs_rhs_element const &vec2, ScalarType1 const &alpha, vcl_size_t len_alpha, bool reciprocal_alpha, bool flip_sign_alpha, lhs_rhs_element const &vec3, ScalarType2 const &beta, vcl_size_t len_beta, bool reciprocal_beta, bool flip_sign_beta)
Wrapper for viennacl::linalg::avbv(), taking care of the argument unwrapping.
Definition: execute_vector_dispatcher.hpp:67
viennacl::scalar< double > * scalar_double
Definition: forwards.h:304
Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
Definition: cpu_ram.hpp:29
Definition: forwards.h:170
viennacl::vector_base< float > * vector_float
Definition: forwards.h:315
statement_node_numeric_type numeric_type
Definition: forwards.h:271
void norm_1_impl(vector_base< T > const &vec, scalar< T > &result)
Computes the l^1-norm of a vector - dispatcher interface.
Definition: vector_operations.hpp:530
viennacl::vector_base< double > * vector_double
Definition: forwards.h:316
Definition: forwards.h:84
Definition: forwards.h:173
void avbv_v(lhs_rhs_element &vec1, lhs_rhs_element const &vec2, ScalarType1 const &alpha, vcl_size_t len_alpha, bool reciprocal_alpha, bool flip_sign_alpha, lhs_rhs_element const &vec3, ScalarType2 const &beta, vcl_size_t len_beta, bool reciprocal_beta, bool flip_sign_beta)
Wrapper for viennacl::linalg::avbv_v(), taking care of the argument unwrapping.
Definition: execute_vector_dispatcher.hpp:97
Provides the datastructures for dealing with a single statement such as 'x = y + z;'.
operation_node_type
Enumeration for identifying the possible operations.
Definition: forwards.h:61
void avbv(vector_base< T > &vec1, vector_base< T > const &vec2, ScalarType1 const &alpha, vcl_size_t len_alpha, bool reciprocal_alpha, bool flip_sign_alpha, vector_base< T > const &vec3, ScalarType2 const &beta, vcl_size_t len_beta, bool reciprocal_beta, bool flip_sign_beta)
Definition: vector_operations.hpp:78
void av(lhs_rhs_element &vec1, lhs_rhs_element const &vec2, ScalarType1 const &alpha, vcl_size_t len_alpha, bool reciprocal_alpha, bool flip_sign_alpha)
Wrapper for viennacl::linalg::av(), taking care of the argument unwrapping.
Definition: execute_vector_dispatcher.hpp:41
void av(vector_base< T > &vec1, vector_base< T > const &vec2, ScalarType1 const &alpha, vcl_size_t len_alpha, bool reciprocal_alpha, bool flip_sign_alpha)
Definition: vector_operations.hpp:49
float convert_to_float(float f)
Definition: execute_util.hpp:75
void norm_2_impl(vector_base< T > const &vec, scalar< T > &result)
Computes the l^2-norm of a vector - dispatcher interface.
Definition: vector_operations.hpp:624
statement_node_type_family type_family
Definition: forwards.h:269
Definition: forwards.h:85
Definition: forwards.h:187
Definition: forwards.h:216
Provides various utilities for implementing the execution of statements.
void norm_inf_impl(vector_base< T > const &vec, scalar< T > &result)
Computes the supremum-norm of a vector.
Definition: vector_operations.hpp:716
Exception for the case the scheduler is unable to deal with the operation.
Definition: forwards.h:36