Apply kernel operation. More...
Apply kernel operation.
exp1 | expression1 |
NN | list |
Definition at line 423 of file vector_dist_operators_apply_kernel.hpp.
#include <vector_dist_operators_apply_kernel.hpp>
Public Types | |
typedef has_vector_kernel< vector_orig_nr >::type | is_ker |
indicate if this expression operate on kernel expression | |
typedef vector_orig_nr | vtype |
vector type on which this expression work | |
typedef boost::mpl::bool_< true > | is_sort |
indicate that is apply_kernel is not a sorted version | |
typedef NN_nr | NN_type |
type of NN structure | |
Public Member Functions | |
NN_nr * | getNN () const |
get the NN object | |
const vtype & | getVector () const |
get the vector | |
void | init () const |
This function must be called before value. | |
vector_dist_expression_op (const exp1 &o1, NN &cl, Kernel &ker, const vector_orig_nr &vd) | |
Constructor. | |
__device__ __host__ std::remove_reference< rtype >::type | value (const vect_dist_key_dx &key) const |
Evaluate the expression. | |
Private Types | |
typedef boost::mpl::at< vector_type, boost::mpl::int_< 0 > >::type | NN |
Get the type of the Cell-list. | |
typedef boost::mpl::at< vector_type, boost::mpl::int_< 1 > >::type | Kernel |
Get the type of the kernel. | |
typedef boost::mpl::at< vector_type, boost::mpl::int_< 2 > >::type | vector_orig |
Get the type that contain the particle positions. | |
typedef std::remove_reference< NN >::type | NN_nr |
Return the type of the Cell-list. | |
typedef std::remove_reference< Kernel >::type | Kernel_nr |
Return the type of the kernel. | |
typedef std::remove_reference< vector_orig >::type | vector_orig_nr |
Return the vector containing the position of the particles. | |
typedef apply_kernel_rtype< decltype(o1.value(vect_dist_key_dx()))>::rtype | rtype |
Get the return type of applying the kernel to a particle. | |
Private Attributes | |
const exp1 | o1 |
expression | |
mutable_or_not< NN, is_gpu_celllist< NN >::type::value||is_gpu_ker_celllist< NN >::type::value > | cl |
Cell-list. | |
mutable_or_not< Kernel, is_gpu_celllist< NN >::type::value||is_gpu_ker_celllist< NN >::type::value > | ker |
kernel | |
add_const_reference< vector_orig >::type | vd |
The vector that contain the particles. | |
typedef has_vector_kernel<vector_orig_nr>::type vector_dist_expression_op< exp1, vector_type, VECT_APPLYKER_IN_SORT >::is_ker |
indicate if this expression operate on kernel expression
Definition at line 457 of file vector_dist_operators_apply_kernel.hpp.
typedef boost::mpl::bool_<true> vector_dist_expression_op< exp1, vector_type, VECT_APPLYKER_IN_SORT >::is_sort |
indicate that is apply_kernel is not a sorted version
Definition at line 463 of file vector_dist_operators_apply_kernel.hpp.
|
private |
Get the type of the kernel.
Definition at line 428 of file vector_dist_operators_apply_kernel.hpp.
|
private |
Return the type of the kernel.
Definition at line 435 of file vector_dist_operators_apply_kernel.hpp.
|
private |
Get the type of the Cell-list.
Definition at line 426 of file vector_dist_operators_apply_kernel.hpp.
|
private |
Return the type of the Cell-list.
Definition at line 433 of file vector_dist_operators_apply_kernel.hpp.
typedef NN_nr vector_dist_expression_op< exp1, vector_type, VECT_APPLYKER_IN_SORT >::NN_type |
type of NN structure
Definition at line 466 of file vector_dist_operators_apply_kernel.hpp.
|
private |
Get the return type of applying the kernel to a particle.
Definition at line 452 of file vector_dist_operators_apply_kernel.hpp.
|
private |
Get the type that contain the particle positions.
Definition at line 430 of file vector_dist_operators_apply_kernel.hpp.
|
private |
Return the vector containing the position of the particles.
Definition at line 437 of file vector_dist_operators_apply_kernel.hpp.
typedef vector_orig_nr vector_dist_expression_op< exp1, vector_type, VECT_APPLYKER_IN_SORT >::vtype |
vector type on which this expression work
Definition at line 460 of file vector_dist_operators_apply_kernel.hpp.
|
inline |
Constructor.
o1 | expression |
cl | Cell-list |
ker | kernel function |
vd | vector containing the particle positions |
Definition at line 506 of file vector_dist_operators_apply_kernel.hpp.
|
inline |
get the NN object
Definition at line 473 of file vector_dist_operators_apply_kernel.hpp.
|
inline |
get the vector
Definition at line 483 of file vector_dist_operators_apply_kernel.hpp.
|
inline |
This function must be called before value.
it initialize the expression if needed
Definition at line 493 of file vector_dist_operators_apply_kernel.hpp.
|
inline |
Evaluate the expression.
key | where to evaluate the expression |
Definition at line 517 of file vector_dist_operators_apply_kernel.hpp.
|
private |
Cell-list.
Definition at line 443 of file vector_dist_operators_apply_kernel.hpp.
|
private |
kernel
Definition at line 446 of file vector_dist_operators_apply_kernel.hpp.
|
private |
expression
Definition at line 440 of file vector_dist_operators_apply_kernel.hpp.
|
private |
The vector that contain the particles.
Definition at line 449 of file vector_dist_operators_apply_kernel.hpp.