o
    jg.  ã                   @   s  d dl mZ d dlmZ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mZ d	d
„ dD ƒ\ZZZZZZZ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"d#„ Z'd$d%„ Z(d&d'„ Z)d(S ))é    )ÚMul)ÚIÚIntegerÚRational)ÚSymbol)ÚrootÚsqrt)Úcos)ÚIntegral)Ú
sqrtdenest)Ú_subsetsÚ_sqrt_numeric_denestc                 C   s   g | ]}t |ƒ‘qS © )r   )Ú.0Úxr   r   ú\/var/www/html/zoom/venv/lib/python3.10/site-packages/sympy/simplify/tests/test_sqrtdenest.pyÚ
<listcomp>   s    r   )é   é   é   é   é   é
   é   é   c                  C   sP  t ddt  ƒtt t ddt  ƒt ddt  ƒt ddt ddt  ƒ  ƒt ddt  dt  ƒt tƒt tƒt dt ƒt dt ƒt dt ddt  ƒ ƒdt ddt  tddƒ  dt ddt  ƒ  tt ddt  ƒ dddt  tddƒ    t ddt  ƒdtddƒ td dt d   d i} | D ]}t|ƒ| | ks¥J |ƒ‚q—d S )Nr   r   g      @é   r   é   r   )r   Úr6Úr2Úr3Úr7r   r   )ÚdÚir   r   r   Útest_sqrtdenest   s   00,ÿ2ø	ÿr#   c                  C   s"  t tddt  dtddt  ƒ  ƒƒttddt  ƒ ks J ‚tt tdt dtdt d ƒ  d ƒ ƒ} t | ƒtdt d dƒksFJ ‚td	t ƒ}t td	| ƒƒtd	| ƒks\J ‚td	td	dtd
t t ƒ  ƒ d  ¡ ƒ} t | ƒd	td	dttt d
 ƒ  ƒ ksˆJ ‚t tdt dt  ƒƒtdƒtd
dƒ td
dƒd
  ks¦J ‚t td	t td	t ƒ d  ¡ ƒƒd	t td	t ƒ ksÄJ ‚t td	t t td	t ƒ d  ¡ ƒƒd	td	t ƒ t t ksæJ ‚td	t	dƒ t	d
ƒ td	t ƒ d  ¡ ƒ} t | ƒt	d
ƒt	dƒ d	 td	t ƒ ksJ ‚tdt
 dt tdt
 d ƒ  d ƒ} t | ƒtdt
 dt  dt  d ƒks>J ‚tdt t	dƒ dtdt d ƒ  d ƒ}t |ƒ|ks]J ‚t tttdƒ ƒƒtttdƒ ƒksrJ ‚tddtdƒ  dtddt  ƒ  ƒ}t |ƒ|ksJ ‚d S )Né   r   é7   r   é   éþÿÿÿéöÿÿÿr   r   r   r   r   é   r   é   )r   r   Úr29Úr5r   r    r   Úexpandr   r	   Úr10r   )ÚeÚrÚzr   r   r   Útest_sqrtdenest2   s6   &ÿ. ,,ÿ"ÿ&ÿ,.(.,*(r2   c                  C   sp  t tdtdƒ dt  dtdƒ  d ƒƒt t dt  ks!J ‚t tdt dt  dtdƒ  d	 ƒƒd
t dt  ks?J ‚t tdt d dtdƒ d  dtdƒ d  d ƒƒtdƒtd tdƒ  d kskJ ‚t tdt dt  dt  d ƒƒdt d dt  ks‰J ‚tdt dtdƒ  dtdƒ  d ƒ} t | ƒtdƒdt dt  dtdƒ   ksµJ ‚tdtdƒ dt  dtdƒ  d ƒ} t | ƒ| ksÑJ ‚t tdt dt  d  ƒƒt d! t t ksêJ ‚t td"t dt  d  ƒƒtdƒt d! t t  ksJ ‚t td"t d dt d  t	d#dƒ ƒƒt d t t d ks+J ‚t ttdt d$ ƒtdt d" ƒ ƒƒtd!t t t ƒksLJ ‚t tdt d"t  d%t  d& ƒƒd!t t t ksiJ ‚d!t t t t }t t|d  
¡ ƒƒ|ks‚J ‚t|d  
¡ d! ƒ} t | ƒ| ks•J ‚tdt dt  dt  d% d't  d(t  ƒ} t | ƒ| ks¶J ‚d S ))Néüÿÿÿr)   r   r   é   é!   iäÿÿÿé#   éR   iùÿÿÿr   r&   é   r   iÔ  iÐ  i`  iM  é	   é   é8   iþÿÿéb   és   iY  i;  éÿÿÿÿr   é   é"   éøÿÿÿé   r   é   éš   r   é   é   r   é   )r   r   r   r   r   r    r,   Úr15r.   r   r-   )r1   Úwr   r   r   Útest_sqrtdenest_rec@   sB   *ÿ&ÿ6ÿ"ÿ(0(2
ÿ(
ÿ&
ÿ:0rJ   c                  C   s0   t ddt dƒ  dt  ƒ} t| ƒ| ksJ ‚d S )NiÀþÿÿé    r   é@   )r   rH   r   )r1   r   r   r   Útest_issue_6241_   s   rM   c               	   C   s(  t ddt  dt t dt d ƒ  ƒ} t| ƒdt t ks J ‚t| dddt dƒ t dƒ ks2J ‚t t td ƒd ƒ} t| ƒ| ksDJ ‚tt dt d	t t dt d ƒ  d
 ƒƒt dt d	t  dt  d
 ƒkslJ ‚tt ddt  ddt  t  ƒƒtd d	t  dt  ksŒJ ‚t dt dt d ƒt dt dt dt d ƒ  d ƒ  ƒ} t dt d ƒ}t| ƒt t| t|  t t d ƒksÈJ ‚t dt d dt	 d  dt dƒ d  d ƒ}t ddt  dt ddt  ƒ  ƒ}t|| ƒt	dt t	  t
