Mercurial > projects > ldc
comparison dmd/impcnvgen.c @ 1:c53b6e3fe49a trunk
[svn r5] Initial commit. Most things are very rough.
author | lindquist |
---|---|
date | Sat, 01 Sep 2007 21:43:27 +0200 |
parents | |
children | a26b0c5d5942 |
comparison
equal
deleted
inserted
replaced
0:a9e71648e74d | 1:c53b6e3fe49a |
---|---|
1 | |
2 // Copyright (c) 1999-2006 by Digital Mars | |
3 // All Rights Reserved | |
4 // written by Walter Bright | |
5 // http://www.digitalmars.com | |
6 // License for redistribution is by either the Artistic License | |
7 // in artistic.txt, or the GNU General Public License in gnu.txt. | |
8 // See the included readme.txt for details. | |
9 | |
10 #include <stdio.h> | |
11 #include <stdlib.h> | |
12 | |
13 #include "mtype.h" | |
14 | |
15 enum TY impcnvResult[TMAX][TMAX]; | |
16 enum TY impcnvType1[TMAX][TMAX]; | |
17 enum TY impcnvType2[TMAX][TMAX]; | |
18 int impcnvWarn[TMAX][TMAX]; | |
19 | |
20 int integral_promotion(int t) | |
21 { | |
22 switch (t) | |
23 { | |
24 case Tchar: | |
25 case Twchar: | |
26 case Tbit: | |
27 case Tbool: | |
28 case Tint8: | |
29 case Tuns8: | |
30 case Tint16: | |
31 case Tuns16: return Tint32; | |
32 case Tdchar: return Tuns32; | |
33 default: return t; | |
34 } | |
35 } | |
36 | |
37 void init() | |
38 { int i, j; | |
39 | |
40 // Set conversion tables | |
41 for (i = 0; i < TMAX; i++) | |
42 for (j = 0; j < TMAX; j++) | |
43 { impcnvResult[i][j] = Terror; | |
44 impcnvType1[i][j] = Terror; | |
45 impcnvType2[i][j] = Terror; | |
46 impcnvWarn[i][j] = 0; | |
47 } | |
48 | |
49 #define X(t1,t2, nt1,nt2, rt) \ | |
50 impcnvResult[t1][t2] = rt; \ | |
51 impcnvType1[t1][t2] = nt1; \ | |
52 impcnvType2[t1][t2] = nt2; | |
53 | |
54 /* ======================= */ | |
55 | |
56 X(Tbit,Tbit, Tint32,Tint32, Tint32) | |
57 X(Tbit,Tint8, Tint32,Tint32, Tint32) | |
58 X(Tbit,Tuns8, Tint32,Tint32, Tint32) | |
59 X(Tbit,Tint16, Tint32,Tint32, Tint32) | |
60 X(Tbit,Tuns16, Tint32,Tint32, Tint32) | |
61 X(Tbit,Tint32, Tint32,Tint32, Tint32) | |
62 X(Tbit,Tuns32, Tuns32,Tuns32, Tuns32) | |
63 X(Tbit,Tint64, Tint64,Tint64, Tint64) | |
64 X(Tbit,Tuns64, Tuns64,Tuns64, Tuns64) | |
65 | |
66 X(Tbit,Tfloat32, Tfloat32,Tfloat32, Tfloat32) | |
67 X(Tbit,Tfloat64, Tfloat64,Tfloat64, Tfloat64) | |
68 X(Tbit,Tfloat80, Tfloat80,Tfloat80, Tfloat80) | |
69 X(Tbit,Timaginary32, Tfloat32,Timaginary32, Tfloat32) | |
70 X(Tbit,Timaginary64, Tfloat64,Timaginary64, Tfloat64) | |
71 X(Tbit,Timaginary80, Tfloat80,Timaginary80, Tfloat80) | |
72 X(Tbit,Tcomplex32, Tfloat32,Tcomplex32, Tcomplex32) | |
73 X(Tbit,Tcomplex64, Tfloat64,Tcomplex64, Tcomplex64) | |
74 X(Tbit,Tcomplex80, Tfloat80,Tcomplex80, Tcomplex80) | |
75 | |
76 /* ======================= */ | |
77 | |
78 X(Tbool,Tbool, Tbool,Tbool, Tbool) | |
79 X(Tbool,Tint8, Tint32,Tint32, Tint32) | |
80 X(Tbool,Tuns8, Tint32,Tint32, Tint32) | |
81 X(Tbool,Tint16, Tint32,Tint32, Tint32) | |
82 X(Tbool,Tuns16, Tint32,Tint32, Tint32) | |
83 X(Tbool,Tint32, Tint32,Tint32, Tint32) | |
84 X(Tbool,Tuns32, Tuns32,Tuns32, Tuns32) | |
85 X(Tbool,Tint64, Tint64,Tint64, Tint64) | |
86 X(Tbool,Tuns64, Tuns64,Tuns64, Tuns64) | |
87 | |
88 X(Tbool,Tfloat32, Tfloat32,Tfloat32, Tfloat32) | |
89 X(Tbool,Tfloat64, Tfloat64,Tfloat64, Tfloat64) | |
90 X(Tbool,Tfloat80, Tfloat80,Tfloat80, Tfloat80) | |
91 X(Tbool,Timaginary32, Tfloat32,Timaginary32, Tfloat32) | |
92 X(Tbool,Timaginary64, Tfloat64,Timaginary64, Tfloat64) | |
93 X(Tbool,Timaginary80, Tfloat80,Timaginary80, Tfloat80) | |
94 X(Tbool,Tcomplex32, Tfloat32,Tcomplex32, Tcomplex32) | |
95 X(Tbool,Tcomplex64, Tfloat64,Tcomplex64, Tcomplex64) | |
96 X(Tbool,Tcomplex80, Tfloat80,Tcomplex80, Tcomplex80) | |
97 | |
98 /* ======================= */ | |
99 | |
100 X(Tint8,Tint8, Tint32,Tint32, Tint32) | |
101 X(Tint8,Tuns8, Tint32,Tint32, Tint32) | |
102 X(Tint8,Tint16, Tint32,Tint32, Tint32) | |
103 X(Tint8,Tuns16, Tint32,Tint32, Tint32) | |
104 X(Tint8,Tint32, Tint32,Tint32, Tint32) | |
105 X(Tint8,Tuns32, Tuns32,Tuns32, Tuns32) | |
106 X(Tint8,Tint64, Tint64,Tint64, Tint64) | |
107 X(Tint8,Tuns64, Tuns64,Tuns64, Tuns64) | |
108 | |
109 X(Tint8,Tfloat32, Tfloat32,Tfloat32, Tfloat32) | |
110 X(Tint8,Tfloat64, Tfloat64,Tfloat64, Tfloat64) | |
111 X(Tint8,Tfloat80, Tfloat80,Tfloat80, Tfloat80) | |
112 X(Tint8,Timaginary32, Tfloat32,Timaginary32, Tfloat32) | |
113 X(Tint8,Timaginary64, Tfloat64,Timaginary64, Tfloat64) | |
114 X(Tint8,Timaginary80, Tfloat80,Timaginary80, Tfloat80) | |
115 X(Tint8,Tcomplex32, Tfloat32,Tcomplex32, Tcomplex32) | |
116 X(Tint8,Tcomplex64, Tfloat64,Tcomplex64, Tcomplex64) | |
117 X(Tint8,Tcomplex80, Tfloat80,Tcomplex80, Tcomplex80) | |
118 | |
119 /* ======================= */ | |
120 | |
121 X(Tuns8,Tuns8, Tint32,Tint32, Tint32) | |
122 X(Tuns8,Tint16, Tint32,Tint32, Tint32) | |
123 X(Tuns8,Tuns16, Tint32,Tint32, Tint32) | |
124 X(Tuns8,Tint32, Tint32,Tint32, Tint32) | |
125 X(Tuns8,Tuns32, Tuns32,Tuns32, Tuns32) | |
126 X(Tuns8,Tint64, Tint64,Tint64, Tint64) | |
127 X(Tuns8,Tuns64, Tuns64,Tuns64, Tuns64) | |
128 | |
129 X(Tuns8,Tfloat32, Tfloat32,Tfloat32, Tfloat32) | |
130 X(Tuns8,Tfloat64, Tfloat64,Tfloat64, Tfloat64) | |
131 X(Tuns8,Tfloat80, Tfloat80,Tfloat80, Tfloat80) | |
132 X(Tuns8,Timaginary32, Tfloat32,Timaginary32, Tfloat32) | |
133 X(Tuns8,Timaginary64, Tfloat64,Timaginary64, Tfloat64) | |
134 X(Tuns8,Timaginary80, Tfloat80,Timaginary80, Tfloat80) | |
135 X(Tuns8,Tcomplex32, Tfloat32,Tcomplex32, Tcomplex32) | |
136 X(Tuns8,Tcomplex64, Tfloat64,Tcomplex64, Tcomplex64) | |
137 X(Tuns8,Tcomplex80, Tfloat80,Tcomplex80, Tcomplex80) | |
138 | |
139 /* ======================= */ | |
140 | |
141 X(Tint16,Tint16, Tint32,Tint32, Tint32) | |
142 X(Tint16,Tuns16, Tint32,Tint32, Tint32) | |
143 X(Tint16,Tint32, Tint32,Tint32, Tint32) | |
144 X(Tint16,Tuns32, Tuns32,Tuns32, Tuns32) | |
145 X(Tint16,Tint64, Tint64,Tint64, Tint64) | |
146 X(Tint16,Tuns64, Tuns64,Tuns64, Tuns64) | |
147 | |
148 X(Tint16,Tfloat32, Tfloat32,Tfloat32, Tfloat32) | |
149 X(Tint16,Tfloat64, Tfloat64,Tfloat64, Tfloat64) | |
150 X(Tint16,Tfloat80, Tfloat80,Tfloat80, Tfloat80) | |
151 X(Tint16,Timaginary32, Tfloat32,Timaginary32, Tfloat32) | |
152 X(Tint16,Timaginary64, Tfloat64,Timaginary64, Tfloat64) | |
153 X(Tint16,Timaginary80, Tfloat80,Timaginary80, Tfloat80) | |
154 X(Tint16,Tcomplex32, Tfloat32,Tcomplex32, Tcomplex32) | |
155 X(Tint16,Tcomplex64, Tfloat64,Tcomplex64, Tcomplex64) | |
156 X(Tint16,Tcomplex80, Tfloat80,Tcomplex80, Tcomplex80) | |
157 | |
158 /* ======================= */ | |
159 | |
160 X(Tuns16,Tuns16, Tint32,Tint32, Tint32) | |
161 X(Tuns16,Tint32, Tint32,Tint32, Tint32) | |
162 X(Tuns16,Tuns32, Tuns32,Tuns32, Tuns32) | |
163 X(Tuns16,Tint64, Tint64,Tint64, Tint64) | |
164 X(Tuns16,Tuns64, Tuns64,Tuns64, Tuns64) | |
165 | |
166 X(Tuns16,Tfloat32, Tfloat32,Tfloat32, Tfloat32) | |
167 X(Tuns16,Tfloat64, Tfloat64,Tfloat64, Tfloat64) | |
168 X(Tuns16,Tfloat80, Tfloat80,Tfloat80, Tfloat80) | |
169 X(Tuns16,Timaginary32, Tfloat32,Timaginary32, Tfloat32) | |
170 X(Tuns16,Timaginary64, Tfloat64,Timaginary64, Tfloat64) | |
171 X(Tuns16,Timaginary80, Tfloat80,Timaginary80, Tfloat80) | |
172 X(Tuns16,Tcomplex32, Tfloat32,Tcomplex32, Tcomplex32) | |
173 X(Tuns16,Tcomplex64, Tfloat64,Tcomplex64, Tcomplex64) | |
174 X(Tuns16,Tcomplex80, Tfloat80,Tcomplex80, Tcomplex80) | |
175 | |
176 /* ======================= */ | |
177 | |
178 X(Tint32,Tint32, Tint32,Tint32, Tint32) | |
179 X(Tint32,Tuns32, Tuns32,Tuns32, Tuns32) | |
180 X(Tint32,Tint64, Tint64,Tint64, Tint64) | |
181 X(Tint32,Tuns64, Tuns64,Tuns64, Tuns64) | |
182 | |
183 X(Tint32,Tfloat32, Tfloat32,Tfloat32, Tfloat32) | |
184 X(Tint32,Tfloat64, Tfloat64,Tfloat64, Tfloat64) | |
185 X(Tint32,Tfloat80, Tfloat80,Tfloat80, Tfloat80) | |
186 X(Tint32,Timaginary32, Tfloat32,Timaginary32, Tfloat32) | |
187 X(Tint32,Timaginary64, Tfloat64,Timaginary64, Tfloat64) | |
188 X(Tint32,Timaginary80, Tfloat80,Timaginary80, Tfloat80) | |
189 X(Tint32,Tcomplex32, Tfloat32,Tcomplex32, Tcomplex32) | |
190 X(Tint32,Tcomplex64, Tfloat64,Tcomplex64, Tcomplex64) | |
191 X(Tint32,Tcomplex80, Tfloat80,Tcomplex80, Tcomplex80) | |
192 | |
193 /* ======================= */ | |
194 | |
195 X(Tuns32,Tuns32, Tuns32,Tuns32, Tuns32) | |
196 X(Tuns32,Tint64, Tint64,Tint64, Tint64) | |
197 X(Tuns32,Tuns64, Tuns64,Tuns64, Tuns64) | |
198 | |
199 X(Tuns32,Tfloat32, Tfloat32,Tfloat32, Tfloat32) | |
200 X(Tuns32,Tfloat64, Tfloat64,Tfloat64, Tfloat64) | |
201 X(Tuns32,Tfloat80, Tfloat80,Tfloat80, Tfloat80) | |
202 X(Tuns32,Timaginary32, Tfloat32,Timaginary32, Tfloat32) | |
203 X(Tuns32,Timaginary64, Tfloat64,Timaginary64, Tfloat64) | |
204 X(Tuns32,Timaginary80, Tfloat80,Timaginary80, Tfloat80) | |
205 X(Tuns32,Tcomplex32, Tfloat32,Tcomplex32, Tcomplex32) | |
206 X(Tuns32,Tcomplex64, Tfloat64,Tcomplex64, Tcomplex64) | |
207 X(Tuns32,Tcomplex80, Tfloat80,Tcomplex80, Tcomplex80) | |
208 | |
209 /* ======================= */ | |
210 | |
211 X(Tint64,Tint64, Tint64,Tint64, Tint64) | |
212 X(Tint64,Tuns64, Tuns64,Tuns64, Tuns64) | |
213 | |
214 X(Tint64,Tfloat32, Tfloat32,Tfloat32, Tfloat32) | |
215 X(Tint64,Tfloat64, Tfloat64,Tfloat64, Tfloat64) | |
216 X(Tint64,Tfloat80, Tfloat80,Tfloat80, Tfloat80) | |
217 X(Tint64,Timaginary32, Tfloat32,Timaginary32, Tfloat32) | |
218 X(Tint64,Timaginary64, Tfloat64,Timaginary64, Tfloat64) | |
219 X(Tint64,Timaginary80, Tfloat80,Timaginary80, Tfloat80) | |
220 X(Tint64,Tcomplex32, Tfloat32,Tcomplex32, Tcomplex32) | |
221 X(Tint64,Tcomplex64, Tfloat64,Tcomplex64, Tcomplex64) | |
222 X(Tint64,Tcomplex80, Tfloat80,Tcomplex80, Tcomplex80) | |
223 | |
224 /* ======================= */ | |
225 | |
226 X(Tuns64,Tuns64, Tuns64,Tuns64, Tuns64) | |
227 | |
228 X(Tuns64,Tfloat32, Tfloat32,Tfloat32, Tfloat32) | |
229 X(Tuns64,Tfloat64, Tfloat64,Tfloat64, Tfloat64) | |
230 X(Tuns64,Tfloat80, Tfloat80,Tfloat80, Tfloat80) | |
231 X(Tuns64,Timaginary32, Tfloat32,Timaginary32, Tfloat32) | |
232 X(Tuns64,Timaginary64, Tfloat64,Timaginary64, Tfloat64) | |
233 X(Tuns64,Timaginary80, Tfloat80,Timaginary80, Tfloat80) | |
234 X(Tuns64,Tcomplex32, Tfloat32,Tcomplex32, Tcomplex32) | |
235 X(Tuns64,Tcomplex64, Tfloat64,Tcomplex64, Tcomplex64) | |
236 X(Tuns64,Tcomplex80, Tfloat80,Tcomplex80, Tcomplex80) | |
237 | |
238 /* ======================= */ | |
239 | |
240 X(Tfloat32,Tfloat32, Tfloat32,Tfloat32, Tfloat32) | |
241 X(Tfloat32,Tfloat64, Tfloat64,Tfloat64, Tfloat64) | |
242 X(Tfloat32,Tfloat80, Tfloat80,Tfloat80, Tfloat80) | |
243 | |
244 X(Tfloat32,Timaginary32, Tfloat32,Timaginary32, Tfloat32) | |
245 X(Tfloat32,Timaginary64, Tfloat64,Timaginary64, Tfloat64) | |
246 X(Tfloat32,Timaginary80, Tfloat80,Timaginary80, Tfloat80) | |
247 | |
248 X(Tfloat32,Tcomplex32, Tfloat32,Tcomplex32, Tcomplex32) | |
249 X(Tfloat32,Tcomplex64, Tfloat64,Tcomplex64, Tcomplex64) | |
250 X(Tfloat32,Tcomplex80, Tfloat80,Tcomplex80, Tcomplex80) | |
251 | |
252 /* ======================= */ | |
253 | |
254 X(Tfloat64,Tfloat64, Tfloat64,Tfloat64, Tfloat64) | |
255 X(Tfloat64,Tfloat80, Tfloat80,Tfloat80, Tfloat80) | |
256 | |
257 X(Tfloat64,Timaginary32, Tfloat64,Timaginary64, Tfloat64) | |
258 X(Tfloat64,Timaginary64, Tfloat64,Timaginary64, Tfloat64) | |
259 X(Tfloat64,Timaginary80, Tfloat80,Timaginary80, Tfloat80) | |
260 | |
261 X(Tfloat64,Tcomplex32, Tfloat64,Tcomplex64, Tcomplex64) | |
262 X(Tfloat64,Tcomplex64, Tfloat64,Tcomplex64, Tcomplex64) | |
263 X(Tfloat64,Tcomplex80, Tfloat80,Tcomplex80, Tcomplex80) | |
264 | |
265 /* ======================= */ | |
266 | |
267 X(Tfloat80,Tfloat80, Tfloat80,Tfloat80, Tfloat80) | |
268 | |
269 X(Tfloat80,Timaginary32, Tfloat80,Timaginary80, Tfloat80) | |
270 X(Tfloat80,Timaginary64, Tfloat80,Timaginary80, Tfloat80) | |
271 X(Tfloat80,Timaginary80, Tfloat80,Timaginary80, Tfloat80) | |
272 | |
273 X(Tfloat80,Tcomplex32, Tfloat80,Tcomplex80, Tcomplex80) | |
274 X(Tfloat80,Tcomplex64, Tfloat80,Tcomplex80, Tcomplex80) | |
275 X(Tfloat80,Tcomplex80, Tfloat80,Tcomplex80, Tcomplex80) | |
276 | |
277 /* ======================= */ | |
278 | |
279 X(Timaginary32,Timaginary32, Timaginary32,Timaginary32, Timaginary32) | |
280 X(Timaginary32,Timaginary64, Timaginary64,Timaginary64, Timaginary64) | |
281 X(Timaginary32,Timaginary80, Timaginary80,Timaginary80, Timaginary80) | |
282 | |
283 X(Timaginary32,Tcomplex32, Timaginary32,Tcomplex32, Tcomplex32) | |
284 X(Timaginary32,Tcomplex64, Timaginary64,Tcomplex64, Tcomplex64) | |
285 X(Timaginary32,Tcomplex80, Timaginary80,Tcomplex80, Tcomplex80) | |
286 | |
287 /* ======================= */ | |
288 | |
289 X(Timaginary64,Timaginary64, Timaginary64,Timaginary64, Timaginary64) | |
290 X(Timaginary64,Timaginary80, Timaginary80,Timaginary80, Timaginary80) | |
291 | |
292 X(Timaginary64,Tcomplex32, Timaginary64,Tcomplex64, Tcomplex64) | |
293 X(Timaginary64,Tcomplex64, Timaginary64,Tcomplex64, Tcomplex64) | |
294 X(Timaginary64,Tcomplex80, Timaginary80,Tcomplex80, Tcomplex80) | |
295 | |
296 /* ======================= */ | |
297 | |
298 X(Timaginary80,Timaginary80, Timaginary80,Timaginary80, Timaginary80) | |
299 | |
300 X(Timaginary80,Tcomplex32, Timaginary80,Tcomplex80, Tcomplex80) | |
301 X(Timaginary80,Tcomplex64, Timaginary80,Tcomplex80, Tcomplex80) | |
302 X(Timaginary80,Tcomplex80, Timaginary80,Tcomplex80, Tcomplex80) | |
303 | |
304 /* ======================= */ | |
305 | |
306 X(Tcomplex32,Tcomplex32, Tcomplex32,Tcomplex32, Tcomplex32) | |
307 X(Tcomplex32,Tcomplex64, Tcomplex64,Tcomplex64, Tcomplex64) | |
308 X(Tcomplex32,Tcomplex80, Tcomplex80,Tcomplex80, Tcomplex80) | |
309 | |
310 /* ======================= */ | |
311 | |
312 X(Tcomplex64,Tcomplex64, Tcomplex64,Tcomplex64, Tcomplex64) | |
313 X(Tcomplex64,Tcomplex80, Tcomplex80,Tcomplex80, Tcomplex80) | |
314 | |
315 /* ======================= */ | |
316 | |
317 X(Tcomplex80,Tcomplex80, Tcomplex80,Tcomplex80, Tcomplex80) | |
318 | |
319 #undef X | |
320 | |
321 #define Y(t1,t2) impcnvWarn[t1][t2] = 1; | |
322 Y(Tint8, Tbit) | |
323 Y(Tuns8, Tbit) | |
324 Y(Tint16, Tbit) | |
325 Y(Tuns16, Tbit) | |
326 Y(Tint32, Tbit) | |
327 Y(Tuns32, Tbit) | |
328 Y(Tint64, Tbit) | |
329 Y(Tuns64, Tbit) | |
330 | |
331 Y(Tuns8, Tint8) | |
332 Y(Tint16, Tint8) | |
333 Y(Tuns16, Tint8) | |
334 Y(Tint32, Tint8) | |
335 Y(Tuns32, Tint8) | |
336 Y(Tint64, Tint8) | |
337 Y(Tuns64, Tint8) | |
338 | |
339 Y(Tint8, Tuns8) | |
340 Y(Tint16, Tuns8) | |
341 Y(Tuns16, Tuns8) | |
342 Y(Tint32, Tuns8) | |
343 Y(Tuns32, Tuns8) | |
344 Y(Tint64, Tuns8) | |
345 Y(Tuns64, Tuns8) | |
346 | |
347 Y(Tuns16, Tint16) | |
348 Y(Tint32, Tint16) | |
349 Y(Tuns32, Tint16) | |
350 Y(Tint64, Tint16) | |
351 Y(Tuns64, Tint16) | |
352 | |
353 Y(Tint16, Tuns16) | |
354 Y(Tint32, Tuns16) | |
355 Y(Tuns32, Tuns16) | |
356 Y(Tint64, Tuns16) | |
357 Y(Tuns64, Tuns16) | |
358 | |
359 // Y(Tuns32, Tint32) | |
360 Y(Tint64, Tint32) | |
361 Y(Tuns64, Tint32) | |
362 | |
363 // Y(Tint32, Tuns32) | |
364 Y(Tint64, Tuns32) | |
365 Y(Tuns64, Tuns32) | |
366 | |
367 Y(Tint64, Tuns64) | |
368 Y(Tuns64, Tint64) | |
369 | |
370 for (i = 0; i < TMAX; i++) | |
371 for (j = 0; j < TMAX; j++) | |
372 { | |
373 if (impcnvResult[i][j] == Terror) | |
374 { | |
375 impcnvResult[i][j] = impcnvResult[j][i]; | |
376 impcnvType1[i][j] = impcnvType2[j][i]; | |
377 impcnvType2[i][j] = impcnvType1[j][i]; | |
378 } | |
379 } | |
380 } | |
381 | |
382 int main() | |
383 { FILE *fp; | |
384 int i; | |
385 int j; | |
386 | |
387 init(); | |
388 | |
389 fp = fopen("impcnvtab.c","w"); | |
390 | |
391 fprintf(fp,"// This file is generated by impcnvgen.c\n"); | |
392 fprintf(fp,"#include \"mtype.h\"\n"); | |
393 | |
394 fprintf(fp,"unsigned char Type::impcnvResult[TMAX][TMAX] =\n{\n"); | |
395 for (i = 0; i < TMAX; i++) | |
396 { | |
397 for (j = 0; j < TMAX; j++) | |
398 { | |
399 fprintf(fp, "%d,",impcnvResult[i][j]); | |
400 } | |
401 fprintf(fp, "\n"); | |
402 } | |
403 fprintf(fp,"};\n"); | |
404 | |
405 fprintf(fp,"unsigned char Type::impcnvType1[TMAX][TMAX] =\n{\n"); | |
406 for (i = 0; i < TMAX; i++) | |
407 { | |
408 for (j = 0; j < TMAX; j++) | |
409 { | |
410 fprintf(fp, "%d,",impcnvType1[i][j]); | |
411 } | |
412 fprintf(fp, "\n"); | |
413 } | |
414 fprintf(fp,"};\n"); | |
415 | |
416 fprintf(fp,"unsigned char Type::impcnvType2[TMAX][TMAX] =\n{\n"); | |
417 for (i = 0; i < TMAX; i++) | |
418 { | |
419 for (j = 0; j < TMAX; j++) | |
420 { | |
421 fprintf(fp, "%d,",impcnvType2[i][j]); | |
422 } | |
423 fprintf(fp, "\n"); | |
424 } | |
425 fprintf(fp,"};\n"); | |
426 | |
427 fprintf(fp,"unsigned char Type::impcnvWarn[TMAX][TMAX] =\n{\n"); | |
428 for (i = 0; i < TMAX; i++) | |
429 { | |
430 for (j = 0; j < TMAX; j++) | |
431 { | |
432 fprintf(fp, "%d,",impcnvWarn[i][j]); | |
433 } | |
434 fprintf(fp, "\n"); | |
435 } | |
436 fprintf(fp,"};\n"); | |
437 | |
438 fclose(fp); | |
439 return EXIT_SUCCESS; | |
440 } |