17#include "quest/include/config.h"
36#define INDEX_TYPE long long int
62#define PAULI_MASK_TYPE long long unsigned int
80#if ! (QUEST_FLOAT_PRECISION == 1 || QUEST_FLOAT_PRECISION == 2 || QUEST_FLOAT_PRECISION == 4)
81 #error "QUEST_FLOAT_PRECISION must be 1 (float), 2 (double) or 4 (long double)"
85#if QUEST_FLOAT_PRECISION == 1
86 #define FLOAT_TYPE float
87#elif QUEST_FLOAT_PRECISION == 2
88 #define FLOAT_TYPE double
89#elif QUEST_FLOAT_PRECISION == 4
90 #define FLOAT_TYPE long double
116#if QUEST_COMPILE_CUDA && (QUEST_FLOAT_PRECISION == 4)
117 #error "A quad floating-point precision (QUEST_FLOAT_PRECISION=4, i.e. long double) is not supported by GPU deployment"
128#if QUEST_FLOAT_PRECISION == 1
129 #define QUEST_UNSPECIFIED_DEFAULT_VALIDATION_EPSILON 1E-5
131#elif QUEST_FLOAT_PRECISION == 2
132 #define QUEST_UNSPECIFIED_DEFAULT_VALIDATION_EPSILON 1E-12
134#elif QUEST_FLOAT_PRECISION == 4
135 #define QUEST_UNSPECIFIED_DEFAULT_VALIDATION_EPSILON 1E-13
145#if QUEST_FLOAT_PRECISION == 1
146 #define QREAL_FORMAT_SPECIFIER "%.8g"
148#elif QUEST_FLOAT_PRECISION == 2
149 #define QREAL_FORMAT_SPECIFIER "%.14g"
151#elif QUEST_FLOAT_PRECISION == 4
152 #define QREAL_FORMAT_SPECIFIER "%.17Lg"
const char * QREAL_FORMAT_SPECIFIER
const int QUEST_FLOAT_PRECISION
long long unsigned int PAULI_MASK_TYPE