46 #ifndef XPETRA_PARAMETERS_HPP
47 #define XPETRA_PARAMETERS_HPP
49 #include <Teuchos_Describable.hpp>
50 #include <Teuchos_VerboseObject.hpp>
78 const int maxOptions=2;
80 const char* optionNames [maxOptions];
82 std::stringstream documentation;
83 documentation <<
"linear algebra library (Epetra, Tpetra)";
86 #if defined(HAVE_XPETRA_EPETRA)
90 optionNames[nOptions] =
"Epetra";
93 #if defined(HAVE_XPETRA_TPETRA)
97 optionNames[nOptions] =
"Tpetra";
103 #if defined(HAVE_XPETRA_TPETRA)
105 const int maxInstOptions=5;
107 const char * instOptionNames [maxInstOptions];
112 # if defined(HAVE_MUELU_INST_DOUBLE_INT_INT) || defined(HAVE_TPETRA_INST_DOUBLE) && defined(HAVE_TPETRA_INST_INT_INT)
115 instOptionNames[nInstOptions] =
"DOUBLE_INT_INT";
118 # if defined(HAVE_MUELU_INST_DOUBLE_INT_LONGINT) || defined(HAVE_TPETRA_INST_DOUBLE) && defined(HAVE_TPETRA_INST_INT_LONG)
121 instOptionNames[nInstOptions] =
"DOUBLE_INT_LONGINT";
124 # if defined(HAVE_MUELU_INST_DOUBLE_INT_LONGLONGINT) || defined(HAVE_TPETRA_INST_DOUBLE) && defined(HAVE_TPETRA_INST_INT_LONG_LONG)
127 instOptionNames[nInstOptions] =
"DOUBLE_INT_LONGLONGINT";
130 # if defined(HAVE_MUELU_INST_COMPLEX_INT_INT) || defined(HAVE_TPETRA_INST_COMPLEX_DOUBLE) && defined(HAVE_TPETRA_INST_INT_INT)
133 instOptionNames[nInstOptions] =
"COMPLEX_INT_INT";
136 # if defined(HAVE_MUELU_INST_FLOAT_INT_INT) || defined(HAVE_TPETRA_INST_FLOAT) && defined(HAVE_TPETRA_INST_INT_INT)
139 instOptionNames[nInstOptions] =
"FLOAT_INT_INT";
142 std::stringstream instDocumentation;
143 instDocumentation <<
"choice of instantiation";
169 std::ostringstream out;
185 out <<
"Linear algebra library: " <<
toString(
lib_) << endl;