
    daf                     l    d dl Z d dlZ G d dej                        Zedk(  r ej
                          yy)    Nc                   <    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
y	)
PowTestc                    |t         k7  rt        dd      D ]  }| j                  t         ||      d      d       | j                  t         ||      d       ||             | j                  t         |d      d       |d             | j                  t         |d      d       |d              t        dd      D ]*  }| j                  t         ||      d      ||z  |z         , d}t        dd      D ])  }| j                  t        d	|      |       |d
k7  s%|d	z  }+ t	        t        dd            t	        t        dd            z   D ]N  } ||      }t        |d      }t        dd      D ])  }| j                  t        ||      t        ||              + P t        t         fD ]I  }t        dd      D ]8  } |d      } ||dz         }	|	dk(  r| j                  t        t        ||	       : K d\  }
}d\  }}d\  }}| j                  }|t         k(  rd}
| j
                  }n|t        k(  rd}n|t        k(  rd\  }}t        |
|dz         D ]  }t        ||dz         D ]  }t        ||dz         D ]m  }|dk7  s	|t         k(  s|dk  r$| j                  t        t         ||      ||       ; |t         ||      ||      t         ||      |       ||      z         o   y )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                      (/root/Python-3.12.4/Lib/test/test_pow.pypowtestzPowTest.powtest   s   5=5$' ;  T!Wa!4  T!Wa$q':  T!Wa$q':  T!Wa$q':	; 4% 9  T!Wa!A#a%89 D1b\ +  QD17DFT+ %Q-(4a+== G!W"bkQ- GB**3r2;C"FGG e 	EI1c] EAw 4((!8!!"3S$DE	E BBB  5=B**ES[BS[FBr2a4 
	A2r!t_ 	r2a4 AAv5=AE --id1gq!L$Q!,QNDG3	
	    c                 .    | j                  t               y N)r2   r   r   s    r1   test_powintzPowTest.test_powint;   s    Sr3   c                 .    | j                  t               y r5   )r2   r   r6   s    r1   test_powfloatzPowTest.test_powfloat>   s    Ur3   c                 R   | j                  t        dd      dz  t        ddd             | j                  t        dd      dz  t        ddd             | j                  t        dd      dz  t        ddd             | j                  t        dd      dz  t        ddd             | j                  t        dd      dz  t        ddd             | j                  t        dd      dz  t        ddd             | j                  t        dd      dz  t        ddd             | j                  t        dd      dz  t        ddd             | j                  t        dd      dz  t        ddd             | j                  t        dd      dz  t        ddd             | j                  t        dd      dz  t        ddd             | j                  t        dd      dz  t        ddd             t        dd	      D ]  }t        d
d      D ]  }t        dd	      D ]~  }|d
k\  r/|d
k7  r*| j                  t        ||      |z  t        |||             |d
k\  s=|d
k7  sC| j                  t        t        |      |      |z  t        t        |      ||                y )Nr	      ir   r   r      r      i)r   r   r   r   )r   r    r/   r0   s       r1   
test_otherzPowTest.test_otherA   sJ   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qO
	r3   c                 n   dd l }| j                  t        dd      ddz         d}t        d      D ]  }|j	                  dd      }|j	                  dd      }|j	                  d|dz
  z  d|z        }|j	                  d|      }||z
  }t        |||      }	t        |||      t        |||      z  |z  }
|	|
k7  r%| j                  d	|d
d|d
d|d
d|	d
d|
d

       t        |||z  |      }t        t        |||      ||      }||k7  s| j                  d	|d
d|d
d|d
d|d
d|d

        y )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   rC   primer    abpowerbb1b2got1got2got3got4s                r1   test_big_expzPowTest.test_big_exp_   si   QU
3 r 	IA  w/A%%dE2F  vz!2AK@A!!!Q'BRBq!U#Dq"e$s1b%'885@Dt|		RQF%B7%B7'D!9GdAYGHq"r'5)Ds1b%("e4Dt|		RQF%B7%B7'D!9GdAYGH	Ir3   c                 ,     G d d      }d  |       z   y )Nc                       e Zd Zd Zy)(PowTest.test_bug643260.<locals>.TestRpowc                      y r5    )r   others     r1   __rpow__z1PowTest.test_bug643260.<locals>.TestRpow.__rpow__w   s    r3   N)__name__
__module____qualname__rW   rU   r3   r1   TestRpowrS   v   s    r3   r[   rU   )r   r[   s     r1   test_bug643260zPowTest.test_bug643260u   s    	 	 	
r3   c           	         | j                   }d} |t        |d      d        |t        |d      d       t        dd      D ])  } |t        |t        |            |dz  xr dxs d       + t        dd	      D ]D  }t        d
|z        }|dz  xr dxs d} |t        ||      |        |t        ||       |       F  |d       y )Ng      gNݯbg      ?gNݯr   r>   r   r   r   r   g       @)r   r   r   r   )r   eqrG   rI   nfivetoexpecteds          r1   test_bug705231zPowTest.test_bug705231{   s      	3q(S!
3q)c"sB 	8As1eAhQ4!637	8q# 	*A16]F |,3Hs1f~x(s1vg)	* 	8Sr3   c                    t        dd      D ]  }t        dd      D ]t  }| j                  ||      5  |dk7  rt        j                  ||      dk(  rt	        |d|      }| j                  |||z         | j                  ||z  dz
  |z  d       | j                  t	        |d|      t	        |d|             | j                  t	        |d	|      t	        |d
|             | j                  t	        |d|      t	        |d|             n| j                  t              5  t	        |d|       d d d        | j                  t              5  t	        |d|       d d d        | j                  t              5  t	        |d|       d d d        d d d        w  y # 1 sw Y   nxY w# 1 sw Y   OxY w# 1 sw Y   0xY w# 1 sw Y   xY w)Ni2   )rG   mr   r   r   r<   r   r=   r	   ii  )r   subTestmathgcdr   r   r   
ValueError)r   rG   re   r#   s       r1   test_negative_exponentzPowTest.test_negative_exponent   s   sB 	-A3^ -\\A\+ -Av$((1a.A"5 "!Rm((cAg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*F=F	,F=	F%	F=4F1	F=F"F=%F.*F=1F:6F==GN)rX   rY   rZ   r2   r7   r9   r@   rP   r\   rb   rj   rU   r3   r1   r   r      s,    3j<I,*-r3   r   __main__)rg   unittestTestCaser   rX   mainrU   r3   r1   <module>ro      s:     b-h b-J zHMMO r3   