ScalarTypeConversion.h
Go to the documentation of this file.
1 #ifndef GfxTL__SCALARTYPECONVERSION_HEADER__
2 #define GfxTL__SCALARTYPECONVERSION_HEADER__
3 
4 namespace GfxTL
5 {
6  template <class A, class B>
8  {
9  };
10 
11  template <>
12  struct ScalarTypeConversion<char, char>
13  {
14  typedef short DifferenceType;
15  typedef short AdditionType;
16  typedef short MultiplicationType;
17  typedef float DivisionType;
18  };
19 
20  template <>
21  struct ScalarTypeConversion<short, short>
22  {
23  typedef int DifferenceType;
24  typedef int AdditionType;
25  typedef int MultiplicationType;
26  typedef float DivisionType;
27  };
28 
29  template <>
30  struct ScalarTypeConversion<int, int>
31  {
32  typedef int DifferenceType;
33  typedef int AdditionType;
34  typedef int MultiplicationType;
35  typedef float DivisionType;
36  };
37 
38  template <>
40  {
41  typedef float DifferenceType;
42  typedef float AdditionType;
43  typedef float MultiplicationType;
44  typedef float DivisionType;
45  };
46 
47  template <>
48  struct ScalarTypeConversion<double, double>
49  {
50  typedef double DifferenceType;
51  typedef double AdditionType;
52  typedef double MultiplicationType;
53  typedef double DivisionType;
54  };
55 
56  template <>
57  struct ScalarTypeConversion<char, short> : public ScalarTypeConversion<short, short>
58  {
59  };
60 
61  template <>
62  struct ScalarTypeConversion<short, char> : public ScalarTypeConversion<short, short>
63  {
64  };
65 
66  template <>
67  struct ScalarTypeConversion<char, int> : public ScalarTypeConversion<int, int>
68  {
69  };
70 
71  template <>
72  struct ScalarTypeConversion<int, char> : public ScalarTypeConversion<int, int>
73  {
74  };
75 
76  template <>
77  struct ScalarTypeConversion<char, float> : public ScalarTypeConversion<float, float>
78  {
79  };
80 
81  template <>
82  struct ScalarTypeConversion<float, char> : public ScalarTypeConversion<float, float>
83  {
84  };
85 
86  template <>
87  struct ScalarTypeConversion<char, double> : public ScalarTypeConversion<double, double>
88  {
89  };
90 
91  template <>
92  struct ScalarTypeConversion<double, char> : public ScalarTypeConversion<double, double>
93  {
94  };
95 
96  template <>
97  struct ScalarTypeConversion<short, int> : public ScalarTypeConversion<int, int>
98  {
99  };
100 
101  template <>
102  struct ScalarTypeConversion<int, short> : public ScalarTypeConversion<int, int>
103  {
104  };
105 
106  template <>
107  struct ScalarTypeConversion<short, float> : public ScalarTypeConversion<float, float>
108  {
109  };
110 
111  template <>
112  struct ScalarTypeConversion<float, short> : public ScalarTypeConversion<float, float>
113  {
114  };
115 
116  template <>
117  struct ScalarTypeConversion<short, double> : public ScalarTypeConversion<double, double>
118  {
119  };
120 
121  template <>
122  struct ScalarTypeConversion<double, short> : public ScalarTypeConversion<double, double>
123  {
124  };
125 
126  template <>
127  struct ScalarTypeConversion<int, float> : public ScalarTypeConversion<float, float>
128  {
129  };
130 
131  template <>
132  struct ScalarTypeConversion<float, int> : public ScalarTypeConversion<float, float>
133  {
134  };
135 
136  template <>
137  struct ScalarTypeConversion<int, double> : public ScalarTypeConversion<double, double>
138  {
139  };
140 
141  template <>
142  struct ScalarTypeConversion<double, int> : public ScalarTypeConversion<double, double>
143  {
144  };
145 
146  template <>
147  struct ScalarTypeConversion<float, double> : public ScalarTypeConversion<double, double>
148  {
149  };
150 
151  template <>
152  struct ScalarTypeConversion<double, float> : public ScalarTypeConversion<double, double>
153  {
154  };
155 }; // namespace GfxTL
156 
157 #endif
GfxTL::ScalarTypeConversion< int, int >::AdditionType
int AdditionType
Definition: ScalarTypeConversion.h:33
GfxTL::ScalarTypeConversion< int, int >::DifferenceType
int DifferenceType
Definition: ScalarTypeConversion.h:32
GfxTL::ScalarTypeConversion< float, float >::DifferenceType
float DifferenceType
Definition: ScalarTypeConversion.h:41
GfxTL::ScalarTypeConversion< float, float >::MultiplicationType
float MultiplicationType
Definition: ScalarTypeConversion.h:43
GfxTL::ScalarTypeConversion< short, short >::DifferenceType
int DifferenceType
Definition: ScalarTypeConversion.h:23
GfxTL::ScalarTypeConversion< float, float >::AdditionType
float AdditionType
Definition: ScalarTypeConversion.h:42
GfxTL::ScalarTypeConversion< char, char >::AdditionType
short AdditionType
Definition: ScalarTypeConversion.h:15
GfxTL::ScalarTypeConversion< char, char >::DivisionType
float DivisionType
Definition: ScalarTypeConversion.h:17
GfxTL::ScalarTypeConversion< double, double >::DifferenceType
double DifferenceType
Definition: ScalarTypeConversion.h:50
GfxTL::ScalarTypeConversion< double, double >::AdditionType
double AdditionType
Definition: ScalarTypeConversion.h:51
GfxTL::ScalarTypeConversion< char, char >::DifferenceType
short DifferenceType
Definition: ScalarTypeConversion.h:14
GfxTL::ScalarTypeConversion< short, short >::DivisionType
float DivisionType
Definition: ScalarTypeConversion.h:26
GfxTL::ScalarTypeConversion< char, char >::MultiplicationType
short MultiplicationType
Definition: ScalarTypeConversion.h:16
GfxTL::ScalarTypeConversion< short, short >::MultiplicationType
int MultiplicationType
Definition: ScalarTypeConversion.h:25
GfxTL::ScalarTypeConversion< double, double >::DivisionType
double DivisionType
Definition: ScalarTypeConversion.h:53
GfxTL::ScalarTypeConversion< float, float >::DivisionType
float DivisionType
Definition: ScalarTypeConversion.h:44
GfxTL
Definition: AABox.h:9
GfxTL::ScalarTypeConversion< short, short >::AdditionType
int AdditionType
Definition: ScalarTypeConversion.h:24
GfxTL::ScalarTypeConversion
Definition: ScalarTypeConversion.h:7
GfxTL::ScalarTypeConversion< int, int >::DivisionType
float DivisionType
Definition: ScalarTypeConversion.h:35
float
#define float
Definition: 16_Level.h:22
GfxTL::ScalarTypeConversion< double, double >::MultiplicationType
double MultiplicationType
Definition: ScalarTypeConversion.h:52
GfxTL::ScalarTypeConversion< int, int >::MultiplicationType
int MultiplicationType
Definition: ScalarTypeConversion.h:34