kerncraft/kernel.py
def conv_ast_to_sym(self, math_ast):
        """
        Convert mathematical expressions to a sympy representation.

        May only contain paranthesis, addition, subtraction and multiplication from AST.
        """
        if type(math_ast) is c_ast.ID:
            return symbol_pos_int(math_ast.name)
        elif type(math_ast) is c_ast.Constant:
            return sympy.Integer(math_ast.value)
        else:  # elif type(dim) is c_ast.BinaryOp:
            op = {
                '*': operator.mul,
                '+': operator.add,
                '-': operator.sub
            }

            return op[math_ast.op](
                self.conv_ast_to_sym(math_ast.left),
                self.conv_ast_to_sym(math_ast.right))
def conv_ast_to_sym(self, math_ast):
        if type(math_ast) is c_ast.ID:
            return symbol_pos_int(math_ast.name)
        elif type(math_ast) is c_ast.Constant:
            return sympy.Integer(math_ast.value)
        else:  # elif type(dim) is c_ast.BinaryOp:
            op = {
                '*': operator.mul,
                '+': operator.add,
                '-': operator.sub
            }

            return op[math_ast.op](
                self.conv_ast_to_sym(math_ast.left),
                self.conv_ast_to_sym(math_ast.right))
def conv_ast_to_sym ( self , math_ast ) : if type ( math_ast ) is c_ast . ID : return symbol_pos_int ( math_ast . name ) elif type ( math_ast ) is c_ast . Constant : return sympy . Integer ( math_ast . value ) else : # elif type(dim) is c_ast.BinaryOp: op = { '*' : operator . mul , '+' : operator . add , '-' : operator . sub } return op [ math_ast . op ] ( self . conv_ast_to_sym ( math_ast . left ) , self . conv_ast_to_sym ( math_ast . right ) )
Convert mathematical expressions to a sympy representation.

        May only contain paranthesis, addition, subtraction and multiplication from AST.
Convert mathematical expressions to a sympy representation .