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, NumericsMatrix *F);
13
14
15struct MixedComplementarityProblem {
16 int n1;
17 int n2;
18 ptrFunctionMCP2 compute_Fmcp;
19 ptrFunctionMCP_nabla compute_nabla_Fmcp;
20 NumericsMatrix *nabla_Fmcp;
21 void *env;
22};
23
24
25struct MixedComplementarityProblem_old {
26 int sizeEqualities;
27 int sizeInequalities;
28 ptrFunctionMCP computeFmcp;
29 ptrFunctionMCP computeNablaFmcp;
30
31 double *Fmcp;
32
33 double *nablaFmcp;
34};
35
36#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
37extern "C" {
38#endif
39
40
41void mixedComplementarityProblem_free(MixedComplementarityProblem *mcp);
42
43
44MixedComplementarityProblem *mixedComplementarityProblem_new(void);
45
46
47void mixedComplementarityProblem_old_free(MixedComplementarityProblem_old *problem);
48
49#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
50}
51#endif
52
53#endif