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