STORMM Source Documentation
Loading...
Searching...
No Matches
behavior.h
1// -*-c++-*-
2#ifndef STORMM_BEHAVIOR_H
3#define STORMM_BEHAVIOR_H
4
5#include <string>
6#include "copyright.h"
7
8namespace stormm {
9namespace constants {
10
13enum class ExceptionResponse {
14 DIE, WARN, SILENT
15};
16
19enum class ModificationPolicy {
20 MODIFY, DO_NOT_MODIFY
21};
22
24enum class CaseSensitivity {
25 YES,
26 NO,
27 AUTOMATIC
29};
30
32enum class PrecisionModel {
33 SINGLE,
35 DOUBLE,
37};
38
40enum class CartesianDimension {
41 X = 0, Y, Z
42};
43
45enum class UnitCellAxis {
46 A = 0, B, C
47};
48
53ExceptionResponse translateExceptionResponse(const std::string &policy);
54
58std::string getEnumerationName(ExceptionResponse policy);
59
63PrecisionModel translatePrecisionModel(const std::string &choice);
64
68std::string getEnumerationName(PrecisionModel pmodel);
69
73std::string getEnumerationName(CartesianDimension axis);
74
78std::string getEnumerationName(UnitCellAxis axis);
79
80} // namespace constants
81} // namespace stormm
82
83#endif