/* Generated by Nim Compiler v1.9.0 */ #define NIM_INTBITS 64 #include "nimbase.h" #include #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; typedef struct tyObject_StandardFormatSpecifier__NDU7AW5Eu6Q69c8cH6RDouQ tyObject_StandardFormatSpecifier__NDU7AW5Eu6Q69c8cH6RDouQ; typedef struct tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw; typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA; typedef struct Exception Exception; typedef struct RootObj RootObj; typedef struct TNimTypeV2 TNimTypeV2; typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA; typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA_Content tySequence__uB9b75OUPRENsBAu4AnoePA_Content; typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA; typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA; struct NimStrPayload { NI cap; NIM_CHAR data[SEQ_DECL_SIZE]; }; struct NimStringV2 { NI len; NimStrPayload* p; }; struct tyObject_StandardFormatSpecifier__NDU7AW5Eu6Q69c8cH6RDouQ { NIM_CHAR fill; NIM_CHAR align; NIM_CHAR sign; NIM_BOOL alternateForm; NIM_BOOL padWithZero; NI minimumWidth; NI precision; NIM_CHAR typ; NI endPosition; }; struct TNimTypeV2 { void* destructor; NI size; NI16 align; NI16 depth; NU32* display; void* traceImpl; void* typeInfoV1; NI flags; }; struct RootObj { TNimTypeV2* m_type; }; struct tySequence__uB9b75OUPRENsBAu4AnoePA { NI len; tySequence__uB9b75OUPRENsBAu4AnoePA_Content* p; }; struct Exception { RootObj Sup; Exception* parent; NCSTRING name; NimStringV2 message; tySequence__uB9b75OUPRENsBAu4AnoePA trace; Exception* up; }; struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA { Exception Sup; }; struct tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw { tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup; }; struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA { NI a; NI b; }; struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA { NCSTRING procname; NI line; NCSTRING filename; }; #ifndef tySequence__uB9b75OUPRENsBAu4AnoePA_Content_PP #define tySequence__uB9b75OUPRENsBAu4AnoePA_Content_PP struct tySequence__uB9b75OUPRENsBAu4AnoePA_Content { NI cap; tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];}; #endif static N_INLINE(void, nimZeroMem)(void* p, NI size); static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size); static N_INLINE(NIM_BOOL*, nimErrorFlag)(void); N_LIB_PRIVATE N_NIMCALL(void, parseStandardFormatSpecifier__pureZstrformat_57)(NimStringV2 s, NI start, NIM_BOOL ignoreUnknownSuffix, tyObject_StandardFormatSpecifier__NDU7AW5Eu6Q69c8cH6RDouQ* Result); N_LIB_PRIVATE N_NIMCALL(NI, parseSaturatedNatural__pureZparseutils_829)(NimStringV2 s, NI* b, NI start); N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size, NI alignment); static N_INLINE(void, appendString)(NimStringV2* dest, NimStringV2 src); 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(NimStringV2, X5BX5D___pureZstrutils_1307)(NimStringV2 s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x); N_NIMCALL(NimStringV2, mnewString)(NI len); static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s); N_LIB_PRIVATE N_NIMCALL(void, nimPrepareStrMutationImpl__system_2301)(NimStringV2* s); static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZenumutils_128)(NI a, NI b); N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space); N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZassertions_13)(NimStringV2* dest); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___stdZassertions_16)(NimStringV2* dest, NimStringV2 src); static N_INLINE(void, appendChar)(NimStringV2* dest, NIM_CHAR c); static N_INLINE(NI, runeLen__pureZunicode_7215)(NimStringV2 s); N_LIB_PRIVATE N_NIMCALL(NI, nucruneLen)(NIM_CHAR* s, NI sLen_0); static N_INLINE(NI, runeOffset__pureZunicode_7390)(NimStringV2 s, NI pos, NI start); N_LIB_PRIVATE N_NIMCALL(NI, runeOffset__pureZunicode_794)(NIM_CHAR* s, NI sLen_0, NI pos, NI start); N_LIB_PRIVATE N_NIMCALL(void, setLengthStrV2)(NimStringV2* s, NI newLen); N_LIB_PRIVATE N_NIMCALL(NimStringV2, alignString__pureZstrformat_19)(NimStringV2 s, NI minimumWidth, NIM_CHAR align, NIM_CHAR fill); static N_INLINE(NI, validateUtf8__pureZunicode_7387)(NimStringV2 s); N_LIB_PRIVATE N_NIMCALL(NI, validateUtf8__pureZunicode_329)(NIM_CHAR* s, NI sLen_0); N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuRepeatChar)(NIM_CHAR c, NI count); N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s, NI addlen); N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_3)(NI x); N_LIB_PRIVATE N_NIMCALL(NimStringV2, formatInt__pureZterminal_218)(NI n, NI radix, tyObject_StandardFormatSpecifier__NDU7AW5Eu6Q69c8cH6RDouQ* spec); static N_INLINE(NimStringV2, mkDigit__pureZstrformat_6)(NI v, NIM_CHAR typ); N_LIB_PRIVATE N_NIMCALL(NimStringV2, nimCharToStr)(NIM_CHAR x); N_LIB_PRIVATE N_NIMCALL(void, eqsink___stdZassertions_19)(NimStringV2* dest, NimStringV2 src); static N_INLINE(void, nimAddCharV1)(NimStringV2* s, NIM_CHAR c); extern TNimTypeV2 NTIv2__ke0esfQKJkTSUu9bpZ7VlFw_; static const struct { NI cap; NIM_CHAR data[37+1]; } TM__qDXzsifTQdn8ucTam9cFp4w_2 = { 37 | NIM_STRLIT_FLAG, "invalid format string, cannot parse: " }; static const NimStringV2 TM__qDXzsifTQdn8ucTam9cFp4w_3 = {37, (NimStrPayload*)&TM__qDXzsifTQdn8ucTam9cFp4w_2}; static const struct { NI cap; NIM_CHAR data[64+1]; } TM__qDXzsifTQdn8ucTam9cFp4w_4 = { 64 | NIM_STRLIT_FLAG, "invalid type in format string for string, expected \'s\', but got " }; static const NimStringV2 TM__qDXzsifTQdn8ucTam9cFp4w_5 = {64, (NimStrPayload*)&TM__qDXzsifTQdn8ucTam9cFp4w_4}; static const struct { NI cap; NIM_CHAR data[92+1]; } TM__qDXzsifTQdn8ucTam9cFp4w_6 = { 92 | NIM_STRLIT_FLAG, "invalid type in format string for number, expected one of \'x\', \'X\', \'b\', \'d\', \'o\' but got: " }; static const NimStringV2 TM__qDXzsifTQdn8ucTam9cFp4w_7 = {92, (NimStrPayload*)&TM__qDXzsifTQdn8ucTam9cFp4w_6}; static const struct { NI cap; NIM_CHAR data[0+1]; } TM__qDXzsifTQdn8ucTam9cFp4w_8 = { 0 | NIM_STRLIT_FLAG, "" }; static const NimStringV2 TM__qDXzsifTQdn8ucTam9cFp4w_9 = {0, (NimStrPayload*)&TM__qDXzsifTQdn8ucTam9cFp4w_8}; static const struct { NI cap; NIM_CHAR data[2+1]; } TM__qDXzsifTQdn8ucTam9cFp4w_10 = { 2 | NIM_STRLIT_FLAG, "0x" }; static const NimStringV2 TM__qDXzsifTQdn8ucTam9cFp4w_11 = {2, (NimStrPayload*)&TM__qDXzsifTQdn8ucTam9cFp4w_10}; static const NimStringV2 TM__qDXzsifTQdn8ucTam9cFp4w_12 = {2, (NimStrPayload*)&TM__qDXzsifTQdn8ucTam9cFp4w_10}; static const struct { NI cap; NIM_CHAR data[2+1]; } TM__qDXzsifTQdn8ucTam9cFp4w_13 = { 2 | NIM_STRLIT_FLAG, "0b" }; static const NimStringV2 TM__qDXzsifTQdn8ucTam9cFp4w_14 = {2, (NimStrPayload*)&TM__qDXzsifTQdn8ucTam9cFp4w_13}; static const struct { NI cap; NIM_CHAR data[2+1]; } TM__qDXzsifTQdn8ucTam9cFp4w_15 = { 2 | NIM_STRLIT_FLAG, "0o" }; static const NimStringV2 TM__qDXzsifTQdn8ucTam9cFp4w_16 = {2, (NimStrPayload*)&TM__qDXzsifTQdn8ucTam9cFp4w_15}; static const struct { NI cap; NIM_CHAR data[1+1]; } TM__qDXzsifTQdn8ucTam9cFp4w_17 = { 1 | NIM_STRLIT_FLAG, "0" }; static const NimStringV2 TM__qDXzsifTQdn8ucTam9cFp4w_18 = {1, (NimStrPayload*)&TM__qDXzsifTQdn8ucTam9cFp4w_17}; static const NimStringV2 TM__qDXzsifTQdn8ucTam9cFp4w_19 = {0, (NimStrPayload*)&TM__qDXzsifTQdn8ucTam9cFp4w_8}; static const struct { NI cap; NIM_CHAR data[1+1]; } TM__qDXzsifTQdn8ucTam9cFp4w_20 = { 1 | NIM_STRLIT_FLAG, "-" }; static const NimStringV2 TM__qDXzsifTQdn8ucTam9cFp4w_21 = {1, (NimStrPayload*)&TM__qDXzsifTQdn8ucTam9cFp4w_20}; extern NIM_BOOL nimInErrorMode__system_4004; static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) { void* T1_; T1_ = (void*)0; T1_ = memset(a, v, ((size_t) (size))); } static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) { NIM_BOOL* result; result = (NIM_BOOL*)0; result = (&nimInErrorMode__system_4004); return result; } static N_INLINE(void, nimZeroMem)(void* p, NI size) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); nimSetMem__systemZmemory_7(p, ((int)0), size); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } 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, appendString)(NimStringV2* dest, NimStringV2 src) { { if (!(((NI)0) < src.len)) goto LA3_; copyMem__system_1719(((void*) ((&(*(*dest).p).data[(*dest).len]))), ((void*) ((&(*src.p).data[((NI)0)]))), ((NI) ((NI)(src.len + ((NI)1))))); (*dest).len += src.len; } LA3_: ; } 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)IL64(4611686018427387904))) == ((NI)IL64(4611686018427387904))); LA4_: ; if (!T3_) goto LA5_; nimPrepareStrMutationImpl__system_2301(s); } LA5_: ; } static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_1307)(NimStringV2 s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) { NimStringV2 result; NI a; NI L; result.len = 0; result.p = NIM_NIL; a = x.a; L = (NI)((NI)((NI)(s.len - x.b) - a) + ((NI)1)); result = mnewString(((NI) (L))); { NI i; NI i_2; i = (NI)0; i_2 = ((NI)0); { while (1) { if (!(i_2 < L)) goto LA3 ; i = i_2; nimPrepareStrMutationV2((&result)); result.p->data[i] = s.p->data[(NI)(i + a)]; i_2 += ((NI)1); } LA3: ; } } return result; } static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZenumutils_128)(NI a, NI b) { tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result; nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA)); nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA)); result.a = a; result.b = b; return result; } N_LIB_PRIVATE N_NIMCALL(void, parseStandardFormatSpecifier__pureZstrformat_57)(NimStringV2 s, NI start, NIM_BOOL ignoreUnknownSuffix, tyObject_StandardFormatSpecifier__NDU7AW5Eu6Q69c8cH6RDouQ* Result) { NI i; NI parsedLength; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); nimZeroMem((void*)Result, sizeof(tyObject_StandardFormatSpecifier__NDU7AW5Eu6Q69c8cH6RDouQ)); (*Result).fill = 32; (*Result).align = 0; (*Result).sign = 45; i = start; { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = ((NI)(i + ((NI)1)) < s.len); if (!(T3_)) goto LA4_; T3_ = (((NU8)(s.p->data[(NI)(i + ((NI)1))])) == ((NU8)(60)) || ((NU8)(s.p->data[(NI)(i + ((NI)1))])) == ((NU8)(62)) || ((NU8)(s.p->data[(NI)(i + ((NI)1))])) == ((NU8)(94))); LA4_: ; if (!T3_) goto LA5_; (*Result).fill = s.p->data[i]; (*Result).align = s.p->data[(NI)(i + ((NI)1))]; i += ((NI)2); } goto LA1_; LA5_: ; { NIM_BOOL T8_; T8_ = (NIM_BOOL)0; T8_ = (i < s.len); if (!(T8_)) goto LA9_; T8_ = (((NU8)(s.p->data[i])) == ((NU8)(60)) || ((NU8)(s.p->data[i])) == ((NU8)(62)) || ((NU8)(s.p->data[i])) == ((NU8)(94))); LA9_: ; if (!T8_) goto LA10_; (*Result).align = s.p->data[i]; i += ((NI)1); } goto LA1_; LA10_: ; LA1_: ; { NIM_BOOL T14_; T14_ = (NIM_BOOL)0; T14_ = (i < s.len); if (!(T14_)) goto LA15_; T14_ = (((NU8)(s.p->data[i])) == ((NU8)(45)) || ((NU8)(s.p->data[i])) == ((NU8)(43)) || ((NU8)(s.p->data[i])) == ((NU8)(32))); LA15_: ; if (!T14_) goto LA16_; (*Result).sign = s.p->data[i]; i += ((NI)1); } LA16_: ; { NIM_BOOL T20_; T20_ = (NIM_BOOL)0; T20_ = (i < s.len); if (!(T20_)) goto LA21_; T20_ = ((NU8)(s.p->data[i]) == (NU8)(35)); LA21_: ; if (!T20_) goto LA22_; (*Result).alternateForm = NIM_TRUE; i += ((NI)1); } LA22_: ; { NIM_BOOL T26_; NIM_BOOL T27_; T26_ = (NIM_BOOL)0; T27_ = (NIM_BOOL)0; T27_ = ((NI)(i + ((NI)1)) < s.len); if (!(T27_)) goto LA28_; T27_ = ((NU8)(s.p->data[i]) == (NU8)(48)); LA28_: ; T26_ = T27_; if (!(T26_)) goto LA29_; T26_ = (((NU8)(s.p->data[(NI)(i + ((NI)1))])) >= ((NU8)(48)) && ((NU8)(s.p->data[(NI)(i + ((NI)1))])) <= ((NU8)(57))); LA29_: ; if (!T26_) goto LA30_; (*Result).padWithZero = NIM_TRUE; i += ((NI)1); } LA30_: ; parsedLength = parseSaturatedNatural__pureZparseutils_829(s, (&(*Result).minimumWidth), i); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; i += parsedLength; { NIM_BOOL T34_; NI parsedLengthB; T34_ = (NIM_BOOL)0; T34_ = (i < s.len); if (!(T34_)) goto LA35_; T34_ = ((NU8)(s.p->data[i]) == (NU8)(46)); LA35_: ; if (!T34_) goto LA36_; i += ((NI)1); parsedLengthB = parseSaturatedNatural__pureZparseutils_829(s, (&(*Result).precision), i); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; i += parsedLengthB; } goto LA32_; LA36_: ; { (*Result).precision = ((NI)-1); } LA32_: ; { NIM_BOOL T41_; T41_ = (NIM_BOOL)0; T41_ = (i < s.len); if (!(T41_)) goto LA42_; T41_ = (((NU8)(s.p->data[i])) >= ((NU8)(65)) && ((NU8)(s.p->data[i])) <= ((NU8)(90)) || ((NU8)(s.p->data[i])) >= ((NU8)(97)) && ((NU8)(s.p->data[i])) <= ((NU8)(122))); LA42_: ; if (!T41_) goto LA43_; (*Result).typ = s.p->data[i]; i += ((NI)1); } LA43_: ; (*Result).endPosition = i; { NIM_BOOL T47_; NimStringV2 colontmpD_; tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw* T52_; NimStringV2 T53_; tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T54_; T47_ = (NIM_BOOL)0; T47_ = !((i == s.len)); if (!(T47_)) goto LA48_; T47_ = !(ignoreUnknownSuffix); LA48_: ; if (!T47_) goto LA49_; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; T52_ = NIM_NIL; T52_ = (tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw*) nimNewObj(sizeof(tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw), NIM_ALIGNOF(tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw)); (*T52_).Sup.Sup.Sup.m_type = (&NTIv2__ke0esfQKJkTSUu9bpZ7VlFw_); (*T52_).Sup.Sup.name = "ValueError"; T53_.len = 0; T53_.p = NIM_NIL; T54_ = dotdot___stdZenumutils_128(i, ((NI)1)); colontmpD_ = X5BX5D___pureZstrutils_1307(s, T54_); if (NIM_UNLIKELY(*nimErr_)) goto LA51_; T53_ = rawNewString(colontmpD_.len + 37); appendString((&T53_), TM__qDXzsifTQdn8ucTam9cFp4w_3); appendString((&T53_), colontmpD_); (*T52_).Sup.Sup.message = T53_; (*T52_).Sup.Sup.parent = ((Exception*) NIM_NIL); raiseExceptionEx((Exception*)T52_, "ValueError", "parseStandardFormatSpecifier", "strformat.nim", 472); goto LA51_; { LA51_:; } { eqdestroy___stdZassertions_13((&colontmpD_)); } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA49_: ; }BeforeRet_: ; } static N_INLINE(void, appendChar)(NimStringV2* dest, NIM_CHAR c) { (*(*dest).p).data[(*dest).len] = c; (*(*dest).p).data[(NI)((*dest).len + ((NI)1))] = 0; (*dest).len += ((NI)1); } static N_INLINE(NI, runeLen__pureZunicode_7215)(NimStringV2 s) { NI result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; result = nucruneLen((((s).p) ? ((NIM_CHAR*)s.p->data+(((NI)0))) : NIM_NIL), ((s.len-1))-(((NI)0))+1); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } static N_INLINE(NI, runeOffset__pureZunicode_7390)(NimStringV2 s, NI pos, NI start) { NI result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; result = runeOffset__pureZunicode_794((((s).p) ? ((NIM_CHAR*)s.p->data+(((NI)0))) : NIM_NIL), ((s.len-1))-(((NI)0))+1, pos, start); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } static N_INLINE(NI, validateUtf8__pureZunicode_7387)(NimStringV2 s) { NI result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; result = validateUtf8__pureZunicode_329((((s).p) ? ((NIM_CHAR*)s.p->data+(((NI)0))) : NIM_NIL), ((s.len-1))-(((NI)0))+1); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NimStringV2, alignString__pureZstrformat_19)(NimStringV2 s, NI minimumWidth, NIM_CHAR align, NIM_CHAR fill) { NimStringV2 result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result.len = 0; result.p = NIM_NIL; { if (!(minimumWidth == ((NI)0))) goto LA3_; eqcopy___stdZassertions_16((&result), s); } goto LA1_; LA3_: ; { NI colontmpD_; NI colontmpD__2; NI sRuneLen; NI toFill; colontmpD_ = (NI)0; colontmpD__2 = (NI)0; { NI T8_; T8_ = (NI)0; T8_ = validateUtf8__pureZunicode_7387(s); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!(T8_ == ((NI)-1))) goto LA9_; colontmpD_ = runeLen__pureZunicode_7215(s); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; sRuneLen = colontmpD_; } goto LA6_; LA9_: ; { colontmpD__2 = s.len; sRuneLen = colontmpD__2; } LA6_: ; toFill = (NI)(minimumWidth - sRuneLen); { if (!(toFill <= ((NI)0))) goto LA14_; eqcopy___stdZassertions_16((&result), s); } goto LA12_; LA14_: ; { NIM_BOOL T17_; NimStringV2 colontmpD__3; NimStringV2 T21_; T17_ = (NIM_BOOL)0; T17_ = ((NU8)(align) == (NU8)(60)); if (T17_) goto LA18_; T17_ = ((NU8)(align) == (NU8)(0)); LA18_: ; if (!T17_) goto LA19_; colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL; T21_.len = 0; T21_.p = NIM_NIL; colontmpD__3 = nsuRepeatChar(fill, ((NI) (toFill))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T21_ = rawNewString(s.len + colontmpD__3.len + 0); appendString((&T21_), s); appendString((&T21_), colontmpD__3); result = T21_; eqdestroy___stdZassertions_13((&colontmpD__3)); } goto LA12_; LA19_: ; { NimStringV2 colontmpD__4; NimStringV2 colontmpD__5; NI half; NimStringV2 T25_; if (!((NU8)(align) == (NU8)(94))) goto LA23_; colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL; colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL; half = (NI)(toFill / ((NI)2)); T25_.len = 0; T25_.p = NIM_NIL; colontmpD__4 = nsuRepeatChar(fill, ((NI) (half))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; colontmpD__5 = nsuRepeatChar(fill, ((NI) ((NI)(toFill - half)))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T25_ = rawNewString(colontmpD__4.len + s.len + colontmpD__5.len + 0); appendString((&T25_), colontmpD__4); appendString((&T25_), s); appendString((&T25_), colontmpD__5); result = T25_; eqdestroy___stdZassertions_13((&colontmpD__5)); eqdestroy___stdZassertions_13((&colontmpD__4)); } goto LA12_; LA23_: ; { NimStringV2 colontmpD__6; NimStringV2 T27_; colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL; T27_.len = 0; T27_.p = NIM_NIL; colontmpD__6 = nsuRepeatChar(fill, ((NI) (toFill))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T27_ = rawNewString(colontmpD__6.len + s.len + 0); appendString((&T27_), colontmpD__6); appendString((&T27_), s); result = T27_; eqdestroy___stdZassertions_13((&colontmpD__6)); } LA12_: ; } LA1_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, formatValue__pureZstrformat_170)(NimStringV2* result, NimStringV2 value, NimStringV2 specifier) { NimStringV2 value_2; NimStringV2 colontmpD_; tyObject_StandardFormatSpecifier__NDU7AW5Eu6Q69c8cH6RDouQ spec; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); value_2.len = 0; value_2.p = NIM_NIL; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; nimZeroMem((void*)(&spec), sizeof(tyObject_StandardFormatSpecifier__NDU7AW5Eu6Q69c8cH6RDouQ)); parseStandardFormatSpecifier__pureZstrformat_57(specifier, ((NI)0), NIM_FALSE, (&spec)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqcopy___stdZassertions_16((&value_2), value); switch (((NU8)(spec.typ))) { case 115: case 0: { } break; default: { tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw* T4_; NimStringV2 T5_; T4_ = NIM_NIL; T4_ = (tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw*) nimNewObj(sizeof(tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw), NIM_ALIGNOF(tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw)); (*T4_).Sup.Sup.Sup.m_type = (&NTIv2__ke0esfQKJkTSUu9bpZ7VlFw_); (*T4_).Sup.Sup.name = "ValueError"; T5_.len = 0; T5_.p = NIM_NIL; T5_ = rawNewString(65); appendString((&T5_), TM__qDXzsifTQdn8ucTam9cFp4w_5); appendChar((&T5_), spec.typ); (*T4_).Sup.Sup.message = T5_; (*T4_).Sup.Sup.parent = ((Exception*) NIM_NIL); raiseExceptionEx((Exception*)T4_, "ValueError", "formatValue", "strformat.nim", 562); goto LA1_; } break; } { if (!!((spec.precision == ((NI)-1)))) goto LA8_; { NI T12_; NI T15_; T12_ = (NI)0; T12_ = runeLen__pureZunicode_7215(value_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!(spec.precision < T12_)) goto LA13_; T15_ = (NI)0; T15_ = runeOffset__pureZunicode_7390(value_2, ((NI) (spec.precision)), ((NI)0)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; setLengthStrV2((&value_2), ((NI) (T15_))); } LA13_: ; } LA8_: ; colontmpD_ = alignString__pureZstrformat_19(value_2, spec.minimumWidth, spec.align, spec.fill); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; prepareAdd((&(*result)), colontmpD_.len + 0); appendString((&(*result)), colontmpD_); { LA1_:; } { eqdestroy___stdZassertions_13((&colontmpD_)); eqdestroy___stdZassertions_13((&value_2)); } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } static N_INLINE(NimStringV2, mkDigit__pureZstrformat_6)(NI v, NIM_CHAR typ) { NimStringV2 result; result.len = 0; result.p = NIM_NIL; { if (!(v < ((NI)10))) goto LA3_; result = nimCharToStr(((NIM_CHAR) (((NI) ((NI)(((NI)48) + v)))))); } goto LA1_; LA3_: ; { NIM_CHAR colontmpD_; NIM_CHAR colontmpD__2; NIM_CHAR T6_; colontmpD_ = (NIM_CHAR)0; colontmpD__2 = (NIM_CHAR)0; T6_ = (NIM_CHAR)0; { if (!((NU8)(typ) == (NU8)(120))) goto LA9_; colontmpD_ = 97; T6_ = colontmpD_; } goto LA7_; LA9_: ; { colontmpD__2 = 65; T6_ = colontmpD__2; } LA7_: ; result = nimCharToStr(((NIM_CHAR) (((NI) ((NI)((NI)(((NU8)(T6_)) + v) - ((NI)10))))))); } LA1_: ; return result; } static N_INLINE(void, nimAddCharV1)(NimStringV2* s, NIM_CHAR c) { prepareAdd(s, ((NI)1)); (*(*s).p).data[(*s).len] = c; (*(*s).p).data[(NI)((*s).len + ((NI)1))] = 0; (*s).len += ((NI)1); } N_LIB_PRIVATE N_NIMCALL(NimStringV2, formatInt__pureZterminal_218)(NI n, NI radix, tyObject_StandardFormatSpecifier__NDU7AW5Eu6Q69c8cH6RDouQ* spec) { NimStringV2 result; NU64 colontmpD_; NU64 colontmpD__2; NimStringV2 xx; NI64 n_2; NIM_BOOL negative; NU64 v; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result.len = 0; result.p = NIM_NIL; colontmpD_ = (NU64)0; colontmpD__2 = (NU64)0; xx.len = 0; xx.p = NIM_NIL; n_2 = ((NI64) (n)); negative = (n_2 < IL64(0)); { if (!negative) goto LA3_; colontmpD_ = (NU64)((NU64)(((NU64) ((NI64)((NU64) ~(n_2))))) + (NU64)(1ULL)); v = colontmpD_; } goto LA1_; LA3_: ; { colontmpD__2 = ((NU64) (n_2)); v = colontmpD__2; } LA1_: ; xx = TM__qDXzsifTQdn8ucTam9cFp4w_9; { if (!(*spec).alternateForm) goto LA8_; switch (((NU8)((*spec).typ))) { case 88: { xx = TM__qDXzsifTQdn8ucTam9cFp4w_11; } break; case 120: { xx = TM__qDXzsifTQdn8ucTam9cFp4w_12; } break; case 98: { xx = TM__qDXzsifTQdn8ucTam9cFp4w_14; } break; case 111: { xx = TM__qDXzsifTQdn8ucTam9cFp4w_16; } break; default: { } break; } } LA8_: ; { if (!(v == 0ULL)) goto LA17_; result = TM__qDXzsifTQdn8ucTam9cFp4w_18; } goto LA15_; LA17_: ; { result = TM__qDXzsifTQdn8ucTam9cFp4w_19; { while (1) { NimStringV2 colontmpD__3; NU64 d; if (!((NU64)(0ULL) < (NU64)(v))) goto LA21 ; colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL; d = (NU64)((NU64)(v) % (NU64)(((NU64) (radix)))); v = (NU64)((NU64)(v) / (NU64)(((NU64) (radix)))); colontmpD__3 = mkDigit__pureZstrformat_6(((NI) (d)), (*spec).typ); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; prepareAdd((&result), colontmpD__3.len + 0); appendString((&result), colontmpD__3); eqdestroy___stdZassertions_13((&colontmpD__3)); } LA21: ; } { NI idx; NI colontmp_; NI i; idx = (NI)0; colontmp_ = (NI)0; colontmp_ = (NI)(result.len / ((NI)2)); i = ((NI)0); { while (1) { NIM_CHAR T25_; if (!(i < colontmp_)) goto LA24 ; idx = i; nimPrepareStrMutationV2((&result)); nimPrepareStrMutationV2((&result)); T25_ = (NIM_CHAR)0; T25_ = result.p->data[idx]; result.p->data[idx] = result.p->data[(NI)((NI)(result.len - idx) - ((NI)1))]; result.p->data[(NI)((NI)(result.len - idx) - ((NI)1))] = T25_; i += ((NI)1); } LA24: ; } } } LA15_: ; { NIM_BOOL sign; NIM_BOOL T30_; NI toFill; if (!(*spec).padWithZero) goto LA28_; T30_ = (NIM_BOOL)0; T30_ = negative; if (T30_) goto LA31_; T30_ = !(((NU8)((*spec).sign) == (NU8)(45))); LA31_: ; sign = T30_; toFill = (NI)((NI)((NI)((*spec).minimumWidth - result.len) - xx.len) - sign); { NimStringV2 colontmpD__4; NimStringV2 T36_; if (!(((NI)0) < toFill)) goto LA34_; colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL; T36_.len = 0; T36_.p = NIM_NIL; colontmpD__4 = nsuRepeatChar(48, ((NI) (toFill))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T36_ = rawNewString(colontmpD__4.len + result.len + 0); appendString((&T36_), colontmpD__4); appendString((&T36_), result); eqsink___stdZassertions_19((&result), T36_); eqdestroy___stdZassertions_13((&colontmpD__4)); } LA34_: ; } LA28_: ; { NimStringV2 T41_; if (!negative) goto LA39_; T41_.len = 0; T41_.p = NIM_NIL; T41_ = rawNewString(xx.len + result.len + 1); appendString((&T41_), TM__qDXzsifTQdn8ucTam9cFp4w_21); appendString((&T41_), xx); appendString((&T41_), result); eqsink___stdZassertions_19((&result), T41_); } goto LA37_; LA39_: ; { NimStringV2 T45_; if (!!(((NU8)((*spec).sign) == (NU8)(45)))) goto LA43_; T45_.len = 0; T45_.p = NIM_NIL; T45_ = rawNewString(xx.len + result.len + 1); appendChar((&T45_), (*spec).sign); appendString((&T45_), xx); appendString((&T45_), result); eqsink___stdZassertions_19((&result), T45_); } goto LA37_; LA43_: ; { NimStringV2 T47_; T47_.len = 0; T47_.p = NIM_NIL; T47_ = rawNewString(xx.len + result.len + 0); appendString((&T47_), xx); appendString((&T47_), result); eqsink___stdZassertions_19((&result), T47_); } LA37_: ; { if (!((NU8)((*spec).align) == (NU8)(60))) goto LA50_; { NI i_2; NI colontmp__2; NI i_3; i_2 = (NI)0; colontmp__2 = (NI)0; colontmp__2 = result.len; i_3 = colontmp__2; { while (1) { if (!(i_3 < (*spec).minimumWidth)) goto LA54 ; i_2 = i_3; nimAddCharV1((&result), (*spec).fill); i_3 += ((NI)1); } LA54: ; } } } goto LA48_; LA50_: ; { NI toFill_2; toFill_2 = (NI)((*spec).minimumWidth - result.len); { NimStringV2 colontmpD__5; NimStringV2 colontmpD__6; NI half; NimStringV2 T60_; if (!((NU8)((*spec).align) == (NU8)(94))) goto LA58_; colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL; colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL; half = (NI)(toFill_2 / ((NI)2)); T60_.len = 0; T60_.p = NIM_NIL; colontmpD__5 = nsuRepeatChar((*spec).fill, ((NI) (half))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; colontmpD__6 = nsuRepeatChar((*spec).fill, ((NI) ((NI)(toFill_2 - half)))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T60_ = rawNewString(colontmpD__5.len + result.len + colontmpD__6.len + 0); appendString((&T60_), colontmpD__5); appendString((&T60_), result); appendString((&T60_), colontmpD__6); eqsink___stdZassertions_19((&result), T60_); eqdestroy___stdZassertions_13((&colontmpD__6)); eqdestroy___stdZassertions_13((&colontmpD__5)); } goto LA56_; LA58_: ; { { NimStringV2 colontmpD__7; NimStringV2 T66_; if (!(((NI)0) < toFill_2)) goto LA64_; colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL; T66_.len = 0; T66_.p = NIM_NIL; colontmpD__7 = nsuRepeatChar((*spec).fill, ((NI) (toFill_2))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T66_ = rawNewString(colontmpD__7.len + result.len + 0); appendString((&T66_), colontmpD__7); appendString((&T66_), result); eqsink___stdZassertions_19((&result), T66_); eqdestroy___stdZassertions_13((&colontmpD__7)); } LA64_: ; } LA56_: ; } LA48_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, formatValue__pureZterminal_210)(NimStringV2* result, NI value, NimStringV2 specifier) { NimStringV2 colontmpD_; tyObject_StandardFormatSpecifier__NDU7AW5Eu6Q69c8cH6RDouQ spec; NI radix; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); colontmpD_.len = 0; colontmpD_.p = NIM_NIL; { NimStringV2 colontmpD__2; if (!(specifier.len == ((NI)0))) goto LA4_; colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL; colontmpD__2 = dollar___systemZdollars_3(value); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; prepareAdd((&(*result)), colontmpD__2.len + 0); appendString((&(*result)), colontmpD__2); eqdestroy___stdZassertions_13((&colontmpD__2)); eqdestroy___stdZassertions_13((&colontmpD_)); goto BeforeRet_; { LA6_:; } { eqdestroy___stdZassertions_13((&colontmpD__2)); } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA4_: ; nimZeroMem((void*)(&spec), sizeof(tyObject_StandardFormatSpecifier__NDU7AW5Eu6Q69c8cH6RDouQ)); parseStandardFormatSpecifier__pureZstrformat_57(specifier, ((NI)0), NIM_FALSE, (&spec)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; radix = ((NI)10); switch (((NU8)(spec.typ))) { case 120: case 88: { radix = ((NI)16); } break; case 100: case 0: { } break; case 98: { radix = ((NI)2); } break; case 111: { radix = ((NI)8); } break; default: { tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw* T14_; NimStringV2 T15_; T14_ = NIM_NIL; T14_ = (tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw*) nimNewObj(sizeof(tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw), NIM_ALIGNOF(tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw)); (*T14_).Sup.Sup.Sup.m_type = (&NTIv2__ke0esfQKJkTSUu9bpZ7VlFw_); (*T14_).Sup.Sup.name = "ValueError"; T15_.len = 0; T15_.p = NIM_NIL; T15_ = rawNewString(93); appendString((&T15_), TM__qDXzsifTQdn8ucTam9cFp4w_7); appendChar((&T15_), spec.typ); (*T14_).Sup.Sup.message = T15_; (*T14_).Sup.Sup.parent = ((Exception*) NIM_NIL); raiseExceptionEx((Exception*)T14_, "ValueError", "formatValue", "strformat.nim", 491); goto LA1_; } break; } colontmpD_ = formatInt__pureZterminal_218(value, radix, (&spec)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; prepareAdd((&(*result)), colontmpD_.len + 0); appendString((&(*result)), colontmpD_); { LA1_:; } { eqdestroy___stdZassertions_13((&colontmpD_)); } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; }