1 |
|
2 |
/******************************************************* |
3 |
* |
4 |
* Copyright (c) 2003-2008 by University of Queensland |
5 |
* Earth Systems Science Computational Center (ESSCC) |
6 |
* http://www.uq.edu.au/esscc |
7 |
* |
8 |
* Primary Business: Queensland, Australia |
9 |
* Licensed under the Open Software License version 3.0 |
10 |
* http://www.opensource.org/licenses/osl-3.0.php |
11 |
* |
12 |
*******************************************************/ |
13 |
|
14 |
|
15 |
#ifndef ESYSTYPES_H |
16 |
#define ESYSTYPES_H |
17 |
#include "system_dep.h" |
18 |
/* |
19 |
* Use the integer types defined in the 1999 ISO C Standard |
20 |
* To specify a suitable Esys integer type |
21 |
*/ |
22 |
#include <stdint.h> |
23 |
|
24 |
#if ESYS_INT_BITS==64 |
25 |
typedef int64_t EsysIntType; |
26 |
#else |
27 |
typedef int32_t EsysIntType; |
28 |
#endif |
29 |
|
30 |
/* |
31 |
* A primitive test to ensure the array index type is at least as large |
32 |
* as requested. Could put in another test if it is larger. |
33 |
* An obscure compile error will result if the array index type isn't large |
34 |
* enough |
35 |
*/ |
36 |
static char EsysIntType_Too_Small[sizeof(EsysIntType)*8-ESYS_INT_BITS]; |
37 |
|
38 |
#endif |