
    g                     T    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 Z
d Zd ZdS )	    N)symbols)exp)optimize)	SumApproxSeriesApproxc                      t          d          } d| z   }t          | did          }t          ||g          }|dz
  dk    sJ d S )Nx   )g#Bǻg#B;gؗҜ<boundsreltolr   )r   r   r   )r	   expr1
sum_approxapx1s       c/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/codegen/tests/test_approximations.pytest_SumApprox_trivialr      sS    AEE1o"6uEEEJEJ<((D!8q======    c                  l   t          d          \  } }}t          |          | dz  |dz  z   dz   z  }| d|di}t          |d          }t          |d          }t          |d	          }t          ||g          t          |          z  |dz  z
                                  d
k    sJ t          ||g          t          |          z  |dz  dz   z
                                  d
k    sJ t          ||g          t          |          z  |dz  dz   | dz  z   z
                                  d
k    sJ 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_m11s           r   test_SumApprox_monotone_termsr      sI   gGAq!FFAqD1a4K!O$E	1k*EU4888MU4888MeE:::NU]O,,SVV3q!t<FFHHAMMMMU]O,,SVV3q!tax@JJLLPQQQQQU^,--c!ff41q1a4HRRTTXYYYYYYYr   c                  p   t          d          \  } }dt          |          fD ]}t          d          } t          |           |z  }| di}t          |d          }t          |d          }t          |d          }||          d         ||          d	         z   d
z  }t          j        |          }	|	| z   | d
z  d
z  z   }
|	| z   | d
z  d
z  z   | dz  dz  z   }|	| z   | d
z  d
z  z   | dz  dz  z   | dz  dz  z   }t	          ||g          }t	          ||g          }t	          ||g          }||z  |
z
                                  d	k    sJ ||z  |z
                                  d	k    sJ ||z  |z
                                  d	k    sJ t          |dd          }t	          ||g          |k    sJ 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_ord3s                    r   test_SeriesApprox_trivialr4      s   5>>DAqc!ff+ 4 4CLLAvG'uTBBB'uTBBB'uTBBB1Xa[58A;&)Xa[[a!Q$q&a!Q$q&1a46)a!Q$q&1a46)AqDG3%"2!344%"2!344%"2!344v&0022a7777v&0022a7777v&0022a7777uTQGGGz**e33333/4 4r   )r&   sympy.core.symbolr   &sympy.functions.elementary.exponentialr   sympy.codegen.rewritingr   sympy.codegen.approximationsr   r   r   r   r4    r   r   <module>r:      s     % % % % % % 6 6 6 6 6 6 , , , , , , @ @ @ @ @ @ @ @  	Z 	Z 	Z4 4 4 4 4r   