Program listing for file numerics/src/NonSmoothNewton.h

Program listing for file numerics/src/NonSmoothNewton.h#

 1#ifndef NONSMOOTHNEWTON_H
 2#define NONSMOOTHNEWTON_H
 3
 4
 5
 6#include "SiconosConfig.h"
 7#include "NumericsFwd.h"
 8
 9
10
11typedef void (*NewtonFunctionPtr)(int, double*, double*, int);
12
13enum NONSMOOTH_NEWTON_SOLVER
14{
15  SICONOS_NONSMOOTH_NEWTON_LSA = 11000
16};
17
18extern const char* const   SICONOS_NONSMOOTH_NEWTON_LSA_STR ;
19
20
21#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
22extern "C"
23{
24#endif
25
26  void linesearch_Armijo(int n, double *z, double* dir, double psi_k,
27                         double descentCondition, NewtonFunctionPtr* phi);
28
29
30
31  int nonSmoothNewton(int n, double* z, NewtonFunctionPtr* phi,
32                      NewtonFunctionPtr* jacobianPhi,
33                      SolverOptions * options);
34
35
36  int nonSmoothDirectNewton(int n, double* z, NewtonFunctionPtr* phi,
37                            NewtonFunctionPtr* jacobianPhi,
38                            SolverOptions * options);
39
40  void nonSmoothNewton_set_default(SolverOptions* options);
41
42
43#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
44}
45#endif
46
47#endif