Program listing for file numerics/src/Relay/Relay_Solvers.h#

 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