ESYS13  Revision_
EsysTypes.h
Go to the documentation of this file.
00001 
00002 /*******************************************************
00003 *
00004 * Copyright (c) 2003-2012 by University of Queensland
00005 * Earth Systems Science Computational Center (ESSCC)
00006 * http://www.uq.edu.au/esscc
00007 *
00008 * Primary Business: Queensland, Australia
00009 * Licensed under the Open Software License version 3.0
00010 * http://www.opensource.org/licenses/osl-3.0.php
00011 *
00012 *******************************************************/
00013 
00014 
00015 #ifndef ESYSTYPES_H
00016 #define ESYSTYPES_H
00017 #include "system_dep.h"
00018 /*
00019  * Use the integer types defined in the 1999 ISO C Standard
00020  * To specify a suitable Esys integer type
00021  */
00022 #include <stdint.h>
00023 
00024 #if ESYS_INT_BITS==64
00025 typedef int64_t EsysIntType;
00026 #else
00027 typedef int32_t EsysIntType;
00028 #endif
00029 
00030 /*
00031  * A primitive test to ensure the array index type is at least as large
00032  * as requested. Could put in another test if it is larger.
00033  * An obscure compile error will result if the array index type isn't large
00034  * enough 
00035  */
00036 static char EsysIntType_Too_Small[sizeof(EsysIntType)*8-ESYS_INT_BITS];
00037 
00038 #endif