Trait libreda_logic::traits::BooleanSystem

source ·
pub trait BooleanSystem: PartialBooleanSystem {
    // Required method
    fn evaluate_term(&self, term: &Self::TermId, input_values: &[bool]) -> bool;
}
Expand description

A set of fully specified boolean formulas.

Required Methods§

source

fn evaluate_term(&self, term: &Self::TermId, input_values: &[bool]) -> bool

Compute the value of the term. The values of all needed literals must be defined by the input_values function.

Implementors§

source§

impl BooleanSystem for SmallTruthTable

source§

impl<'a, N> BooleanSystem for RecursiveSim<'a, N>
where N: Network<LogicValue = bool>, N::Signal: EdgeWithInversion + Ord,

source§

impl<'a, T: BooleanSystem> BooleanSystem for OutputSelection<'a, T, T::TermId>

source§

impl<F> BooleanSystem for F
where F: Fn(bool, bool) -> bool + PartialBooleanSystem<LiteralId = usize>,

Implement the boolean system for two-input boolean functions.

source§

impl<F, const NUM_INPUTS: usize, const NUM_OUTPUTS: usize> BooleanSystem for NativeBooleanFunction<F, NUM_INPUTS, NUM_OUTPUTS>
where F: Fn([bool; NUM_INPUTS]) -> [bool; NUM_OUTPUTS],

source§

impl<Node> BooleanSystem for LogicNetwork<Node>
where Node: NetworkNode<NodeId = NodeId>,

source§

impl<const NUM_INPUTS: usize> BooleanSystem for SmallStaticTruthTable<NUM_INPUTS>