CoinUtils  2.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CoinTypes.hpp
Go to the documentation of this file.
1 /* $Id: CoinTypes.hpp 1549 2012-08-09 22:24:43Z tkr $ */
2 // Copyright (C) 2004, International Business Machines
3 // Corporation and others. All Rights Reserved.
4 // This code is licensed under the terms of the Eclipse Public License (EPL).
5 
6 #ifndef _CoinTypes_hpp
7 #define _CoinTypes_hpp
8 
9 #include "CoinUtilsConfig.h"
10 #ifdef __MINGW64__
11 #include <stdint.h>
12 #endif
13 
14 #define CoinInt64 COIN_INT64_T
15 #define CoinUInt64 COIN_UINT64_T
16 #define CoinIntPtr COIN_INTPTR_T
17 
18 //=============================================================================
19 #ifndef COIN_BIG_INDEX
20 #define COIN_BIG_INDEX 0
21 #endif
22 
23 #if COIN_BIG_INDEX==0
24 typedef int CoinBigIndex;
25 #elif COIN_BIG_INDEX==1
26 typedef long CoinBigIndex;
27 #else
28 typedef long long CoinBigIndex;
29 #endif
30 
31 //=============================================================================
32 #ifndef COIN_BIG_DOUBLE
33 #define COIN_BIG_DOUBLE 0
34 #endif
35 
36 // See if we want the ability to have long double work arrays
37 #if COIN_BIG_DOUBLE==2
38 #undef COIN_BIG_DOUBLE
39 #define COIN_BIG_DOUBLE 0
40 #define COIN_LONG_WORK 1
41 typedef long double CoinWorkDouble;
42 #elif COIN_BIG_DOUBLE==3
43 #undef COIN_BIG_DOUBLE
44 #define COIN_BIG_DOUBLE 1
45 #define COIN_LONG_WORK 1
46 typedef long double CoinWorkDouble;
47 #else
48 #define COIN_LONG_WORK 0
49 typedef double CoinWorkDouble;
50 #endif
51 
52 #if COIN_BIG_DOUBLE==0
53 typedef double CoinFactorizationDouble;
54 #elif COIN_BIG_DOUBLE==1
55 typedef long double CoinFactorizationDouble;
56 #else
57 typedef double CoinFactorizationDouble;
58 #endif
59 
60 #endif