Module splr::types [−][src]
Expand description
Crate types
provides various building blocks, including some common traits.
Re-exports
pub use crate::assign::AssignReason;
pub use crate::cdb::Clause;
pub use crate::cdb::ClauseIF;
pub use crate::cdb::ClauseId;
pub use crate::config::Config;
Structs
Data storage about a problem.
A wrapper structure to make a CNFDescription from a file. To make CNFDescription clone-able, a BufReader should be separated from it. If you want to make a CNFDescription which isn’t connected to a file, just call CNFDescription::default() directly.
Exponential Moving Average, with a calibrator if feature EMA_calibration
is on.
Exponential Moving Average pair, with a calibrator if feature EMA_calibration
is on.
Ema of Sequence of usize
Literal encoded on u32
as:
Enums
CNF locator
Internal errors.
Note: returning Result<(), a-singleton>
is identical to returning bool
.
Constants
a dummy literal.
Traits
API for reward based activity management.
API for Clause Id.
API for O(n) deletion from a list, providing delete_unstable
.
API for Exponential Moving Average, EMA, like get
, reset
, update
and so on.
API for object properties.
API for object instantiation based on Configuration
and CNFDescription
.
This is implemented by all the Splr modules except Configuration
and CNFDescription
.
API for Literal like vi
, as_bool
, is_none
and so on.
API for accessing internal data in a module.
For example, State::progress
needs to access misc parameters and statistics,
which, however, should be used locally in the defining modules.
To avoid to make them public, we define a generic accessor or exporter here.
Functions
convert literals to [i32]
(for debug).
Type Definitions
Decision Level Representation.
A Return type used by solver functions.
‘Variable’ identifier or ‘variable’ index, starting with one. Implementation note: NonZeroUsize can be used but requires a lot of changes. The current abstraction is incomplete.