CoinUtils 2.11.4
Loading...
Searching...
No Matches
CoinTypes.hpp
Go to the documentation of this file.
1/* $Id$ */
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/* On some systems, we require stdint.h to have the 64bit integer type defined. */
11#ifdef COINUTILS_HAS_STDINT_H
12#include <stdint.h>
13#endif
14#ifdef COINUTILS_HAS_CSTDINT
15#include <cstdint>
16#endif
17
18#define CoinInt64 COIN_INT64_T
19#define CoinUInt64 COIN_UINT64_T
20#define CoinIntPtr COIN_INTPTR_T
21
22//=============================================================================
23#ifndef COIN_BIG_INDEX
24#define COIN_BIG_INDEX 0
25#endif
26
27#if COIN_BIG_INDEX == 0
28typedef int CoinBigIndex;
29#elif COIN_BIG_INDEX == 1
30typedef long CoinBigIndex;
31#else
32typedef long long CoinBigIndex;
33#endif
34
35//=============================================================================
36#ifndef COIN_BIG_DOUBLE
37#define COIN_BIG_DOUBLE 0
38#endif
39
40// See if we want the ability to have long double work arrays
41#if COIN_BIG_DOUBLE == 2
42#undef COIN_BIG_DOUBLE
43#define COIN_BIG_DOUBLE 0
44#define COIN_LONG_WORK 1
45typedef long double CoinWorkDouble;
46#elif COIN_BIG_DOUBLE == 3
47#undef COIN_BIG_DOUBLE
48#define COIN_BIG_DOUBLE 1
49#define COIN_LONG_WORK 1
50typedef long double CoinWorkDouble;
51#else
52#define COIN_LONG_WORK 0
53typedef double CoinWorkDouble;
54#endif
55
56#if COIN_BIG_DOUBLE == 0
58#elif COIN_BIG_DOUBLE == 1
59typedef long double CoinFactorizationDouble;
60#else
61typedef double CoinFactorizationDouble;
62#endif
63
64#endif
65
66/* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
67*/
int CoinBigIndex
Definition: CoinTypes.hpp:28
double CoinFactorizationDouble
Definition: CoinTypes.hpp:57
double CoinWorkDouble
Definition: CoinTypes.hpp:53