1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3
4 #include "nimbase.h"
5 #include <string.h>
6 #undef LANGUAGE_C
7 #undef MIPSEB
8 #undef MIPSEL
9 #undef PPC
10 #undef R3000
11 #undef R4000
12 #undef i386
13 #undef linux
14 #undef mips
15 #undef near
16 #undef far
17 #undef powerpc
18 #undef unix
19 #define nimfr_(x, y)
20 #define nimln_(x, y)
21 typedef struct NimStringDesc NimStringDesc;
22 typedef struct TGenericSeq TGenericSeq;
23 struct TGenericSeq {
24 NI len;
25 NI reserved;
26 };
27 struct NimStringDesc {
28 TGenericSeq Sup;
29 NIM_CHAR data[SEQ_DECL_SIZE];
30 };
31 typedef NIM_CHAR tyArray__PbS9a6gkxCuxWEnFq4lOU9aw[24];
32 typedef NIM_CHAR tyArray__38Z69amCaoywES5tRmClBSw[200];
33 typedef NI8 tyArray__k7wgHIN8mKeRF236nmwvnQ[100];
34 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
35 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
36 N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_164)(NimStringDesc** result, NU64 x);
37 static N_INLINE(void, addIntImpl__stdZprivateZdigitsutils_59)(NimStringDesc** result, NU64 x);
38 static N_INLINE(void, addChars__stdZprivateZdigitsutils_100)(NimStringDesc** result, tyArray__PbS9a6gkxCuxWEnFq4lOU9aw x, NI start, NI n);
39 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
40 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
41 N_LIB_PRIVATE NIM_CONST tyArray__38Z69amCaoywES5tRmClBSw digits100__stdZprivateZdigitsutils_2 = {48,
42 48,
43 48,
44 49,
45 48,
46 50,
47 48,
48 51,
49 48,
50 52,
51 48,
52 53,
53 48,
54 54,
55 48,
56 55,
57 48,
58 56,
59 48,
60 57,
61 49,
62 48,
63 49,
64 49,
65 49,
66 50,
67 49,
68 51,
69 49,
70 52,
71 49,
72 53,
73 49,
74 54,
75 49,
76 55,
77 49,
78 56,
79 49,
80 57,
81 50,
82 48,
83 50,
84 49,
85 50,
86 50,
87 50,
88 51,
89 50,
90 52,
91 50,
92 53,
93 50,
94 54,
95 50,
96 55,
97 50,
98 56,
99 50,
100 57,
101 51,
102 48,
103 51,
104 49,
105 51,
106 50,
107 51,
108 51,
109 51,
110 52,
111 51,
112 53,
113 51,
114 54,
115 51,
116 55,
117 51,
118 56,
119 51,
120 57,
121 52,
122 48,
123 52,
124 49,
125 52,
126 50,
127 52,
128 51,
129 52,
130 52,
131 52,
132 53,
133 52,
134 54,
135 52,
136 55,
137 52,
138 56,
139 52,
140 57,
141 53,
142 48,
143 53,
144 49,
145 53,
146 50,
147 53,
148 51,
149 53,
150 52,
151 53,
152 53,
153 53,
154 54,
155 53,
156 55,
157 53,
158 56,
159 53,
160 57,
161 54,
162 48,
163 54,
164 49,
165 54,
166 50,
167 54,
168 51,
169 54,
170 52,
171 54,
172 53,
173 54,
174 54,
175 54,
176 55,
177 54,
178 56,
179 54,
180 57,
181 55,
182 48,
183 55,
184 49,
185 55,
186 50,
187 55,
188 51,
189 55,
190 52,
191 55,
192 53,
193 55,
194 54,
195 55,
196 55,
197 55,
198 56,
199 55,
200 57,
201 56,
202 48,
203 56,
204 49,
205 56,
206 50,
207 56,
208 51,
209 56,
210 52,
211 56,
212 53,
213 56,
214 54,
215 56,
216 55,
217 56,
218 56,
219 56,
220 57,
221 57,
222 48,
223 57,
224 49,
225 57,
226 50,
227 57,
228 51,
229 57,
230 52,
231 57,
232 53,
233 57,
234 54,
235 57,
236 55,
237 57,
238 56,
239 57,
240 57}
241 ;
242 N_LIB_PRIVATE NIM_CONST tyArray__k7wgHIN8mKeRF236nmwvnQ trailingZeros100__stdZprivateZdigitsutils_1 = {((NI8) 2),
243 ((NI8) 0),
244 ((NI8) 0),
245 ((NI8) 0),
246 ((NI8) 0),
247 ((NI8) 0),
248 ((NI8) 0),
249 ((NI8) 0),
250 ((NI8) 0),
251 ((NI8) 0),
252 ((NI8) 1),
253 ((NI8) 0),
254 ((NI8) 0),
255 ((NI8) 0),
256 ((NI8) 0),
257 ((NI8) 0),
258 ((NI8) 0),
259 ((NI8) 0),
260 ((NI8) 0),
261 ((NI8) 0),
262 ((NI8) 1),
263 ((NI8) 0),
264 ((NI8) 0),
265 ((NI8) 0),
266 ((NI8) 0),
267 ((NI8) 0),
268 ((NI8) 0),
269 ((NI8) 0),
270 ((NI8) 0),
271 ((NI8) 0),
272 ((NI8) 1),
273 ((NI8) 0),
274 ((NI8) 0),
275 ((NI8) 0),
276 ((NI8) 0),
277 ((NI8) 0),
278 ((NI8) 0),
279 ((NI8) 0),
280 ((NI8) 0),
281 ((NI8) 0),
282 ((NI8) 1),
283 ((NI8) 0),
284 ((NI8) 0),
285 ((NI8) 0),
286 ((NI8) 0),
287 ((NI8) 0),
288 ((NI8) 0),
289 ((NI8) 0),
290 ((NI8) 0),
291 ((NI8) 0),
292 ((NI8) 1),
293 ((NI8) 0),
294 ((NI8) 0),
295 ((NI8) 0),
296 ((NI8) 0),
297 ((NI8) 0),
298 ((NI8) 0),
299 ((NI8) 0),
300 ((NI8) 0),
301 ((NI8) 0),
302 ((NI8) 1),
303 ((NI8) 0),
304 ((NI8) 0),
305 ((NI8) 0),
306 ((NI8) 0),
307 ((NI8) 0),
308 ((NI8) 0),
309 ((NI8) 0),
310 ((NI8) 0),
311 ((NI8) 0),
312 ((NI8) 1),
313 ((NI8) 0),
314 ((NI8) 0),
315 ((NI8) 0),
316 ((NI8) 0),
317 ((NI8) 0),
318 ((NI8) 0),
319 ((NI8) 0),
320 ((NI8) 0),
321 ((NI8) 0),
322 ((NI8) 1),
323 ((NI8) 0),
324 ((NI8) 0),
325 ((NI8) 0),
326 ((NI8) 0),
327 ((NI8) 0),
328 ((NI8) 0),
329 ((NI8) 0),
330 ((NI8) 0),
331 ((NI8) 0),
332 ((NI8) 1),
333 ((NI8) 0),
334 ((NI8) 0),
335 ((NI8) 0),
336 ((NI8) 0),
337 ((NI8) 0),
338 ((NI8) 0),
339 ((NI8) 0),
340 ((NI8) 0),
341 ((NI8) 0)}
342 ;
N_INLINE(void,nimCopyMem)343 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
344 void* T1_;
345 T1_ = (void*)0;
346 T1_ = memcpy(dest, source, ((size_t) (size)));
347 }
N_INLINE(void,copyMem__system_1727)348 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
349 nimCopyMem(dest, source, size);
350 }
N_INLINE(void,addChars__stdZprivateZdigitsutils_100)351 static N_INLINE(void, addChars__stdZprivateZdigitsutils_100)(NimStringDesc** result, tyArray__PbS9a6gkxCuxWEnFq4lOU9aw x, NI start, NI n) {
352 NI old;
353 old = ((*result) ? (*result)->Sup.len : 0);
354 unsureAsgnRef((void**) (&(*result)), setLengthStr((*result), ((NI) ((NI)(old + n)))));
355 copyMem__system_1727(((void*) ((&(*result)->data[old]))), ((void*) ((&x[(start)- 0]))), ((NI) (n)));
356 }
N_INLINE(void,addIntImpl__stdZprivateZdigitsutils_59)357 static N_INLINE(void, addIntImpl__stdZprivateZdigitsutils_59)(NimStringDesc** result, NU64 x) {
358 tyArray__PbS9a6gkxCuxWEnFq4lOU9aw tmp;
359 NU64 num;
360 NI next;
361 num = x;
362 next = ((NI) 23);
363 {
364 while (1) {
365 NU64 originNum;
366 NU64 index;
367 if (!((NU64)(100ULL) <= (NU64)(num))) goto LA2;
368 originNum = num;
369 num = (NU64)((NU64)(num) / (NU64)(100ULL));
370 index = (NU64)((NU64)((NU64)((NU64)(originNum) - (NU64)((NU64)((NU64)(num) * (NU64)(100ULL))))) << (NU64)(((NI) 1)));
371 tmp[(next)- 0] = digits100__stdZprivateZdigitsutils_2[((NU64)((NU64)(index) + (NU64)(1ULL)))- 0];
372 tmp[((NI)(next - ((NI) 1)))- 0] = digits100__stdZprivateZdigitsutils_2[(index)- 0];
373 next -= ((NI) 2);
374 } LA2: ;
375 }
376 {
377 if (!((NU64)(num) < (NU64)(10ULL))) goto LA5_;
378 tmp[(next)- 0] = ((NIM_CHAR) (((NI) ((NU64)((NU64)(48ULL) + (NU64)(num))))));
379 }
380 goto LA3_;
381 LA5_: ;
382 {
383 NU64 index_2;
384 index_2 = (NU64)((NU64)(num) * (NU64)(2ULL));
385 tmp[(next)- 0] = digits100__stdZprivateZdigitsutils_2[((NU64)((NU64)(index_2) + (NU64)(1ULL)))- 0];
386 tmp[((NI)(next - ((NI) 1)))- 0] = digits100__stdZprivateZdigitsutils_2[(index_2)- 0];
387 next -= ((NI) 1);
388 }
389 LA3_: ;
390 addChars__stdZprivateZdigitsutils_100(result, tmp, next, (NI)(((NI) 24) - next));
391 }
N_NIMCALL(void,addInt__stdZprivateZdigitsutils_164)392 N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_164)(NimStringDesc** result, NU64 x) {
393 addIntImpl__stdZprivateZdigitsutils_59(result, x);
394 }
N_NIMCALL(void,addInt__stdZprivateZdigitsutils_167)395 N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x) {
396 NU64 numX60gensym3_;
397 numX60gensym3_ = (NU64)0;
398 {
399 NI baseX60gensym3_;
400 if (!(x < IL64(0))) goto LA3_;
401 {
402 if (!(x == (IL64(-9223372036854775807) - IL64(1)))) goto LA7_;
403 numX60gensym3_ = ((NU64) (x));
404 }
405 goto LA5_;
406 LA7_: ;
407 {
408 numX60gensym3_ = ((NU64) (-(x)));
409 }
410 LA5_: ;
411 baseX60gensym3_ = ((*result) ? (*result)->Sup.len : 0);
412 unsureAsgnRef((void**) (&(*result)), setLengthStr((*result), ((NI) ((NI)(baseX60gensym3_ + ((NI) 1))))));
413 (*result)->data[baseX60gensym3_] = 45;
414 }
415 goto LA1_;
416 LA3_: ;
417 {
418 numX60gensym3_ = ((NU64) (x));
419 }
420 LA1_: ;
421 addInt__stdZprivateZdigitsutils_164(result, numX60gensym3_);
422 }
423