bayes/gsl/
multimin.rs

1use crate::gsl::vector_double::*;
2use crate::gsl::matrix_double::*;
3use crate::gsl::block_double::*;
4
5/* automatically generated by rust-bindgen */
6
7#[repr(C)]
8pub struct gsl_multimin_function_struct {
9    pub f: ::std::option::Option<
10        unsafe extern "C" fn(x: *const gsl_vector,
11                             params: *mut ::std::os::raw::c_void)
12                             -> f64,
13    >,
14    pub n: usize,
15    pub params: *mut ::std::os::raw::c_void,
16}
17pub type gsl_multimin_function = gsl_multimin_function_struct;
18#[repr(C)]
19pub struct gsl_multimin_function_fdf_struct {
20    pub f: ::std::option::Option<
21        unsafe extern "C" fn(x: *const gsl_vector,
22                             params: *mut ::std::os::raw::c_void)
23                             -> f64,
24    >,
25    pub df: ::std::option::Option<
26        unsafe extern "C" fn(x: *const gsl_vector,
27                             params: *mut ::std::os::raw::c_void,
28                             df: *mut gsl_vector),
29    >,
30    pub fdf: ::std::option::Option<
31        unsafe extern "C" fn(x: *const gsl_vector,
32                             params: *mut ::std::os::raw::c_void,
33                             f: *mut f64,
34                             df: *mut gsl_vector),
35    >,
36    pub n: usize,
37    pub params: *mut ::std::os::raw::c_void,
38}
39pub type gsl_multimin_function_fdf = gsl_multimin_function_fdf_struct;
40extern "C" {
41    pub fn gsl_multimin_diff(
42        f: *const gsl_multimin_function,
43        x: *const gsl_vector,
44        g: *mut gsl_vector,
45    ) -> ::std::os::raw::c_int;
46}
47#[repr(C)]
48pub struct gsl_multimin_fminimizer_type {
49    pub name: *const ::std::os::raw::c_char,
50    pub size: usize,
51    pub alloc: ::std::option::Option<
52        unsafe extern "C" fn(state: *mut ::std::os::raw::c_void,
53                             n: usize)
54                             -> ::std::os::raw::c_int,
55    >,
56    pub set: ::std::option::Option<
57        unsafe extern "C" fn(state: *mut ::std::os::raw::c_void,
58                             f: *mut gsl_multimin_function,
59                             x: *const gsl_vector,
60                             size: *mut f64,
61                             step_size: *const gsl_vector)
62                             -> ::std::os::raw::c_int,
63    >,
64    pub iterate: ::std::option::Option<
65        unsafe extern "C" fn(state: *mut ::std::os::raw::c_void,
66                             f: *mut gsl_multimin_function,
67                             x: *mut gsl_vector,
68                             size: *mut f64,
69                             fval: *mut f64)
70                             -> ::std::os::raw::c_int,
71    >,
72    pub free: ::std::option::Option<unsafe extern "C" fn(state: *mut ::std::os::raw::c_void)>,
73}
74#[repr(C)]
75#[derive(Debug, Copy, Clone)]
76pub struct gsl_multimin_fminimizer {
77    pub type_: *const gsl_multimin_fminimizer_type,
78    pub f: *mut gsl_multimin_function,
79    pub fval: f64,
80    pub x: *mut gsl_vector,
81    pub size: f64,
82    pub state: *mut ::std::os::raw::c_void,
83}
84extern "C" {
85    pub fn gsl_multimin_fminimizer_alloc(
86        T: *const gsl_multimin_fminimizer_type,
87        n: usize,
88    ) -> *mut gsl_multimin_fminimizer;
89}
90extern "C" {
91    pub fn gsl_multimin_fminimizer_set(
92        s: *mut gsl_multimin_fminimizer,
93        f: *mut gsl_multimin_function,
94        x: *const gsl_vector,
95        step_size: *const gsl_vector,
96    ) -> ::std::os::raw::c_int;
97}
98extern "C" {
99    pub fn gsl_multimin_fminimizer_free(s: *mut gsl_multimin_fminimizer);
100}
101extern "C" {
102    pub fn gsl_multimin_fminimizer_name(
103        s: *const gsl_multimin_fminimizer,
104    ) -> *const ::std::os::raw::c_char;
105}
106extern "C" {
107    pub fn gsl_multimin_fminimizer_iterate(
108        s: *mut gsl_multimin_fminimizer,
109    ) -> ::std::os::raw::c_int;
110}
111extern "C" {
112    pub fn gsl_multimin_fminimizer_x(s: *const gsl_multimin_fminimizer) -> *mut gsl_vector;
113}
114extern "C" {
115    pub fn gsl_multimin_fminimizer_minimum(s: *const gsl_multimin_fminimizer) -> f64;
116}
117extern "C" {
118    pub fn gsl_multimin_fminimizer_size(s: *const gsl_multimin_fminimizer) -> f64;
119}
120extern "C" {
121    pub fn gsl_multimin_test_gradient(g: *const gsl_vector, epsabs: f64) -> ::std::os::raw::c_int;
122}
123extern "C" {
124    pub fn gsl_multimin_test_size(size: f64, epsabs: f64) -> ::std::os::raw::c_int;
125}
126#[repr(C)]
127pub struct gsl_multimin_fdfminimizer_type {
128    pub name: *const ::std::os::raw::c_char,
129    pub size: usize,
130    pub alloc: ::std::option::Option<
131        unsafe extern "C" fn(state: *mut ::std::os::raw::c_void,
132                             n: usize)
133                             -> ::std::os::raw::c_int,
134    >,
135    pub set: ::std::option::Option<
136        unsafe extern "C" fn(state: *mut ::std::os::raw::c_void,
137                             fdf: *mut gsl_multimin_function_fdf,
138                             x: *const gsl_vector,
139                             f: *mut f64,
140                             gradient: *mut gsl_vector,
141                             step_size: f64,
142                             tol: f64)
143                             -> ::std::os::raw::c_int,
144    >,
145    pub iterate: ::std::option::Option<
146        unsafe extern "C" fn(state: *mut ::std::os::raw::c_void,
147                             fdf: *mut gsl_multimin_function_fdf,
148                             x: *mut gsl_vector,
149                             f: *mut f64,
150                             gradient: *mut gsl_vector,
151                             dx: *mut gsl_vector)
152                             -> ::std::os::raw::c_int,
153    >,
154    pub restart: ::std::option::Option<
155        unsafe extern "C" fn(state: *mut ::std::os::raw::c_void)
156                             -> ::std::os::raw::c_int,
157    >,
158    pub free: ::std::option::Option<unsafe extern "C" fn(state: *mut ::std::os::raw::c_void)>,
159}
160#[repr(C)]
161#[derive(Debug, Copy, Clone)]
162pub struct gsl_multimin_fdfminimizer {
163    pub type_: *const gsl_multimin_fdfminimizer_type,
164    pub fdf: *mut gsl_multimin_function_fdf,
165    pub f: f64,
166    pub x: *mut gsl_vector,
167    pub gradient: *mut gsl_vector,
168    pub dx: *mut gsl_vector,
169    pub state: *mut ::std::os::raw::c_void,
170}
171extern "C" {
172    pub fn gsl_multimin_fdfminimizer_alloc(
173        T: *const gsl_multimin_fdfminimizer_type,
174        n: usize,
175    ) -> *mut gsl_multimin_fdfminimizer;
176}
177extern "C" {
178    pub fn gsl_multimin_fdfminimizer_set(
179        s: *mut gsl_multimin_fdfminimizer,
180        fdf: *mut gsl_multimin_function_fdf,
181        x: *const gsl_vector,
182        step_size: f64,
183        tol: f64,
184    ) -> ::std::os::raw::c_int;
185}
186extern "C" {
187    pub fn gsl_multimin_fdfminimizer_free(s: *mut gsl_multimin_fdfminimizer);
188}
189extern "C" {
190    pub fn gsl_multimin_fdfminimizer_name(
191        s: *const gsl_multimin_fdfminimizer,
192    ) -> *const ::std::os::raw::c_char;
193}
194extern "C" {
195    pub fn gsl_multimin_fdfminimizer_iterate(
196        s: *mut gsl_multimin_fdfminimizer,
197    ) -> ::std::os::raw::c_int;
198}
199extern "C" {
200    pub fn gsl_multimin_fdfminimizer_restart(
201        s: *mut gsl_multimin_fdfminimizer,
202    ) -> ::std::os::raw::c_int;
203}
204extern "C" {
205    pub fn gsl_multimin_fdfminimizer_x(s: *const gsl_multimin_fdfminimizer) -> *mut gsl_vector;
206}
207extern "C" {
208    pub fn gsl_multimin_fdfminimizer_dx(s: *const gsl_multimin_fdfminimizer) -> *mut gsl_vector;
209}
210extern "C" {
211    pub fn gsl_multimin_fdfminimizer_gradient(
212        s: *const gsl_multimin_fdfminimizer,
213    ) -> *mut gsl_vector;
214}
215extern "C" {
216    pub fn gsl_multimin_fdfminimizer_minimum(s: *const gsl_multimin_fdfminimizer) -> f64;
217}
218extern "C" {
219}
220extern "C" {
221    pub static mut gsl_multimin_fdfminimizer_conjugate_pr: *const gsl_multimin_fdfminimizer_type;
222}
223extern "C" {
224    pub static mut gsl_multimin_fdfminimizer_conjugate_fr: *const gsl_multimin_fdfminimizer_type;
225}
226extern "C" {
227    pub static mut gsl_multimin_fdfminimizer_vector_bfgs: *const gsl_multimin_fdfminimizer_type;
228}
229extern "C" {
230    pub static mut gsl_multimin_fdfminimizer_vector_bfgs2: *const gsl_multimin_fdfminimizer_type;
231}
232extern "C" {
233    pub static mut gsl_multimin_fminimizer_nmsimplex: *const gsl_multimin_fminimizer_type;
234}
235extern "C" {
236    pub static mut gsl_multimin_fminimizer_nmsimplex2: *const gsl_multimin_fminimizer_type;
237}
238extern "C" {
239    pub static mut gsl_multimin_fminimizer_nmsimplex2rand: *const gsl_multimin_fminimizer_type;
240}