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

Misc flags used by Clause and Var.

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.