Program listing for file numerics/src/MCP/MixedComplementarityProblem.h#
Return to documentation for this file
1#ifndef MCP_PROBLEM_H
2#define MCP_PROBLEM_H
3
4
5
6#include "NumericsFwd.h"
7#include "SiconosConfig.h"
8
9
10typedef void (*ptrFunctionMCP)(int size, double *z, double *F);
11typedef void (*ptrFunctionMCP2)(void *env, int n, double *z, double *F);
12typedef void (*ptrFunctionMCP_nabla)(void *env, int n, double *z,
13 NumericsMatrix *F);
14
15
16struct MixedComplementarityProblem {
17 int n1;
18 int n2;
19 ptrFunctionMCP2 compute_Fmcp;
20 ptrFunctionMCP_nabla compute_nabla_Fmcp;
21 NumericsMatrix *nabla_Fmcp;
22 void *env;
23};
24
25
26struct MixedComplementarityProblem_old {
27 int sizeEqualities;
28 int sizeInequalities;
29 ptrFunctionMCP computeFmcp;
30 ptrFunctionMCP computeNablaFmcp;
31
32 double *Fmcp;
33
34 double *nablaFmcp;
35};
36
37#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
38extern "C" {
39#endif
40
41
42void mixedComplementarityProblem_free(MixedComplementarityProblem *mcp);
43
44
45MixedComplementarityProblem *mixedComplementarityProblem_new(void);
46
47
48void mixedComplementarityProblem_old_free(
49 MixedComplementarityProblem_old *problem);
50
51#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
52}
53#endif
54
55#endif