U
    Ç-e³  ã                   @   s  d dl mZmZ d dlmZ d dlmZmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZmZmZ d dlmZmZmZmZ ejZdd„ Zdd„ Z dd„ Z!d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 )#é    )ÚIÚRational)ÚS)ÚDummyÚsymbols)Úlog)Úsqrt)Úatan)Ú	integrate)ÚPoly)Úsimplify)ÚratintÚratint_logpartÚlog_to_atan)ÚaÚbÚxÚtc                  C   s4	  t tjtƒdkst‚t tdƒtƒdt ks.t‚t ttƒtd d ksHt‚t dt tƒtd ksbt‚t dt tƒtd  ks~t‚t dtd  dt  d tƒtd td  t ks´t‚tj} td }t | | tƒttd ƒksàt‚t | |ftƒttd ƒksþt‚td t } td }t | | tƒtd d td d  ks>t‚t} tt tt  }t | | tƒttd td  ƒd ks~t‚tj} td d }t | | td dttƒks°t‚t | | td	dttƒksÐt‚t | | td
dt	ttt	 ƒ d t	ttt	 ƒ d  kst‚tdƒ} td dtd   dtd   dtd   t d }t | | tƒdttd ƒ dttd ƒ  dt d td d   ks˜t‚td dtd   d } td dtd   dtd   d }t | | tƒttƒttd ƒ ttd t
ddƒtd   tjtd   ƒ ks(t‚td dtd   dtd   dt  d } td dtd   dtd   dtd   }t | | tƒddt  dtd   dtd   dt dtd   td   ttƒ ksÜt‚t td |  t|  tƒddt  dtd   dtd    ddtd   td   dtdƒ tttdƒ d ƒ  tjtd   dtdtd  ƒ  ks|t‚td td  dtd   td  t d } td dtd   dtd   dt  d }t | | tƒttjtd   tjtdt td  ƒ  ddt  dtd  dt  d   dtdƒ tt
ddƒtdƒ dt tdƒ d  ƒ d  ksrt‚t dtd t d  tƒdtdƒ ttdƒd dt tdƒ d  ƒ d ksÆt‚t dtd d  tƒtdt td  ƒ d tdt ƒd  tdƒttdƒ d dt tdƒ d  ƒ d  ks>t‚t dtd t d  td
dt	 dt  ttt tt	 dt   ƒ d t	dt  ttt tt	 dt   ƒ d  ks¼t‚t dtd d  td
dtdt ƒd t
ddƒt	dt  d  tt t t	dt  d  ƒ  t
ddƒt	dt  d  tt t t	dt  d  ƒ  ks\t‚t dtttt  d   tƒdt dt t  dtd  dtd  t t  dtd  td  td    ttƒttt t ƒ td   ksðt‚t tdtd   tƒttd d ƒ d ks"t‚t t dtd   tƒttd d ƒd ksTt‚t td ddt    t¡tƒtd dtd   ksŽt‚ttƒ}t dtd d  ttd|ksºt‚t dtd d  tdd|ksÞt‚t dtd d  ttd|k	st‚tƒ }t d|d d  ||dt|ƒk	s0t‚d S )Nr   é   é   éþÿÿÿé   é   é   ©ÚrealTFé$   é   é   éüÿÿÿé   é   é   é   é   é	   é   éÿÿÿÿé1   )Úsymbolr   )r   r   ZZeror   ÚAssertionErrorZOner   r   r	   r   r   ÚHalfr   Úhalfr   Údiffr   )ÚfÚgZansÚd© r1   úi/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/sympy/integrals/tests/test_rationaltools.pyÚtest_ratint   s²    6,,  @46ÿ
$>ÿ
,,Fÿ
<ÿÿÿÿ
,,N8ÿÿ
2ÿ
8ÿÿÿÿ
,*ÿÿ
&6ÿ6þN ÿÿ
22:$$$r3   c                   C   sˆ   t ttd d ttƒttd d tƒtdt d tƒfgks@t‚t td td d ttƒttd d tƒtdt d tƒfgks„t‚d S )Nr   r%   r   r   r   r   éýÿÿÿ)r   r   r   r   r*   r1   r1   r1   r2   Útest_ratint_logpartt   s    $ÿ$ÿr5   c                   C   s.   t dtd d  tƒttd ƒd ks*t‚d S )Nr   r   r#   r   )r   r   r	   r*   r1   r1   r1   r2   Útest_issue_5414{   s    r6   c                   C   sZ   t dtd td   tƒt tt t t ƒ d tttt t ƒ d  t ksVt‚d S )Nr   r   )r   r   r   r   r   r*   r1   r1   r1   r2   Útest_issue_5249   s     ÿ6ÿr7   c                  C   s˜   t ddd\} }}tt| || td  | d  ||    tƒƒt| ƒtt|ƒt|ƒ t t| ƒt| | ƒ  ƒ t|ƒt|ƒ t| | ƒ  ks”t‚d S )Nza,b,cT©Zpositiver   )r   r   r   r   r   r	   r*   )r   r   Úcr1   r1   r2   Útest_issue_5817„   s    ,
ÿÿÿÿÿÿr:   c                  C   s,   t dƒ} td| d d  ƒt| ƒks(t‚d S )NÚur   r   )r   r
   r	   r*   )r;   r1   r1   r2   Útest_issue_5981Œ   s    r<   c                  C   sV   t ddd\} }}}t|| | |  |ƒ||  |t| | | ƒ | d   ksRt‚d S )Nza b c xTr8   r   )r   r
   r   r*   )r   r   r9   r   r1   r1   r2   Útest_issue_10488   s    r=   c                  C   sš   t ddd} t| td | d   tƒtt|  ƒks6t‚tdtd | d   tƒtt|  ƒ|  ksdt‚tdd| d td    tƒt| t ƒ|  ks–t‚d S )Nr   T©Znonzeror   r   ©r   r
   r   r	   r*   ©r   r1   r1   r2   Ú"test_issues_8246_12050_13501_14080•   s    *.rA   c                  C   s‚   t ddd\} }ttd d | d  td d |d   tƒt|d | d  ttt|d d ƒ ƒ t|d d ƒ  ks~t‚d S )Nzk a0Tr   r   r   )r   r
   r   r	   r   r*   )ÚkZa0r1   r1   r2   Útest_issue_6308œ   s    ,:ÿrC   c                  C   sn   t ddd} tdtd | d  d  tƒtd| d  d| d  td    tt|  ƒd| d    ksjt‚d S )Nr   Tr>   r   r   r   r   r?   r@   r1   r1   r2   Útest_issue_5907¢   s    :ÿrD   c                  C   s~   t ttj tddt tdƒd tdd } }dtdtdƒ t d tdƒd  ƒ }t| |ƒ|ksft‚t|| ƒ| kszt‚d S )NZQQ)Údomainr   r   ZEX)r   r   r   r+   r   r	   r   r*   )r.   r/   Zfg_ansr1   r1   r2   Útest_log_to_atan¨   s    ,(rF   N)*Zsympy.core.numbersr   r   Zsympy.core.singletonr   Zsympy.core.symbolr   r   Z&sympy.functions.elementary.exponentialr   Z(sympy.functions.elementary.miscellaneousr   Z(sympy.functions.elementary.trigonometricr	   Zsympy.integrals.integralsr
   Zsympy.polys.polytoolsr   Zsympy.simplify.simplifyr   Zsympy.integrals.rationaltoolsr   r   r   Z	sympy.abcr   r   r   r   r+   r,   r3   r5   r6   r7   r:   r<   r=   rA   rC   rD   rF   r1   r1   r1   r2   Ú<module>   s,   b