Apply kernel operation. More...
Apply kernel operation.
exp1 | expression1 |
NN | list |
Definition at line 309 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_< false > | 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, const 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 >::is_ker |
indicate if this expression operate on kernel expression
Definition at line 343 of file vector_dist_operators_apply_kernel.hpp.
typedef boost::mpl::bool_<false> vector_dist_expression_op< exp1, vector_type, VECT_APPLYKER_IN >::is_sort |
indicate that is apply_kernel is not a sorted version
Definition at line 349 of file vector_dist_operators_apply_kernel.hpp.
|
private |
Get the type of the kernel.
Definition at line 314 of file vector_dist_operators_apply_kernel.hpp.
|
private |
Return the type of the kernel.
Definition at line 321 of file vector_dist_operators_apply_kernel.hpp.
|
private |
Get the type of the Cell-list.
Definition at line 312 of file vector_dist_operators_apply_kernel.hpp.
|
private |
Return the type of the Cell-list.
Definition at line 319 of file vector_dist_operators_apply_kernel.hpp.
typedef NN_nr vector_dist_expression_op< exp1, vector_type, VECT_APPLYKER_IN >::NN_type |
type of NN structure
Definition at line 352 of file vector_dist_operators_apply_kernel.hpp.
|
private |
Get the return type of applying the kernel to a particle.
Definition at line 338 of file vector_dist_operators_apply_kernel.hpp.
|
private |
Get the type that contain the particle positions.
Definition at line 316 of file vector_dist_operators_apply_kernel.hpp.
|
private |
Return the vector containing the position of the particles.
Definition at line 323 of file vector_dist_operators_apply_kernel.hpp.
typedef vector_orig_nr vector_dist_expression_op< exp1, vector_type, VECT_APPLYKER_IN >::vtype |
vector type on which this expression work
Definition at line 346 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 393 of file vector_dist_operators_apply_kernel.hpp.
|
inline |
get the NN object
Definition at line 359 of file vector_dist_operators_apply_kernel.hpp.
|
inline |
get the vector
Definition at line 369 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 379 of file vector_dist_operators_apply_kernel.hpp.
|
inline |
Evaluate the expression.
key | where to evaluate the expression |
Definition at line 404 of file vector_dist_operators_apply_kernel.hpp.
|
private |
Cell-list.
Definition at line 329 of file vector_dist_operators_apply_kernel.hpp.
|
private |
kernel
Definition at line 332 of file vector_dist_operators_apply_kernel.hpp.
|
private |
expression
Definition at line 326 of file vector_dist_operators_apply_kernel.hpp.
|
private |
The vector that contain the particles.
Definition at line 335 of file vector_dist_operators_apply_kernel.hpp.