
    sg9                     4   d dl mZ d dlmZmZmZmZ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 d dlmZmZmZ d dlmZmZ d d	lmZmZmZ d d
lmZ d dlm Z   ed      \  Z!Z" e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 Z0d Z1d Z2y)    )SetExpr)Interval	FiniteSetIntersectionImageSetUnion)Expr)Lambda)IRationaloo)S)DummySymbolsymbols)explog)MaxMinsqrt)cos)Setza, xdc                      t        t        dd            } t        | j                  t              sJ t        | t
              sJ y )Nr      )r   r   
isinstancesetr   r	   )ses    P/var/www/html/venv/lib/python3.12/site-packages/sympy/sets/tests/test_setexpr.pytest_setexprr       s6    	!Q	 Bbffc"""b$    c            
         t        t        dd            j                  t        dd      k(  sJ t        dd      t        dd      }} d\  } }t        t
        fD ]h  } |t        t        | |                  }|j                  }t        t         ||        ||            t         ||        ||                  }||k(  rhJ  y )Nr   r   aT)realb)r      )r   r   r   r   r   r   r   r   )r#   r%   finput_seoutputexpecteds         r   test_scalar_funcsr+      s    8Aq>"&&(1a.888#D!6#D#9qADAq3Z "WXa^,-C!adOS1qt_=!!!	"r!   c                      t        t        dd            dz   j                  t        dd      k(  sJ t        t        dd            dz  j                  t        dd      k(  sJ y Nr   r   r&   r   r   r    r!   r   test_Add_Mulr0   %   sV    HQN#a',,A>>>HQN#A%**hq!n<<<r!   c                  f    t        t        dd            dz  j                  t        dd      k(  sJ y )Nr   r&      r.   r/   r!   r   test_Powr3   *   s,    HQN#Q&++x1~===r!   c                      t        t        t        dd            dz  dz         j                  t        t        d      t        d            k(  sJ y )Nr   r   r&      )r   r   r   r   r/   r!   r   test_compoundr6   .   sF    A')A-.33CFCF#$ $ $r!   c                     t        t        dd            t        t        dd            z   j                  t        dd      k(  sJ t        t        dd            t        t        dd            z  j                  t        dd      k(  sJ y )Nr   r&   
            (   r.   r/   r!   r   test_Interval_Intervalr=   3   s~    HQN#ghr2.>&??DDB  HQN#GHR,<$==BBB  r!   c                  "   t        t        ddd            t        t        dd            z   j                  t        dddd      k(  sJ t        t        ddd            t        t        dd            z  j                  t        ddddd      k(  sJ y )Nr   r&   r5   r2         r   r   r   r/   r!   r   test_FiniteSet_FiniteSetrB   :   s    IaA&'')Aq/*BBGGQ1a ! ! !IaA&'	!Q(@@EEQ1a#$ $ $r!   c                      t        t        dd            t        t        dd            z   j                  t        dd      k(  sJ y )Nr   r&   r   r8      )r   r   r   r   r/   r!   r   test_Interval_FiniteSetrE   A   s>    IaO$wx2'??DDAr?  r!   c                      t        t        dd            t        t        dd            z   t        t        ddd            z   j                  t        dd      k(  sJ y )	Nr   r   r&   r5   r8   r:   rD      )r   r   r   r   r/   r!   r   test_Many_SetsrH   F   sY    HQN#HQN#$Ib"b)*+,/C8B3CD D Dr!   c                      t        t        dd            } t        t        dd            }| |z   j                  t        ddd      k(  sJ y r-   rA   )r#   r%   s     r   $test_same_setexprs_are_not_identicalrJ   L   sA    	!Q A	!Q AE;;)Aq!,,,,r!   c                     t        t        dd            } t        t        j                  dd            }t        t        j                  dd            }t        t        j                  dd            }t        t        dd            }t        t        j                  dd            }t        t        j                  dd            }t        t        j                  dd            }t        t        dd            }| | z   t        t        dd            k(  sJ | | z
  t        t        dd            k(  sJ | | z  t        t        dd            k(  sJ | | z  t        t        t
        j                  d            k(  sJ | dz  t        t        dd            k(  sJ | dz  t        t        dd            k(  sJ ||z   t        t        j                  dd            k(  sJ ||z
  t        t        j                  dd            k(  sJ ||z  t        t        j                  dd            k(  sJ ||z  t        t        j                  t
        j                  d            k(  sJ ||z   t        t        j                  dd            k(  sJ ||z
  t        t        j                  dd            k(  sJ ||z  t        t        j                  dd            k(  sJ ||z  t        t        j                  t
        j                  d            k(  sJ || z   t        t        j                  dd            k(  sJ || z
  t        t        j                  dd            k(  sJ || z  t        t        j                  dd            k(  sJ || z  t        t        j                  t
        j                  d            k(  sJ ||z   t        t        j                  dd            k(  sJ ||z
  t        t        j                  dd            k(  sJ ||z  t        t        j                  dd            k(  sJ ||z  t        t        j                  t
        j                  d            k(  sJ |dz  t        t        j                  dd            k(  sJ |dz  t        t        j                  dd            k(  sJ ||z   t        t        j                  dd            k(  sJ ||z
  t        t        j                  dd            k(  sJ ||z  t        t        j                  dd            k(  sJ ||z  t        t        j                  t
        j                  d            k(  sJ || z   t        t        j                  dd            k(  sJ || z
  t        t        j                  dd            k(  sJ || z  t        t        j                  dd            k(  sJ || z  t        t        j                  t
        j                  d            k(  sJ ||z   t        t        j                  dd            k(  sJ ||z
  t        t        j                  dd            k(  sJ ||z  t        t        j                  dd            k(  sJ ||z  t        t        j                  t
        j                  d            k(  sJ |dz  t        t        j                  dd            k(  sJ |dz  t        t        j                  dd            k(  sJ ||z   t        t        j                  dd            k(  sJ ||z
  t        t        j                  dd            k(  sJ ||z  t        t        j                  dd            k(  sJ ||z  t        t        j                  t
        j                  d            k(  sJ ||z   t        t        j                  dd            k(  sJ ||z
  t        t        j                  dd            k(  sJ ||z  t        t        j                  dd            k(  sJ ||z  t        t        j                  t
        j                  d            k(  sJ || z   t        t        j                  dd            k(  sJ || z
  t        t        j                  dd            k(  sJ || z  t        t        j                  dd            k(  sJ || z  t        t        j                  t
        j                  d            k(  sJ |dz  t        t        j                  dd            k(  sJ |dz  t        t        j                  dd            k(  sJ ||z   t        t        d	d
            k(  sJ ||z
  t        t        dd            k(  sJ ||z  t        t        dd            k(  sJ ||z  t        t        j                  t         t                    k(  sJ ||z   t        t        j                  d	d
            k(  sJ ||z
  t        t        j                  dd            k(  sJ ||z  t        t        j                  dd            k(  sJ ||z  t        t        j                  t         t                    k(  sJ ||z   t        t        j                  d	d
            k(  sJ ||z
  t        t        j                  dd            k(  sJ ||z  t        t        dd            k(  sJ ||z  t        t        j                  t         t                    k(  sJ ||z   t        t        j                  d	d
            k(  sJ ||z
  t        t        j                  dd            k(  sJ ||z  t        t        j                  dd            k(  sJ ||z  t        t        j                  t         t                    k(  sJ |dz  t        t        dd            k(  sJ |dz  t        t        dd            k(  sJ t        t        dd            }	t        t        j                  dd            }
t        t        j                  dd            }|	|
z  t        t        j                  dd            k(  sJ |	|	z  t        t        dd            k(  sJ |
|	z  t        t        j                  dd            k(  sJ |	|z  t        t        dd            k(  sJ |
|z  t        t        j                  dd            k(  sJ |	|
z  t        t        j                  t         t                    k(  sJ | |
z  t        t        j                  t         t                    k(  sJ |dz  t        t        dd            k(  sJ |dz  t        t        dd            k(  sJ || z   t        t        dd            k(  sJ || z
  t        t        d	d            k(  sJ || z  t        t        d	d
            k(  sJ || z  t        t        dd            k(  sJ y )Nr   r&   r5   r2      r@   r?   i	   r   i   i)r   r   LopenRopenopenr   Halfr   )i12cci12loi12roi12on23ccn23lon23ron23on3n2ccn32ccn32lon32ros               r   test_Interval_arithmeticrd   U   s   HQN#EHNN1a()EHNN1a()E8==A&'DHRO$EHNN2q)*EHNN2q)*E8==Q'(DXb"%&F5=GHQN33335=GHRO4444;'(1a.1111;'(1661"56666!8wx1~....!8wx1~....5=GHMM!Q$788885=GHNN2q$9::::;'(--1"56666;'(..";<<<<5=GHNN1a$899995=GHMM"a$89999;'(..A"67777;'(--":;;;;5=GHNN1a$899995=GHNN2q$9::::;'(..A"67777;'(..";<<<<4<78==A#677774<78==Q#78888:q!!45555:qvvq!9::::!8wx~~a34444!8wx~~a344445=GHNN1a$899995=GHMM"a$89999;'(..A"67777;'(--":;;;;5=GHNN1a$899995=GHNN2q$9::::;'(..A"67777;'(..";<<<<4<78==A#677774<78==Q#78888:q!!45555:qvvq!9::::!8wx~~a34444!8wx~~a34444%<78==A#67777%<78==Q#78888:q!!45555:qvvq!9::::%<78==A#67777%<78==Q#78888:q!!45555:qvvq!9::::%<78==A#67777%<78==Q#78888:q!!45555:qvvq!9::::7ghmmAq122227ghmmAq122225=GHRO44445=GHRO4444;'(2q/2222;'(--R"899995=GHNN2q$9::::5=GHNN2q$9::::;'(..Q"78888;'(.."b"9::::5=GHNN2q$9::::5=GHNN2q$9::::;'(2q/2222;'(--R"899994<78==Q#788884<78==Q#78888:r1!56666:sB!78888!8wx1~....!8wxB/0000HRO$EHNN2q)*EHNN2q)*E;'(..Q"78888;'(2q/2222;'(..Q"78888;'(2q/2222;'(..Q"78888;'(.."b"9::::;'(.."b"9::::19A////19b 122225=GHRO44445=GHRO4444;'(2q/2222;'(2q/2222r!   c                     t        d      \  } }}}t        | |      }t        ||      }t        ||      }t        |      }t	        |      j
                  t        t        t        | t	        |             |      t        t        | t	        |             |            k(  sJ t        |      j
                  t        t        | t        |             |      k(  sJ y )Nzx y z w)	r   r   r   r   r   r   r   r
   r   )xyzwset1set2interr   s           r   test_SetExpr_Intersectionrm      s    #JAq!QAq>DAq>Dt$E	Br7;;,3q6"D)3q6"D)+ + + + r7;;(6!SV#4e<<<<r!   c            
      `   t        t        dd            t        t        dd            z  t        t        t         t                    k(  sJ t        t        dd            t        t        dd            z  t        t        t         t                    k(  sJ t        t        dd            t        t        dd            z  t        t        t         t        dd                  k(  sJ t        t        dd            t        t        dd            z  t        t        t         t        dd                  k(  sJ t        t        dd            t        t        dd            z  t        t        t        dd      t                    k(  sJ t        t        dd            t        t        dd            z  t        t        t         t                    k(  sJ dt        t        dd            z  t        t	        t        t         d      t        t
        j                  t                          k(  sJ dt        t        dd            z  t        t        t
        j                  t                    k(  sJ dt        t        dd            z  t        t        t         t        dd                  k(  sJ dt        t        t         d            z  t        t        j                  t         d            k(  sJ dt        t        dd            z  t        t        t         d            k(  sJ y )	NrM   rL   r   r&   r5   r   r2   rN   )r   r   r   r   r   r   rW   rV   r/   r!   r   test_SetExpr_Interval_divro      s{    8B#$WXb!_%==SURUWYIZA[[[[8Aq>"78B?#;;wxQSPSUWGX?YYYY8B#$WXa^%<<RTQTV^_acdVeHf@gggg8Aq>"78B?#;;wxQSPSU]^`bcUdGe?ffff8Aq>"78Aq>#::ghxXY[\~_aFb>cccc 8B?#GHRO$<<RTQTVXHY@ZZZZWXb!_%%xR7H(STSYSY[]J^1_)````WXa^$$0D(EEEEA''78RC"a3Q+RRRRWXrc1%&&'(--Q2G*HHHHWXb!_%%2#r1B)CCCCr!   c                     t        t        dd            dz  t        t        dd            k(  sJ t        t        dd            dz  t        t        dd            k(  sJ t        t        dd            dz  t        t        dd            k(  sJ t        t        dd            dz  t        t        dd            k(  sJ t        t        dd            dz  t        t        d            k(  sJ t        t        dd            t        dd      z  t        t        ddt	        d      z              k(  sJ t        t        dd            d	z  t        t        t        dd
      d            k(  sJ t        t        dd            d	z  t        t        dt
                    k(  sJ t        t        dd            d	z  t        t        t        dd      t
                    k(  sJ t        t        dd            dz  t        t        t        t
         d      t        t        dd      t
                          k(  sJ t        t        dd	            dz  t        t        t        dd      t        dd                  k(  sJ t        t        dd	            d	z  t        t        t        dd      t        dd                  k(  sJ t        t        t
         d            d	z  t        t        j                  dt
                    k(  sJ t        t        d	d            d	z  t        t        t        dd      t
                    k(  sJ t        t        t        dd      t        j                              t
        z  t        t        d            k(  sJ t        t        dt        j                              t
        z  t        t        d            k(  sJ t        t        t        j                  d            t
        z  t        t        dt
                    k(  sJ t        t        dd            t
        z  t        t        dt
                    k(  sJ t        t        dd            t
        z  t        t        t
                    k(  sJ t        t        dd            t
        z  t        t        dt
                    k(  sJ t        t        t        j                  d            t
        z  t        t        dt
                    k(  sJ t        t        t        dd      t        dd                  t
        z  t        t        d            k(  sJ t        t        dt        dd                  t
        z  t        t        t
         t
                    k(  sJ t        t        dd	            t
        z  t        t        t
         t
                    k(  sJ t        t        d	d            t
        z  t        t        t
         t
                    k(  sJ t        t        d	t        dd                  t
        z  t        t        t
         t
                    k(  sJ t        t        t        dd      t        j                              t
        z  t        t        d            k(  sJ t        t        t        dd      d            t
        z  t        t        dt
                    k(  sJ t        t        t        d	d      d            t
        z  t        t        dt
                    k(  sJ t        t        dd            t
        z  t        t        t
         t
                    k(  sJ t        t        dt        j                              t
        z  t        t        t
         t
                    k(  sJ t        t        dd            t
        z  t        t        t
         t
                    k(  sJ t        t        d	t        j                              t
        z  t        t        t
         t
                    k(  sJ t        t        dd            t        z  j                  t        t        t        t        t        t        z        t        dd                        sJ t        t        dd            t
         z  t        t        d            k(  sJ t        t        dd            t
         z  t        t        dt
                    k(  sJ t        t        dd            t
         z  j                  t        t        t        t        t        t
         z        t        dd                        sJ y )Nr   r&   r2   rN   r   r5   rO   r?   rL      rM   rS   rR   )r   r   r   r   r   r   r   rV   r   rW   rf   dummy_eqr   r
   _dr/   r!   r   test_SetExpr_Interval_powrt      s
   8Aq>"A%!Q)@@@@8B?#Q&'(1a.*AAAA8Aq>"A%!Q)@@@@8B?#Q&'(2q/*BBBB8B?#Q&')A,*???? 8Aq>"HQN2ghq!DQRG)>T6UUUU 8Aq>"R(GHXa_a4P,QQQQ8B?#b)WXa_-EEEE8Aq>"R(GHXa^R4P,QQQQ8B?#b)WU8RC;LhW_`acdWegiNj5k-llll8B#$r*ghxAPXY[]_P`6a.bbbb8B#$r*ghx1~xXY[\~6^.____
 8RC#$r*ghmmAr6J.KKKK8B?#b)WXhq!nb5Q-RRRR8HQNAFF34b8GIaL<QQQQ8Aqvv&'+wy|/DDDD8AFFA&'+wx2/GGGG8Aq>"B&'(1b/*BBBB8Aq>"B&')B-*@@@@8Aq>"B&'(1b/*BBBB8AFFA&'+wx2/GGGG8HROXb!_=>BgiXYlF[[[[8BQ01252#rAR9SSSS8B#$b(GIrc24F,GGGG8B#$b(GHbS"4E,FFFF8BQ01252#rAR9SSSS8HROQVV45r9WYq\=RRRR8HROQ/0"4B8PPPP8HROQ/0"4B8PPPP8B?#R'78RC3D+EEEE8B'(","b8I0JJJJ8B?#R'78RC3D+EEEE8B'(","b8I0JJJJHQN#Q&00&RQRUBSU]^_abUc9d1efff8Aq>"bS)WYq\-BBBB8Aq>"bS)WXa_-EEEEHRO$s+55ghvbRTXZWZR[G\^fgikl^m>n6opppr!   c                     t        t        j                        dz   t        t        j                        k(  sJ t        t        j                        t        z   j	                  t        t        t        t        t        t        z         t        j                                    sJ t        t        j                        dz  t        t        j                        k(  sJ t        t        j                        dz  j	                  t        t        t        t        dt        z        t        j                                    sJ t        t        j                        t        z  j	                  t        t        t        t        t        t        z        t        j                                    sJ t        t        j                        j                  t        t        t        t        z  dz               j	                  t        t        t        t        t        t        z  dz         t        j                                    sJ t        t        j                        t        z  dz   j	                  t        t        t        t        t        dz         t        t        t        t        t        z        t        j                                          sJ y )Nr   rN   r&   )
r   r   Integersr   rr   r   r
   rs   
_eval_funcrf   r/   r!   r   test_SetExpr_Integersrx   .  s   1::"gajj&9999AJJ!#--BF+QZZ89; ; ;1::#wqzz'::::AJJ!++AbD)1::679 9 9AJJ!++AbD)1::679 9 9 1::))&AaC!G*<=FFAbD1H-qzz:;= = = AJJ!A%//1q5)BqD!1::.0 	12 2 2r!   N)3sympy.sets.setexprr   
sympy.setsr   r   r   r   r   sympy.core.exprr	   sympy.core.functionr
   sympy.core.numbersr   r   r   sympy.core.singletonr   sympy.core.symbolr   r   r   &sympy.functions.elementary.exponentialr   r   (sympy.functions.elementary.miscellaneousr   r   r   (sympy.functions.elementary.trigonometricr   sympy.sets.setsr   r#   rf   rs   r    r+   r0   r3   r6   r=   rB   rE   rH   rJ   rd   rm   ro   rt   rx   r/   r!   r   <module>r      s    & I I   & 0 0 " 6 6 = E E 8  v1
3Z 	"=
>$
$
D-i3X	=DL8qv2r!   