43 #include <Epetra_CombineMode.h>
46 #ifdef HAVE_TEUCHOS_EXTENDED
47 #include <Teuchos_StrUtils.hpp>
56 return( ifpack_key_map );
62 static bool already_initialized =
false;
63 if (already_initialized) {
80 already_initialized =
true;
86 #ifdef HAVE_TEUCHOS_EXTENDED
90 for(
unsigned i=0; i<upp.length(); ++i) {
91 upp[i] = toupper(upp[i]);
101 bool cerr_warning_if_unused)
111 pl_iter = parameterlist.
begin(),
112 pl_end = parameterlist.
end();
114 for(; pl_iter != pl_end; ++pl_iter) {
115 std::string name =
upper_case((*pl_iter).first);
118 bool entry_used =
false;
121 if (result != ifp_key_map.end()) {
123 double dummy_double = -99.9;
124 bool dummy_bool =
false;
129 if (entry.
isType<
double>()) {
135 else if (entry.
isType<
int>()) {
136 int int_val = entry.
getValue(&dummy_int);
146 else if (entry.
isType<
bool>()) {
156 if (!entry_used && cerr_warning_if_unused) {
157 cerr <<
"Ifpack set_parameters warning: '"<<name<<
"' not used."<<endl;
ConstIterator end() const
int int_params[LAST_INT_PARAM-FIRST_INT_PARAM+1]
double double_params[FIRST_INT_PARAM]
static std::string allCaps(const std::string &str)
Teuchos::map< std::string, parameter > & key_map()
Epetra_CombineMode overlap_mode
ConstIterator begin() const
T & getValue(const ParameterEntry &entry)
Ifpack: a function class to define Ifpack preconditioners.
void set_parameters(const Teuchos::ParameterList ¶meterlist, param_struct ¶ms, bool cerr_warning_if_unused)
void initialize_string_map()
std::string upper_case(const std::string &s)