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

1919 lines
68 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 tySequence__8QRZaV9bKw9abKv9anJ280svg tySequence__8QRZaV9bKw9abKv9anJ280svg;
typedef struct tySequence__8QRZaV9bKw9abKv9anJ280svg_Content tySequence__8QRZaV9bKw9abKv9anJ280svg_Content;
typedef struct tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw;
typedef struct tySequence__W26glz615MtLNjhIPF9ceYQ tySequence__W26glz615MtLNjhIPF9ceYQ;
typedef struct tySequence__W26glz615MtLNjhIPF9ceYQ_Content tySequence__W26glz615MtLNjhIPF9ceYQ_Content;
typedef struct tyTuple__dUJLwg9a5XJOrdPHhWnhtgA tyTuple__dUJLwg9a5XJOrdPHhWnhtgA;
typedef struct tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ;
typedef struct tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA;
typedef struct tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
typedef struct tySequence__48JTohSgTy339bRxHzUD8KA_Content tySequence__48JTohSgTy339bRxHzUD8KA_Content;
typedef struct tyTuple__msoRFpgv3EcbLwCh9arSpYw tyTuple__msoRFpgv3EcbLwCh9arSpYw;
typedef struct tySequence__59axsmyJq9bYh2MONDvuwAkA tySequence__59axsmyJq9bYh2MONDvuwAkA;
typedef struct tySequence__59axsmyJq9bYh2MONDvuwAkA_Content tySequence__59axsmyJq9bYh2MONDvuwAkA_Content;
typedef struct tyObject_Item__xIWVCW9buZJq272Lwjb2YKA tyObject_Item__xIWVCW9buZJq272Lwjb2YKA;
typedef struct tySequence__7NPfIKL9byl5LKWg9aDddIoQ tySequence__7NPfIKL9byl5LKWg9aDddIoQ;
typedef struct tySequence__7NPfIKL9byl5LKWg9aDddIoQ_Content tySequence__7NPfIKL9byl5LKWg9aDddIoQ_Content;
typedef struct tySequence__aNvCnksuz1F1Q4tMb9afk9aw tySequence__aNvCnksuz1F1Q4tMb9afk9aw;
typedef struct tySequence__aNvCnksuz1F1Q4tMb9afk9aw_Content tySequence__aNvCnksuz1F1Q4tMb9afk9aw_Content;
typedef struct tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA;
typedef struct tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg;
typedef struct tySequence__Z3hh9bhfxd7zG8qbxXhhwgg tySequence__Z3hh9bhfxd7zG8qbxXhhwgg;
typedef struct tySequence__Z3hh9bhfxd7zG8qbxXhhwgg_Content tySequence__Z3hh9bhfxd7zG8qbxXhhwgg_Content;
typedef struct tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ;
typedef struct tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg;
typedef struct tySequence__T9cc8i7z3uFa6qWrxalwg0A tySequence__T9cc8i7z3uFa6qWrxalwg0A;
typedef struct tySequence__T9cc8i7z3uFa6qWrxalwg0A_Content tySequence__T9cc8i7z3uFa6qWrxalwg0A_Content;
typedef struct tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A;
typedef struct tySequence__CJOrWaM0fWekVRTE2AotGw tySequence__CJOrWaM0fWekVRTE2AotGw;
typedef struct tySequence__CJOrWaM0fWekVRTE2AotGw_Content tySequence__CJOrWaM0fWekVRTE2AotGw_Content;
typedef struct tyObject_ItemFragment__IhQ7achPd3lOf9czfgMuDXw tyObject_ItemFragment__IhQ7achPd3lOf9czfgMuDXw;
struct tySequence__8QRZaV9bKw9abKv9anJ280svg {
NI len; tySequence__8QRZaV9bKw9abKv9anJ280svg_Content* p;
};
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw* x, tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw* y, void* ClE_0);
void* ClE_0;
} tyProc__2nHAqbgRnYftVK29bj3cUUw;
typedef NU8 tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA;
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_2) (tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw* x, tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw* y);
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_3) (tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw* x, tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw* y);
struct tySequence__W26glz615MtLNjhIPF9ceYQ {
NI len; tySequence__W26glz615MtLNjhIPF9ceYQ_Content* p;
};
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (tyTuple__dUJLwg9a5XJOrdPHhWnhtgA x, tyTuple__dUJLwg9a5XJOrdPHhWnhtgA y, void* ClE_0);
void* ClE_0;
} tyProc__hXo9cch0n1FWVyxSpffNVFA;
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
struct tyTuple__dUJLwg9a5XJOrdPHhWnhtgA {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* Field0;
NimStringV2 Field1;
};
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_4) (tyTuple__dUJLwg9a5XJOrdPHhWnhtgA x, tyTuple__dUJLwg9a5XJOrdPHhWnhtgA y);
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_5) (tyTuple__dUJLwg9a5XJOrdPHhWnhtgA x, tyTuple__dUJLwg9a5XJOrdPHhWnhtgA y);
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* x, tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* y, void* ClE_0);
void* ClE_0;
} tyProc__MGxCE1n0simx8cOK1Fif5A;
struct tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA {
NI len; tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content* p;
};
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_6) (tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* x, tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* y);
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_7) (tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* x, tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* y);
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (NimStringV2 x, NimStringV2 y, void* ClE_0);
void* ClE_0;
} tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA;
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_8) (NimStringV2 x, NimStringV2 y);
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_9) (NimStringV2 x, NimStringV2 y);
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_10) (NimStringV2 x, NimStringV2 y, void* ClE_0);
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (NI32 x, NI32 y, void* ClE_0);
void* ClE_0;
} tyProc__CBoNLvw7Pjo72NRN8hQDEA;
struct tySequence__48JTohSgTy339bRxHzUD8KA {
NI len; tySequence__48JTohSgTy339bRxHzUD8KA_Content* p;
};
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_11) (NI32 x, NI32 y);
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_12) (NI32 x, NI32 y);
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_13) (NI32 x, NI32 y, void* ClE_0);
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_14) (NimStringV2 x, NimStringV2 y);
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_15) (NimStringV2 x, NimStringV2 y);
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_16) (NimStringV2 x, NimStringV2 y);
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_17) (NimStringV2 x, NimStringV2 y);
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_18) (NimStringV2 x, NimStringV2 y);
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_19) (NimStringV2 x, NimStringV2 y, void* ClE_0);
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (tyTuple__msoRFpgv3EcbLwCh9arSpYw x, tyTuple__msoRFpgv3EcbLwCh9arSpYw y, void* ClE_0);
void* ClE_0;
} tyProc__gB5GcYGEl9c9bdmXRILxVndQ;
struct tySequence__59axsmyJq9bYh2MONDvuwAkA {
NI len; tySequence__59axsmyJq9bYh2MONDvuwAkA_Content* p;
};
typedef NU8 tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA;
struct tyTuple__msoRFpgv3EcbLwCh9arSpYw {
tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA Field0;
NI Field1;
NI Field2;
NI Field3;
NimStringV2 Field4;
};
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_20) (tyTuple__msoRFpgv3EcbLwCh9arSpYw x, tyTuple__msoRFpgv3EcbLwCh9arSpYw y);
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_21) (tyTuple__msoRFpgv3EcbLwCh9arSpYw x, tyTuple__msoRFpgv3EcbLwCh9arSpYw y);
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_22) (tyTuple__msoRFpgv3EcbLwCh9arSpYw x, tyTuple__msoRFpgv3EcbLwCh9arSpYw y, void* ClE_0);
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (tyObject_Item__xIWVCW9buZJq272Lwjb2YKA* x, tyObject_Item__xIWVCW9buZJq272Lwjb2YKA* y, void* ClE_0);
void* ClE_0;
} tyProc__a8bNfx9alse4w9aV5AVplKiA;
struct tySequence__7NPfIKL9byl5LKWg9aDddIoQ {
NI len; tySequence__7NPfIKL9byl5LKWg9aDddIoQ_Content* p;
};
struct tySequence__aNvCnksuz1F1Q4tMb9afk9aw {
NI len; tySequence__aNvCnksuz1F1Q4tMb9afk9aw_Content* p;
};
struct tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA {
NU16 line;
NI16 col;
NI32 fileIndex;
};
struct tyObject_Item__xIWVCW9buZJq272Lwjb2YKA {
tySequence__aNvCnksuz1F1Q4tMb9afk9aw descRst;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ substitutions;
NimStringV2 sortName;
tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA info;
NimStringV2 anchor;
NimStringV2 name;
NimStringV2 detailedName;
};
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_23) (tyObject_Item__xIWVCW9buZJq272Lwjb2YKA* x, tyObject_Item__xIWVCW9buZJq272Lwjb2YKA* y);
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_24) (tyObject_Item__xIWVCW9buZJq272Lwjb2YKA* x, tyObject_Item__xIWVCW9buZJq272Lwjb2YKA* y);
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg* x, tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg* y, void* ClE_0);
void* ClE_0;
} tyProc__Y2UNPRITZ1zrQm3RbueNKQ;
struct tySequence__Z3hh9bhfxd7zG8qbxXhhwgg {
NI len; tySequence__Z3hh9bhfxd7zG8qbxXhhwgg_Content* p;
};
typedef NU8 tyEnum_AnchorRule__g9b7A1W7y7TqDINcOHWBCuA;
struct tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg {
tyEnum_AnchorRule__g9b7A1W7y7TqDINcOHWBCuA ar;
NI priority;
NimStringV2 tooltip;
tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* target;
tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA info;
};
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_25) (tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg* x, tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg* y);
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_26) (tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg* x, tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg* y);
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg x, tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg y, void* ClE_0);
void* ClE_0;
} tyProc__1kKWUPLg9ae9bi9ao00boML9bw;
struct tySequence__T9cc8i7z3uFa6qWrxalwg0A {
NI len; tySequence__T9cc8i7z3uFa6qWrxalwg0A_Content* p;
};
struct tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg {
NimStringV2 content;
NimStringV2 sortName;
};
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_27) (tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg x, tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg y);
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_28) (tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg x, tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg y);
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A* x, tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A* y, void* ClE_0);
void* ClE_0;
} tyProc__dyWamSxQI9aSIOZWO07sqOA;
struct tySequence__CJOrWaM0fWekVRTE2AotGw {
NI len; tySequence__CJOrWaM0fWekVRTE2AotGw_Content* p;
};
struct tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A {
NimStringV2 keyword;
NimStringV2 link;
NimStringV2 linkTitle;
NimStringV2 linkDesc;
};
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_29) (tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A* x, tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A* y);
typedef N_CLOSURE_PTR(NI, TM__JdC9c6SaUkvO1XjYuWP1JWQ_30) (tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A* x, tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A* y);
#ifndef tySequence__8QRZaV9bKw9abKv9anJ280svg_Content_PP
#define tySequence__8QRZaV9bKw9abKv9anJ280svg_Content_PP
struct tySequence__8QRZaV9bKw9abKv9anJ280svg_Content { NI cap; tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw* data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__8QRZaV9bKw9abKv9anJ280svg_Content_PP
#define tySequence__8QRZaV9bKw9abKv9anJ280svg_Content_PP
struct tySequence__8QRZaV9bKw9abKv9anJ280svg_Content { NI cap; tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw* data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__W26glz615MtLNjhIPF9ceYQ_Content_PP
#define tySequence__W26glz615MtLNjhIPF9ceYQ_Content_PP
struct tySequence__W26glz615MtLNjhIPF9ceYQ_Content { NI cap; tyTuple__dUJLwg9a5XJOrdPHhWnhtgA data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__W26glz615MtLNjhIPF9ceYQ_Content_PP
#define tySequence__W26glz615MtLNjhIPF9ceYQ_Content_PP
struct tySequence__W26glz615MtLNjhIPF9ceYQ_Content { NI cap; tyTuple__dUJLwg9a5XJOrdPHhWnhtgA data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content_PP
#define tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content_PP
struct tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content { NI cap; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content_PP
#define tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content_PP
struct tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content { NI cap; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__48JTohSgTy339bRxHzUD8KA_Content_PP
#define tySequence__48JTohSgTy339bRxHzUD8KA_Content_PP
struct tySequence__48JTohSgTy339bRxHzUD8KA_Content { NI cap; NI32 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__59axsmyJq9bYh2MONDvuwAkA_Content_PP
#define tySequence__59axsmyJq9bYh2MONDvuwAkA_Content_PP
struct tySequence__59axsmyJq9bYh2MONDvuwAkA_Content { NI cap; tyTuple__msoRFpgv3EcbLwCh9arSpYw data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__59axsmyJq9bYh2MONDvuwAkA_Content_PP
#define tySequence__59axsmyJq9bYh2MONDvuwAkA_Content_PP
struct tySequence__59axsmyJq9bYh2MONDvuwAkA_Content { NI cap; tyTuple__msoRFpgv3EcbLwCh9arSpYw data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__7NPfIKL9byl5LKWg9aDddIoQ_Content_PP
#define tySequence__7NPfIKL9byl5LKWg9aDddIoQ_Content_PP
struct tySequence__7NPfIKL9byl5LKWg9aDddIoQ_Content { NI cap; tyObject_Item__xIWVCW9buZJq272Lwjb2YKA data[SEQ_DECL_SIZE];};
#endif
struct tyObject_ItemFragment__IhQ7achPd3lOf9czfgMuDXw {
NIM_BOOL isRst;
union{
struct {tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* rst;
} _isRst_1;
struct {NimStringV2 str;
} _isRst_2;
};
};
#ifndef tySequence__aNvCnksuz1F1Q4tMb9afk9aw_Content_PP
#define tySequence__aNvCnksuz1F1Q4tMb9afk9aw_Content_PP
struct tySequence__aNvCnksuz1F1Q4tMb9afk9aw_Content { NI cap; tyObject_ItemFragment__IhQ7achPd3lOf9czfgMuDXw data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__7NPfIKL9byl5LKWg9aDddIoQ_Content_PP
#define tySequence__7NPfIKL9byl5LKWg9aDddIoQ_Content_PP
struct tySequence__7NPfIKL9byl5LKWg9aDddIoQ_Content { NI cap; tyObject_Item__xIWVCW9buZJq272Lwjb2YKA data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__Z3hh9bhfxd7zG8qbxXhhwgg_Content_PP
#define tySequence__Z3hh9bhfxd7zG8qbxXhhwgg_Content_PP
struct tySequence__Z3hh9bhfxd7zG8qbxXhhwgg_Content { NI cap; tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__T9cc8i7z3uFa6qWrxalwg0A_Content_PP
#define tySequence__T9cc8i7z3uFa6qWrxalwg0A_Content_PP
struct tySequence__T9cc8i7z3uFa6qWrxalwg0A_Content { NI cap; tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__T9cc8i7z3uFa6qWrxalwg0A_Content_PP
#define tySequence__T9cc8i7z3uFa6qWrxalwg0A_Content_PP
struct tySequence__T9cc8i7z3uFa6qWrxalwg0A_Content { NI cap; tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__CJOrWaM0fWekVRTE2AotGw_Content_PP
#define tySequence__CJOrWaM0fWekVRTE2AotGw_Content_PP
struct tySequence__CJOrWaM0fWekVRTE2AotGw_Content { NI cap; tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__CJOrWaM0fWekVRTE2AotGw_Content_PP
#define tySequence__CJOrWaM0fWekVRTE2AotGw_Content_PP
struct tySequence__CJOrWaM0fWekVRTE2AotGw_Content { NI cap; tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A data[SEQ_DECL_SIZE];};
#endif
N_LIB_PRIVATE N_NIMCALL(tySequence__8QRZaV9bKw9abKv9anJ280svg, newSeq__reorder_658)(NI len);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___reorder_109)(tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw** dest, tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw* src, NIM_BOOL cyclic);
N_LIB_PRIVATE N_NIMCALL(void, sort__reorder_682)(tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw** a, NI aLen_0, tyProc__2nHAqbgRnYftVK29bj3cUUw cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__reorder_699)(tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw** a, NI aLen_0, tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw** b, NI bLen_0, NI lo, NI m, NI hi, tyProc__2nHAqbgRnYftVK29bj3cUUw cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
static N_INLINE(NI, star___pureZalgorithm_9)(NI x, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___reorder_113)(tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw** dest, tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw* src);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___reorder_51)(tySequence__8QRZaV9bKw9abKv9anJ280svg* dest);
N_LIB_PRIVATE N_NIMCALL(tySequence__W26glz615MtLNjhIPF9ceYQ, newSeq__lookups_736)(NI len);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___lookups_679)(tyTuple__dUJLwg9a5XJOrdPHhWnhtgA* dest, tyTuple__dUJLwg9a5XJOrdPHhWnhtgA src);
N_LIB_PRIVATE N_NIMCALL(void, sort__lookups_844)(tyTuple__dUJLwg9a5XJOrdPHhWnhtgA* a, NI aLen_0, tyProc__hXo9cch0n1FWVyxSpffNVFA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__lookups_861)(tyTuple__dUJLwg9a5XJOrdPHhWnhtgA* a, NI aLen_0, tyTuple__dUJLwg9a5XJOrdPHhWnhtgA* b, NI bLen_0, NI lo, NI m, NI hi, tyProc__hXo9cch0n1FWVyxSpffNVFA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___lookups_682)(tyTuple__dUJLwg9a5XJOrdPHhWnhtgA* dest, tyTuple__dUJLwg9a5XJOrdPHhWnhtgA src);
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, eqdestroy___lookups_809)(tySequence__W26glz615MtLNjhIPF9ceYQ* dest);
N_LIB_PRIVATE N_NIMCALL(tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA, newSeq__sigmatch_5129)(NI len);
N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__sigmatch_5148)(tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ** a, NI aLen_0, tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ** b, NI bLen_0, NI lo, NI m, NI hi, tyProc__MGxCE1n0simx8cOK1Fif5A cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___modulegraphs_9647)(tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ** dest, tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* src);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___modulegraphs_9569)(tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* dest);
N_LIB_PRIVATE N_NIMCALL(void, sort__sem_1924)(NimStringV2* a, NI aLen_0, tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, newSeq__stdZsyncio_509)(NI len);
N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__sem_1941)(NimStringV2* a, NI aLen_0, NimStringV2* b, NI bLen_0, NI lo, NI m, NI hi, tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___stdZassertions_19)(NimStringV2* dest, NimStringV2 src);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_3516)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* dest);
N_LIB_PRIVATE N_NIMCALL(NI, cmp__sem_1917)(NimStringV2 x, NimStringV2 y);
N_LIB_PRIVATE N_NIMCALL(void, sort__icZcbackend_248)(NI32* a, NI aLen_0, tyProc__CBoNLvw7Pjo72NRN8hQDEA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(tySequence__48JTohSgTy339bRxHzUD8KA, newSeq__icZic_4970)(NI len);
N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__icZcbackend_266)(NI32* a, NI aLen_0, NI32* b, NI bLen_0, NI lo, NI m, NI hi, tyProc__CBoNLvw7Pjo72NRN8hQDEA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___icZic_5027)(tySequence__48JTohSgTy339bRxHzUD8KA* dest);
N_LIB_PRIVATE N_NIMCALL(NI, cmp__int495056_287)(NI32 x, NI32 y);
N_LIB_PRIVATE N_NIMCALL(NI, binarySearch__packagesZdocutilsZhighlite_387)(NimStringV2* a, NI aLen_0, NimStringV2 key, tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA cmp);
N_LIB_PRIVATE N_NIMCALL(void, sort__packagesZdocutilsZrst_6328)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* a, NI aLen_0, tyProc__gB5GcYGEl9c9bdmXRILxVndQ cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(tySequence__59axsmyJq9bYh2MONDvuwAkA, newSeq__packagesZdocutilsZrst_6340)(NI len);
N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__packagesZdocutilsZrst_6359)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* a, NI aLen_0, tyTuple__msoRFpgv3EcbLwCh9arSpYw* b, NI bLen_0, NI lo, NI m, NI hi, tyProc__gB5GcYGEl9c9bdmXRILxVndQ cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___packagesZdocutilsZrst_3266)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* dest, tyTuple__msoRFpgv3EcbLwCh9arSpYw src);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___packagesZdocutilsZrst_3207)(tySequence__59axsmyJq9bYh2MONDvuwAkA* dest);
N_LIB_PRIVATE N_NIMCALL(NI, cmp__packagesZdocutilsZrst_6267)(tyTuple__msoRFpgv3EcbLwCh9arSpYw x, tyTuple__msoRFpgv3EcbLwCh9arSpYw y);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___stdZassertions_16)(NimStringV2* dest, NimStringV2 src);
N_LIB_PRIVATE N_NIMCALL(tySequence__7NPfIKL9byl5LKWg9aDddIoQ, newSeq__docgen_6506)(NI len);
N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__docgen_10915)(tyObject_Item__xIWVCW9buZJq272Lwjb2YKA* a, NI aLen_0, tyObject_Item__xIWVCW9buZJq272Lwjb2YKA* b, NI bLen_0, NI lo, NI m, NI hi, tyProc__a8bNfx9alse4w9aV5AVplKiA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___docgen_2337)(tyObject_Item__xIWVCW9buZJq272Lwjb2YKA* dest, tyObject_Item__xIWVCW9buZJq272Lwjb2YKA* src);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___docgen_2278)(tySequence__7NPfIKL9byl5LKWg9aDddIoQ* dest);
N_LIB_PRIVATE N_NIMCALL(tySequence__Z3hh9bhfxd7zG8qbxXhhwgg, newSeq__packagesZdocutilsZrst_12099)(NI len);
N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__packagesZdocutilsZrst_12205)(tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg* a, NI aLen_0, tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg* b, NI bLen_0, NI lo, NI m, NI hi, tyProc__Y2UNPRITZ1zrQm3RbueNKQ cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___packagesZdocutilsZrst_12049)(tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg* dest, tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg* src);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___packagesZdocutilsZrst_12172)(tySequence__Z3hh9bhfxd7zG8qbxXhhwgg* dest);
N_LIB_PRIVATE N_NIMCALL(tySequence__T9cc8i7z3uFa6qWrxalwg0A, newSeq__docgen_7918)(NI len);
N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__docgen_12850)(tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg* a, NI aLen_0, tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg* b, NI bLen_0, NI lo, NI m, NI hi, tyProc__1kKWUPLg9ae9bi9ao00boML9bw cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___docgen_2610)(tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg* dest, tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg src);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___docgen_2551)(tySequence__T9cc8i7z3uFa6qWrxalwg0A* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___docgen_2607)(tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg* dest, tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg src);
N_LIB_PRIVATE N_NIMCALL(void, sort__docgen_12832)(tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg* a, NI aLen_0, tyProc__1kKWUPLg9ae9bi9ao00boML9bw cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(tySequence__CJOrWaM0fWekVRTE2AotGw, newSeq__packagesZdocutilsZrstgen_6682)(NI len);
N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__packagesZdocutilsZrstgen_6701)(tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A* a, NI aLen_0, tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A* b, NI bLen_0, NI lo, NI m, NI hi, tyProc__dyWamSxQI9aSIOZWO07sqOA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___packagesZdocutilsZrstgen_2222)(tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A* dest, tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A* src);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___packagesZdocutilsZrstgen_2452)(tySequence__CJOrWaM0fWekVRTE2AotGw* dest);
extern NIM_BOOL nimInErrorMode__system_3980;
N_LIB_PRIVATE N_NIMCALL(void, fill__pureZstrutils_1560)(NI* a, NI aLen_0, NI value) {
NI xX60gensym163_;
xX60gensym163_ = ((NI)0);
{
while (1) {
if (!(xX60gensym163_ <= (aLen_0-1))) goto LA2 ;
a[xX60gensym163_] = value;
xX60gensym163_ += ((NI)1);
} LA2: ;
}
}
static N_INLINE(NI, star___pureZalgorithm_9)(NI x, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
NI result;
NI y;
result = (NI)0;
y = (NI)(order - ((NI)1));
result = (NI)((NI)(x ^ y) - y);
return result;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (NIM_BOOL*)0;
result = (&nimInErrorMode__system_3980);
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__reorder_699)(tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw** a, NI aLen_0, tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw** b, NI bLen_0, NI lo, NI m, NI hi, tyProc__2nHAqbgRnYftVK29bj3cUUw cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
NI j;
NI bb;
NI i;
NI k;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI T3_;
NI T4_;
T3_ = (NI)0;
T3_ = cmp.ClE_0? cmp.ClP_0(a[m], a[(NI)(m + ((NI)1))], cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_2)(cmp.ClP_0))(a[m], a[(NI)(m + ((NI)1))]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T4_ = (NI)0;
T4_ = star___pureZalgorithm_9(T3_, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T4_ <= ((NI)0))) goto LA5_;
goto BeforeRet_;
}
LA5_: ;
j = lo;
bb = ((NI)0);
{
while (1) {
tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw* T9_;
if (!(j <= m)) goto LA8 ;
T9_ = NIM_NIL;
T9_ = a[j];
a[j] = 0;
eqsink___reorder_113(&b[bb], T9_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
bb += ((NI)1);
j += ((NI)1);
} LA8: ;
}
i = ((NI)0);
k = lo;
{
while (1) {
NIM_BOOL T12_;
T12_ = (NIM_BOOL)0;
T12_ = (k < j);
if (!(T12_)) goto LA13_;
T12_ = (j <= hi);
LA13_: ;
if (!T12_) goto LA11 ;
{
NI T16_;
NI T17_;
tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw* T20_;
T16_ = (NI)0;
T16_ = cmp.ClE_0? cmp.ClP_0(b[i], a[j], cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_3)(cmp.ClP_0))(b[i], a[j]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T17_ = (NI)0;
T17_ = star___pureZalgorithm_9(T16_, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T17_ <= ((NI)0))) goto LA18_;
T20_ = NIM_NIL;
T20_ = b[i];
b[i] = 0;
eqsink___reorder_113(&a[k], T20_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i += ((NI)1);
}
goto LA14_;
LA18_: ;
{
tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw* T22_;
T22_ = NIM_NIL;
T22_ = a[j];
a[j] = 0;
eqsink___reorder_113(&a[k], T22_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
j += ((NI)1);
}
LA14_: ;
k += ((NI)1);
} LA11: ;
}
{
while (1) {
tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw* T25_;
if (!(k < j)) goto LA24 ;
T25_ = NIM_NIL;
T25_ = b[i];
b[i] = 0;
eqsink___reorder_113(&a[k], T25_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
k += ((NI)1);
i += ((NI)1);
} LA24: ;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, sort__reorder_682)(tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw** a, NI aLen_0, tyProc__2nHAqbgRnYftVK29bj3cUUw cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
tySequence__8QRZaV9bKw9abKv9anJ280svg b;
NI n;
NI s;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
b.len = 0; b.p = NIM_NIL;
n = aLen_0;
b = newSeq__reorder_658(((NI) ((NI)(n / ((NI)2)))));
s = ((NI)1);
{
while (1) {
NI m;
if (!(s < n)) goto LA2 ;
m = (NI)((NI)(n - ((NI)1)) - s);
{
while (1) {
if (!(((NI)0) <= m)) goto LA4 ;
mergeAlt__reorder_699(a, aLen_0, ((b).p) ? (b.p->data) : NIM_NIL, b.len, (((NI)((NI)(m - s) + ((NI)1)) >= ((NI)0)) ? (NI)((NI)(m - s) + ((NI)1)) : ((NI)0)), m, (NI)(m + s), cmp, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
m -= (NI)(s * ((NI)2));
} LA4: ;
}
s = (NI)(s * ((NI)2));
} LA2: ;
}
eqdestroy___reorder_51((&b));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__8QRZaV9bKw9abKv9anJ280svg, sorted__reorder_646)(tyObject_DepNcolonObjectType___e3eC0DKpMZNXV7n55sKrSw** a, NI aLen_0, tyProc__2nHAqbgRnYftVK29bj3cUUw cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
tySequence__8QRZaV9bKw9abKv9anJ280svg result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result.len = 0; result.p = NIM_NIL;
result = newSeq__reorder_658(((NI) (aLen_0)));
{
NI i;
NI colontmp_;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = (aLen_0-1);
res = ((NI)0);
{
while (1) {
if (!(res <= colontmp_)) goto LA3 ;
i = res;
eqcopy___reorder_109(&result.p->data[i], a[i], NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
res += ((NI)1);
} LA3: ;
}
}
sort__reorder_682(((result).p) ? (result.p->data) : NIM_NIL, result.len, cmp, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
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, mergeAlt__lookups_861)(tyTuple__dUJLwg9a5XJOrdPHhWnhtgA* a, NI aLen_0, tyTuple__dUJLwg9a5XJOrdPHhWnhtgA* b, NI bLen_0, NI lo, NI m, NI hi, tyProc__hXo9cch0n1FWVyxSpffNVFA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
NI j;
NI bb;
NI i;
NI k;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI T3_;
NI T4_;
T3_ = (NI)0;
T3_ = cmp.ClE_0? cmp.ClP_0(a[m], a[(NI)(m + ((NI)1))], cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_4)(cmp.ClP_0))(a[m], a[(NI)(m + ((NI)1))]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T4_ = (NI)0;
T4_ = star___pureZalgorithm_9(T3_, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T4_ <= ((NI)0))) goto LA5_;
goto BeforeRet_;
}
LA5_: ;
j = lo;
bb = ((NI)0);
{
while (1) {
tyTuple__dUJLwg9a5XJOrdPHhWnhtgA T9_;
if (!(j <= m)) goto LA8 ;
nimZeroMem((void*)(&T9_), sizeof(tyTuple__dUJLwg9a5XJOrdPHhWnhtgA));
T9_.Field0 = a[j].Field0;
T9_.Field1 = a[j].Field1;
nimZeroMem((void*)(&a[j]), sizeof(tyTuple__dUJLwg9a5XJOrdPHhWnhtgA));
eqsink___lookups_682((&b[bb]), T9_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
bb += ((NI)1);
j += ((NI)1);
} LA8: ;
}
i = ((NI)0);
k = lo;
{
while (1) {
NIM_BOOL T12_;
T12_ = (NIM_BOOL)0;
T12_ = (k < j);
if (!(T12_)) goto LA13_;
T12_ = (j <= hi);
LA13_: ;
if (!T12_) goto LA11 ;
{
NI T16_;
NI T17_;
tyTuple__dUJLwg9a5XJOrdPHhWnhtgA T20_;
T16_ = (NI)0;
T16_ = cmp.ClE_0? cmp.ClP_0(b[i], a[j], cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_5)(cmp.ClP_0))(b[i], a[j]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T17_ = (NI)0;
T17_ = star___pureZalgorithm_9(T16_, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T17_ <= ((NI)0))) goto LA18_;
nimZeroMem((void*)(&T20_), sizeof(tyTuple__dUJLwg9a5XJOrdPHhWnhtgA));
T20_.Field0 = b[i].Field0;
T20_.Field1 = b[i].Field1;
nimZeroMem((void*)(&b[i]), sizeof(tyTuple__dUJLwg9a5XJOrdPHhWnhtgA));
eqsink___lookups_682((&a[k]), T20_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i += ((NI)1);
}
goto LA14_;
LA18_: ;
{
tyTuple__dUJLwg9a5XJOrdPHhWnhtgA T22_;
nimZeroMem((void*)(&T22_), sizeof(tyTuple__dUJLwg9a5XJOrdPHhWnhtgA));
T22_.Field0 = a[j].Field0;
T22_.Field1 = a[j].Field1;
nimZeroMem((void*)(&a[j]), sizeof(tyTuple__dUJLwg9a5XJOrdPHhWnhtgA));
eqsink___lookups_682((&a[k]), T22_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
j += ((NI)1);
}
LA14_: ;
k += ((NI)1);
} LA11: ;
}
{
while (1) {
tyTuple__dUJLwg9a5XJOrdPHhWnhtgA T25_;
if (!(k < j)) goto LA24 ;
nimZeroMem((void*)(&T25_), sizeof(tyTuple__dUJLwg9a5XJOrdPHhWnhtgA));
T25_.Field0 = b[i].Field0;
T25_.Field1 = b[i].Field1;
nimZeroMem((void*)(&b[i]), sizeof(tyTuple__dUJLwg9a5XJOrdPHhWnhtgA));
eqsink___lookups_682((&a[k]), T25_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
k += ((NI)1);
i += ((NI)1);
} LA24: ;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, sort__lookups_844)(tyTuple__dUJLwg9a5XJOrdPHhWnhtgA* a, NI aLen_0, tyProc__hXo9cch0n1FWVyxSpffNVFA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
tySequence__W26glz615MtLNjhIPF9ceYQ b;
NI n;
NI s;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
b.len = 0; b.p = NIM_NIL;
n = aLen_0;
b = newSeq__lookups_736(((NI) ((NI)(n / ((NI)2)))));
s = ((NI)1);
{
while (1) {
NI m;
if (!(s < n)) goto LA2 ;
m = (NI)((NI)(n - ((NI)1)) - s);
{
while (1) {
if (!(((NI)0) <= m)) goto LA4 ;
mergeAlt__lookups_861(a, aLen_0, ((b).p) ? (b.p->data) : NIM_NIL, b.len, (((NI)((NI)(m - s) + ((NI)1)) >= ((NI)0)) ? (NI)((NI)(m - s) + ((NI)1)) : ((NI)0)), m, (NI)(m + s), cmp, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
m -= (NI)(s * ((NI)2));
} LA4: ;
}
s = (NI)(s * ((NI)2));
} LA2: ;
}
eqdestroy___lookups_809((&b));
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__W26glz615MtLNjhIPF9ceYQ, sorted__lookups_724)(tyTuple__dUJLwg9a5XJOrdPHhWnhtgA* a, NI aLen_0, tyProc__hXo9cch0n1FWVyxSpffNVFA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
tySequence__W26glz615MtLNjhIPF9ceYQ result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result.len = 0; result.p = NIM_NIL;
result = newSeq__lookups_736(((NI) (aLen_0)));
{
NI i;
NI colontmp_;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = (aLen_0-1);
res = ((NI)0);
{
while (1) {
if (!(res <= colontmp_)) goto LA3 ;
i = res;
eqcopy___lookups_679((&result.p->data[i]), a[i]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
res += ((NI)1);
} LA3: ;
}
}
sort__lookups_844(((result).p) ? (result.p->data) : NIM_NIL, result.len, cmp, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__sigmatch_5148)(tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ** a, NI aLen_0, tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ** b, NI bLen_0, NI lo, NI m, NI hi, tyProc__MGxCE1n0simx8cOK1Fif5A cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
NI j;
NI bb;
NI i;
NI k;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI T3_;
NI T4_;
T3_ = (NI)0;
T3_ = cmp.ClE_0? cmp.ClP_0(a[m], a[(NI)(m + ((NI)1))], cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_6)(cmp.ClP_0))(a[m], a[(NI)(m + ((NI)1))]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T4_ = (NI)0;
T4_ = star___pureZalgorithm_9(T3_, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T4_ <= ((NI)0))) goto LA5_;
goto BeforeRet_;
}
LA5_: ;
j = lo;
bb = ((NI)0);
{
while (1) {
tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T9_;
if (!(j <= m)) goto LA8 ;
T9_ = NIM_NIL;
T9_ = a[j];
a[j] = 0;
eqsink___modulegraphs_9647(&b[bb], T9_);
bb += ((NI)1);
j += ((NI)1);
} LA8: ;
}
i = ((NI)0);
k = lo;
{
while (1) {
NIM_BOOL T12_;
T12_ = (NIM_BOOL)0;
T12_ = (k < j);
if (!(T12_)) goto LA13_;
T12_ = (j <= hi);
LA13_: ;
if (!T12_) goto LA11 ;
{
NI T16_;
NI T17_;
tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T20_;
T16_ = (NI)0;
T16_ = cmp.ClE_0? cmp.ClP_0(b[i], a[j], cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_7)(cmp.ClP_0))(b[i], a[j]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T17_ = (NI)0;
T17_ = star___pureZalgorithm_9(T16_, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T17_ <= ((NI)0))) goto LA18_;
T20_ = NIM_NIL;
T20_ = b[i];
b[i] = 0;
eqsink___modulegraphs_9647(&a[k], T20_);
i += ((NI)1);
}
goto LA14_;
LA18_: ;
{
tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T22_;
T22_ = NIM_NIL;
T22_ = a[j];
a[j] = 0;
eqsink___modulegraphs_9647(&a[k], T22_);
j += ((NI)1);
}
LA14_: ;
k += ((NI)1);
} LA11: ;
}
{
while (1) {
tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T25_;
if (!(k < j)) goto LA24 ;
T25_ = NIM_NIL;
T25_ = b[i];
b[i] = 0;
eqsink___modulegraphs_9647(&a[k], T25_);
k += ((NI)1);
i += ((NI)1);
} LA24: ;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, sort__sigmatch_5117)(tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ** a, NI aLen_0, tyProc__MGxCE1n0simx8cOK1Fif5A cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA b;
NI n;
NI s;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
b.len = 0; b.p = NIM_NIL;
n = aLen_0;
b = newSeq__sigmatch_5129(((NI) ((NI)(n / ((NI)2)))));
s = ((NI)1);
{
while (1) {
NI m;
if (!(s < n)) goto LA2 ;
m = (NI)((NI)(n - ((NI)1)) - s);
{
while (1) {
if (!(((NI)0) <= m)) goto LA4 ;
mergeAlt__sigmatch_5148(a, aLen_0, ((b).p) ? (b.p->data) : NIM_NIL, b.len, (((NI)((NI)(m - s) + ((NI)1)) >= ((NI)0)) ? (NI)((NI)(m - s) + ((NI)1)) : ((NI)0)), m, (NI)(m + s), cmp, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
m -= (NI)(s * ((NI)2));
} LA4: ;
}
s = (NI)(s * ((NI)2));
} LA2: ;
}
eqdestroy___modulegraphs_9569((&b));
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__sem_1941)(NimStringV2* a, NI aLen_0, NimStringV2* b, NI bLen_0, NI lo, NI m, NI hi, tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
NI j;
NI bb;
NI i;
NI k;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI T3_;
NI T4_;
T3_ = (NI)0;
T3_ = cmp.ClE_0? cmp.ClP_0(a[m], a[(NI)(m + ((NI)1))], cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_8)(cmp.ClP_0))(a[m], a[(NI)(m + ((NI)1))]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T4_ = (NI)0;
T4_ = star___pureZalgorithm_9(T3_, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T4_ <= ((NI)0))) goto LA5_;
goto BeforeRet_;
}
LA5_: ;
j = lo;
bb = ((NI)0);
{
while (1) {
NimStringV2 T9_;
if (!(j <= m)) goto LA8 ;
T9_.len = 0; T9_.p = NIM_NIL;
T9_ = a[j];
a[j].len = 0; a[j].p = NIM_NIL;
eqsink___stdZassertions_19((&b[bb]), T9_);
bb += ((NI)1);
j += ((NI)1);
} LA8: ;
}
i = ((NI)0);
k = lo;
{
while (1) {
NIM_BOOL T12_;
T12_ = (NIM_BOOL)0;
T12_ = (k < j);
if (!(T12_)) goto LA13_;
T12_ = (j <= hi);
LA13_: ;
if (!T12_) goto LA11 ;
{
NI T16_;
NI T17_;
NimStringV2 T20_;
T16_ = (NI)0;
T16_ = cmp.ClE_0? cmp.ClP_0(b[i], a[j], cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_9)(cmp.ClP_0))(b[i], a[j]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T17_ = (NI)0;
T17_ = star___pureZalgorithm_9(T16_, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T17_ <= ((NI)0))) goto LA18_;
T20_.len = 0; T20_.p = NIM_NIL;
T20_ = b[i];
b[i].len = 0; b[i].p = NIM_NIL;
eqsink___stdZassertions_19((&a[k]), T20_);
i += ((NI)1);
}
goto LA14_;
LA18_: ;
{
NimStringV2 T22_;
T22_.len = 0; T22_.p = NIM_NIL;
T22_ = a[j];
a[j].len = 0; a[j].p = NIM_NIL;
eqsink___stdZassertions_19((&a[k]), T22_);
j += ((NI)1);
}
LA14_: ;
k += ((NI)1);
} LA11: ;
}
{
while (1) {
NimStringV2 T25_;
if (!(k < j)) goto LA24 ;
T25_.len = 0; T25_.p = NIM_NIL;
T25_ = b[i];
b[i].len = 0; b[i].p = NIM_NIL;
eqsink___stdZassertions_19((&a[k]), T25_);
k += ((NI)1);
i += ((NI)1);
} LA24: ;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, sort__sem_1924)(NimStringV2* a, NI aLen_0, tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
tySequence__sM4lkSb7zS6F7OVMvW9cffQ b;
NI n;
NI s;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
b.len = 0; b.p = NIM_NIL;
n = aLen_0;
b = newSeq__stdZsyncio_509(((NI) ((NI)(n / ((NI)2)))));
s = ((NI)1);
{
while (1) {
NI m;
if (!(s < n)) goto LA2 ;
m = (NI)((NI)(n - ((NI)1)) - s);
{
while (1) {
if (!(((NI)0) <= m)) goto LA4 ;
mergeAlt__sem_1941(a, aLen_0, ((b).p) ? (b.p->data) : NIM_NIL, b.len, (((NI)((NI)(m - s) + ((NI)1)) >= ((NI)0)) ? (NI)((NI)(m - s) + ((NI)1)) : ((NI)0)), m, (NI)(m + s), cmp, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
m -= (NI)(s * ((NI)2));
} LA4: ;
}
s = (NI)(s * ((NI)2));
} LA2: ;
}
eqdestroy___system_3516((&b));
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, sort__sem_1913)(NimStringV2* a, NI aLen_0, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
nimZeroMem((void*)(&T1_), sizeof(tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA));
T1_.ClP_0 = ((TM__JdC9c6SaUkvO1XjYuWP1JWQ_10) (cmp__sem_1917)); T1_.ClE_0 = NIM_NIL;
sort__sem_1924(a, aLen_0, T1_, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__icZcbackend_266)(NI32* a, NI aLen_0, NI32* b, NI bLen_0, NI lo, NI m, NI hi, tyProc__CBoNLvw7Pjo72NRN8hQDEA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
NI j;
NI bb;
NI i;
NI k;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI T3_;
NI T4_;
T3_ = (NI)0;
T3_ = cmp.ClE_0? cmp.ClP_0(a[m], a[(NI)(m + ((NI)1))], cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_11)(cmp.ClP_0))(a[m], a[(NI)(m + ((NI)1))]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T4_ = (NI)0;
T4_ = star___pureZalgorithm_9(T3_, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T4_ <= ((NI)0))) goto LA5_;
goto BeforeRet_;
}
LA5_: ;
j = lo;
bb = ((NI)0);
{
while (1) {
if (!(j <= m)) goto LA8 ;
b[bb] = a[j];
a[j] = 0;
bb += ((NI)1);
j += ((NI)1);
} LA8: ;
}
i = ((NI)0);
k = lo;
{
while (1) {
NIM_BOOL T11_;
T11_ = (NIM_BOOL)0;
T11_ = (k < j);
if (!(T11_)) goto LA12_;
T11_ = (j <= hi);
LA12_: ;
if (!T11_) goto LA10 ;
{
NI T15_;
NI T16_;
T15_ = (NI)0;
T15_ = cmp.ClE_0? cmp.ClP_0(b[i], a[j], cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_12)(cmp.ClP_0))(b[i], a[j]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T16_ = (NI)0;
T16_ = star___pureZalgorithm_9(T15_, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T16_ <= ((NI)0))) goto LA17_;
a[k] = b[i];
b[i] = 0;
i += ((NI)1);
}
goto LA13_;
LA17_: ;
{
a[k] = a[j];
a[j] = 0;
j += ((NI)1);
}
LA13_: ;
k += ((NI)1);
} LA10: ;
}
{
while (1) {
if (!(k < j)) goto LA21 ;
a[k] = b[i];
b[i] = 0;
k += ((NI)1);
i += ((NI)1);
} LA21: ;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, sort__icZcbackend_248)(NI32* a, NI aLen_0, tyProc__CBoNLvw7Pjo72NRN8hQDEA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
tySequence__48JTohSgTy339bRxHzUD8KA b;
NI n;
NI s;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
b.len = 0; b.p = NIM_NIL;
n = aLen_0;
b = newSeq__icZic_4970(((NI) ((NI)(n / ((NI)2)))));
s = ((NI)1);
{
while (1) {
NI m;
if (!(s < n)) goto LA2 ;
m = (NI)((NI)(n - ((NI)1)) - s);
{
while (1) {
if (!(((NI)0) <= m)) goto LA4 ;
mergeAlt__icZcbackend_266(a, aLen_0, ((b).p) ? (b.p->data) : NIM_NIL, b.len, (((NI)((NI)(m - s) + ((NI)1)) >= ((NI)0)) ? (NI)((NI)(m - s) + ((NI)1)) : ((NI)0)), m, (NI)(m + s), cmp, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
m -= (NI)(s * ((NI)2));
} LA4: ;
}
s = (NI)(s * ((NI)2));
} LA2: ;
}
eqdestroy___icZic_5027((&b));
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, sort__icZcbackend_238)(NI32* a, NI aLen_0, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
tyProc__CBoNLvw7Pjo72NRN8hQDEA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
nimZeroMem((void*)(&T1_), sizeof(tyProc__CBoNLvw7Pjo72NRN8hQDEA));
T1_.ClP_0 = ((TM__JdC9c6SaUkvO1XjYuWP1JWQ_13) (cmp__int495056_287)); T1_.ClE_0 = NIM_NIL;
sort__icZcbackend_248(a, aLen_0, T1_, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, binarySearch__packagesZdocutilsZhighlite_387)(NimStringV2* a, NI aLen_0, NimStringV2 key, tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA cmp) {
NI result;
NI len;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
len = aLen_0;
{
if (!(len == ((NI)0))) goto LA3_;
result = ((NI)-1);
goto BeforeRet_;
}
LA3_: ;
{
if (!(len == ((NI)1))) goto LA7_;
{
NI T11_;
T11_ = (NI)0;
T11_ = cmp.ClE_0? cmp.ClP_0(a[((NI)0)], key, cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_14)(cmp.ClP_0))(a[((NI)0)], key);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T11_ == ((NI)0))) goto LA12_;
result = ((NI)0);
goto BeforeRet_;
}
goto LA9_;
LA12_: ;
{
result = ((NI)-1);
goto BeforeRet_;
}
LA9_: ;
}
LA7_: ;
result = ((NI)0);
{
NI step;
NI cmpRes;
if (!((NI)(len & (NI)(len - ((NI)1))) == ((NI)0))) goto LA17_;
step = (NI)((NI32)(len) >> (NU32)(((NI)1)));
cmpRes = (NI)0;
{
while (1) {
NI i;
if (!(((NI)0) < step)) goto LA20 ;
i = (NI)(result | step);
cmpRes = cmp.ClE_0? cmp.ClP_0(a[i], key, cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_15)(cmp.ClP_0))(a[i], key);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!(cmpRes == ((NI)0))) goto LA23_;
result = i;
goto BeforeRet_;
}
LA23_: ;
{
if (!(cmpRes < ((NI)0))) goto LA27_;
result = i;
}
LA27_: ;
step = (NI)((NI32)(step) >> (NU32)(((NI)1)));
} LA20: ;
}
{
NI T31_;
T31_ = (NI)0;
T31_ = cmp.ClE_0? cmp.ClP_0(a[result], key, cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_16)(cmp.ClP_0))(a[result], key);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!!((T31_ == ((NI)0)))) goto LA32_;
result = ((NI)-1);
}
LA32_: ;
}
goto LA15_;
LA17_: ;
{
NI b;
NI cmpRes_2;
b = len;
cmpRes_2 = (NI)0;
{
while (1) {
NI mid;
if (!(result < b)) goto LA36 ;
mid = (NI)((NI32)((NI)(result + b)) >> (NU32)(((NI)1)));
cmpRes_2 = cmp.ClE_0? cmp.ClP_0(a[mid], key, cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_17)(cmp.ClP_0))(a[mid], key);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!(cmpRes_2 == ((NI)0))) goto LA39_;
result = mid;
goto BeforeRet_;
}
LA39_: ;
{
if (!(cmpRes_2 < ((NI)0))) goto LA43_;
result = (NI)(mid + ((NI)1));
}
goto LA41_;
LA43_: ;
{
b = mid;
}
LA41_: ;
} LA36: ;
}
{
NIM_BOOL T48_;
NI T50_;
T48_ = (NIM_BOOL)0;
T48_ = (len <= result);
if (T48_) goto LA49_;
T50_ = (NI)0;
T50_ = cmp.ClE_0? cmp.ClP_0(a[result], key, cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_18)(cmp.ClP_0))(a[result], key);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T48_ = !((T50_ == ((NI)0)));
LA49_: ;
if (!T48_) goto LA51_;
result = ((NI)-1);
}
LA51_: ;
}
LA15_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, binarySearch__packagesZdocutilsZhighlite_376)(NimStringV2* a, NI aLen_0, NimStringV2 key) {
NI result;
tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
nimZeroMem((void*)(&T1_), sizeof(tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA));
T1_.ClP_0 = ((TM__JdC9c6SaUkvO1XjYuWP1JWQ_19) (cmp__sem_1917)); T1_.ClE_0 = NIM_NIL;
result = binarySearch__packagesZdocutilsZhighlite_387(a, aLen_0, key, T1_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__packagesZdocutilsZrst_6359)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* a, NI aLen_0, tyTuple__msoRFpgv3EcbLwCh9arSpYw* b, NI bLen_0, NI lo, NI m, NI hi, tyProc__gB5GcYGEl9c9bdmXRILxVndQ cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
NI j;
NI bb;
NI i;
NI k;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI T3_;
NI T4_;
T3_ = (NI)0;
T3_ = cmp.ClE_0? cmp.ClP_0(a[m], a[(NI)(m + ((NI)1))], cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_20)(cmp.ClP_0))(a[m], a[(NI)(m + ((NI)1))]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T4_ = (NI)0;
T4_ = star___pureZalgorithm_9(T3_, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T4_ <= ((NI)0))) goto LA5_;
goto BeforeRet_;
}
LA5_: ;
j = lo;
bb = ((NI)0);
{
while (1) {
tyTuple__msoRFpgv3EcbLwCh9arSpYw T9_;
if (!(j <= m)) goto LA8 ;
T9_ = a[j];
nimZeroMem((void*)(&a[j]), sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw));
eqsink___packagesZdocutilsZrst_3266((&b[bb]), T9_);
bb += ((NI)1);
j += ((NI)1);
} LA8: ;
}
i = ((NI)0);
k = lo;
{
while (1) {
NIM_BOOL T12_;
T12_ = (NIM_BOOL)0;
T12_ = (k < j);
if (!(T12_)) goto LA13_;
T12_ = (j <= hi);
LA13_: ;
if (!T12_) goto LA11 ;
{
NI T16_;
NI T17_;
tyTuple__msoRFpgv3EcbLwCh9arSpYw T20_;
T16_ = (NI)0;
T16_ = cmp.ClE_0? cmp.ClP_0(b[i], a[j], cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_21)(cmp.ClP_0))(b[i], a[j]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T17_ = (NI)0;
T17_ = star___pureZalgorithm_9(T16_, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T17_ <= ((NI)0))) goto LA18_;
T20_ = b[i];
nimZeroMem((void*)(&b[i]), sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw));
eqsink___packagesZdocutilsZrst_3266((&a[k]), T20_);
i += ((NI)1);
}
goto LA14_;
LA18_: ;
{
tyTuple__msoRFpgv3EcbLwCh9arSpYw T22_;
T22_ = a[j];
nimZeroMem((void*)(&a[j]), sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw));
eqsink___packagesZdocutilsZrst_3266((&a[k]), T22_);
j += ((NI)1);
}
LA14_: ;
k += ((NI)1);
} LA11: ;
}
{
while (1) {
tyTuple__msoRFpgv3EcbLwCh9arSpYw T25_;
if (!(k < j)) goto LA24 ;
T25_ = b[i];
nimZeroMem((void*)(&b[i]), sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw));
eqsink___packagesZdocutilsZrst_3266((&a[k]), T25_);
k += ((NI)1);
i += ((NI)1);
} LA24: ;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, sort__packagesZdocutilsZrst_6328)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* a, NI aLen_0, tyProc__gB5GcYGEl9c9bdmXRILxVndQ cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
tySequence__59axsmyJq9bYh2MONDvuwAkA b;
NI n;
NI s;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
b.len = 0; b.p = NIM_NIL;
n = aLen_0;
b = newSeq__packagesZdocutilsZrst_6340(((NI) ((NI)(n / ((NI)2)))));
s = ((NI)1);
{
while (1) {
NI m;
if (!(s < n)) goto LA2 ;
m = (NI)((NI)(n - ((NI)1)) - s);
{
while (1) {
if (!(((NI)0) <= m)) goto LA4 ;
mergeAlt__packagesZdocutilsZrst_6359(a, aLen_0, ((b).p) ? (b.p->data) : NIM_NIL, b.len, (((NI)((NI)(m - s) + ((NI)1)) >= ((NI)0)) ? (NI)((NI)(m - s) + ((NI)1)) : ((NI)0)), m, (NI)(m + s), cmp, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
m -= (NI)(s * ((NI)2));
} LA4: ;
}
s = (NI)(s * ((NI)2));
} LA2: ;
}
eqdestroy___packagesZdocutilsZrst_3207((&b));
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, sort__packagesZdocutilsZrst_6263)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* a, NI aLen_0, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
tyProc__gB5GcYGEl9c9bdmXRILxVndQ T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
nimZeroMem((void*)(&T1_), sizeof(tyProc__gB5GcYGEl9c9bdmXRILxVndQ));
T1_.ClP_0 = ((TM__JdC9c6SaUkvO1XjYuWP1JWQ_22) (cmp__packagesZdocutilsZrst_6267)); T1_.ClE_0 = NIM_NIL;
sort__packagesZdocutilsZrst_6328(a, aLen_0, T1_, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, sorted__docgen_10738)(NimStringV2* a, NI aLen_0, tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
tySequence__sM4lkSb7zS6F7OVMvW9cffQ result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result.len = 0; result.p = NIM_NIL;
result = newSeq__stdZsyncio_509(((NI) (aLen_0)));
{
NI i;
NI colontmp_;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = (aLen_0-1);
res = ((NI)0);
{
while (1) {
if (!(res <= colontmp_)) goto LA3 ;
i = res;
eqcopy___stdZassertions_16((&result.p->data[i]), a[i]);
res += ((NI)1);
} LA3: ;
}
}
sort__sem_1924(((result).p) ? (result.p->data) : NIM_NIL, result.len, cmp, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__docgen_10915)(tyObject_Item__xIWVCW9buZJq272Lwjb2YKA* a, NI aLen_0, tyObject_Item__xIWVCW9buZJq272Lwjb2YKA* b, NI bLen_0, NI lo, NI m, NI hi, tyProc__a8bNfx9alse4w9aV5AVplKiA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
NI j;
NI bb;
NI i;
NI k;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI T3_;
NI T4_;
T3_ = (NI)0;
T3_ = cmp.ClE_0? cmp.ClP_0((&a[m]), (&a[(NI)(m + ((NI)1))]), cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_23)(cmp.ClP_0))((&a[m]), (&a[(NI)(m + ((NI)1))]));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T4_ = (NI)0;
T4_ = star___pureZalgorithm_9(T3_, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T4_ <= ((NI)0))) goto LA5_;
goto BeforeRet_;
}
LA5_: ;
j = lo;
bb = ((NI)0);
{
while (1) {
tyObject_Item__xIWVCW9buZJq272Lwjb2YKA T9_;
if (!(j <= m)) goto LA8 ;
T9_ = a[j];
nimZeroMem((void*)(&a[j]), sizeof(tyObject_Item__xIWVCW9buZJq272Lwjb2YKA));
eqsink___docgen_2337((&b[bb]), (&T9_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
bb += ((NI)1);
j += ((NI)1);
} LA8: ;
}
i = ((NI)0);
k = lo;
{
while (1) {
NIM_BOOL T12_;
T12_ = (NIM_BOOL)0;
T12_ = (k < j);
if (!(T12_)) goto LA13_;
T12_ = (j <= hi);
LA13_: ;
if (!T12_) goto LA11 ;
{
NI T16_;
NI T17_;
tyObject_Item__xIWVCW9buZJq272Lwjb2YKA T20_;
T16_ = (NI)0;
T16_ = cmp.ClE_0? cmp.ClP_0((&b[i]), (&a[j]), cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_24)(cmp.ClP_0))((&b[i]), (&a[j]));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T17_ = (NI)0;
T17_ = star___pureZalgorithm_9(T16_, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T17_ <= ((NI)0))) goto LA18_;
T20_ = b[i];
nimZeroMem((void*)(&b[i]), sizeof(tyObject_Item__xIWVCW9buZJq272Lwjb2YKA));
eqsink___docgen_2337((&a[k]), (&T20_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i += ((NI)1);
}
goto LA14_;
LA18_: ;
{
tyObject_Item__xIWVCW9buZJq272Lwjb2YKA T22_;
T22_ = a[j];
nimZeroMem((void*)(&a[j]), sizeof(tyObject_Item__xIWVCW9buZJq272Lwjb2YKA));
eqsink___docgen_2337((&a[k]), (&T22_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
j += ((NI)1);
}
LA14_: ;
k += ((NI)1);
} LA11: ;
}
{
while (1) {
tyObject_Item__xIWVCW9buZJq272Lwjb2YKA T25_;
if (!(k < j)) goto LA24 ;
T25_ = b[i];
nimZeroMem((void*)(&b[i]), sizeof(tyObject_Item__xIWVCW9buZJq272Lwjb2YKA));
eqsink___docgen_2337((&a[k]), (&T25_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
k += ((NI)1);
i += ((NI)1);
} LA24: ;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, sort__docgen_10897)(tyObject_Item__xIWVCW9buZJq272Lwjb2YKA* a, NI aLen_0, tyProc__a8bNfx9alse4w9aV5AVplKiA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
tySequence__7NPfIKL9byl5LKWg9aDddIoQ b;
NI n;
NI s;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
b.len = 0; b.p = NIM_NIL;
n = aLen_0;
b = newSeq__docgen_6506(((NI) ((NI)(n / ((NI)2)))));
s = ((NI)1);
{
while (1) {
NI m;
if (!(s < n)) goto LA2 ;
m = (NI)((NI)(n - ((NI)1)) - s);
{
while (1) {
if (!(((NI)0) <= m)) goto LA4 ;
mergeAlt__docgen_10915(a, aLen_0, ((b).p) ? (b.p->data) : NIM_NIL, b.len, (((NI)((NI)(m - s) + ((NI)1)) >= ((NI)0)) ? (NI)((NI)(m - s) + ((NI)1)) : ((NI)0)), m, (NI)(m + s), cmp, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
m -= (NI)(s * ((NI)2));
} LA4: ;
}
s = (NI)(s * ((NI)2));
} LA2: ;
}
eqdestroy___docgen_2278((&b));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__packagesZdocutilsZrst_12205)(tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg* a, NI aLen_0, tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg* b, NI bLen_0, NI lo, NI m, NI hi, tyProc__Y2UNPRITZ1zrQm3RbueNKQ cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
NI j;
NI bb;
NI i;
NI k;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI T3_;
NI T4_;
T3_ = (NI)0;
T3_ = cmp.ClE_0? cmp.ClP_0((&a[m]), (&a[(NI)(m + ((NI)1))]), cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_25)(cmp.ClP_0))((&a[m]), (&a[(NI)(m + ((NI)1))]));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T4_ = (NI)0;
T4_ = star___pureZalgorithm_9(T3_, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T4_ <= ((NI)0))) goto LA5_;
goto BeforeRet_;
}
LA5_: ;
j = lo;
bb = ((NI)0);
{
while (1) {
tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg T9_;
if (!(j <= m)) goto LA8 ;
nimZeroMem((void*)(&T9_), sizeof(tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg));
T9_ = a[j];
nimZeroMem((void*)(&a[j]), sizeof(tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg));
eqsink___packagesZdocutilsZrst_12049((&b[bb]), (&T9_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
bb += ((NI)1);
j += ((NI)1);
} LA8: ;
}
i = ((NI)0);
k = lo;
{
while (1) {
NIM_BOOL T12_;
T12_ = (NIM_BOOL)0;
T12_ = (k < j);
if (!(T12_)) goto LA13_;
T12_ = (j <= hi);
LA13_: ;
if (!T12_) goto LA11 ;
{
NI T16_;
NI T17_;
tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg T20_;
T16_ = (NI)0;
T16_ = cmp.ClE_0? cmp.ClP_0((&b[i]), (&a[j]), cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_26)(cmp.ClP_0))((&b[i]), (&a[j]));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T17_ = (NI)0;
T17_ = star___pureZalgorithm_9(T16_, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T17_ <= ((NI)0))) goto LA18_;
nimZeroMem((void*)(&T20_), sizeof(tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg));
T20_ = b[i];
nimZeroMem((void*)(&b[i]), sizeof(tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg));
eqsink___packagesZdocutilsZrst_12049((&a[k]), (&T20_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i += ((NI)1);
}
goto LA14_;
LA18_: ;
{
tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg T22_;
nimZeroMem((void*)(&T22_), sizeof(tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg));
T22_ = a[j];
nimZeroMem((void*)(&a[j]), sizeof(tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg));
eqsink___packagesZdocutilsZrst_12049((&a[k]), (&T22_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
j += ((NI)1);
}
LA14_: ;
k += ((NI)1);
} LA11: ;
}
{
while (1) {
tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg T25_;
if (!(k < j)) goto LA24 ;
nimZeroMem((void*)(&T25_), sizeof(tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg));
T25_ = b[i];
nimZeroMem((void*)(&b[i]), sizeof(tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg));
eqsink___packagesZdocutilsZrst_12049((&a[k]), (&T25_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
k += ((NI)1);
i += ((NI)1);
} LA24: ;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, sort__packagesZdocutilsZrst_12087)(tyObject_LinkDef__gm014e5aOYcvs0zK8vQ9cXg* a, NI aLen_0, tyProc__Y2UNPRITZ1zrQm3RbueNKQ cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
tySequence__Z3hh9bhfxd7zG8qbxXhhwgg b;
NI n;
NI s;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
b.len = 0; b.p = NIM_NIL;
n = aLen_0;
b = newSeq__packagesZdocutilsZrst_12099(((NI) ((NI)(n / ((NI)2)))));
s = ((NI)1);
{
while (1) {
NI m;
if (!(s < n)) goto LA2 ;
m = (NI)((NI)(n - ((NI)1)) - s);
{
while (1) {
if (!(((NI)0) <= m)) goto LA4 ;
mergeAlt__packagesZdocutilsZrst_12205(a, aLen_0, ((b).p) ? (b.p->data) : NIM_NIL, b.len, (((NI)((NI)(m - s) + ((NI)1)) >= ((NI)0)) ? (NI)((NI)(m - s) + ((NI)1)) : ((NI)0)), m, (NI)(m + s), cmp, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
m -= (NI)(s * ((NI)2));
} LA4: ;
}
s = (NI)(s * ((NI)2));
} LA2: ;
}
eqdestroy___packagesZdocutilsZrst_12172((&b));
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__docgen_12850)(tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg* a, NI aLen_0, tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg* b, NI bLen_0, NI lo, NI m, NI hi, tyProc__1kKWUPLg9ae9bi9ao00boML9bw cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
NI j;
NI bb;
NI i;
NI k;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI T3_;
NI T4_;
T3_ = (NI)0;
T3_ = cmp.ClE_0? cmp.ClP_0(a[m], a[(NI)(m + ((NI)1))], cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_27)(cmp.ClP_0))(a[m], a[(NI)(m + ((NI)1))]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T4_ = (NI)0;
T4_ = star___pureZalgorithm_9(T3_, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T4_ <= ((NI)0))) goto LA5_;
goto BeforeRet_;
}
LA5_: ;
j = lo;
bb = ((NI)0);
{
while (1) {
tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg T9_;
if (!(j <= m)) goto LA8 ;
T9_ = a[j];
nimZeroMem((void*)(&a[j]), sizeof(tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg));
eqsink___docgen_2610((&b[bb]), T9_);
bb += ((NI)1);
j += ((NI)1);
} LA8: ;
}
i = ((NI)0);
k = lo;
{
while (1) {
NIM_BOOL T12_;
T12_ = (NIM_BOOL)0;
T12_ = (k < j);
if (!(T12_)) goto LA13_;
T12_ = (j <= hi);
LA13_: ;
if (!T12_) goto LA11 ;
{
NI T16_;
NI T17_;
tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg T20_;
T16_ = (NI)0;
T16_ = cmp.ClE_0? cmp.ClP_0(b[i], a[j], cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_28)(cmp.ClP_0))(b[i], a[j]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T17_ = (NI)0;
T17_ = star___pureZalgorithm_9(T16_, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T17_ <= ((NI)0))) goto LA18_;
T20_ = b[i];
nimZeroMem((void*)(&b[i]), sizeof(tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg));
eqsink___docgen_2610((&a[k]), T20_);
i += ((NI)1);
}
goto LA14_;
LA18_: ;
{
tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg T22_;
T22_ = a[j];
nimZeroMem((void*)(&a[j]), sizeof(tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg));
eqsink___docgen_2610((&a[k]), T22_);
j += ((NI)1);
}
LA14_: ;
k += ((NI)1);
} LA11: ;
}
{
while (1) {
tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg T25_;
if (!(k < j)) goto LA24 ;
T25_ = b[i];
nimZeroMem((void*)(&b[i]), sizeof(tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg));
eqsink___docgen_2610((&a[k]), T25_);
k += ((NI)1);
i += ((NI)1);
} LA24: ;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, sort__docgen_12832)(tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg* a, NI aLen_0, tyProc__1kKWUPLg9ae9bi9ao00boML9bw cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
tySequence__T9cc8i7z3uFa6qWrxalwg0A b;
NI n;
NI s;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
b.len = 0; b.p = NIM_NIL;
n = aLen_0;
b = newSeq__docgen_7918(((NI) ((NI)(n / ((NI)2)))));
s = ((NI)1);
{
while (1) {
NI m;
if (!(s < n)) goto LA2 ;
m = (NI)((NI)(n - ((NI)1)) - s);
{
while (1) {
if (!(((NI)0) <= m)) goto LA4 ;
mergeAlt__docgen_12850(a, aLen_0, ((b).p) ? (b.p->data) : NIM_NIL, b.len, (((NI)((NI)(m - s) + ((NI)1)) >= ((NI)0)) ? (NI)((NI)(m - s) + ((NI)1)) : ((NI)0)), m, (NI)(m + s), cmp, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
m -= (NI)(s * ((NI)2));
} LA4: ;
}
s = (NI)(s * ((NI)2));
} LA2: ;
}
eqdestroy___docgen_2551((&b));
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__T9cc8i7z3uFa6qWrxalwg0A, sorted__docgen_12985)(tyObject_TocItem__BaJ22bnKQBH9b9aBTBko4nJg* a, NI aLen_0, tyProc__1kKWUPLg9ae9bi9ao00boML9bw cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
tySequence__T9cc8i7z3uFa6qWrxalwg0A result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result.len = 0; result.p = NIM_NIL;
result = newSeq__docgen_7918(((NI) (aLen_0)));
{
NI i;
NI colontmp_;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = (aLen_0-1);
res = ((NI)0);
{
while (1) {
if (!(res <= colontmp_)) goto LA3 ;
i = res;
eqcopy___docgen_2607((&result.p->data[i]), a[i]);
res += ((NI)1);
} LA3: ;
}
}
sort__docgen_12832(((result).p) ? (result.p->data) : NIM_NIL, result.len, cmp, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__packagesZdocutilsZrstgen_6701)(tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A* a, NI aLen_0, tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A* b, NI bLen_0, NI lo, NI m, NI hi, tyProc__dyWamSxQI9aSIOZWO07sqOA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
NI j;
NI bb;
NI i;
NI k;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI T3_;
NI T4_;
T3_ = (NI)0;
T3_ = cmp.ClE_0? cmp.ClP_0((&a[m]), (&a[(NI)(m + ((NI)1))]), cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_29)(cmp.ClP_0))((&a[m]), (&a[(NI)(m + ((NI)1))]));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T4_ = (NI)0;
T4_ = star___pureZalgorithm_9(T3_, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T4_ <= ((NI)0))) goto LA5_;
goto BeforeRet_;
}
LA5_: ;
j = lo;
bb = ((NI)0);
{
while (1) {
tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A T9_;
if (!(j <= m)) goto LA8 ;
T9_ = a[j];
nimZeroMem((void*)(&a[j]), sizeof(tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A));
eqsink___packagesZdocutilsZrstgen_2222((&b[bb]), (&T9_));
bb += ((NI)1);
j += ((NI)1);
} LA8: ;
}
i = ((NI)0);
k = lo;
{
while (1) {
NIM_BOOL T12_;
T12_ = (NIM_BOOL)0;
T12_ = (k < j);
if (!(T12_)) goto LA13_;
T12_ = (j <= hi);
LA13_: ;
if (!T12_) goto LA11 ;
{
NI T16_;
NI T17_;
tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A T20_;
T16_ = (NI)0;
T16_ = cmp.ClE_0? cmp.ClP_0((&b[i]), (&a[j]), cmp.ClE_0):((TM__JdC9c6SaUkvO1XjYuWP1JWQ_30)(cmp.ClP_0))((&b[i]), (&a[j]));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T17_ = (NI)0;
T17_ = star___pureZalgorithm_9(T16_, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T17_ <= ((NI)0))) goto LA18_;
T20_ = b[i];
nimZeroMem((void*)(&b[i]), sizeof(tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A));
eqsink___packagesZdocutilsZrstgen_2222((&a[k]), (&T20_));
i += ((NI)1);
}
goto LA14_;
LA18_: ;
{
tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A T22_;
T22_ = a[j];
nimZeroMem((void*)(&a[j]), sizeof(tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A));
eqsink___packagesZdocutilsZrstgen_2222((&a[k]), (&T22_));
j += ((NI)1);
}
LA14_: ;
k += ((NI)1);
} LA11: ;
}
{
while (1) {
tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A T25_;
if (!(k < j)) goto LA24 ;
T25_ = b[i];
nimZeroMem((void*)(&b[i]), sizeof(tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A));
eqsink___packagesZdocutilsZrstgen_2222((&a[k]), (&T25_));
k += ((NI)1);
i += ((NI)1);
} LA24: ;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, sort__packagesZdocutilsZrstgen_6671)(tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A* a, NI aLen_0, tyProc__dyWamSxQI9aSIOZWO07sqOA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
tySequence__CJOrWaM0fWekVRTE2AotGw b;
NI n;
NI s;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
b.len = 0; b.p = NIM_NIL;
n = aLen_0;
b = newSeq__packagesZdocutilsZrstgen_6682(((NI) ((NI)(n / ((NI)2)))));
s = ((NI)1);
{
while (1) {
NI m;
if (!(s < n)) goto LA2 ;
m = (NI)((NI)(n - ((NI)1)) - s);
{
while (1) {
if (!(((NI)0) <= m)) goto LA4 ;
mergeAlt__packagesZdocutilsZrstgen_6701(a, aLen_0, ((b).p) ? (b.p->data) : NIM_NIL, b.len, (((NI)((NI)(m - s) + ((NI)1)) >= ((NI)0)) ? (NI)((NI)(m - s) + ((NI)1)) : ((NI)0)), m, (NI)(m + s), cmp, order);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
m -= (NI)(s * ((NI)2));
} LA4: ;
}
s = (NI)(s * ((NI)2));
} LA2: ;
}
eqdestroy___packagesZdocutilsZrstgen_2452((&b));
}BeforeRet_: ;
}