22#ifndef AMESOS2_CLUSTERSPARSEMKL_TYPEMAP_HPP
23#define AMESOS2_CLUSTERSPARSEMKL_TYPEMAP_HPP
25#ifdef HAVE_TEUCHOS_COMPLEX
32#include <Teuchos_as.hpp>
33#ifdef HAVE_TEUCHOS_COMPLEX
34#include <Teuchos_SerializationTraits.hpp>
37#include "Amesos2_TypeMap.hpp"
43 template <
class,
class>
class CssMKL;
52 struct TypeMap<CssMKL,float>
54 typedef PMKL::_REAL_t type;
55 typedef PMKL::_REAL_t magnitude_type;
60 struct TypeMap<CssMKL,double>
62 typedef PMKL::_DOUBLE_PRECISION_t type;
63 typedef PMKL::_DOUBLE_PRECISION_t magnitude_type;
66#ifdef HAVE_TEUCHOS_COMPLEX
74 struct TypeMap<CssMKL,std::complex<float> >
76 typedef PMKL::_MKL_Complex8 type;
77 typedef PMKL::_REAL_t magnitude_type;
82 struct TypeMap<CssMKL,std::complex<double> >
84 typedef PMKL::_DOUBLE_COMPLEX_t type;
85 typedef PMKL::_DOUBLE_PRECISION_t magnitude_type;
90 struct TypeMap<CssMKL,PMKL::_MKL_Complex8>
92 typedef PMKL::_MKL_Complex8 type;
93 typedef PMKL::_REAL_t magnitude_type;
98 struct TypeMap<CssMKL,PMKL::_DOUBLE_COMPLEX_t>
100 typedef PMKL::_DOUBLE_COMPLEX_t type;
101 typedef PMKL::_DOUBLE_PRECISION_t magnitude_type;
106 struct TypeMap<CssMKL,int>
108 typedef PMKL::_INTEGER_t type;
113 struct TypeMap<CssMKL,long long int>
115 typedef long long int type;
125 struct TypeMap<CssMKL,long int>
127 typedef std::conditional_t<
128 sizeof(int) <
sizeof(
long int),
129 TypeMap<CssMKL,long long int>::type,
130 TypeMap<CssMKL,int>::type > type;
Provides definition of PardisoMKL types as well as conversions and type traits. For the purpose of de...