
    g.                         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             \  ZZZZZZZZd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%d Z&d Z'd Z(d Z)dS )    )Mul)IIntegerRational)Symbol)rootsqrt)cos)Integral)
sqrtdenest)_subsets_sqrt_numeric_denestc                 ,    g | ]}t          |          S  )r	   ).0xs     `/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/simplify/tests/test_sqrtdenest.py
<listcomp>r      s*     %3 %3 %3T!WW %3 %3 %3    )               
         c                  F   t          ddt          z  z             t          t          z   t          ddt          z  z             t          ddt          z  z             t          ddt          ddt          z  z             z  z             t          ddt          z  z   dt          z  z             t          t                    t          t                    t          dt          z             t          dt          z             t          dt          ddt          z  z             z             dt          z  ddt          z  z   t          dd          z  z  dt          ddt          z  z             z  z  t          t          ddt          z  z             z  dddt          z  z   t          dd          z  z  z  z   t          ddt          z  z             dt          dd          z  t          dz  dt          z  dz  z   z  dz  i} | D ]%}t          |          | |         k    s
J |            &d S )Nr   r   g      @   r      r   )r	   r6r2r3r7r   r   )dis     r   test_sqrtdenestr'      s   	a!b&j		27R!b&[4QV,,R!DQV$$$$%%tC!B$J2,='>'>R$r((QVd1r6llQa!B$h  	
2q1R4x(1a..(	(!DQrTNN*:	;	DQrTNN	Aq1R4x(1a..88	9
:Q2X8Aq>>)2a4!B$q&=9!;	=A  ( (!}}!$$$a$$$$( (r   c                  
   t          t          ddt          z  z
  dt          ddt          z  z
            z  z                       t          t          ddt          z  z
            z   k    sJ t          t           t          dt          z  dt          dt          z  dz             z  z   dz             z             } t          |           t	          dt          z  dz   d          k    sJ t          d	t
          z             }t          t          d	|z                       t          d	|z             k    sJ t          d	t          d	dt          d
t          z   t          z             z  z             z   dz                                            } t          |           d	t          d	dt          t          t          z   d
z             z  z             z   k    sJ t          t          dt          z  dt          z  z                       t          d          t	          d
d          z  t	          d
d          d
z  z   k    sJ t          t          d	t          z   t          d	t          z             z   dz                                                      d	t          z   t          d	t          z             z   k    sJ t          t          d	t          z   t
          z   t          d	t          z             z   dz                                                      d	t          d	t          z             z   t          z   t
          z   k    sJ t          d	t          d          z   t          d
          z   t          d	t          z             z   dz                                            } t          |           t          d
          t          d          z   d	z   t          d	t          z             z   k    sJ t          dt          z  dt          z  t          dt          z  dz             z  z   dz             } t          |           t          dt          z  dt          z  z
  dt          z  z   dz             k    sJ t          dt          z  t          d          z   dt          dt          z  dz             z  z   dz             }t          |          |k    sJ t          t          t          t          d          z                       t          t          t          d          z             k    sJ t          ddt          d          z  z
  dt          ddt          z  z
            z  z             }t          |          |k    sJ d S )N   r   7   r      r   r    r   r   r      r      )r   r	   r29r5r   r$   r"   expandr#   r
   r10r!   )erzs      r   test_sqrtdenest2r7      s   d2#:$rBsF{*;*;(;;<<==
T"qu*   bS434C"#5#5!55:;;;<<Aa==DC"a000000QVAd1q5kk""d1q5kk1111q4Ad1r6B;////00014<<>>??Aa==AQ4R!+<+<)<%< = ======d1R4!B$;''((QQ

T!QZZ]*+ + + + dQVd1r6ll2Q6>>@@AABB	Ba"f    dQVb[4B<<7!;CCEEFFGG	DRLL2"# # # # 	q3q66zCFF"T!b&\\1A5==??@@Aa==CFFSVVOa/$q2v,,>>>>>RVad43,,,,r122Aa==DC!B$2!5!:;;;;;; 	RVc!ff_qc#gl!3!333b899Aa==Ad2R=))**d2R=.A.AAAAAR!DHH*_qb2c6k!2!22233Aa==Ar   c            	      
   t          t          dt          d          z  dt          z  z
  dt          d          z  z   dz                       t           t          z   dt
          z  z   k    sJ t          t          dt
          z  dt          z  z
  dt          d          z  z   d	z                       d
t          z   dt
          z  z   k    sJ t          t          dt          z  dz  dt          d          z  dz  z   dt          d          z  dz  z   dz                       t          d          t          dz   t          d          z   z  dz  k    sJ t          t          dt          z  dt          z  z   dt          z  z   dz                       dt          z  dz   dt          z  z   k    sJ t          dt          z  dt          d          z  z
  dt          d          z  z
  dz
            } t          |           t          d          dt          z  dt          z  z   dt          d          z  z   z  k    sJ t          dt          d          z  dt          z  z
  dt          d          z  z   dz             } t          |           | k    sJ t          t          dt          z  dt          z  z
  d z                       t           d!z   t          z   t          z   k    sJ t          t          d"t          z  dt          z  z   d z
                      t          d          t           d!z   t          z   t          z   z  k    sJ t          t          d"t          z  dz  dt          z  dz  z   t          d#d          z                       t           dz  t          z   t          z   dz   k    sJ t          t          t          dt          z  d$z             t          dt
          z  d"z             z                       t          d!t          z   t          z   t
          z             k    sJ t          t          dt          z  d"t          z  z   d%t          z  z   d&z                       d!t          z   t          z   t          z   k    sJ d!t          z   t          z   t          z   t
          z   }t          t          |dz  
                                                    |k    sJ t          |dz  
                                d!z             } t          |           | k    sJ t          dt          z  dt          z  z   dt          z  z   d%z   d't          z  z   d(t          z  z             } t          |           | k    sJ d S ))Nr.   r   r      !   i#   R   ir   r+      r   i  i  i`  iM  	      8   ib   s   iY  i;  r      "      r          r         r      )r   r	   r!   r"   r#   r$   r1   r15r3   r   r2   )r6   ws     r   test_sqrtdenest_recrP   @   s   d2d2hh;2-$r((
