938 lines
31 KiB
C
938 lines
31 KiB
C
/* Generated by Nim Compiler v1.9.0 */
|
|
#define NIM_INTBITS 32
|
|
|
|
#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 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
|
|
typedef struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A;
|
|
typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
|
|
typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
|
|
typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content;
|
|
struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A {
|
|
NI rc;
|
|
NI rootIdx;
|
|
};
|
|
typedef NU tyArray__cC4ce9cdvDKtIpar5g9cDejA[16];
|
|
struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA {
|
|
tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* next;
|
|
NI key;
|
|
tyArray__cC4ce9cdvDKtIpar5g9cDejA bits;
|
|
};
|
|
struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
|
|
NI len; tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content* p;
|
|
};
|
|
typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
|
|
struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
|
|
NI elems;
|
|
NI counter;
|
|
NI max;
|
|
tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
|
|
tySequence__Bre9bNyuQOg1EJKitjSzn8w data;
|
|
tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
|
|
};
|
|
|
|
|
|
#ifndef tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content_PP
|
|
#define tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content_PP
|
|
struct tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content { NI cap; tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];};
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content_PP
|
|
#define tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content_PP
|
|
struct tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content { NI cap; tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];};
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content_PP
|
|
#define tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content_PP
|
|
struct tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content { NI cap; tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];};
|
|
#endif
|
|
|
|
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p);
|
|
static N_INLINE(NI, minuspercent___system_790)(NI x, NI y);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_36)(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* dest);
|
|
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p, NI alignment);
|
|
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_56)(tySequence__Bre9bNyuQOg1EJKitjSzn8w* dest);
|
|
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
|
|
static N_INLINE(void, nimZeroMem)(void* p, NI size);
|
|
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
|
|
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap, NI elemSize, NI elemAlign);
|
|
N_LIB_PRIVATE N_NIMCALL(void, newSeq__pureZcollectionsZintsets_237)(tySequence__Bre9bNyuQOg1EJKitjSzn8w* s, NI len);
|
|
static N_INLINE(void, bitincl__pureZcollectionsZintsets_254)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*, intSetPut__pureZcollectionsZintsets_263)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* t, NI key);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZcollectionsZintsets_27)(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA** dest, tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* src);
|
|
static N_INLINE(void, nimIncRef)(void* p);
|
|
static N_INLINE(NI, nextTry__stdZpackedsets_42)(NI h, NI maxHash, NI* perturb);
|
|
static N_INLINE(NIM_BOOL, mustRehash__pureZcollectionsZintsets_274)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* t);
|
|
N_LIB_PRIVATE N_NIMCALL(void, intSetEnlarge__pureZcollectionsZintsets_282)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* t);
|
|
N_LIB_PRIVATE N_NIMCALL(void, intSetRawInsert__pureZcollectionsZintsets_301)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* t, tySequence__Bre9bNyuQOg1EJKitjSzn8w* data, tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* desc);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_24)(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA** dest);
|
|
N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size, NI alignment);
|
|
N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_202)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*, packedSetGet__astalgo_433)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* t, NI key);
|
|
N_LIB_PRIVATE N_NIMCALL(void, exclImpl__reorder_452)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZcollectionsZintsets_59)(tySequence__Bre9bNyuQOg1EJKitjSzn8w* dest, tySequence__Bre9bNyuQOg1EJKitjSzn8w src);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqsink___pureZcollectionsZintsets_62)(tySequence__Bre9bNyuQOg1EJKitjSzn8w* dest, tySequence__Bre9bNyuQOg1EJKitjSzn8w src);
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqsink___pureZcollectionsZintsets_30)(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA** dest, tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* src);
|
|
N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__pureZcollectionsZintsets_16)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
|
|
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__astalgo_3655)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
|
|
static N_INLINE(NI, pluspercent___system_770)(NI x, NI y);
|
|
extern NIM_BOOL nimInErrorMode__system_3978;
|
|
static N_INLINE(NI, minuspercent___system_790)(NI x, NI y) {
|
|
NI result;
|
|
result = (NI)0;
|
|
result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
|
|
return result;
|
|
}
|
|
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p) {
|
|
NIM_BOOL result;
|
|
result = (NIM_BOOL)0;
|
|
{
|
|
tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* cell;
|
|
NI T5_;
|
|
if (!!((p == NIM_NIL))) goto LA3_;
|
|
T5_ = (NI)0;
|
|
T5_ = minuspercent___system_790(((NI) (ptrdiff_t) (p)), ((NI)8));
|
|
cell = ((tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A*) (T5_));
|
|
{
|
|
if (!((NI)((*cell).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
|
|
result = NIM_TRUE;
|
|
}
|
|
goto LA6_;
|
|
LA8_: ;
|
|
{
|
|
(*cell).rc -= ((NI)16);
|
|
}
|
|
LA6_: ;
|
|
}
|
|
LA3_: ;
|
|
return result;
|
|
}
|
|
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
|
|
NIM_BOOL* result;
|
|
result = (NIM_BOOL*)0;
|
|
result = (&nimInErrorMode__system_3978);
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_36)(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* dest) {
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
{
|
|
NIM_BOOL T3_;
|
|
T3_ = (NIM_BOOL)0;
|
|
T3_ = nimDecRefIsLast((*dest).next);
|
|
if (!T3_) goto LA4_;
|
|
eqdestroy___pureZcollectionsZintsets_36((*dest).next);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
nimRawDispose((*dest).next, ((NI)4));
|
|
}
|
|
LA4_: ;
|
|
}BeforeRet_: ;
|
|
}
|
|
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, eqsink___pureZcollectionsZintsets_187)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* dest, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* src) {
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
(*dest).elems = (*src).elems;
|
|
(*dest).counter = (*src).counter;
|
|
(*dest).max = (*src).max;
|
|
{
|
|
NIM_BOOL T3_;
|
|
T3_ = (NIM_BOOL)0;
|
|
T3_ = nimDecRefIsLast((*dest).head);
|
|
if (!T3_) goto LA4_;
|
|
eqdestroy___pureZcollectionsZintsets_36((*dest).head);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
nimRawDispose((*dest).head, ((NI)4));
|
|
}
|
|
LA4_: ;
|
|
(*dest).head = (*src).head;
|
|
if ((*dest).data.p != (*src).data.p) { eqdestroy___pureZcollectionsZintsets_56((&(*dest).data));
|
|
}
|
|
(*dest).data.len = (*src).data.len; (*dest).data.p = (*src).data.p;
|
|
nimCopyMem((void*)(*dest).a, (NIM_CONST void*)(*src).a, sizeof(tyArray__emiAJ8okywrJw7ZHLzlXbQ));
|
|
}BeforeRet_: ;
|
|
}
|
|
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(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_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__pureZcollectionsZintsets_16)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
|
|
nimZeroMem((void*)Result, sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
|
|
(*Result).elems = ((NI)0);
|
|
(*Result).counter = ((NI)0);
|
|
(*Result).max = ((NI)0);
|
|
(*Result).head = ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL);
|
|
(*Result).data.len = 0; (*Result).data.p = (tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content*) newSeqPayload(0, sizeof(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*), NIM_ALIGNOF(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*));
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqsink___pureZcollectionsZintsets_30)(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA** dest, tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* src) {
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
{
|
|
NIM_BOOL T3_;
|
|
T3_ = (NIM_BOOL)0;
|
|
T3_ = nimDecRefIsLast((*dest));
|
|
if (!T3_) goto LA4_;
|
|
eqdestroy___pureZcollectionsZintsets_36((*dest));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
nimRawDispose((*dest), ((NI)4));
|
|
}
|
|
LA4_: ;
|
|
(*dest) = src;
|
|
}BeforeRet_: ;
|
|
}
|
|
static N_INLINE(void, nimIncRef)(void* p) {
|
|
NI T1_;
|
|
T1_ = (NI)0;
|
|
T1_ = minuspercent___system_790(((NI) (ptrdiff_t) (p)), ((NI)8));
|
|
(*((tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A*) (T1_))).rc += ((NI)16);
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZcollectionsZintsets_27)(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA** dest, tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* src) {
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
{
|
|
if (!src) goto LA3_;
|
|
nimIncRef(src);
|
|
}
|
|
LA3_: ;
|
|
{
|
|
NIM_BOOL T7_;
|
|
T7_ = (NIM_BOOL)0;
|
|
T7_ = nimDecRefIsLast((*dest));
|
|
if (!T7_) goto LA8_;
|
|
eqdestroy___pureZcollectionsZintsets_36((*dest));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
nimRawDispose((*dest), ((NI)4));
|
|
}
|
|
LA8_: ;
|
|
(*dest) = src;
|
|
}BeforeRet_: ;
|
|
}
|
|
static N_INLINE(NI, nextTry__stdZpackedsets_42)(NI h, NI maxHash, NI* perturb) {
|
|
NI result;
|
|
NU perturb2;
|
|
result = (NI)0;
|
|
perturb2 = (NU)((NU32)(((NU) ((*perturb)))) >> (NU32)(((NI)5)));
|
|
(*perturb) = ((NI) (perturb2));
|
|
result = (NI)((NI)((NI)((NI)(((NI)5) * h) + ((NI)1)) + (*perturb)) & maxHash);
|
|
return result;
|
|
}
|
|
static N_INLINE(NIM_BOOL, mustRehash__pureZcollectionsZintsets_274)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* t) {
|
|
NIM_BOOL result;
|
|
NI length;
|
|
NIM_BOOL T1_;
|
|
result = (NIM_BOOL)0;
|
|
length = (NI)((*t).max + ((NI)1));
|
|
T1_ = (NIM_BOOL)0;
|
|
T1_ = ((NI)(length * ((NI)2)) < (NI)((*t).counter * ((NI)3)));
|
|
if (T1_) goto LA2_;
|
|
T1_ = ((NI)(length - (*t).counter) < ((NI)4));
|
|
LA2_: ;
|
|
result = T1_;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, intSetRawInsert__pureZcollectionsZintsets_301)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* t, tySequence__Bre9bNyuQOg1EJKitjSzn8w* data, tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* desc) {
|
|
NI h;
|
|
NI perturb;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
h = (NI)((*desc).key & (*t).max);
|
|
perturb = (*desc).key;
|
|
{
|
|
while (1) {
|
|
if (!!(((*data).p->data[h] == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA2 ;
|
|
h = nextTry__stdZpackedsets_42(h, (*t).max, (&perturb));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
} LA2: ;
|
|
}
|
|
eqcopy___pureZcollectionsZintsets_27(&(*data).p->data[h], desc);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, intSetEnlarge__pureZcollectionsZintsets_282)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* t) {
|
|
tySequence__Bre9bNyuQOg1EJKitjSzn8w n;
|
|
NI oldMax;
|
|
tySequence__Bre9bNyuQOg1EJKitjSzn8w T8_;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
n.len = 0; n.p = NIM_NIL;
|
|
oldMax = (*t).max;
|
|
(*t).max = (NI)((NI)((NI)((*t).max + ((NI)1)) * ((NI)2)) - ((NI)1));
|
|
newSeq__pureZcollectionsZintsets_237((&n), ((NI) ((NI)((*t).max + ((NI)1)))));
|
|
{
|
|
NI i;
|
|
NI res;
|
|
i = (NI)0;
|
|
res = ((NI)0);
|
|
{
|
|
while (1) {
|
|
if (!(res <= oldMax)) goto LA3 ;
|
|
i = res;
|
|
{
|
|
if (!!(((*t).data.p->data[i] == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA6_;
|
|
intSetRawInsert__pureZcollectionsZintsets_301((&(*t)), (&n), (*t).data.p->data[i]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA6_: ;
|
|
res += ((NI)1);
|
|
} LA3: ;
|
|
}
|
|
}
|
|
T8_.len = 0; T8_.p = NIM_NIL;
|
|
T8_ = (*t).data;
|
|
(*t).data = n;
|
|
n = T8_;
|
|
eqdestroy___pureZcollectionsZintsets_56((&n));
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_24)(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA** dest) {
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
{
|
|
NIM_BOOL T3_;
|
|
T3_ = (NIM_BOOL)0;
|
|
T3_ = nimDecRefIsLast((*dest));
|
|
if (!T3_) goto LA4_;
|
|
eqdestroy___pureZcollectionsZintsets_36((*dest));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
nimRawDispose((*dest), ((NI)4));
|
|
}
|
|
LA4_: ;
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*, intSetPut__pureZcollectionsZintsets_263)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* t, NI key) {
|
|
tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* result;
|
|
NI h;
|
|
NI perturb;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = NIM_NIL;
|
|
h = (NI)(key & (*t).max);
|
|
perturb = key;
|
|
{
|
|
while (1) {
|
|
if (!!(((*t).data.p->data[h] == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA2 ;
|
|
{
|
|
if (!((*(*t).data.p->data[h]).key == key)) goto LA5_;
|
|
eqcopy___pureZcollectionsZintsets_27(&result, (*t).data.p->data[h]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
goto BeforeRet_;
|
|
}
|
|
LA5_: ;
|
|
h = nextTry__stdZpackedsets_42(h, (*t).max, (&perturb));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
} LA2: ;
|
|
}
|
|
{
|
|
NIM_BOOL T9_;
|
|
T9_ = (NIM_BOOL)0;
|
|
T9_ = mustRehash__pureZcollectionsZintsets_274((&(*t)));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
if (!T9_) goto LA10_;
|
|
intSetEnlarge__pureZcollectionsZintsets_282(t);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA10_: ;
|
|
(*t).counter += ((NI)1);
|
|
h = (NI)(key & (*t).max);
|
|
perturb = key;
|
|
{
|
|
while (1) {
|
|
if (!!(((*t).data.p->data[h] == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA13 ;
|
|
h = nextTry__stdZpackedsets_42(h, (*t).max, (&perturb));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
} LA13: ;
|
|
}
|
|
eqdestroy___pureZcollectionsZintsets_24(&result);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
result = (tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) nimNewObj(sizeof(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA), NIM_ALIGNOF(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA));
|
|
eqcopy___pureZcollectionsZintsets_27(&(*result).next, (*t).head);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
(*result).key = key;
|
|
eqcopy___pureZcollectionsZintsets_27(&(*t).head, result);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
eqcopy___pureZcollectionsZintsets_27(&(*t).data.p->data[h], result);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
static N_INLINE(void, bitincl__pureZcollectionsZintsets_254)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key) {
|
|
tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* ret;
|
|
tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* t;
|
|
NI u;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
ret = NIM_NIL;
|
|
t = NIM_NIL;
|
|
t = intSetPut__pureZcollectionsZintsets_263(s, (NI)((NI32)(key) >> (NU32)(((NI)9))));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
u = (NI)(key & ((NI)511));
|
|
(*t).bits[((NI)((NI32)(u) >> (NU32)(((NI)5))))- 0] = (NU)((*t).bits[((NI)((NI32)(u) >> (NU32)(((NI)5))))- 0] | (NU)((NU32)(((NU)1)) << (NU32)((NI)(u & ((NI)31)))));
|
|
eqdestroy___pureZcollectionsZintsets_24(&t);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_202)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key) {
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
{
|
|
if (!((*s).elems <= ((NI)34))) goto LA3_;
|
|
{
|
|
NI i;
|
|
NI i_2;
|
|
i = (NI)0;
|
|
i_2 = ((NI)0);
|
|
{
|
|
while (1) {
|
|
if (!(i_2 < (*s).elems)) goto LA7 ;
|
|
i = i_2;
|
|
{
|
|
if (!((*s).a[(i)- 0] == key)) goto LA10_;
|
|
goto BeforeRet_;
|
|
}
|
|
LA10_: ;
|
|
i_2 += ((NI)1);
|
|
} LA7: ;
|
|
}
|
|
}
|
|
{
|
|
if (!((*s).elems < ((NI)34))) goto LA14_;
|
|
(*s).a[((*s).elems)- 0] = key;
|
|
(*s).elems += ((NI)1);
|
|
goto BeforeRet_;
|
|
}
|
|
LA14_: ;
|
|
newSeq__pureZcollectionsZintsets_237((&(*s).data), ((NI)8));
|
|
(*s).max = ((NI)7);
|
|
{
|
|
NI i_3;
|
|
NI i_4;
|
|
i_3 = (NI)0;
|
|
i_4 = ((NI)0);
|
|
{
|
|
while (1) {
|
|
if (!(i_4 < (*s).elems)) goto LA18 ;
|
|
i_3 = i_4;
|
|
bitincl__pureZcollectionsZintsets_254(s, (*s).a[(i_3)- 0]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
i_4 += ((NI)1);
|
|
} LA18: ;
|
|
}
|
|
}
|
|
(*s).elems = ((NI)35);
|
|
}
|
|
LA3_: ;
|
|
bitincl__pureZcollectionsZintsets_254(s, key);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_181)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* dest) {
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
{
|
|
NIM_BOOL T3_;
|
|
T3_ = (NIM_BOOL)0;
|
|
T3_ = nimDecRefIsLast((*dest).head);
|
|
if (!T3_) goto LA4_;
|
|
eqdestroy___pureZcollectionsZintsets_36((*dest).head);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
nimRawDispose((*dest).head, ((NI)4));
|
|
}
|
|
LA4_: ;
|
|
eqdestroy___pureZcollectionsZintsets_56((&(*dest).data));
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*, packedSetGet__astalgo_433)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* t, NI key) {
|
|
tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* result;
|
|
NI h;
|
|
NI perturb;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = NIM_NIL;
|
|
h = (NI)(key & (*t).max);
|
|
perturb = key;
|
|
{
|
|
while (1) {
|
|
if (!!(((*t).data.p->data[h] == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA2 ;
|
|
{
|
|
if (!((*(*t).data.p->data[h]).key == key)) goto LA5_;
|
|
eqcopy___pureZcollectionsZintsets_27(&result, (*t).data.p->data[h]);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
goto BeforeRet_;
|
|
}
|
|
LA5_: ;
|
|
h = nextTry__stdZpackedsets_42(h, (*t).max, (&perturb));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
} LA2: ;
|
|
}
|
|
result = ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL);
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astalgo_402)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key) {
|
|
NIM_BOOL result;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = (NIM_BOOL)0;
|
|
{
|
|
if (!((*s).elems <= ((NI)34))) goto LA3_;
|
|
{
|
|
NI i;
|
|
NI i_2;
|
|
i = (NI)0;
|
|
i_2 = ((NI)0);
|
|
{
|
|
while (1) {
|
|
if (!(i_2 < (*s).elems)) goto LA7 ;
|
|
i = i_2;
|
|
{
|
|
if (!((*s).a[(i)- 0] == key)) goto LA10_;
|
|
result = NIM_TRUE;
|
|
goto BeforeRet_;
|
|
}
|
|
LA10_: ;
|
|
i_2 += ((NI)1);
|
|
} LA7: ;
|
|
}
|
|
}
|
|
incl__pureZcollectionsZintsets_202(s, key);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
result = NIM_FALSE;
|
|
}
|
|
goto LA1_;
|
|
LA3_: ;
|
|
{
|
|
tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* t;
|
|
t = NIM_NIL;
|
|
t = packedSetGet__astalgo_433((&(*s)), (NI)((NI32)(key) >> (NU32)(((NI)9))));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
{
|
|
NI u;
|
|
if (!!((t == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA15_;
|
|
u = (NI)(key & ((NI)511));
|
|
result = !(((NU)((*t).bits[((NI)((NI32)(u) >> (NU32)(((NI)5))))- 0] & (NU)((NU32)(((NU)1)) << (NU32)((NI)(u & ((NI)31))))) == ((NU)0)));
|
|
{
|
|
if (!!(result)) goto LA19_;
|
|
(*t).bits[((NI)((NI32)(u) >> (NU32)(((NI)5))))- 0] = (NU)((*t).bits[((NI)((NI32)(u) >> (NU32)(((NI)5))))- 0] | (NU)((NU32)(((NU)1)) << (NU32)((NI)(u & ((NI)31)))));
|
|
}
|
|
LA19_: ;
|
|
}
|
|
goto LA13_;
|
|
LA15_: ;
|
|
{
|
|
incl__pureZcollectionsZintsets_202(s, key);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
result = NIM_FALSE;
|
|
}
|
|
LA13_: ;
|
|
eqdestroy___pureZcollectionsZintsets_24(&t);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA1_: ;
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, exclImpl__reorder_452)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key) {
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
{
|
|
if (!((*s).elems <= ((NI)34))) goto LA3_;
|
|
{
|
|
NI i;
|
|
NI i_2;
|
|
i = (NI)0;
|
|
i_2 = ((NI)0);
|
|
{
|
|
while (1) {
|
|
if (!(i_2 < (*s).elems)) goto LA7 ;
|
|
i = i_2;
|
|
{
|
|
if (!((*s).a[(i)- 0] == key)) goto LA10_;
|
|
(*s).a[(i)- 0] = (*s).a[((NI)((*s).elems - ((NI)1)))- 0];
|
|
(*s).elems -= ((NI)1);
|
|
goto BeforeRet_;
|
|
}
|
|
LA10_: ;
|
|
i_2 += ((NI)1);
|
|
} LA7: ;
|
|
}
|
|
}
|
|
}
|
|
goto LA1_;
|
|
LA3_: ;
|
|
{
|
|
tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* t;
|
|
t = NIM_NIL;
|
|
t = packedSetGet__astalgo_433((&(*s)), (NI)((NI32)(key) >> (NU32)(((NI)9))));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
{
|
|
NI u;
|
|
if (!!((t == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA15_;
|
|
u = (NI)(key & ((NI)511));
|
|
(*t).bits[((NI)((NI32)(u) >> (NU32)(((NI)5))))- 0] = (NU)((*t).bits[((NI)((NI32)(u) >> (NU32)(((NI)5))))- 0] & (NU)((NU32) ~((NU)((NU32)(((NU)1)) << (NU32)((NI)(u & ((NI)31)))))));
|
|
}
|
|
LA15_: ;
|
|
eqdestroy___pureZcollectionsZintsets_24(&t);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA1_: ;
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, excl__reorder_448)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key) {
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
exclImpl__reorder_452(s, key);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZcollectionsZintsets_184)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* dest, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* src) {
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
(*dest).elems = (*src).elems;
|
|
(*dest).counter = (*src).counter;
|
|
(*dest).max = (*src).max;
|
|
{
|
|
if (!(*src).head) goto LA3_;
|
|
nimIncRef((*src).head);
|
|
}
|
|
LA3_: ;
|
|
{
|
|
NIM_BOOL T7_;
|
|
T7_ = (NIM_BOOL)0;
|
|
T7_ = nimDecRefIsLast((*dest).head);
|
|
if (!T7_) goto LA8_;
|
|
eqdestroy___pureZcollectionsZintsets_36((*dest).head);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
nimRawDispose((*dest).head, ((NI)4));
|
|
}
|
|
LA8_: ;
|
|
(*dest).head = (*src).head;
|
|
eqcopy___pureZcollectionsZintsets_59((&(*dest).data), (*src).data);
|
|
nimCopyMem((void*)(*dest).a, (NIM_CONST void*)(*src).a, sizeof(tyArray__emiAJ8okywrJw7ZHLzlXbQ));
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__astalgo_3655)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key) {
|
|
NIM_BOOL result;
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
result = (NIM_BOOL)0;
|
|
{
|
|
if (!((*s).elems <= ((NI)34))) goto LA3_;
|
|
{
|
|
NI i;
|
|
NI i_2;
|
|
i = (NI)0;
|
|
i_2 = ((NI)0);
|
|
{
|
|
while (1) {
|
|
if (!(i_2 < (*s).elems)) goto LA7 ;
|
|
i = i_2;
|
|
{
|
|
if (!((*s).a[(i)- 0] == key)) goto LA10_;
|
|
result = NIM_TRUE;
|
|
goto BeforeRet_;
|
|
}
|
|
LA10_: ;
|
|
i_2 += ((NI)1);
|
|
} LA7: ;
|
|
}
|
|
}
|
|
}
|
|
goto LA1_;
|
|
LA3_: ;
|
|
{
|
|
tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* t;
|
|
t = NIM_NIL;
|
|
t = packedSetGet__astalgo_433(s, (NI)((NI32)(key) >> (NU32)(((NI)9))));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
{
|
|
NI u;
|
|
if (!!((t == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA15_;
|
|
u = (NI)(key & ((NI)511));
|
|
result = !(((NU)((*t).bits[((NI)((NI32)(u) >> (NU32)(((NI)5))))- 0] & (NU)((NU32)(((NU)1)) << (NU32)((NI)(u & ((NI)31))))) == ((NU)0)));
|
|
}
|
|
goto LA13_;
|
|
LA15_: ;
|
|
{
|
|
result = NIM_FALSE;
|
|
}
|
|
LA13_: ;
|
|
eqdestroy___pureZcollectionsZintsets_24(&t);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA1_: ;
|
|
}BeforeRet_: ;
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, assign__types_4190)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* dest, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* src) {
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
{
|
|
tySequence__Bre9bNyuQOg1EJKitjSzn8w T5_;
|
|
if (!((*src).elems <= ((NI)34))) goto LA3_;
|
|
T5_.len = 0; T5_.p = NIM_NIL;
|
|
T5_.len = 0; T5_.p = (tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content*) newSeqPayload(0, sizeof(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*), NIM_ALIGNOF(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*));
|
|
eqsink___pureZcollectionsZintsets_62((&(*dest).data), T5_);
|
|
(*dest).max = ((NI)0);
|
|
(*dest).counter = (*src).counter;
|
|
eqsink___pureZcollectionsZintsets_30(&(*dest).head, ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
(*dest).elems = (*src).elems;
|
|
nimCopyMem((void*)(*dest).a, (NIM_CONST void*)(*src).a, sizeof(tyArray__emiAJ8okywrJw7ZHLzlXbQ));
|
|
}
|
|
goto LA1_;
|
|
LA3_: ;
|
|
{
|
|
tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* it;
|
|
NI T7_;
|
|
it = NIM_NIL;
|
|
(*dest).counter = (*src).counter;
|
|
(*dest).max = (*src).max;
|
|
(*dest).elems = (*src).elems;
|
|
T7_ = (*src).data.len;
|
|
newSeq__pureZcollectionsZintsets_237((&(*dest).data), ((NI) (T7_)));
|
|
eqcopy___pureZcollectionsZintsets_27(&it, (*src).head);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
{
|
|
while (1) {
|
|
tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* n;
|
|
NI h;
|
|
NI perturb;
|
|
if (!!((it == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA9 ;
|
|
n = NIM_NIL;
|
|
h = (NI)((*it).key & (*dest).max);
|
|
perturb = (*it).key;
|
|
{
|
|
while (1) {
|
|
if (!!(((*dest).data.p->data[h] == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA11 ;
|
|
h = nextTry__stdZpackedsets_42(h, (*dest).max, (&perturb));
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
} LA11: ;
|
|
}
|
|
n = 0;
|
|
eqdestroy___pureZcollectionsZintsets_24(&n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
n = (tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) nimNewObj(sizeof(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA), NIM_ALIGNOF(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA));
|
|
eqcopy___pureZcollectionsZintsets_27(&(*n).next, (*dest).head);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
(*n).key = (*it).key;
|
|
nimCopyMem((void*)(*n).bits, (NIM_CONST void*)(*it).bits, sizeof(tyArray__cC4ce9cdvDKtIpar5g9cDejA));
|
|
eqcopy___pureZcollectionsZintsets_27(&(*dest).head, n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
eqsink___pureZcollectionsZintsets_30(&(*dest).data.p->data[h], n);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
eqcopy___pureZcollectionsZintsets_27(&it, (*it).next);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
} LA9: ;
|
|
}
|
|
eqdestroy___pureZcollectionsZintsets_24(&it);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA1_: ;
|
|
}BeforeRet_: ;
|
|
}
|
|
static N_INLINE(NI, pluspercent___system_770)(NI x, NI y) {
|
|
NI result;
|
|
result = (NI)0;
|
|
result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
|
|
return result;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, difference__sem_4518)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
initPackedSet__pureZcollectionsZintsets_16(Result);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
{
|
|
NI item;
|
|
item = (NI)0;
|
|
{
|
|
if (!((*s1).elems <= ((NI)34))) goto LA4_;
|
|
{
|
|
NI i;
|
|
NI i_2;
|
|
i = (NI)0;
|
|
i_2 = ((NI)0);
|
|
{
|
|
while (1) {
|
|
if (!(i_2 < (*s1).elems)) goto LA8 ;
|
|
i = i_2;
|
|
item = (*s1).a[(i)- 0];
|
|
{
|
|
NIM_BOOL T11_;
|
|
T11_ = (NIM_BOOL)0;
|
|
T11_ = contains__astalgo_3655(s2, item);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
if (!!(T11_)) goto LA12_;
|
|
incl__pureZcollectionsZintsets_202(Result, item);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA12_: ;
|
|
i_2 += ((NI)1);
|
|
} LA8: ;
|
|
}
|
|
}
|
|
}
|
|
goto LA2_;
|
|
LA4_: ;
|
|
{
|
|
tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r;
|
|
r = NIM_NIL;
|
|
eqcopy___pureZcollectionsZintsets_27(&r, (*s1).head);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
{
|
|
while (1) {
|
|
NI i_3;
|
|
if (!!((r == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA16 ;
|
|
i_3 = ((NI)0);
|
|
{
|
|
while (1) {
|
|
NU w;
|
|
NI j;
|
|
if (!(i_3 <= ((NI)15))) goto LA18 ;
|
|
w = (*r).bits[(i_3)- 0];
|
|
j = ((NI)0);
|
|
{
|
|
while (1) {
|
|
if (!!((w == ((NU)0)))) goto LA20 ;
|
|
{
|
|
NI T25_;
|
|
if (!!(((NU)(w & ((NU)1)) == ((NU)0)))) goto LA23_;
|
|
T25_ = (NI)0;
|
|
T25_ = pluspercent___system_770((NI)((NU32)(i_3) << (NU32)(((NI)5))), j);
|
|
item = (NI)((NI)((NU32)((*r).key) << (NU32)(((NI)9))) | T25_);
|
|
{
|
|
NIM_BOOL T28_;
|
|
T28_ = (NIM_BOOL)0;
|
|
T28_ = contains__astalgo_3655(s2, item);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
if (!!(T28_)) goto LA29_;
|
|
incl__pureZcollectionsZintsets_202(Result, item);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA29_: ;
|
|
}
|
|
LA23_: ;
|
|
j += ((NI)1);
|
|
w = (NU)((NU32)(w) >> (NU32)(((NI)1)));
|
|
} LA20: ;
|
|
}
|
|
i_3 += ((NI)1);
|
|
} LA18: ;
|
|
}
|
|
eqcopy___pureZcollectionsZintsets_27(&r, (*r).next);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
} LA16: ;
|
|
}
|
|
eqdestroy___pureZcollectionsZintsets_24(&r);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA2_: ;
|
|
}
|
|
}BeforeRet_: ;
|
|
}
|
|
N_LIB_PRIVATE N_NIMCALL(void, incl__importer_1622)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* other) {
|
|
NIM_BOOL* nimErr_;
|
|
{nimErr_ = nimErrorFlag();
|
|
{
|
|
NI item;
|
|
item = (NI)0;
|
|
{
|
|
if (!((*other).elems <= ((NI)34))) goto LA4_;
|
|
{
|
|
NI i;
|
|
NI i_2;
|
|
i = (NI)0;
|
|
i_2 = ((NI)0);
|
|
{
|
|
while (1) {
|
|
if (!(i_2 < (*other).elems)) goto LA8 ;
|
|
i = i_2;
|
|
item = (*other).a[(i)- 0];
|
|
incl__pureZcollectionsZintsets_202(s, item);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
i_2 += ((NI)1);
|
|
} LA8: ;
|
|
}
|
|
}
|
|
}
|
|
goto LA2_;
|
|
LA4_: ;
|
|
{
|
|
tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r;
|
|
r = NIM_NIL;
|
|
eqcopy___pureZcollectionsZintsets_27(&r, (*other).head);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
{
|
|
while (1) {
|
|
NI i_3;
|
|
if (!!((r == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA11 ;
|
|
i_3 = ((NI)0);
|
|
{
|
|
while (1) {
|
|
NU w;
|
|
NI j;
|
|
if (!(i_3 <= ((NI)15))) goto LA13 ;
|
|
w = (*r).bits[(i_3)- 0];
|
|
j = ((NI)0);
|
|
{
|
|
while (1) {
|
|
if (!!((w == ((NU)0)))) goto LA15 ;
|
|
{
|
|
NI T20_;
|
|
if (!!(((NU)(w & ((NU)1)) == ((NU)0)))) goto LA18_;
|
|
T20_ = (NI)0;
|
|
T20_ = pluspercent___system_770((NI)((NU32)(i_3) << (NU32)(((NI)5))), j);
|
|
item = (NI)((NI)((NU32)((*r).key) << (NU32)(((NI)9))) | T20_);
|
|
incl__pureZcollectionsZintsets_202(s, item);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA18_: ;
|
|
j += ((NI)1);
|
|
w = (NU)((NU32)(w) >> (NU32)(((NI)1)));
|
|
} LA15: ;
|
|
}
|
|
i_3 += ((NI)1);
|
|
} LA13: ;
|
|
}
|
|
eqcopy___pureZcollectionsZintsets_27(&r, (*r).next);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
} LA11: ;
|
|
}
|
|
eqdestroy___pureZcollectionsZintsets_24(&r);
|
|
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
|
|
}
|
|
LA2_: ;
|
|
}
|
|
}BeforeRet_: ;
|
|
}
|