o
    jg                     @   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J d S )Nx   )g#Bǻg#B;gؗҜ<boundsreltolr   )r   r   r   )r   expr1
sum_approxapx1 r   _/var/www/html/zoom/venv/lib/python3.10/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sAJ t||gt| |d d   d
ksWJ t||gt| |d d | d    d
ksqJ d S )Nzx y z   r   )r   gMbP?)d   i  g{Gz?r	   gh㈵>gdy=r   )r   r   r   r   simplify)r   yzr   bnds1sum_approx_m2sum_approx_m5sum_approx_m11r   r   r   test_SumApprox_monotone_terms   s   (,8r   c                  C   sv  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sJ || |  d	ksJ || |  d	ksJ t|ddd}t||g|ksJ qd S )Nzx zr   r   )r   g      ?r	   g?g?r   r               )r
   r   	max_order)r   r   r   mathr   r   )r   r   factorr   r   series_approx_50series_approx_10series_approx_05cf0ref_50ref_10ref_05res_50res_10res_05max_ord3r   r   r   test_SeriesApprox_trivial   s,   
 ,r0   )r"   sympy.core.symbolr   &sympy.functions.elementary.exponentialr   sympy.codegen.rewritingr   sympy.codegen.approximationsr   r   r   r   r0   r   r   r   r   <module>   s    