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.