Skip to content

Commit

Permalink
Add temporary hidden method to set CaDiCaL options
Browse files Browse the repository at this point in the history
  • Loading branch information
Dekker1 committed May 31, 2024
1 parent 420d429 commit f750e52
Showing 1 changed file with 13 additions and 1 deletion.
14 changes: 13 additions & 1 deletion crates/pindakaas/src/solver/cadical.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use std::fmt;
use std::{ffi::CString, fmt};

use pindakaas_cadical::{ccadical_copy, ccadical_phase, ccadical_unphase};
use pindakaas_derive::IpasirSolver;
Expand Down Expand Up @@ -55,6 +55,18 @@ impl Cadical {
pub fn unphase(&mut self, lit: Lit) {
unsafe { ccadical_unphase(self.ptr, lit.0.get()) }
}

#[doc(hidden)] // TODO: Add a better interface for options in Cadical
pub fn set_option(&mut self, name: &str, value: i32) {
let name = CString::new(name).unwrap();
unsafe { pindakaas_cadical::ccadical_set_option(self.ptr, name.as_ptr(), value) }
}

#[doc(hidden)] // TODO: Add a better interface for options in Cadical
pub fn get_option(&self, name: &str) -> i32 {
let name = CString::new(name).unwrap();
unsafe { pindakaas_cadical::ccadical_get_option(self.ptr, name.as_ptr()) }
}
}

#[cfg(test)]
Expand Down

0 comments on commit f750e52

Please sign in to comment.