Example #1
0
N_NIMCALL(NI, Rawparseint_22945)(NimStringDesc* S_22947, NI64* B_22949, NI Start_22950) {
NI Result_22951;
NI64 Sign_22952;
NI I_22953;
NI64 TMP195651;NI TMP195652;NI64 TMP195653;NI64 TMP195654;NI TMP195655;Result_22951 = 0;
Sign_22952 = 0;
Sign_22952 = -1;
I_22953 = 0;
I_22953 = Start_22950;
if (!((NU8)(S_22947->data[I_22953]) == (NU8)(43))) goto LA2;
I_22953 = addInt(I_22953, 1);
goto LA1;
LA2: ;
if (!((NU8)(S_22947->data[I_22953]) == (NU8)(45))) goto LA4;
I_22953 = addInt(I_22953, 1);
Sign_22952 = 1;
goto LA1;
LA4: ;
LA1: ;
if (!(((NU8)(S_22947->data[I_22953])) >= ((NU8)(48)) && ((NU8)(S_22947->data[I_22953])) <= ((NU8)(57)))) goto LA7;
(*B_22949) = 0;
while (1) {
if (!(((NU8)(S_22947->data[I_22953])) >= ((NU8)(48)) && ((NU8)(S_22947->data[I_22953])) <= ((NU8)(57)))) goto LA9;
TMP195651 = mulInt64((*B_22949), 10);TMP195652 = subInt(((NU8)(S_22947->data[I_22953])), 48);TMP195653 = subInt64((NI64)(TMP195651), ((NI64) ((NI32)(TMP195652))));(*B_22949) = (NI64)(TMP195653);
I_22953 = addInt(I_22953, 1);
while (1) {
if (!((NU8)(S_22947->data[I_22953]) == (NU8)(95))) goto LA10;
I_22953 = addInt(I_22953, 1);
} LA10: ;
} LA9: ;
TMP195654 = mulInt64((*B_22949), Sign_22952);(*B_22949) = (NI64)(TMP195654);
TMP195655 = subInt(I_22953, Start_22950);Result_22951 = (NI32)(TMP195655);
LA7: ;
return Result_22951;
}
N_NIMCALL(NI, rawparseint_88611)(NimStringDesc* s, NI64* b, NI start) {
	NI result;
	NI64 sign;
	NI i;
	result = 0;
	sign = -1;
	i = start;
	{
		if (!((NU8)(s->data[i]) == (NU8)(43))) goto LA3;
		i = addInt(i, 1);
	}
	goto LA1;
	LA3: ;
	{
		if (!((NU8)(s->data[i]) == (NU8)(45))) goto LA6;
		i = addInt(i, 1);
		sign = 1;
	}
	goto LA1;
	LA6: ;
	LA1: ;
	{
		NI64 TMP173;
		NI TMP174;
		if (!(((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57)))) goto LA10;
		(*b) = 0;
		{
			while (1) {
				NI64 TMP170;
				NI TMP171;
				NI64 TMP172;
				if (!(((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57)))) goto LA13;
				TMP170 = mulInt64((*b), 10);
				TMP171 = subInt(((NI) (((NU8)(s->data[i])))), 48);
				TMP172 = subInt64((NI64)(TMP170), ((NI64) ((NI64)(TMP171))));
				(*b) = (NI64)(TMP172);
				i = addInt(i, 1);
				{
					while (1) {
						if (!((NU8)(s->data[i]) == (NU8)(95))) goto LA15;
						i = addInt(i, 1);
					} LA15: ;
				}
			} LA13: ;
		}
		TMP173 = mulInt64((*b), sign);
		(*b) = (NI64)(TMP173);
		TMP174 = subInt(i, start);
		result = (NI64)(TMP174);
	}
	LA10: ;
	return result;
}
Example #3
0
N_NIMCALL(NI, rawparseint_93914)(NimStringDesc* s, NI64* b, NI start) {
	NI result;
	NI64 sign;
	NI i;
	nimfr("rawParseInt", "parseutils.nim")
	result = 0;
	nimln(194, "parseutils.nim");
	sign = IL64(-1);
	nimln(195, "parseutils.nim");
	i = start;
	nimln(196, "parseutils.nim");
	{
		NI TMP274;
		if ((NU)(i) > (NU)(s->Sup.len)) raiseIndexError();
		if (!((NU8)(s->data[i]) == (NU8)(43))) goto LA3;
		TMP274 = addInt(i, ((NI) 1));
		i = (NI)(TMP274);
	}
	goto LA1;
	LA3: ;
	{
		NI TMP275;
		nimln(197, "parseutils.nim");
		if ((NU)(i) > (NU)(s->Sup.len)) raiseIndexError();
		if (!((NU8)(s->data[i]) == (NU8)(45))) goto LA6;
		nimln(198, "parseutils.nim");
		TMP275 = addInt(i, ((NI) 1));
		i = (NI)(TMP275);
		nimln(199, "parseutils.nim");
		sign = IL64(1);
	}
	goto LA1;
	LA6: ;
	LA1: ;
	nimln(200, "parseutils.nim");
	{
		NI64 TMP281;
		NI TMP282;
		if ((NU)(i) > (NU)(s->Sup.len)) raiseIndexError();
		if (!(((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57)))) goto LA10;
		nimln(201, "parseutils.nim");
		(*b) = IL64(0);
		{
			nimln(202, "parseutils.nim");
			while (1) {
				NI64 TMP276;
				NI TMP277;
				NI64 TMP278;
				NI TMP279;
				if ((NU)(i) > (NU)(s->Sup.len)) raiseIndexError();
				if (!(((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57)))) goto LA13;
				nimln(203, "parseutils.nim");
				TMP276 = mulInt64((*b), IL64(10));
				if ((NU)(i) > (NU)(s->Sup.len)) raiseIndexError();
				TMP277 = subInt(((NI) (((NU8)(s->data[i])))), ((NI) 48));
				TMP278 = subInt64((NI64)(TMP276), ((NI64) ((NI)(TMP277))));
				(*b) = (NI64)(TMP278);
				nimln(204, "parseutils.nim");
				TMP279 = addInt(i, ((NI) 1));
				i = (NI)(TMP279);
				{
					nimln(205, "parseutils.nim");
					while (1) {
						NI TMP280;
						if ((NU)(i) > (NU)(s->Sup.len)) raiseIndexError();
						if (!((NU8)(s->data[i]) == (NU8)(95))) goto LA15;
						TMP280 = addInt(i, ((NI) 1));
						i = (NI)(TMP280);
					} LA15: ;
				}
			} LA13: ;
		}
		nimln(206, "parseutils.nim");
		TMP281 = mulInt64((*b), sign);
		(*b) = (NI64)(TMP281);
		nimln(207, "parseutils.nim");
		TMP282 = subInt(i, start);
		result = (NI)(TMP282);
	}
	LA10: ;
	popFrame();
	return result;
}
Example #4
0
N_NIMCALL(NI64, decodevbiggestint_178495)(NCSTRING s, NI* pos) {
	NI64 result;
	NI i_178502;
	NI sign_178504;
	NI64 TMP2119;
	nimfr("decodeVBiggestInt", "rodutils.nim")
	result = 0;
	nimln(101, "rodutils.nim");
	i_178502 = (*pos);
	nimln(102, "rodutils.nim");
	sign_178504 = -1;
	nimln(103, "rodutils.nim");
	{
		nimln(103, "rodutils.nim");
		nimln(103, "rodutils.nim");
		if (!!((((NU8)(s[i_178502])) >= ((NU8)(97)) && ((NU8)(s[i_178502])) <= ((NU8)(122)) || ((NU8)(s[i_178502])) >= ((NU8)(65)) && ((NU8)(s[i_178502])) <= ((NU8)(90)) || ((NU8)(s[i_178502])) >= ((NU8)(48)) && ((NU8)(s[i_178502])) <= ((NU8)(57)) || ((NU8)(s[i_178502])) == ((NU8)(45)) || ((NU8)(s[i_178502])) >= ((NU8)(128)) && ((NU8)(s[i_178502])) <= ((NU8)(255))))) goto LA3;
		nimln(103, "rodutils.nim");
		hiddenraiseassert_76217(((NimStringDesc*) &TMP2087));	}	LA3: ;
	nimln(104, "rodutils.nim");
	{
		nimln(104, "rodutils.nim");
		if (!((NU8)(s[i_178502]) == (NU8)(45))) goto LA7;
		nimln(105, "rodutils.nim");
		i_178502 = addInt(i_178502, 1);
		nimln(106, "rodutils.nim");
		sign_178504 = 1;
	}	LA7: ;
	nimln(107, "rodutils.nim");
	result = 0;
	nimln(108, "rodutils.nim");
	while (1) {
		nimln(109, "rodutils.nim");
		switch (((NU8)(s[i_178502]))) {
		case 48 ... 57:
		{
			NI64 TMP2104;
			NI TMP2105;
			NI64 TMP2106;
			nimln(110, "rodutils.nim");
			nimln(110, "rodutils.nim");
			nimln(110, "rodutils.nim");
			TMP2104 = mulInt64(result, 190);
			nimln(110, "rodutils.nim");
			nimln(110, "rodutils.nim");
			TMP2105 = subInt(((NI) (((NU8)(s[i_178502])))), 48);
			TMP2106 = subInt64((NI64)(TMP2104), ((NI64) ((NI32)(TMP2105))));
			result = (NI64)(TMP2106);
		}		break;
		case 97 ... 122:
		{
			NI64 TMP2107;
			NI TMP2108;
			NI TMP2109;
			NI64 TMP2110;
			nimln(111, "rodutils.nim");
			nimln(111, "rodutils.nim");
			nimln(111, "rodutils.nim");
			TMP2107 = mulInt64(result, 190);
			nimln(111, "rodutils.nim");
			nimln(111, "rodutils.nim");
			nimln(111, "rodutils.nim");
			TMP2108 = subInt(((NI) (((NU8)(s[i_178502])))), 97);
			TMP2109 = addInt(((NI) ((NI32)(TMP2108))), 10);
			TMP2110 = subInt64((NI64)(TMP2107), ((NI64) ((NI32)(TMP2109))));
			result = (NI64)(TMP2110);
		}		break;
		case 65 ... 90:
		{
			NI64 TMP2111;
			NI TMP2112;
			NI TMP2113;
			NI64 TMP2114;
			nimln(112, "rodutils.nim");
			nimln(112, "rodutils.nim");
			nimln(112, "rodutils.nim");
			TMP2111 = mulInt64(result, 190);
			nimln(112, "rodutils.nim");
			nimln(112, "rodutils.nim");
			nimln(112, "rodutils.nim");
			TMP2112 = subInt(((NI) (((NU8)(s[i_178502])))), 65);
			TMP2113 = addInt(((NI) ((NI32)(TMP2112))), 36);
			TMP2114 = subInt64((NI64)(TMP2111), ((NI64) ((NI32)(TMP2113))));
			result = (NI64)(TMP2114);
		}		break;
		case 128 ... 255:
		{
			NI64 TMP2115;
			NI TMP2116;
			NI TMP2117;
			NI64 TMP2118;
			nimln(113, "rodutils.nim");
			nimln(113, "rodutils.nim");
			nimln(113, "rodutils.nim");
			TMP2115 = mulInt64(result, 190);
			nimln(113, "rodutils.nim");
			nimln(113, "rodutils.nim");
			nimln(113, "rodutils.nim");
			TMP2116 = subInt(((NI) (((NU8)(s[i_178502])))), 128);
			TMP2117 = addInt(((NI) ((NI32)(TMP2116))), 62);
			TMP2118 = subInt64((NI64)(TMP2115), ((NI64) ((NI32)(TMP2117))));
			result = (NI64)(TMP2118);
		}		break;
		default:
		{
			nimln(114, "rodutils.nim");
			goto LA9;
		}		break;
		}
		nimln(115, "rodutils.nim");
		i_178502 = addInt(i_178502, 1);
	} LA9: ;
	nimln(116, "rodutils.nim");
	nimln(116, "rodutils.nim");
	nimln(116, "rodutils.nim");
	TMP2119 = mulInt64(result, ((NI64) (sign_178504)));
	result = (NI64)((NU64)((NI64)(TMP2119)) - (NU64)(5));
	nimln(117, "rodutils.nim");
	(*pos) = i_178502;
	popFrame();
	return result;
}N_NOINLINE(void, compilerrodutilsInit)(void) {
Example #5
0
N_NIMCALL(NI64, decodevbiggestint_199530)(NCSTRING s, NI* pos) {
	NI64 result;
	NI i_199537;
	NI sign_199539;
	NI64 TMP2153;
	nimfr("decodeVBiggestInt", "rodutils.nim")
	result = 0;
	nimln(101, "rodutils.nim");
	i_199537 = (*pos);
	nimln(102, "rodutils.nim");
	sign_199539 = -1;
	nimln(103, "rodutils.nim");
	{
		nimln(103, "rodutils.nim");
		nimln(103, "rodutils.nim");
		if (!!((((NU8)(s[i_199537])) >= ((NU8)(97)) && ((NU8)(s[i_199537])) <= ((NU8)(122)) || ((NU8)(s[i_199537])) >= ((NU8)(65)) && ((NU8)(s[i_199537])) <= ((NU8)(90)) || ((NU8)(s[i_199537])) >= ((NU8)(48)) && ((NU8)(s[i_199537])) <= ((NU8)(57)) || ((NU8)(s[i_199537])) == ((NU8)(45)) || ((NU8)(s[i_199537])) >= ((NU8)(128)) && ((NU8)(s[i_199537])) <= ((NU8)(255))))) goto LA3;
		nimln(103, "rodutils.nim");
		failedassertimpl_80421(((NimStringDesc*) &TMP2121));
	}
	LA3: ;
	nimln(104, "rodutils.nim");
	{
		nimln(104, "rodutils.nim");
		if (!((NU8)(s[i_199537]) == (NU8)(45))) goto LA7;
		nimln(105, "rodutils.nim");
		i_199537 = addInt(i_199537, 1);
		nimln(106, "rodutils.nim");
		sign_199539 = 1;
	}
	LA7: ;
	nimln(107, "rodutils.nim");
	result = 0;
	nimln(108, "rodutils.nim");
	while (1) {
		nimln(109, "rodutils.nim");
		switch (((NU8)(s[i_199537]))) {
		case 48 ... 57:
		{
			NI64 TMP2138;
			NI TMP2139;
			NI64 TMP2140;
			nimln(110, "rodutils.nim");
			nimln(110, "rodutils.nim");
			nimln(110, "rodutils.nim");
			TMP2138 = mulInt64(result, 190);
			nimln(110, "rodutils.nim");
			nimln(110, "rodutils.nim");
			TMP2139 = subInt(((NI) (((NU8)(s[i_199537])))), 48);
			TMP2140 = subInt64((NI64)(TMP2138), ((NI64) ((NI32)(TMP2139))));
			result = (NI64)(TMP2140);
		}
		break;
		case 97 ... 122:
		{
			NI64 TMP2141;
			NI TMP2142;
			NI TMP2143;
			NI64 TMP2144;
			nimln(111, "rodutils.nim");
			nimln(111, "rodutils.nim");
			nimln(111, "rodutils.nim");
			TMP2141 = mulInt64(result, 190);
			nimln(111, "rodutils.nim");
			nimln(111, "rodutils.nim");
			nimln(111, "rodutils.nim");
			TMP2142 = subInt(((NI) (((NU8)(s[i_199537])))), 97);
			TMP2143 = addInt(((NI) ((NI32)(TMP2142))), 10);
			TMP2144 = subInt64((NI64)(TMP2141), ((NI64) ((NI32)(TMP2143))));
			result = (NI64)(TMP2144);
		}
		break;
		case 65 ... 90:
		{
			NI64 TMP2145;
			NI TMP2146;
			NI TMP2147;
			NI64 TMP2148;
			nimln(112, "rodutils.nim");
			nimln(112, "rodutils.nim");
			nimln(112, "rodutils.nim");
			TMP2145 = mulInt64(result, 190);
			nimln(112, "rodutils.nim");
			nimln(112, "rodutils.nim");
			nimln(112, "rodutils.nim");
			TMP2146 = subInt(((NI) (((NU8)(s[i_199537])))), 65);
			TMP2147 = addInt(((NI) ((NI32)(TMP2146))), 36);
			TMP2148 = subInt64((NI64)(TMP2145), ((NI64) ((NI32)(TMP2147))));
			result = (NI64)(TMP2148);
		}
		break;
		case 128 ... 255:
		{
			NI64 TMP2149;
			NI TMP2150;
			NI TMP2151;
			NI64 TMP2152;
			nimln(113, "rodutils.nim");
			nimln(113, "rodutils.nim");
			nimln(113, "rodutils.nim");
			TMP2149 = mulInt64(result, 190);
			nimln(113, "rodutils.nim");
			nimln(113, "rodutils.nim");
			nimln(113, "rodutils.nim");
			TMP2150 = subInt(((NI) (((NU8)(s[i_199537])))), 128);
			TMP2151 = addInt(((NI) ((NI32)(TMP2150))), 62);
			TMP2152 = subInt64((NI64)(TMP2149), ((NI64) ((NI32)(TMP2151))));
			result = (NI64)(TMP2152);
		}
		break;
		default:
		{
			nimln(114, "rodutils.nim");
			goto LA9;
		}
		break;
		}
		nimln(115, "rodutils.nim");
		i_199537 = addInt(i_199537, 1);
	} LA9: ;
	nimln(116, "rodutils.nim");
	nimln(116, "rodutils.nim");
	nimln(116, "rodutils.nim");
	TMP2153 = mulInt64(result, ((NI64) (sign_199539)));
	result = (NI64)((NU64)((NI64)(TMP2153)) - (NU64)(5));
	nimln(117, "rodutils.nim");
	(*pos) = i_199537;
	popFrame();
	return result;
}
Example #6
0
N_NIMCALL(NI, rawparseint_80973)(NimStringDesc* s, NI64* b, NI start) {
	NI result;
	NI64 sign;
	NI i;
	nimfr("rawParseInt", "parseutils.nim")
	result = 0;
	nimln(194, "parseutils.nim");
	sign = -1;
	nimln(195, "parseutils.nim");
	i = start;
	nimln(196, "parseutils.nim");
	{
		nimln(196, "parseutils.nim");
		if ((NU)(i) > (NU)(s->Sup.len)) raiseIndexError();
		if (!((NU8)(s->data[i]) == (NU8)(43))) goto LA3;
		nimln(196, "parseutils.nim");
		i = addInt(i, 1);
	}	goto LA1;
	LA3: ;
	{
		nimln(197, "parseutils.nim");
		if ((NU)(i) > (NU)(s->Sup.len)) raiseIndexError();
		if (!((NU8)(s->data[i]) == (NU8)(45))) goto LA6;
		nimln(198, "parseutils.nim");
		i = addInt(i, 1);
		nimln(199, "parseutils.nim");
		sign = 1;
	}	goto LA1;
	LA6: ;
	LA1: ;
	nimln(200, "parseutils.nim");
	{
		NI64 TMP1112;
		NI TMP1113;
		nimln(730, "system.nim");
		if ((NU)(i) > (NU)(s->Sup.len)) raiseIndexError();
		if (!(((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57)))) goto LA10;
		nimln(201, "parseutils.nim");
		(*b) = 0;
		nimln(202, "parseutils.nim");
		while (1) {
			NI64 TMP1109;
			NI TMP1110;
			NI64 TMP1111;
			nimln(730, "system.nim");
			if ((NU)(i) > (NU)(s->Sup.len)) raiseIndexError();
			if (!(((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57)))) goto LA12;
			nimln(203, "parseutils.nim");
			nimln(203, "parseutils.nim");
			nimln(203, "parseutils.nim");
			TMP1109 = mulInt64((*b), 10);
			nimln(203, "parseutils.nim");
			nimln(203, "parseutils.nim");
			if ((NU)(i) > (NU)(s->Sup.len)) raiseIndexError();
			TMP1110 = subInt(((NI) (((NU8)(s->data[i])))), 48);
			TMP1111 = subInt64((NI64)(TMP1109), ((NI64) ((NI64)(TMP1110))));
			(*b) = (NI64)(TMP1111);
			nimln(204, "parseutils.nim");
			i = addInt(i, 1);
			nimln(205, "parseutils.nim");
			while (1) {
				nimln(205, "parseutils.nim");
				if ((NU)(i) > (NU)(s->Sup.len)) raiseIndexError();
				if (!((NU8)(s->data[i]) == (NU8)(95))) goto LA13;
				nimln(205, "parseutils.nim");
				i = addInt(i, 1);
			} LA13: ;
		} LA12: ;
		nimln(206, "parseutils.nim");
		nimln(206, "parseutils.nim");
		TMP1112 = mulInt64((*b), sign);
		(*b) = (NI64)(TMP1112);
		nimln(207, "parseutils.nim");
		nimln(207, "parseutils.nim");
		TMP1113 = subInt(i, start);
		result = (NI64)(TMP1113);
	}	LA10: ;
	popFrame();
	return result;
}
Example #7
0
N_NIMCALL(NI, rawparseint_96114)(NimStringDesc* s, NI64* b, NI start) {
	NI result;
	NI64 sign;
	NI i;
	nimfr("rawParseInt", "parseutils.nim")
	result = 0;
	nimln(194, "parseutils.nim");
	sign = IL64(-1);
	nimln(195, "parseutils.nim");
	i = start;
	nimln(196, "parseutils.nim");
	{
		NI TMP285;
		if ((NU)(i) > (NU)(s->Sup.len)) raiseIndexError();
		if (!((NU8)(s->data[i]) == (NU8)(43))) goto LA3;
		TMP285 = addInt(i, ((NI) 1));
		i = (NI)(TMP285);
	}
	goto LA1;
	LA3: ;
	{
		NI TMP286;
		nimln(197, "parseutils.nim");
		if ((NU)(i) > (NU)(s->Sup.len)) raiseIndexError();
		if (!((NU8)(s->data[i]) == (NU8)(45))) goto LA6;
		nimln(198, "parseutils.nim");
		TMP286 = addInt(i, ((NI) 1));
		i = (NI)(TMP286);
		nimln(199, "parseutils.nim");
		sign = IL64(1);
	}
	goto LA1;
	LA6: ;
	LA1: ;
	nimln(200, "parseutils.nim");
	{
		NI64 TMP292;
		NI TMP293;
		if ((NU)(i) > (NU)(s->Sup.len)) raiseIndexError();
		if (!(((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57)))) goto LA10;
		nimln(201, "parseutils.nim");
		(*b) = IL64(0);
		{
			nimln(202, "parseutils.nim");
			while (1) {
				NI64 TMP287;
				NI TMP288;
				NI64 TMP289;
				NI TMP290;
				if ((NU)(i) > (NU)(s->Sup.len)) raiseIndexError();
				if (!(((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57)))) goto LA13;
				nimln(203, "parseutils.nim");
				TMP287 = mulInt64((*b), IL64(10));
				if ((NU)(i) > (NU)(s->Sup.len)) raiseIndexError();
				TMP288 = subInt(((NI) (((NU8)(s->data[i])))), ((NI) 48));
				TMP289 = subInt64((NI64)(TMP287), ((NI64) ((NI)(TMP288))));
				(*b) = (NI64)(TMP289);
				nimln(204, "parseutils.nim");
				TMP290 = addInt(i, ((NI) 1));
				i = (NI)(TMP290);
				{
					nimln(205, "parseutils.nim");
					while (1) {
						NI TMP291;
						if ((NU)(i) > (NU)(s->Sup.len)) raiseIndexError();
						if (!((NU8)(s->data[i]) == (NU8)(95))) goto LA15;
						TMP291 = addInt(i, ((NI) 1));
						i = (NI)(TMP291);
					} LA15: ;
				}
			} LA13: ;
		}
		nimln(206, "parseutils.nim");
		TMP292 = mulInt64((*b), sign);
		(*b) = (NI64)(TMP292);
		nimln(207, "parseutils.nim");
		TMP293 = subInt(i, start);
		result = (NI)(TMP293);
	}
	LA10: ;
	popFrame();
	return result;
}
Example #8
0
N_NIMCALL(NI, rawparseint_92914)(NimStringDesc* s, NI64* b, NI start) {
	NI result;
	NI64 sign;
	NI i;
	result = 0;
	sign = IL64(-1);
	i = start;
	{
		NI TMP1131;
		if (!((NU8)(s->data[i]) == (NU8)(43))) goto LA3;
		TMP1131 = addInt(i, ((NI) 1));
		i = (NI)(TMP1131);
	}
	goto LA1;
	LA3: ;
	{
		NI TMP1132;
		if (!((NU8)(s->data[i]) == (NU8)(45))) goto LA6;
		TMP1132 = addInt(i, ((NI) 1));
		i = (NI)(TMP1132);
		sign = IL64(1);
	}
	goto LA1;
	LA6: ;
	LA1: ;
	{
		NI64 TMP1138;
		NI TMP1139;
		if (!(((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57)))) goto LA10;
		(*b) = IL64(0);
		{
			while (1) {
				NI64 TMP1133;
				NI TMP1134;
				NI64 TMP1135;
				NI TMP1136;
				if (!(((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57)))) goto LA13;
				TMP1133 = mulInt64((*b), IL64(10));
				TMP1134 = subInt(((NI) (((NU8)(s->data[i])))), ((NI) 48));
				TMP1135 = subInt64((NI64)(TMP1133), ((NI64) ((NI)(TMP1134))));
				(*b) = (NI64)(TMP1135);
				TMP1136 = addInt(i, ((NI) 1));
				i = (NI)(TMP1136);
				{
					while (1) {
						NI TMP1137;
						if (!((NU8)(s->data[i]) == (NU8)(95))) goto LA15;
						TMP1137 = addInt(i, ((NI) 1));
						i = (NI)(TMP1137);
					} LA15: ;
				}
			} LA13: ;
		}
		TMP1138 = mulInt64((*b), sign);
		(*b) = (NI64)(TMP1138);
		TMP1139 = subInt(i, start);
		result = (NI)(TMP1139);
	}
	LA10: ;
	return result;
}