Program listing for file numerics/src/Relay/Relay_Solvers.h#
Return to documentation for this file
1#ifndef RELAY_SOLVERS_H
2#define RELAY_SOLVERS_H
3
4
5
6#include "RelayProblem.h"
7#include "LinearComplementarityProblem.h"
8#include "SolverOptions.h"
9
10#ifdef __cplusplus
11#undef restrict
12#define restrict __restrict
13#endif
14
15#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
16extern "C"
17{
18#endif
19
20
21 void relay_pgs(RelayProblem* problem, double *z, double *w, int *info, SolverOptions* options);
22
23
24 void relay_lexicolemke(RelayProblem* problem, double *z, double *w, int *info, SolverOptions* options);
25
26
27 void relay_enum(RelayProblem* problem, double *z, double *w, int *info, SolverOptions* options);
28
29
30 void relay_path(RelayProblem* problem, double *z, double *w, int *info, SolverOptions* options);
31
32
33 void relay_avi_caoferris(RelayProblem* problem, double* restrict z, double* restrict w, int *info, SolverOptions* options);
34
35
36 void relay_avi_caoferris_test(RelayProblem* problem, double* restrict z, double* restrict w, int *info, SolverOptions* options);
37
38
39 void dr_latin(RelayProblem* problem, double *z, double *w, int *info, SolverOptions* options) ;
40
41
42 void dr_nlgs(RelayProblem* problem, double *z, double *w, int *info, SolverOptions* options);
43
44
45 int relay_compute_error(RelayProblem* problem, double* restrict z , double* restrict w, double tolerance, double* restrict error);
46
47
48
49 void project_on_box(int n, double* restrict z , double* restrict lb, double* restrict ub);
50
51
52 void relay_to_lcp(RelayProblem* problem, LinearComplementarityProblem* lcp_problem);
53
54#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
55}
56#endif
57
58#endif