
    \h9                     4   S SK Jr  S SKJrJrJrJrJr  S SKJ	r	  S SK
Jr  S SKJrJrJr  S SKJr  S SKJrJrJr  S SKJrJr  S S	KJrJrJr  S S
KJr  S SKJ r   \" S5      u  r!r"\" S5      r#S r$S r%S r&S r'S r(S r)S r*S r+S r,S r-S r.S r/S r0S r1S r2g)    )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                      [        [        SS5      5      n [        U R                  [        5      (       d   e[        U [
        5      (       d   eg )Nr      )r   r   
isinstancesetr   r	   )ses    U/var/www/auris/envauris/lib/python3.13/site-packages/sympy/sets/tests/test_setexpr.pytest_setexprr       s<    	!Q	 Bbffc""""b$    c            
         [        [        SS5      5      R                  [        SS5      :X  d   e[        SSS9[        SSS9pSu  p[        [
        4 Hh  nU" [        [        X5      5      5      nUR                  n[        [        U" U 5      U" U5      5      [        U" U 5      U" U5      5      5      nXE:X  a  Mh   e   g )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#9qDA3ZWXa^,-C!adOS1qt_=!!!	 r!   c                      [        [        SS5      5      S-   R                  [        SS5      :X  d   e[        [        SS5      5      S-  R                  [        SS5      :X  d   eg Nr   r   r&   r   r   r    r!   r   test_Add_Mulr0   %   sV    HQN#a',,A>>>HQN#A%**hq!n<<<r!   c                  h    [        [        SS5      5      S-  R                  [        SS5      :X  d   eg )Nr   r&      r.   r/   r!   r   test_Powr3   *   s,    HQN#Q&++x1~===r!   c                      [        [        [        SS5      5      S-  S-   5      R                  [        [        S5      [        S5      5      :X  d   eg )Nr   r   r&      )r   r   r   r   r/   r!   r   test_compoundr6   .   sF    A')A-.33CFCF#$ $ $r!   c                     [        [        SS5      5      [        [        SS5      5      -   R                  [        SS5      :X  d   e[        [        SS5      5      [        [        SS5      5      -  R                  [        SS5      :X  d   eg )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                  &   [        [        SSS5      5      [        [        SS5      5      -   R                  [        SSSS5      :X  d   e[        [        SSS5      5      [        [        SS5      5      -  R                  [        SSSSS5      :X  d   eg )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                      [        [        SS5      5      [        [        SS5      5      -   R                  [        SS5      :X  d   eg )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                      [        [        SS5      5      [        [        SS5      5      -   [        [        SSS5      5      -   R                  [        SS5      :X  d   eg )	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                      [        [        SS5      5      n [        [        SS5      5      nX-   R                  [        SSS5      :X  d   eg r-   rA   )r#   r%   s     r   $test_same_setexprs_are_not_identicalrJ   L   s?    	!Q A	!Q AE;;)Aq!,,,,r!   c                     [        [        SS5      5      n [        [        R                  " SS5      5      n[        [        R                  " SS5      5      n[        [        R                  " SS5      5      n[        [        SS5      5      n[        [        R                  " SS5      5      n[        [        R                  " SS5      5      n[        [        R                  " SS5      5      n[        [        SS5      5      nX -   [        [        SS5      5      :X  d   eX -
  [        [        SS5      5      :X  d   eX -  [        [        SS5      5      :X  d   eX -  [        [        [
        R                  S5      5      :X  d   eU S-  [        [        SS5      5      :X  d   eU S-  [        [        SS5      5      :X  d   eX-   [        [        R                  " SS5      5      :X  d   eX-
  [        [        R                  " SS5      5      :X  d   eX-  [        [        R                  " SS5      5      :X  d   eX-  [        [        R                  " [
        R                  S5      5      :X  d   eX-   [        [        R                  " SS5      5      :X  d   eX-
  [        [        R                  " SS5      5      :X  d   eX-  [        [        R                  " SS5      5      :X  d   eX-  [        [        R                  " [
        R                  S5      5      :X  d   eX-   [        [        R                  " SS5      5      :X  d   eX-
  [        [        R                  " SS5      5      :X  d   eX-  [        [        R                  " SS5      5      :X  d   eX-  [        [        R                  " [
        R                  S5      5      :X  d   eX-   [        [        R                  " SS5      5      :X  d   eX-
  [        [        R                  " SS5      5      :X  d   eX-  [        [        R                  " SS5      5      :X  d   eX-  [        [        R                  " [
        R                  S5      5      :X  d   eUS-  [        [        R                  " SS5      5      :X  d   eUS-  [        [        R                  " SS5      5      :X  d   eX"-   [        [        R                  " SS5      5      :X  d   eX"-
  [        [        R                  " SS5      5      :X  d   eX"-  [        [        R                  " SS5      5      :X  d   eX"-  [        [        R                  " [
        R                  S5      5      :X  d   eX -   [        [        R                  " SS5      5      :X  d   eX -
  [        [        R                  " SS5      5      :X  d   eX -  [        [        R                  " SS5      5      :X  d   eX -  [        [        R                  " [
        R                  S5      5      :X  d   eX#-   [        [        R                  " SS5      5      :X  d   eX#-
  [        [        R                  " SS5      5      :X  d   eX#-  [        [        R                  " SS5      5      :X  d   eX#-  [        [        R                  " [
        R                  S5      5      :X  d   eUS-  [        [        R                  " SS5      5      :X  d   eUS-  [        [        R                  " SS5      5      :X  d   eX1-   [        [        R                  " SS5      5      :X  d   eX1-
  [        [        R                  " SS5      5      :X  d   eX1-  [        [        R                  " SS5      5      :X  d   eX1-  [        [        R                  " [
        R                  S5      5      :X  d   eX2-   [        [        R                  " SS5      5      :X  d   eX2-
  [        [        R                  " SS5      5      :X  d   eX2-  [        [        R                  " SS5      5      :X  d   eX2-  [        [        R                  " [
        R                  S5      5      :X  d   eX0-   [        [        R                  " SS5      5      :X  d   eX0-
  [        [        R                  " SS5      5      :X  d   eX0-  [        [        R                  " SS5      5      :X  d   eX0-  [        [        R                  " [
        R                  S5      5      :X  d   eUS-  [        [        R                  " SS5      5      :X  d   eUS-  [        [        R                  " SS5      5      :X  d   eXD-   [        [        S	S
5      5      :X  d   eXD-
  [        [        SS5      5      :X  d   eXD-  [        [        SS5      5      :X  d   eXD-  [        [        R                  " [        * [        5      5      :X  d   eXF-   [        [        R                  " S	S
5      5      :X  d   eXF-
  [        [        R                  " SS5      5      :X  d   eXF-  [        [        R                  " SS5      5      :X  d   eXF-  [        [        R                  " [        * [        5      5      :X  d   eXE-   [        [        R                  " S	S
5      5      :X  d   eXE-
  [        [        R                  " SS5      5      :X  d   eXE-  [        [        SS5      5      :X  d   eXE-  [        [        R                  " [        * [        5      5      :X  d   eXG-   [        [        R                  " S	S
5      5      :X  d   eXG-
  [        [        R                  " SS5      5      :X  d   eXG-  [        [        R                  " SS5      5      :X  d   eXG-  [        [        R                  " [        * [        5      5      :X  d   eUS-  [        [        SS5      5      :X  d   eUS-  [        [        SS5      5      :X  d   e[        [        SS5      5      n	[        [        R                  " SS5      5      n
[        [        R                  " SS5      5      nX-  [        [        R                  " SS5      5      :X  d   eX-  [        [        SS5      5      :X  d   eX-  [        [        R                  " SS5      5      :X  d   eX-  [        [        SS5      5      :X  d   eX-  [        [        R                  " SS5      5      :X  d   eX-  [        [        R                  " [        * [        5      5      :X  d   eX
-  [        [        R                  " [        * [        5      5      :X  d   eUS-  [        [        SS5      5      :X  d   eUS-  [        [        SS5      5      :X  d   eX@-   [        [        SS5      5      :X  d   eX@-
  [        [        S	S5      5      :X  d   eX@-  [        [        S	S
5      5      :X  d   eX@-  [        [        SS5      5      :X  d   eg )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=GHQN3333=GHRO4444;'(1a.1111;'(1661"56666!8wx1~....!8wx1~....=GHMM!Q$78888=GHNN2q$9::::;'(--1"56666;'(..";<<<<=GHNN1a$89999=GHMM"a$89999;'(..A"67777;'(--":;;;;=GHNN1a$89999=GHNN2q$9::::;'(..A"67777;'(..";<<<<<78==A#67777<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=GHNN1a$89999=GHMM"a$89999;'(..A"67777;'(--":;;;;=GHNN1a$89999=GHNN2q$9::::;'(..A"67777;'(..";<<<<<78==A#67777<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=GHRO4444=GHRO4444;'(2q/2222;'(--R"89999=GHNN2q$9::::=GHNN2q$9::::;'(..Q"78888;'(.."b"9::::=GHNN2q$9::::=GHNN2q$9::::;'(2q/2222;'(--R"89999<78==Q#78888<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=GHRO4444=GHRO4444;'(2q/2222;'(2q/2222r!   c                     [        S5      u  pp#[        X5      n[        X25      n[        XE5      n[        U5      n[	        U5      R
                  [        [        [        U [	        U 5      5      U5      [        [        U [	        U 5      5      U5      5      :X  d   e[        U5      R
                  [        [        U [        U 5      5      U5      :X  d   eg )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    #JA!A>DA>D$E	Br7;;,3q6"D)3q6"D)+ + + + r7;;(6!SV#4e<<<<r!   c            
      x   [        [        SS5      5      [        [        SS5      5      -  [        [        [        * [        5      5      :X  d   e[        [        SS5      5      [        [        SS5      5      -  [        [        [        * [        5      5      :X  d   e[        [        SS5      5      [        [        SS5      5      -  [        [        [        * [        SS5      5      5      :X  d   e[        [        SS5      5      [        [        SS5      5      -  [        [        [        * [        SS5      5      5      :X  d   e[        [        SS5      5      [        [        SS5      5      -  [        [        [        SS5      [        5      5      :X  d   e[        [        SS5      5      [        [        SS5      5      -  [        [        [        * [        5      5      :X  d   eS[        [        SS5      5      -  [        [	        [        [        * S5      [        [
        R                  [        5      5      5      :X  d   eS[        [        SS5      5      -  [        [        [
        R                  [        5      5      :X  d   eS[        [        SS5      5      -  [        [        [        * [        SS5      5      5      :X  d   eS[        [        [        * S5      5      -  [        [        R                  " [        * S5      5      :X  d   eS[        [        SS5      5      -  [        [        [        * S5      5      :X  d   eg )	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                  &   [        [        SS5      5      S-  [        [        SS5      5      :X  d   e[        [        SS5      5      S-  [        [        SS5      5      :X  d   e[        [        SS5      5      S-  [        [        SS5      5      :X  d   e[        [        SS5      5      S-  [        [        SS5      5      :X  d   e[        [        SS5      5      S-  [        [        S5      5      :X  d   e[        [        SS5      5      [        SS5      -  [        [        SS[	        S5      -  5      5      :X  d   e[        [        SS5      5      S	-  [        [        [        SS
5      S5      5      :X  d   e[        [        SS5      5      S	-  [        [        S[
        5      5      :X  d   e[        [        SS5      5      S	-  [        [        [        SS5      [
        5      5      :X  d   e[        [        SS5      5      S-  [        [        [        [
        * S5      [        [        SS5      [
        5      5      5      :X  d   e[        [        SS	5      5      S-  [        [        [        SS5      [        SS5      5      5      :X  d   e[        [        SS	5      5      S	-  [        [        [        SS5      [        SS5      5      5      :X  d   e[        [        [
        * S5      5      S	-  [        [        R                  " S[
        5      5      :X  d   e[        [        S	S5      5      S	-  [        [        [        SS5      [
        5      5      :X  d   e[        [        [        SS5      [        R                  5      5      [
        -  [        [        S5      5      :X  d   e[        [        S[        R                  5      5      [
        -  [        [        S5      5      :X  d   e[        [        [        R                  S5      5      [
        -  [        [        S[
        5      5      :X  d   e[        [        SS5      5      [
        -  [        [        S[
        5      5      :X  d   e[        [        SS5      5      [
        -  [        [        [
        5      5      :X  d   e[        [        SS5      5      [
        -  [        [        S[
        5      5      :X  d   e[        [        [        R                  S5      5      [
        -  [        [        S[
        5      5      :X  d   e[        [        [        SS5      [        SS5      5      5      [
        -  [        [        S5      5      :X  d   e[        [        S[        SS5      5      5      [
        -  [        [        [
        * [
        5      5      :X  d   e[        [        SS	5      5      [
        -  [        [        [
        * [
        5      5      :X  d   e[        [        S	S5      5      [
        -  [        [        [
        * [
        5      5      :X  d   e[        [        S	[        SS5      5      5      [
        -  [        [        [
        * [
        5      5      :X  d   e[        [        [        SS5      [        R                  5      5      [
        -  [        [        S5      5      :X  d   e[        [        [        SS5      S5      5      [
        -  [        [        S[
        5      5      :X  d   e[        [        [        S	S5      S5      5      [
        -  [        [        S[
        5      5      :X  d   e[        [        SS5      5      [
        -  [        [        [
        * [
        5      5      :X  d   e[        [        S[        R                  5      5      [
        -  [        [        [
        * [
        5      5      :X  d   e[        [        SS5      5      [
        -  [        [        [
        * [
        5      5      :X  d   e[        [        S	[        R                  5      5      [
        -  [        [        [
        * [
        5      5      :X  d   e[        [        SS5      5      [        -  R                  [        [        [        [        [        [        -  5      [        SS5      5      5      5      (       d   e[        [        SS5      5      [
        * -  [        [        S5      5      :X  d   e[        [        SS5      5      [
        * -  [        [        S[
        5      5      :X  d   e[        [        SS5      5      [
        * -  R                  [        [        [        [        [        [
        * -  5      [        SS5      5      5      5      (       d   eg )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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ppr!   c                     [        [        R                  5      S-   [        [        R                  5      :X  d   e[        [        R                  5      [        -   R	                  [        [        [        [        [        [        -   5      [        R                  5      5      5      (       d   e[        [        R                  5      S-  [        [        R                  5      :X  d   e[        [        R                  5      S-  R	                  [        [        [        [        S[        -  5      [        R                  5      5      5      (       d   e[        [        R                  5      [        -  R	                  [        [        [        [        [        [        -  5      [        R                  5      5      5      (       d   e[        [        R                  5      R                  [        [        [        [        -  S-   5      5      R	                  [        [        [        [        [        [        -  S-   5      [        R                  5      5      5      (       d   e[        [        R                  5      [        -  S-   R	                  [        [        [        [        [        S-   5      [        [        [        [        [        -  5      [        R                  5      5      5      5      (       d   eg )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 9AJJ!++AbD)1::679 9 9 9 1::))&AaC!G*<=FFAbD1H-qzz:;= = = = AJJ!A%//1q5)BqD!1::.0 	1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   & 0 0 " 6 6 = E E 8  v1
3Z 	"=
>$
$
D-i3X	=DL8qv2r!   