STORMM Source Documentation
Loading...
Searching...
No Matches
reduction_enumerators.h
1// -*-c++-*-
2#ifndef STORMM_REDUCTION_ENUMERATORS_H
3#define STORMM_REDUCTION_ENUMERATORS_H
4
5#include <string>
6#include "copyright.h"
7
8namespace stormm {
9namespace stmath {
10
12enum class ReductionStage {
13 GATHER,
14 SCATTER,
16 RESCALE,
18 ALL_REDUCE
20};
21
27enum class ReductionGoal {
28 NORMALIZE,
31 CENTER_ON_ZERO,
33 CONJUGATE_GRADIENT
35};
36
38enum class RdwuPerSystem {
39 ONE,
41 MULTIPLE
43};
44
47enum class RdwuAbstractMap {
48 ATOM_START = 0,
50 ATOM_END,
51 RESULT_INDEX,
52 DEPN_START,
54 DEPN_END,
56 SYSTEM_ID
57};
58
64std::string getEnumerationName(ReductionStage input);
65std::string getEnumerationName(ReductionGoal input);
66std::string getEnumerationName(RdwuPerSystem input);
67std::string getEnumerationName(RdwuAbstractMap input);
69
70} // namespace stmath
71} // namespace stormm
72
73#endif