1use crate::gsl::vector_double::*;
2use crate::gsl::matrix_double::*;
3use crate::gsl::block_double::*;
4
5#[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}