csources_v2/c_code/10_1/@m..@slib@sstd@sprivate@sdigitsutils.nim.c
2022-12-16 10:54:01 +08:00

453 lines
6.7 KiB
C

/* Generated by Nim Compiler v1.9.0 */
#define NIM_INTBITS 32
#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
#define nimfr_(x, y)
#define nimln_(x, y)
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
typedef NIM_CHAR tyArray__PbS9a6gkxCuxWEnFq4lOU9aw[24];
typedef NIM_CHAR tyArray__38Z69amCaoywES5tRmClBSw[200];
typedef NI8 tyArray__k7wgHIN8mKeRF236nmwvnQ[100];
N_LIB_PRIVATE N_NIMCALL(void, setLengthStrV2)(NimStringV2* s, NI newLen);
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s);
N_LIB_PRIVATE N_NIMCALL(void, nimPrepareStrMutationImpl__system_2301)(NimStringV2* s);
N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_173)(NimStringV2* result, NU64 x);
static N_INLINE(void, addIntImpl__stdZprivateZdigitsutils_71)(NimStringV2* result, NU64 x);
static N_INLINE(void, addChars__stdZprivateZdigitsutils_114)(NimStringV2* result, tyArray__PbS9a6gkxCuxWEnFq4lOU9aw x, NI start, NI n);
static N_INLINE(void, copyMem__system_1719)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE NIM_CONST tyArray__38Z69amCaoywES5tRmClBSw digits100__stdZprivateZdigitsutils_2 = {48,
48,
48,
49,
48,
50,
48,
51,
48,
52,
48,
53,
48,
54,
48,
55,
48,
56,
48,
57,
49,
48,
49,
49,
49,
50,
49,
51,
49,
52,
49,
53,
49,
54,
49,
55,
49,
56,
49,
57,
50,
48,
50,
49,
50,
50,
50,
51,
50,
52,
50,
53,
50,
54,
50,
55,
50,
56,
50,
57,
51,
48,
51,
49,
51,
50,
51,
51,
51,
52,
51,
53,
51,
54,
51,
55,
51,
56,
51,
57,
52,
48,
52,
49,
52,
50,
52,
51,
52,
52,
52,
53,
52,
54,
52,
55,
52,
56,
52,
57,
53,
48,
53,
49,
53,
50,
53,
51,
53,
52,
53,
53,
53,
54,
53,
55,
53,
56,
53,
57,
54,
48,
54,
49,
54,
50,
54,
51,
54,
52,
54,
53,
54,
54,
54,
55,
54,
56,
54,
57,
55,
48,
55,
49,
55,
50,
55,
51,
55,
52,
55,
53,
55,
54,
55,
55,
55,
56,
55,
57,
56,
48,
56,
49,
56,
50,
56,
51,
56,
52,
56,
53,
56,
54,
56,
55,
56,
56,
56,
57,
57,
48,
57,
49,
57,
50,
57,
51,
57,
52,
57,
53,
57,
54,
57,
55,
57,
56,
57,
57}
;
N_LIB_PRIVATE NIM_CONST tyArray__k7wgHIN8mKeRF236nmwvnQ trailingZeros100__stdZprivateZdigitsutils_1 = {((NI8)2),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)1),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)1),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)1),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)1),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)1),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)1),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)1),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)1),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)1),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0),
((NI8)0)}
;
extern NIM_BOOL nimInErrorMode__system_4004;
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s) {
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = !(((*s).p == ((NimStrPayload*) NIM_NIL)));
if (!(T3_)) goto LA4_;
T3_ = ((NI)((*(*s).p).cap & ((NI)1073741824)) == ((NI)1073741824));
LA4_: ;
if (!T3_) goto LA5_;
nimPrepareStrMutationImpl__system_2301(s);
}
LA5_: ;
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memcpy(dest, source, ((size_t) (size)));
}
static N_INLINE(void, copyMem__system_1719)(void* dest, void* source, NI size) {
nimCopyMem(dest, source, size);
}
static N_INLINE(void, addChars__stdZprivateZdigitsutils_114)(NimStringV2* result, tyArray__PbS9a6gkxCuxWEnFq4lOU9aw x, NI start, NI n) {
NI old;
old = (*result).len;
setLengthStrV2((&(*result)), ((NI) ((NI)(old + n))));
copyMem__system_1719(((void*) ((&(*result).p->data[old]))), ((void*) ((&x[(start)- 0]))), ((NI) (n)));
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (NIM_BOOL*)0;
result = (&nimInErrorMode__system_4004);
return result;
}
static N_INLINE(void, addIntImpl__stdZprivateZdigitsutils_71)(NimStringV2* result, NU64 x) {
tyArray__PbS9a6gkxCuxWEnFq4lOU9aw tmp;
NU64 num;
NI next;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
num = x;
next = ((NI)23);
{
while (1) {
NU64 originNum;
NI16 index;
if (!((NU64)(100ULL) <= (NU64)(num))) goto LA2 ;
originNum = num;
num = (NU64)((NU64)(num) / (NU64)(100ULL));
index = ((NI16) ((NU64)((NU64)((NU64)((NU64)(originNum) - (NU64)((NU64)((NU64)(num) * (NU64)(100ULL))))) << (NU64)(((NI)1)))));
tmp[(next)- 0] = digits100__stdZprivateZdigitsutils_2[((NI16)(index + ((NI16)1)))- 0];
tmp[((NI)(next - ((NI)1)))- 0] = digits100__stdZprivateZdigitsutils_2[(index)- 0];
next -= ((NI)2);
} LA2: ;
}
{
if (!((NU64)(num) < (NU64)(10ULL))) goto LA5_;
tmp[(next)- 0] = ((NIM_CHAR) (((NI) ((NU8)((NU8)(((NU8)48)) + (NU8)(((NU8) (num))))))));
}
goto LA3_;
LA5_: ;
{
NU64 index_2;
index_2 = (NU64)((NU64)(num) * (NU64)(2ULL));
tmp[(next)- 0] = digits100__stdZprivateZdigitsutils_2[((NU64)((NU64)(index_2) + (NU64)(1ULL)))- 0];
tmp[((NI)(next - ((NI)1)))- 0] = digits100__stdZprivateZdigitsutils_2[(index_2)- 0];
next -= ((NI)1);
}
LA3_: ;
addChars__stdZprivateZdigitsutils_114(result, tmp, next, (NI)(((NI)24) - next));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_173)(NimStringV2* result, NU64 x) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
addIntImpl__stdZprivateZdigitsutils_71(result, x);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_176)(NimStringV2* result, NI64 x) {
NU64 numX60gensym3_;
numX60gensym3_ = (NU64)0;
{
NI baseX60gensym3_;
if (!(x < IL64(0))) goto LA3_;
{
if (!(x == (IL64(-9223372036854775807) - IL64(1)))) goto LA7_;
numX60gensym3_ = ((NU64) (x));
}
goto LA5_;
LA7_: ;
{
numX60gensym3_ = ((NU64) (-(x)));
}
LA5_: ;
baseX60gensym3_ = (*result).len;
setLengthStrV2((&(*result)), ((NI) ((NI)(baseX60gensym3_ + ((NI)1)))));
nimPrepareStrMutationV2((&(*result)));
(*result).p->data[baseX60gensym3_] = 45;
}
goto LA1_;
LA3_: ;
{
numX60gensym3_ = ((NU64) (x));
}
LA1_: ;
addInt__stdZprivateZdigitsutils_173(result, numX60gensym3_);
}