- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- File List
- File Members

# /home/coin/SVN-release/Osi-0.98.1/CoinUtils/src/Coin_C_defines.h

Go to the documentation of this file.

    00001 /* Copyright (C) 2002, 2003 International Business Machines
    00002    Corporation and others.  All Rights Reserved.*/
    00003 #ifndef CoinCDefine_H
    00004 #define CoinCDefine_H
    00005
    00010 /* Plus infinity */
    00011 #ifndef COIN_DBL_MAX
    00012 #define COIN_DBL_MAX DBL_MAX
    00013 #endif
    00014 #if defined (CLP_EXTERN_C)
    00015 #define COIN_EXTERN_C
    00016 #define COIN_NO_SBB
    00017 #define COIN_NO_CBC
    00018 #endif
    00019 #if defined (SBB_EXTERN_C)
    00020 #define COIN_EXTERN_C
    00021 #define COIN_NO_CLP
    00022 #endif
    00023 #if defined (CBC_EXTERN_C)
    00024 #define COIN_EXTERN_C
    00025 #define COIN_NO_CLP
    00026 #endif
    00027 /* We need to allow for Microsoft */
    00028 #ifndef COINLIBAPI
    00029
    00030 #if defined(CBCCINTERFACEDLL_EXPORTS) || defined(CLPMSDLL)
    00031 #if defined (COIN_EXTERN_C)
    00032 #   define COINLIBAPI __declspec(dllexport)
    00033 #else
    00034 #   define COINLIBAPI __declspec(dllexport)
    00035 #endif
    00036 #   define COINLINKAGE  __stdcall
    00037 #   define COINLINKAGE_CB  __cdecl
    00038 #else
    00039 #if defined (COIN_EXTERN_C)
    00040 #   define COINLIBAPI extern "C"
    00041 #else
    00042 #   define COINLIBAPI
    00043 #endif
    00044 #   define COINLINKAGE
    00045 #   define COINLINKAGE_CB
    00046 #endif
    00047
    00048 #endif
    00049
    00050 #if defined (CLP_EXTERN_C)
    00051 /* Real typedef for structure */
    00052 class CMessageHandler;
    00053 typedef struct {
    00054   ClpSimplex * model_;
    00055   CMessageHandler * handler_;
    00056 } Clp_Simplex;
    00057 #else
    00058 typedef void Clp_Simplex;
    00059 #endif
    00060
    00061 #ifndef COIN_NO_CLP
    00062
    00064 typedef  void (COINLINKAGE_CB *clp_callback) (Clp_Simplex * model,int  msgno, int ndouble,
    00065                             const double * dvec, int nint, const int * ivec,
    00066                             int nchar, char ** cvec);
    00067 #endif
    00068
    00069 #if defined (SBB_EXTERN_C)
    00070 /* Real typedef for structure */
    00071 class Sbb_MessageHandler;
    00072 typedef struct {
    00073   OsiClpSolverInterface * solver_;
    00074   SbbModel              * model_;
    00075   Sbb_MessageHandler    * handler_;
    00076   char                  * information_;
    00077 } Sbb_Model;
    00078 #else
    00079 typedef void Sbb_Model;
    00080 #endif
    00081 #if defined (CBC_EXTERN_C)
    00082 /* Real typedef for structure */
    00083 class Cbc_MessageHandler;
    00084 typedef struct {
    00085   OsiClpSolverInterface * solver_;
    00086   CbcModel              * model_;
    00087   Cbc_MessageHandler    * handler_;
    00088   char                  * information_;
    00089 } Cbc_Model;
    00090 #else
    00091 typedef void Cbc_Model;
    00092 #endif
    00093 #ifndef COIN_NO_SBB
    00094
    00096 typedef  void (COINLINKAGE_CB *sbb_callback) (Sbb_Model * model,int  msgno, int ndouble,
    00097                             const double * dvec, int nint, const int * ivec,
    00098                             int nchar, char ** cvec);
    00099 typedef  void (COINLINKAGE_CB *cbc_callback) (Cbc_Model * model,int  msgno, int ndouble,
    00100                             const double * dvec, int nint, const int * ivec,
    00101                             int nchar, char ** cvec);
    00102 #endif
    00103 #if COIN_BIG_INDEX==0
    00104 typedef int CoinBigIndex;
    00105 #elif COIN_BIG_INDEX==1
    00106 typedef long CoinBigIndex;
    00107 #else
    00108 typedef long long CoinBigIndex;
    00109 #endif
    00110 /* just in case used somewhere */
    00111 #undef COIN_NO_CLP
    00112 #undef COIN_NO_SBB
    00113 #undef COIN_NO_CBC
    00114 #endif