Skip to main content

papilo_sys/
lib.rs

1#![allow(non_upper_case_globals)]
2#![allow(non_camel_case_types)]
3#![allow(non_snake_case)]
4
5include!(concat!(env!("OUT_DIR"), "/bindings.rs"));
6
7#[cfg(test)]
8mod tests {
9    use std::ffi::CStr;
10    use super::*;
11
12    #[test]
13    fn test_papilo_basic() {
14        let problem_name = CStr::from_bytes_until_nul(b"papilo\0").unwrap();
15        unsafe {
16           let problem = papilo_problem_create(f64::INFINITY, problem_name.as_ptr(), 1000, 10, 10);
17            assert!(!problem.is_null());
18            let solver = papilo_solver_create();
19            assert!(!solver.is_null());
20            let name = CStr::from_bytes_until_nul(b"x\0").unwrap();
21            papilo_problem_add_col(problem, 1.0, 2.0, b'i', 3.0, name.as_ptr());
22            papilo_solver_load_problem(solver, problem);
23            papilo_solver_start(solver);
24            papilo_problem_free(problem);
25            papilo_solver_free(solver);
26        }
27    }
28}