CoinUtils  trunk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
CoinTypes.hpp
Go to the documentation of this file.
00001 /* $Id$ */
00002 // Copyright (C) 2004, International Business Machines
00003 // Corporation and others.  All Rights Reserved.
00004 // This code is licensed under the terms of the Eclipse Public License (EPL).
00005 
00006 #ifndef _CoinTypes_hpp
00007 #define _CoinTypes_hpp
00008 
00009 #include "CoinUtilsConfig.h"
00010 /* On some systems, we require stdint.h to have the 64bit integer type defined. */
00011 #ifdef COINUTILS_HAS_STDINT_H
00012 #include <stdint.h>
00013 #endif
00014 
00015 #define CoinInt64 COIN_INT64_T
00016 #define CoinUInt64 COIN_UINT64_T
00017 #define CoinIntPtr COIN_INTPTR_T
00018 
00019 //=============================================================================
00020 #ifndef COIN_BIG_INDEX
00021 #define COIN_BIG_INDEX 0
00022 #endif
00023 
00024 #if COIN_BIG_INDEX==0
00025 typedef int CoinBigIndex;
00026 #elif COIN_BIG_INDEX==1
00027 typedef long CoinBigIndex;
00028 #else
00029 typedef long long CoinBigIndex;
00030 #endif
00031 
00032 //=============================================================================
00033 #ifndef COIN_BIG_DOUBLE
00034 #define COIN_BIG_DOUBLE 0
00035 #endif
00036 
00037 // See if we want the ability to have long double work arrays
00038 #if COIN_BIG_DOUBLE==2
00039 #undef COIN_BIG_DOUBLE
00040 #define COIN_BIG_DOUBLE 0
00041 #define COIN_LONG_WORK 1
00042 typedef long double CoinWorkDouble;
00043 #elif COIN_BIG_DOUBLE==3
00044 #undef COIN_BIG_DOUBLE
00045 #define COIN_BIG_DOUBLE 1
00046 #define COIN_LONG_WORK 1
00047 typedef long double CoinWorkDouble;
00048 #else
00049 #define COIN_LONG_WORK 0
00050 typedef double CoinWorkDouble;
00051 #endif
00052 
00053 #if COIN_BIG_DOUBLE==0
00054 typedef double CoinFactorizationDouble;
00055 #elif COIN_BIG_DOUBLE==1
00056 typedef long double CoinFactorizationDouble;
00057 #else
00058 typedef double CoinFactorizationDouble;
00059 #endif
00060 
00061 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines