OpenFPM_pdata  4.1.0
Project that contain the implementation of distributed structures
vector_dist_expression_op< exp1, exp2, VECT_SUB > Class Template Reference

Subtraction operation. More...

Detailed Description

template<typename exp1, typename exp2>
class vector_dist_expression_op< exp1, exp2, VECT_SUB >

Subtraction operation.

Template Parameters
exp1expression1
exp2expression2

Definition at line 393 of file vector_dist_operators.hpp.

#include <vector_dist_operators.hpp>

Public Types

typedef first_or_second< has_vtype< exp1 >::value, exp1, exp2 >::vtype vtype
 The type of the internal vector.
 
typedef exp1::is_ker is_ker
 
typedef vector_is_sort_result< exp1::is_sort::value, exp2::is_sort::value >::type is_sort
 result for is sort
 
typedef nn_type_result< typename exp1::NN_type, typename exp2::NN_type >::type NN_type
 NN_type.
 

Public Member Functions

 vector_dist_expression_op (const exp1 &o1, const exp2 &o2)
 Costruct a subtraction expression out of two expressions.
 
NN_typegetNN () const
 get the NN object More...
 
void init () const
 This function must be called before value. More...
 
template<typename r_type = typename std::remove_reference<decltype(o1.value(vect_dist_key_dx()) - o2.value(vect_dist_key_dx()))>::type>
r_type value (const vect_dist_key_dx &key) const
 Evaluate the expression. More...
 
template<typename r_type = typename std::remove_reference<decltype(o1.value(vect_dist_key_dx()) - o2.value(vect_dist_key_dx()))>::type>
__device__ __host__ r_type value (const unsigned int &key) const
 Evaluate the expression. More...
 
const vtypegetVector ()
 Return the vector on which is acting. More...
 
const vtypegetVector () const
 Return the vector on which is acting. More...
 
template<typename Sys_eqs , typename pmap_type , typename unordered_map_type , typename coeff_type >
void value_nz (pmap_type &p_map, const vect_dist_key_dx &key, unordered_map_type &cols, coeff_type &coeff, unsigned int comp) const
 

Private Attributes

const exp1 o1
 expression 1
 
const exp2 o2
 expression 2
 

Member Function Documentation

◆ getNN()

template<typename exp1 , typename exp2 >
NN_type* vector_dist_expression_op< exp1, exp2, VECT_SUB >::getNN ( ) const
inline

get the NN object

Returns
the NN object

Definition at line 424 of file vector_dist_operators.hpp.

◆ getVector() [1/2]

template<typename exp1 , typename exp2 >
const vtype& vector_dist_expression_op< exp1, exp2, VECT_SUB >::getVector ( )
inline

Return the vector on which is acting.

It return the vector used in getVExpr, to get this object

Returns
the vector

Definition at line 474 of file vector_dist_operators.hpp.

◆ getVector() [2/2]

template<typename exp1 , typename exp2 >
const vtype& vector_dist_expression_op< exp1, exp2, VECT_SUB >::getVector ( ) const
inline

Return the vector on which is acting.

It return the vector used in getVExpr, to get this object

Returns
the vector

Definition at line 486 of file vector_dist_operators.hpp.

◆ init()

template<typename exp1 , typename exp2 >
void vector_dist_expression_op< exp1, exp2, VECT_SUB >::init ( ) const
inline

This function must be called before value.

it initialize the expression if needed

Definition at line 435 of file vector_dist_operators.hpp.

◆ value() [1/2]

template<typename exp1 , typename exp2 >
template<typename r_type = typename std::remove_reference<decltype(o1.value(vect_dist_key_dx()) - o2.value(vect_dist_key_dx()))>::type>
r_type vector_dist_expression_op< exp1, exp2, VECT_SUB >::value ( const vect_dist_key_dx key) const
inline

Evaluate the expression.

Parameters
keywhere to evaluate the expression
Returns
the result of the expression

Definition at line 449 of file vector_dist_operators.hpp.

◆ value() [2/2]

template<typename exp1 , typename exp2 >
template<typename r_type = typename std::remove_reference<decltype(o1.value(vect_dist_key_dx()) - o2.value(vect_dist_key_dx()))>::type>
__device__ __host__ r_type vector_dist_expression_op< exp1, exp2, VECT_SUB >::value ( const unsigned int &  key) const
inline

Evaluate the expression.

Parameters
keywhere to evaluate the expression
Returns
the result of the expression

Definition at line 462 of file vector_dist_operators.hpp.


The documentation for this class was generated from the following file: