Tpetra parallel linear algebra
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
core
src
Tpetra_CombineMode.cpp
1
// @HEADER
2
// *****************************************************************************
3
// Tpetra: Templated Linear Algebra Services Package
4
//
5
// Copyright 2008 NTESS and the Tpetra contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#include <
Tpetra_CombineMode.hpp
>
11
#include <Teuchos_StandardParameterEntryValidators.hpp>
12
13
namespace
Tpetra
{
14
15
void
setCombineModeParameter
(Teuchos::ParameterList& plist,
16
const
std::string& paramName) {
17
typedef
Tpetra::CombineMode
enum_type;
18
typedef
Teuchos::StringToIntegralParameterEntryValidator<enum_type>
19
validator_type;
20
21
const
std::string docString =
22
"Tpetra::CombineMode: rule for combining "
23
"entries that overlap across processes, when redistributing data via a "
24
"Tpetra::Import or Tpetra::Export"
;
25
const
std::string defaultVal =
"ADD"
;
26
const
bool
caseSensitive =
false
;
27
28
const
Teuchos::Array<std::string>::size_type numParams = 6;
29
Teuchos::Array<std::string> strs(numParams);
30
Teuchos::Array<std::string> docs(numParams);
31
Teuchos::Array<enum_type> vals(numParams);
32
33
strs[0] =
"ADD"
;
34
strs[1] =
"INSERT"
;
35
strs[2] =
"REPLACE"
;
36
strs[3] =
"ABSMAX"
;
37
strs[4] =
"ZERO"
;
38
strs[5] =
"ADD_ASSIGN"
;
39
40
docs[0] =
"Sum new values"
;
41
docs[1] =
"Insert new values that don't currently exist"
;
42
docs[2] =
"Replace existing values with new values"
;
43
docs[3] =
"Replace old value with maximum of magnitudes of old and new values"
;
44
docs[4] =
"Replace old values with zero"
;
45
docs[5] =
46
"Do addition assignment (+=) of new values into existing value; "
47
"may not be supported by all classes"
;
48
49
vals[0] =
ADD
;
50
vals[1] =
INSERT
;
51
vals[2] =
REPLACE
;
52
vals[3] =
ABSMAX
;
53
vals[4] =
ZERO
;
54
vals[5] =
ADD_ASSIGN
;
55
56
plist.set(paramName, defaultVal, docString,
57
Teuchos::rcp(
new
validator_type(strs(), docs(), vals(),
58
defaultVal, caseSensitive)));
59
}
60
61
std::string
combineModeToString
(
const
CombineMode
combineMode) {
62
std::string combineModeStr;
63
switch
(combineMode) {
64
case
ADD
:
65
combineModeStr =
"ADD"
;
66
break
;
67
case
REPLACE
:
68
combineModeStr =
"REPLACE"
;
69
break
;
70
case
ABSMAX
:
71
combineModeStr =
"ABSMAX"
;
72
break
;
73
case
INSERT
:
74
combineModeStr =
"INSERT"
;
75
break
;
76
case
ZERO
:
77
combineModeStr =
"ZERO"
;
78
break
;
79
case
ADD_ASSIGN
:
80
combineModeStr =
"ADD_ASSIGN"
;
81
break
;
82
default
:
83
combineModeStr =
"INVALID"
;
84
}
85
return
combineModeStr;
86
}
87
88
}
// namespace Tpetra
Tpetra_CombineMode.hpp
Declaration of Tpetra::CombineMode enum, and a function for setting a Tpetra::CombineMode parameter i...
Tpetra
Namespace Tpetra contains the class and methods constituting the Tpetra library.
Tpetra::combineModeToString
std::string combineModeToString(const CombineMode combineMode)
Human-readable string representation of the given CombineMode.
Definition
Tpetra_CombineMode.cpp:61
Tpetra::setCombineModeParameter
void setCombineModeParameter(Teuchos::ParameterList &plist, const std::string ¶mName)
Set CombineMode parameter in a Teuchos::ParameterList.
Definition
Tpetra_CombineMode.cpp:15
Tpetra::CombineMode
CombineMode
Rule for combining data in an Import or Export.
Definition
Tpetra_CombineMode.hpp:65
Tpetra::REPLACE
@ REPLACE
Replace existing values with new values.
Definition
Tpetra_CombineMode.hpp:68
Tpetra::ADD
@ ADD
Sum new values.
Definition
Tpetra_CombineMode.hpp:66
Tpetra::ABSMAX
@ ABSMAX
Replace old value with maximum of magnitudes of old and new values.
Definition
Tpetra_CombineMode.hpp:69
Tpetra::ADD_ASSIGN
@ ADD_ASSIGN
Accumulate new values into existing values (may not be supported in all classes).
Definition
Tpetra_CombineMode.hpp:71
Tpetra::INSERT
@ INSERT
Insert new values that don't currently exist.
Definition
Tpetra_CombineMode.hpp:67
Tpetra::ZERO
@ ZERO
Replace old values with zero.
Definition
Tpetra_CombineMode.hpp:70
Generated by
1.17.0