
    [h                     v    S SK 7  S SKJrJr  S SKJrJrJr  \\	\
\\/r\r\r\rS rS rS rS rS rS	 rS
 rg)    )*)mpfmp)randintchoiceseedc                     [        S5      n [        S5      n[        S5      n[        XS[        5      [        S5      :X  d   e[        XS[        5      [        S5      :X  d   e[        XS[
        5      [        S5      :X  d   e[        XS[        5      [        S5      :X  d   e[        XS[        5      [        S5      :X  d   e[        X!S[        5      [        S5      :X  d   e[        X!S[        5      [        S5      :X  d   e[        X!S[
        5      [        S5      :X  d   e[        X!S[        5      [        S5      :X  d   e[        X!S[        5      [        S5      :X  d   eg 	N         z
0.01010101z
0.01010110z-0.01010110z-0.01010101)fimpf_divround_floorfbround_ceiling
round_downround_upround_nearestabcs      R/var/www/auris/envauris/lib/python3.13/site-packages/mpmath/tests/test_division.pytest_div_1_3r      s9   
1A
1A
2A 1K(b.>>>>1M*b.>>>>1J'b.>>>>1H%b.>>>>1M*b.>>>> 1K(b.????1M*b.????1J'b.????1H%b.????1M*b.????    c                     Sn [        S5      nSn[        XS[        5      [        S5      :X  d   e[        XS[        5      [        S5      :X  d   e[        XS[
        5      [        S5      :X  d   e[        XS[        5      [        S5      :X  d   e[        XS[        5      [        S5      :X  d   e[        X!S[        5      [        S5      :X  d   e[        X!S[        5      [        S5      :X  d   e[        X!S[
        5      [        S5      :X  d   e[        X!S[        5      [        S5      :X  d   e[        X!S[        5      [        S5      :X  d   eg r
   )r   mpf_rdiv_intr   r   r   r   r   r   r   s      r   test_mpf_divi_1_3r        s-   	A
1A
Aa-2l3CCCCa/2l3CCCCa,2l3CCCCa*2l3CCCCa/2l3CCCCa-2m3DDDDa/2m3DDDDa,2m3DDDDa*2m3DDDDa/2m3DDDDr   c                     [        S5      n [        S5      n[        S5      n[        S5      n[        XS[        5      [        S5      :X  d   e[        X S[        5      [        S5      :X  d   e[        X0S[        5      [        S5      :X  d   e[        XS[        5      [        S5      :X  d   e[        X S[        5      [        S5      :X  d   e[        X0S[        5      [        S5      :X  d   e[        XS[        5      [        S5      :X  d   e[        X S[        5      [        S5      :X  d   e[        X0S[        5      [        S5      :X  d   e[        S5      n[        S	5      n[        S
5      n[        XS[        5      [        S5      :X  d   e[        X S[        5      [        S5      :X  d   e[        X0S[        5      [        S5      :X  d   eg )Ni@B iDi Di!D	   i,  i-  i_i`iai.  )r   r   r   r   r   )qr   r   r   s       r   test_div_300r$   0   s   
7A
9A
9A
9A 1J'2c72221J'2c72221J'2c72221H%C0001H%C0001H%C000 1M*bg5551M*bg5551M*bg555 	9A
9A
9A1M*bg5551M*bg5551M*bg555r   c            
         Sn [        S5        [        U 5       H  n[        SS/5      [        SS[        SS5      -  5      -  n[        SS/5      [        SS[        SS5      -  5      -  nX#-  n[	        [        U5      5      [        U5      -
  n[        U5      n[        U5      n[        U5      n[         H  n[        XBXV5      U:X  a  M   e   M     g )Nd   r   r   
   )
r   ranger   r   bitcountabstrailingr   	all_modesr   )Nir   r   pwidthmodes          r   test_tight_integer_divisionr2   N   s    AG1XAr7OgaGB,<)<==Ar7OgaGB,<)<==EQ 8A;.qEr!u1"Q%aD1-222  r   c                     [        S5      n [        S5      n[        XS[        5      n[        X![	        U S   5      [        5      U :X  d   e[        X!S[
        5      [        S5      :X  d   e[        X!S[
        5      [        S5      :X  d   e[        X!S[        5      [        S	5      :X  d   e[        X!S[        5      [        S
5      :X  d   e[        X!S[        5      [        S5      :X  d   e[        X!S[        5      [        S5      :X  d   e[        X!S[        5      [        S	5      :X  d   e[        X!S[        5      [        S
5      :X  d   e[        S5      n [        S5      n[        XS[        5      n[        X![	        U S   5      [        5      U :X  d   e[        X!S[
        5      [        S5      :X  d   e[        X!S[        5      [        S5      :X  d   e[        X!S[        5      [        S5      :X  d   e[        X!S[        5      [        S5      :X  d   e[        X!S[        5      [        S5      :X  d   e[        X!S[        5      [        S5      :X  d   eg )Nz0.101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001z1.10101   r      z0.10r   z0.101z0.11z0.110z-0.101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001z-0.10z-0.110z-0.11z-0.101)r   mpf_mulr   r   r)   r   r   r   r   s      r   test_epsilon_roundingr7   \   s    	$%A
9Ac;'A1!A$5:::1J'2f:5551J'2g;6661H%F3331H%G4441K(BvJ6661K(BwK7771M*bj8881M*bk999 	%&A
9Ac;'A1!A$5:::1J'2g;6661H%H555 1K(BwK7771K(BxL8881M*bk9991M*bl:::r   c                     S[         l        [        S5      S-  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5      S	-  S:X  d   e[        S5      S
-  S:X  d   e[        S5      S-  S:X  d   e[        S5      S-  [        S5      :X  d   eS[        S5      -  S:X  d   eg )N      r   r         g      ?g    @g    g    g      пg    @1e10000000000z1.23e-1000000000r   z1.75g      ?r   dpsr    r   r   test_modrB   ~   s    BFs8a<1r7S=Ct9w$&&&t9x9,,,u:8+++u: E)))!#q(((!"Q&#.@*AAAAs6{?d"""r   c                      S[         l        S[        S5      -  [        S5      :X  d   e[        S5      [        S5      -  [        S5      :X  d   eg )Nr9   r;   z0.1531879017645047z-19.583791966887116z-2.6342475750861301z0.35126216427941814z-7.4993775104985909r?   rA   r   r   test_div_negative_rnd_bugrD      sM    BF#*++s3H/IIII$%,A(BBcJ_F````r   N)mpmath.libmpmpmathr   r   randomr   r   r   r   r   r   r   r   r,   	from_bstrr   from_intr   
from_floatffr   r    r$   r2   r7   rB   rD   rA   r   r   <module>rL      sW      ( (-X}M	@&E 6<3;D#ar   