CoinUtils
trunk
|
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 #ifdef __MINGW64__ 00011 #include <stdint.h> 00012 #endif 00013 00014 #define CoinInt64 COIN_INT64_T 00015 #define CoinUInt64 COIN_UINT64_T 00016 #define CoinIntPtr COIN_INTPTR_T 00017 00018 //============================================================================= 00019 #ifndef COIN_BIG_INDEX 00020 #define COIN_BIG_INDEX 0 00021 #endif 00022 00023 #if COIN_BIG_INDEX==0 00024 typedef int CoinBigIndex; 00025 #elif COIN_BIG_INDEX==1 00026 typedef long CoinBigIndex; 00027 #else 00028 typedef long long CoinBigIndex; 00029 #endif 00030 00031 //============================================================================= 00032 #ifndef COIN_BIG_DOUBLE 00033 #define COIN_BIG_DOUBLE 0 00034 #endif 00035 00036 // See if we want the ability to have long double work arrays 00037 #if COIN_BIG_DOUBLE==2 00038 #undef COIN_BIG_DOUBLE 00039 #define COIN_BIG_DOUBLE 0 00040 #define COIN_LONG_WORK 1 00041 typedef long double CoinWorkDouble; 00042 #elif COIN_BIG_DOUBLE==3 00043 #undef COIN_BIG_DOUBLE 00044 #define COIN_BIG_DOUBLE 1 00045 #define COIN_LONG_WORK 1 00046 typedef long double CoinWorkDouble; 00047 #else 00048 #define COIN_LONG_WORK 0 00049 typedef double CoinWorkDouble; 00050 #endif 00051 00052 #if COIN_BIG_DOUBLE==0 00053 typedef double CoinFactorizationDouble; 00054 #elif COIN_BIG_DOUBLE==1 00055 typedef long double CoinFactorizationDouble; 00056 #else 00057 typedef double CoinFactorizationDouble; 00058 #endif 00059 00060 #endif