csources_v2/c_code/2_9/@m..@slib@spure@scollections@ssets.nim.c
2022-12-16 10:54:01 +08:00

1689 lines
52 KiB
C

/* Generated by Nim Compiler v1.9.0 */
#define NIM_INTBITS 64
#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 tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content tySequence__4eRCaZmrYLLw2k30GPTiMw_Content;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
typedef struct tySequence__Bis5AbpONWcIRrPyPJS8Yw tySequence__Bis5AbpONWcIRrPyPJS8Yw;
typedef struct tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content;
typedef struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ tyTuple__NAaJgGVgNmlGoqmiWxdOHQ;
typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
typedef struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w;
typedef struct tyObject_HashSet__ozdCMJv0qf50Rbb4ExJGdQ tyObject_HashSet__ozdCMJv0qf50Rbb4ExJGdQ;
typedef struct tySequence__CjiF6qhVnW77uIpIJIHh4g tySequence__CjiF6qhVnW77uIpIJIHh4g;
typedef struct tySequence__CjiF6qhVnW77uIpIJIHh4g_Content tySequence__CjiF6qhVnW77uIpIJIHh4g_Content;
typedef struct tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg;
typedef struct tyTuple__Q7CgtBIIaP8AXsO59brAMtw tyTuple__Q7CgtBIIaP8AXsO59brAMtw;
typedef struct tySequence__WPcy3bORPBFlmk2KIq2pbQ tySequence__WPcy3bORPBFlmk2KIq2pbQ;
typedef struct tySequence__WPcy3bORPBFlmk2KIq2pbQ_Content tySequence__WPcy3bORPBFlmk2KIq2pbQ_Content;
typedef struct tyTuple__a1QJSSO0LTGR9bFH59c2xGCA tyTuple__a1QJSSO0LTGR9bFH59c2xGCA;
typedef struct tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A;
typedef struct tyObject_HashSet__40dyVlPkk51NaeSZiqO2Nw tyObject_HashSet__40dyVlPkk51NaeSZiqO2Nw;
typedef struct tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw;
typedef struct tySequence__wrWQccISxQegvhlY18rdnw tySequence__wrWQccISxQegvhlY18rdnw;
typedef struct tySequence__wrWQccISxQegvhlY18rdnw_Content tySequence__wrWQccISxQegvhlY18rdnw_Content;
typedef struct tyTuple__Ss72DYPHpb9a9bqskL9cokvpA tyTuple__Ss72DYPHpb9a9bqskL9cokvpA;
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
NI len; tySequence__4eRCaZmrYLLw2k30GPTiMw_Content* p;
};
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
NI Field0;
NimStringV2 Field1;
};
struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
tySequence__4eRCaZmrYLLw2k30GPTiMw data;
NI counter;
};
struct tySequence__Bis5AbpONWcIRrPyPJS8Yw {
NI len; tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content* p;
};
struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
NI Field0;
NI Field1;
};
struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ {
NI Field0;
tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ Field1;
};
struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w {
tySequence__Bis5AbpONWcIRrPyPJS8Yw data;
NI counter;
};
struct tySequence__CjiF6qhVnW77uIpIJIHh4g {
NI len; tySequence__CjiF6qhVnW77uIpIJIHh4g_Content* p;
};
struct tyObject_HashSet__ozdCMJv0qf50Rbb4ExJGdQ {
tySequence__CjiF6qhVnW77uIpIJIHh4g data;
NI counter;
};
struct tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg {
NU16 line;
NI16 col;
NI32 fileIndex;
};
struct tyTuple__Q7CgtBIIaP8AXsO59brAMtw {
NI Field0;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg Field1;
};
struct tySequence__WPcy3bORPBFlmk2KIq2pbQ {
NI len; tySequence__WPcy3bORPBFlmk2KIq2pbQ_Content* p;
};
typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
struct tyTuple__a1QJSSO0LTGR9bFH59c2xGCA {
NI Field0;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
};
struct tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A {
tySequence__WPcy3bORPBFlmk2KIq2pbQ data;
NI counter;
};
struct tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw {
NI32 module;
NI32 item;
};
struct tySequence__wrWQccISxQegvhlY18rdnw {
NI len; tySequence__wrWQccISxQegvhlY18rdnw_Content* p;
};
struct tyObject_HashSet__40dyVlPkk51NaeSZiqO2Nw {
tySequence__wrWQccISxQegvhlY18rdnw data;
NI counter;
};
struct tyTuple__Ss72DYPHpb9a9bqskL9cokvpA {
NI Field0;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw Field1;
};
#ifndef tySequence__4eRCaZmrYLLw2k30GPTiMw_Content_PP
#define tySequence__4eRCaZmrYLLw2k30GPTiMw_Content_PP
struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content { NI cap; tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__4eRCaZmrYLLw2k30GPTiMw_Content_PP
#define tySequence__4eRCaZmrYLLw2k30GPTiMw_Content_PP
struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content { NI cap; tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content_PP
#define tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content_PP
struct tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content { NI cap; tyTuple__NAaJgGVgNmlGoqmiWxdOHQ data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content_PP
#define tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content_PP
struct tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content { NI cap; tyTuple__NAaJgGVgNmlGoqmiWxdOHQ data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__CjiF6qhVnW77uIpIJIHh4g_Content_PP
#define tySequence__CjiF6qhVnW77uIpIJIHh4g_Content_PP
struct tySequence__CjiF6qhVnW77uIpIJIHh4g_Content { NI cap; tyTuple__Q7CgtBIIaP8AXsO59brAMtw data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__CjiF6qhVnW77uIpIJIHh4g_Content_PP
#define tySequence__CjiF6qhVnW77uIpIJIHh4g_Content_PP
struct tySequence__CjiF6qhVnW77uIpIJIHh4g_Content { NI cap; tyTuple__Q7CgtBIIaP8AXsO59brAMtw data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__WPcy3bORPBFlmk2KIq2pbQ_Content_PP
#define tySequence__WPcy3bORPBFlmk2KIq2pbQ_Content_PP
struct tySequence__WPcy3bORPBFlmk2KIq2pbQ_Content { NI cap; tyTuple__a1QJSSO0LTGR9bFH59c2xGCA data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__WPcy3bORPBFlmk2KIq2pbQ_Content_PP
#define tySequence__WPcy3bORPBFlmk2KIq2pbQ_Content_PP
struct tySequence__WPcy3bORPBFlmk2KIq2pbQ_Content { NI cap; tyTuple__a1QJSSO0LTGR9bFH59c2xGCA data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__wrWQccISxQegvhlY18rdnw_Content_PP
#define tySequence__wrWQccISxQegvhlY18rdnw_Content_PP
struct tySequence__wrWQccISxQegvhlY18rdnw_Content { NI cap; tyTuple__Ss72DYPHpb9a9bqskL9cokvpA data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__wrWQccISxQegvhlY18rdnw_Content_PP
#define tySequence__wrWQccISxQegvhlY18rdnw_Content_PP
struct tySequence__wrWQccISxQegvhlY18rdnw_Content { NI cap; tyTuple__Ss72DYPHpb9a9bqskL9cokvpA data[SEQ_DECL_SIZE];};
#endif
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZassertions_13)(NimStringV2* dest);
N_LIB_PRIVATE N_NIMCALL(void, alignedDealloc)(void* p, NI align);
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, init__options_2544)(tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg* s, NI initialSize);
static N_INLINE(NI, slotsNeeded__pureZcollectionsZsets_51)(NI count);
N_LIB_PRIVATE N_NIMCALL(NI, nextPowerOfTwo__pureZmath_184)(NI x);
N_LIB_PRIVATE N_NIMCALL(void, newSeq__options_2560)(tySequence__4eRCaZmrYLLw2k30GPTiMw* s, NI len);
static N_INLINE(NI, rawGet__options_3501)(tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg t, NimStringV2 key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(NI, hash__pureZhashes_297)(NimStringV2 x);
static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZsets_40)(NI hcode);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a, NimStringV2 b);
static N_INLINE(NIM_BOOL, equalMem__system_1727)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
static N_INLINE(NI, nextTry__pureZcollectionsZsets_43)(NI h, NI maxHash);
static N_INLINE(NIM_BOOL, mustRehash__options_3760)(tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__options_3952)(tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg* s);
static N_INLINE(NI, rawGetKnownHC__options_4203)(tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg t, NimStringV2 key, NI hc);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__options_4565)(tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg* s, tySequence__4eRCaZmrYLLw2k30GPTiMw* data, NimStringV2 key, NI hc, NI h);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___stdZassertions_16)(NimStringV2* dest, NimStringV2 src);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___options_2683)(tySequence__4eRCaZmrYLLw2k30GPTiMw* dest);
static N_INLINE(NI, rawGet__sigmatch_6383)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w t, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(NI, hash__sigmatch_6390)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ x);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___sigmatch_6637)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ x, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ y);
static N_INLINE(NI, rawGet__nilcheck_5613)(tyObject_HashSet__ozdCMJv0qf50Rbb4ExJGdQ t, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(NI, hash__lineinfos_265)(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg i);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___msgs_1048)(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg a, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg b);
N_LIB_PRIVATE N_NIMCALL(void, newSeq__nilcheck_6082)(tySequence__CjiF6qhVnW77uIpIJIHh4g* s, NI len);
static N_INLINE(NIM_BOOL, mustRehash__nilcheck_6109)(tyObject_HashSet__ozdCMJv0qf50Rbb4ExJGdQ t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__nilcheck_6301)(tyObject_HashSet__ozdCMJv0qf50Rbb4ExJGdQ* s);
static N_INLINE(NI, rawGetKnownHC__nilcheck_6552)(tyObject_HashSet__ozdCMJv0qf50Rbb4ExJGdQ t, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg key, NI hc);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__nilcheck_6914)(tyObject_HashSet__ozdCMJv0qf50Rbb4ExJGdQ* s, tySequence__CjiF6qhVnW77uIpIJIHh4g* data, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg key, NI hc, NI h);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_5869)(tySequence__CjiF6qhVnW77uIpIJIHh4g* dest);
N_LIB_PRIVATE N_NIMCALL(void, newSeq__importer_315)(tySequence__Bis5AbpONWcIRrPyPJS8Yw* s, NI len);
static N_INLINE(NIM_BOOL, mustRehash__importer_342)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__importer_534)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w* s);
static N_INLINE(NI, rawGetKnownHC__importer_785)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w t, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key, NI hc);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__importer_1151)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w* s, tySequence__Bis5AbpONWcIRrPyPJS8Yw* data, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key, NI hc, NI h);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___semdata_1567)(tySequence__Bis5AbpONWcIRrPyPJS8Yw* dest);
N_LIB_PRIVATE N_NIMCALL(void, newSeq__cgen_4140)(tySequence__WPcy3bORPBFlmk2KIq2pbQ* s, NI len);
static N_INLINE(NI, rawGet__cgen_4160)(tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(NI, hash__modulegraphs_8492)(tyArray__qtqsWM5aXmcpMIVmvq3kAA u);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___modulegraphs_8488)(tyArray__qtqsWM5aXmcpMIVmvq3kAA a, tyArray__qtqsWM5aXmcpMIVmvq3kAA b);
static N_INLINE(NIM_BOOL, mustRehash__cgen_4416)(tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__cgen_4608)(tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A* s);
static N_INLINE(NI, rawGetKnownHC__cgen_4859)(tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI hc);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__cgen_5221)(tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A* s, tySequence__WPcy3bORPBFlmk2KIq2pbQ* data, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI hc, NI h);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___cgendata_956)(tySequence__WPcy3bORPBFlmk2KIq2pbQ* dest);
N_LIB_PRIVATE N_NIMCALL(void, newSeq__icZintegrity_101)(tySequence__wrWQccISxQegvhlY18rdnw* s, NI len);
static N_INLINE(NI, rawGet__icZintegrity_214)(tyObject_HashSet__40dyVlPkk51NaeSZiqO2Nw t, tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(NI, hash__ast_792)(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw x);
static N_INLINE(NIM_BOOL, eqeq___ast_788)(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw a, tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw b);
static N_INLINE(NIM_BOOL, mustRehash__icZintegrity_311)(tyObject_HashSet__40dyVlPkk51NaeSZiqO2Nw t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__icZintegrity_389)(tyObject_HashSet__40dyVlPkk51NaeSZiqO2Nw* s);
static N_INLINE(NI, rawGetKnownHC__icZintegrity_455)(tyObject_HashSet__40dyVlPkk51NaeSZiqO2Nw t, tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw key, NI hc);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__icZintegrity_534)(tyObject_HashSet__40dyVlPkk51NaeSZiqO2Nw* s, tySequence__wrWQccISxQegvhlY18rdnw* data, tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw key, NI hc, NI h);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___icZintegrity_284)(tySequence__wrWQccISxQegvhlY18rdnw* dest);
extern NIM_BOOL nimInErrorMode__system_3980;
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___options_2683)(tySequence__4eRCaZmrYLLw2k30GPTiMw* dest) {
NI colontmp_;
colontmp_ = ((NI)0);
{
while (1) {
NI T3_;
T3_ = (*dest).len;
if (!(colontmp_ < T3_)) goto LA2 ;
eqdestroy___stdZassertions_13((&(*dest).p->data[colontmp_].Field1));
colontmp_ += ((NI)1);
} LA2: ;
}
if ((*dest).p && !((*dest).p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc((*dest).p, NIM_ALIGNOF(tyTuple__QeWl6B6ffS4pU6WWrtcrDw));
}
}
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_3980);
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(NI, slotsNeeded__pureZcollectionsZsets_51)(NI count) {
NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
result = nextPowerOfTwo__pureZmath_184((NI)((NI)((NI)(((NI) (count)) * ((NI)3)) / ((NI)2)) + ((NI)4)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___options_2652)(tyTuple__QeWl6B6ffS4pU6WWrtcrDw* dest, tyTuple__QeWl6B6ffS4pU6WWrtcrDw src) {
(*dest).Field0 = src.Field0;
if ((*dest).Field1.p != src.Field1.p) { eqdestroy___stdZassertions_13((&(*dest).Field1));
}
(*dest).Field1.len = src.Field1.len; (*dest).Field1.p = src.Field1.p;
}
N_LIB_PRIVATE N_NIMCALL(void, init__options_2544)(tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg* s, NI initialSize) {
NI correctSizeX60gensym32_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
correctSizeX60gensym32_ = slotsNeeded__pureZcollectionsZsets_51(((NI) (initialSize)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*s).counter = ((NI)0);
newSeq__options_2560((&(*s).data), ((NI) (correctSizeX60gensym32_)));
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg, initHashSet__options_2536)(NI initialSize) {
tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
nimZeroMem((void*)(&result), sizeof(tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg));
init__options_2544((&result), initialSize);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZsets_40)(NI hcode) {
NIM_BOOL result;
result = (NIM_BOOL)0;
result = !((hcode == ((NI)0)));
return result;
}
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
int result;
result = (int)0;
result = memcmp(a, b, ((size_t) (size)));
return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_1727)(void* a, void* b, NI size) {
NIM_BOOL result;
int T1_;
result = (NIM_BOOL)0;
T1_ = (int)0;
T1_ = nimCmpMem(a, b, size);
result = (T1_ == ((NI32)0));
return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a, NimStringV2 b) {
NIM_BOOL result;
NI alen;
NI blen;
{ result = (NIM_BOOL)0;
alen = a.len;
blen = b.len;
{
if (!(alen == blen)) goto LA3_;
{
if (!(alen == ((NI)0))) goto LA7_;
result = NIM_TRUE;
goto BeforeRet_;
}
LA7_: ;
result = equalMem__system_1727(((void*) ((&a.p->data[((NI)0)]))), ((void*) ((&b.p->data[((NI)0)]))), ((NI) (alen)));
goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
return result;
}
static N_INLINE(NI, nextTry__pureZcollectionsZsets_43)(NI h, NI maxHash) {
NI result;
result = (NI)0;
result = (NI)((NI)(h + ((NI)1)) & maxHash);
return result;
}
static N_INLINE(NI, rawGet__options_3501)(tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg t, NimStringV2 key, NI* hc) {
NI result;
NI T1_;
NI h;
NI T11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
T1_ = (NI)0;
T1_ = hash__pureZhashes_297(key);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*hc) = T1_;
{
if (!((*hc) == ((NI)0))) goto LA4_;
(*hc) = ((NI)314159265);
}
LA4_: ;
{
NI T8_;
T8_ = t.data.len;
if (!(T8_ == ((NI)0))) goto LA9_;
result = ((NI)-1);
goto BeforeRet_;
}
LA9_: ;
T11_ = (t.data.len-1);
h = (NI)((*hc) & T11_);
{
while (1) {
NIM_BOOL T14_;
NI T21_;
T14_ = (NIM_BOOL)0;
T14_ = isFilled__pureZcollectionsZsets_40(t.data.p->data[h].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T14_) goto LA13 ;
{
NIM_BOOL T17_;
T17_ = (NIM_BOOL)0;
T17_ = (t.data.p->data[h].Field0 == (*hc));
if (!(T17_)) goto LA18_;
T17_ = eqStrings(t.data.p->data[h].Field1, key);
LA18_: ;
if (!T17_) goto LA19_;
result = h;
goto BeforeRet_;
}
LA19_: ;
T21_ = (t.data.len-1);
h = nextTry__pureZcollectionsZsets_43(h, T21_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA13: ;
}
result = (NI)(((NI)-1) - h);
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, mustRehash__options_3760)(tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg t) {
NIM_BOOL result;
NIM_BOOL T1_;
NI T2_;
NI T4_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T2_ = t.data.len;
T1_ = ((NI)(T2_ * ((NI)2)) < (NI)(t.counter * ((NI)3)));
if (T1_) goto LA3_;
T4_ = t.data.len;
T1_ = ((NI)(T4_ - t.counter) < ((NI)4));
LA3_: ;
result = T1_;
return result;
}
static N_INLINE(NI, rawGetKnownHC__options_4203)(tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg t, NimStringV2 key, NI hc) {
NI result;
NI h;
NI T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
{
NI T3_;
T3_ = t.data.len;
if (!(T3_ == ((NI)0))) goto LA4_;
result = ((NI)-1);
goto BeforeRet_;
}
LA4_: ;
T6_ = (t.data.len-1);
h = (NI)(hc & T6_);
{
while (1) {
NIM_BOOL T9_;
NI T16_;
T9_ = (NIM_BOOL)0;
T9_ = isFilled__pureZcollectionsZsets_40(t.data.p->data[h].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T9_) goto LA8 ;
{
NIM_BOOL T12_;
T12_ = (NIM_BOOL)0;
T12_ = (t.data.p->data[h].Field0 == hc);
if (!(T12_)) goto LA13_;
T12_ = eqStrings(t.data.p->data[h].Field1, key);
LA13_: ;
if (!T12_) goto LA14_;
result = h;
goto BeforeRet_;
}
LA14_: ;
T16_ = (t.data.len-1);
h = nextTry__pureZcollectionsZsets_43(h, T16_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA8: ;
}
result = (NI)(((NI)-1) - h);
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__options_4565)(tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg* s, tySequence__4eRCaZmrYLLw2k30GPTiMw* data, NimStringV2 key, NI hc, NI h) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI T3_;
NI correctSizeX60gensym43_;
T3_ = (*data).len;
if (!(T3_ == ((NI)0))) goto LA4_;
correctSizeX60gensym43_ = slotsNeeded__pureZcollectionsZsets_51(((NI)64));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*s).counter = ((NI)0);
newSeq__options_2560((&(*s).data), ((NI) (correctSizeX60gensym43_)));
}
LA4_: ;
eqcopy___stdZassertions_16((&(*data).p->data[h].Field1), key);
(*data).p->data[h].Field0 = hc;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__options_3952)(tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg* s) {
tySequence__4eRCaZmrYLLw2k30GPTiMw n;
NI T1_;
tySequence__4eRCaZmrYLLw2k30GPTiMw T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
n.len = 0; n.p = NIM_NIL;
T1_ = (*s).data.len;
newSeq__options_2560((&n), ((NI) ((NI)(T1_ * ((NI)2)))));
T2_.len = 0; T2_.p = NIM_NIL;
T2_ = (*s).data;
(*s).data = n;
n = T2_;
{
NI i;
NI colontmp_;
NI T4_;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
T4_ = (n.len-1);
colontmp_ = T4_;
res = ((NI)0);
{
while (1) {
if (!(res <= colontmp_)) goto LA6 ;
i = res;
{
NIM_BOOL T9_;
NI j;
NI T12_;
tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg* T13_;
T9_ = (NIM_BOOL)0;
T9_ = isFilled__pureZcollectionsZsets_40(n.p->data[i].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T9_) goto LA10_;
T12_ = (NI)0;
T12_ = rawGetKnownHC__options_4203((*s), n.p->data[i].Field1, n.p->data[i].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
j = (NI)(((NI)-1) - T12_);
T13_ = (tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg*)0;
T13_ = s;
rawInsert__options_4565(T13_, (&(*s).data), n.p->data[i].Field1, n.p->data[i].Field0, j);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA10_: ;
res += ((NI)1);
} LA6: ;
}
}
eqdestroy___options_2683((&n));
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, incl__options_3415)(tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg* s, NimStringV2 key) {
NI hc;
NI index;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI T3_;
NI correctSizeX60gensym34_;
T3_ = (*s).data.len;
if (!(T3_ == ((NI)0))) goto LA4_;
correctSizeX60gensym34_ = slotsNeeded__pureZcollectionsZsets_51(((NI)64));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*s).counter = ((NI)0);
newSeq__options_2560((&(*s).data), ((NI) (correctSizeX60gensym34_)));
}
LA4_: ;
hc = (NI)0;
index = rawGet__options_3501((*s), key, (&hc));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg* T15_;
if (!(index < ((NI)0))) goto LA8_;
{
NIM_BOOL T12_;
T12_ = (NIM_BOOL)0;
T12_ = mustRehash__options_3760((*s));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T12_) goto LA13_;
enlarge__options_3952(s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
index = rawGetKnownHC__options_4203((*s), key, hc);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA13_: ;
T15_ = (tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg*)0;
T15_ = s;
rawInsert__options_4565(T15_, (&(*s).data), key, hc, (NI)(((NI)-1) - index));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*s).counter += ((NI)1);
}
LA8_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___semdata_1567)(tySequence__Bis5AbpONWcIRrPyPJS8Yw* dest) {
if ((*dest).p && !((*dest).p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc((*dest).p, NIM_ALIGNOF(tyTuple__NAaJgGVgNmlGoqmiWxdOHQ));
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___semdata_1576)(tySequence__Bis5AbpONWcIRrPyPJS8Yw* dest, void* env) {
}
static N_INLINE(NI, rawGet__sigmatch_6383)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w t, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key, NI* hc) {
NI result;
NI T1_;
NI h;
NI T11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
T1_ = (NI)0;
T1_ = hash__sigmatch_6390(key);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*hc) = T1_;
{
if (!((*hc) == ((NI)0))) goto LA4_;
(*hc) = ((NI)314159265);
}
LA4_: ;
{
NI T8_;
T8_ = t.data.len;
if (!(T8_ == ((NI)0))) goto LA9_;
result = ((NI)-1);
goto BeforeRet_;
}
LA9_: ;
T11_ = (t.data.len-1);
h = (NI)((*hc) & T11_);
{
while (1) {
NIM_BOOL T14_;
NI T21_;
T14_ = (NIM_BOOL)0;
T14_ = isFilled__pureZcollectionsZsets_40(t.data.p->data[h].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T14_) goto LA13 ;
{
NIM_BOOL T17_;
T17_ = (NIM_BOOL)0;
T17_ = (t.data.p->data[h].Field0 == (*hc));
if (!(T17_)) goto LA18_;
T17_ = eqeq___sigmatch_6637(t.data.p->data[h].Field1, key);
LA18_: ;
if (!T17_) goto LA19_;
result = h;
goto BeforeRet_;
}
LA19_: ;
T21_ = (t.data.len-1);
h = nextTry__pureZcollectionsZsets_43(h, T21_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA13: ;
}
result = (NI)(((NI)-1) - h);
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__sigmatch_6370)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w s, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key) {
NIM_BOOL result;
NI hc;
NI index;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
hc = (NI)0;
index = rawGet__sigmatch_6383(s, key, (&hc));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = (((NI)0) <= index);
}BeforeRet_: ;
return result;
}
static N_INLINE(NI, rawGet__nilcheck_5613)(tyObject_HashSet__ozdCMJv0qf50Rbb4ExJGdQ t, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg key, NI* hc) {
NI result;
NI T1_;
NI h;
NI T11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
T1_ = (NI)0;
T1_ = hash__lineinfos_265(key);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*hc) = T1_;
{
if (!((*hc) == ((NI)0))) goto LA4_;
(*hc) = ((NI)314159265);
}
LA4_: ;
{
NI T8_;
T8_ = t.data.len;
if (!(T8_ == ((NI)0))) goto LA9_;
result = ((NI)-1);
goto BeforeRet_;
}
LA9_: ;
T11_ = (t.data.len-1);
h = (NI)((*hc) & T11_);
{
while (1) {
NIM_BOOL T14_;
NI T21_;
T14_ = (NIM_BOOL)0;
T14_ = isFilled__pureZcollectionsZsets_40(t.data.p->data[h].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T14_) goto LA13 ;
{
NIM_BOOL T17_;
T17_ = (NIM_BOOL)0;
T17_ = (t.data.p->data[h].Field0 == (*hc));
if (!(T17_)) goto LA18_;
T17_ = eqeq___msgs_1048(t.data.p->data[h].Field1, key);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA18_: ;
if (!T17_) goto LA19_;
result = h;
goto BeforeRet_;
}
LA19_: ;
T21_ = (t.data.len-1);
h = nextTry__pureZcollectionsZsets_43(h, T21_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA13: ;
}
result = (NI)(((NI)-1) - h);
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__nilcheck_5600)(tyObject_HashSet__ozdCMJv0qf50Rbb4ExJGdQ s, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg key) {
NIM_BOOL result;
NI hc;
NI index;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
hc = (NI)0;
index = rawGet__nilcheck_5613(s, key, (&hc));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = (((NI)0) <= index);
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, mustRehash__nilcheck_6109)(tyObject_HashSet__ozdCMJv0qf50Rbb4ExJGdQ t) {
NIM_BOOL result;
NIM_BOOL T1_;
NI T2_;
NI T4_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T2_ = t.data.len;
T1_ = ((NI)(T2_ * ((NI)2)) < (NI)(t.counter * ((NI)3)));
if (T1_) goto LA3_;
T4_ = t.data.len;
T1_ = ((NI)(T4_ - t.counter) < ((NI)4));
LA3_: ;
result = T1_;
return result;
}
static N_INLINE(NI, rawGetKnownHC__nilcheck_6552)(tyObject_HashSet__ozdCMJv0qf50Rbb4ExJGdQ t, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg key, NI hc) {
NI result;
NI h;
NI T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
{
NI T3_;
T3_ = t.data.len;
if (!(T3_ == ((NI)0))) goto LA4_;
result = ((NI)-1);
goto BeforeRet_;
}
LA4_: ;
T6_ = (t.data.len-1);
h = (NI)(hc & T6_);
{
while (1) {
NIM_BOOL T9_;
NI T16_;
T9_ = (NIM_BOOL)0;
T9_ = isFilled__pureZcollectionsZsets_40(t.data.p->data[h].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T9_) goto LA8 ;
{
NIM_BOOL T12_;
T12_ = (NIM_BOOL)0;
T12_ = (t.data.p->data[h].Field0 == hc);
if (!(T12_)) goto LA13_;
T12_ = eqeq___msgs_1048(t.data.p->data[h].Field1, key);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA13_: ;
if (!T12_) goto LA14_;
result = h;
goto BeforeRet_;
}
LA14_: ;
T16_ = (t.data.len-1);
h = nextTry__pureZcollectionsZsets_43(h, T16_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA8: ;
}
result = (NI)(((NI)-1) - h);
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__nilcheck_6914)(tyObject_HashSet__ozdCMJv0qf50Rbb4ExJGdQ* s, tySequence__CjiF6qhVnW77uIpIJIHh4g* data, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg key, NI hc, NI h) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI T3_;
NI correctSizeX60gensym48_;
T3_ = (*data).len;
if (!(T3_ == ((NI)0))) goto LA4_;
correctSizeX60gensym48_ = slotsNeeded__pureZcollectionsZsets_51(((NI)64));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*s).counter = ((NI)0);
newSeq__nilcheck_6082((&(*s).data), ((NI) (correctSizeX60gensym48_)));
}
LA4_: ;
(*data).p->data[h].Field1 = key;
(*data).p->data[h].Field0 = hc;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___nilcheck_5869)(tySequence__CjiF6qhVnW77uIpIJIHh4g* dest) {
if ((*dest).p && !((*dest).p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc((*dest).p, NIM_ALIGNOF(tyTuple__Q7CgtBIIaP8AXsO59brAMtw));
}
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__nilcheck_6301)(tyObject_HashSet__ozdCMJv0qf50Rbb4ExJGdQ* s) {
tySequence__CjiF6qhVnW77uIpIJIHh4g n;
NI T1_;
tySequence__CjiF6qhVnW77uIpIJIHh4g T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
n.len = 0; n.p = NIM_NIL;
T1_ = (*s).data.len;
newSeq__nilcheck_6082((&n), ((NI) ((NI)(T1_ * ((NI)2)))));
T2_.len = 0; T2_.p = NIM_NIL;
T2_ = (*s).data;
(*s).data = n;
n = T2_;
{
NI i;
NI colontmp_;
NI T4_;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
T4_ = (n.len-1);
colontmp_ = T4_;
res = ((NI)0);
{
while (1) {
if (!(res <= colontmp_)) goto LA6 ;
i = res;
{
NIM_BOOL T9_;
NI j;
NI T12_;
tyObject_HashSet__ozdCMJv0qf50Rbb4ExJGdQ* T13_;
T9_ = (NIM_BOOL)0;
T9_ = isFilled__pureZcollectionsZsets_40(n.p->data[i].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T9_) goto LA10_;
T12_ = (NI)0;
T12_ = rawGetKnownHC__nilcheck_6552((*s), n.p->data[i].Field1, n.p->data[i].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
j = (NI)(((NI)-1) - T12_);
T13_ = (tyObject_HashSet__ozdCMJv0qf50Rbb4ExJGdQ*)0;
T13_ = s;
rawInsert__nilcheck_6914(T13_, (&(*s).data), n.p->data[i].Field1, n.p->data[i].Field0, j);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA10_: ;
res += ((NI)1);
} LA6: ;
}
}
eqdestroy___nilcheck_5869((&n));
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, incl__nilcheck_6008)(tyObject_HashSet__ozdCMJv0qf50Rbb4ExJGdQ* s, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg key) {
NI hc;
NI index;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI T3_;
NI correctSizeX60gensym41_;
T3_ = (*s).data.len;
if (!(T3_ == ((NI)0))) goto LA4_;
correctSizeX60gensym41_ = slotsNeeded__pureZcollectionsZsets_51(((NI)64));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*s).counter = ((NI)0);
newSeq__nilcheck_6082((&(*s).data), ((NI) (correctSizeX60gensym41_)));
}
LA4_: ;
hc = (NI)0;
index = rawGet__nilcheck_5613((*s), key, (&hc));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_HashSet__ozdCMJv0qf50Rbb4ExJGdQ* T15_;
if (!(index < ((NI)0))) goto LA8_;
{
NIM_BOOL T12_;
T12_ = (NIM_BOOL)0;
T12_ = mustRehash__nilcheck_6109((*s));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T12_) goto LA13_;
enlarge__nilcheck_6301(s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
index = rawGetKnownHC__nilcheck_6552((*s), key, hc);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA13_: ;
T15_ = (tyObject_HashSet__ozdCMJv0qf50Rbb4ExJGdQ*)0;
T15_ = s;
rawInsert__nilcheck_6914(T15_, (&(*s).data), key, hc, (NI)(((NI)-1) - index));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*s).counter += ((NI)1);
}
LA8_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___nilcheck_5878)(tySequence__CjiF6qhVnW77uIpIJIHh4g* dest, void* env) {
}
static N_INLINE(NIM_BOOL, mustRehash__importer_342)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w t) {
NIM_BOOL result;
NIM_BOOL T1_;
NI T2_;
NI T4_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T2_ = t.data.len;
T1_ = ((NI)(T2_ * ((NI)2)) < (NI)(t.counter * ((NI)3)));
if (T1_) goto LA3_;
T4_ = t.data.len;
T1_ = ((NI)(T4_ - t.counter) < ((NI)4));
LA3_: ;
result = T1_;
return result;
}
static N_INLINE(NI, rawGetKnownHC__importer_785)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w t, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key, NI hc) {
NI result;
NI h;
NI T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
{
NI T3_;
T3_ = t.data.len;
if (!(T3_ == ((NI)0))) goto LA4_;
result = ((NI)-1);
goto BeforeRet_;
}
LA4_: ;
T6_ = (t.data.len-1);
h = (NI)(hc & T6_);
{
while (1) {
NIM_BOOL T9_;
NI T16_;
T9_ = (NIM_BOOL)0;
T9_ = isFilled__pureZcollectionsZsets_40(t.data.p->data[h].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T9_) goto LA8 ;
{
NIM_BOOL T12_;
T12_ = (NIM_BOOL)0;
T12_ = (t.data.p->data[h].Field0 == hc);
if (!(T12_)) goto LA13_;
T12_ = eqeq___sigmatch_6637(t.data.p->data[h].Field1, key);
LA13_: ;
if (!T12_) goto LA14_;
result = h;
goto BeforeRet_;
}
LA14_: ;
T16_ = (t.data.len-1);
h = nextTry__pureZcollectionsZsets_43(h, T16_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA8: ;
}
result = (NI)(((NI)-1) - h);
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__importer_1151)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w* s, tySequence__Bis5AbpONWcIRrPyPJS8Yw* data, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key, NI hc, NI h) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI T3_;
NI correctSizeX60gensym36_;
T3_ = (*data).len;
if (!(T3_ == ((NI)0))) goto LA4_;
correctSizeX60gensym36_ = slotsNeeded__pureZcollectionsZsets_51(((NI)64));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*s).counter = ((NI)0);
newSeq__importer_315((&(*s).data), ((NI) (correctSizeX60gensym36_)));
}
LA4_: ;
(*data).p->data[h].Field1 = key;
(*data).p->data[h].Field0 = hc;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__importer_534)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w* s) {
tySequence__Bis5AbpONWcIRrPyPJS8Yw n;
NI T1_;
tySequence__Bis5AbpONWcIRrPyPJS8Yw T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
n.len = 0; n.p = NIM_NIL;
T1_ = (*s).data.len;
newSeq__importer_315((&n), ((NI) ((NI)(T1_ * ((NI)2)))));
T2_.len = 0; T2_.p = NIM_NIL;
T2_ = (*s).data;
(*s).data = n;
n = T2_;
{
NI i;
NI colontmp_;
NI T4_;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
T4_ = (n.len-1);
colontmp_ = T4_;
res = ((NI)0);
{
while (1) {
if (!(res <= colontmp_)) goto LA6 ;
i = res;
{
NIM_BOOL T9_;
NI j;
NI T12_;
tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w* T13_;
T9_ = (NIM_BOOL)0;
T9_ = isFilled__pureZcollectionsZsets_40(n.p->data[i].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T9_) goto LA10_;
T12_ = (NI)0;
T12_ = rawGetKnownHC__importer_785((*s), n.p->data[i].Field1, n.p->data[i].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
j = (NI)(((NI)-1) - T12_);
T13_ = (tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w*)0;
T13_ = s;
rawInsert__importer_1151(T13_, (&(*s).data), n.p->data[i].Field1, n.p->data[i].Field0, j);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA10_: ;
res += ((NI)1);
} LA6: ;
}
}
eqdestroy___semdata_1567((&n));
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, incl__importer_241)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w* s, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key) {
NI hc;
NI index;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI T3_;
NI correctSizeX60gensym29_;
T3_ = (*s).data.len;
if (!(T3_ == ((NI)0))) goto LA4_;
correctSizeX60gensym29_ = slotsNeeded__pureZcollectionsZsets_51(((NI)64));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*s).counter = ((NI)0);
newSeq__importer_315((&(*s).data), ((NI) (correctSizeX60gensym29_)));
}
LA4_: ;
hc = (NI)0;
index = rawGet__sigmatch_6383((*s), key, (&hc));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w* T15_;
if (!(index < ((NI)0))) goto LA8_;
{
NIM_BOOL T12_;
T12_ = (NIM_BOOL)0;
T12_ = mustRehash__importer_342((*s));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T12_) goto LA13_;
enlarge__importer_534(s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
index = rawGetKnownHC__importer_785((*s), key, hc);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA13_: ;
T15_ = (tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w*)0;
T15_ = s;
rawInsert__importer_1151(T15_, (&(*s).data), key, hc, (NI)(((NI)-1) - index));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*s).counter += ((NI)1);
}
LA8_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___cgendata_956)(tySequence__WPcy3bORPBFlmk2KIq2pbQ* dest) {
if ((*dest).p && !((*dest).p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc((*dest).p, NIM_ALIGNOF(tyTuple__a1QJSSO0LTGR9bFH59c2xGCA));
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___cgendata_965)(tySequence__WPcy3bORPBFlmk2KIq2pbQ* dest, void* env) {
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__cgen_713)(tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg s, NimStringV2 key) {
NIM_BOOL result;
NI hc;
NI index;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
hc = (NI)0;
index = rawGet__options_3501(s, key, (&hc));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = (((NI)0) <= index);
}BeforeRet_: ;
return result;
}
static N_INLINE(NI, rawGet__cgen_4160)(tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI* hc) {
NI result;
NI T1_;
NI h;
NI T11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
T1_ = (NI)0;
T1_ = hash__modulegraphs_8492(key);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*hc) = T1_;
{
if (!((*hc) == ((NI)0))) goto LA4_;
(*hc) = ((NI)314159265);
}
LA4_: ;
{
NI T8_;
T8_ = t.data.len;
if (!(T8_ == ((NI)0))) goto LA9_;
result = ((NI)-1);
goto BeforeRet_;
}
LA9_: ;
T11_ = (t.data.len-1);
h = (NI)((*hc) & T11_);
{
while (1) {
NIM_BOOL T14_;
NI T21_;
T14_ = (NIM_BOOL)0;
T14_ = isFilled__pureZcollectionsZsets_40(t.data.p->data[h].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T14_) goto LA13 ;
{
NIM_BOOL T17_;
T17_ = (NIM_BOOL)0;
T17_ = (t.data.p->data[h].Field0 == (*hc));
if (!(T17_)) goto LA18_;
T17_ = eqeq___modulegraphs_8488(t.data.p->data[h].Field1, key);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA18_: ;
if (!T17_) goto LA19_;
result = h;
goto BeforeRet_;
}
LA19_: ;
T21_ = (t.data.len-1);
h = nextTry__pureZcollectionsZsets_43(h, T21_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA13: ;
}
result = (NI)(((NI)-1) - h);
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, mustRehash__cgen_4416)(tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A t) {
NIM_BOOL result;
NIM_BOOL T1_;
NI T2_;
NI T4_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T2_ = t.data.len;
T1_ = ((NI)(T2_ * ((NI)2)) < (NI)(t.counter * ((NI)3)));
if (T1_) goto LA3_;
T4_ = t.data.len;
T1_ = ((NI)(T4_ - t.counter) < ((NI)4));
LA3_: ;
result = T1_;
return result;
}
static N_INLINE(NI, rawGetKnownHC__cgen_4859)(tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI hc) {
NI result;
NI h;
NI T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
{
NI T3_;
T3_ = t.data.len;
if (!(T3_ == ((NI)0))) goto LA4_;
result = ((NI)-1);
goto BeforeRet_;
}
LA4_: ;
T6_ = (t.data.len-1);
h = (NI)(hc & T6_);
{
while (1) {
NIM_BOOL T9_;
NI T16_;
T9_ = (NIM_BOOL)0;
T9_ = isFilled__pureZcollectionsZsets_40(t.data.p->data[h].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T9_) goto LA8 ;
{
NIM_BOOL T12_;
T12_ = (NIM_BOOL)0;
T12_ = (t.data.p->data[h].Field0 == hc);
if (!(T12_)) goto LA13_;
T12_ = eqeq___modulegraphs_8488(t.data.p->data[h].Field1, key);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA13_: ;
if (!T12_) goto LA14_;
result = h;
goto BeforeRet_;
}
LA14_: ;
T16_ = (t.data.len-1);
h = nextTry__pureZcollectionsZsets_43(h, T16_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA8: ;
}
result = (NI)(((NI)-1) - h);
}BeforeRet_: ;
return result;
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memcpy(dest, source, ((size_t) (size)));
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__cgen_5221)(tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A* s, tySequence__WPcy3bORPBFlmk2KIq2pbQ* data, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI hc, NI h) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI T3_;
NI correctSizeX60gensym425_;
T3_ = (*data).len;
if (!(T3_ == ((NI)0))) goto LA4_;
correctSizeX60gensym425_ = slotsNeeded__pureZcollectionsZsets_51(((NI)64));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*s).counter = ((NI)0);
newSeq__cgen_4140((&(*s).data), ((NI) (correctSizeX60gensym425_)));
}
LA4_: ;
nimCopyMem((void*)(*data).p->data[h].Field1, (NIM_CONST void*)key, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
(*data).p->data[h].Field0 = hc;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__cgen_4608)(tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A* s) {
tySequence__WPcy3bORPBFlmk2KIq2pbQ n;
NI T1_;
tySequence__WPcy3bORPBFlmk2KIq2pbQ T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
n.len = 0; n.p = NIM_NIL;
T1_ = (*s).data.len;
newSeq__cgen_4140((&n), ((NI) ((NI)(T1_ * ((NI)2)))));
T2_.len = 0; T2_.p = NIM_NIL;
T2_ = (*s).data;
(*s).data = n;
n = T2_;
{
NI i;
NI colontmp_;
NI T4_;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
T4_ = (n.len-1);
colontmp_ = T4_;
res = ((NI)0);
{
while (1) {
if (!(res <= colontmp_)) goto LA6 ;
i = res;
{
NIM_BOOL T9_;
NI j;
NI T12_;
tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A* T13_;
T9_ = (NIM_BOOL)0;
T9_ = isFilled__pureZcollectionsZsets_40(n.p->data[i].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T9_) goto LA10_;
T12_ = (NI)0;
T12_ = rawGetKnownHC__cgen_4859((*s), n.p->data[i].Field1, n.p->data[i].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
j = (NI)(((NI)-1) - T12_);
T13_ = (tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A*)0;
T13_ = s;
rawInsert__cgen_5221(T13_, (&(*s).data), n.p->data[i].Field1, n.p->data[i].Field0, j);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA10_: ;
res += ((NI)1);
} LA6: ;
}
}
eqdestroy___cgendata_956((&n));
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__cgen_4065)(tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A* s, tyArray__qtqsWM5aXmcpMIVmvq3kAA key) {
NIM_BOOL result;
NI hc;
NI index;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
{
NI T3_;
NI correctSizeX60gensym416_;
T3_ = (*s).data.len;
if (!(T3_ == ((NI)0))) goto LA4_;
correctSizeX60gensym416_ = slotsNeeded__pureZcollectionsZsets_51(((NI)64));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*s).counter = ((NI)0);
newSeq__cgen_4140((&(*s).data), ((NI) (correctSizeX60gensym416_)));
}
LA4_: ;
hc = (NI)0;
index = rawGet__cgen_4160((*s), key, (&hc));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!(((NI)0) <= index)) goto LA8_;
result = NIM_TRUE;
}
goto LA6_;
LA8_: ;
{
tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A* T16_;
{
NIM_BOOL T13_;
T13_ = (NIM_BOOL)0;
T13_ = mustRehash__cgen_4416((*s));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T13_) goto LA14_;
enlarge__cgen_4608(s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
index = rawGetKnownHC__cgen_4859((*s), key, hc);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA14_: ;
T16_ = (tyObject_HashSet__LWqBPbJi8sAUtgObUDu34A*)0;
T16_ = s;
rawInsert__cgen_5221(T16_, (&(*s).data), key, hc, (NI)(((NI)-1) - index));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*s).counter += ((NI)1);
}
LA6_: ;
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, eqeq___ast_788)(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw a, tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw b) {
NIM_BOOL result;
NIM_BOOL T1_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = (a.item == b.item);
if (!(T1_)) goto LA2_;
T1_ = (a.module == b.module);
LA2_: ;
result = T1_;
return result;
}
static N_INLINE(NI, rawGet__icZintegrity_214)(tyObject_HashSet__40dyVlPkk51NaeSZiqO2Nw t, tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw key, NI* hc) {
NI result;
NI T1_;
NI h;
NI T11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
T1_ = (NI)0;
T1_ = hash__ast_792(key);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*hc) = T1_;
{
if (!((*hc) == ((NI)0))) goto LA4_;
(*hc) = ((NI)314159265);
}
LA4_: ;
{
NI T8_;
T8_ = t.data.len;
if (!(T8_ == ((NI)0))) goto LA9_;
result = ((NI)-1);
goto BeforeRet_;
}
LA9_: ;
T11_ = (t.data.len-1);
h = (NI)((*hc) & T11_);
{
while (1) {
NIM_BOOL T14_;
NI T21_;
T14_ = (NIM_BOOL)0;
T14_ = isFilled__pureZcollectionsZsets_40(t.data.p->data[h].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T14_) goto LA13 ;
{
NIM_BOOL T17_;
T17_ = (NIM_BOOL)0;
T17_ = (t.data.p->data[h].Field0 == (*hc));
if (!(T17_)) goto LA18_;
T17_ = eqeq___ast_788(t.data.p->data[h].Field1, key);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA18_: ;
if (!T17_) goto LA19_;
result = h;
goto BeforeRet_;
}
LA19_: ;
T21_ = (t.data.len-1);
h = nextTry__pureZcollectionsZsets_43(h, T21_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA13: ;
}
result = (NI)(((NI)-1) - h);
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, mustRehash__icZintegrity_311)(tyObject_HashSet__40dyVlPkk51NaeSZiqO2Nw t) {
NIM_BOOL result;
NIM_BOOL T1_;
NI T2_;
NI T4_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T2_ = t.data.len;
T1_ = ((NI)(T2_ * ((NI)2)) < (NI)(t.counter * ((NI)3)));
if (T1_) goto LA3_;
T4_ = t.data.len;
T1_ = ((NI)(T4_ - t.counter) < ((NI)4));
LA3_: ;
result = T1_;
return result;
}
static N_INLINE(NI, rawGetKnownHC__icZintegrity_455)(tyObject_HashSet__40dyVlPkk51NaeSZiqO2Nw t, tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw key, NI hc) {
NI result;
NI h;
NI T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
{
NI T3_;
T3_ = t.data.len;
if (!(T3_ == ((NI)0))) goto LA4_;
result = ((NI)-1);
goto BeforeRet_;
}
LA4_: ;
T6_ = (t.data.len-1);
h = (NI)(hc & T6_);
{
while (1) {
NIM_BOOL T9_;
NI T16_;
T9_ = (NIM_BOOL)0;
T9_ = isFilled__pureZcollectionsZsets_40(t.data.p->data[h].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T9_) goto LA8 ;
{
NIM_BOOL T12_;
T12_ = (NIM_BOOL)0;
T12_ = (t.data.p->data[h].Field0 == hc);
if (!(T12_)) goto LA13_;
T12_ = eqeq___ast_788(t.data.p->data[h].Field1, key);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA13_: ;
if (!T12_) goto LA14_;
result = h;
goto BeforeRet_;
}
LA14_: ;
T16_ = (t.data.len-1);
h = nextTry__pureZcollectionsZsets_43(h, T16_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA8: ;
}
result = (NI)(((NI)-1) - h);
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__icZintegrity_534)(tyObject_HashSet__40dyVlPkk51NaeSZiqO2Nw* s, tySequence__wrWQccISxQegvhlY18rdnw* data, tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw key, NI hc, NI h) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI T3_;
NI correctSizeX60gensym12_;
T3_ = (*data).len;
if (!(T3_ == ((NI)0))) goto LA4_;
correctSizeX60gensym12_ = slotsNeeded__pureZcollectionsZsets_51(((NI)64));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*s).counter = ((NI)0);
newSeq__icZintegrity_101((&(*s).data), ((NI) (correctSizeX60gensym12_)));
}
LA4_: ;
(*data).p->data[h].Field1 = key;
(*data).p->data[h].Field0 = hc;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___icZintegrity_284)(tySequence__wrWQccISxQegvhlY18rdnw* dest) {
if ((*dest).p && !((*dest).p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc((*dest).p, NIM_ALIGNOF(tyTuple__Ss72DYPHpb9a9bqskL9cokvpA));
}
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__icZintegrity_389)(tyObject_HashSet__40dyVlPkk51NaeSZiqO2Nw* s) {
tySequence__wrWQccISxQegvhlY18rdnw n;
NI T1_;
tySequence__wrWQccISxQegvhlY18rdnw T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
n.len = 0; n.p = NIM_NIL;
T1_ = (*s).data.len;
newSeq__icZintegrity_101((&n), ((NI) ((NI)(T1_ * ((NI)2)))));
T2_.len = 0; T2_.p = NIM_NIL;
T2_ = (*s).data;
(*s).data = n;
n = T2_;
{
NI i;
NI colontmp_;
NI T4_;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
T4_ = (n.len-1);
colontmp_ = T4_;
res = ((NI)0);
{
while (1) {
if (!(res <= colontmp_)) goto LA6 ;
i = res;
{
NIM_BOOL T9_;
NI j;
NI T12_;
tyObject_HashSet__40dyVlPkk51NaeSZiqO2Nw* T13_;
T9_ = (NIM_BOOL)0;
T9_ = isFilled__pureZcollectionsZsets_40(n.p->data[i].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T9_) goto LA10_;
T12_ = (NI)0;
T12_ = rawGetKnownHC__icZintegrity_455((*s), n.p->data[i].Field1, n.p->data[i].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
j = (NI)(((NI)-1) - T12_);
T13_ = (tyObject_HashSet__40dyVlPkk51NaeSZiqO2Nw*)0;
T13_ = s;
rawInsert__icZintegrity_534(T13_, (&(*s).data), n.p->data[i].Field1, n.p->data[i].Field0, j);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA10_: ;
res += ((NI)1);
} LA6: ;
}
}
eqdestroy___icZintegrity_284((&n));
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__icZintegrity_63)(tyObject_HashSet__40dyVlPkk51NaeSZiqO2Nw* s, tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw key) {
NIM_BOOL result;
NI hc;
NI index;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
{
NI T3_;
NI correctSizeX60gensym3_;
T3_ = (*s).data.len;
if (!(T3_ == ((NI)0))) goto LA4_;
correctSizeX60gensym3_ = slotsNeeded__pureZcollectionsZsets_51(((NI)64));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*s).counter = ((NI)0);
newSeq__icZintegrity_101((&(*s).data), ((NI) (correctSizeX60gensym3_)));
}
LA4_: ;
hc = (NI)0;
index = rawGet__icZintegrity_214((*s), key, (&hc));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!(((NI)0) <= index)) goto LA8_;
result = NIM_TRUE;
}
goto LA6_;
LA8_: ;
{
tyObject_HashSet__40dyVlPkk51NaeSZiqO2Nw* T16_;
{
NIM_BOOL T13_;
T13_ = (NIM_BOOL)0;
T13_ = mustRehash__icZintegrity_311((*s));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T13_) goto LA14_;
enlarge__icZintegrity_389(s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
index = rawGetKnownHC__icZintegrity_455((*s), key, hc);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA14_: ;
T16_ = (tyObject_HashSet__40dyVlPkk51NaeSZiqO2Nw*)0;
T16_ = s;
rawInsert__icZintegrity_534(T16_, (&(*s).data), key, hc, (NI)(((NI)-1) - index));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*s).counter += ((NI)1);
}
LA6_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__icZnavigator_147)(tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg* s, NimStringV2 key) {
NIM_BOOL result;
NI hc;
NI index;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
{
NI T3_;
NI correctSizeX60gensym15_;
T3_ = (*s).data.len;
if (!(T3_ == ((NI)0))) goto LA4_;
correctSizeX60gensym15_ = slotsNeeded__pureZcollectionsZsets_51(((NI)64));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*s).counter = ((NI)0);
newSeq__options_2560((&(*s).data), ((NI) (correctSizeX60gensym15_)));
}
LA4_: ;
hc = (NI)0;
index = rawGet__options_3501((*s), key, (&hc));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!(((NI)0) <= index)) goto LA8_;
result = NIM_TRUE;
}
goto LA6_;
LA8_: ;
{
tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg* T16_;
{
NIM_BOOL T13_;
T13_ = (NIM_BOOL)0;
T13_ = mustRehash__options_3760((*s));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T13_) goto LA14_;
enlarge__options_3952(s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
index = rawGetKnownHC__options_4203((*s), key, hc);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA14_: ;
T16_ = (tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg*)0;
T16_ = s;
rawInsert__options_4565(T16_, (&(*s).data), key, hc, (NI)(((NI)-1) - index));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*s).counter += ((NI)1);
}
LA6_: ;
}BeforeRet_: ;
return result;
}