B
    td\                 @   sh   d dl Z d dlZe jeje jeje jeje j	ej
e jeje jeje jeje jejiZdd Zdd ZdS )    Nc          
   C   sR   yt tj| ddjS  tttfk
rL } zt| d|W dd}~X Y nX dS )z~
    >>> eval_expr('2*6')
    12
    >>> eval_expr('2**6')
    64
    >>> eval_expr('1 + 2*3**(4) / (6 + -7)')
    -161.0
    eval)modez3 is not a valid or supported arithmetic expression.N)eval_astparsebody	TypeErrorSyntaxErrorKeyError
ValueError)expre r   Z/work/yifan.wang/ringdown/master-ringdown-env/lib/python3.7/site-packages/joblib/_utils.py	eval_expr   s    	
r   c             C   sn   t | tjr| jS t | tjr>tt| j t| j	t| j
S t | tjrbtt| j t| jS t| d S )N)
isinstancer   NumnBinOp	operatorstypeopr   leftrightUnaryOpoperandr   )noder   r   r   r   $   s     r   )r   operatorr   AddaddSubsubMultmulDivtruedivFloorDivfloordivModmodPowpowUSubnegr   r   r   r   r   r   r   <module>   s   