/* Machine generated file, do not modify */
#include <stdlib.h>
#include "HsFFI.h"
#include "HsOpenGL.h"

static HugsAPI5 *hugs = 0;

static void hugsprim_v7576_39(HugsStackPtr);
static void hugsprim_v7576_39(HugsStackPtr hugs_root)
{
    void (*v7576)(HsPtr arg1);
    HsPtr arg1;
    v7576 = (void (*)(HsPtr))hugs->getFunPtr();
    arg1 = hugs->getPtr();
    v7576(arg1);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7577_38(HugsStackPtr);
static void hugsprim_v7577_38(HugsStackPtr hugs_root)
{
    void (*v7577)(HsPtr arg1);
    HsPtr arg1;
    v7577 = (void (*)(HsPtr))hugs->getFunPtr();
    arg1 = hugs->getPtr();
    v7577(arg1);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7578_37(HugsStackPtr);
static void hugsprim_v7578_37(HugsStackPtr hugs_root)
{
    void (*v7578)(HsDouble arg1, HsDouble arg2, HsDouble arg3);
    HsDouble arg1;
    HsDouble arg2;
    HsDouble arg3;
    v7578 = (void (*)(HsDouble, HsDouble, HsDouble))hugs->getFunPtr();
    arg1 = hugs->getDouble();
    arg2 = hugs->getDouble();
    arg3 = hugs->getDouble();
    v7578(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7579_36(HugsStackPtr);
static void hugsprim_v7579_36(HugsStackPtr hugs_root)
{
    void (*v7579)(HsDouble arg1, HsDouble arg2);
    HsDouble arg1;
    HsDouble arg2;
    v7579 = (void (*)(HsDouble, HsDouble))hugs->getFunPtr();
    arg1 = hugs->getDouble();
    arg2 = hugs->getDouble();
    v7579(arg1, arg2);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7580_35(HugsStackPtr);
static void hugsprim_v7580_35(HugsStackPtr hugs_root)
{
    void (*v7580)(HsPtr arg1);
    HsPtr arg1;
    v7580 = (void (*)(HsPtr))hugs->getFunPtr();
    arg1 = hugs->getPtr();
    v7580(arg1);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7581_34(HugsStackPtr);
static void hugsprim_v7581_34(HugsStackPtr hugs_root)
{
    void (*v7581)(HsPtr arg1);
    HsPtr arg1;
    v7581 = (void (*)(HsPtr))hugs->getFunPtr();
    arg1 = hugs->getPtr();
    v7581(arg1);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7582_33(HugsStackPtr);
static void hugsprim_v7582_33(HugsStackPtr hugs_root)
{
    void (*v7582)(HsFloat arg1, HsFloat arg2, HsFloat arg3);
    HsFloat arg1;
    HsFloat arg2;
    HsFloat arg3;
    v7582 = (void (*)(HsFloat, HsFloat, HsFloat))hugs->getFunPtr();
    arg1 = hugs->getFloat();
    arg2 = hugs->getFloat();
    arg3 = hugs->getFloat();
    v7582(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7583_32(HugsStackPtr);
static void hugsprim_v7583_32(HugsStackPtr hugs_root)
{
    void (*v7583)(HsFloat arg1, HsFloat arg2);
    HsFloat arg1;
    HsFloat arg2;
    v7583 = (void (*)(HsFloat, HsFloat))hugs->getFunPtr();
    arg1 = hugs->getFloat();
    arg2 = hugs->getFloat();
    v7583(arg1, arg2);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7584_31(HugsStackPtr);
static void hugsprim_v7584_31(HugsStackPtr hugs_root)
{
    void (*v7584)(HsPtr arg1);
    HsPtr arg1;
    v7584 = (void (*)(HsPtr))hugs->getFunPtr();
    arg1 = hugs->getPtr();
    v7584(arg1);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7585_30(HugsStackPtr);
static void hugsprim_v7585_30(HugsStackPtr hugs_root)
{
    void (*v7585)(HsPtr arg1);
    HsPtr arg1;
    v7585 = (void (*)(HsPtr))hugs->getFunPtr();
    arg1 = hugs->getPtr();
    v7585(arg1);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7586_29(HugsStackPtr);
static void hugsprim_v7586_29(HugsStackPtr hugs_root)
{
    void (*v7586)(HsInt32 arg1, HsInt32 arg2, HsInt32 arg3);
    HsInt32 arg1;
    HsInt32 arg2;
    HsInt32 arg3;
    v7586 = (void (*)(HsInt32, HsInt32, HsInt32))hugs->getFunPtr();
    arg1 = hugs->getInt32();
    arg2 = hugs->getInt32();
    arg3 = hugs->getInt32();
    v7586(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7587_28(HugsStackPtr);
static void hugsprim_v7587_28(HugsStackPtr hugs_root)
{
    void (*v7587)(HsInt32 arg1, HsInt32 arg2);
    HsInt32 arg1;
    HsInt32 arg2;
    v7587 = (void (*)(HsInt32, HsInt32))hugs->getFunPtr();
    arg1 = hugs->getInt32();
    arg2 = hugs->getInt32();
    v7587(arg1, arg2);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7588_27(HugsStackPtr);
static void hugsprim_v7588_27(HugsStackPtr hugs_root)
{
    void (*v7588)(HsPtr arg1);
    HsPtr arg1;
    v7588 = (void (*)(HsPtr))hugs->getFunPtr();
    arg1 = hugs->getPtr();
    v7588(arg1);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7589_26(HugsStackPtr);
static void hugsprim_v7589_26(HugsStackPtr hugs_root)
{
    void (*v7589)(HsPtr arg1);
    HsPtr arg1;
    v7589 = (void (*)(HsPtr))hugs->getFunPtr();
    arg1 = hugs->getPtr();
    v7589(arg1);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7590_25(HugsStackPtr);
static void hugsprim_v7590_25(HugsStackPtr hugs_root)
{
    void (*v7590)(HsInt16 arg1, HsInt16 arg2, HsInt16 arg3);
    HsInt16 arg1;
    HsInt16 arg2;
    HsInt16 arg3;
    v7590 = (void (*)(HsInt16, HsInt16, HsInt16))hugs->getFunPtr();
    arg1 = hugs->getInt16();
    arg2 = hugs->getInt16();
    arg3 = hugs->getInt16();
    v7590(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7591_24(HugsStackPtr);
static void hugsprim_v7591_24(HugsStackPtr hugs_root)
{
    void (*v7591)(HsInt16 arg1, HsInt16 arg2);
    HsInt16 arg1;
    HsInt16 arg2;
    v7591 = (void (*)(HsInt16, HsInt16))hugs->getFunPtr();
    arg1 = hugs->getInt16();
    arg2 = hugs->getInt16();
    v7591(arg1, arg2);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos4dv
#endif

static void hugsprim_glRasterPos4dv_23(HugsStackPtr);
static void hugsprim_glRasterPos4dv_23(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    arg1 = hugs->getPtr();
    glRasterPos4dv(arg1);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos3dv
#endif

static void hugsprim_glRasterPos3dv_22(HugsStackPtr);
static void hugsprim_glRasterPos3dv_22(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    arg1 = hugs->getPtr();
    glRasterPos3dv(arg1);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos2dv
#endif

static void hugsprim_glRasterPos2dv_21(HugsStackPtr);
static void hugsprim_glRasterPos2dv_21(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    arg1 = hugs->getPtr();
    glRasterPos2dv(arg1);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos4d
#endif

static void hugsprim_glRasterPos4d_20(HugsStackPtr);
static void hugsprim_glRasterPos4d_20(HugsStackPtr hugs_root)
{
    HsDouble arg1;
    HsDouble arg2;
    HsDouble arg3;
    HsDouble arg4;
    arg1 = hugs->getDouble();
    arg2 = hugs->getDouble();
    arg3 = hugs->getDouble();
    arg4 = hugs->getDouble();
    glRasterPos4d(arg1, arg2, arg3, arg4);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos3d
#endif

static void hugsprim_glRasterPos3d_19(HugsStackPtr);
static void hugsprim_glRasterPos3d_19(HugsStackPtr hugs_root)
{
    HsDouble arg1;
    HsDouble arg2;
    HsDouble arg3;
    arg1 = hugs->getDouble();
    arg2 = hugs->getDouble();
    arg3 = hugs->getDouble();
    glRasterPos3d(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos2d
#endif

static void hugsprim_glRasterPos2d_18(HugsStackPtr);
static void hugsprim_glRasterPos2d_18(HugsStackPtr hugs_root)
{
    HsDouble arg1;
    HsDouble arg2;
    arg1 = hugs->getDouble();
    arg2 = hugs->getDouble();
    glRasterPos2d(arg1, arg2);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos4fv
#endif

static void hugsprim_glRasterPos4fv_17(HugsStackPtr);
static void hugsprim_glRasterPos4fv_17(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    arg1 = hugs->getPtr();
    glRasterPos4fv(arg1);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos3fv
#endif

static void hugsprim_glRasterPos3fv_16(HugsStackPtr);
static void hugsprim_glRasterPos3fv_16(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    arg1 = hugs->getPtr();
    glRasterPos3fv(arg1);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos2fv
#endif

static void hugsprim_glRasterPos2fv_15(HugsStackPtr);
static void hugsprim_glRasterPos2fv_15(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    arg1 = hugs->getPtr();
    glRasterPos2fv(arg1);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos4f
#endif

static void hugsprim_glRasterPos4f_14(HugsStackPtr);
static void hugsprim_glRasterPos4f_14(HugsStackPtr hugs_root)
{
    HsFloat arg1;
    HsFloat arg2;
    HsFloat arg3;
    HsFloat arg4;
    arg1 = hugs->getFloat();
    arg2 = hugs->getFloat();
    arg3 = hugs->getFloat();
    arg4 = hugs->getFloat();
    glRasterPos4f(arg1, arg2, arg3, arg4);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos3f
#endif

static void hugsprim_glRasterPos3f_13(HugsStackPtr);
static void hugsprim_glRasterPos3f_13(HugsStackPtr hugs_root)
{
    HsFloat arg1;
    HsFloat arg2;
    HsFloat arg3;
    arg1 = hugs->getFloat();
    arg2 = hugs->getFloat();
    arg3 = hugs->getFloat();
    glRasterPos3f(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos2f
#endif

static void hugsprim_glRasterPos2f_12(HugsStackPtr);
static void hugsprim_glRasterPos2f_12(HugsStackPtr hugs_root)
{
    HsFloat arg1;
    HsFloat arg2;
    arg1 = hugs->getFloat();
    arg2 = hugs->getFloat();
    glRasterPos2f(arg1, arg2);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos4iv
#endif

static void hugsprim_glRasterPos4iv_11(HugsStackPtr);
static void hugsprim_glRasterPos4iv_11(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    arg1 = hugs->getPtr();
    glRasterPos4iv(arg1);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos3iv
#endif

static void hugsprim_glRasterPos3iv_10(HugsStackPtr);
static void hugsprim_glRasterPos3iv_10(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    arg1 = hugs->getPtr();
    glRasterPos3iv(arg1);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos2iv
#endif

static void hugsprim_glRasterPos2iv_9(HugsStackPtr);
static void hugsprim_glRasterPos2iv_9(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    arg1 = hugs->getPtr();
    glRasterPos2iv(arg1);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos4i
#endif

static void hugsprim_glRasterPos4i_8(HugsStackPtr);
static void hugsprim_glRasterPos4i_8(HugsStackPtr hugs_root)
{
    HsInt32 arg1;
    HsInt32 arg2;
    HsInt32 arg3;
    HsInt32 arg4;
    arg1 = hugs->getInt32();
    arg2 = hugs->getInt32();
    arg3 = hugs->getInt32();
    arg4 = hugs->getInt32();
    glRasterPos4i(arg1, arg2, arg3, arg4);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos3i
#endif

static void hugsprim_glRasterPos3i_7(HugsStackPtr);
static void hugsprim_glRasterPos3i_7(HugsStackPtr hugs_root)
{
    HsInt32 arg1;
    HsInt32 arg2;
    HsInt32 arg3;
    arg1 = hugs->getInt32();
    arg2 = hugs->getInt32();
    arg3 = hugs->getInt32();
    glRasterPos3i(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos2i
#endif

static void hugsprim_glRasterPos2i_6(HugsStackPtr);
static void hugsprim_glRasterPos2i_6(HugsStackPtr hugs_root)
{
    HsInt32 arg1;
    HsInt32 arg2;
    arg1 = hugs->getInt32();
    arg2 = hugs->getInt32();
    glRasterPos2i(arg1, arg2);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos4sv
#endif

static void hugsprim_glRasterPos4sv_5(HugsStackPtr);
static void hugsprim_glRasterPos4sv_5(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    arg1 = hugs->getPtr();
    glRasterPos4sv(arg1);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos3sv
#endif

static void hugsprim_glRasterPos3sv_4(HugsStackPtr);
static void hugsprim_glRasterPos3sv_4(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    arg1 = hugs->getPtr();
    glRasterPos3sv(arg1);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos2sv
#endif

static void hugsprim_glRasterPos2sv_3(HugsStackPtr);
static void hugsprim_glRasterPos2sv_3(HugsStackPtr hugs_root)
{
    HsPtr arg1;
    arg1 = hugs->getPtr();
    glRasterPos2sv(arg1);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos4s
#endif

static void hugsprim_glRasterPos4s_2(HugsStackPtr);
static void hugsprim_glRasterPos4s_2(HugsStackPtr hugs_root)
{
    HsInt16 arg1;
    HsInt16 arg2;
    HsInt16 arg3;
    HsInt16 arg4;
    arg1 = hugs->getInt16();
    arg2 = hugs->getInt16();
    arg3 = hugs->getInt16();
    arg4 = hugs->getInt16();
    glRasterPos4s(arg1, arg2, arg3, arg4);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos3s
#endif

static void hugsprim_glRasterPos3s_1(HugsStackPtr);
static void hugsprim_glRasterPos3s_1(HugsStackPtr hugs_root)
{
    HsInt16 arg1;
    HsInt16 arg2;
    HsInt16 arg3;
    arg1 = hugs->getInt16();
    arg2 = hugs->getInt16();
    arg3 = hugs->getInt16();
    glRasterPos3s(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}

#ifndef ENABLE_MACRO_INTERFACE
#undef glRasterPos2s
#endif

static void hugsprim_glRasterPos2s_0(HugsStackPtr);
static void hugsprim_glRasterPos2s_0(HugsStackPtr hugs_root)
{
    HsInt16 arg1;
    HsInt16 arg2;
    arg1 = hugs->getInt16();
    arg2 = hugs->getInt16();
    glRasterPos2s(arg1, arg2);
    
    hugs->returnIO(hugs_root,0);
}

static struct hugs_primitive hugs_primTable[] = {
    {"dyn_glWindowPos3dvARB", 3, hugsprim_v7576_39},
    {"dyn_glWindowPos2dvARB", 3, hugsprim_v7577_38},
    {"dyn_glWindowPos3dARB", 5, hugsprim_v7578_37},
    {"dyn_glWindowPos2dARB", 4, hugsprim_v7579_36},
    {"dyn_glWindowPos3fvARB", 3, hugsprim_v7580_35},
    {"dyn_glWindowPos2fvARB", 3, hugsprim_v7581_34},
    {"dyn_glWindowPos3fARB", 5, hugsprim_v7582_33},
    {"dyn_glWindowPos2fARB", 4, hugsprim_v7583_32},
    {"dyn_glWindowPos3ivARB", 3, hugsprim_v7584_31},
    {"dyn_glWindowPos2ivARB", 3, hugsprim_v7585_30},
    {"dyn_glWindowPos3iARB", 5, hugsprim_v7586_29},
    {"dyn_glWindowPos2iARB", 4, hugsprim_v7587_28},
    {"dyn_glWindowPos3svARB", 3, hugsprim_v7588_27},
    {"dyn_glWindowPos2svARB", 3, hugsprim_v7589_26},
    {"dyn_glWindowPos3sARB", 5, hugsprim_v7590_25},
    {"dyn_glWindowPos2sARB", 4, hugsprim_v7591_24},
    {"glRasterPos4dv", 2, hugsprim_glRasterPos4dv_23},
    {"glRasterPos3dv", 2, hugsprim_glRasterPos3dv_22},
    {"glRasterPos2dv", 2, hugsprim_glRasterPos2dv_21},
    {"glRasterPos4d", 5, hugsprim_glRasterPos4d_20},
    {"glRasterPos3d", 4, hugsprim_glRasterPos3d_19},
    {"glRasterPos2d", 3, hugsprim_glRasterPos2d_18},
    {"glRasterPos4fv", 2, hugsprim_glRasterPos4fv_17},
    {"glRasterPos3fv", 2, hugsprim_glRasterPos3fv_16},
    {"glRasterPos2fv", 2, hugsprim_glRasterPos2fv_15},
    {"glRasterPos4f", 5, hugsprim_glRasterPos4f_14},
    {"glRasterPos3f", 4, hugsprim_glRasterPos3f_13},
    {"glRasterPos2f", 3, hugsprim_glRasterPos2f_12},
    {"glRasterPos4iv", 2, hugsprim_glRasterPos4iv_11},
    {"glRasterPos3iv", 2, hugsprim_glRasterPos3iv_10},
    {"glRasterPos2iv", 2, hugsprim_glRasterPos2iv_9},
    {"glRasterPos4i", 5, hugsprim_glRasterPos4i_8},
    {"glRasterPos3i", 4, hugsprim_glRasterPos3i_7},
    {"glRasterPos2i", 3, hugsprim_glRasterPos2i_6},
    {"glRasterPos4sv", 2, hugsprim_glRasterPos4sv_5},
    {"glRasterPos3sv", 2, hugsprim_glRasterPos3sv_4},
    {"glRasterPos2sv", 2, hugsprim_glRasterPos2sv_3},
    {"glRasterPos4s", 5, hugsprim_glRasterPos4s_2},
    {"glRasterPos3s", 4, hugsprim_glRasterPos3s_1},
    {"glRasterPos2s", 3, hugsprim_glRasterPos2s_0},
};

static void hugs_primControl(int);
static void hugs_primControl(what)
int what; {
}

#ifdef STATIC_LINKAGE
#define initModule initGROGRasterPos
#endif

static struct hugs_primInfo hugs_prims = { hugs_primControl, hugs_primTable, 0 };

#ifdef __cplusplus
extern "C" {
#endif
#ifndef __cplusplus
DLLEXPORT(int)  HugsAPIVersion(void);
#endif
DLLEXPORT(int)  HugsAPIVersion() {return (5);}
DLLEXPORT(void) initModule(HugsAPI5 *);
DLLEXPORT(void) initModule(HugsAPI5 *hugsAPI) {
    hugs = hugsAPI;
    hugs->registerPrims(&hugs_prims);
}
#ifdef __cplusplus
}
#endif

