CoinTypes.hpp

Go to the documentation of this file.
00001 /* $Id: CoinTypes.hpp 1762 2014-12-29 20:37:12Z tkr $ */
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 #ifdef COINUTILS_HAS_CSTDINT
00015 #include <cstdint>
00016 #endif
00017 
00018 #define CoinInt64 COIN_INT64_T
00019 #define CoinUInt64 COIN_UINT64_T
00020 #define CoinIntPtr COIN_INTPTR_T
00021 
00022 //=============================================================================
00023 #ifndef COIN_BIG_INDEX
00024 #define COIN_BIG_INDEX 0
00025 #endif
00026 
00027 #if COIN_BIG_INDEX==0
00028 typedef int CoinBigIndex;
00029 #elif COIN_BIG_INDEX==1
00030 typedef long CoinBigIndex;
00031 #else
00032 typedef long long CoinBigIndex;
00033 #endif
00034 
00035 //=============================================================================
00036 #ifndef COIN_BIG_DOUBLE
00037 #define COIN_BIG_DOUBLE 0
00038 #endif
00039 
00040 // See if we want the ability to have long double work arrays
00041 #if COIN_BIG_DOUBLE==2
00042 #undef COIN_BIG_DOUBLE
00043 #define COIN_BIG_DOUBLE 0
00044 #define COIN_LONG_WORK 1
00045 typedef long double CoinWorkDouble;
00046 #elif COIN_BIG_DOUBLE==3
00047 #undef COIN_BIG_DOUBLE
00048 #define COIN_BIG_DOUBLE 1
00049 #define COIN_LONG_WORK 1
00050 typedef long double CoinWorkDouble;
00051 #else
00052 #define COIN_LONG_WORK 0
00053 typedef double CoinWorkDouble;
00054 #endif
00055 
00056 #if COIN_BIG_DOUBLE==0
00057 typedef double CoinFactorizationDouble;
00058 #elif COIN_BIG_DOUBLE==1
00059 typedef long double CoinFactorizationDouble;
00060 #else
00061 typedef double CoinFactorizationDouble;
00062 #endif
00063 
00064 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 28 Aug 2016 for CoinUtils by  doxygen 1.6.1