expression that encapsulate a vector reduction expression More...
expression that encapsulate a vector reduction expression
exp1 | expression 1 |
vector_type | type of vector on which the expression is acting |
Definition at line 408 of file vector_dist_operators_functions.hpp.
#include <vector_dist_operators_functions.hpp>
Public Types | |
typedef exp1::is_ker | is_ker |
Indicate if it is an in kernel expression. | |
typedef vector_result< typenameexp1::vtype, void >::type | vtype |
return the vector type on which this expression operate | |
typedef vector_is_sort_result< exp1::is_sort::value, false >::type | is_sort |
result for is sort | |
typedef nn_type_result< typenameexp1::NN_type, void >::type | NN_type |
NN_type. | |
Public Member Functions | |
vector_dist_expression_op (const exp1 &o1) | |
constructor from an epxression exp1 and a vector vd | |
void | init () const |
sum reduction require initialization where we calculate the reduction | |
NN_type * | getNN () const |
get the NN object | |
std::remove_reference< rtype >::type | get () |
it return the result of the expression | |
template<typename r_type = typename std::remove_reference<rtype>::type> | |
__device__ __host__ r_type | value (const vect_dist_key_dx &key) const |
it return the result of the expression (precalculated before) | |
vtype & | getVector () |
Return the vector on which is acting. | |
const vtype & | getVector () const |
Return the vector on which is acting. | |
Private Types | |
typedef apply_kernel_rtype< decltype(o1.value(vect_dist_key_dx()))>::rtype | rtype |
return type of this expression | |
Private Attributes | |
const exp1 | o1 |
expression on which apply the reduction | |
std::remove_reference< rtype >::type | val |
return type of the calculated value (without reference) | |
typedef exp1::is_ker vector_dist_expression_op< exp1, void, VECT_SUM_REDUCE >::is_ker |
Indicate if it is an in kernel expression.
Definition at line 423 of file vector_dist_operators_functions.hpp.
typedef vector_is_sort_result<exp1::is_sort::value,false>::type vector_dist_expression_op< exp1, void, VECT_SUM_REDUCE >::is_sort |
result for is sort
Definition at line 429 of file vector_dist_operators_functions.hpp.
typedef nn_type_result<typenameexp1::NN_type,void>::type vector_dist_expression_op< exp1, void, VECT_SUM_REDUCE >::NN_type |
NN_type.
Definition at line 432 of file vector_dist_operators_functions.hpp.
|
private |
return type of this expression
Definition at line 415 of file vector_dist_operators_functions.hpp.
typedef vector_result<typenameexp1::vtype,void>::type vector_dist_expression_op< exp1, void, VECT_SUM_REDUCE >::vtype |
return the vector type on which this expression operate
Definition at line 426 of file vector_dist_operators_functions.hpp.
|
inline |
constructor from an epxression exp1 and a vector vd
Definition at line 435 of file vector_dist_operators_functions.hpp.
|
inline |
it return the result of the expression
Definition at line 457 of file vector_dist_operators_functions.hpp.
|
inline |
get the NN object
Definition at line 451 of file vector_dist_operators_functions.hpp.
|
inline |
Return the vector on which is acting.
It return the vector used in getVExpr, to get this object
Definition at line 477 of file vector_dist_operators_functions.hpp.
|
inline |
Return the vector on which is acting.
It return the vector used in getVExpr, to get this object
Definition at line 489 of file vector_dist_operators_functions.hpp.
|
inline |
sum reduction require initialization where we calculate the reduction
Definition at line 441 of file vector_dist_operators_functions.hpp.
|
inline |
it return the result of the expression (precalculated before)
Definition at line 465 of file vector_dist_operators_functions.hpp.
|
private |
expression on which apply the reduction
Definition at line 412 of file vector_dist_operators_functions.hpp.
|
mutableprivate |
return type of the calculated value (without reference)
Definition at line 418 of file vector_dist_operators_functions.hpp.