/* Machine generated file, do not modify */
#include "HsFFI.h"
static HugsAPI4 *hugs = 0;
#include "Storable_aux.h"

static void hugsprim_writeWord64OffPtr_44(HugsStackPtr);
static void hugsprim_writeWord64OffPtr_44(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsWord64 arg3;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    arg3 = hugs->getWord64();
    writeWord64OffPtr(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}
#include "Storable_aux.h"

static void hugsprim_writeWord32OffPtr_43(HugsStackPtr);
static void hugsprim_writeWord32OffPtr_43(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsWord32 arg3;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    arg3 = hugs->getWord32();
    writeWord32OffPtr(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}
#include "Storable_aux.h"

static void hugsprim_writeWord16OffPtr_42(HugsStackPtr);
static void hugsprim_writeWord16OffPtr_42(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsWord16 arg3;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    arg3 = hugs->getWord16();
    writeWord16OffPtr(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}
#include "Storable_aux.h"

static void hugsprim_writeWord8OffPtr_41(HugsStackPtr);
static void hugsprim_writeWord8OffPtr_41(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsWord8 arg3;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    arg3 = hugs->getWord8();
    writeWord8OffPtr(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}
#include "Storable_aux.h"

static void hugsprim_writeInt64OffPtr_40(HugsStackPtr);
static void hugsprim_writeInt64OffPtr_40(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsWord64 arg3;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    arg3 = hugs->getInt64();
    writeInt64OffPtr(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}
#include "Storable_aux.h"

static void hugsprim_writeInt32OffPtr_39(HugsStackPtr);
static void hugsprim_writeInt32OffPtr_39(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsWord32 arg3;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    arg3 = hugs->getInt32();
    writeInt32OffPtr(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}
#include "Storable_aux.h"

static void hugsprim_writeInt16OffPtr_38(HugsStackPtr);
static void hugsprim_writeInt16OffPtr_38(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsWord16 arg3;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    arg3 = hugs->getInt16();
    writeInt16OffPtr(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}
#include "Storable_aux.h"

static void hugsprim_writeInt8OffPtr_37(HugsStackPtr);
static void hugsprim_writeInt8OffPtr_37(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsWord8 arg3;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    arg3 = hugs->getInt8();
    writeInt8OffPtr(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}
#include "Storable_aux.h"

static void hugsprim_writeStablePtrOffPtr_36(HugsStackPtr);
static void hugsprim_writeStablePtrOffPtr_36(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsStablePtr arg3;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    arg3 = hugs->getStablePtr4();
    writeStablePtrOffPtr(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}
#include "Storable_aux.h"

static void hugsprim_writeDoubleOffPtr_35(HugsStackPtr);
static void hugsprim_writeDoubleOffPtr_35(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsDouble arg3;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    arg3 = hugs->getDouble();
    writeDoubleOffPtr(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}
#include "Storable_aux.h"

static void hugsprim_writeFloatOffPtr_34(HugsStackPtr);
static void hugsprim_writeFloatOffPtr_34(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsFloat arg3;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    arg3 = hugs->getFloat();
    writeFloatOffPtr(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}
#include "Storable_aux.h"

static void hugsprim_writeFunPtrOffPtr_33(HugsStackPtr);
static void hugsprim_writeFunPtrOffPtr_33(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsFunPtr arg3;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    arg3 = hugs->getFunPtr();
    writeFunPtrOffPtr(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}
#include "Storable_aux.h"

static void hugsprim_writePtrOffPtr_32(HugsStackPtr);
static void hugsprim_writePtrOffPtr_32(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsPtr arg3;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    arg3 = hugs->getPtr();
    writePtrOffPtr(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}
#include "Storable_aux.h"

static void hugsprim_writeCharOffPtr_31(HugsStackPtr);
static void hugsprim_writeCharOffPtr_31(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsChar arg3;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    arg3 = hugs->getChar();
    writeCharOffPtr(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}
#include "Storable_aux.h"

static void hugsprim_writeIntOffPtr_30(HugsStackPtr);
static void hugsprim_writeIntOffPtr_30(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsInt arg3;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    arg3 = hugs->getInt();
    writeIntOffPtr(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}
#include "Storable_aux.h"

static void hugsprim_readWord64OffPtr_29(HugsStackPtr);
static void hugsprim_readWord64OffPtr_29(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsWord64 res1;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    res1 = readWord64OffPtr(arg1, arg2);
    hugs->putWord64(res1);
    hugs->returnIO(hugs_root,1);
}
#include "Storable_aux.h"

static void hugsprim_readWord32OffPtr_28(HugsStackPtr);
static void hugsprim_readWord32OffPtr_28(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsWord32 res1;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    res1 = readWord32OffPtr(arg1, arg2);
    hugs->putWord32(res1);
    hugs->returnIO(hugs_root,1);
}
#include "Storable_aux.h"

static void hugsprim_readWord16OffPtr_27(HugsStackPtr);
static void hugsprim_readWord16OffPtr_27(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsWord16 res1;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    res1 = readWord16OffPtr(arg1, arg2);
    hugs->putWord16(res1);
    hugs->returnIO(hugs_root,1);
}
#include "Storable_aux.h"

static void hugsprim_readWord8OffPtr_26(HugsStackPtr);
static void hugsprim_readWord8OffPtr_26(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsWord8 res1;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    res1 = readWord8OffPtr(arg1, arg2);
    hugs->putWord8(res1);
    hugs->returnIO(hugs_root,1);
}
#include "Storable_aux.h"

static void hugsprim_readInt64OffPtr_25(HugsStackPtr);
static void hugsprim_readInt64OffPtr_25(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsWord64 res1;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    res1 = readInt64OffPtr(arg1, arg2);
    hugs->putInt64(res1);
    hugs->returnIO(hugs_root,1);
}
#include "Storable_aux.h"

static void hugsprim_readInt32OffPtr_24(HugsStackPtr);
static void hugsprim_readInt32OffPtr_24(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsWord32 res1;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    res1 = readInt32OffPtr(arg1, arg2);
    hugs->putInt32(res1);
    hugs->returnIO(hugs_root,1);
}
#include "Storable_aux.h"

static void hugsprim_readInt16OffPtr_23(HugsStackPtr);
static void hugsprim_readInt16OffPtr_23(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsWord16 res1;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    res1 = readInt16OffPtr(arg1, arg2);
    hugs->putInt16(res1);
    hugs->returnIO(hugs_root,1);
}
#include "Storable_aux.h"

static void hugsprim_readInt8OffPtr_22(HugsStackPtr);
static void hugsprim_readInt8OffPtr_22(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsWord8 res1;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    res1 = readInt8OffPtr(arg1, arg2);
    hugs->putInt8(res1);
    hugs->returnIO(hugs_root,1);
}
#include "Storable_aux.h"

static void hugsprim_readStablePtrOffPtr_21(HugsStackPtr);
static void hugsprim_readStablePtrOffPtr_21(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsStablePtr res1;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    res1 = readStablePtrOffPtr(arg1, arg2);
    hugs->putStablePtr4(res1);
    hugs->returnIO(hugs_root,1);
}
#include "Storable_aux.h"

static void hugsprim_readDoubleOffPtr_20(HugsStackPtr);
static void hugsprim_readDoubleOffPtr_20(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsDouble res1;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    res1 = readDoubleOffPtr(arg1, arg2);
    hugs->putDouble(res1);
    hugs->returnIO(hugs_root,1);
}
#include "Storable_aux.h"

static void hugsprim_readFloatOffPtr_19(HugsStackPtr);
static void hugsprim_readFloatOffPtr_19(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsFloat res1;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    res1 = readFloatOffPtr(arg1, arg2);
    hugs->putFloat(res1);
    hugs->returnIO(hugs_root,1);
}
#include "Storable_aux.h"

static void hugsprim_readFunPtrOffPtr_18(HugsStackPtr);
static void hugsprim_readFunPtrOffPtr_18(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsFunPtr res1;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    res1 = readFunPtrOffPtr(arg1, arg2);
    hugs->putFunPtr(res1);
    hugs->returnIO(hugs_root,1);
}
#include "Storable_aux.h"

static void hugsprim_readPtrOffPtr_17(HugsStackPtr);
static void hugsprim_readPtrOffPtr_17(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsPtr res1;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    res1 = readPtrOffPtr(arg1, arg2);
    hugs->putPtr(res1);
    hugs->returnIO(hugs_root,1);
}
#include "Storable_aux.h"

static void hugsprim_readCharOffPtr_16(HugsStackPtr);
static void hugsprim_readCharOffPtr_16(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsChar res1;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    res1 = readCharOffPtr(arg1, arg2);
    hugs->putChar(res1);
    hugs->returnIO(hugs_root,1);
}
#include "Storable_aux.h"

static void hugsprim_readIntOffPtr_15(HugsStackPtr);
static void hugsprim_readIntOffPtr_15(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    HsInt arg2;
    HsInt res1;
    arg1 = hugs->getPtr();
    arg2 = hugs->getInt();
    res1 = readIntOffPtr(arg1, arg2);
    hugs->putInt(res1);
    hugs->returnIO(hugs_root,1);
}
#include "Storable_aux.h"

static void hugsprim_szWord64_14(HugsStackPtr);
static void hugsprim_szWord64_14(HugsStackPtr hugs_root)
{
    HsInt res1;
    res1 = szWord64();
    hugs->putInt(res1);
}
#include "Storable_aux.h"

static void hugsprim_szWord32_13(HugsStackPtr);
static void hugsprim_szWord32_13(HugsStackPtr hugs_root)
{
    HsInt res1;
    res1 = szWord32();
    hugs->putInt(res1);
}
#include "Storable_aux.h"

static void hugsprim_szWord16_12(HugsStackPtr);
static void hugsprim_szWord16_12(HugsStackPtr hugs_root)
{
    HsInt res1;
    res1 = szWord16();
    hugs->putInt(res1);
}
#include "Storable_aux.h"

static void hugsprim_szWord8_11(HugsStackPtr);
static void hugsprim_szWord8_11(HugsStackPtr hugs_root)
{
    HsInt res1;
    res1 = szWord8();
    hugs->putInt(res1);
}
#include "Storable_aux.h"

static void hugsprim_szInt64_10(HugsStackPtr);
static void hugsprim_szInt64_10(HugsStackPtr hugs_root)
{
    HsInt res1;
    res1 = szInt64();
    hugs->putInt(res1);
}
#include "Storable_aux.h"

static void hugsprim_szInt32_9(HugsStackPtr);
static void hugsprim_szInt32_9(HugsStackPtr hugs_root)
{
    HsInt res1;
    res1 = szInt32();
    hugs->putInt(res1);
}
#include "Storable_aux.h"

static void hugsprim_szInt16_8(HugsStackPtr);
static void hugsprim_szInt16_8(HugsStackPtr hugs_root)
{
    HsInt res1;
    res1 = szInt16();
    hugs->putInt(res1);
}
#include "Storable_aux.h"

static void hugsprim_szInt8_7(HugsStackPtr);
static void hugsprim_szInt8_7(HugsStackPtr hugs_root)
{
    HsInt res1;
    res1 = szInt8();
    hugs->putInt(res1);
}
#include "Storable_aux.h"

static void hugsprim_szStablePtr_6(HugsStackPtr);
static void hugsprim_szStablePtr_6(HugsStackPtr hugs_root)
{
    HsInt res1;
    res1 = szStablePtr();
    hugs->putInt(res1);
}
#include "Storable_aux.h"

static void hugsprim_szDouble_5(HugsStackPtr);
static void hugsprim_szDouble_5(HugsStackPtr hugs_root)
{
    HsInt res1;
    res1 = szDouble();
    hugs->putInt(res1);
}
#include "Storable_aux.h"

static void hugsprim_szFloat_4(HugsStackPtr);
static void hugsprim_szFloat_4(HugsStackPtr hugs_root)
{
    HsInt res1;
    res1 = szFloat();
    hugs->putInt(res1);
}
#include "Storable_aux.h"

static void hugsprim_szFunPtr_3(HugsStackPtr);
static void hugsprim_szFunPtr_3(HugsStackPtr hugs_root)
{
    HsInt res1;
    res1 = szFunPtr();
    hugs->putInt(res1);
}
#include "Storable_aux.h"

static void hugsprim_szPtr_2(HugsStackPtr);
static void hugsprim_szPtr_2(HugsStackPtr hugs_root)
{
    HsInt res1;
    res1 = szPtr();
    hugs->putInt(res1);
}
#include "Storable_aux.h"

static void hugsprim_szChar_1(HugsStackPtr);
static void hugsprim_szChar_1(HugsStackPtr hugs_root)
{
    HsInt res1;
    res1 = szChar();
    hugs->putInt(res1);
}
#include "Storable_aux.h"

static void hugsprim_szInt_0(HugsStackPtr);
static void hugsprim_szInt_0(HugsStackPtr hugs_root)
{
    HsInt res1;
    res1 = szInt();
    hugs->putInt(res1);
}

static struct hugs_primitive hugs_primTable[] = {
    {"writeWord64OffPtr", 5, hugsprim_writeWord64OffPtr_44},
    {"writeWord32OffPtr", 5, hugsprim_writeWord32OffPtr_43},
    {"writeWord16OffPtr", 5, hugsprim_writeWord16OffPtr_42},
    {"writeWord8OffPtr", 5, hugsprim_writeWord8OffPtr_41},
    {"writeInt64OffPtr", 5, hugsprim_writeInt64OffPtr_40},
    {"writeInt32OffPtr", 5, hugsprim_writeInt32OffPtr_39},
    {"writeInt16OffPtr", 5, hugsprim_writeInt16OffPtr_38},
    {"writeInt8OffPtr", 5, hugsprim_writeInt8OffPtr_37},
    {"writeStablePtrOffPtr", 5, hugsprim_writeStablePtrOffPtr_36},
    {"writeDoubleOffPtr", 5, hugsprim_writeDoubleOffPtr_35},
    {"writeFloatOffPtr", 5, hugsprim_writeFloatOffPtr_34},
    {"writeFunPtrOffPtr", 5, hugsprim_writeFunPtrOffPtr_33},
    {"writePtrOffPtr", 5, hugsprim_writePtrOffPtr_32},
    {"writeCharOffPtr", 5, hugsprim_writeCharOffPtr_31},
    {"writeIntOffPtr", 5, hugsprim_writeIntOffPtr_30},
    {"readWord64OffPtr", 4, hugsprim_readWord64OffPtr_29},
    {"readWord32OffPtr", 4, hugsprim_readWord32OffPtr_28},
    {"readWord16OffPtr", 4, hugsprim_readWord16OffPtr_27},
    {"readWord8OffPtr", 4, hugsprim_readWord8OffPtr_26},
    {"readInt64OffPtr", 4, hugsprim_readInt64OffPtr_25},
    {"readInt32OffPtr", 4, hugsprim_readInt32OffPtr_24},
    {"readInt16OffPtr", 4, hugsprim_readInt16OffPtr_23},
    {"readInt8OffPtr", 4, hugsprim_readInt8OffPtr_22},
    {"readStablePtrOffPtr", 4, hugsprim_readStablePtrOffPtr_21},
    {"readDoubleOffPtr", 4, hugsprim_readDoubleOffPtr_20},
    {"readFloatOffPtr", 4, hugsprim_readFloatOffPtr_19},
    {"readFunPtrOffPtr", 4, hugsprim_readFunPtrOffPtr_18},
    {"readPtrOffPtr", 4, hugsprim_readPtrOffPtr_17},
    {"readCharOffPtr", 4, hugsprim_readCharOffPtr_16},
    {"readIntOffPtr", 4, hugsprim_readIntOffPtr_15},
    {"szWord64", 0, hugsprim_szWord64_14},
    {"szWord32", 0, hugsprim_szWord32_13},
    {"szWord16", 0, hugsprim_szWord16_12},
    {"szWord8", 0, hugsprim_szWord8_11},
    {"szInt64", 0, hugsprim_szInt64_10},
    {"szInt32", 0, hugsprim_szInt32_9},
    {"szInt16", 0, hugsprim_szInt16_8},
    {"szInt8", 0, hugsprim_szInt8_7},
    {"szStablePtr", 0, hugsprim_szStablePtr_6},
    {"szDouble", 0, hugsprim_szDouble_5},
    {"szFloat", 0, hugsprim_szFloat_4},
    {"szFunPtr", 0, hugsprim_szFunPtr_3},
    {"szPtr", 0, hugsprim_szPtr_2},
    {"szChar", 0, hugsprim_szChar_1},
    {"szInt", 0, hugsprim_szInt_0},
};

static void hugs_primControl(int);
static void hugs_primControl(what)
int what; {
}
static struct hugs_primInfo hugs_prims = { hugs_primControl, hugs_primTable, 0 };

#ifdef __cplusplus
extern "C" {
#endif
DLLEXPORT(void) initModule(HugsAPI4 *);
DLLEXPORT(void) initModule(HugsAPI4 *hugsAPI) {
    hugs = hugsAPI;
    hugs->registerPrims(&hugs_prims);
}
#ifdef __cplusplus
}
#endif

