PPL Logo

CkReduction Class Reference

#include <ckreduction.h>


Public Types

enum  reducerType {
  invalid = 0, nop, sum_char, sum_short,
  sum_int, sum_long, sum_long_long, sum_uchar,
  sum_ushort, sum_uint, sum_ulong, sum_ulong_long,
  sum_float, sum_double, product_char, product_short,
  product_int, product_long, product_long_long, product_uchar,
  product_ushort, product_uint, product_ulong, product_ulong_long,
  product_float, product_double, max_char, max_short,
  max_int, max_long, max_long_long, max_uchar,
  max_ushort, max_uint, max_ulong, max_ulong_long,
  max_float, max_double, min_char, min_short,
  min_int, min_long, min_long_long, min_uchar,
  min_ushort, min_uint, min_ulong, min_ulong_long,
  min_float, min_double, logical_and, logical_and_int,
  logical_and_bool, logical_or, logical_or_int, logical_or_bool,
  logical_xor_int, logical_xor_bool, bitvec_and, bitvec_and_int,
  bitvec_and_bool, bitvec_or, bitvec_or_int, bitvec_or_bool,
  bitvec_xor, bitvec_xor_int, bitvec_xor_bool, random,
  concat, set, statistics, tuple,
  external_py
}
typedef CkReductionMsg *(* reducerFn )(int nMsg, CkReductionMsg **msgs)

Static Public Member Functions

static reducerType addReducer (reducerFn fn, bool streamable=false, const char *name=NULL)

Private Member Functions

 CkReduction ()

Static Private Member Functions

static std::vector
< reducerStruct > & 
reducerTable ()
static std::vector< reducerStructinitReducerTable ()
static CkReductionMsgtupleReduction_fn (int nMsgs, CkReductionMsg **msgs)

Friends

class CkReductionMgr
class CkNodeReductionMgr
class CkMulticastMgr
class ck::impl::XArraySectionReducer

Data Structures

struct  reducerStruct
class  setElement
struct  statisticsElement
struct  tupleElement


Detailed Description

Definition at line 113 of file ckreduction.h.


Member Typedef Documentation


Member Enumeration Documentation

Enumerator:
invalid 
nop 
sum_char 
sum_short 
sum_int 
sum_long 
sum_long_long 
sum_uchar 
sum_ushort 
sum_uint 
sum_ulong 
sum_ulong_long 
sum_float 
sum_double 
product_char 
product_short 
product_int 
product_long 
product_long_long 
product_uchar 
product_ushort 
product_uint 
product_ulong 
product_ulong_long 
product_float 
product_double 
max_char 
max_short 
max_int 
max_long 
max_long_long 
max_uchar 
max_ushort 
max_uint 
max_ulong 
max_ulong_long 
max_float 
max_double 
min_char 
min_short 
min_int 
min_long 
min_long_long 
min_uchar 
min_ushort 
min_uint 
min_ulong 
min_ulong_long 
min_float 
min_double 
logical_and 
logical_and_int 
logical_and_bool 
logical_or 
logical_or_int 
logical_or_bool 
logical_xor_int 
logical_xor_bool 
bitvec_and 
bitvec_and_int 
bitvec_and_bool 
bitvec_or 
bitvec_or_int 
bitvec_or_bool 
bitvec_xor 
bitvec_xor_int 
bitvec_xor_bool 
random 
concat 
set 
statistics 
tuple 
external_py 

Definition at line 127 of file ckreduction.h.


Constructor & Destructor Documentation

CkReduction::CkReduction (  )  [private]

Definition at line 1794 of file ckreduction.C.


Member Function Documentation

CkReduction::reducerType CkReduction::addReducer ( reducerFn  fn,
bool  streamable = false,
const char *  name = NULL 
) [static]

std::vector< CkReduction::reducerStruct > & CkReduction::reducerTable (  )  [static, private]

std::vector< CkReduction::reducerStruct > CkReduction::initReducerTable (  )  [static, private]

Definition at line 1812 of file ckreduction.C.

References concat_fn(), external_py, invalid_reducer_fn(), nop_fn(), set_fn(), statistics_fn(), and tupleReduction_fn().

Referenced by reducerTable().

Here is the call graph for this function:

Here is the caller graph for this function:

CkReductionMsg * CkReduction::tupleReduction_fn ( int  nMsgs,
CkReductionMsg **  msgs 
) [static, private]


Friends And Related Function Documentation

friend class CkReductionMgr [friend]

Definition at line 259 of file ckreduction.h.

friend class CkNodeReductionMgr [friend]

Definition at line 260 of file ckreduction.h.

friend class CkMulticastMgr [friend]

Definition at line 261 of file ckreduction.h.

friend class ck::impl::XArraySectionReducer [friend]

Definition at line 262 of file ckreduction.h.


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

Generated on Mon Sep 21 08:21:16 2020 for Charm++ by  doxygen 1.5.5