BitMagic-C++
Namespaces | Functions
bm3vl.h File Reference

Three-valued logic (3VL) operations. More...

#include "bm.h"
Include dependency graph for bm3vl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  bm
 

Functions

template<class BV >
void bm::init_kleene (BV &bv_value, const BV &bv_null)
 Initialized the value bit-vector so that it always returns 0 (false) for the unknown. More...
 
template<class BV >
int bm::get_value_kleene (const BV &bv_value, const BV &bv_null, typename BV::size_type idx) BMNOEXCEPT
 Return Kleene logic value based on value and known vectors. More...
 
template<class BV >
void bm::set_value_kleene (BV &bv_value, BV &bv_null, typename BV::size_type idx, int val)
 Set Kleene logic value based on value and known vectors. More...
 
template<class BV >
void bm::invert_kleene (BV &bv_value, const BV &bv_null)
 Kleene NEG operation. More...
 
template<class BV >
void bm::or_kleene (BV &bv_value1, BV &bv_null1, const BV &bv_value2, const BV &bv_null2)
 Kleene OR(vect1, vect2) (vect1 |= vect2) 1 OR Unk = 1 (known) More...
 
template<class BV >
void bm::or_kleene (BV &bv_value_target, BV &bv_null_target, const BV &bv_value1, const BV &bv_null1, const BV &bv_value2, const BV &bv_null2)
 3-way Kleene OR: target := OR(vect1, vect2) (target := vect1 | vect2) 1 OR Unk = 1 (known) More...
 
template<class BV >
void bm::and_kleene (BV &bv_value1, BV &bv_null1, const BV &bv_value2, const BV &bv_null2)
 Kleene AND(vect1, vect2) (vect1 &= vect2) 0 AND Unk = 0 (known) More...
 
template<class BV >
void bm::and_kleene (BV &bv_value_target, BV &bv_null_target, const BV &bv_value1, const BV &bv_null1, const BV &bv_value2, const BV &bv_null2)
 3-way Kleene target:=AND(vect1, vect2) (target:= vect1 & vect2) 0 AND Unk = 0 (known) More...
 
int bm::and_values_kleene (int a, int b) BMNOEXCEPT
 Reference function for Kleene logic AND (for verification and testing) More...
 
int bm::or_values_kleene (int a, int b) BMNOEXCEPT
 Reference function for Kleene logic OR (for verification and testing) More...
 

Detailed Description

Three-valued logic (3VL) operations.

Definition in file bm3vl.h.