U
    -e                     @   sX   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	 dd Z
dd	 Zd
d ZdS )    N)symbols)exp)optimize)	SumApproxSeriesApproxc                  C   s@   t d} d|  }t| didd}t||g}|d dks<td S )Nx   )g#Bǻg#B;gؗҜ<boundsreltolr   )r   r   r   AssertionError)r   expr1Z
sum_approxZapx1 r   h/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/sympy/codegen/tests/test_approximations.pytest_SumApprox_trivial   s
    r   c                  C   s   t d\} }}t|| d |d  d  }| d|di}t|dd}t|dd}t|d	d}t||gt| |d   d
kstt||gt| |d d   d
kstt||gt| |d d | d    d
kstd S )Nzx y z   r   )r   gMbP?)d   i  g{Gz?r	   gh㈵>gdy=r   )r   r   r   r   simplifyr   )r   yzr   bnds1Zsum_approx_m2Zsum_approx_m5Zsum_approx_m11r   r   r   test_SumApprox_monotone_terms   s    (,r   c                  C   s~  t d\} }dt|fD ]^}t d} t| | }| di}t|dd}t|dd}t|dd}||  d ||  d	  d
 }t|}	|	|  | d
 d
  }
|	|  | d
 d
  | d d  }|	|  | d
 d
  | d d  | d d  }t||g}t||g}t||g}|| |
  d	ks"t|| |  d	ks<t|| |  d	ksVtt|ddd}t||g|kstqd S )Nzx zr   r   )r   g      ?r	   g?g?r   r               )r
   r   Z	max_order)r   r   r   mathr   r   r   )r   r   factorr   r   Zseries_approx_50Zseries_approx_10Zseries_approx_05cZf0Zref_50Zref_10Zref_05Zres_50Zres_10Zres_05Zmax_ord3r   r   r   test_SeriesApprox_trivial   s*    
 ,r    )r   Zsympy.core.symbolr   Z&sympy.functions.elementary.exponentialr   Zsympy.codegen.rewritingr   Zsympy.codegen.approximationsr   r   r   r   r    r   r   r   r   <module>   s   