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 conflict_resolving;
16pub mod constraints;
17pub mod optimisation;
18pub mod proof;
19pub mod propagation;
20pub mod propagators;
21pub mod statistics;
22
23pub use convert_case;
24pub use rand;
25
26// We declare a private module with public use, so that all exports from API are exports directly
27// from the crate.
28//
29// Example:
30// `use pumpkin_solver::Solver;`
31// vs.
32// `use pumpkin_solver::api::Solver;`
33mod api;
34
35pub use api::*;
36
37pub use crate::api::solver::DefaultBrancher;
38pub use crate::api::solver::Solver;
39pub use crate::basic_types::ConstraintOperationError;
40pub use crate::basic_types::Duration;
41pub use crate::basic_types::Instant;
42pub use crate::basic_types::Random;
43#[allow(deprecated, reason = "Will be refactored in the future")]
44pub use crate::engine::SolverStatistics;
45#[allow(deprecated, reason = "Will be refactored in the future")]
46pub use crate::engine::test_solver::TestSolver;