COMBINATORIAL_BLAS
1.6
Loading...
Searching...
No Matches
promote.h
Go to the documentation of this file.
1
#ifndef _PROMOTE_H_
2
#define _PROMOTE_H_
3
4
template
<
class
T1,
class
T2>
5
struct
promote_trait
{ };
6
7
#define DECLARE_PROMOTE(A,B,C) \
8
template <> struct promote_trait<A,B> \
9
{ \
10
typedef C T_promote; \
11
};
12
13
DECLARE_PROMOTE
(
int
,
bool
,
int
);
14
DECLARE_PROMOTE
(
unsigned
,
bool
,
unsigned
);
15
DECLARE_PROMOTE
(
float
,
bool
,
float
);
16
DECLARE_PROMOTE
(
double
,
bool
,
double
);
17
DECLARE_PROMOTE
(
long
long
,
bool
,
long
long
);
18
DECLARE_PROMOTE
(
unsigned
long
long
,
bool
,
unsigned
long
long
);
19
DECLARE_PROMOTE
(
bool
,
int
,
int
);
20
DECLARE_PROMOTE
(
bool
,
unsigned
,
unsigned
);
21
DECLARE_PROMOTE
(
bool
,
float
,
float
);
22
DECLARE_PROMOTE
(
bool
,
double
,
double
);
23
DECLARE_PROMOTE
(
bool
,
long
long
,
long
long
);
24
DECLARE_PROMOTE
(
bool
,
unsigned
long
long
,
unsigned
long
long
);
25
DECLARE_PROMOTE
(
bool
,
bool
,
bool
);
26
DECLARE_PROMOTE
(
float
,
int
,
float
);
27
DECLARE_PROMOTE
(
double
,
int
,
double
);
28
DECLARE_PROMOTE
(
int
,
float
,
float
);
29
DECLARE_PROMOTE
(
int
,
double
,
double
);
30
DECLARE_PROMOTE
(
float
,
float
,
float
);
31
DECLARE_PROMOTE
(
double
,
double
,
double
);
32
DECLARE_PROMOTE
(
int
,
int
,
int
);
33
DECLARE_PROMOTE
(
unsigned
,
unsigned
,
unsigned
);
34
DECLARE_PROMOTE
(
long
long
,
long
long
,
long
long
);
35
DECLARE_PROMOTE
(
unsigned
long
long
,
unsigned
long
long
,
unsigned
long
long
);
36
37
#endif
DECLARE_PROMOTE
#define DECLARE_PROMOTE(A, B, C)
Definition
promote.h:7
promote_trait
Definition
promote.h:5
Test
promote.h
Generated by
1.9.8