
    [h;                         S SK r S SK 7  S SK7  S SKrS SKr \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 rS rS rS rS rS rS rS rS rS rS rg! \ a    \r NPf = f)    N)*c                  N   [        S5      [        SS5      :X  d   e[        S5      [        S5      :X  d   e[        S5      [        SS5      :w  d   e[        S5      S:X  d   e[        S5      S:w  d   e[        S5      S:X  d   e[        S5      S:w  d   e[        S5      S:w  d   eg )N   r   gh㈵>       @      @z2.0mpfmpc     S/var/www/auris/envauris/lib/python3.13/site-packages/mpmath/tests/test_basic_ops.pytest_type_comparer      s    q6S1Xq6SVq6SG_$$$q6S==q6S==q6Q;;q6U??q6U??r   c                  0   [        S5      [        S5      -   S:X  d   e[        S5      S-   S:X  d   e[        S5      S-   S:X  d   eS[        S5      -   S:X  d   eS[        S5      -   S:X  d   eS[        S5      -   S:X  d   e[        S5      [        S5      -   S:X  d   e[        S5      S-   S:X  d   e[        S5      S-   S:X  d   e[        S5      S-   S:X  d   eS[        S5      -   S:X  d   eS[        S5      -   S:X  d   eS[        S5      -   S:X  d   eg )N      @   g      @r         @        r   r   r   r   test_addr      -   s8c!f###s8a<3s8c>S   s3x<3S>S   CH###s8c!f###s8a<3s8c>S   s8t###s3x<3S>S   CH###r   c                  0   [        S5      [        S5      -
  S:X  d   e[        S5      S-
  S:X  d   e[        S5      S-
  S:X  d   eS[        S5      -
  S:X  d   eS[        S5      -
  S:X  d   eS[        S5      -
  S:X  d   e[        S5      [        S5      -
  S:X  d   e[        S5      S-
  S:X  d   e[        S5      S-
  S:X  d   e[        S5      S-
  S:X  d   eS[        S5      -
  S:X  d   eS[        S5      -
  S:X  d   eS[        S5      -
  S:X  d   eg )Nr   r   g      r         ?r   r   r   r   r   test_subr   %   s-   s8c!f$$$s8a<4s8c>T!!!s3x<3S>S   CH###s8c!f$$$s8a<4s8c>T!!!s8t$$$s3x<3S>S   CH###r   c                  0   [        S5      [        S5      -  S:X  d   e[        S5      S-  S:X  d   e[        S5      S-  S:X  d   eS[        S5      -  S:X  d   eS[        S5      -  S:X  d   eS[        S5      -  S:X  d   e[        S5      [        S5      -  S:X  d   e[        S5      S-  S:X  d   e[        S5      S-  S:X  d   e[        S5      S-  S:X  d   eS[        S5      -  S:X  d   eS[        S5      -  S:X  d   eS[        S5      -  S:X  d   eg )Nr   r   g      @r   r   r   r   r   r   test_mulr   4   r   r   c                  0   [        S5      [        S5      -  S:X  d   e[        S5      S-  S:X  d   e[        S5      S-  S:X  d   eS[        S5      -  S:X  d   eS[        S5      -  S:X  d   eS[        S5      -  S:X  d   e[        S5      [        S5      -  S:X  d   e[        S5      S-  S:X  d   e[        S5      S-  S:X  d   e[        S5      S-  S:X  d   eS[        S5      -  S:X  d   eS[        S5      -  S:X  d   eS[        S5      -  S:X  d   eg )N   r   r   r         @      @        r   r   r   r   r   test_divr   C   s)   q6CF?c!!!q6A:q6C<3s1v:Q<3CH###q6CF?c!!!q6A:q6C<3q6T?c!!!s1v:Q<3CF?c!!!r   c                  0   [        S5      [        S5      -  S:X  d   e[        S5      S-  S:X  d   e[        S5      S-  S:X  d   eS[        S5      -  S:X  d   eS[        S5      -  S:X  d   eS[        S5      -  S:X  d   e[        S5      [        S5      -  S:X  d   e[        S5      S-  S:X  d   e[        S5      S-  S:X  d   e[        S5      S-  S:X  d   eS[        S5      -  S:X  d   eS[        S5      -  S:X  d   eS[        S5      -  S:X  d   eg )Nr   r   g      k@r   r   r   r   r   r   r   r   test_powr    R   s-   q6SVu$$$q6Q;%q6S=E!!!A;%#a&=E!!!SX&&&q6SVu$$$q6Q;%q6S=E!!!q6du$$$A;%#a&=E!!!SVu$$$r   c                     S[        S5      -   [        S5      S-   s=:X  a  S:X  d   e   eS[        S5      -
  [        S5      S-
  * s=:X  a  S:X  d   e   eS[        S5      -  [        S5      S-  s=:X  a  S:X  d   e   eS[        S5      -  [        S5      S-  s=:X  a  S:X  d   e   eS[        S5      -   [        S5      S-   s=:X  a  S:X  d   e   eS[        S5      -
  [        S5      S-
  * s=:X  a  S:X  d   e   eS[        S5      -  [        S5      S-  s=:X  a  S:X  d   e   eS	[        S5      -  [        S5      S
-  s=:X  a  S:X  d   e   eg )N   r      r   r   g      ?r   r   r   )r	   r   r   r   test_mixed_miscr%   a   sN   s1v:Q!(q(((((s1v:3q6A:,",,,,,s1v:Q!(q(((((s1v:Q!(q(((((Q<3q6C<,1,,,,,Q<SVc\?0b00000Q<3q6C<,1,,,,,Q<3q6C<,1,,,,,r   c                     S[         l        [        S5      [        S5      -   S:X  d   e[        S5      [        S5      S-  -   S:X  d   e[        S	5      [        S
5      -   [        S	5      :X  d   e[        S
5      [        S	5      -   [        S	5      :X  d   e[        S5      [        S
5      -   [        S
5      :X  d   e[        S
5      [        S5      -   [        S
5      :X  d   e[        S5      S-   S:w  d   e[        S5      S-   S:X  d   e[        S5      S-   [        S5      :X  d   e[        S5      [        S5      -   [        S5      :X  d   eg )N   r#   iir"   g?P   gQ8?)r"       d(	 r   )r"    d(	 gV瞯<g#B;g@r\+`;r   )mpdpsr	   r   r   r   test_add_miscr-   k   s1   BFq6CH###q6CHRK:--- 3q6)S1A-BBBBq6C())S1A-BBBB !CF*c!f444q6C)**c!f444q6E>Qq6E>Qx=1H---q6CM!S]222r   c                      S[        S5      -   S:X  d   e[        S5      R                  S5      (       a   e[        S5      R                  S5      (       d   eg )Nr"   r   r   g      @y       @V瞯<)r
   aer   r   r   test_complex_miscr0   x   sJ    s1v:??1vyy####x=Ar   c            
          S HP  n S HG  nS H>  nS H5  n[        X5      [        X#5      -  [        X5      [        X#5      -  :X  a  M5   e   M@     MI     MR     g )N)r   r   )r   r   r   r#   )r      )r
   complex)abcds       r   test_complex_zerosr9   ~   sR    AAq8CH,WQ\0IIII    r   c                     [        SS5       H&  n [        [        U 5      5      [        U 5      :X  a  M&   e   [        [        S5      5      [        S5      :X  d   e[        [        SS5      5      [        S5      :X  d   e[        [        5      (       d   e[        [        S5      5      [        S5      :w  d   e[        [        S	S5      5      [        [        S
S5      5      :w  d   eSSKJn  [        [        R                  SS5      5      (       d   e[        [        R                  SS5      5      S:X  d   e[        [        R                  SS5      5      [        S5      :X  d   e[        [        R                  SS5      5      [        S5      :X  d   e[        [        R                  SS5      5      [        S5      :X  d   e[        [        R                  SS5      5      [        S5      :X  d   e[        R                  S:  a`  [        [        S5      SS-  -  5      [        SS-  5      :X  d   e[        [        S5      SS-  -  5      [        U" SSS-  5      5      :X  d   eg g )Ni    r   r   r   y       @      @1e10001e10000d      r   mpqr"   r3   r   r   i  )
rangehashr	   r
   infmpmath.rationalrA   r+   sysversion_info)irA   s     r   	test_hashrK      s   4CF|tAw&&& C>T#Y&&&Aa>T$Z'''999H$y/111C!"d3s8+<&====#qq!!!r!b)))qQ'''qQ'''qS	)))
6!CF1d7N#tAtG}444CF1d7N#tC!T'N';;;; "r   c            	         S[         l        [        S5      n [        [	        [
        U S[        5      [
        S[        5      [        S5      :X  d   e[        [
        U S[        5      [
        :X  d   e[        [
        [        [
        U S[        5      S[        5      [        S5      :X  d   e[	        [
        U S[        5      [
        :X  d   eg )Nr'   gJz55   g      <g      <)r+   r,   
from_floatmpf_submpf_addfoneround_up
round_down)r5   s    r   test_add_roundingrT      s    BF5A74B14XF*UkJllll4B)T1114q"j92zJjYoNpppp4B
+t333r   c                     [        S5      R                  [        S5      S5      (       d   e[        S5      R                  [        S5      S5      (       a   e[        S5      R                  [        S5      5      (       a   eg )Ng333333?ge533?gHz>g&.>gKugX͈N)r	   r/   r   r   r   test_almost_equalrV      sf    s8;;s:----3x{{3z?D1111&'**3/A+BCCCCCr   c            
         SS K n U R                  [        4U R                  [        4U R
                  [        4U R                  [        4/n[        S5      n[        S5      n[        S5      n[        S5      nX#XE4 H  nX#XE4 H  nU H  u  pU	[        La  S[        l        U" Xg5      n
S[        l        U" Xg5      nS[        l        U" Xg5      nU	" XgSS	9U:X  d   eU	" Xg5      U:X  d   eU	[        La/  U	" Xg[        S	9W
:X  d   eU	" Xg[        S
9U
:X  d   eU	" XgSS9U
:X  d   e[        [        USS9[        S	9U:X  d   e[        U5      U7* :X  a  M   e   M     M     S[        l        g )Nr   gHzG?gGz?yRQ?HzG@yHzG?Gzr?   <   rM   prec)r,   Texactr'   )operatoraddfaddsubfsubmulfmultruedivfdivr	   r
   r+   rZ   rF   fnegr,   )r]   opsr5   r6   r7   r8   xyopfopz0z1z2s                r   test_arithmetic_functionsro      se   LL$(,,!5d7K			4 "CD	AD	AJAJA!YaAd?!BGABWW1b)R///1yB&d?q#."444q-333q40B666D40s;rAAABxbS6)))   $ BFr   c            
         [         R                  " S5        S GH  n S GH  nU [        l        SU S-
  -  nSU S-  S-
  -  n[	        S5       GH\  n[         R
                  " U* U5      n[         R
                  " U* U5      n[        XQS9U:X  d   e[        [        XQS95      U:X  d   e[        [        [        U5      US95      U:X  d   e[        U5      [        U5      -   XV-   :X  d   e[        U5      [        U5      -
  XV-
  :X  d   e[        U5      * U* :X  d   e[         R
                  " U* U5      n[         R
                  " U* U5      n[        U5      [        U5      -  XV-  :X  d   e[        [        U5      [        U5      [        R                  U5      [        XV-  5      :X  a  GM]   e   GM     GM     S[        l        g )Nr   )r   
      (   r>      i  )r8   ufr7   nrq   r   )roundingr'   )randomseedr+   r,   rD   randintr	   intstrmpf_mulfrom_intrZ   )rZ   rx   MM2rJ   r5   r6   s          r   test_exact_integer_arithmeticr      s   
KKN.1HBFT!VAdAgaiB2YNNA2q)NNA2q)10A5553q45:::3s1v9:a???1vA!%///1vA!%///Aw1"}$}NNB3+NNB3+1vA!#---x{HQK(KxXYX[}\\\ 	 2 /$ BFr   c                  B    [        [        S5      [        5      S:X  d   eg )Nr   )to_intr   round_nearestr   r   r   test_odd_int_bugr      s    (1+}-222r   c                      S[         l        [        [        S5      S-  5      SS SS S :X  d   e[        [        5      SS SS S :X  d   eS	[         l        g )
Ni  r   r   rB   
9518488472	   
2164201989r'   r+   r,   r}   r	   pir   r   r   test_str_1000_digitsr      sX    BFs1vs{C#|BQ'7777r73r?l2A....BFr   c                      S[         l        [        [        S5      S-  5      SS SS S :X  d   e[        [        5      SS SS S :X  d   eS	[         l        g )
Ni'  r   r   r   rB   
5873258351r   
5256375678r'   r   r   r   r   test_str_10000_digitsr      sX    BFs1vs{C#|BQ'7777r73r?l2A....BFr   c                      S n / n/ n[        XR                  UR                  5      nU" S5      S:X  d   eU" S5      S:X  d   eUS   S0 4:X  d   eUS   S:X  d   eg )Nc                     U S-  $ )Nr   r   )rh   s    r   <lambda>test_monitor.<locals>.<lambda>   s    !Q$r   r   r   r#      r   )r   )monitorappend)rv   r5   r6   gs       r   test_monitorr      sk    A
A
A88QXX&AQ4199Q42::Q4D":Q4199r   c                     [        [        S5      5      S[        * 4:X  d   e[        [        S5      5      S[        * 4:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S	:X  d   e[        [        S
5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S	:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S[        * 4:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   eg )Ng)r   r   gGz)r   g5^I)r   ig9m4 )r   ig333333gQgˡEg):y      ?y      {Gz?y?yGz{Gz?y5^IMbP?r   g{Gz?)r   r   z1e-100)r   i)nint_distancer	   rF   r
   r   r   r   test_nint_distancer      s   R!b3$Z///R!b3$Z///T#x///U$000V%111W&)333T#x///U$000V%111W&)333W&(222X'8333Y(H444[)*h666]+,888Q QI---T#w...X'9444r   c                  z
   S[         l        [        SS5       H  n [        U 5      U :X  d   e[        U S-   5      U :X  d   e[	        U 5      U :X  d   e[	        U S-   5      U S-   :X  d   e[        U 5      U :X  d   eU S-  S:X  a  [        U S-   5      U S-   :X  d   eM  [        U S-   5      U :X  a  M   e   [        [        5      [        :X  d   e[        [        5      [        :X  d   e[        [        [        5      5      (       d   e[	        [        5      [        :X  d   e[	        [        5      [        :X  d   e[        [	        [        5      5      (       d   e[        [        5      [        :X  d   e[        [        5      [        :X  d   e[        [        [        5      5      (       d   e[        S5      S:X  d   e[        S	5      S:X  d   e[        S
5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[	        S5      S:X  d   e[	        S	5      S:X  d   e[	        S
5      S:X  d   e[	        S5      S:X  d   e[	        S5      S:X  d   e[	        S5      S:X  d   e[	        S5      S:X  d   e[	        S5      S:X  d   e[	        S5      S:X  d   e[	        S5      S:X  d   e[	        S5      S:X  d   e[	        S5      S:X  d   e[        S5      S:X  d   e[        S	5      S:X  d   e[        S
5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[	        S5      S:X  d   e[        S5      S:X  d   e[        SS5       H  n [        U 5      S:X  a  M   e   [        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S 5      S!:X  d   e[        S"5      S!:X  d   e[        S#5      S!:X  d   e[        S$5      S:X  d   e[        S%5      n[        U5      U:X  d   e[        U* 5      S:X  d   e[        S&5      n[        U* SS'9[        SUS(S)9:X  d   e[        S*5      S+:X  d   eg ),Nr'   r   rq   r   r"   r   g?r   g?grB   gg  _Br)   g33 _Bg  _ld(	 g33 _g0.++g0.+g}Ô%ITg}Ô%Il   d(	 r*   y	@ffffff@      @      @y      @      @y      @      @g      ?g      ?g      @g      пg      ?g      g      1e100000000000000z1e-100000000000000z1e-400rY   Tr[   y      
@      @y      ?      ?)r+   r,   rD   floorceilnintrF   ninfisnannanfracr	   ra   )rw   ru   s     r   test_floor_ceil_nint_fracr   
  s"   BF3r]Qx1}}QsU|q   Aw!||AcE{ac!!!Aw!||q5A:#;!A#%%%#;!###  :;$s9:c9:c:??:??;";";...;... N222 N222=A>R<5   =F"""9>>9>>:??:??-///-///<///<///<1=A;%<6!!!9>>9>>:??:+----///<///>111<1=A;%<6!!!?d""">T!!!>T!!!3r]Aw!|| :::;$;$;$#$))) !A7a<<8q==HAtAq5555
z)))r   c                  X   SSK Jn   [        [        5      S:X  d   e[        S5      S:X  d   e[        [	        S5      5      S:X  d   e[        [
        5      S:X  d   e[        [        S[        5      5      S:X  d   e[        [        S[        5      5      S:X  d   e[        [        [        [        5      5      S:X  d   e[        [        SS5      5      S:X  d   e[        [        [        [
        5      5      S:X  d   e[        [        [
        [
        5      5      S:X  d   e[        U " S5      5      S:X  d   e[        U " S5      5      S:X  d   e[        [
        5      S:X  d   e[        [
        * 5      S:X  d   e[        S5      S:X  d   e[        [        5      S:X  d   e[        S	5      S:X  d   e[        [        [
        5      5      S:X  d   e[        [        S[
        5      5      S:X  d   e[        [        [
        S5      5      S:X  d   e[        [        [
        [
        5      5      S:X  d   e[        [        [        [
        5      5      S:X  d   e[        [        [
        [        5      5      S:X  d   e[        [        [        [        5      5      S:X  d   e[        U " S5      5      S:X  d   e[        U " S5      5      S:X  d   e[        S5      S:X  d   e[        S
5      S:X  d   e[        [	        S
5      5      S:X  d   e[        S5      S:X  d   e[        [	        S5      5      S:X  d   e[        S5      S:X  d   e[        [
        5      S:X  d   e[        [
        * 5      S:X  d   e[        [        5      S:X  d   e[        [        [
        5      5      S:X  d   e[        [        SS5      5      S:X  d   e[        [        SS5      5      S:X  d   e[        [        SS5      5      S:X  d   e[        [        SS5      5      S:X  d   e[        [        S[        5      5      S:X  d   e[        [        S[
        5      5      S:X  d   e[        [        S[        5      5      S:X  d   e[        [        S[
        5      5      S:X  d   e[        [        S[
        * 5      5      S:X  d   e[        [        [        S5      5      S:X  d   e[        [        [
        S5      5      S:X  d   e[        [        [        S5      5      S:X  d   e[        [        [
        S5      5      S:X  d   e[        [        [
        [        5      5      S:X  d   e[        [        [        [
        5      5      S:X  d   e[        [        [        [        5      5      S:X  d   e[        [        [
        [
        5      5      S:X  d   e[        U " S5      5      S:X  d   e[        U " S5      5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [	        S5      5      S:X  d   e[        [	        S5      5      S:X  d   e[        [	        S5      5      S:X  d   e[        [	        S5      5      S:X  d   e[        S5      S:X  d   e[        [        5      S:X  d   e[        [
        5      S:X  d   e[        [
        * 5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S[
        5      5      S:X  d   e[        [        [
        5      5      S:X  d   e[        [        SS5      5      S:X  d   e[        [        SS5      5      S:X  d   e[        [        SS5      SS9S:X  d   e[        [        SS5      SS9S:X  d   e[        [        SS5      SS9S:X  d   e[        S	5      S:X  d   e[        S	SS9S:X  d   e[        S5      S:X  d   e[        U " S5      5      S:X  d   e[        U " S5      5      S:X  d   e[        U " S5      5      S:X  d   e[        U " S5      5      S:X  d   e[        U " S5      5      S:X  d   e[        U " S5      5      S:X  d   e[        R                  S5      S:X  d   e[        R                  S5      S:X  d   e[        R                  S5      S:X  d   e[        R                  S5      S:X  d   e[        R                  S5      S:X  d   e[        R                  [        R                  SS5      5      S:X  d   e[        R                  [        R                  SS5      5      S:X  d   e[        R                  [        R                  SS5      5      S:X  d   e[        R                  [        R                  SS5      5      S:X  d   e[        R                  [        R                  SS5      5      S:X  d   e[        R                  S5      S:X  d   e[        R                  S5      S:X  d   e[        R                  S5      S:X  d   e[        R                  S5      S:X  d   e[        R                  S5      S:X  d   eg )Nr   r@   Tr   Fr   rC   )r   r"   r   g      @g        r   g	@)gaussianr   )r   r   )r   r   r2   )r"   r"   )rB   r"   r"   rB   gg      y                y              y        y      𿚙?y        ?)rG   rA   r   r   r	   rF   r
   isinfisnormalfloatisintlongr+   isnpintr@   s    r   test_isnan_etcr   W  s	   #:8uQ=E!!!:Qs$$$Qs$$$S$&&&Qq?e###S$&&&S%'''U%%%U%%%:#;$8u:;%S?d"""Qs$$$S$$$S$&&&S$&&&S$&&&S%'''U%%%U%%%A;$C=D   CH%%%A;%CFu$$$C=E!!!C=E!!!SD>U"""C=E!!!E#J5(((C!H&&&C!H%%%C!H%%%C!H%%%C#J5(((C#J5(((C#J5(((C#J5(((C3$K E)))CAJ5(((CAJ5(((CAJ5(((CAJ5(((CCL!U***CCL!U***CCL!U***CCL!U***CJ4'''CJ5(((8t8ta>T!!!a>T!!!Q=D   Q=D   R>T!!!S?e###:::#;%Q=D   Q=D   S?e###Qs%%%S?e###Qq?e###Qq?e###Qq4(D000Qq4(D000Qq4(D000;%%---;$U%%%U%%%U$$$U$$$U$$$V%%%::a=D   ::a=E!!!::b>T!!!::du$$$::dt###::bffQqk"e+++::bffRl#u,,,::bffRl#t+++::bffQqk"d***::bffQqk"e+++::dt###::e$$$::g%'''::g%'''::f&&&r   c                      [        [        5      [        S5      :X  d   e[        [        5      [        S5      :X  d   e[        [        5      R                  [        S5      R                  :X  d   eg )NrF   z-infr   )r	   finffninffnan_mpf_r   r   r   test_issue_438r     sN    t9E
"""u:V$$$t9??c%j.....r   )mpmathmpmath.libmpry   rH   r   	NameErrorr|   r   r   r   r   r   r    r%   r-   r0   r9   rK   rT   rV   ro   r   r   r   r   r   r   r   r   r   r   r   r   <module>r      s        
D$$$"%-3J<,4D
8.35(K*Zf'R/o  Ds   A   A+*A+