Exemple #1
0
 def func(cls, none):
     with rule_manager(none=none):
         op = cls([op1, op2])
         if none:
             assert_is_instance(op, cls)
         else:
             assert_is_instance(op, DiagonalOperator)
Exemple #2
0
 def func(s1, s2, sm1, sm2):
     shapein = broadcast_shapes(s1 + sm2[1:], s2 + sm2[1:])
     data1 = np.arange(product(s1 + sm1)).reshape(s1 + sm1)
     data2 = np.arange(product(s2 + sm2)).reshape(s2 + sm2)
     op1 = DenseBlockDiagonalOperator(data1)
     op2 = DenseBlockDiagonalOperator(data2)
     comp1 = op1 * op2
     assert_is_instance(comp1, DenseBlockDiagonalOperator)
     with rule_manager(none=True):
         comp2 = op1 * op2
     assert_equal(comp1.todense(shapein), comp2.todense(shapein))
Exemple #3
0
 def func(a, b, operation, apply_rule):
     p = operation([a, b])
     if not apply_rule:
         if isinstance(a, IdentityOperator) or \
            isinstance(b, IdentityOperator):
             return
         assert not isinstance(p, BlockDiagonalOperator)
         return
     assert_is_instance(p, BlockDiagonalOperator)
     with rule_manager(none=True):
         q = operation([a, b])
     assert_equal(p.todense(), q.todense())
Exemple #4
0
def test_manager2():
    rule_manager['none'] = False
    assert not rule_manager['none']
    with rule_manager(none=True) as new_rule_manager:
        assert rule_manager['none']
        with new_rule_manager(none=False) as new_rule_manager2:
            assert not rule_manager['none']
            rule_manager['none'] = True
            assert rule_manager['none']
            with new_rule_manager2():
                assert rule_manager['none']
            rule_manager['none'] = False
        assert rule_manager['none']
    assert not rule_manager['none']