/*! * \file config.h * \brief Build configuration file. * * \author * Christos Choutouridis AEM:8997 * */ #ifndef CONFIG_H_ #define CONFIG_H_ #include /* * Defines for different version of the exercise */ #define BITONIC (1) #define BUBBLETONIC (2) // Fail-safe version selection #if !defined CODE_VERSION #define CODE_VERSION BITONIC #endif // Default Data size (in case -q is not present) #define DEFAULT_DATA_SIZE (1 << 16) /*! * Value type selection * * We support the following compiler types or the that translate to them: * char - unsigned char * short - unsigned short * int - unsigned int * long - unsigned long * long long - unsigned long long * float * double */ using distValue_t = uint32_t; /*! * Session option for each invocation of the executable */ struct config_t { size_t arraySize{DEFAULT_DATA_SIZE}; //!< bool validation{false}; //!< Request a full validation at the end, performed by process rank 0 bool ndebug{false}; //!< Skips debug trap on DEBUG builds bool perf{false}; //!< Enable performance timing measurements and prints bool verbose{false}; //!< Flag to enable verbose output to stdout }; extern config_t config; #endif /* CONFIG_H_ */