source: trunk/CoinMP/src/CoinSolver.h @ 524

Last change on this file since 524 was 447, checked in by bjarni, 8 years ago

Reverting back to void* from const void* for callback UserParam? argument

File size: 1.7 KB
Line 
1
2/*  CoinSolver.h  */
3
4
5#ifndef _COINSOLVER_H_
6#define _COINSOLVER_H_
7
8
9#if defined(_MSC_VER) && !defined(HAVE_CONFIG_H)
10#define SOLVCALL   __stdcall
11#else
12#define SOLVCALL
13#endif
14
15typedef int (SOLVCALL * COIN_MSGLOG_CB)(const char* MessageStr, 
16                                        void* UserParam);
17
18typedef int (SOLVCALL *COIN_LPITER_CB)(int    IterCount, 
19                                        double ObjectValue,
20                                        int    IsFeasible, 
21                                        double InfeasValue,
22                                        void*  UserParam);
23
24typedef int (SOLVCALL *COIN_MIPNODE_CB)(int    IterCount, 
25                                        int    MipNodeCount,
26                                        double BestBound,
27                                        double BestInteger,
28                                        int    IsMipImproved, 
29                                        void*  UserParam);
30
31
32/* Depreciated, use COIN_XXX_CB instead */
33typedef int (SOLVCALL  *MSGLOGCALLBACK)(const char* MessageStr);
34
35typedef int (SOLVCALL  *ITERCALLBACK)(int    IterCount, 
36                                                        double ObjectValue,
37                                                        int    IsFeasible, 
38                                                        double InfeasValue);
39
40typedef int (SOLVCALL *MIPNODECALLBACK)(int    IterCount, 
41                                                           int    MipNodeCount,
42                                                           double BestBound,
43                                                           double BestInteger,
44                                                           int    IsMipImproved);
45
46
47typedef struct {
48                                char LogFilename[260];
49
50                                COIN_MSGLOG_CB  MsgLogCB;
51                                COIN_LPITER_CB  LPIterCB;
52                                COIN_MIPNODE_CB MipNodeCB;
53
54                                void*   MsgLogParam;
55                                void*   LPIterParam;
56                                void*   MipNodeParam;
57
58                                MSGLOGCALLBACK  MsgLogCallback;
59                                ITERCALLBACK    IterCallback;
60                                MIPNODECALLBACK MipNodeCallback;
61
62                                } SOLVERINFO, *PSOLVER;
63
64
65#ifdef __cplusplus
66extern "C" {
67#endif
68
69
70PSOLVER coinCreateSolverObject(void);
71
72void coinClearSolverObject(PSOLVER pSolver);
73
74void coinSetLogFilename(PSOLVER pSolver, const char* LogFilename);
75const char* coinGetLogFilename(PSOLVER pSolver);
76
77
78#ifdef __cplusplus
79}
80#endif
81
82
83#endif  /* _COINSOLVER_H_ */
84
Note: See TracBrowser for help on using the repository browser.