:R?@@AA	b1R4   d3r6BrE>Ad2hhJ6;<<==
R!B$   d1R47QtBxxZ]2QtBxxZ]BQFGGHHR"q&488#$R'( ( ( (d3r6DG+d2g5=>>??	"r	BrE   T"Wr$s))|#bcl2T9::Aa==DHHadQsUlQtBxxZ&?@@@@@RR[1R4!DHH*,r122Aa==Ad2b51R4<",--..3$(R-"2DDDDDd1R4!B$;+,,--R3$(R-"$%& & & &d1R46BrE!G+hsA.>.>>??@@	Qb1   d4"q>>D2NN:;;<<QVb[2   d1S51R4<"R%/"45566!b&2+:KKKKK	Bb2AdAqD==??++,,1111ad]]__q !!Aa==AQsUQrT\AbD 2%3.B677Aa==Ar   c                      t          ddt          d          z  z   dt          z  z             } t          |           | k    sJ d S )Ni    r   @   )r	   rN   r   )r6   s    r   test_issue_6241rT   _   sD    dRQZ"S&())Aa==Ar   c                     t          ddt          z  z
  dt          z  t          dt          z  dz             z  z             } t          |           dt          z   t          z   k    sJ t          | d          dt          d          z   t          d          z   k    sJ t          t          t          dz             dz             } t          |           | k    sJ t          t          dt          z  d	t          z  t          dt          z  dz             z  z   d
z                       t          dt          z  d	t          z  z
  dt          z  z   d
z             k    sJ t          t          ddt          z  z   ddt          z  z   t          z  z                       t          dz   d	t          z  z   dt          z  z   k    sJ t          dt          dt
          z  dz             t          dt          z  dt          dt          z  dz             z  z   dz             z  z             } t          dt          z  dz             }t          |           t          t          |z  t          |z  z   t          z   t          z   dz             k    sJ t          dt
          z  dz  dt          z  dz  z   dt          d          z  dz  z   dz             }t          ddt          z  z
  dt          ddt          z  z
            z  z             }t          ||z            t          dt
          z   t          z   z  t          dt          dt          z  dz             t          z   d          z  k    sJ d S )N   r   r,   r+   rD   r    )max_iterr   r      rI   p   F   .   rF   r   r   r-   r*   r)   r   *   F)evaluate)r	   r3   r"   r   r1   r!   r0   r#   rN   r$   r   )r6   r5   nr%   s       r   test_sqrtdenest3r_   d   s   R!C%Z!B$tBsFRK000011Aa==BGcM))))a!$$$T!WWtBxx(?????T"q&\\AAa==Ad2c6AbDbfrk):):$::R?@@AARVad]QrT!B&''( ( ( (dC"R%KBBJ?:;;<<a!B$2   QadQhRVaSWr\0B0B.B%BR%G H HHHIIARVb[Aa==DA1s!2S!81!<======QrT!Vad1f_qbz!|+a/00AR!C%Z!Dbf----..Aac??b!b&2+.ARVb[8I8IB8N=B1D 1D 1D E E E E E E Er   c                     t          dt          t          dt          z
            z  z
  t          d          dt          z   z  z
            } t          |           }t          t           dz             }t           |z  t
          |z  z
  |z   t          |z  z   t          z
  t          z
  t          z   t          d          z   dz                                  }t          |           |k    sJ t          dt          z  t          t          dz             z  dt          z  z   dt          t          dz             z  z   dz             } t          |           t          t          t          dz             z   dz   k    sJ dt          z   t
          z   dt
          z   t          dt          z   dt
          z  z             z  z   }t          |dz                                            } t          |           |                                k    sJ d S )NrI   r   r   r    rM   r   r   )	r	   r"   r1   r   rN   r#   r!   r3   r2   )r6   z1crO   s       r   test_sqrtdenest4rc   x   s   QDRLL 477AF#3344A	ABbS1WA46BqD=1r!t#b(2-3d2hh>
