17#include "quest/include/modes.h"
36#define INDEX_TYPE long long int
62#define PAULI_MASK_TYPE long long unsigned int
80#ifndef FLOAT_PRECISION
81 #define FLOAT_PRECISION 2
85#if ! (FLOAT_PRECISION == 1 || FLOAT_PRECISION == 2 || FLOAT_PRECISION == 4)
86 #error "FLOAT_PRECISION must be 1 (float), 2 (double) or 4 (long double)"
90#if FLOAT_PRECISION == 1
91 #define FLOAT_TYPE float
92#elif FLOAT_PRECISION == 2
93 #define FLOAT_TYPE double
94#elif FLOAT_PRECISION == 4
95 #define FLOAT_TYPE long double
117#if COMPILE_CUDA && (FLOAT_PRECISION == 4)
118 #error "A quad floating-point precision (FLOAT_PRECISION=4, i.e. long double) is not supported by GPU deployment"
131#ifndef DEFAULT_VALIDATION_EPSILON
133 #if FLOAT_PRECISION == 1
134 #define DEFAULT_VALIDATION_EPSILON 1E-5
136 #elif FLOAT_PRECISION == 2
137 #define DEFAULT_VALIDATION_EPSILON 1E-12
139 #elif FLOAT_PRECISION == 4
140 #define DEFAULT_VALIDATION_EPSILON 1E-13
161#if FLOAT_PRECISION == 1
162 #define QREAL_FORMAT_SPECIFIER "%.8g"
164#elif FLOAT_PRECISION == 2
165 #define QREAL_FORMAT_SPECIFIER "%.14g"
167#elif FLOAT_PRECISION == 4
168 #define QREAL_FORMAT_SPECIFIER "%.17Lg"
const char * QREAL_FORMAT_SPECIFIER
const qreal DEFAULT_VALIDATION_EPSILON
const int FLOAT_PRECISION
long long unsigned int PAULI_MASK_TYPE