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 #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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines