a
    նDf+                     @   s   d dl Z d dlmZ d dlmZ d dlmZ d dlmZm	Z	 G dd dZ
e de d	e d
e de de de de de de de de de de de ddZe dZdi fddZdS )    Nproduct)Sum)sympify)cossinc                   @   sD   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dS )MaximaHelpersc                 C   s   |   S Nexpandexpr r   a/nfs/NAS7/SABIOD/METHODE/ermites/ermites_venv/lib/python3.9/site-packages/sympy/parsing/maxima.pymaxima_expand	   s    zMaximaHelpers.maxima_expandc                 C   s   |   S r	   )Zevalfr   r   r   r   maxima_float   s    zMaximaHelpers.maxima_floatc                 C   s   | j ddS )NT)Ztrigr
   r   r   r   r   maxima_trigexpand   s    zMaximaHelpers.maxima_trigexpandc                 C   s   t | |||f S r	   )r   ZdoitZa1Za2a3Za4r   r   r   
maxima_sum   s    zMaximaHelpers.maxima_sumc                 C   s   t | |||fS r	   r   r   r   r   r   maxima_product   s    zMaximaHelpers.maxima_productc                 C   s   dt |  S N   )r   r   r   r   r   
maxima_csc   s    zMaximaHelpers.maxima_cscc                 C   s   dt |  S r   )r   r   r   r   r   
maxima_sec   s    zMaximaHelpers.maxima_secN)
__name__
__module____qualname__r   r   r   r   r   r   r   r   r   r   r   r      s   r   z%piz%ez%iz\^z\binf\bz\bminf\bz	\bminus\bz
\bexpand\bz	\bfloat\bz\btrigexpandz\bsum\bz\bproduct\bz\bratsimp\bz\bcsc\bz\bsec\b)piEIz**Zooz-ooz'-'r   r   r   r   r   cancelr   r   z^\s*(\w+)\s*:c           	      C   s   |   } | d} t D ]\}}||| } qd }t| }|r`|d}| | d    } t	j
 }|| t| |d}|r|r|||< |S )Nz; r   )locals)striprstripsub_dictitemssubvar_namesearchgroupendr   __dict__copyupdater   )	strglobalsZ	name_dictkvZ
assign_varZ	var_matchdctobjr   r   r   parse_maxima3   s    




r5   )reZsympy.concrete.productsr   Zsympy.concrete.summationsr   Zsympy.core.sympifyr   Z(sympy.functions.elementary.trigonometricr   r   r   compiler%   r(   r5   r   r   r   r   <module>   s.   
