13# ifndef QUEST_PRECISION_H
14# define QUEST_PRECISION_H
24 # include <cuComplex.h>
26 # define cuFloatComplex void
27 # define cuDoubleComplex void
43 # define cuAmp cuFloatComplex
44 # define MPI_QuEST_REAL MPI_FLOAT
45 # define MPI_MAX_AMPS_IN_MSG (1LL<<29)
46 # define REAL_STRING_FORMAT "%.8f"
47 # define REAL_QASM_FORMAT "%.8g"
48 # define REAL_EPS 1e-5
49 # define REAL_SPECIFIER "%f"
50 # define absReal(X) fabs(X)
58 # define cuAmp cuDoubleComplex
59 # define MPI_QuEST_REAL MPI_DOUBLE
60 # define MPI_MAX_AMPS_IN_MSG (1LL<<28)
61 # define REAL_STRING_FORMAT "%.14f"
62 # define REAL_QASM_FORMAT "%.14g"
63 # define REAL_EPS 1e-13
64 # define REAL_SPECIFIER "%lf"
65 # define absReal(X) fabs(X)
72 # define qreal long double
75 # define MPI_QuEST_REAL MPI_LONG_DOUBLE
76 # define MPI_MAX_AMPS_IN_MSG (1LL<<27)
77 # define REAL_STRING_FORMAT "%.17Lf"
78 # define REAL_QASM_FORMAT "%.17Lg"
79 # define REAL_EPS 1e-14
80 # define REAL_SPECIFIER "%Lf"
81 # define absReal(X) fabsl(X)
82 # define sin(x) sinl(x)
83 # define cos(x) cosl(x)
84 # define tan(x) tanl(x)
85 # define exp(x) expl(x)
86 # define fabs(x) fabsl(x)
87 # define pow(x,y) powl(x,y)
88 # define sqrt(x) sqrtl(x)
89 # define asin(x) asinl(x)
90 # define acos(x) acosl(x)
91 # define atan(x) atanl(x)
92 # define atan2(x,y) atan2l(x,y)
93 # define ceil(x) ceill(x)
94 # define floor(x) floorl(x)
100# define MAX_NUM_REGS_APPLY_ARBITRARY_PHASE 100