コード例 #1
0
def copy_bdd(u, from_bdd, to_bdd):
    """Copy function of node `u` `from_bdd` `to_bdd`.

    @param u: node in `from_bdd`
    @type from_bdd, to_bdd: `BDD`
    """
    old_order = {var: from_bdd.level_of_var(var)
                 for var in from_bdd.vars}
    new_order = {var: to_bdd.level_of_var(var)
                 for var in to_bdd.vars}
    _bdd._assert_valid_ordering(old_order)
    _bdd._assert_valid_ordering(new_order)
    cache = dict()
    # umap[1] = 1
    r = _copy_bdd(u, to_bdd, cache)
    assert len(r) == len(u), (r, u)
    return r
コード例 #2
0
ファイル: bdd_test.py プロジェクト: swipswaps/dd
def test_assert_valid_ordering():
    ordering = {'x': 0, 'y': 1}
    _bdd._assert_valid_ordering(ordering)
    incorrect_ordering = {'x': 0, 'y': 2}
    with nt.assert_raises(AssertionError):
        _bdd._assert_valid_ordering(incorrect_ordering)
コード例 #3
0
ファイル: bdd_test.py プロジェクト: johnyf/dd
def test_assert_valid_ordering():
    ordering = {'x': 0, 'y': 1}
    _bdd._assert_valid_ordering(ordering)
    incorrect_ordering = {'x': 0, 'y': 2}
    with nt.assert_raises(AssertionError):
        _bdd._assert_valid_ordering(incorrect_ordering)