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 "NumericsFwd.h"
 7#include "SiconosConfig.h"
 8
 9
10typedef void (*NewtonFunctionPtr)(int, double*, double*, int);
11
12enum NONSMOOTH_NEWTON_SOLVER { SICONOS_NONSMOOTH_NEWTON_LSA = 11000 };
13
14extern const char* const SICONOS_NONSMOOTH_NEWTON_LSA_STR;
15
16#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
17extern "C" {
18#endif
19
20void linesearch_Armijo(int n, double* z, double* dir, double psi_k, double descentCondition,
21                       NewtonFunctionPtr* phi);
22
23
24int nonSmoothNewton(int n, double* z, NewtonFunctionPtr* phi, NewtonFunctionPtr* jacobianPhi,
25                    SolverOptions* options);
26
27
28int nonSmoothDirectNewton(int n, double* z, NewtonFunctionPtr* phi,
29                          NewtonFunctionPtr* jacobianPhi, SolverOptions* options);
30
31void nonSmoothNewton_set_default(SolverOptions* options);
32
33
34#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
35}
36#endif
37
38#endif