• Main Page
  • Related Pages
  • Modules
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

/build/buildd/coinutils-2.6.4/CoinUtils/src/Coin_C_defines.h

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

Generated on Fri Oct 15 2010 18:21:02 by  doxygen 1.7.1