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