libboloq
A library to replesent binary functions using Binary Decision Diagram.
|
二分決定図を操作する基本的なクラスです [詳解]
#include <boolean_function.h>
公開型 | |
using | node_ptr = typename table_type::node_ptr |
実際に操作されるノードの型 | |
using | label_type = typename table_type::node_type::label_type |
ラベルの型を表します [詳解] | |
公開メンバ関数 | |
basic_boolean_function (const label_type &_label) | |
コンストラクタ | |
basic_boolean_function (const node_ptr &r) | |
visitor 内で生成するためのコンストラクタ | |
self_type | ite (const self_type &then_node, const self_type &else_node) const |
ITE関数を実行します | |
bool | operator== (const self_type &o) const |
同じ論理関数を表現しているか比較します [詳解] | |
bool | operator!= (const self_type &o) const |
違う論理関数を表現しているか比較します [詳解] | |
self_type | operator~ () const |
not演算を行った結果を返します | |
self_type | operator& (const self_type &o) const |
and演算を行った結果を返します | |
self_type & | operator&= (const self_type &o) |
and演算を適用します | |
self_type | operator| (const self_type &o) const |
self_type & | operator|= (const self_type &o) |
or演算を適用します | |
self_type | operator^ (const self_type &o) const |
self_type & | operator^= (const self_type &o) |
or演算を適用します | |
template<class V > | |
void | accept (V &visitor) const |
visitorを受理します [詳解] | |
template<class AssignT > | |
bool | execute (const AssignT &assign) const |
論理関数を評価します | |
bool | is_wire () const |
f(x) = x かどうかを判定します | |
bool | is_negation () const |
論理否定を表すかどうかを判定します | |
bool | is_conjunction () const |
論理積を表すかどうかを判定します | |
bool | is_disjunction () const |
論理和を表すかどうかを判定します | |
bool | is_exclusive_disjunction () const |
排他的論理和を表すかどうかを判定します | |
静的公開メンバ関数 | |
static const self_type | one () |
0 定節点 | |
static const self_type | zero () |
1 定節点 | |
二分決定図を操作する基本的なクラスです
using boloq::basic_boolean_function< T >::label_type = typename table_type::node_type::label_type |
ラベルの型を表します
この型は内部で用いられるノードの型に依存します。
|
inline |
visitorを受理します
visitorオブジェクトは、node_ptrを引数にした関数インタフェースをもたなくてはいけません
|
inline |
違う論理関数を表現しているか比較します
この判定はO(1)で行う事ができます。
|
inline |
同じ論理関数を表現しているか比較します
この判定はO(1)で行う事ができます。
|
inline |
xor演算を行った結果を返します
|
inline |
or演算を行った結果を返します