dt dt d ƒt dd ksJ ‚d S )Né   r   r'   r&   r>   r   )Úmax_iterr   r   é   rC   ép   éF   é.   r@   r   r   r(   r%   r$   r   é*   F)Úevaluate)r   r.   r   r   r,   r   r+   r   rH   r    r   )r1   r0   Únr!   r   r   r   Útest_sqrtdenest3d   s&   ($*ÿ"ÿ<,0$.ÿrW   c                  C   s,  t dtt dt ƒ  t dƒdt   ƒ} t| ƒ}t t d ƒ}t | t|  | t|  t t t t dƒ d  ¡ }t| ƒ|ksDJ ‚t dt t td ƒ dt  dt td ƒ  d ƒ} t| ƒtt td ƒ d ksnJ ‚dt t dt t dt dt  ƒ  }t |d  ¡ ƒ} t| ƒ| ¡ ks”J ‚d S )NrC   r   r   r   rG   r   r   )	r   r   r,   r   rH   r   r   r.   r-   )r1   Úz1ÚcrI   r   r   r   Útest_sqrtdenest4x   s   (:4 (rZ   c                  C   sÈ  t dƒ} tdttd|  ƒd ƒ d  ¡ ƒ}t|ƒtdttd|  ƒd ƒ d ƒks,J ‚tdttdtdƒ ƒd ƒ d  ¡ ƒ}t|ƒdttdtdƒ ƒd ƒ ksTJ ‚dtdƒ d d  ¡ }t|ƒ|kshJ ‚tdttdtd|  ƒ ƒd ƒ d d  ¡ ƒ}t|ƒ|ksˆJ ‚tdƒ}|d }ttdtdt ƒ | | d t|  ƒƒdtdt ƒ|  ks²J ‚tdt ƒ}td| tddt  ƒ dt | tddt  ƒ  d	t  d
 ƒ}t|ƒ|ksâJ ‚d S )Nr   r   r   r   r   r>   rP   rE   rL   rQ   )r   r   r-   r   r	   r   )r   r1   rY   Úc2Úrar   r   r   Útest_sqrt_symbolic_denestˆ   s"   $,((0*ÿDr]   c                  C   s<  ddl m} m} tddt d  d ƒ}tt td  }t|ƒ|ks$J ‚td| ƒd| ks0J ‚tt|d | ddfƒƒtd| | ddfƒksHJ ‚t| t|ƒ ƒ| t|ƒ ksXJ ‚tt td  }t|ƒ|kshJ ‚td| ƒd| kstJ ‚tt|d | ddfƒƒtd| | ddfƒksŒJ ‚t| t|ƒ ƒ| t|ƒ ksœJ ‚d S )Nr   )r   Úyr   r   r   r   )	Ú	sympy.abcr   r^   r   r   r   r   r   r
   )r   r^   r1   Úansr   r   r   Útest_issue_5857›   s    ÿ ÿ$ra   c                   C   s‚   t dƒdggks
J ‚t dƒg d¢g d¢g d¢g d¢g d¢g d¢g d	¢g d
¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢gks?J ‚d S )Nr   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )Úsubsetsr   r   r   r   Útest_subsets¬   s   ýrc   c                   C   s<   t tdtdtdƒ ƒ ƒƒtdtdtdƒ ƒ ƒksJ ‚d S )Nr   )r   r   r   r   r   r   Útest_issue_5653´   s
   ÿÿrd   c                  C   sh   t dtdƒtddt  ƒ  dt  d ƒtksJ ‚dtdƒtdt ƒ  dt  } t | ƒ| ks2J ‚d S )Nr   r   r   )r   r   r   ©r/   r   r   r   Útest_issue_12420¸   s   4 rf   c                   C   s<   t tdt ƒtddt  ƒ tddt  ƒ ƒdksJ ‚d S )Nr   r   r   r   r   )r   r   r   r   r   r   r   Útest_sqrt_ratcomb½   s   <rg   c                  C   s:   t ddt dƒ t  ƒ } t| ƒdt dƒt  ksJ ‚d S )Nr'   r   r   r>   )r   r   r   re   r   r   r   Útest_issue_18041À   s    rh   c                  C   s¢   t dƒ} t dƒ}t dƒ}| |  || |  }t| |||ƒtdƒt d dtdƒ t d  ks1J ‚ttdtdƒ ƒƒtdƒt d dtdƒ t d  ksOJ ‚d S )NrA   r>   é?   r)   r   r   )r   r   r   r   r   )ÚaÚbr0   Úd2r   r   r   Útest_issue_19914Ä   s   "ÿ@rm   N)*Úsympy.core.mulr   Úsympy.core.numbersr   r   r   Úsympy.core.symbolr   Ú(sympy.functions.elementary.miscellaneousr   r   Ú(sympy.functions.elementary.trigonometricr	   Úsympy.integrals.integralsr
   Úsympy.simplify.sqrtdenestr   r   rb   r   r   r   r,   r   r    r.   rH   r+   r#   r2   rJ   rM   rW   rZ   r]   ra   rc   rd   rf   rg   rh   rm   r   r   r   r   Ú<module>   s.    #