diff --git a/acc/src/code_generator.c b/acc/src/code_generator.c index 8738590..2799429 100644 --- a/acc/src/code_generator.c +++ b/acc/src/code_generator.c @@ -707,6 +707,48 @@ generate_headers(void) end type AcMeshInfo )"; fprintf(FHEADER, "%s\n", fortran_structs); + + // Streams + const size_t nstreams = 20; + for (size_t i = 0; i < nstreams; ++i) { + fprintf(DSLHEADER, "#define STREAM_%lu (%lu)\n", i, i); + fprintf(FHEADER, "integer(c_int), parameter :: STREAM_%lu = %lu\n", i, i); + } + fprintf(DSLHEADER, "#define NUM_STREAMS (%lu)\n", nstreams); + fprintf(DSLHEADER, "#define STREAM_DEFAULT (STREAM_0)\n"); + fprintf(DSLHEADER, "#define STREAM_ALL (NUM_STREAMS)\n"); + fprintf(FHEADER, "integer(c_int), parameter :: NUM_STREAMS = %lu\n", nstreams); + fprintf(FHEADER, "integer(c_int), parameter :: STREAM_DEFAULT = STREAM_0\n"); + fprintf(FHEADER, "integer(c_int), parameter :: STREAM_ALL = NUM_STREAMS\n"); + + fprintf(DSLHEADER, "typedef int Stream;\n"); + /* + // Reduction types + const size_t counter = 0; + fprintf(DSLHEADER, "#define RTYPE_MAX (%lu)\n", counter); + fprintf(FHEADER, "integer(c_int), parameter :: RTYPE_MAX = %lu\n", counter); + ++counter; + + fprintf(DSLHEADER, "#define RTYPE_MIN (%lu)\n", counter); + fprintf(FHEADER, "integer(c_int), parameter :: RTYPE_MIN = %lu\n", counter); + ++counter; + + fprintf(DSLHEADER, "#define RTYPE_RMS (%lu)\n", counter); + fprintf(FHEADER, "integer(c_int), parameter :: RTYPE_RMS = %lu\n", counter); + ++counter; + + fprintf(DSLHEADER, "#define RTYPE_RMS_EXP (%lu)\n", counter); + fprintf(FHEADER, "integer(c_int), parameter :: RTYPE_RMS_EXP = %lu\n", counter); + ++counter; + + fprintf(DSLHEADER, "#define RTYPE_SUM (%lu)\n", counter); + fprintf(FHEADER, "integer(c_int), parameter :: RTYPE_SUM = %lu\n", counter); + ++counter; + + fprintf(DSLHEADER, "#define RTYPE_MAX (%lu)\n", counter); + fprintf(FHEADER, "integer(c_int), parameter :: RTYPE_MAX = %lu\n", counter); + ++counter; + */ } static void diff --git a/include/astaroth.h b/include/astaroth.h index d72d598..61a4f91 100644 --- a/include/astaroth.h +++ b/include/astaroth.h @@ -59,29 +59,6 @@ typedef enum { NUM_REDUCTION_TYPES } ReductionType; -typedef enum { - STREAM_DEFAULT, - STREAM_0, - STREAM_1, - STREAM_2, - STREAM_3, - STREAM_4, - STREAM_5, - STREAM_6, - STREAM_7, - STREAM_8, - STREAM_9, - STREAM_10, - STREAM_11, - STREAM_12, - STREAM_13, - STREAM_14, - STREAM_15, - STREAM_16, - NUM_STREAMS -} Stream; -#define STREAM_ALL (NUM_STREAMS) - #define AC_GEN_ID(X) X, typedef enum { AC_FOR_USER_INT_PARAM_TYPES(AC_GEN_ID) //