ScalarTypeConversion.h
Go to the documentation of this file.
1#ifndef GfxTL__SCALARTYPECONVERSION_HEADER__
2#define GfxTL__SCALARTYPECONVERSION_HEADER__
3
4namespace 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
#define float
Definition 16_Level.h:22
Definition AABox.h:10