Files
csources-nimble/nimble-linux/@m..@s..@s..@s..@s.choosenim@stoolchains@snim-@hversion-1-6@slib@ssystem@sformatfloat.nim.c

229 lines
9.2 KiB
C

/* Generated by Nim Compiler v1.6.11 */
#define NIM_INTBITS 64
#include "nimbase.h"
#include <stdio.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_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
# define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
# define nimln_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NIM_CHAR tyArray__eVNFTutn6un5gcq48fQLdg[65];
N_LIB_PRIVATE N_NIMCALL(NI, writeFloatToBufferSprintf__systemZformatfloat_59)(NIM_CHAR* buf, NF value);
N_LIB_PRIVATE N_NIMCALL(void, writeToBuffer__systemZformatfloat_51)(NIM_CHAR* buf, NCSTRING value);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_2997)(void);
static N_INLINE(void, popFrame)(void);
N_LIB_PRIVATE N_NIMCALL(void, addCstringN__systemZformatfloat_5)(NimStringDesc** result, NCSTRING buf, NI buflen);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
static N_INLINE(void, nimFrame)(TFrame* s) {
{
if (!(framePtr__system_2564 == ((TFrame*) NIM_NIL))) goto LA3_;
(*s).calldepth = ((NI16) 0);
}
goto LA1_;
LA3_: ;
{
(*s).calldepth = (NI16)((*framePtr__system_2564).calldepth + ((NI16) 1));
}
LA1_: ;
(*s).prev = framePtr__system_2564;
framePtr__system_2564 = s;
{
if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
callDepthLimitReached__system_2997();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__system_2564 = (*framePtr__system_2564).prev;
}
N_LIB_PRIVATE N_NIMCALL(void, writeToBuffer__systemZformatfloat_51)(NIM_CHAR* buf, NCSTRING value) {
NI i;
nimfr_("writeToBuffer", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
nimln_(37, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
i = ((NI) 0);
{
nimln_(38, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
while (1) {
if (!!(((NU8)(value[i]) == (NU8)(0)))) goto LA2;
nimln_(39, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
buf[(i)- 0] = value[i];
nimln_(40, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
i += ((NI) 1);
} LA2: ;
}
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(NI, writeFloatToBufferSprintf__systemZformatfloat_59)(NIM_CHAR* buf, NF value) {
NI result;
NI n;
int T1_;
NIM_BOOL hasDot;
nimfr_("writeFloatToBufferSprintf", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
result = (NI)0;
nimln_(47, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
T1_ = (int)0;
T1_ = sprintf(((NCSTRING) (buf)), "%.16g", value);
n = ((NI) (T1_));
nimln_(48, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
hasDot = NIM_FALSE;
{
NI i;
NI colontmp_;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
nimln_(49, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
colontmp_ = (NI)(n - ((NI) 1));
nimln_(90, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
res = ((NI) 0);
{
nimln_(91, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
while (1) {
if (!(res <= colontmp_)) goto LA4;
nimln_(49, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
i = res;
{
nimln_(50, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
if (!((NU8)(buf[(i)- 0]) == (NU8)(44))) goto LA7_;
nimln_(51, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
buf[(i)- 0] = 46;
nimln_(52, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
hasDot = NIM_TRUE;
}
goto LA5_;
LA7_: ;
{
nimln_(53, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
if (!(((NU8)(buf[(i)- 0])) >= ((NU8)(97)) && ((NU8)(buf[(i)- 0])) <= ((NU8)(122)) || ((NU8)(buf[(i)- 0])) >= ((NU8)(65)) && ((NU8)(buf[(i)- 0])) <= ((NU8)(90)) || ((NU8)(buf[(i)- 0])) == ((NU8)(46)))) goto LA10_;
nimln_(54, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
hasDot = NIM_TRUE;
}
goto LA5_;
LA10_: ;
LA5_: ;
nimln_(93, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
res += ((NI) 1);
} LA4: ;
}
}
nimln_(55, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
{
if (!!(hasDot)) goto LA14_;
nimln_(56, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
buf[(n)- 0] = 46;
nimln_(57, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
buf[((NI)(n + ((NI) 1)))- 0] = 48;
nimln_(58, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
buf[((NI)(n + ((NI) 2)))- 0] = 0;
nimln_(59, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
result = (NI)(n + ((NI) 2));
}
goto LA12_;
LA14_: ;
{
nimln_(61, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
result = n;
}
LA12_: ;
nimln_(65, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
{
if (!(((NU8)(buf[((NI)(n - ((NI) 1)))- 0])) == ((NU8)(110)) || ((NU8)(buf[((NI)(n - ((NI) 1)))- 0])) == ((NU8)(78)) || ((NU8)(buf[((NI)(n - ((NI) 1)))- 0])) == ((NU8)(68)) || ((NU8)(buf[((NI)(n - ((NI) 1)))- 0])) == ((NU8)(100)) || ((NU8)(buf[((NI)(n - ((NI) 1)))- 0])) == ((NU8)(41)))) goto LA19_;
nimln_(66, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
writeToBuffer__systemZformatfloat_51(buf, "nan");
nimln_(67, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
result = ((NI) 3);
}
goto LA17_;
LA19_: ;
{
nimln_(68, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
if (!((NU8)(buf[((NI)(n - ((NI) 1)))- 0]) == (NU8)(70))) goto LA22_;
nimln_(69, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
{
if (!((NU8)(buf[(((NI) 0))- 0]) == (NU8)(45))) goto LA26_;
nimln_(70, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
writeToBuffer__systemZformatfloat_51(buf, "-inf");
nimln_(71, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
result = ((NI) 4);
}
goto LA24_;
LA26_: ;
{
nimln_(73, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
writeToBuffer__systemZformatfloat_51(buf, "inf");
nimln_(74, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
result = ((NI) 3);
}
LA24_: ;
}
goto LA17_;
LA22_: ;
LA17_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addCstringN__systemZformatfloat_5)(NimStringDesc** result, NCSTRING buf, NI buflen) {
NI oldLen;
NI newLen;
void* T1_;
nimfr_("addCstringN", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
nimln_(14, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
oldLen = ((*result) ? (*result)->Sup.len : 0);
nimln_(15, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
newLen = (NI)(oldLen + buflen);
nimln_(16, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
unsureAsgnRef((void**) (&(*result)), setLengthStr((*result), ((NI) (newLen))));
nimln_(17, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
T1_ = (void*)0;
T1_ = memcpy(((void*) ((&(*result)->data[oldLen]))), ((void*) (buf)), ((size_t) (buflen)));
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, addFloatSprintf__systemZformatfloat_99)(NimStringDesc** result, NF x) {
tyArray__eVNFTutn6un5gcq48fQLdg buffer;
NI n;
nimfr_("addFloatSprintf", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
nimln_(95, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
n = writeFloatToBufferSprintf__systemZformatfloat_59(buffer, x);
nimln_(96, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/formatfloat.nim");
addCstringN__systemZformatfloat_5(result, ((NCSTRING) ((&buffer[(((NI) 0))- 0]))), n);
popFrame();
}