Пример #1
0
 def test_syntax_constrain(self):
     system = expressions.System()
     a = expressions.Var()
     system.constrain( 3==a*2 )
     expressions.constrain( a == 15 )
     self.assertEqual( system.evaluate(a), 1.5 )
     self.assertEqual( expressions.evaluate(a), 15 )
Пример #2
0
 def test_mod_eq1(self):
     a = expressions.Var('a')
     equ = (a*2==3).mod(7)
     self.assertEqual( equ._mod, equ._zero_expr._mod )
     self.assertEqual( (equ/2).coefficient(a) % 7, 1 )
     self.assertEqual( (equ/2).rhs_constant() % 7, 5 )
     self.assertEqual( equ.solve_for_var(a), 5 )
     self.assertEqual( (a==5).mod(7).solve_for_var(a), 5 )
     self.assertEqual( (a==12).mod(7).solve_for_var(a), 5 )
     self.assertEqual( list( Canonical([ (a*2==3).mod(5) ]) ), [(6*a==9).mod(5)] )
     self.assertEqual( (a==1).mod(3), (a==1).mod(3) )
     self.assertNotEqual( a==1, (a==1).mod(3) )
     expressions.constrain( a*2==3 , mod=5 )
     self.assertEqual( a, 4)