
    \hJ#                     F    S SK Jr  S SKJr  S rS rS rS rS rS r	S	 r
g
)    interval)raisesc                     [        SS5      [        SSSS9:H  S:X  d   e[        SS5      [        SSSS9:H  S:X  d   e[        SS5      [        SSS S9:H  S:X  d   e[        SS5      [        SS	5      :H  S
:X  d   e[        SS5      [        S	S5      :H  S:X  d   e[        SS5      [        SS	5      :H  S
:X  d   e[        SS	5      [        SS	5      :g  S:X  d   e[        SS5      [        S	S5      :g  S
:X  d   e[        SS5      [        SS5      :g  S:X  d   e[        SSSS9[        SS5      :g  S:X  d   e[        SSS S9[        SS5      :g  S:X  d   e[        SS5      S:g  S:X  d   e[        SS5      S:H  S:X  d   e[        SSSS9[        SS5      :H  S:X  d   e[        SSS S9[        SS5      :H  S:X  d   e[        SS5      n [        U 5      [        SS5      :H  S:X  d   eU R                  S:X  d   eSU ;   d   eSU ;   d   eSU ;   d   e[        SS5      U ;   d   e[        SS	5      U ;  d   eSU ;  d   eSU ;  d   e[        [        S5      * [        S5      5      nSU ;   d   eX;   d   e[        S[        S5      5      U;   d   e[        [        S5      * S5      U;   d   e[        SS5      U;   d   e[        SSSS9* [        SS	5      :H  S:X  d   e[        [        S 5        g )N   Tis_validTTFTFTN      ?   NTr      FT)NN      
   ig333333g333333@infgd~Qgd~QJc                      [        SSS5      $ )Nr   r   r   r        k/var/www/auris/envauris/lib/python3.13/site-packages/sympy/plotting/intervalmath/tests/test_intervalmath.py<lambda>test_interval.<locals>.<lambda>(   s    x1a0r   )r   widthfloatr   
ValueError)interinterbs     r   test_intervalr%      s8   QNhq!d;;LLLQNhq!e<<NNNQNhq!d;;LLLQA.<???QNhq!n,>>>QNhq!n,===QNhq!n,>>>QNhq!n,===QNhr2..<???A&(2r*::}M M MQD)Xb!_<MMMQNaM111QNaL000QE*hq!n<NNNQD)Xa^;LLLROEUOxA.<???;;"::;;::Aq>U"""B?%'''euU|mU5\2F::??AuU|$...U5\M1%///E4 F***	"b5	))Xa^;N N N
:01r   c                     [        SS5      [        SS5      -   [        SS5      :H  S:X  d   eS[        SS5      -   [        SS5      :H  S:X  d   e[        SS5      S-   [        SS5      :H  S:X  d   eS[        S[        S5      5      -   [        S[        S5      5      :H  n U S:X  d   eS[        SSSS	9-   nUR                  SL d   eS[        SSS S	9-   nUR                  b   e[        SSSS	9[        SSS S	9-   nUR                  SL d   e[        SS5      [        S
SS S	9-   nUR                  b   e[        SSSS	9S-   nUR                  SL d   eg )Nr   r   r   r   r
   r   r   Fr   r   r   r!   r	   )compareas     r   test_interval_addr*   +   sk   QNXa^+x1~=,NNNA(1a.0\AAAQNQ(1a.0\AAA8AuU|,,E%L0IIGl"""	HQE**A::	HQD))A::A&!Q)FFA::A"a$77A::A&*A::r   c                     [        SS5      [        SS5      -
  [        SS5      :H  S:X  d   e[        SS5      S-
  [        SS5      :H  S:X  d   eS[        SS5      -
  [        SS5      :H  S:X  d   eS[        SSSS	9-
  n U R                  SL d   e[        SS
S S	9S-
  n U R                  b   e[        SSSS	9[        SS5      -
  n U R                  SL d   e[        SSS S	9[        SS5      -
  n U R                  b   eg )Nr   r   r   r
   r   r   Fr   r   r   r   r	   r)   s    r   test_interval_subr/   =   s   QNXa^+xA><OOOQNQ(1a.0\AAAA(2q/1lBBB	HQE**A::A%)A::A&!Q7A::A%A6A::r   c                     [        SS5      [        SS5      :  S:X  d   e[        SS5      [        SS5      :  S:X  d   e[        SS5      [        SS5      :  S	:X  d   e[        SS5      [        SS5      :*  S:X  d   e[        SS5      [        S
S5      :*  S:X  d   e[        SS5      [        SS5      :*  S:X  d   e[        SS5      [        SS
5      :*  S	:X  d   e[        SSSS9[        SS5      :*  S:X  d   e[        SSS S9[        SS5      :*  S:X  d   e[        SS5      S
:*  S:X  d   e[        SS5      S:*  S:X  d   e[        SS5      S:*  S	:X  d   e[        SS5      [        SS5      :  S:X  d   e[        SS5      [        SS5      :  S:X  d   e[        SS5      [        SS5      :  S	:X  d   e[        SS5      S:H  S:X  d   e[        SS5      S:H  S	:X  d   e[        SS5      S:g  S:X  d   e[        SS5      S:g  S:X  d   e[        SS5      S:  S:X  d   e[        SS5      S:  S	:X  d   e[        SS5      S:  S:X  d   e[        SS5      S:  S:X  d   e[        SS5      S:  S	:X  d   e[        SS5      [        SS5      :  S:X  d   e[        SS5      [        SS
5      :  S:X  d   e[        SS5      [        SS5      :  S	:X  d   e[        SS5      S:  S:X  d   e[        SS5      S:  S:X  d   e[        SS5      S:  S	:X  d   eS[        SS5      :  S:X  d   e[        SSSS9[        SSS S9:  n U S:X  d   e[        SSS S9[        SSSS9:  n U S:X  d   e[        SSS S9[        SSS S9:  n U S:X  d   e[        SSSS9[        SSS S9:  n U S:X  d   e[        SSS S9[        SSSS9:  n U S:X  d   e[        SSS S9[        SSS S9:  n U S:X  d   eg )Nr   r   r   r   r
   r   r   r   r   r      Fr   )FF)FNr      g@r   g333333?r   r   r   r   r.   s    r   test_interval_inequalityr3   K   sr   QNXa^+<<<QNXa^+<<<QNXb!_,>>>QNhq!n,===QNhsA..<???QNhq!n,===QNhq#..=@@@A&(2q/9nM M MQD)Xb!_<NNNQNc!l222QNaL000QNaM111QNXa^+<<<QNXa^+<<<QNXc1---???ROq \111ROq ]222ROq \111ROq \111QNQ<///QNQ=000QNQ<///QNQ<///QNQ=000QNhq!n,===QNhq#..<???QNhq!n,>>>QNaL000QNc!l222QNaM111A<///Q'(1a$*GGAQ&!Q)GGAQ&!Q)FFAQ'(2rD*IIAQ&"b5)IIAQ&"b4)HHAr   c                  d   [        SS5      [        SS5      -  [        SS5      :H  S:X  d   e[        SS5      [        SS5      -  [        SS5      :H  n U S:X  d   e[        SS5      [        S	S
5      -  [        S	S5      :H  n U S:X  d   e[        SS
5      S-  [        SS5      :H  S:X  d   eS
[        SS5      -  [        SS5      :H  S:X  d   eS
[        SSSS9-  n U R                  SL d   eS
[        SSS S9-  n U R                  b   e[        SSSS9[        SSS S9-  n U R                  SL d   eg )Nr   r   r   r   2   r
   r   ir   r   r1   r   Fr   r-   r.   s    r   test_interval_mulr6   |   sR   A!R(HQO;M M MQ(1b/)Xc2->>AQ(2q/)Xb!_<AQNQ(1a.0\AAAQ8B?2|CCC	HQE**A::	HQD))A::A&!Q)FFA::r   c                  ^   [        SSSS9S-  n U [        [        S5      * [        S5      SS9:X  d   e[        SSS S9S-  n U [        [        S5      * [        S5      S S9:X  d   eS[        SSS S9-  n U [        [        S5      * [        S5      S S9:X  d   e[        SS5      S-  nUR                  SL d   e[        SS5      [        S	S5      -  nUR                  b   e[        SS5      [        SS5      -  nUR                  b   e[        S	S5      [        S	S5      -  nUR                  b   e[        S	S5      [        SS5      -  [        S
S5      :H  nUS:X  d   e[        SS5      [        SS5      -  [        SS5      :H  nUS:X  d   e[        S	S5      [        SS5      -  [        S
S5      :H  nUS:X  d   e[        SS5      [        SS5      -  [        SS5      :H  nUS:X  d   e[        SS5      [        SS5      -  [        SS5      :H  nUS:X  d   e[        SS5      [        SS5      -  [        SS5      :H  nUS:X  d   e[        S	S5      [        SS5      -  [        S
S5      :H  nUS:X  d   e[        SS5      [        SS5      -  [        SS5      :H  nUS:X  d   e[        S	S5      [        SS5      -  [        SS5      :H  nUS:X  d   e[        SS5      [        SS5      -  [        S
S5      :H  nUS:X  d   e[        S	S5      [        SS5      -  [        SS5      :H  nUS:X  d   e[        SS5      [        SS5      -  [        SS5      :H  nUS:X  d   e[        SS5      [        SS5      -  [        S
S5      :H  nUS:X  d   e[        SS5      [        SS5      -  [        SS5      :H  nUS:X  d   e[        S	S5      [        SS5      -  [        SS5      :H  nUS:X  d   e[        SS5      [        SS5      -  [        SS5      :H  nUS:X  d   e[        SSSS9S-  nUR                  SL d   eg )Nr   r   Fr   r   r   r   g      ?r   g       g      @r
   g        g       @      g      пg      r          @r,   g       r   g      g      ?g      ?      ?r   r   r'   )divr)   s     r   test_interval_divr<      sr   
1a%
(1
,C(E%L=%,GGGG
1a$
'!
+C(E%L=%,FFFF
hq!d+
+C(E%L=%,FFFFAA::a8B?*A::A!Q'A::Q(2q/)A::Q(3**htS.AAAA#q))Xc3-??AQ(3**htS.AAAua 00HT54IIAa8C++xS/AAAa8C++xS/AAATXc1--$1EEATXc1--$1EEAQ(2t,,s0CCAA"d++xc/BBAQ(2t,,c0BBAuT 22huc6JJAa8B--$1FFAa8B--$1FFATXb$//8D#3FFATXb$//8D#3FFAQ'!+A::r   c                      [        [        SS5      5        [        [        SSSS95        [        [        SS5      5        [        [        SS5      5        [        [        SS5      5        g	)
a  
test that interval objects are hashable.
this is required in order to be able to put them into the cache, which
appears to be necessary for plotting in py3k. For details, see:

https://github.com/sympy/sympy/pull/2101
https://github.com/sympy/sympy/issues/6533
r   Tr   r,   r8   r   r:   r9   N)hashr   r   r   r   test_hashabler?      sP     	!Q!Q	&'"d	"d	$	r   N)sympy.plotting.intervalmathr   sympy.testing.pytestr   r%   r*   r/   r3   r6   r<   r?   r   r   r   <module>rB      s1    0 '#2L$.b,4lr   