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

static HugsAPI5 *hugs = 0;

static void hugsprim_v7960_10(HugsStackPtr);
static void hugsprim_v7960_10(HugsStackPtr hugs_root)
{
    void (*v7960)(HsWord32 arg1, HsWord32 arg2, HsPtr arg3);
    HsWord32 arg1;
    HsWord32 arg2;
    HsPtr arg3;
    v7960 = (void (*)(HsWord32, HsWord32, HsPtr))hugs->getFunPtr();
    arg1 = hugs->getWord32();
    arg2 = hugs->getWord32();
    arg3 = hugs->getPtr();
    v7960(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7961_9(HugsStackPtr);
static void hugsprim_v7961_9(HugsStackPtr hugs_root)
{
    void (*v7961)(HsWord32 arg1, HsWord32 arg2, HsPtr arg3);
    HsWord32 arg1;
    HsWord32 arg2;
    HsPtr arg3;
    v7961 = (void (*)(HsWord32, HsWord32, HsPtr))hugs->getFunPtr();
    arg1 = hugs->getWord32();
    arg2 = hugs->getWord32();
    arg3 = hugs->getPtr();
    v7961(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7962_8(HugsStackPtr);
static void hugsprim_v7962_8(HugsStackPtr hugs_root)
{
    void (*v7962)(HsWord32 arg1, HsWord32 arg2, HsInt32 arg3);
    HsWord32 arg1;
    HsWord32 arg2;
    HsInt32 arg3;
    v7962 = (void (*)(HsWord32, HsWord32, HsInt32))hugs->getFunPtr();
    arg1 = hugs->getWord32();
    arg2 = hugs->getWord32();
    arg3 = hugs->getInt32();
    v7962(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7963_7(HugsStackPtr);
static void hugsprim_v7963_7(HugsStackPtr hugs_root)
{
    void (*v7963)(HsWord32 arg1, HsWord32 arg2, HsPtr arg3);
    HsWord32 arg1;
    HsWord32 arg2;
    HsPtr arg3;
    v7963 = (void (*)(HsWord32, HsWord32, HsPtr))hugs->getFunPtr();
    arg1 = hugs->getWord32();
    arg2 = hugs->getWord32();
    arg3 = hugs->getPtr();
    v7963(arg1, arg2, arg3);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7964_6(HugsStackPtr);
static void hugsprim_v7964_6(HugsStackPtr hugs_root)
{
    void (*v7964)(HsWord32 arg1, HsWord32 arg2, HsInt32 arg3, HsInt32 arg4, HsInt32 arg5, HsInt32 arg6);
    HsWord32 arg1;
    HsWord32 arg2;
    HsInt32 arg3;
    HsInt32 arg4;
    HsInt32 arg5;
    HsInt32 arg6;
    v7964 = (void (*)(HsWord32, HsWord32, HsInt32, HsInt32, HsInt32, HsInt32))hugs->getFunPtr();
    arg1 = hugs->getWord32();
    arg2 = hugs->getWord32();
    arg3 = hugs->getInt32();
    arg4 = hugs->getInt32();
    arg5 = hugs->getInt32();
    arg6 = hugs->getInt32();
    v7964(arg1, arg2, arg3, arg4, arg5, arg6);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7965_5(HugsStackPtr);
static void hugsprim_v7965_5(HugsStackPtr hugs_root)
{
    void (*v7965)(HsWord32 arg1, HsWord32 arg2, HsInt32 arg3, HsInt32 arg4, HsInt32 arg5);
    HsWord32 arg1;
    HsWord32 arg2;
    HsInt32 arg3;
    HsInt32 arg4;
    HsInt32 arg5;
    v7965 = (void (*)(HsWord32, HsWord32, HsInt32, HsInt32, HsInt32))hugs->getFunPtr();
    arg1 = hugs->getWord32();
    arg2 = hugs->getWord32();
    arg3 = hugs->getInt32();
    arg4 = hugs->getInt32();
    arg5 = hugs->getInt32();
    v7965(arg1, arg2, arg3, arg4, arg5);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7966_4(HugsStackPtr);
static void hugsprim_v7966_4(HugsStackPtr hugs_root)
{
    void (*v7966)(HsWord32 arg1, HsWord32 arg2, HsWord32 arg3, HsPtr arg4, HsPtr arg5, HsPtr arg6);
    HsWord32 arg1;
    HsWord32 arg2;
    HsWord32 arg3;
    HsPtr arg4;
    HsPtr arg5;
    HsPtr arg6;
    v7966 = (void (*)(HsWord32, HsWord32, HsWord32, HsPtr, HsPtr, HsPtr))hugs->getFunPtr();
    arg1 = hugs->getWord32();
    arg2 = hugs->getWord32();
    arg3 = hugs->getWord32();
    arg4 = hugs->getPtr();
    arg5 = hugs->getPtr();
    arg6 = hugs->getPtr();
    v7966(arg1, arg2, arg3, arg4, arg5, arg6);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7967_3(HugsStackPtr);
static void hugsprim_v7967_3(HugsStackPtr hugs_root)
{
    void (*v7967)(HsWord32 arg1, HsWord32 arg2, HsInt32 arg3, HsInt32 arg4, HsWord32 arg5, HsWord32 arg6, HsPtr arg7, HsPtr arg8);
    HsWord32 arg1;
    HsWord32 arg2;
    HsInt32 arg3;
    HsInt32 arg4;
    HsWord32 arg5;
    HsWord32 arg6;
    HsPtr arg7;
    HsPtr arg8;
    v7967 = (void (*)(HsWord32, HsWord32, HsInt32, HsInt32, HsWord32, HsWord32, HsPtr, HsPtr))hugs->getFunPtr();
    arg1 = hugs->getWord32();
    arg2 = hugs->getWord32();
    arg3 = hugs->getInt32();
    arg4 = hugs->getInt32();
    arg5 = hugs->getWord32();
    arg6 = hugs->getWord32();
    arg7 = hugs->getPtr();
    arg8 = hugs->getPtr();
    v7967(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7968_2(HugsStackPtr);
static void hugsprim_v7968_2(HugsStackPtr hugs_root)
{
    void (*v7968)(HsWord32 arg1, HsWord32 arg2, HsInt32 arg3, HsInt32 arg4, HsWord32 arg5, HsWord32 arg6, HsPtr arg7);
    HsWord32 arg1;
    HsWord32 arg2;
    HsInt32 arg3;
    HsInt32 arg4;
    HsWord32 arg5;
    HsWord32 arg6;
    HsPtr arg7;
    v7968 = (void (*)(HsWord32, HsWord32, HsInt32, HsInt32, HsWord32, HsWord32, HsPtr))hugs->getFunPtr();
    arg1 = hugs->getWord32();
    arg2 = hugs->getWord32();
    arg3 = hugs->getInt32();
    arg4 = hugs->getInt32();
    arg5 = hugs->getWord32();
    arg6 = hugs->getWord32();
    arg7 = hugs->getPtr();
    v7968(arg1, arg2, arg3, arg4, arg5, arg6, arg7);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7969_1(HugsStackPtr);
static void hugsprim_v7969_1(HugsStackPtr hugs_root)
{
    void (*v7969)(HsWord32 arg1, HsWord32 arg2, HsWord32 arg3, HsPtr arg4);
    HsWord32 arg1;
    HsWord32 arg2;
    HsWord32 arg3;
    HsPtr arg4;
    v7969 = (void (*)(HsWord32, HsWord32, HsWord32, HsPtr))hugs->getFunPtr();
    arg1 = hugs->getWord32();
    arg2 = hugs->getWord32();
    arg3 = hugs->getWord32();
    arg4 = hugs->getPtr();
    v7969(arg1, arg2, arg3, arg4);
    
    hugs->returnIO(hugs_root,0);
}

static void hugsprim_v7970_0(HugsStackPtr);
static void hugsprim_v7970_0(HugsStackPtr hugs_root)
{
    void (*v7970)(HsWord32 arg1, HsWord32 arg2, HsInt32 arg3, HsWord32 arg4, HsWord32 arg5, HsPtr arg6);
    HsWord32 arg1;
    HsWord32 arg2;
    HsInt32 arg3;
    HsWord32 arg4;
    HsWord32 arg5;
    HsPtr arg6;
    v7970 = (void (*)(HsWord32, HsWord32, HsInt32, HsWord32, HsWord32, HsPtr))hugs->getFunPtr();
    arg1 = hugs->getWord32();
    arg2 = hugs->getWord32();
    arg3 = hugs->getInt32();
    arg4 = hugs->getWord32();
    arg5 = hugs->getWord32();
    arg6 = hugs->getPtr();
    v7970(arg1, arg2, arg3, arg4, arg5, arg6);
    
    hugs->returnIO(hugs_root,0);
}

static struct hugs_primitive hugs_primTable[] = {
    {"dyn_glConvolutionParameterfv", 5, hugsprim_v7960_10},
    {"dyn_glGetConvolutionParameterfv", 5, hugsprim_v7961_9},
    {"dyn_glConvolutionParameteri", 5, hugsprim_v7962_8},
    {"dyn_glGetConvolutionParameteriv", 5, hugsprim_v7963_7},
    {"dyn_glCopyConvolutionFilter2D", 8, hugsprim_v7964_6},
    {"dyn_glCopyConvolutionFilter1D", 7, hugsprim_v7965_5},
    {"dyn_glGetSeparableFilter", 8, hugsprim_v7966_4},
    {"dyn_glSeparableFilter2D", 10, hugsprim_v7967_3},
    {"dyn_glConvolutionFilter2D", 9, hugsprim_v7968_2},
    {"dyn_glGetConvolutionFilter", 6, hugsprim_v7969_1},
    {"dyn_glConvolutionFilter1D", 8, hugsprim_v7970_0},
};

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

#ifdef STATIC_LINKAGE
#define initModule initGROGPConvolution
#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

