
    0hh                     n    S SK r S SKr " S S\R                  5      r\S:X  a  \R
                  " 5         gg)    Nc                   D    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)PowTest   c                    U[         :w  Ga  [        SS5       H  nU R                  [        U" U5      S5      S5        U R                  [        U" U5      S5      U" U5      5        U R                  [        U" S5      S5      U" S5      5        U R                  [        U" S5      S5      U" S5      5        M     [        SS5       H*  nU R                  [        U" U5      S5      X"-  U-  5        M,     Sn[        SS5       H,  nU R                  [        S	U5      U5        US
:w  d  M'  US	-  nM.     [	        [        SS5      5      [	        [        SS5      5      -    HO  nU" U5      n[        US5      n[        SS5       H(  nU R                  [        XF5      [        XV* 5      5        M*     MQ     [        [         4 HM  n[        SS5       H:  nU" S5      nU" US-  5      * n	U	S:X  a  M  U R                  [        [        X5        M<     MO     Su  pSu  pSu  pU R                  nU[         :X  a  Sn
U R
                  nOU[        :X  a  SnOU[        :X  a  Su  p[        XS-   5       H  n[        XS-   5       H  n[        XS-   5       Hs  nUS:w  d  M  U[         :X  d  US:  a%  U R                  [        [        U" U5      UU5        M@  U" [        U" U5      UU5      [        U" U5      U5      U" U5      -  5        Mu     M     M     g )Ni  r      id               
   g      $@)i   )   )r   r   )r      )
floatrangeassertEqualpowlistassertAlmostEqualintassertRaisesZeroDivisionError	TypeError)selftypeipow2iiinvjj	othertypezeroexpilihjljhklkhasseqjks                      6/opt/python-3.13.8/usr/lib/python3.13/test/test_pow.pypowtestPowTest.powtest   s   5=5$'  T!Wa!4  T!Wa$q':  T!Wa$q':  T!Wa$q':	 ( 4%  T!Wa!#a%8 & D1b\  QD17DFT " %Q-(4a+==!W"bkQ-B**3r;CF ( > eI1c]Aw 4((!8!!"3S$D # $   5=B**ES[BS[FBra4A2!t_ra4AAv5=AE --id1gq!L$Q!,QNDG3 ) % !    c                 .    U R                  [        5        g N)r3   r   r   s    r2   test_powintPowTest.test_powint;   s    Sr5   c                 .    U R                  [        5        g r7   )r3   r   r8   s    r2   test_powfloatPowTest.test_powfloat>   s    Ur5   c                 d   U R                  [        SS5      S-  [        SSS5      5        U R                  [        SS5      S-  [        SSS5      5        U R                  [        SS5      S-  [        SSS5      5        U R                  [        SS5      S-  [        SSS5      5        U R                  [        SS5      S-  [        SSS5      5        U R                  [        SS5      S-  [        SSS5      5        U R                  [        SS5      S-  [        SSS5      5        U R                  [        SS5      S-  [        SSS5      5        U R                  [        SS5      S-  [        SSS5      5        U R                  [        SS5      S-  [        SSS5      5        U R                  [        SS5      S-  [        SSS5      5        U R                  [        SS5      S-  [        SSS5      5        [        SS	5       H  n[        S
S5       H  n[        SS	5       H  nUS
:  a.  US
:w  a(  U R                  [        X5      U-  [        XU5      5        US
:  d  M?  US
:w  d  MG  U R                  [        [        U5      U5      U-  [        [        U5      X#5      5        M     M     M     g )Nr
      ir   r   r      r      i)r   r   r   r   )r   r!   r0   r1   s       r2   
test_otherPowTest.test_otherA   s5   QqAs1Qqz2QqBAa4QqBAa4RQBq4RRR"6QqBAa4QqAs1Qqz2QqBAa4QqBAa4RQBq4RRR"6QqBAa4sBA1a[r2AAv!q&((HqLAJ Av!q&((AqMA-AqO ' !  r5   c                 b   SS K nU R                  [        SS5      SS-  5        Sn[        S5       H  nUR	                  SS5      nUR	                  SS5      nUR	                  SUS-
  -  SU-  5      nUR	                  SU5      nXg-
  n[        XFU5      n	[        XGU5      [        XHU5      -  U-  n
X:w  a%  U R                  S	US
 SUS
 SUS
 SU	S
 SU
S
 3
5        [        XGU-  U5      n[        [        XGU5      X5      nX:w  d  M  U R                  S	US
 SUS
 SUS
 SUS
 SUS
 3
5        M     g )Nr   r   iP  r   l   'J)r   r   i@B za=xz b1=z b2=z got1=z got2=z got3=z got4=)randomr   r   r   	randrangefail)r   rH   primer!   abpowerbb1b2got1got2got3got4s                r2   test_big_expPowTest.test_big_exp_   sP   QU
3 rA  w/A%%dE2F  vz!2AK@A!!!Q'BBqU#Dqe$s1%'885@D|		RQF%B7%B7'D!9GdAYGHqr'5)Ds1%("4D|		RQF%B7%B7'D!9GdAYGH r5   c                 ,     " S S5      nS U" 5       -    g )Nc                       \ rS rSrS rSrg)(PowTest.test_bug643260.<locals>.TestRpowv   c                     g r7    )r   others     r2   __rpow__1PowTest.test_bug643260.<locals>.TestRpow.__rpow__w   s    r5   r\   N)__name__
__module____qualname____firstlineno__r^   __static_attributes__r\   r5   r2   TestRpowrY   v   s    r5   re   r\   )r   re   s     r2   test_bug643260PowTest.test_bug643260u   s    	 	 	
r5   c           	         U R                   nSnU" [        US5      S5        U" [        US5      S5        [        SS5       H4  nU" [        U[        U5      5      US-  =(       a    S=(       d    S5        M6     [        SS	5       HM  n[        S
U-  5      nUS-  =(       a    S=(       d    SnU" [        X%5      U5        U" [        X%* 5      U5        MO     U" WS5        g )Ng      gNݯbg      ?gNݯr   rB   r   r   r	   r   g       @)r   r   r   r   )r   eqrL   rN   nfivetoexpecteds          r2   test_bug705231PowTest.test_bug705231{   s      	3q(S!
3q)c"sBAs1eAhQ4!637  q#A16]F |,3Hs1~x(s1g)  	8Sr5   c                    [        SS5       GH  n[        SS5       GHq  nU R                  XS9   US:w  a  [        R                  " X5      S:X  a  [	        USU5      nU R                  X3U-  5        U R                  X1-  S-
  U-  S5        U R                  [	        USU5      [	        USU5      5        U R                  [	        US	U5      [	        US
U5      5        U R                  [	        USU5      [	        USU5      5        OU R                  [        5         [	        USU5        S S S 5        U R                  [        5         [	        USU5        S S S 5        U R                  [        5         [	        USU5        S S S 5        S S S 5        GMt     GM     g ! , (       d  f       Nw= f! , (       d  f       N]= f! , (       d  f       NC= f! , (       d  f       GM  = f)Ni2   )rL   mr   r   r   r@   r   rA   r
   ii  )r   subTestmathgcdr   r   r   
ValueError)r   rL   rq   r$   s       r2   test_negative_exponentPowTest.test_negative_exponent   sk   sBA3^\\A\+Av$((1.A"5 "!Rm((Ag6((#'A+):A> ((QACAG((QACAG((Qq)93sD!;LM "..z:2qM ;!..z:2qM ;!..z:5!, ;% ,+ $    ;:::::% ,+sT   C*GF	(GF*	G0F;	>G
F'#G*
F84G;
G	G
Gr\   N)r`   ra   rb   rc   r3   r9   r<   rD   rU   rf   rm   rv   rd   r\   r5   r2   r   r      s,    3j<I,*-r5   r   __main__)rs   unittestTestCaser   r`   mainr\   r5   r2   <module>r|      s8     b-h b-J zMMO r5   