|
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演算を行った結果を返します
1.8.8