OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
HashPairBuilder< PBase > Class Template Reference

#include <HashPairBuilder.h>

Collaboration diagram for HashPairBuilder< PBase >:

Public Types

enum  { Dim = PBase::Dim }
typedef PBase::Position_t Position_t

Public Member Functions

 HashPairBuilder (PBase &p)
template<class Pred, class OP>
void for_each (const Pred &pred, const OP &op)

Private Member Functions

template<class Pred>
int sum (int i, const Pred &pred, int f[], int offset[])
template<class Pred>
int get_bucket_id (int i, const Pred &pred)
int mod (int x, int m)

Private Attributes

PBase & particles
Vektor< int, 3 > buckets_per_dim
Vektor< double, 3 > rmin_m
Vektor< double, 3 > rmax_m

Detailed Description

template<class PBase>
class HashPairBuilder< PBase >

Definition at line 10 of file HashPairBuilder.h.

Member Typedef Documentation

◆ Position_t

template<class PBase>
typedef PBase::Position_t HashPairBuilder< PBase >::Position_t

Definition at line 14 of file HashPairBuilder.h.

Member Enumeration Documentation

◆ anonymous enum

template<class PBase>
anonymous enum
Enumerator
Dim 

Definition at line 13 of file HashPairBuilder.h.

Constructor & Destructor Documentation

◆ HashPairBuilder()

template<class PBase>
HashPairBuilder< PBase >::HashPairBuilder ( PBase & p)
inline

Definition at line 16 of file HashPairBuilder.h.

References particles.

Member Function Documentation

◆ for_each()

template<class PBase>
template<class Pred, class OP>
void HashPairBuilder< PBase >::for_each ( const Pred & pred,
const OP & op )
inline

Definition at line 19 of file HashPairBuilder.h.

References bounds(), buckets_per_dim, ceil(), endl(), get_bucket_id(), particles, rmax_m, and rmin_m.

Here is the call graph for this function:

◆ get_bucket_id()

template<class PBase>
template<class Pred>
int HashPairBuilder< PBase >::get_bucket_id ( int i,
const Pred & pred )
inlineprivate

Definition at line 202 of file HashPairBuilder.h.

References buckets_per_dim, particles, and rmin_m.

Referenced by for_each().

◆ mod()

template<class PBase>
int HashPairBuilder< PBase >::mod ( int x,
int m )
inlineprivate

Definition at line 212 of file HashPairBuilder.h.

Referenced by sum().

◆ sum()

template<class PBase>
template<class Pred>
int HashPairBuilder< PBase >::sum ( int i,
const Pred & pred,
int f[],
int offset[] )
inlineprivate

Definition at line 183 of file HashPairBuilder.h.

References Dim, floor(), mod(), particles, and sum().

Referenced by sum().

Here is the call graph for this function:

Member Data Documentation

◆ buckets_per_dim

template<class PBase>
Vektor<int,3> HashPairBuilder< PBase >::buckets_per_dim
private

Definition at line 221 of file HashPairBuilder.h.

Referenced by for_each(), and get_bucket_id().

◆ particles

template<class PBase>
PBase& HashPairBuilder< PBase >::particles
private

Definition at line 220 of file HashPairBuilder.h.

Referenced by for_each(), get_bucket_id(), HashPairBuilder(), and sum().

◆ rmax_m

template<class PBase>
Vektor<double,3> HashPairBuilder< PBase >::rmax_m
private

Definition at line 224 of file HashPairBuilder.h.

Referenced by for_each().

◆ rmin_m

template<class PBase>
Vektor<double,3> HashPairBuilder< PBase >::rmin_m
private

Definition at line 223 of file HashPairBuilder.h.

Referenced by for_each(), and get_bucket_id().


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