1/* $Id: CoinTypes.hpp 1448 2011-06-19 15:34:41Z stefan $ */
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
11#define CoinInt64 COIN_INT64_T
12#define CoinUInt64 COIN_UINT64_T
13#define CoinIntPtr COIN_INTPTR_T
14
15//=============================================================================
16#ifndef COIN_BIG_INDEX
17#define COIN_BIG_INDEX 0
18#endif
19
20#if COIN_BIG_INDEX==0
21typedef int CoinBigIndex;
22#elif COIN_BIG_INDEX==1
23typedef long CoinBigIndex;
24#else
25typedef long long CoinBigIndex;
26#endif
27
28//=============================================================================
29#ifndef COIN_BIG_DOUBLE
30#define COIN_BIG_DOUBLE 0
31#endif
32
33// See if we want the ability to have long double work arrays
34#if COIN_BIG_DOUBLE==2
35#undef COIN_BIG_DOUBLE
36#define COIN_BIG_DOUBLE 0
37#define COIN_LONG_WORK 1
38typedef long double CoinWorkDouble;
39#elif COIN_BIG_DOUBLE==3
40#undef COIN_BIG_DOUBLE
41#define COIN_BIG_DOUBLE 1
42#define COIN_LONG_WORK 1
43typedef long double CoinWorkDouble;
44#else
45#define COIN_LONG_WORK 0
46typedef double CoinWorkDouble;
47#endif
48
49#if COIN_BIG_DOUBLE==0
50typedef double CoinFactorizationDouble;
51#elif COIN_BIG_DOUBLE==1
52typedef long double CoinFactorizationDouble;
53#else
54typedef double CoinFactorizationDouble;
55#endif
56
57#endif
58