
    g9                     B   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 Z2dS )    )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 d S )Nr      )r   r   
isinstancesetr   r	   )ses    Y/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/sets/tests/test_setexpr.pytest_setexprr       sK    	!Q	 	 Bbfc"""""b$    c            
         t          t          dd                    j        t          dd          k    sJ t          dd          t          dd          }} d\  } }t          t
          fD ]} |t          t          | |                              }|j        }t          t           ||            ||                    t           ||            ||                              }||k    sJ d S )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8#D!!!6#D#9#9#9qADAq3Z " "1WXa^^,,--C!aaddOOS1qqtt__==!!!!!	" "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 d S Nr   r   r&   r   r   r    r!   r   test_Add_Mulr0   %   sj    HQNN##a',A>>>>HQNN##A%*hq!nn<<<<<<r!   c                  x    t          t          dd                    dz  j        t          dd          k    sJ d S )Nr   r&      r.   r/   r!   r   test_Powr3   *   s9    HQNN##Q&+x1~~======r!   c                      t          t          t          dd                    dz  dz             j        t          t          d          t          d                    k    sJ d S )Nr   r   r&      )r   r   r   r   r/   r!   r   test_compoundr6   .   sa    A'')A-..3CFFCFF##$ $ $ $ $ $r!   c                  V   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 d S )Nr   r&   
            (   r.   r/   r!   r   test_Interval_Intervalr=   3   s    HQNN##ghr2.>.>&?&??DB   HQNN##GHR,<,<$=$==BB     r!   c                  d   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 d S )Nr   r&   r5   r2         r   r   r   r/   r!   r   test_FiniteSet_FiniteSetrB   :   s    IaA&&''')Aq//*B*BBGQ1a  ! ! ! !IaA&&''	!Q(@(@@EQ1a##$ $ $ $ $ $r!   c                      t          t          dd                    t          t          dd                    z   j        t          dd          k    sJ d S )Nr   r&   r   r8      )r   r   r   r   r/   r!   r   test_Interval_FiniteSetrE   A   sV    IaOO$$wx2'?'??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 d S )	Nr   r   r&   r5   r8   r:   rD      )r   r   r   r   r/   r!   r   test_Many_SetsrH   F   s|    HQNN##HQNN##$Ib"b))**+,/8B3C3CD D D D D Dr!   c                      t          t          dd                    } t          t          dd                    }| |z   j        t          ddd          k    sJ d S r-   rA   )r#   r%   s     r   $test_same_setexprs_are_not_identicalrJ   L   sU    	!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 d S )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   sI   HQNN##EHN1a(())EHN1a(())E8=A&&''DHROO$$EHN2q))**EHN2q))**E8=Q''((DXb"%%&&F5=GHQNN3333335=GHROO444444;'(1a..111111;'(161"5"5666666!8wx1~~......!8wx1~~......5=GHM!Q$7$78888885=GHN2q$9$9::::::;'(-1"5"5666666;'(.";";<<<<<<5=GHN1a$8$89999995=GHM"a$8$8999999;'(.A"6"6777777;'(-":":;;;;;;5=GHN1a$8$89999995=GHN2q$9$9::::::;'(.A"6"6777777;'(.";";<<<<<<4<78=A#6#67777774<78=Q#7#7888888:q!!4!4555555:qvq!9!9::::::!8wx~a33444444!8wx~a334444445=GHN1a$8$89999995=GHM"a$8$8999999;'(.A"6"6777777;'(-":":;;;;;;5=GHN1a$8$89999995=GHN2q$9$9::::::;'(.A"6"6777777;'(.";";<<<<<<4<78=A#6#67777774<78=Q#7#7888888:q!!4!4555555:qvq!9!9::::::!8wx~a33444444!8wx~a33444444%<78=A#6#6777777%<78=Q#7#7888888:q!!4!4555555:qvq!9!9::::::%<78=A#6#6777777%<78=Q#7#7888888:q!!4!4555555:qvq!9!9::::::%<78=A#6#6777777%<78=Q#7#7888888:q!!4!4555555:qvq!9!9::::::7ghmAq112222227ghmAq112222225=GHROO4444445=GHROO444444;'(2q//222222;'(-R"8"89999995=GHN2q$9$9::::::5=GHN2q$9$9::::::;'(.Q"7"7888888;'(."b"9"9::::::5=GHN2q$9$9::::::5=GHN2q$9$9::::::;'(2q//222222;'(-R"8"89999994<78=Q#7#78888884<78=Q#7#7888888:r1!5!5666666:sB!7!7888888!8wx1~~......!8wxB//000000HROO$$EHN2q))**EHN2q))**E;'(.Q"7"7888888;'(2q//222222;'(.Q"7"7888888;'(2q//222222;'(.Q"7"7888888;'(."b"9"9::::::;'(."b"9"9::::::19A//////19b 1 12222225=GHROO4444445=GHROO444444;'(2q//222222;'(2q//2222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 d S )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r77;,3q66""D))3q66""D))+ + + + + + r77;(6!SVV#4#4e<<<<<<<<r!   c            
      n   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 d S )	NrM   rL   r   r&   r5   r   r2   rN   )r   r   r   r   r   r   rW   rV   r/   r!   r   test_SetExpr_Interval_divro      sE    8B##$$WXb!__%=%==SURUWYIZIZA[A[[[[[8Aq>>""78B??#;#;;wxQSPSUWGXGX?Y?YYYYY8B##$$WXa^^%<%<<RTQTV^_acdVeVeHfHf@g@ggggg8Aq>>""78B??#;#;;wxQSPSU]^`bcUdUdGeGe?f?fffff8Aq>>""78Aq>>#:#::ghxXY[\~~_aFbFb>c>ccccc 8B??##GHROO$<$<<RTQTVXHYHY@Z@ZZZZZWXb!__%%%xR7H7H(STSY[]J^J^1_1_)`)`````WXa^^$$$0D0D(E(EEEEEA'''78RC"a3Q3Q+R+RRRRRWXrc1%%&&&'(-Q2G2G*H*HHHHHWXb!__%%%2#r1B1B)C)CCC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                      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                      t          t          t          t          t          t
           z            t          dd                                        sJ d S )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      sB	   8Aq>>""A%!Q)@)@@@@@8B??##Q&'(1a..*A*AAAAA8Aq>>""A%!Q)@)@@@@@8B??##Q&'(2q//*B*BBBBB8B??##Q&')A,,*?*????? 8Aq>>""HQNN2ghq!DQRGG)>T>T6U6UUUUU 8Aq>>""R(GHXa__a4P4P,Q,QQQQQ8B??##b)WXa__-E-EEEEE8Aq>>""R(GHXa^^R4P4P,Q,QQQQQ8B??##b)WU8RC;L;LhW_`acdWeWegiNjNj5k5k-l-lllll8B##$$r*ghxAPXY[]_P`P`6a6a.b.bbbbb8B##$$r*ghx1~~xXY[\~~6^6^._._____
 8RC##$$r*ghmAr6J6J.K.KKKKK8B??##b)WXhq!nnb5Q5Q-R-RRRRR8HQNNAF3344b8GIaLL<Q<QQQQQ8Aqv&&''+wy||/D/DDDDD8AFA&&''+wx2/G/GGGGG8Aq>>""B&'(1b//*B*BBBBB8Aq>>""B&')B--*@*@@@@@8Aq>>""B&'(1b//*B*BBBBB8AFA&&''+wx2/G/GGGGG8HROOXb!__==>>BgiXYllF[F[[[[[8BQ0011252#rARAR9S9SSSSS8B##$$b(GIrc24F4F,G,GGGGG8B##$$b(GHbS"4E4E,F,FFFFF8BQ0011252#rARAR9S9SSSSS8HROOQV4455r9WYq\\=R=RRRRR8HROOQ//00"4B8P8PPPPP8HROOQ//00"4B8P8PPPPP8B??##R'78RC3D3D+E+EEEEE8B''((","b8I8I0J0JJJJJ8B??##R'78RC3D3D+E+EEEEE8B''((","b8I8I0J0JJJJJHQNN##Q&00&RQRUBSBSU]^_abUcUc9d9d1e1efffff8Aq>>""bS)WYq\\-B-BBBBB8Aq>>""bS)WXa__-E-EEEEEHROO$$s+55ghvbRTXZWZR[G\G\^fgikl^m^m>n>n6o6opppppppr!   c                  ^   t          t          j                  dz   t          t          j                  k    sJ t          t          j                  t          z                       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                      t          t          t          t          dt          z            t          j                                      sJ t          t          j                  t          z                      t          t          t          t          t          t          z            t          j                                      sJ t          t          j                                      t          t          t          t          z  dz                                           t          t          t          t          t          t          z  dz             t          j                                      sJ t          t          j                  t          z  dz                       t          t          t          t          t          dz             t          t          t          t          t          z            t          j                                                sJ d S )Nr   rN   r&   )
r   r   Integersr   rr   r   r
   rs   
_eval_funcrf   r/   r!   r   test_SetExpr_Integersrx   .  sW   1:"gaj&9&99999AJ!#--BF++QZ8899; ; ; ; ;1:#wqz':':::::AJ!++AbD))1:66779 9 9 9 9AJ!++AbD))1:66779 9 9 9 9 1:))&AaC!G*<*<==FFAbD1H--qz::;;= = = = = AJ!A%//1q5))BqD!!1:..0 0 	1 	12 2 2 2 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 I I I I I I I I I I I I             & & & & & & 0 0 0 0 0 0 0 0 0 0 " " " " " " 6 6 6 6 6 6 6 6 6 6 = = = = = = = = E E E E E E E E E E 8 8 8 8 8 8       wv1
U3ZZ     	" 	" 	"= = =
> > >$ $ $
  $ $ $  
D D D- - -i3 i3 i3X	= 	= 	=D D DL8q 8q 8qv2 2 2 2 2r!   