skip to content
==> tests/golden.c <==
1/* @ajax/mesh-abi-view-doom's functions against vectors the Rust computed (alpha-rust-mesh, the same inputs). */
2#include "mesh/abi/view_doom.h"
3#include "mesh/check.h"
4
5#include <stdint.h>
6
7int main(void) {
8    CHECK_U(mesh_doom_show_data(0), 8448u);
9    CHECK_U(mesh_doom_show_data(1), 10496u);
10    CHECK_U(mesh_doom_show_data(3), 14592u);
11    CHECK_U(mesh_doom_show_data(7), 22784u);
12    CHECK_U(mesh_doom_show_data(8), 24832u);
13    CHECK_U(mesh_doom_map_cell(0, 0), 1u);
14    CHECK_U(mesh_doom_map_cell(1, 0), 1u);
15    CHECK_U(mesh_doom_map_cell(2, 0), 1u);
16    CHECK_U(mesh_doom_map_cell(3, 0), 1u);
17    CHECK_U(mesh_doom_map_cell(4, 0), 1u);
18    CHECK_U(mesh_doom_map_cell(5, 0), 1u);
19    CHECK_U(mesh_doom_map_cell(6, 0), 1u);
20    CHECK_U(mesh_doom_map_cell(7, 0), 1u);
21    CHECK_U(mesh_doom_map_cell(8, 0), 1u);
22    CHECK_U(mesh_doom_map_cell(9, 0), 1u);
23    CHECK_U(mesh_doom_map_cell(10, 0), 1u);
24    CHECK_U(mesh_doom_map_cell(11, 0), 1u);
25    CHECK_U(mesh_doom_map_cell(12, 0), 1u);
26    CHECK_U(mesh_doom_map_cell(13, 0), 1u);
27    CHECK_U(mesh_doom_map_cell(14, 0), 1u);
28    CHECK_U(mesh_doom_map_cell(15, 0), 1u);
29    CHECK_U(mesh_doom_map_cell(0, 1), 1u);
30    CHECK_U(mesh_doom_map_cell(1, 1), 0u);
31    CHECK_U(mesh_doom_map_cell(2, 1), 0u);
32    CHECK_U(mesh_doom_map_cell(3, 1), 0u);
33    CHECK_U(mesh_doom_map_cell(4, 1), 0u);
34    CHECK_U(mesh_doom_map_cell(5, 1), 0u);
35    CHECK_U(mesh_doom_map_cell(6, 1), 0u);
36    CHECK_U(mesh_doom_map_cell(7, 1), 2u);
37    CHECK_U(mesh_doom_map_cell(8, 1), 0u);
38    CHECK_U(mesh_doom_map_cell(9, 1), 0u);
39    CHECK_U(mesh_doom_map_cell(10, 1), 0u);
40    CHECK_U(mesh_doom_map_cell(11, 1), 0u);
41    CHECK_U(mesh_doom_map_cell(12, 1), 0u);
42    CHECK_U(mesh_doom_map_cell(13, 1), 0u);
43    CHECK_U(mesh_doom_map_cell(14, 1), 0u);
44    CHECK_U(mesh_doom_map_cell(15, 1), 1u);
45    CHECK_U(mesh_doom_map_cell(0, 2), 1u);
46    CHECK_U(mesh_doom_map_cell(1, 2), 0u);
47    CHECK_U(mesh_doom_map_cell(2, 2), 0u);
48    CHECK_U(mesh_doom_map_cell(3, 2), 0u);
49    CHECK_U(mesh_doom_map_cell(4, 2), 0u);
50    CHECK_U(mesh_doom_map_cell(5, 2), 0u);
51    CHECK_U(mesh_doom_map_cell(6, 2), 0u);
52    CHECK_U(mesh_doom_map_cell(7, 2), 2u);
53    CHECK_U(mesh_doom_map_cell(8, 2), 0u);
54    CHECK_U(mesh_doom_map_cell(9, 2), 0u);
55    CHECK_U(mesh_doom_map_cell(10, 2), 3u);
56    CHECK_U(mesh_doom_map_cell(11, 2), 0u);
57    CHECK_U(mesh_doom_map_cell(12, 2), 3u);
58    CHECK_U(mesh_doom_map_cell(13, 2), 0u);
59    CHECK_U(mesh_doom_map_cell(14, 2), 0u);
60    CHECK_U(mesh_doom_map_cell(15, 2), 1u);
61    CHECK_U(mesh_doom_map_cell(0, 3), 1u);
62    CHECK_U(mesh_doom_map_cell(1, 3), 0u);
63    CHECK_U(mesh_doom_map_cell(2, 3), 0u);
64    CHECK_U(mesh_doom_map_cell(3, 3), 4u);
65    CHECK_U(mesh_doom_map_cell(4, 3), 4u);
66    CHECK_U(mesh_doom_map_cell(5, 3), 0u);
67    CHECK_U(mesh_doom_map_cell(6, 3), 0u);
68    CHECK_U(mesh_doom_map_cell(7, 3), 2u);
69    CHECK_U(mesh_doom_map_cell(8, 3), 0u);
70    CHECK_U(mesh_doom_map_cell(9, 3), 0u);
71    CHECK_U(mesh_doom_map_cell(10, 3), 0u);
72    CHECK_U(mesh_doom_map_cell(11, 3), 0u);
73    CHECK_U(mesh_doom_map_cell(12, 3), 0u);
74    CHECK_U(mesh_doom_map_cell(13, 3), 0u);
75    CHECK_U(mesh_doom_map_cell(14, 3), 0u);
76    CHECK_U(mesh_doom_map_cell(15, 3), 1u);
77    CHECK_U(mesh_doom_map_cell(0, 4), 1u);
78    CHECK_U(mesh_doom_map_cell(1, 4), 0u);
79    CHECK_U(mesh_doom_map_cell(2, 4), 0u);
80    CHECK_U(mesh_doom_map_cell(3, 4), 4u);
81    CHECK_U(mesh_doom_map_cell(4, 4), 4u);
82    CHECK_U(mesh_doom_map_cell(5, 4), 0u);
83    CHECK_U(mesh_doom_map_cell(6, 4), 0u);
84    CHECK_U(mesh_doom_map_cell(7, 4), 0u);
85    CHECK_U(mesh_doom_map_cell(8, 4), 0u);
86    CHECK_U(mesh_doom_map_cell(9, 4), 0u);
87    CHECK_U(mesh_doom_map_cell(10, 4), 3u);
88    CHECK_U(mesh_doom_map_cell(11, 4), 0u);
89    CHECK_U(mesh_doom_map_cell(12, 4), 3u);
90    CHECK_U(mesh_doom_map_cell(13, 4), 0u);
91    CHECK_U(mesh_doom_map_cell(14, 4), 0u);
92    CHECK_U(mesh_doom_map_cell(15, 4), 1u);
93    CHECK_U(mesh_doom_map_cell(0, 5), 1u);
94    CHECK_U(mesh_doom_map_cell(1, 5), 0u);
95    CHECK_U(mesh_doom_map_cell(2, 5), 0u);
96    CHECK_U(mesh_doom_map_cell(3, 5), 0u);
97    CHECK_U(mesh_doom_map_cell(4, 5), 0u);
98    CHECK_U(mesh_doom_map_cell(5, 5), 0u);
99    CHECK_U(mesh_doom_map_cell(6, 5), 0u);
100    CHECK_U(mesh_doom_map_cell(7, 5), 2u);
101    CHECK_U(mesh_doom_map_cell(8, 5), 0u);
102    CHECK_U(mesh_doom_map_cell(9, 5), 0u);
103    CHECK_U(mesh_doom_map_cell(10, 5), 0u);
104    CHECK_U(mesh_doom_map_cell(11, 5), 0u);
105    CHECK_U(mesh_doom_map_cell(12, 5), 0u);
106    CHECK_U(mesh_doom_map_cell(13, 5), 0u);
107    CHECK_U(mesh_doom_map_cell(14, 5), 0u);
108    CHECK_U(mesh_doom_map_cell(15, 5), 1u);
109    CHECK_U(mesh_doom_map_cell(0, 6), 1u);
110    CHECK_U(mesh_doom_map_cell(1, 6), 2u);
111    CHECK_U(mesh_doom_map_cell(2, 6), 2u);
112    CHECK_U(mesh_doom_map_cell(3, 6), 2u);
113    CHECK_U(mesh_doom_map_cell(4, 6), 2u);
114    CHECK_U(mesh_doom_map_cell(5, 6), 0u);
115    CHECK_U(mesh_doom_map_cell(6, 6), 2u);
116    CHECK_U(mesh_doom_map_cell(7, 6), 2u);
117    CHECK_U(mesh_doom_map_cell(8, 6), 2u);
118    CHECK_U(mesh_doom_map_cell(9, 6), 2u);
119    CHECK_U(mesh_doom_map_cell(10, 6), 0u);
120    CHECK_U(mesh_doom_map_cell(11, 6), 0u);
121    CHECK_U(mesh_doom_map_cell(12, 6), 2u);
122    CHECK_U(mesh_doom_map_cell(13, 6), 2u);
123    CHECK_U(mesh_doom_map_cell(14, 6), 2u);
124    CHECK_U(mesh_doom_map_cell(15, 6), 1u);
125    CHECK_U(mesh_doom_map_cell(0, 7), 1u);
126    CHECK_U(mesh_doom_map_cell(1, 7), 0u);
127    CHECK_U(mesh_doom_map_cell(2, 7), 0u);
128    CHECK_U(mesh_doom_map_cell(3, 7), 0u);
129    CHECK_U(mesh_doom_map_cell(4, 7), 0u);
130    CHECK_U(mesh_doom_map_cell(5, 7), 0u);
131    CHECK_U(mesh_doom_map_cell(6, 7), 0u);
132    CHECK_U(mesh_doom_map_cell(7, 7), 0u);
133    CHECK_U(mesh_doom_map_cell(8, 7), 0u);
134    CHECK_U(mesh_doom_map_cell(9, 7), 0u);
135    CHECK_U(mesh_doom_map_cell(10, 7), 0u);
136    CHECK_U(mesh_doom_map_cell(11, 7), 0u);
137    CHECK_U(mesh_doom_map_cell(12, 7), 0u);
138    CHECK_U(mesh_doom_map_cell(13, 7), 0u);
139    CHECK_U(mesh_doom_map_cell(14, 7), 0u);
140    CHECK_U(mesh_doom_map_cell(15, 7), 1u);
141    CHECK_U(mesh_doom_map_cell(0, 8), 1u);
142    CHECK_U(mesh_doom_map_cell(1, 8), 0u);
143    CHECK_U(mesh_doom_map_cell(2, 8), 5u);
144    CHECK_U(mesh_doom_map_cell(3, 8), 0u);
145    CHECK_U(mesh_doom_map_cell(4, 8), 5u);
146    CHECK_U(mesh_doom_map_cell(5, 8), 0u);
147    CHECK_U(mesh_doom_map_cell(6, 8), 0u);
148    CHECK_U(mesh_doom_map_cell(7, 8), 0u);
149    CHECK_U(mesh_doom_map_cell(8, 8), 0u);
150    CHECK_U(mesh_doom_map_cell(9, 8), 0u);
151    CHECK_U(mesh_doom_map_cell(10, 8), 6u);
152    CHECK_U(mesh_doom_map_cell(11, 8), 0u);
153    CHECK_U(mesh_doom_map_cell(12, 8), 0u);
154    CHECK_U(mesh_doom_map_cell(13, 8), 0u);
155    CHECK_U(mesh_doom_map_cell(14, 8), 0u);
156    CHECK_U(mesh_doom_map_cell(15, 8), 1u);
157    CHECK_U(mesh_doom_map_cell(0, 9), 1u);
158    CHECK_U(mesh_doom_map_cell(1, 9), 0u);
159    CHECK_U(mesh_doom_map_cell(2, 9), 0u);
160    CHECK_U(mesh_doom_map_cell(3, 9), 0u);
161    CHECK_U(mesh_doom_map_cell(4, 9), 0u);
162    CHECK_U(mesh_doom_map_cell(5, 9), 0u);
163    CHECK_U(mesh_doom_map_cell(6, 9), 0u);
164    CHECK_U(mesh_doom_map_cell(7, 9), 0u);
165    CHECK_U(mesh_doom_map_cell(8, 9), 0u);
166    CHECK_U(mesh_doom_map_cell(9, 9), 6u);
167    CHECK_U(mesh_doom_map_cell(10, 9), 6u);
168    CHECK_U(mesh_doom_map_cell(11, 9), 6u);
169    CHECK_U(mesh_doom_map_cell(12, 9), 0u);
170    CHECK_U(mesh_doom_map_cell(13, 9), 0u);
171    CHECK_U(mesh_doom_map_cell(14, 9), 0u);
172    CHECK_U(mesh_doom_map_cell(15, 9), 1u);
173    CHECK_U(mesh_doom_map_cell(0, 10), 1u);
174    CHECK_U(mesh_doom_map_cell(1, 10), 0u);
175    CHECK_U(mesh_doom_map_cell(2, 10), 5u);
176    CHECK_U(mesh_doom_map_cell(3, 10), 0u);
177    CHECK_U(mesh_doom_map_cell(4, 10), 5u);
178    CHECK_U(mesh_doom_map_cell(5, 10), 0u);
179    CHECK_U(mesh_doom_map_cell(6, 10), 0u);
180    CHECK_U(mesh_doom_map_cell(7, 10), 0u);
181    CHECK_U(mesh_doom_map_cell(8, 10), 0u);
182    CHECK_U(mesh_doom_map_cell(9, 10), 0u);
183    CHECK_U(mesh_doom_map_cell(10, 10), 6u);
184    CHECK_U(mesh_doom_map_cell(11, 10), 0u);
185    CHECK_U(mesh_doom_map_cell(12, 10), 0u);
186    CHECK_U(mesh_doom_map_cell(13, 10), 0u);
187    CHECK_U(mesh_doom_map_cell(14, 10), 0u);
188    CHECK_U(mesh_doom_map_cell(15, 10), 1u);
189    CHECK_U(mesh_doom_map_cell(0, 11), 1u);
190    CHECK_U(mesh_doom_map_cell(1, 11), 0u);
191    CHECK_U(mesh_doom_map_cell(2, 11), 0u);
192    CHECK_U(mesh_doom_map_cell(3, 11), 0u);
193    CHECK_U(mesh_doom_map_cell(4, 11), 0u);
194    CHECK_U(mesh_doom_map_cell(5, 11), 0u);
195    CHECK_U(mesh_doom_map_cell(6, 11), 0u);
196    CHECK_U(mesh_doom_map_cell(7, 11), 0u);
197    CHECK_U(mesh_doom_map_cell(8, 11), 0u);
198    CHECK_U(mesh_doom_map_cell(9, 11), 0u);
199    CHECK_U(mesh_doom_map_cell(10, 11), 0u);
200    CHECK_U(mesh_doom_map_cell(11, 11), 0u);
201    CHECK_U(mesh_doom_map_cell(12, 11), 0u);
202    CHECK_U(mesh_doom_map_cell(13, 11), 0u);
203    CHECK_U(mesh_doom_map_cell(14, 11), 0u);
204    CHECK_U(mesh_doom_map_cell(15, 11), 1u);
205    CHECK_U(mesh_doom_map_cell(0, 12), 1u);
206    CHECK_U(mesh_doom_map_cell(1, 12), 7u);
207    CHECK_U(mesh_doom_map_cell(2, 12), 7u);
208    CHECK_U(mesh_doom_map_cell(3, 12), 7u);
209    CHECK_U(mesh_doom_map_cell(4, 12), 0u);
210    CHECK_U(mesh_doom_map_cell(5, 12), 7u);
211    CHECK_U(mesh_doom_map_cell(6, 12), 7u);
212    CHECK_U(mesh_doom_map_cell(7, 12), 7u);
213    CHECK_U(mesh_doom_map_cell(8, 12), 7u);
214    CHECK_U(mesh_doom_map_cell(9, 12), 0u);
215    CHECK_U(mesh_doom_map_cell(10, 12), 0u);
216    CHECK_U(mesh_doom_map_cell(11, 12), 7u);
217    CHECK_U(mesh_doom_map_cell(12, 12), 0u);
218    CHECK_U(mesh_doom_map_cell(13, 12), 0u);
219    CHECK_U(mesh_doom_map_cell(14, 12), 7u);
220    CHECK_U(mesh_doom_map_cell(15, 12), 1u);
221    CHECK_U(mesh_doom_map_cell(0, 13), 1u);
222    CHECK_U(mesh_doom_map_cell(1, 13), 0u);
223    CHECK_U(mesh_doom_map_cell(2, 13), 0u);
224    CHECK_U(mesh_doom_map_cell(3, 13), 0u);
225    CHECK_U(mesh_doom_map_cell(4, 13), 0u);
226    CHECK_U(mesh_doom_map_cell(5, 13), 0u);
227    CHECK_U(mesh_doom_map_cell(6, 13), 0u);
228    CHECK_U(mesh_doom_map_cell(7, 13), 0u);
229    CHECK_U(mesh_doom_map_cell(8, 13), 0u);
230    CHECK_U(mesh_doom_map_cell(9, 13), 0u);
231    CHECK_U(mesh_doom_map_cell(10, 13), 0u);
232    CHECK_U(mesh_doom_map_cell(11, 13), 0u);
233    CHECK_U(mesh_doom_map_cell(12, 13), 7u);
234    CHECK_U(mesh_doom_map_cell(13, 13), 0u);
235    CHECK_U(mesh_doom_map_cell(14, 13), 0u);
236    CHECK_U(mesh_doom_map_cell(15, 13), 1u);
237    CHECK_U(mesh_doom_map_cell(0, 14), 1u);
238    CHECK_U(mesh_doom_map_cell(1, 14), 0u);
239    CHECK_U(mesh_doom_map_cell(2, 14), 0u);
240    CHECK_U(mesh_doom_map_cell(3, 14), 0u);
241    CHECK_U(mesh_doom_map_cell(4, 14), 7u);
242    CHECK_U(mesh_doom_map_cell(5, 14), 0u);
243    CHECK_U(mesh_doom_map_cell(6, 14), 0u);
244    CHECK_U(mesh_doom_map_cell(7, 14), 0u);
245    CHECK_U(mesh_doom_map_cell(8, 14), 7u);
246    CHECK_U(mesh_doom_map_cell(9, 14), 0u);
247    CHECK_U(mesh_doom_map_cell(10, 14), 0u);
248    CHECK_U(mesh_doom_map_cell(11, 14), 0u);
249    CHECK_U(mesh_doom_map_cell(12, 14), 0u);
250    CHECK_U(mesh_doom_map_cell(13, 14), 0u);
251    CHECK_U(mesh_doom_map_cell(14, 14), 0u);
252    CHECK_U(mesh_doom_map_cell(15, 14), 1u);
253    CHECK_U(mesh_doom_map_cell(0, 15), 1u);
254    CHECK_U(mesh_doom_map_cell(1, 15), 1u);
255    CHECK_U(mesh_doom_map_cell(2, 15), 1u);
256    CHECK_U(mesh_doom_map_cell(3, 15), 1u);
257    CHECK_U(mesh_doom_map_cell(4, 15), 1u);
258    CHECK_U(mesh_doom_map_cell(5, 15), 1u);
259    CHECK_U(mesh_doom_map_cell(6, 15), 1u);
260    CHECK_U(mesh_doom_map_cell(7, 15), 1u);
261    CHECK_U(mesh_doom_map_cell(8, 15), 1u);
262    CHECK_U(mesh_doom_map_cell(9, 15), 1u);
263    CHECK_U(mesh_doom_map_cell(10, 15), 1u);
264    CHECK_U(mesh_doom_map_cell(11, 15), 1u);
265    CHECK_U(mesh_doom_map_cell(12, 15), 1u);
266    CHECK_U(mesh_doom_map_cell(13, 15), 1u);
267    CHECK_U(mesh_doom_map_cell(14, 15), 1u);
268    CHECK_U(mesh_doom_map_cell(15, 15), 1u);
269    return mesh_check_done();
270}