44#ifndef THYRA_AMESOS_TYPES_HPP
45#define THYRA_AMESOS_TYPES_HPP
47#include "Amesos_ConfigDefs.h"
48#include "Teuchos_StringToIntMap.hpp"
62#ifdef HAVE_AMESOS_UMFPACK
65#ifdef HAVE_AMESOS_SUPERLU
68#ifdef HAVE_AMESOS_SUPERLUDIST
71#ifdef HAVE_AMESOS_TAUCS
74#ifdef HAVE_AMESOS_PARDISO
77#ifdef HAVE_AMESOS_PASTIX
80#ifdef HAVE_AMESOS_PARAKLETE
83#ifdef HAVE_AMESOS_MUMPS
86#ifdef HAVE_AMESOS_SCALAPACK
89#ifdef HAVE_AMESOS_DSCPACK
97const int numSolverTypes = 1
101#ifdef HAVE_AMESOS_UMFPACK
104#ifdef HAVE_AMESOS_SUPERLU
107#ifdef HAVE_AMESOS_SUPERLUDIST
110#ifdef HAVE_AMESOS_TAUCS
113#ifdef HAVE_AMESOS_PARDISO
116#ifdef HAVE_AMESOS_PASTIX
119#ifdef HAVE_AMESOS_PARAKLETE
122#ifdef HAVE_AMESOS_MUMPS
125#ifdef HAVE_AMESOS_SCALAPACK
128#ifdef HAVE_AMESOS_DSCPACK
136extern const ESolverType solverTypeValues[numSolverTypes];
141extern const char* solverTypeNames[numSolverTypes];
146extern const bool supportsUnsymmetric[numSolverTypes];
151inline const char*
toString(
const ESolverType solverType)
152{
return solverTypeNames[solverType]; }
157extern Teuchos::StringToIntMap solverTypeNameToEnumMap;
162enum ERefactorizationPolicy {
163 REPIVOT_ON_REFACTORIZATION
164 ,NO_PIVOT_ON_REFACTORIZATION
170const int numRefactorizationPolices = 2;
175extern const ERefactorizationPolicy refactorizationPolicyValues[numRefactorizationPolices];
178extern const char* refactorizationPolicyNames[numRefactorizationPolices];
183inline const char*
toString(
const ERefactorizationPolicy refactorizationPolicy)
184{
return refactorizationPolicyNames[refactorizationPolicy]; }
189extern Teuchos::StringToIntMap refactorizationPolicyNameToEnumMap;
std::string toString(const int &x)