axiacore / py-expression-eval

MIT License
149 stars 54 forks source link

power operator '**' not working #42

Closed hyperkang closed 5 years ago

hyperkang commented 5 years ago

Below codes are expected to return val as 8.0

from py_expression_eval import Parser
parser = Parser()
val = parser.parse('x**3').evaluate({'x': 2})

However it ran into error as follows:

Traceback (most recent call last):
  File "/home/kang/apps/pycharm-community-2018.1.1/helpers/pydev/pydevd.py", line 1664, in <module>
    main()
  File "/home/kang/apps/pycharm-community-2018.1.1/helpers/pydev/pydevd.py", line 1658, in main
    globals = debugger.run(setup['file'], None, None, is_module)
  File "/home/kang/apps/pycharm-community-2018.1.1/helpers/pydev/pydevd.py", line 1068, in run
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "/home/kang/gh-hyperkang/pylib/pyfem-ansys/pyfem_ansys/cdb/ansys_utils.py", line 154, in <module>
    print parser.parse('x**3').evaluate({'x': 2})
  File "/home/kang/gh-hyperkang/pylib/py-expression-eval/py_expression_eval/__init__.py", line 493, in parse
    self.error_parsing(self.pos, 'parity')
  File "/home/kang/gh-hyperkang/pylib/py-expression-eval/py_expression_eval/__init__.py", line 503, in error_parsing
    raise Exception(self.errormsg)
Exception: parse error [column 4]: parity