#include <oclh.h>
#if !defined(OCL_DEV_IDX)
#define OCL_DEV_IDX 0
#endif /* OCL_DEV_IDX */
#if !defined(OCLExecFileName)
#define OCLExecFileName "point_recovery_kernel.clexe"
#endif /* OCLExecFileName */
int32_t main(void) {
/**/
#define ___CLEAN_OPENCL_INFRASTRUCTURE_AND_RET \
{   _ghf_wipeDevLstDesc(&DevLstDesc); _ghf_wipeCharPtrListWithSizes(&ppcBin); \
    _ghf_wipeAWSs(&workSets); _ghf_wipeLog(&Log); return(err); }
/**/
    int32_t err=0;
    _GHT_LOG Log=_ghf_declLog();
    _GHT_DEVLIST_DESC DevLstDesc=_ghf_declDevLstDesc();
    char** ppcBin=NULL;
    _GHT_AWSS workSets=_ghf_declAWSs(_GHE_LOG_DEFAULT,_GHE_NO_BUILD_LOG);
    if((err=_ghf_genrLog(&Log,"ipr_oclh.log")))
                                         ___CLEAN_OPENCL_INFRASTRUCTURE_AND_RET;
    if((err=_ghf_addDevIdxToDevLstDesc(&DevLstDesc,OCL_DEV_IDX)))
                                         ___CLEAN_OPENCL_INFRASTRUCTURE_AND_RET;
    if((err=_ghf_addFileToCharPtrListWithSizes(&ppcBin,OCLExecFileName,1)))
                                         ___CLEAN_OPENCL_INFRASTRUCTURE_AND_RET;
    if((err=_ghf_genrAWSs(&workSets,Log,DevLstDesc,ppcBin,_GHE_LINKED_OBJECTS,
                          NULL)))        ___CLEAN_OPENCL_INFRASTRUCTURE_AND_RET;
    _ghf_wipeDevLstDesc(&DevLstDesc);
    _ghf_wipeCharPtrListWithSizes(&ppcBin);
    {
        _GHT_WRKSET wSet=workSets.pWSet[0];
        _ghf_recalcWS_WIWG_1x1(&wSet);
        if((err=_ghf_wdcBExecWS_Kern(wSet,"krPointRecovery",
                            /* 0 */ sizeof(cl_mem),&wSet.d_pKerErr)))
                                         ___CLEAN_OPENCL_INFRASTRUCTURE_AND_RET;
    }
    ___CLEAN_OPENCL_INFRASTRUCTURE_AND_RET;
/**/
#undef ___CLEAN_OPENCL_INFRASTRUCTURE_AND_RET
/**/
}