A	I	I	K	KBa==BQrT$rAv,,2%$rAv,,6:;;Aa==Bb1f-11111	Bq2vtAFQrTM2222Aad]]__Aa==AHHJJ&&&&&&r   c                     t          d          } t          dt          t          d| z             dz             z   dz                                            }t          |          t          dt          t          d| z             dz             z   dz            k    sJ t          dt          t          dt	          d          z             dz             z   dz                                            }t          |          dt          t          dt	          d          z             dz             z   k    sJ dt	          d          z   dz  dz                                   }t          |          |k    sJ t          dt          t          dt	          d| z            z             dz             z   dz  dz                                             }t          |          |k    sJ t	          d          }|dz  }t          t          dt          dt
          z             z  |z  |z   dz   t
          |z  z                       dt          dt
          z             |z  z
  k    sJ t          dt
          z             }t          d|z  t          ddt
          z  z             z  dt
          z  |z  t          ddt
          z  z             z  z   d	t
          z  z   d
z             }t          |          |k    sJ d S )Nr   r    r   r   r   rD   rX   rK   rS   rY   )r   r	   r2   r   r
   r#   )r   r6   rb   c2ras        r   test_sqrt_symbolic_denestrg      s   sAq4QUa(((1,446677Aa==D!d4A;;?&;&;";a!?@@@@@@q4QQZ((1,---199;;<<Aa==AT!c!ff*%5%5%9 : ::::::
c!ff*q1	$$&&Aa==Aq4QQqS\**Q.///!3a7??AABBAa==AAA	
ABd1T!b&\\>!+b014r"u<==>>
T!b&\\!^   	a"fBRU4AbD>>!BrE"HT!ad(^^$;;beCcIJJAa==Ar   c                  F   ddl m} m} t          ddt          z  dz   z  dz             }t
          t          z   t          dz   z  }t          |          |k    sJ t          d|z             d|z   k    sJ t          t          |dz   | ddf                    t          d|z   | ddf          k    sJ t          | t          |          z             | t          |          z   k    sJ t
          t          z   t          dz   z  }t          |          |k    sJ t          d|z             d|z   k    sJ t          t          |dz   | ddf                    t          d|z   | ddf          k    sJ t          | t          |          z             | t          |          z   k    sJ d S )Nr   )r   yr    r   r   r   )		sympy.abcr   ri   r	   r#   r"   r!   r   r   )r   ri   r6   anss       r   test_issue_5857rl      s   Q"q\AA7R!V
Ca==Ca!eC''''hq1uq!Qi0011S1a)$$% % % %a$q''k""a$q''k11117R!V
Ca==Ca!eC''''hq1uq!Qi0011S1a)$$% % % %a$q''k""a$q''k111111r   c                      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   test_subsetsro      s    1::1#1::lllLLL,,,lllLLL,,,lllLLL,,,N N N N N N Nr   c                      t          t          dt          dt          d          z             z                       t          dt          dt          d          z             z             k    sJ d S )Nr   )r   r	   r   r   r   test_issue_5653rq      sw    Qa$q''k"""##% %(,Qa$q''k1B1B-B(C(CD D D D D Dr   c            	      @   t          dt          d          t          ddt          z  z             z  z
  dt          z  z   dz            t          k    sJ dt          d          t          dt          z             z  z
  dt          z  z   } t          |           | k    sJ d S )Nr   r   r   )r   r	   r   r4   s    r   test_issue_12420rt      s    q4774AaC==001Q369::a????	DGGDQKK!A#%Aa==Ar   c                      t          t          dt          z             t          ddt          z  z             z   t          ddt          z  z             z
            dk    sJ d S )Nr    r   r   r   r   )r   r	   r#   r   r   r   test_sqrt_ratcombrv      sQ    d1r6llT!ad(^^3d2"9ooEFF!KKKKKKr   c                      t          ddt          d          z  t          z  z              } t          |           dt          d          t          z  z
  k    sJ d S )Nr,   r   r   rD   )r	   r   r   rs   s    r   test_issue_18041rx      sP    	b1T!WW9Q;		Aa==BaN******r   c                     t          d          } t          d          }t          d          }| | z  ||z  |z  z
  }t          | |||          t          d          t          z  dz  dt          d          z  t          z  dz  z   k    sJ t	          t          dt          d          z
                      t          d          t          z  dz  dt          d          z  t          z  dz  z   k    sJ d S )NrG   rD   ?   r.   r   r   )r   r   r	   r   r   )abr5   d2s       r   test_issue_19914r~      s    AAA	
1qs1uB1a,,R
1qay{1}$% % % %d2d2hh;''((DHHQJqL1T!WW9Q;q=,HHHHHHHr   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   rn   r   r"   r#   r1   r!   r$   r3   rN   r0   r'   r7   rP   rT   r_   rc   rg   rl   ro   rq   rt   rv   rx   r~   r   r   r   <module>r      s         5 5 5 5 5 5 5 5 5 5 $ $ $ $ $ $ A A A A A A A A 8 8 8 8 8 8 . . . . . . 0 0 0 0 0 0/ / / / / / / /%3 %3 72 %3 %3 %3 !BBCc( ( (     F  >  
E E E(' ' '   &2 2 2"N N ND D D  
L L L+ + +I I I I Ir   