1#![allow(non_camel_case_types)]
2extern crate libc;
4
5pub type va_list = __builtin_va_list;
6pub type __gnuc_va_list = __builtin_va_list;
7pub type ptrdiff_t = ::libc::c_long;
8pub type size_t = ::libc::c_ulong;
9pub type wchar_t = ::libc::c_int;
10#[repr(C)]
11#[derive(Copy)]
12pub struct Struct_Unnamed1 {
13 pub _opaque_prob: [::libc::c_double; 100usize],
14}
15impl ::std::clone::Clone for Struct_Unnamed1 {
16 fn clone(&self) -> Self { *self }
17}
18impl ::std::default::Default for Struct_Unnamed1 {
19 fn default() -> Self { unsafe { ::std::mem::zeroed() } }
20}
21pub type glp_prob = Struct_Unnamed1;
22#[repr(C)]
23#[derive(Copy)]
24pub struct Struct_Unnamed2 {
25 pub msg_lev: ::libc::c_int,
26 pub _type: ::libc::c_int,
27 pub lu_size: ::libc::c_int,
28 pub piv_tol: ::libc::c_double,
29 pub piv_lim: ::libc::c_int,
30 pub suhl: ::libc::c_int,
31 pub eps_tol: ::libc::c_double,
32 pub max_gro: ::libc::c_double,
33 pub nfs_max: ::libc::c_int,
34 pub upd_tol: ::libc::c_double,
35 pub nrs_max: ::libc::c_int,
36 pub rs_size: ::libc::c_int,
37 pub foo_bar: [::libc::c_double; 38usize],
38}
39impl ::std::clone::Clone for Struct_Unnamed2 {
40 fn clone(&self) -> Self { *self }
41}
42impl ::std::default::Default for Struct_Unnamed2 {
43 fn default() -> Self { unsafe { ::std::mem::zeroed() } }
44}
45pub type glp_bfcp = Struct_Unnamed2;
46#[repr(C)]
47#[derive(Copy)]
48pub struct Struct_Unnamed3 {
49 pub msg_lev: ::libc::c_int,
50 pub meth: ::libc::c_int,
51 pub pricing: ::libc::c_int,
52 pub r_test: ::libc::c_int,
53 pub tol_bnd: ::libc::c_double,
54 pub tol_dj: ::libc::c_double,
55 pub tol_piv: ::libc::c_double,
56 pub obj_ll: ::libc::c_double,
57 pub obj_ul: ::libc::c_double,
58 pub it_lim: ::libc::c_int,
59 pub tm_lim: ::libc::c_int,
60 pub out_frq: ::libc::c_int,
61 pub out_dly: ::libc::c_int,
62 pub presolve: ::libc::c_int,
63 pub foo_bar: [::libc::c_double; 36usize],
64}
65impl ::std::clone::Clone for Struct_Unnamed3 {
66 fn clone(&self) -> Self { *self }
67}
68impl ::std::default::Default for Struct_Unnamed3 {
69 fn default() -> Self { unsafe { ::std::mem::zeroed() } }
70}
71pub type glp_smcp = Struct_Unnamed3;
72#[repr(C)]
73#[derive(Copy)]
74pub struct Struct_Unnamed4 {
75 pub msg_lev: ::libc::c_int,
76 pub ord_alg: ::libc::c_int,
77 pub foo_bar: [::libc::c_double; 48usize],
78}
79impl ::std::clone::Clone for Struct_Unnamed4 {
80 fn clone(&self) -> Self { *self }
81}
82impl ::std::default::Default for Struct_Unnamed4 {
83 fn default() -> Self { unsafe { ::std::mem::zeroed() } }
84}
85pub type glp_iptcp = Struct_Unnamed4;
86#[repr(C)]
87#[derive(Copy)]
88pub struct Struct_Unnamed5 {
89 pub _opaque_tree: [::libc::c_double; 100usize],
90}
91impl ::std::clone::Clone for Struct_Unnamed5 {
92 fn clone(&self) -> Self { *self }
93}
94impl ::std::default::Default for Struct_Unnamed5 {
95 fn default() -> Self { unsafe { ::std::mem::zeroed() } }
96}
97pub type glp_tree = Struct_Unnamed5;
98#[repr(C)]
99#[derive(Copy)]
100pub struct Struct_Unnamed6 {
101 pub msg_lev: ::libc::c_int,
102 pub br_tech: ::libc::c_int,
103 pub bt_tech: ::libc::c_int,
104 pub tol_int: ::libc::c_double,
105 pub tol_obj: ::libc::c_double,
106 pub tm_lim: ::libc::c_int,
107 pub out_frq: ::libc::c_int,
108 pub out_dly: ::libc::c_int,
109 pub cb_func: ::std::option::Option<extern "C" fn(T: *mut glp_tree,
110 info:
111 *mut ::libc::c_void)
112 -> ()>,
113 pub cb_info: *mut ::libc::c_void,
114 pub cb_size: ::libc::c_int,
115 pub pp_tech: ::libc::c_int,
116 pub mip_gap: ::libc::c_double,
117 pub mir_cuts: ::libc::c_int,
118 pub gmi_cuts: ::libc::c_int,
119 pub cov_cuts: ::libc::c_int,
120 pub clq_cuts: ::libc::c_int,
121 pub presolve: ::libc::c_int,
122 pub binarize: ::libc::c_int,
123 pub fp_heur: ::libc::c_int,
124 pub alien: ::libc::c_int,
125 pub foo_bar: [::libc::c_double; 29usize],
126}
127impl ::std::clone::Clone for Struct_Unnamed6 {
128 fn clone(&self) -> Self { *self }
129}
130impl ::std::default::Default for Struct_Unnamed6 {
131 fn default() -> Self { unsafe { ::std::mem::zeroed() } }
132}
133pub type glp_iocp = Struct_Unnamed6;
134#[repr(C)]
135#[derive(Copy)]
136pub struct Struct_Unnamed7 {
137 pub level: ::libc::c_int,
138 pub origin: ::libc::c_int,
139 pub klass: ::libc::c_int,
140 pub foo_bar: [::libc::c_double; 7usize],
141}
142impl ::std::clone::Clone for Struct_Unnamed7 {
143 fn clone(&self) -> Self { *self }
144}
145impl ::std::default::Default for Struct_Unnamed7 {
146 fn default() -> Self { unsafe { ::std::mem::zeroed() } }
147}
148pub type glp_attr = Struct_Unnamed7;
149#[repr(C)]
150#[derive(Copy)]
151pub struct Struct_Unnamed8 {
152 pub blank: ::libc::c_int,
153 pub obj_name: *mut ::libc::c_char,
154 pub tol_mps: ::libc::c_double,
155 pub foo_bar: [::libc::c_double; 17usize],
156}
157impl ::std::clone::Clone for Struct_Unnamed8 {
158 fn clone(&self) -> Self { *self }
159}
160impl ::std::default::Default for Struct_Unnamed8 {
161 fn default() -> Self { unsafe { ::std::mem::zeroed() } }
162}
163pub type glp_mpscp = Struct_Unnamed8;
164#[repr(C)]
165#[derive(Copy)]
166pub struct Struct_Unnamed9 {
167 pub foo_bar: [::libc::c_double; 20usize],
168}
169impl ::std::clone::Clone for Struct_Unnamed9 {
170 fn clone(&self) -> Self { *self }
171}
172impl ::std::default::Default for Struct_Unnamed9 {
173 fn default() -> Self { unsafe { ::std::mem::zeroed() } }
174}
175pub type glp_cpxcp = Struct_Unnamed9;
176#[repr(C)]
177#[derive(Copy)]
178pub struct Struct_Unnamed10 {
179 pub _opaque_tran: [::libc::c_double; 100usize],
180}
181impl ::std::clone::Clone for Struct_Unnamed10 {
182 fn clone(&self) -> Self { *self }
183}
184impl ::std::default::Default for Struct_Unnamed10 {
185 fn default() -> Self { unsafe { ::std::mem::zeroed() } }
186}
187pub type glp_tran = Struct_Unnamed10;
188#[repr(C)]
189#[derive(Copy)]
190pub struct Struct_Unnamed11 {
191 pub lo: ::libc::c_int,
192 pub hi: ::libc::c_int,
193}
194impl ::std::clone::Clone for Struct_Unnamed11 {
195 fn clone(&self) -> Self { *self }
196}
197impl ::std::default::Default for Struct_Unnamed11 {
198 fn default() -> Self { unsafe { ::std::mem::zeroed() } }
199}
200pub type glp_long = Struct_Unnamed11;
201pub type _glp_error =
202 ::std::option::Option<extern "C" fn(fmt: *const ::libc::c_char, ...)
203 -> ()>;
204#[repr(C)]
205#[derive(Copy)]
206pub struct Struct_Unnamed12 {
207 pub _opaque_data: [::libc::c_double; 100usize],
208}
209impl ::std::clone::Clone for Struct_Unnamed12 {
210 fn clone(&self) -> Self { *self }
211}
212impl ::std::default::Default for Struct_Unnamed12 {
213 fn default() -> Self { unsafe { ::std::mem::zeroed() } }
214}
215pub type glp_data = Struct_Unnamed12;
216pub type glp_graph = Struct__glp_graph;
217pub type glp_vertex = Struct__glp_vertex;
218pub type glp_arc = Struct__glp_arc;
219#[repr(C)]
220#[derive(Copy)]
221pub struct Struct__glp_graph {
222 pub pool: *mut ::libc::c_void,
223 pub name: *mut ::libc::c_char,
224 pub nv_max: ::libc::c_int,
225 pub nv: ::libc::c_int,
226 pub na: ::libc::c_int,
227 pub v: *mut *mut glp_vertex,
228 pub index: *mut ::libc::c_void,
229 pub v_size: ::libc::c_int,
230 pub a_size: ::libc::c_int,
231}
232impl ::std::clone::Clone for Struct__glp_graph {
233 fn clone(&self) -> Self { *self }
234}
235impl ::std::default::Default for Struct__glp_graph {
236 fn default() -> Self { unsafe { ::std::mem::zeroed() } }
237}
238#[repr(C)]
239#[derive(Copy)]
240pub struct Struct__glp_vertex {
241 pub i: ::libc::c_int,
242 pub name: *mut ::libc::c_char,
243 pub entry: *mut ::libc::c_void,
244 pub data: *mut ::libc::c_void,
245 pub temp: *mut ::libc::c_void,
246 pub _in: *mut glp_arc,
247 pub out: *mut glp_arc,
248}
249impl ::std::clone::Clone for Struct__glp_vertex {
250 fn clone(&self) -> Self { *self }
251}
252impl ::std::default::Default for Struct__glp_vertex {
253 fn default() -> Self { unsafe { ::std::mem::zeroed() } }
254}
255#[repr(C)]
256#[derive(Copy)]
257pub struct Struct__glp_arc {
258 pub tail: *mut glp_vertex,
259 pub head: *mut glp_vertex,
260 pub data: *mut ::libc::c_void,
261 pub temp: *mut ::libc::c_void,
262 pub t_prev: *mut glp_arc,
263 pub t_next: *mut glp_arc,
264 pub h_prev: *mut glp_arc,
265 pub h_next: *mut glp_arc,
266}
267impl ::std::clone::Clone for Struct__glp_arc {
268 fn clone(&self) -> Self { *self }
269}
270impl ::std::default::Default for Struct__glp_arc {
271 fn default() -> Self { unsafe { ::std::mem::zeroed() } }
272}
273#[repr(C)]
274#[derive(Copy)]
275pub struct Struct_Unnamed13 {
276 pub pe_ae_max: ::libc::c_double,
277 pub pe_ae_row: ::libc::c_int,
278 pub pe_re_max: ::libc::c_double,
279 pub pe_re_row: ::libc::c_int,
280 pub pe_quality: ::libc::c_int,
281 pub pb_ae_max: ::libc::c_double,
282 pub pb_ae_ind: ::libc::c_int,
283 pub pb_re_max: ::libc::c_double,
284 pub pb_re_ind: ::libc::c_int,
285 pub pb_quality: ::libc::c_int,
286 pub de_ae_max: ::libc::c_double,
287 pub de_ae_col: ::libc::c_int,
288 pub de_re_max: ::libc::c_double,
289 pub de_re_col: ::libc::c_int,
290 pub de_quality: ::libc::c_int,
291 pub db_ae_max: ::libc::c_double,
292 pub db_ae_ind: ::libc::c_int,
293 pub db_re_max: ::libc::c_double,
294 pub db_re_ind: ::libc::c_int,
295 pub db_quality: ::libc::c_int,
296 pub cs_ae_max: ::libc::c_double,
297 pub cs_ae_ind: ::libc::c_int,
298 pub cs_re_max: ::libc::c_double,
299 pub cs_re_ind: ::libc::c_int,
300 pub cs_quality: ::libc::c_int,
301}
302impl ::std::clone::Clone for Struct_Unnamed13 {
303 fn clone(&self) -> Self { *self }
304}
305impl ::std::default::Default for Struct_Unnamed13 {
306 fn default() -> Self { unsafe { ::std::mem::zeroed() } }
307}
308pub type LPXKKT = Struct_Unnamed13;
309pub type __builtin_va_list = [__va_list_tag; 1usize];
310pub type __va_list_tag = Struct___va_list_tag;
311#[repr(C)]
312#[derive(Copy)]
313pub struct Struct___va_list_tag {
314 pub gp_offset: ::libc::c_uint,
315 pub fp_offset: ::libc::c_uint,
316 pub overflow_arg_area: *mut ::libc::c_void,
317 pub reg_save_area: *mut ::libc::c_void,
318}
319impl ::std::clone::Clone for Struct___va_list_tag {
320 fn clone(&self) -> Self { *self }
321}
322impl ::std::default::Default for Struct___va_list_tag {
323 fn default() -> Self { unsafe { ::std::mem::zeroed() } }
324}
325extern "C" {
326 pub fn glp_create_prob() -> *mut glp_prob;
327 pub fn glp_set_prob_name(P: *mut glp_prob, name: *const ::libc::c_char)
328 -> ();
329 pub fn glp_set_obj_name(P: *mut glp_prob, name: *const ::libc::c_char)
330 -> ();
331 pub fn glp_set_obj_dir(P: *mut glp_prob, dir: ::libc::c_int) -> ();
332 pub fn glp_add_rows(P: *mut glp_prob, nrs: ::libc::c_int)
333 -> ::libc::c_int;
334 pub fn glp_add_cols(P: *mut glp_prob, ncs: ::libc::c_int)
335 -> ::libc::c_int;
336 pub fn glp_set_row_name(P: *mut glp_prob, i: ::libc::c_int,
337 name: *const ::libc::c_char) -> ();
338 pub fn glp_set_col_name(P: *mut glp_prob, j: ::libc::c_int,
339 name: *const ::libc::c_char) -> ();
340 pub fn glp_set_row_bnds(P: *mut glp_prob, i: ::libc::c_int,
341 _type: ::libc::c_int, lb: ::libc::c_double,
342 ub: ::libc::c_double) -> ();
343 pub fn glp_set_col_bnds(P: *mut glp_prob, j: ::libc::c_int,
344 _type: ::libc::c_int, lb: ::libc::c_double,
345 ub: ::libc::c_double) -> ();
346 pub fn glp_set_obj_coef(P: *mut glp_prob, j: ::libc::c_int,
347 coef: ::libc::c_double) -> ();
348 pub fn glp_set_mat_row(P: *mut glp_prob, i: ::libc::c_int,
349 len: ::libc::c_int, ind: *const ::libc::c_int,
350 val: *const ::libc::c_double) -> ();
351 pub fn glp_set_mat_col(P: *mut glp_prob, j: ::libc::c_int,
352 len: ::libc::c_int, ind: *const ::libc::c_int,
353 val: *const ::libc::c_double) -> ();
354 pub fn glp_load_matrix(P: *mut glp_prob, ne: ::libc::c_int,
355 ia: *const ::libc::c_int, ja: *const ::libc::c_int,
356 ar: *const ::libc::c_double) -> ();
357 pub fn glp_check_dup(m: ::libc::c_int, n: ::libc::c_int,
358 ne: ::libc::c_int, ia: *const ::libc::c_int,
359 ja: *const ::libc::c_int) -> ::libc::c_int;
360 pub fn glp_sort_matrix(P: *mut glp_prob) -> ();
361 pub fn glp_del_rows(P: *mut glp_prob, nrs: ::libc::c_int,
362 num: *const ::libc::c_int) -> ();
363 pub fn glp_del_cols(P: *mut glp_prob, ncs: ::libc::c_int,
364 num: *const ::libc::c_int) -> ();
365 pub fn glp_copy_prob(dest: *mut glp_prob, prob: *mut glp_prob,
366 names: ::libc::c_int) -> ();
367 pub fn glp_erase_prob(P: *mut glp_prob) -> ();
368 pub fn glp_delete_prob(P: *mut glp_prob) -> ();
369 pub fn glp_get_prob_name(P: *mut glp_prob) -> *const ::libc::c_char;
370 pub fn glp_get_obj_name(P: *mut glp_prob) -> *const ::libc::c_char;
371 pub fn glp_get_obj_dir(P: *mut glp_prob) -> ::libc::c_int;
372 pub fn glp_get_num_rows(P: *mut glp_prob) -> ::libc::c_int;
373 pub fn glp_get_num_cols(P: *mut glp_prob) -> ::libc::c_int;
374 pub fn glp_get_row_name(P: *mut glp_prob, i: ::libc::c_int)
375 -> *const ::libc::c_char;
376 pub fn glp_get_col_name(P: *mut glp_prob, j: ::libc::c_int)
377 -> *const ::libc::c_char;
378 pub fn glp_get_row_type(P: *mut glp_prob, i: ::libc::c_int)
379 -> ::libc::c_int;
380 pub fn glp_get_row_lb(P: *mut glp_prob, i: ::libc::c_int)
381 -> ::libc::c_double;
382 pub fn glp_get_row_ub(P: *mut glp_prob, i: ::libc::c_int)
383 -> ::libc::c_double;
384 pub fn glp_get_col_type(P: *mut glp_prob, j: ::libc::c_int)
385 -> ::libc::c_int;
386 pub fn glp_get_col_lb(P: *mut glp_prob, j: ::libc::c_int)
387 -> ::libc::c_double;
388 pub fn glp_get_col_ub(P: *mut glp_prob, j: ::libc::c_int)
389 -> ::libc::c_double;
390 pub fn glp_get_obj_coef(P: *mut glp_prob, j: ::libc::c_int)
391 -> ::libc::c_double;
392 pub fn glp_get_num_nz(P: *mut glp_prob) -> ::libc::c_int;
393 pub fn glp_get_mat_row(P: *mut glp_prob, i: ::libc::c_int,
394 ind: *mut ::libc::c_int,
395 val: *mut ::libc::c_double) -> ::libc::c_int;
396 pub fn glp_get_mat_col(P: *mut glp_prob, j: ::libc::c_int,
397 ind: *mut ::libc::c_int,
398 val: *mut ::libc::c_double) -> ::libc::c_int;
399 pub fn glp_create_index(P: *mut glp_prob) -> ();
400 pub fn glp_find_row(P: *mut glp_prob, name: *const ::libc::c_char)
401 -> ::libc::c_int;
402 pub fn glp_find_col(P: *mut glp_prob, name: *const ::libc::c_char)
403 -> ::libc::c_int;
404 pub fn glp_delete_index(P: *mut glp_prob) -> ();
405 pub fn glp_set_rii(P: *mut glp_prob, i: ::libc::c_int,
406 rii: ::libc::c_double) -> ();
407 pub fn glp_set_sjj(P: *mut glp_prob, j: ::libc::c_int,
408 sjj: ::libc::c_double) -> ();
409 pub fn glp_get_rii(P: *mut glp_prob, i: ::libc::c_int)
410 -> ::libc::c_double;
411 pub fn glp_get_sjj(P: *mut glp_prob, j: ::libc::c_int)
412 -> ::libc::c_double;
413 pub fn glp_scale_prob(P: *mut glp_prob, flags: ::libc::c_int) -> ();
414 pub fn glp_unscale_prob(P: *mut glp_prob) -> ();
415 pub fn glp_set_row_stat(P: *mut glp_prob, i: ::libc::c_int,
416 stat: ::libc::c_int) -> ();
417 pub fn glp_set_col_stat(P: *mut glp_prob, j: ::libc::c_int,
418 stat: ::libc::c_int) -> ();
419 pub fn glp_std_basis(P: *mut glp_prob) -> ();
420 pub fn glp_adv_basis(P: *mut glp_prob, flags: ::libc::c_int) -> ();
421 pub fn glp_cpx_basis(P: *mut glp_prob) -> ();
422 pub fn glp_simplex(P: *mut glp_prob, parm: *const glp_smcp)
423 -> ::libc::c_int;
424 pub fn glp_exact(P: *mut glp_prob, parm: *const glp_smcp)
425 -> ::libc::c_int;
426 pub fn glp_init_smcp(parm: *mut glp_smcp) -> ();
427 pub fn glp_get_status(P: *mut glp_prob) -> ::libc::c_int;
428 pub fn glp_get_prim_stat(P: *mut glp_prob) -> ::libc::c_int;
429 pub fn glp_get_dual_stat(P: *mut glp_prob) -> ::libc::c_int;
430 pub fn glp_get_obj_val(P: *mut glp_prob) -> ::libc::c_double;
431 pub fn glp_get_row_stat(P: *mut glp_prob, i: ::libc::c_int)
432 -> ::libc::c_int;
433 pub fn glp_get_row_prim(P: *mut glp_prob, i: ::libc::c_int)
434 -> ::libc::c_double;
435 pub fn glp_get_row_dual(P: *mut glp_prob, i: ::libc::c_int)
436 -> ::libc::c_double;
437 pub fn glp_get_col_stat(P: *mut glp_prob, j: ::libc::c_int)
438 -> ::libc::c_int;
439 pub fn glp_get_col_prim(P: *mut glp_prob, j: ::libc::c_int)
440 -> ::libc::c_double;
441 pub fn glp_get_col_dual(P: *mut glp_prob, j: ::libc::c_int)
442 -> ::libc::c_double;
443 pub fn glp_get_unbnd_ray(P: *mut glp_prob) -> ::libc::c_int;
444 pub fn glp_interior(P: *mut glp_prob, parm: *const glp_iptcp)
445 -> ::libc::c_int;
446 pub fn glp_init_iptcp(parm: *mut glp_iptcp) -> ();
447 pub fn glp_ipt_status(P: *mut glp_prob) -> ::libc::c_int;
448 pub fn glp_ipt_obj_val(P: *mut glp_prob) -> ::libc::c_double;
449 pub fn glp_ipt_row_prim(P: *mut glp_prob, i: ::libc::c_int)
450 -> ::libc::c_double;
451 pub fn glp_ipt_row_dual(P: *mut glp_prob, i: ::libc::c_int)
452 -> ::libc::c_double;
453 pub fn glp_ipt_col_prim(P: *mut glp_prob, j: ::libc::c_int)
454 -> ::libc::c_double;
455 pub fn glp_ipt_col_dual(P: *mut glp_prob, j: ::libc::c_int)
456 -> ::libc::c_double;
457 pub fn glp_set_col_kind(P: *mut glp_prob, j: ::libc::c_int,
458 kind: ::libc::c_int) -> ();
459 pub fn glp_get_col_kind(P: *mut glp_prob, j: ::libc::c_int)
460 -> ::libc::c_int;
461 pub fn glp_get_num_int(P: *mut glp_prob) -> ::libc::c_int;
462 pub fn glp_get_num_bin(P: *mut glp_prob) -> ::libc::c_int;
463 pub fn glp_intopt(P: *mut glp_prob, parm: *const glp_iocp)
464 -> ::libc::c_int;
465 pub fn glp_init_iocp(parm: *mut glp_iocp) -> ();
466 pub fn glp_mip_status(P: *mut glp_prob) -> ::libc::c_int;
467 pub fn glp_mip_obj_val(P: *mut glp_prob) -> ::libc::c_double;
468 pub fn glp_mip_row_val(P: *mut glp_prob, i: ::libc::c_int)
469 -> ::libc::c_double;
470 pub fn glp_mip_col_val(P: *mut glp_prob, j: ::libc::c_int)
471 -> ::libc::c_double;
472 pub fn glp_print_sol(P: *mut glp_prob, fname: *const ::libc::c_char)
473 -> ::libc::c_int;
474 pub fn glp_read_sol(P: *mut glp_prob, fname: *const ::libc::c_char)
475 -> ::libc::c_int;
476 pub fn glp_write_sol(P: *mut glp_prob, fname: *const ::libc::c_char)
477 -> ::libc::c_int;
478 pub fn glp_print_ranges(P: *mut glp_prob, len: ::libc::c_int,
479 list: *const ::libc::c_int, flags: ::libc::c_int,
480 fname: *const ::libc::c_char) -> ::libc::c_int;
481 pub fn glp_print_ipt(P: *mut glp_prob, fname: *const ::libc::c_char)
482 -> ::libc::c_int;
483 pub fn glp_read_ipt(P: *mut glp_prob, fname: *const ::libc::c_char)
484 -> ::libc::c_int;
485 pub fn glp_write_ipt(P: *mut glp_prob, fname: *const ::libc::c_char)
486 -> ::libc::c_int;
487 pub fn glp_print_mip(P: *mut glp_prob, fname: *const ::libc::c_char)
488 -> ::libc::c_int;
489 pub fn glp_read_mip(P: *mut glp_prob, fname: *const ::libc::c_char)
490 -> ::libc::c_int;
491 pub fn glp_write_mip(P: *mut glp_prob, fname: *const ::libc::c_char)
492 -> ::libc::c_int;
493 pub fn glp_bf_exists(P: *mut glp_prob) -> ::libc::c_int;
494 pub fn glp_factorize(P: *mut glp_prob) -> ::libc::c_int;
495 pub fn glp_bf_updated(P: *mut glp_prob) -> ::libc::c_int;
496 pub fn glp_get_bfcp(P: *mut glp_prob, parm: *mut glp_bfcp) -> ();
497 pub fn glp_set_bfcp(P: *mut glp_prob, parm: *const glp_bfcp) -> ();
498 pub fn glp_get_bhead(P: *mut glp_prob, k: ::libc::c_int) -> ::libc::c_int;
499 pub fn glp_get_row_bind(P: *mut glp_prob, i: ::libc::c_int)
500 -> ::libc::c_int;
501 pub fn glp_get_col_bind(P: *mut glp_prob, j: ::libc::c_int)
502 -> ::libc::c_int;
503 pub fn glp_ftran(P: *mut glp_prob, x: *mut ::libc::c_double) -> ();
504 pub fn glp_btran(P: *mut glp_prob, x: *mut ::libc::c_double) -> ();
505 pub fn glp_warm_up(P: *mut glp_prob) -> ::libc::c_int;
506 pub fn glp_eval_tab_row(P: *mut glp_prob, k: ::libc::c_int,
507 ind: *mut ::libc::c_int,
508 val: *mut ::libc::c_double) -> ::libc::c_int;
509 pub fn glp_eval_tab_col(P: *mut glp_prob, k: ::libc::c_int,
510 ind: *mut ::libc::c_int,
511 val: *mut ::libc::c_double) -> ::libc::c_int;
512 pub fn glp_transform_row(P: *mut glp_prob, len: ::libc::c_int,
513 ind: *mut ::libc::c_int,
514 val: *mut ::libc::c_double) -> ::libc::c_int;
515 pub fn glp_transform_col(P: *mut glp_prob, len: ::libc::c_int,
516 ind: *mut ::libc::c_int,
517 val: *mut ::libc::c_double) -> ::libc::c_int;
518 pub fn glp_prim_rtest(P: *mut glp_prob, len: ::libc::c_int,
519 ind: *const ::libc::c_int,
520 val: *const ::libc::c_double, dir: ::libc::c_int,
521 eps: ::libc::c_double) -> ::libc::c_int;
522 pub fn glp_dual_rtest(P: *mut glp_prob, len: ::libc::c_int,
523 ind: *const ::libc::c_int,
524 val: *const ::libc::c_double, dir: ::libc::c_int,
525 eps: ::libc::c_double) -> ::libc::c_int;
526 pub fn glp_analyze_bound(P: *mut glp_prob, k: ::libc::c_int,
527 value1: *mut ::libc::c_double,
528 var1: *mut ::libc::c_int,
529 value2: *mut ::libc::c_double,
530 var2: *mut ::libc::c_int) -> ();
531 pub fn glp_analyze_coef(P: *mut glp_prob, k: ::libc::c_int,
532 coef1: *mut ::libc::c_double,
533 var1: *mut ::libc::c_int,
534 value1: *mut ::libc::c_double,
535 coef2: *mut ::libc::c_double,
536 var2: *mut ::libc::c_int,
537 value2: *mut ::libc::c_double) -> ();
538 pub fn glp_ios_reason(T: *mut glp_tree) -> ::libc::c_int;
539 pub fn glp_ios_get_prob(T: *mut glp_tree) -> *mut glp_prob;
540 pub fn glp_ios_tree_size(T: *mut glp_tree, a_cnt: *mut ::libc::c_int,
541 n_cnt: *mut ::libc::c_int,
542 t_cnt: *mut ::libc::c_int) -> ();
543 pub fn glp_ios_curr_node(T: *mut glp_tree) -> ::libc::c_int;
544 pub fn glp_ios_next_node(T: *mut glp_tree, p: ::libc::c_int)
545 -> ::libc::c_int;
546 pub fn glp_ios_prev_node(T: *mut glp_tree, p: ::libc::c_int)
547 -> ::libc::c_int;
548 pub fn glp_ios_up_node(T: *mut glp_tree, p: ::libc::c_int)
549 -> ::libc::c_int;
550 pub fn glp_ios_node_level(T: *mut glp_tree, p: ::libc::c_int)
551 -> ::libc::c_int;
552 pub fn glp_ios_node_bound(T: *mut glp_tree, p: ::libc::c_int)
553 -> ::libc::c_double;
554 pub fn glp_ios_best_node(T: *mut glp_tree) -> ::libc::c_int;
555 pub fn glp_ios_mip_gap(T: *mut glp_tree) -> ::libc::c_double;
556 pub fn glp_ios_node_data(T: *mut glp_tree, p: ::libc::c_int)
557 -> *mut ::libc::c_void;
558 pub fn glp_ios_row_attr(T: *mut glp_tree, i: ::libc::c_int,
559 attr: *mut glp_attr) -> ();
560 pub fn glp_ios_pool_size(T: *mut glp_tree) -> ::libc::c_int;
561 pub fn glp_ios_add_row(T: *mut glp_tree, name: *const ::libc::c_char,
562 klass: ::libc::c_int, flags: ::libc::c_int,
563 len: ::libc::c_int, ind: *const ::libc::c_int,
564 val: *const ::libc::c_double, _type: ::libc::c_int,
565 rhs: ::libc::c_double) -> ::libc::c_int;
566 pub fn glp_ios_del_row(T: *mut glp_tree, i: ::libc::c_int) -> ();
567 pub fn glp_ios_clear_pool(T: *mut glp_tree) -> ();
568 pub fn glp_ios_can_branch(T: *mut glp_tree, j: ::libc::c_int)
569 -> ::libc::c_int;
570 pub fn glp_ios_branch_upon(T: *mut glp_tree, j: ::libc::c_int,
571 sel: ::libc::c_int) -> ();
572 pub fn glp_ios_select_node(T: *mut glp_tree, p: ::libc::c_int) -> ();
573 pub fn glp_ios_heur_sol(T: *mut glp_tree, x: *const ::libc::c_double)
574 -> ::libc::c_int;
575 pub fn glp_ios_terminate(T: *mut glp_tree) -> ();
576 pub fn glp_init_mpscp(parm: *mut glp_mpscp) -> ();
577 pub fn glp_read_mps(P: *mut glp_prob, fmt: ::libc::c_int,
578 parm: *const glp_mpscp, fname: *const ::libc::c_char)
579 -> ::libc::c_int;
580 pub fn glp_write_mps(P: *mut glp_prob, fmt: ::libc::c_int,
581 parm: *const glp_mpscp, fname: *const ::libc::c_char)
582 -> ::libc::c_int;
583 pub fn glp_init_cpxcp(parm: *mut glp_cpxcp) -> ();
584 pub fn glp_read_lp(P: *mut glp_prob, parm: *const glp_cpxcp,
585 fname: *const ::libc::c_char) -> ::libc::c_int;
586 pub fn glp_write_lp(P: *mut glp_prob, parm: *const glp_cpxcp,
587 fname: *const ::libc::c_char) -> ::libc::c_int;
588 pub fn glp_read_prob(P: *mut glp_prob, flags: ::libc::c_int,
589 fname: *const ::libc::c_char) -> ::libc::c_int;
590 pub fn glp_write_prob(P: *mut glp_prob, flags: ::libc::c_int,
591 fname: *const ::libc::c_char) -> ::libc::c_int;
592 pub fn glp_mpl_alloc_wksp() -> *mut glp_tran;
593 pub fn glp_mpl_read_model(tran: *mut glp_tran,
594 fname: *const ::libc::c_char,
595 skip: ::libc::c_int) -> ::libc::c_int;
596 pub fn glp_mpl_read_data(tran: *mut glp_tran,
597 fname: *const ::libc::c_char) -> ::libc::c_int;
598 pub fn glp_mpl_generate(tran: *mut glp_tran, fname: *const ::libc::c_char)
599 -> ::libc::c_int;
600 pub fn glp_mpl_build_prob(tran: *mut glp_tran, prob: *mut glp_prob) -> ();
601 pub fn glp_mpl_postsolve(tran: *mut glp_tran, prob: *mut glp_prob,
602 sol: ::libc::c_int) -> ::libc::c_int;
603 pub fn glp_mpl_free_wksp(tran: *mut glp_tran) -> ();
604 pub fn glp_main(argc: ::libc::c_int, argv: *mut *const ::libc::c_char)
605 -> ::libc::c_int;
606 pub fn glp_init_env() -> ::libc::c_int;
607 pub fn glp_version() -> *const ::libc::c_char;
608 pub fn glp_free_env() -> ::libc::c_int;
609 pub fn glp_printf(fmt: *const ::libc::c_char, ...) -> ();
610 pub fn glp_vprintf(fmt: *const ::libc::c_char, arg: va_list) -> ();
611 pub fn glp_term_out(flag: ::libc::c_int) -> ::libc::c_int;
612 pub fn glp_term_hook(func:
613 ::std::option::Option<extern "C" fn(info:
614 *mut ::libc::c_void,
615 s:
616 *const ::libc::c_char)
617 -> ::libc::c_int>,
618 info: *mut ::libc::c_void) -> ();
619 pub fn glp_open_tee(fname: *const ::libc::c_char) -> ::libc::c_int;
620 pub fn glp_close_tee() -> ::libc::c_int;
621 pub fn glp_error_(file: *const ::libc::c_char, line: ::libc::c_int)
622 -> _glp_error;
623 pub fn glp_assert_(expr: *const ::libc::c_char,
624 file: *const ::libc::c_char, line: ::libc::c_int)
625 -> ();
626 pub fn glp_error_hook(func:
627 ::std::option::Option<extern "C" fn(info:
628 *mut ::libc::c_void)
629 -> ()>,
630 info: *mut ::libc::c_void) -> ();
631 pub fn glp_malloc(size: ::libc::c_int) -> *mut ::libc::c_void;
632 pub fn glp_calloc(n: ::libc::c_int, size: ::libc::c_int)
633 -> *mut ::libc::c_void;
634 pub fn glp_free(ptr: *mut ::libc::c_void) -> ();
635 pub fn glp_mem_limit(limit: ::libc::c_int) -> ();
636 pub fn glp_mem_usage(count: *mut ::libc::c_int, cpeak: *mut ::libc::c_int,
637 total: *mut glp_long, tpeak: *mut glp_long) -> ();
638 pub fn glp_time() -> glp_long;
639 pub fn glp_difftime(t1: glp_long, t0: glp_long) -> ::libc::c_double;
640 pub fn glp_sdf_open_file(fname: *const ::libc::c_char) -> *mut glp_data;
641 pub fn glp_sdf_set_jump(data: *mut glp_data, jump: *mut ::libc::c_void)
642 -> ();
643 pub fn glp_sdf_error(data: *mut glp_data, fmt: *const ::libc::c_char, ...)
644 -> ();
645 pub fn glp_sdf_warning(data: *mut glp_data,
646 fmt: *const ::libc::c_char, ...) -> ();
647 pub fn glp_sdf_read_int(data: *mut glp_data) -> ::libc::c_int;
648 pub fn glp_sdf_read_num(data: *mut glp_data) -> ::libc::c_double;
649 pub fn glp_sdf_read_item(data: *mut glp_data) -> *const ::libc::c_char;
650 pub fn glp_sdf_read_text(data: *mut glp_data) -> *const ::libc::c_char;
651 pub fn glp_sdf_line(data: *mut glp_data) -> ::libc::c_int;
652 pub fn glp_sdf_close_file(data: *mut glp_data) -> ();
653 pub fn glp_create_graph(v_size: ::libc::c_int, a_size: ::libc::c_int)
654 -> *mut glp_graph;
655 pub fn glp_set_graph_name(G: *mut glp_graph, name: *const ::libc::c_char)
656 -> ();
657 pub fn glp_add_vertices(G: *mut glp_graph, nadd: ::libc::c_int)
658 -> ::libc::c_int;
659 pub fn glp_set_vertex_name(G: *mut glp_graph, i: ::libc::c_int,
660 name: *const ::libc::c_char) -> ();
661 pub fn glp_add_arc(G: *mut glp_graph, i: ::libc::c_int, j: ::libc::c_int)
662 -> *mut glp_arc;
663 pub fn glp_del_vertices(G: *mut glp_graph, ndel: ::libc::c_int,
664 num: *const ::libc::c_int) -> ();
665 pub fn glp_del_arc(G: *mut glp_graph, a: *mut glp_arc) -> ();
666 pub fn glp_erase_graph(G: *mut glp_graph, v_size: ::libc::c_int,
667 a_size: ::libc::c_int) -> ();
668 pub fn glp_delete_graph(G: *mut glp_graph) -> ();
669 pub fn glp_create_v_index(G: *mut glp_graph) -> ();
670 pub fn glp_find_vertex(G: *mut glp_graph, name: *const ::libc::c_char)
671 -> ::libc::c_int;
672 pub fn glp_delete_v_index(G: *mut glp_graph) -> ();
673 pub fn glp_read_graph(G: *mut glp_graph, fname: *const ::libc::c_char)
674 -> ::libc::c_int;
675 pub fn glp_write_graph(G: *mut glp_graph, fname: *const ::libc::c_char)
676 -> ::libc::c_int;
677 pub fn glp_mincost_lp(P: *mut glp_prob, G: *mut glp_graph,
678 names: ::libc::c_int, v_rhs: ::libc::c_int,
679 a_low: ::libc::c_int, a_cap: ::libc::c_int,
680 a_cost: ::libc::c_int) -> ();
681 pub fn glp_mincost_okalg(G: *mut glp_graph, v_rhs: ::libc::c_int,
682 a_low: ::libc::c_int, a_cap: ::libc::c_int,
683 a_cost: ::libc::c_int,
684 sol: *mut ::libc::c_double, a_x: ::libc::c_int,
685 v_pi: ::libc::c_int) -> ::libc::c_int;
686 pub fn glp_maxflow_lp(P: *mut glp_prob, G: *mut glp_graph,
687 names: ::libc::c_int, s: ::libc::c_int,
688 t: ::libc::c_int, a_cap: ::libc::c_int) -> ();
689 pub fn glp_maxflow_ffalg(G: *mut glp_graph, s: ::libc::c_int,
690 t: ::libc::c_int, a_cap: ::libc::c_int,
691 sol: *mut ::libc::c_double, a_x: ::libc::c_int,
692 v_cut: ::libc::c_int) -> ::libc::c_int;
693 pub fn glp_check_asnprob(G: *mut glp_graph, v_set: ::libc::c_int)
694 -> ::libc::c_int;
695 pub fn glp_asnprob_lp(P: *mut glp_prob, form: ::libc::c_int,
696 G: *mut glp_graph, names: ::libc::c_int,
697 v_set: ::libc::c_int, a_cost: ::libc::c_int)
698 -> ::libc::c_int;
699 pub fn glp_asnprob_okalg(form: ::libc::c_int, G: *mut glp_graph,
700 v_set: ::libc::c_int, a_cost: ::libc::c_int,
701 sol: *mut ::libc::c_double, a_x: ::libc::c_int)
702 -> ::libc::c_int;
703 pub fn glp_asnprob_hall(G: *mut glp_graph, v_set: ::libc::c_int,
704 a_x: ::libc::c_int) -> ::libc::c_int;
705 pub fn glp_cpp(G: *mut glp_graph, v_t: ::libc::c_int, v_es: ::libc::c_int,
706 v_ls: ::libc::c_int) -> ::libc::c_double;
707 pub fn glp_read_mincost(G: *mut glp_graph, v_rhs: ::libc::c_int,
708 a_low: ::libc::c_int, a_cap: ::libc::c_int,
709 a_cost: ::libc::c_int,
710 fname: *const ::libc::c_char) -> ::libc::c_int;
711 pub fn glp_write_mincost(G: *mut glp_graph, v_rhs: ::libc::c_int,
712 a_low: ::libc::c_int, a_cap: ::libc::c_int,
713 a_cost: ::libc::c_int,
714 fname: *const ::libc::c_char) -> ::libc::c_int;
715 pub fn glp_read_maxflow(G: *mut glp_graph, s: *mut ::libc::c_int,
716 t: *mut ::libc::c_int, a_cap: ::libc::c_int,
717 fname: *const ::libc::c_char) -> ::libc::c_int;
718 pub fn glp_write_maxflow(G: *mut glp_graph, s: ::libc::c_int,
719 t: ::libc::c_int, a_cap: ::libc::c_int,
720 fname: *const ::libc::c_char) -> ::libc::c_int;
721 pub fn glp_read_asnprob(G: *mut glp_graph, v_set: ::libc::c_int,
722 a_cost: ::libc::c_int,
723 fname: *const ::libc::c_char) -> ::libc::c_int;
724 pub fn glp_write_asnprob(G: *mut glp_graph, v_set: ::libc::c_int,
725 a_cost: ::libc::c_int,
726 fname: *const ::libc::c_char) -> ::libc::c_int;
727 pub fn glp_read_ccdata(G: *mut glp_graph, v_wgt: ::libc::c_int,
728 fname: *const ::libc::c_char) -> ::libc::c_int;
729 pub fn glp_write_ccdata(G: *mut glp_graph, v_wgt: ::libc::c_int,
730 fname: *const ::libc::c_char) -> ::libc::c_int;
731 pub fn glp_netgen(G: *mut glp_graph, v_rhs: ::libc::c_int,
732 a_cap: ::libc::c_int, a_cost: ::libc::c_int,
733 parm: *mut ::libc::c_int) -> ::libc::c_int;
734 pub fn glp_gridgen(G: *mut glp_graph, v_rhs: ::libc::c_int,
735 a_cap: ::libc::c_int, a_cost: ::libc::c_int,
736 parm: *mut ::libc::c_int) -> ::libc::c_int;
737 pub fn glp_rmfgen(G: *mut glp_graph, s: *mut ::libc::c_int,
738 t: *mut ::libc::c_int, a_cap: ::libc::c_int,
739 parm: *mut ::libc::c_int) -> ::libc::c_int;
740 pub fn glp_weak_comp(G: *mut glp_graph, v_num: ::libc::c_int)
741 -> ::libc::c_int;
742 pub fn glp_strong_comp(G: *mut glp_graph, v_num: ::libc::c_int)
743 -> ::libc::c_int;
744 pub fn glp_top_sort(G: *mut glp_graph, v_num: ::libc::c_int)
745 -> ::libc::c_int;
746 pub fn glp_wclique_exact(G: *mut glp_graph, v_wgt: ::libc::c_int,
747 sol: *mut ::libc::c_double, v_set: ::libc::c_int)
748 -> ::libc::c_int;
749 pub fn _glp_lpx_create_prob() -> *mut glp_prob;
750 pub fn _glp_lpx_set_prob_name(lp: *mut glp_prob,
751 name: *const ::libc::c_char) -> ();
752 pub fn _glp_lpx_set_obj_name(lp: *mut glp_prob,
753 name: *const ::libc::c_char) -> ();
754 pub fn _glp_lpx_set_obj_dir(lp: *mut glp_prob, dir: ::libc::c_int) -> ();
755 pub fn _glp_lpx_add_rows(lp: *mut glp_prob, nrs: ::libc::c_int)
756 -> ::libc::c_int;
757 pub fn _glp_lpx_add_cols(lp: *mut glp_prob, ncs: ::libc::c_int)
758 -> ::libc::c_int;
759 pub fn _glp_lpx_set_row_name(lp: *mut glp_prob, i: ::libc::c_int,
760 name: *const ::libc::c_char) -> ();
761 pub fn _glp_lpx_set_col_name(lp: *mut glp_prob, j: ::libc::c_int,
762 name: *const ::libc::c_char) -> ();
763 pub fn _glp_lpx_set_row_bnds(lp: *mut glp_prob, i: ::libc::c_int,
764 _type: ::libc::c_int, lb: ::libc::c_double,
765 ub: ::libc::c_double) -> ();
766 pub fn _glp_lpx_set_col_bnds(lp: *mut glp_prob, j: ::libc::c_int,
767 _type: ::libc::c_int, lb: ::libc::c_double,
768 ub: ::libc::c_double) -> ();
769 pub fn _glp_lpx_set_obj_coef(lp: *mut glp_prob, j: ::libc::c_int,
770 coef: ::libc::c_double) -> ();
771 pub fn _glp_lpx_set_mat_row(lp: *mut glp_prob, i: ::libc::c_int,
772 len: ::libc::c_int, ind: *const ::libc::c_int,
773 val: *const ::libc::c_double) -> ();
774 pub fn _glp_lpx_set_mat_col(lp: *mut glp_prob, j: ::libc::c_int,
775 len: ::libc::c_int, ind: *const ::libc::c_int,
776 val: *const ::libc::c_double) -> ();
777 pub fn _glp_lpx_load_matrix(lp: *mut glp_prob, ne: ::libc::c_int,
778 ia: *const ::libc::c_int,
779 ja: *const ::libc::c_int,
780 ar: *const ::libc::c_double) -> ();
781 pub fn _glp_lpx_del_rows(lp: *mut glp_prob, nrs: ::libc::c_int,
782 num: *const ::libc::c_int) -> ();
783 pub fn _glp_lpx_del_cols(lp: *mut glp_prob, ncs: ::libc::c_int,
784 num: *const ::libc::c_int) -> ();
785 pub fn _glp_lpx_delete_prob(lp: *mut glp_prob) -> ();
786 pub fn _glp_lpx_get_prob_name(lp: *mut glp_prob) -> *const ::libc::c_char;
787 pub fn _glp_lpx_get_obj_name(lp: *mut glp_prob) -> *const ::libc::c_char;
788 pub fn _glp_lpx_get_obj_dir(lp: *mut glp_prob) -> ::libc::c_int;
789 pub fn _glp_lpx_get_num_rows(lp: *mut glp_prob) -> ::libc::c_int;
790 pub fn _glp_lpx_get_num_cols(lp: *mut glp_prob) -> ::libc::c_int;
791 pub fn _glp_lpx_get_row_name(lp: *mut glp_prob, i: ::libc::c_int)
792 -> *const ::libc::c_char;
793 pub fn _glp_lpx_get_col_name(lp: *mut glp_prob, j: ::libc::c_int)
794 -> *const ::libc::c_char;
795 pub fn _glp_lpx_get_row_type(lp: *mut glp_prob, i: ::libc::c_int)
796 -> ::libc::c_int;
797 pub fn _glp_lpx_get_row_lb(lp: *mut glp_prob, i: ::libc::c_int)
798 -> ::libc::c_double;
799 pub fn _glp_lpx_get_row_ub(lp: *mut glp_prob, i: ::libc::c_int)
800 -> ::libc::c_double;
801 pub fn _glp_lpx_get_row_bnds(lp: *mut glp_prob, i: ::libc::c_int,
802 typx: *mut ::libc::c_int,
803 lb: *mut ::libc::c_double,
804 ub: *mut ::libc::c_double) -> ();
805 pub fn _glp_lpx_get_col_type(lp: *mut glp_prob, j: ::libc::c_int)
806 -> ::libc::c_int;
807 pub fn _glp_lpx_get_col_lb(lp: *mut glp_prob, j: ::libc::c_int)
808 -> ::libc::c_double;
809 pub fn _glp_lpx_get_col_ub(lp: *mut glp_prob, j: ::libc::c_int)
810 -> ::libc::c_double;
811 pub fn _glp_lpx_get_col_bnds(lp: *mut glp_prob, j: ::libc::c_int,
812 typx: *mut ::libc::c_int,
813 lb: *mut ::libc::c_double,
814 ub: *mut ::libc::c_double) -> ();
815 pub fn _glp_lpx_get_obj_coef(lp: *mut glp_prob, j: ::libc::c_int)
816 -> ::libc::c_double;
817 pub fn _glp_lpx_get_num_nz(lp: *mut glp_prob) -> ::libc::c_int;
818 pub fn _glp_lpx_get_mat_row(lp: *mut glp_prob, i: ::libc::c_int,
819 ind: *mut ::libc::c_int,
820 val: *mut ::libc::c_double) -> ::libc::c_int;
821 pub fn _glp_lpx_get_mat_col(lp: *mut glp_prob, j: ::libc::c_int,
822 ind: *mut ::libc::c_int,
823 val: *mut ::libc::c_double) -> ::libc::c_int;
824 pub fn _glp_lpx_create_index(lp: *mut glp_prob) -> ();
825 pub fn _glp_lpx_find_row(lp: *mut glp_prob, name: *const ::libc::c_char)
826 -> ::libc::c_int;
827 pub fn _glp_lpx_find_col(lp: *mut glp_prob, name: *const ::libc::c_char)
828 -> ::libc::c_int;
829 pub fn _glp_lpx_delete_index(lp: *mut glp_prob) -> ();
830 pub fn _glp_lpx_scale_prob(lp: *mut glp_prob) -> ();
831 pub fn _glp_lpx_unscale_prob(lp: *mut glp_prob) -> ();
832 pub fn _glp_lpx_set_row_stat(lp: *mut glp_prob, i: ::libc::c_int,
833 stat: ::libc::c_int) -> ();
834 pub fn _glp_lpx_set_col_stat(lp: *mut glp_prob, j: ::libc::c_int,
835 stat: ::libc::c_int) -> ();
836 pub fn _glp_lpx_std_basis(lp: *mut glp_prob) -> ();
837 pub fn _glp_lpx_adv_basis(lp: *mut glp_prob) -> ();
838 pub fn _glp_lpx_cpx_basis(lp: *mut glp_prob) -> ();
839 pub fn _glp_lpx_simplex(lp: *mut glp_prob) -> ::libc::c_int;
840 pub fn _glp_lpx_exact(lp: *mut glp_prob) -> ::libc::c_int;
841 pub fn _glp_lpx_get_status(lp: *mut glp_prob) -> ::libc::c_int;
842 pub fn _glp_lpx_get_prim_stat(lp: *mut glp_prob) -> ::libc::c_int;
843 pub fn _glp_lpx_get_dual_stat(lp: *mut glp_prob) -> ::libc::c_int;
844 pub fn _glp_lpx_get_obj_val(lp: *mut glp_prob) -> ::libc::c_double;
845 pub fn _glp_lpx_get_row_stat(lp: *mut glp_prob, i: ::libc::c_int)
846 -> ::libc::c_int;
847 pub fn _glp_lpx_get_row_prim(lp: *mut glp_prob, i: ::libc::c_int)
848 -> ::libc::c_double;
849 pub fn _glp_lpx_get_row_dual(lp: *mut glp_prob, i: ::libc::c_int)
850 -> ::libc::c_double;
851 pub fn _glp_lpx_get_row_info(lp: *mut glp_prob, i: ::libc::c_int,
852 tagx: *mut ::libc::c_int,
853 vx: *mut ::libc::c_double,
854 dx: *mut ::libc::c_double) -> ();
855 pub fn _glp_lpx_get_col_stat(lp: *mut glp_prob, j: ::libc::c_int)
856 -> ::libc::c_int;
857 pub fn _glp_lpx_get_col_prim(lp: *mut glp_prob, j: ::libc::c_int)
858 -> ::libc::c_double;
859 pub fn _glp_lpx_get_col_dual(lp: *mut glp_prob, j: ::libc::c_int)
860 -> ::libc::c_double;
861 pub fn _glp_lpx_get_col_info(lp: *mut glp_prob, j: ::libc::c_int,
862 tagx: *mut ::libc::c_int,
863 vx: *mut ::libc::c_double,
864 dx: *mut ::libc::c_double) -> ();
865 pub fn _glp_lpx_get_ray_info(lp: *mut glp_prob) -> ::libc::c_int;
866 pub fn _glp_lpx_check_kkt(lp: *mut glp_prob, scaled: ::libc::c_int,
867 kkt: *mut LPXKKT) -> ();
868 pub fn _glp_lpx_warm_up(lp: *mut glp_prob) -> ::libc::c_int;
869 pub fn _glp_lpx_eval_tab_row(lp: *mut glp_prob, k: ::libc::c_int,
870 ind: *mut ::libc::c_int,
871 val: *mut ::libc::c_double) -> ::libc::c_int;
872 pub fn _glp_lpx_eval_tab_col(lp: *mut glp_prob, k: ::libc::c_int,
873 ind: *mut ::libc::c_int,
874 val: *mut ::libc::c_double) -> ::libc::c_int;
875 pub fn _glp_lpx_transform_row(lp: *mut glp_prob, len: ::libc::c_int,
876 ind: *mut ::libc::c_int,
877 val: *mut ::libc::c_double)
878 -> ::libc::c_int;
879 pub fn _glp_lpx_transform_col(lp: *mut glp_prob, len: ::libc::c_int,
880 ind: *mut ::libc::c_int,
881 val: *mut ::libc::c_double)
882 -> ::libc::c_int;
883 pub fn _glp_lpx_prim_ratio_test(lp: *mut glp_prob, len: ::libc::c_int,
884 ind: *const ::libc::c_int,
885 val: *const ::libc::c_double,
886 how: ::libc::c_int, tol: ::libc::c_double)
887 -> ::libc::c_int;
888 pub fn _glp_lpx_dual_ratio_test(lp: *mut glp_prob, len: ::libc::c_int,
889 ind: *const ::libc::c_int,
890 val: *const ::libc::c_double,
891 how: ::libc::c_int, tol: ::libc::c_double)
892 -> ::libc::c_int;
893 pub fn _glp_lpx_interior(lp: *mut glp_prob) -> ::libc::c_int;
894 pub fn _glp_lpx_ipt_status(lp: *mut glp_prob) -> ::libc::c_int;
895 pub fn _glp_lpx_ipt_obj_val(lp: *mut glp_prob) -> ::libc::c_double;
896 pub fn _glp_lpx_ipt_row_prim(lp: *mut glp_prob, i: ::libc::c_int)
897 -> ::libc::c_double;
898 pub fn _glp_lpx_ipt_row_dual(lp: *mut glp_prob, i: ::libc::c_int)
899 -> ::libc::c_double;
900 pub fn _glp_lpx_ipt_col_prim(lp: *mut glp_prob, j: ::libc::c_int)
901 -> ::libc::c_double;
902 pub fn _glp_lpx_ipt_col_dual(lp: *mut glp_prob, j: ::libc::c_int)
903 -> ::libc::c_double;
904 pub fn _glp_lpx_set_class(lp: *mut glp_prob, klass: ::libc::c_int) -> ();
905 pub fn _glp_lpx_get_class(lp: *mut glp_prob) -> ::libc::c_int;
906 pub fn _glp_lpx_set_col_kind(lp: *mut glp_prob, j: ::libc::c_int,
907 kind: ::libc::c_int) -> ();
908 pub fn _glp_lpx_get_col_kind(lp: *mut glp_prob, j: ::libc::c_int)
909 -> ::libc::c_int;
910 pub fn _glp_lpx_get_num_int(lp: *mut glp_prob) -> ::libc::c_int;
911 pub fn _glp_lpx_get_num_bin(lp: *mut glp_prob) -> ::libc::c_int;
912 pub fn _glp_lpx_integer(lp: *mut glp_prob) -> ::libc::c_int;
913 pub fn _glp_lpx_intopt(lp: *mut glp_prob) -> ::libc::c_int;
914 pub fn _glp_lpx_mip_status(lp: *mut glp_prob) -> ::libc::c_int;
915 pub fn _glp_lpx_mip_obj_val(lp: *mut glp_prob) -> ::libc::c_double;
916 pub fn _glp_lpx_mip_row_val(lp: *mut glp_prob, i: ::libc::c_int)
917 -> ::libc::c_double;
918 pub fn _glp_lpx_mip_col_val(lp: *mut glp_prob, j: ::libc::c_int)
919 -> ::libc::c_double;
920 pub fn _glp_lpx_check_int(lp: *mut glp_prob, kkt: *mut LPXKKT) -> ();
921 pub fn _glp_lpx_reset_parms(lp: *mut glp_prob) -> ();
922 pub fn _glp_lpx_set_int_parm(lp: *mut glp_prob, parm: ::libc::c_int,
923 val: ::libc::c_int) -> ();
924 pub fn _glp_lpx_get_int_parm(lp: *mut glp_prob, parm: ::libc::c_int)
925 -> ::libc::c_int;
926 pub fn _glp_lpx_set_real_parm(lp: *mut glp_prob, parm: ::libc::c_int,
927 val: ::libc::c_double) -> ();
928 pub fn _glp_lpx_get_real_parm(lp: *mut glp_prob, parm: ::libc::c_int)
929 -> ::libc::c_double;
930 pub fn _glp_lpx_read_mps(fname: *const ::libc::c_char) -> *mut glp_prob;
931 pub fn _glp_lpx_write_mps(lp: *mut glp_prob, fname: *const ::libc::c_char)
932 -> ::libc::c_int;
933 pub fn _glp_lpx_read_bas(lp: *mut glp_prob, fname: *const ::libc::c_char)
934 -> ::libc::c_int;
935 pub fn _glp_lpx_write_bas(lp: *mut glp_prob, fname: *const ::libc::c_char)
936 -> ::libc::c_int;
937 pub fn _glp_lpx_read_freemps(fname: *const ::libc::c_char)
938 -> *mut glp_prob;
939 pub fn _glp_lpx_write_freemps(lp: *mut glp_prob,
940 fname: *const ::libc::c_char)
941 -> ::libc::c_int;
942 pub fn _glp_lpx_read_cpxlp(fname: *const ::libc::c_char) -> *mut glp_prob;
943 pub fn _glp_lpx_write_cpxlp(lp: *mut glp_prob,
944 fname: *const ::libc::c_char)
945 -> ::libc::c_int;
946 pub fn _glp_lpx_read_model(model: *const ::libc::c_char,
947 data: *const ::libc::c_char,
948 output: *const ::libc::c_char)
949 -> *mut glp_prob;
950 pub fn _glp_lpx_print_prob(lp: *mut glp_prob,
951 fname: *const ::libc::c_char) -> ::libc::c_int;
952 pub fn _glp_lpx_print_sol(lp: *mut glp_prob, fname: *const ::libc::c_char)
953 -> ::libc::c_int;
954 pub fn _glp_lpx_print_sens_bnds(lp: *mut glp_prob,
955 fname: *const ::libc::c_char)
956 -> ::libc::c_int;
957 pub fn _glp_lpx_print_ips(lp: *mut glp_prob, fname: *const ::libc::c_char)
958 -> ::libc::c_int;
959 pub fn _glp_lpx_print_mip(lp: *mut glp_prob, fname: *const ::libc::c_char)
960 -> ::libc::c_int;
961 pub fn _glp_lpx_is_b_avail(lp: *mut glp_prob) -> ::libc::c_int;
962 pub fn _glp_lpx_write_pb(lp: *mut glp_prob, fname: *const ::libc::c_char,
963 normalized: ::libc::c_int,
964 binarize: ::libc::c_int) -> ::libc::c_int;
965 pub fn _glp_lpx_main(argc: ::libc::c_int,
966 argv: *mut *const ::libc::c_char) -> ::libc::c_int;
967}