10#ifndef _TEUCHOS_PROMOTION_TRAITS_HPP_
11#define _TEUCHOS_PROMOTION_TRAITS_HPP_
17template <
class A,
class B>
24template <
class T>
class PromotionTraits<T,T> {
29#define PT_SPEC(type1,type2,type3) \
30template <> class PromotionTraits< type1 , type2 > { \
32 typedef type3 promote; \
34template <> class PromotionTraits< type2 , type1 > { \
36 typedef type3 promote; \
39#ifdef HAVE_TEUCHOS_COMPLEX
40PT_SPEC(
double,std::complex<float>,std::complex<double>)
41PT_SPEC(
float,std::complex<double>,std::complex<double>)
42PT_SPEC(
float,std::complex<float>,std::complex<float>)
43PT_SPEC(
double,std::complex<double>,std::complex<double>)
45PT_SPEC(
double,
float,
double)
46PT_SPEC(
double,
long,
double)
47PT_SPEC(
double,
int,
double)
48PT_SPEC(
float,
long,
float)
49PT_SPEC(
float,
int,
float)
Teuchos header file which uses auto-configuration information to include necessary C++ headers.
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos,...