55 #ifndef AMESOS2_SHYLUBASKER_TYPEMAP_HPP 56 #define AMESOS2_SHYLUBASKER_TYPEMAP_HPP 59 #ifdef HAVE_TEUCHOS_COMPLEX 63 #include <Teuchos_as.hpp> 64 #ifdef HAVE_TEUCHOS_COMPLEX 65 #include <Teuchos_SerializationTraits.hpp> 68 #include "Amesos2_TypeMap.hpp" 71 #ifdef HAVE_TEUCHOS_COMPLEX 87 #ifndef HAVE_AMESOS2_KLU2 90 class ValueTypeConversionTraits<
std::complex<double>, std::complex<float> >
93 static std::complex<double> convert(
const std::complex<float> t )
95 std::complex<double> ret(Teuchos::as<double>(t.real()),
96 Teuchos::as<double>(t.imag()));
100 static std::complex<double> safeConvert(
const std::complex<float> t )
102 std::complex<double> ret(Teuchos::as<double>(t.real()),
103 Teuchos::as<double>(t.imag()));
110 class ValueTypeConversionTraits<
std::complex<float> , std::complex<double> >
113 static std::complex<float> convert(
const std::complex<double> t )
115 float ret_r = Teuchos::as<float>( t.real() );
116 float ret_i = Teuchos::as<float>( t.imag() );
117 std::complex<float> ret (ret_r, ret_i);
122 static std::complex<float> safeConvert(
const std::complex<double> t )
124 float ret_r = Teuchos::as<float>( t.real() );
125 float ret_i = Teuchos::as<float>( t.imag() );
126 std::complex<float> ret (ret_r, ret_i);
138 #endif // HAVE_TEUCHOS_COMPLEX 143 template <
class,
class>
class ShyLUBasker;
152 struct TypeMap<ShyLUBasker,float>
156 typedef float magnitude_type;
161 struct TypeMap<ShyLUBasker,double>
165 typedef double magnitude_type;
169 #ifdef HAVE_TEUCHOS_COMPLEX 172 struct TypeMap<ShyLUBasker,
std::complex<float> >
174 static std::complex<double> dtype;
175 typedef std::complex<double> type;
176 typedef double magnitude_type;
181 struct TypeMap<ShyLUBasker,
std::complex<double> >
183 static std::complex<double> dtype;
184 typedef std::complex<double> type;
185 typedef double magnitude_type;
189 #endif // HAVE_TEUCHOS_COMPLEX 196 #endif // AMESOS2_SHYLUBASKER_TYPEMAP_HPP
Definition: Amesos2_AbstractConcreteMatrixAdapter.hpp:48
Definition: Amesos2_Umfpack_TypeMap.hpp:60