59 líneas
1.4 KiB
C++
59 líneas
1.4 KiB
C++
/*!
|
|
* \file config.h
|
|
* \brief Build configuration file.
|
|
*
|
|
* \author
|
|
* Christos Choutouridis AEM:8997
|
|
* <cchoutou@ece.auth.gr>
|
|
*/
|
|
|
|
#ifndef CONFIG_H_
|
|
#define CONFIG_H_
|
|
|
|
#include <cstdint>
|
|
|
|
/*
|
|
* 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 <N> is not present)
|
|
#define DEFAULT_DATA_SIZE (1 << 16)
|
|
|
|
/*!
|
|
* Value type selection
|
|
*
|
|
* We support the following compiler types or the <cstdint> 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 session_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 timing{false}; //!< Enable timing measurements and prints
|
|
bool verbose{false}; //!< Flag to enable verbose output to stdout
|
|
};
|
|
|
|
extern session_t session;
|
|
|
|
|
|
#endif /* CONFIG_H_ */
|