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

304 lines
13 KiB
C
Raw Permalink Normal View History

/* Generated by Nim Compiler v1.6.11 */
2022-09-19 09:55:15 +03:00
#define NIM_INTBITS 64
#include "nimbase.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 tyTuple__UV3llMMYFckfui8YMBuUZA tyTuple__UV3llMMYFckfui8YMBuUZA;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyTuple__UV3llMMYFckfui8YMBuUZA {
NimStringDesc* Field0;
NimStringDesc* Field1;
};
static N_INLINE(NI, emarkamp___pureZhashes_3)(NI h, NI val);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_2997)(void);
2022-09-19 09:55:15 +03:00
static N_INLINE(void, popFrame)(void);
N_LIB_PRIVATE N_NIMCALL(NI, hash__pureZhashes_279)(NimStringDesc* x);
N_LIB_PRIVATE N_NIMCALL(NI, murmurHash__pureZhashes_192)(NU8* x, NI xLen_0);
N_LIB_PRIVATE N_NOINLINE(void, raiseDivByZero)(void);
static N_INLINE(NIM_BOOL, nimDivInt)(NI a, NI b, NI* res);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
static N_INLINE(NU32, rotl32__pureZhashes_180)(NU32 x, NI r);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError)(void);
2022-09-19 09:55:15 +03:00
static N_INLINE(NI, emarkdollar___pureZhashes_18)(NI h);
N_LIB_PRIVATE N_NIMCALL(NI, hash__nimblepkgZpaths_54)(NimStringDesc* path);
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;
2022-09-19 09:55:15 +03:00
static N_INLINE(void, nimFrame)(TFrame* s) {
{
if (!(framePtr__system_2564 == ((TFrame*) NIM_NIL))) goto LA3_;
2022-09-19 09:55:15 +03:00
(*s).calldepth = ((NI16) 0);
}
goto LA1_;
LA3_: ;
{
(*s).calldepth = (NI16)((*framePtr__system_2564).calldepth + ((NI16) 1));
2022-09-19 09:55:15 +03:00
}
LA1_: ;
(*s).prev = framePtr__system_2564;
framePtr__system_2564 = s;
2022-09-19 09:55:15 +03:00
{
if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
callDepthLimitReached__system_2997();
2022-09-19 09:55:15 +03:00
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__system_2564 = (*framePtr__system_2564).prev;
2022-09-19 09:55:15 +03:00
}
static N_INLINE(NI, emarkamp___pureZhashes_3)(NI h, NI val) {
NI result;
NU h_2;
NU val_2;
NU res;
nimfr_("!&", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
result = (NI)0;
nimln_(79, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
h_2 = ((NU) (h));
nimln_(80, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
val_2 = ((NU) (val));
nimln_(81, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
res = (NU)((NU64)(h_2) + (NU64)(val_2));
nimln_(82, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
res = (NU)((NU64)(res) + (NU64)((NU)((NU64)(res) << (NU64)(((NI) 10)))));
nimln_(83, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
res = (NU)(res ^ (NU)((NU64)(res) >> (NU64)(((NI) 6))));
nimln_(84, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
result = ((NI) (res));
popFrame();
return result;
}
static N_INLINE(NIM_BOOL, nimDivInt)(NI a, NI b, NI* res) {
NIM_BOOL result;
result = (NIM_BOOL)0;
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = (a == ((NI) (IL64(-9223372036854775807) - IL64(1))));
if (!(T3_)) goto LA4_;
T3_ = (b == ((NI) -1));
LA4_: ;
if (!T3_) goto LA5_;
result = NIM_TRUE;
}
goto LA1_;
LA5_: ;
{
(*res) = (NI)(a / b);
}
LA1_: ;
return result;
}
static N_INLINE(NU32, rotl32__pureZhashes_180)(NU32 x, NI r) {
NU32 result;
NI TM__7tkD9cFJSchVDwHuwaY9bP9bA_5;
nimfr_("rotl32", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
result = (NU32)0;
nimln_(300, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
if (nimSubInt(((NI) 32), r, &TM__7tkD9cFJSchVDwHuwaY9bP9bA_5)) { raiseOverflow(); };
result = (NU32)((NU32)((NU64)(x) << (NU64)(r)) | (NU32)((NU32)(x) >> (NU64)((NI)(TM__7tkD9cFJSchVDwHuwaY9bP9bA_5))));
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, murmurHash__pureZhashes_192)(NU8* x, NI xLen_0) {
NI result;
NI size;
NI stepSize;
NI n;
NI TM__7tkD9cFJSchVDwHuwaY9bP9bA_2;
NU32 h1;
NI i;
NU32 k1_2;
NI rem;
NI TM__7tkD9cFJSchVDwHuwaY9bP9bA_6;
nimfr_("murmurHash", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
{ result = (NI)0;
nimln_(311, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
size = xLen_0;
nimln_(312, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
stepSize = ((NI) 4);
nimln_(313, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
if (stepSize == 0){ raiseDivByZero(); }
if (nimDivInt(size, stepSize, &TM__7tkD9cFJSchVDwHuwaY9bP9bA_2)) { raiseOverflow(); };
n = (NI)(TM__7tkD9cFJSchVDwHuwaY9bP9bA_2);
h1 = (NU32)0;
nimln_(316, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
i = ((NI) 0);
{
nimln_(319, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
while (1) {
NI TM__7tkD9cFJSchVDwHuwaY9bP9bA_3;
NU32 k1;
NI TM__7tkD9cFJSchVDwHuwaY9bP9bA_4;
if (nimMulInt(n, stepSize, &TM__7tkD9cFJSchVDwHuwaY9bP9bA_3)) { raiseOverflow(); };
if (!(i < (NI)(TM__7tkD9cFJSchVDwHuwaY9bP9bA_3))) goto LA2;
k1 = (NU32)0;
nimln_(327, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
if (i < 0 || i >= xLen_0){ raiseIndexError2(i,xLen_0-1); }
k1 = (*((NU32*) ((&x[i]))));
nimln_(328, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
if (nimAddInt(i, stepSize, &TM__7tkD9cFJSchVDwHuwaY9bP9bA_4)) { raiseOverflow(); };
i = (NI)(TM__7tkD9cFJSchVDwHuwaY9bP9bA_4);
nimln_(330, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
k1 = (NU32)((NU32)(k1) * (NU32)(((NU32) IL64(3432918353))));
nimln_(331, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
k1 = rotl32__pureZhashes_180(k1, ((NI) 15));
nimln_(332, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
k1 = (NU32)((NU32)(k1) * (NU32)(((NU32) 461845907)));
nimln_(334, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
h1 = (NU32)(h1 ^ k1);
nimln_(335, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
h1 = rotl32__pureZhashes_180(h1, ((NI) 13));
nimln_(336, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
h1 = (NU32)((NU32)((NU32)((NU32)(h1) * (NU32)(((NU32) 5)))) + (NU32)(((NU32) IL64(3864292196))));
} LA2: ;
}
k1_2 = (NU32)0;
nimln_(340, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
if (stepSize == 0){ raiseDivByZero(); }
if (nimModInt(size, stepSize, &TM__7tkD9cFJSchVDwHuwaY9bP9bA_6)) { raiseOverflow(); };
rem = (NI)(TM__7tkD9cFJSchVDwHuwaY9bP9bA_6);
{
nimln_(341, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
while (1) {
NI TM__7tkD9cFJSchVDwHuwaY9bP9bA_7;
NI TM__7tkD9cFJSchVDwHuwaY9bP9bA_8;
if (!(((NI) 0) < rem)) goto LA4;
nimln_(342, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
if (nimSubInt(rem, ((NI) 1), &TM__7tkD9cFJSchVDwHuwaY9bP9bA_7)) { raiseOverflow(); };
rem = (NI)(TM__7tkD9cFJSchVDwHuwaY9bP9bA_7);
nimln_(343, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
if (nimAddInt(i, rem, &TM__7tkD9cFJSchVDwHuwaY9bP9bA_8)) { raiseOverflow(); };
if ((NI)(TM__7tkD9cFJSchVDwHuwaY9bP9bA_8) < 0 || (NI)(TM__7tkD9cFJSchVDwHuwaY9bP9bA_8) >= xLen_0){ raiseIndexError2((NI)(TM__7tkD9cFJSchVDwHuwaY9bP9bA_8),xLen_0-1); }
k1_2 = (NU32)((NU32)((NU64)(k1_2) << (NU64)(((NI) 8))) | ((NU32) (x[(NI)(TM__7tkD9cFJSchVDwHuwaY9bP9bA_8)])));
} LA4: ;
}
nimln_(344, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
k1_2 = (NU32)((NU32)(k1_2) * (NU32)(((NU32) IL64(3432918353))));
nimln_(345, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
k1_2 = rotl32__pureZhashes_180(k1_2, ((NI) 15));
nimln_(346, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
k1_2 = (NU32)((NU32)(k1_2) * (NU32)(((NU32) 461845907)));
nimln_(347, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
h1 = (NU32)(h1 ^ k1_2);
nimln_(350, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
h1 = (NU32)(h1 ^ ((NU32) (size)));
nimln_(351, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
h1 = (NU32)(h1 ^ (NU32)((NU32)(h1) >> (NU64)(((NI) 16))));
nimln_(352, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
h1 = (NU32)((NU32)(h1) * (NU32)(((NU32) IL64(2246822507))));
nimln_(353, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
h1 = (NU32)(h1 ^ (NU32)((NU32)(h1) >> (NU64)(((NI) 13))));
nimln_(354, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
h1 = (NU32)((NU32)(h1) * (NU32)(((NU32) IL64(3266489909))));
nimln_(355, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
h1 = (NU32)(h1 ^ (NU32)((NU32)(h1) >> (NU64)(((NI) 16))));
nimln_(356, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
result = ((NI) (h1));
goto BeforeRet_;
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, hash__pureZhashes_279)(NimStringDesc* x) {
NI result;
nimfr_("hash", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
result = (NI)0;
nimln_(388, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
if (((x ? x->Sup.len : 0)-1)-((NI) 0) != -1 && (((NI) 0) < 0 || ((NI) 0) >= (x ? x->Sup.len : 0) || ((x ? x->Sup.len : 0)-1) < 0 || ((x ? x->Sup.len : 0)-1) >= (x ? x->Sup.len : 0))){ raiseIndexError(); }
result = murmurHash__pureZhashes_192(((x) ? ((NU8*)x->data+(((NI) 0))) : NIM_NIL), (((x ? x->Sup.len : 0)-1))-(((NI) 0))+1);
2022-09-19 09:55:15 +03:00
popFrame();
return result;
}
static N_INLINE(NI, emarkdollar___pureZhashes_18)(NI h) {
NI result;
NU h_2;
NU res;
nimfr_("!$", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
result = (NI)0;
nimln_(90, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
h_2 = ((NU) (h));
nimln_(91, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
res = (NU)((NU64)(h_2) + (NU64)((NU)((NU64)(h_2) << (NU64)(((NI) 3)))));
nimln_(92, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
res = (NU)(res ^ (NU)((NU64)(res) >> (NU64)(((NI) 11))));
nimln_(93, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
res = (NU)((NU64)(res) + (NU64)((NU)((NU64)(res) << (NU64)(((NI) 15)))));
nimln_(94, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
result = ((NI) (res));
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, hash__nimblepkgZcli_200)(tyTuple__UV3llMMYFckfui8YMBuUZA x) {
NI result;
NI T1_;
NI T2_;
nimfr_("hash", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
result = (NI)0;
nimln_(556, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
T1_ = (NI)0;
T1_ = hash__pureZhashes_279(x.Field0);
result = emarkamp___pureZhashes_3(result, T1_);
T2_ = (NI)0;
T2_ = hash__pureZhashes_279(x.Field1);
result = emarkamp___pureZhashes_3(result, T2_);
nimln_(557, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
result = emarkdollar___pureZhashes_18(result);
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, hash__nimblepkgZdevelopfile_14103)(tyTuple__UV3llMMYFckfui8YMBuUZA x) {
NI result;
NI T1_;
NI T2_;
nimfr_("hash", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
result = (NI)0;
nimln_(556, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
T1_ = (NI)0;
T1_ = hash__nimblepkgZpaths_54(x.Field0);
result = emarkamp___pureZhashes_3(result, T1_);
T2_ = (NI)0;
T2_ = hash__nimblepkgZpaths_54(x.Field1);
result = emarkamp___pureZhashes_3(result, T2_);
nimln_(557, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/hashes.nim");
2022-09-19 09:55:15 +03:00
result = emarkdollar___pureZhashes_18(result);
popFrame();
return result;
}