Skip to main content

pumpkin_core/
lib.rs

1#[cfg(doc)]
2use crate::results::unsatisfiable::UnsatisfiableUnderAssumptions;
3pub(crate) mod basic_types;
4pub mod containers;
5pub(crate) mod engine;
6pub(crate) mod math;
7pub(crate) mod pumpkin_asserts;
8
9#[cfg(doc)]
10use crate::branching::Brancher;
11#[cfg(doc)]
12use crate::termination::TerminationCondition;
13
14pub mod branching;
15pub mod checkers;
16pub mod conflict_resolving;
17pub mod constraints;
18pub mod optimisation;
19pub mod proof;
20pub mod propagation;
21pub mod propagators;
22pub mod statistics;
23
24pub use convert_case;
25pub use rand;
26
27// We declare a private module with public use, so that all exports from API are exports directly
28// from the crate.
29//
30// Example:
31// `use pumpkin_solver::Solver;`
32// vs.
33// `use pumpkin_solver::api::Solver;`
34mod api;
35
36pub use api::*;
37
38pub use crate::api::solver::DefaultBrancher;
39pub use crate::api::solver::Solver;
40pub use crate::basic_types::ConstraintOperationError;
41pub use crate::basic_types::Duration;
42pub use crate::basic_types::Instant;
43pub use crate::basic_types::Random;
44#[allow(deprecated, reason = "Will be refactored in the future")]
45pub use crate::engine::SolverStatistics;
46#[allow(deprecated, reason = "Will be refactored in the future")]
47pub use crate::engine::test_solver::TestSolver;