Reduction types are now generated in a same fashion as vertexbuffer handles and others
This commit is contained in:
@@ -731,29 +731,24 @@ external acdevicesynchronizestream
|
|||||||
fprintf(DSLHEADER, "typedef int Stream;\n\n");
|
fprintf(DSLHEADER, "typedef int Stream;\n\n");
|
||||||
|
|
||||||
// Reduction types
|
// Reduction types
|
||||||
|
fprintf(DSLHEADER, "#define AC_FOR_RTYPES(FUNC)\\\n");
|
||||||
|
fprintf(DSLHEADER, "FUNC(%s)\\\n", "RTYPE_MAX");
|
||||||
|
fprintf(DSLHEADER, "FUNC(%s)\\\n", "RTYPE_MIN");
|
||||||
|
fprintf(DSLHEADER, "FUNC(%s)\\\n", "RTYPE_RMS");
|
||||||
|
fprintf(DSLHEADER, "FUNC(%s)\\\n", "RTYPE_RMS_EXP");
|
||||||
|
fprintf(DSLHEADER, "FUNC(%s)\n", "RTYPE_SUM");
|
||||||
|
|
||||||
size_t counter = 0;
|
size_t counter = 0;
|
||||||
fprintf(DSLHEADER, "#define RTYPE_MAX (%lu)\n", counter);
|
|
||||||
fprintf(FHEADER, "integer(c_int), parameter :: RTYPE_MAX = %lu\n", counter);
|
fprintf(FHEADER, "integer(c_int), parameter :: RTYPE_MAX = %lu\n", counter);
|
||||||
++counter;
|
++counter;
|
||||||
|
|
||||||
fprintf(DSLHEADER, "#define RTYPE_MIN (%lu)\n", counter);
|
|
||||||
fprintf(FHEADER, "integer(c_int), parameter :: RTYPE_MIN = %lu\n", counter);
|
fprintf(FHEADER, "integer(c_int), parameter :: RTYPE_MIN = %lu\n", counter);
|
||||||
++counter;
|
++counter;
|
||||||
|
|
||||||
fprintf(DSLHEADER, "#define RTYPE_RMS (%lu)\n", counter);
|
|
||||||
fprintf(FHEADER, "integer(c_int), parameter :: RTYPE_RMS = %lu\n", counter);
|
fprintf(FHEADER, "integer(c_int), parameter :: RTYPE_RMS = %lu\n", counter);
|
||||||
++counter;
|
++counter;
|
||||||
|
|
||||||
fprintf(DSLHEADER, "#define RTYPE_RMS_EXP (%lu)\n", counter);
|
|
||||||
fprintf(FHEADER, "integer(c_int), parameter :: RTYPE_RMS_EXP = %lu\n", counter);
|
fprintf(FHEADER, "integer(c_int), parameter :: RTYPE_RMS_EXP = %lu\n", counter);
|
||||||
++counter;
|
++counter;
|
||||||
|
|
||||||
fprintf(DSLHEADER, "#define RTYPE_SUM (%lu)\n", counter);
|
|
||||||
fprintf(FHEADER, "integer(c_int), parameter :: RTYPE_SUM = %lu\n", counter);
|
fprintf(FHEADER, "integer(c_int), parameter :: RTYPE_SUM = %lu\n", counter);
|
||||||
++counter;
|
++counter;
|
||||||
|
|
||||||
fprintf(DSLHEADER, "typedef int ReductionType;\n");
|
|
||||||
fprintf(DSLHEADER, "#define NUM_REDUCTION_TYPES (%lu)\n", counter);
|
|
||||||
fprintf(FHEADER, "integer(c_int), parameter :: NUM_REDUCTION_TYPES = %lu\n", counter);
|
fprintf(FHEADER, "integer(c_int), parameter :: NUM_REDUCTION_TYPES = %lu\n", counter);
|
||||||
|
|
||||||
// Fortran structs
|
// Fortran structs
|
||||||
|
@@ -50,19 +50,12 @@ typedef struct {
|
|||||||
|
|
||||||
typedef enum { AC_SUCCESS = 0, AC_FAILURE = 1 } AcResult;
|
typedef enum { AC_SUCCESS = 0, AC_FAILURE = 1 } AcResult;
|
||||||
|
|
||||||
/*
|
|
||||||
// Deprecated, defined during code generation
|
|
||||||
typedef enum {
|
|
||||||
RTYPE_MAX,
|
|
||||||
RTYPE_MIN,
|
|
||||||
RTYPE_RMS,
|
|
||||||
RTYPE_RMS_EXP,
|
|
||||||
RTYPE_SUM,
|
|
||||||
NUM_REDUCTION_TYPES
|
|
||||||
} ReductionType;
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define AC_GEN_ID(X) X,
|
#define AC_GEN_ID(X) X,
|
||||||
|
typedef enum {
|
||||||
|
AC_FOR_RTYPES(AC_GEN_ID) //
|
||||||
|
NUM_RTYPES
|
||||||
|
} ReductionType;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
AC_FOR_USER_INT_PARAM_TYPES(AC_GEN_ID) //
|
AC_FOR_USER_INT_PARAM_TYPES(AC_GEN_ID) //
|
||||||
NUM_INT_PARAMS
|
NUM_INT_PARAMS
|
||||||
@@ -96,6 +89,7 @@ typedef enum {
|
|||||||
|
|
||||||
#define _UNUSED __attribute__((unused)) // Does not give a warning if unused
|
#define _UNUSED __attribute__((unused)) // Does not give a warning if unused
|
||||||
#define AC_GEN_STR(X) #X,
|
#define AC_GEN_STR(X) #X,
|
||||||
|
static const char* rtype_names[] _UNUSED = {AC_FOR_RTYPES(AC_GEN_STR) "-end-"};
|
||||||
static const char* intparam_names[] _UNUSED = {AC_FOR_USER_INT_PARAM_TYPES(AC_GEN_STR) "-end-"};
|
static const char* intparam_names[] _UNUSED = {AC_FOR_USER_INT_PARAM_TYPES(AC_GEN_STR) "-end-"};
|
||||||
static const char* int3param_names[] _UNUSED = {AC_FOR_USER_INT3_PARAM_TYPES(AC_GEN_STR) "-end-"};
|
static const char* int3param_names[] _UNUSED = {AC_FOR_USER_INT3_PARAM_TYPES(AC_GEN_STR) "-end-"};
|
||||||
static const char* realparam_names[] _UNUSED = {AC_FOR_USER_REAL_PARAM_TYPES(AC_GEN_STR) "-end-"};
|
static const char* realparam_names[] _UNUSED = {AC_FOR_USER_REAL_PARAM_TYPES(AC_GEN_STR) "-end-"};
|
||||||
|
Reference in New Issue
Block a user