QDP++
qdp_precision.h
Go to the documentation of this file.
1// -*- C++ -*-
2
6
7#ifndef QDP_PRECISION_H
8#define QDP_PRECISION_H
9
10
11// Fix Definitions
12#include <qdp_config.h>
13
14// Fix default precision
15#if ! defined(BASE_PRECISION)
16#define BASE_PRECISION 32
17#endif
18
19// These are fixed precision versions
20typedef int INTEGER32;
21typedef float REAL32;
22typedef double REAL64;
23typedef bool LOGICAL;
24
25// Set the base floating precision
26#if BASE_PRECISION == 32
27// Use single precision for base precision
28typedef REAL32 REAL;
29typedef REAL64 DOUBLE;
30
31#define INNER_LOG 2
32
33#elif BASE_PRECISION == 64
34// Use double precision for base precision
35typedef REAL64 REAL;
36typedef REAL64 DOUBLE;
37
38#define INNER_LOG 1
39
40#else
41#error "Unknown BASE_PRECISION"
42#endif
43
44#endif
double REAL64
bool LOGICAL
float REAL32
REAL64 DOUBLE
REAL32 REAL
int INTEGER32