43#include <Teuchos_StandardParameterEntryValidators.hpp>
49 const std::string& paramName)
52 typedef Teuchos::StringToIntegralParameterEntryValidator<enum_type>
55 const std::string docString =
"Tpetra::CombineMode: rule for combining "
56 "entries that overlap across processes, when redistributing data via a "
57 "Tpetra::Import or Tpetra::Export";
58 const std::string defaultVal =
"ADD";
59 const bool caseSensitive =
false;
61 const Teuchos::Array<std::string>::size_type numParams = 6;
62 Teuchos::Array<std::string> strs (numParams);
63 Teuchos::Array<std::string> docs (numParams);
64 Teuchos::Array<enum_type> vals (numParams);
71 strs[5] =
"ADD_ASSIGN";
73 docs[0] =
"Sum new values";
74 docs[1] =
"Insert new values that don't currently exist";
75 docs[2] =
"Replace existing values with new values";
76 docs[3] =
"Replace old value with maximum of magnitudes of old and new values";
77 docs[4] =
"Replace old values with zero";
78 docs[5] =
"Do addition assignment (+=) of new values into existing value; "
79 "may not be supported by all classes";
88 plist.set (paramName, defaultVal, docString,
89 Teuchos::rcp (
new validator_type (strs (), docs (), vals (),
90 defaultVal, caseSensitive)));
95 std::string combineModeStr;
96 switch (combineMode) {
98 combineModeStr =
"ADD";
101 combineModeStr =
"REPLACE";
104 combineModeStr =
"ABSMAX";
107 combineModeStr =
"INSERT";
110 combineModeStr =
"ZERO";
113 combineModeStr =
"ADD_ASSIGN";
116 combineModeStr =
"INVALID";
118 return combineModeStr;
Declaration of Tpetra::CombineMode enum, and a function for setting a Tpetra::CombineMode parameter i...
Namespace Tpetra contains the class and methods constituting the Tpetra library.
std::string combineModeToString(const CombineMode combineMode)
Human-readable string representation of the given CombineMode.
void setCombineModeParameter(Teuchos::ParameterList &plist, const std::string ¶mName)
Set CombineMode parameter in a Teuchos::ParameterList.
CombineMode
Rule for combining data in an Import or Export.
@ REPLACE
Replace existing values with new values.
@ ABSMAX
Replace old value with maximum of magnitudes of old and new values.
@ ADD_ASSIGN
Accumulate new values into existing values (may not be supported in all classes)
@ INSERT
Insert new values that don't currently exist.
@ ZERO
Replace old values with zero.