cl_bitmaps.h 3.3 KB
/*
 * cl_bitmaps.h
 *
 *  Created on: 27/07/2016
 *      Author: pedro
 */

#if CL_D_TYPE == CL_BITMAP

#ifndef SRC_KERNELS_CL_BITMAPS_H_
#define SRC_KERNELS_CL_BITMAPS_H_

#ifndef __OPENCL_VERSION__
#include "../utils/cl_syntax.h"
#endif

#include "../config.h"

/*
 * Number of values that compose the domain of the received variable (n_vals)
 * v - variable to get the number of values
 */
#define V_N_VALS(v) ((v).n_vals)

/*
 * Decrement by 1 the number of values in variable v
 * v - variable to decrement the number of values
 */
#define V_DEC_N_VALS(v) ((v).n_vals--)

/*
 * Return 1 if n_vals == 0 and 0 if not
 * v - variable to check if empty
 */
#define V_IS_EMPTY(v) ((v).n_vals == 0)

/*
 * Minimum value of the variable (from v->min)
 * v - variable to get maximum value from
 */
#define V_MIN(v) ((v).min)

/*
 * Maximum value of the variable (from v->max)
 * v - variable to get maximum value from
 */
#define V_MAX(v) ((v).max)

#define NOTHING

#define SUFFIX _n
#include "cl_bitmap_src.h"
#undef M1
#undef M2
#undef M3
#undef M4
#undef SUFFIX

#define M1 CL_MEMORY
#define M2 CL_MEMORY
#define SUFFIX _m
#include "cl_bitmap_src.h"
#undef M1
#undef M2
#undef M3
#undef M4
#undef SUFFIX

#define M1 __global
#define M2 __global
#define SUFFIX _g
#include "cl_bitmap_src.h"
#undef M1
#undef M2
#undef M3
#undef M4
#undef SUFFIX

#define M2 CL_MEMORY
#define SUFFIX _pm
#include "cl_bitmap_src.h"
#undef M1
#undef M2
#undef M3
#undef M4
#undef SUFFIX

#define M1 CL_MEMORY
#define SUFFIX _mp
#include "cl_bitmap_src.h"
#undef M1
#undef M2
#undef M3
#undef M4
#undef SUFFIX

#define M1 __global
#define M2 CL_MEMORY
#define SUFFIX _gm
#include "cl_bitmap_src.h"
#undef M1
#undef M2
#undef M3
#undef M4
#undef SUFFIX

#define M1 CL_MEMORY
#define M2 __global
#define SUFFIX _mg
#include "cl_bitmap_src.h"
#undef M1
#undef M2
#undef M3
#undef M4
#undef SUFFIX

#define M1 __global
#define M2 __constant
#define SUFFIX _gc
#include "cl_bitmap_src.h"
#undef M1
#undef M2
#undef M3
#undef M4
#undef SUFFIX

#define M1 __global
#define SUFFIX _gp
#include "cl_bitmap_src.h"
#undef M1
#undef M2
#undef M3
#undef M4
#undef SUFFIX

#define M3 __constant
#define SUFFIX _c
#include "cl_bitmap_src.h"
#undef M1
#undef M2
#undef M3
#undef M4
#undef SUFFIX

#define M3 CL_VS_MEM
#define SUFFIX _vs
#include "cl_bitmap_src.h"
#undef M1
#undef M2
#undef M3
#undef M4
#undef SUFFIX

#define M3 CL_B_DS_MEM
#define M4 __global
#define SUFFIX _bd
#include "cl_bitmap_src.h"
#undef M1
#undef M2
#undef M3
#undef M4
#undef SUFFIX

#define M3 CL_MEMORY
#define M4 __global
#define SUFFIX _m3
#include "cl_bitmap_src.h"
#undef M1
#undef M2
#undef M3
#undef M4
#undef SUFFIX

#define M1 __global
#define M2 CL_B_DS_MEM
#define SUFFIX _gbd
#include "cl_bitmap_src.h"
#undef M1
#undef M2
#undef M3
#undef M4
#undef SUFFIX

#define M1 __global
#define M2 CL_VS_MEM
#define SUFFIX _gvs
#include "cl_bitmap_src.h"
#undef M1
#undef M2
#undef M3
#undef M4
#undef SUFFIX

#define M1 CL_MEMORY
#define M2 CL_B_DS_MEM
#define SUFFIX _mbd
#include "cl_bitmap_src.h"
#undef M1
#undef M2
#undef M3
#undef M4
#undef SUFFIX

#define M1 CL_MEMORY
#define M2 CL_VS_MEM
#define SUFFIX _mvs
#include "cl_bitmap_src.h"
#undef M1
#undef M2
#undef M3
#undef M4
#undef SUFFIX

#define M2 __global
#define SUFFIX _pg
#include "cl_bitmap_src.h"
#undef M1
#undef M2
#undef M3
#undef M4
#undef SUFFIX

#endif

#endif