Pārlūkot izejas kodu

'&' can now be used for conjunction (alias for '^^').

Taddeus Kroes 13 gadi atpakaļ
vecāks
revīzija
492f3b5294
3 mainītis faili ar 5 papildinājumiem un 0 dzēšanām
  1. 1 0
      TODO
  2. 1 0
      src/node.py
  3. 3 0
      tests/test_parser.py

+ 1 - 0
TODO

@@ -37,3 +37,4 @@
 # Now works:
 # int_(-3)^(3) \pi (3^2 - x^2) dx  ->  36pi
 # int_(-r)^(r) \pi (r^2 - x^2) dx  ->  4 / 3 * pi * r ^ 3
+# "&" instead of "^^"

+ 1 - 0
src/node.py

@@ -105,6 +105,7 @@ OP_MAP = {
         '^': OP_POW,
         '_': OP_SUBSCRIPT,
         '^^': OP_AND,
+        '&': OP_AND,
         'vv': OP_OR,
         'sin': OP_SIN,
         'cos': OP_COS,

+ 3 - 0
tests/test_parser.py

@@ -63,6 +63,9 @@ class TestParser(RulesTestCase):
         self.assertEqual(tree('a vv b vv c'), (a | b) | c)
         self.assertEqual(tree('a vv b ^^ c'), a | (b & c))
 
+        self.assertEqual(tree('a & b'), a & b)
+        self.assertEqual(tree('a vv b & c'), a | (b & c))
+
     def test_preprocessor(self):
         self.assertEqual(tree('ab'), tree('a * b'))
         self.assertEqual(tree('abc'), tree('a * b * c'))