rssat 0.1.6

DEPRECATED: rssat is a Rust library that provides Rust bindings for multiple popular SAT solvers
Documentation
#![deprecated(since = "0.1.6", note = "rssat is deprecated. Please use the `satgalaxy` crate instead: https://crates.io/crates/satgalaxy")]

#[cfg(feature = "cadical")]
pub mod cadical;
#[cfg(feature = "cadical")]
pub use cadical::CaDiCaLSolver;
#[cfg(feature = "glucose")]
pub mod glucose;
#[cfg(feature = "glucose")]
pub use glucose::GlucoseSolver;
#[cfg(feature = "minisat")]
pub mod minisat;
#[cfg(feature = "minisat")]
pub  use  minisat::MinisatSolver;

#[macro_export]
macro_rules! create_solver {
    (cadical) => {
        $crate::cadical::CaDiCaLSolver::new()
    };
    (minisat) => {
        $crate::minisat::MiniSatSolver::new()
    };
}

pub enum   RawStatus {
    Satisfiable,Unsatisfiable,Unknown
}

impl Default for RawStatus {
    fn default() -> Self {
        Self::Unknown
    }
}
pub enum Status {
    Satisfiable(Vec<i32>),Unsatisfiable, Unknown
}

impl Default for Status {
    fn default() -> Self {
        Self::Unknown
    }
}

pub trait SatSolver {

    fn add_clause(& mut self, clause:&Vec<i32>);
    fn solve_model(& mut self)->Status;
}