uCBQN/src/core.h

60 lines
834 B
C

#pragma once
#include "h.h"
#include "core/stuff.h"
#if MM==0
#include "opt/mm_malloc.h"
#undef ENABLE_GC
#define ENABLE_GC 0
#elif MM==1
#include "opt/mm_buddy.h"
#elif MM==2
#include "opt/mm_2buddy.h"
#else
#error "bad MM value"
#endif
#include "core/gstack.h"
#include "core/harr.h"
#include "core/numarr.h"
#include "core/chrarr.h"
#include "core/fillarr.h"
#include "core/derv.h"
#include "core/arrFns.h"
#ifdef RT_VERIFY
extern GLOBAL B r1Objs[RT_LEN];
#endif
typedef struct BFn {
struct Fun;
u8 nid;
B ident;
FC2 uc1;
BBBB2B ucw;
FC1 im, is;
FC2 iw; B rtInvSwap;
FC2 ix; B rtInvReg;
} BFn;
typedef struct BMd1 {
struct Md1;
u8 nid;
D1C1 im;
D1C2 iw;
D1C2 ix;
} BMd1;
typedef struct BMd2 {
struct Md2;
u8 nid;
D2C1 im;
D2C2 iw;
D2C2 ix;
M2C4 uc1;
M2C5 ucw;
} BMd2;