Ńņ
ą"Ic           @   s  d  d k  Z  d  d k l Z d  d k Z d  d k Z d e f d     YZ d Z d e Z e d Z	 d Z
 d Z e e d	 d d e e d ?g  Z e i d
  e i d  d Z x3 e d e  D]! Z e i e d  e d >Z qĆ W[ e e d   e  e d   e  Z d d	 f d d f d d f d d f d d f d d f d d f d d f d d f d d f e e i  e i f d e f d d f d  e f d! e f d" e f d# e f g Z e i oe e d  d	 f e d  d f e d  d f e d  d f e d  d f e d  d f e d  d f e d  d f e d$ d%  d f e d  d f e d  e f e d  d f e d   e f e d!  e f e d"  e f e d#  e f e d&  e f g 7Z n d' e  i f d(     YZ d)   Z e d* j o e   n d S(+   i’’’’N(   t   test_supportt   Frmc           B   s   e  Z d    Z d   Z RS(   c         G   s   | |  _  | |  _ d  S(   N(   t   formatt   args(   t   selfR   R   (    (    s+   /mit/python/lib/python2.6/test/test_long.pyt   __init__	   s    	c         C   s   |  i  |  i S(   N(   R   R   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_long.pyt   __str__   s    (   t   __name__t
   __module__R   R   (    (    (    s+   /mit/python/lib/python2.6/test/test_long.pyR      s   	i   i   i   iF   i    l   UUŖ*UUŖ* l   Ŗ*UUŖ*UU
 l    c         C   s   |  S(    (    (   t   x(    (    s+   /mit/python/lib/python2.6/test/test_long.pyt   <lambda>%   s    c         C   s   |  S(    (    (   R	   (    (    s+   /mit/python/lib/python2.6/test/test_long.pyR
   &   s    t   0t   1t   9i	   t   10i
   t   99ic   t   100id   t   314i:  s    314s   314 s     		  314  		  s     1xs     1  s     1  t    t    s     		  s   \u0663\u0661\u0664 s   raw-unicode-escapei   t   LongTestc           B   s¼   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   sD  |  i  | d j  | t } | t d } d } d } t t i   t d  d B} x¦ | | j  o | d ?d } t | | |  } |  i  d | j o
 t j n  | | } | | >} | d @o | d | >d B} n t t i   t d  } qX W|  i  | | j o
 | j n  t i   d j  o | } n | S(   Ni    i   l    i   g      ą?(   t   assert_t   SHIFTt   intt   randomt   min(   R   t   ndigitst   nbits_hit   nbits_lot   answert   nbitst   rt   bits(    (    s+   /mit/python/lib/python2.6/test/test_long.pyt   getranY   s(    
 $

$c         C   sY   d } x. t  |   D]  } | t >t i d t  B} q Wt i   d j  o | } n | S(   Nl    i    g      ą?(   t   xrangeR   R   t   randintt   MASK(   R   R   t   i(    (    s+   /mit/python/lib/python2.6/test/test_long.pyt   getran2q   s     c   
      C   s;  |  i  } t | |  \ } } | | | | } } | | | | } }	 | | |	 t d | |   | | | t d | |   | | | t d | |   | | | | | t d | |   | d j o7 |  i d | j o
 | j  n t d | |   n4 |  i | | j  o
 d j n t d | |   d  S(   Ns-   multiplication does not commute for %r and %rs6   divmod returns different quotient than / for %r and %rs2   divmod returns different mod than %% for %r and %rs'   x != q*y + r after divmod on x=%r, y=%ri    s    bad mod from divmod on %r and %r(   t   assertEqualt   divmodR   R   (
   R   R	   t   yt   eqt   qR   t   q2t   r2t   pabt   pba(    (    s+   /mit/python/lib/python2.6/test/test_long.pyt   check_divisiony   s    	$7c         C   s   t  d t d  t  t t d  } | i t d  xT | D]L } |  i |  } x4 | D], } |  i |  p d } |  i | |  qX Wq< Wd  S(   Ni   i   i   l    (   t   ranget	   MAXDIGITSt   KARATSUBA_CUTOFFt   appendR!   R0   (   R   t   digitst   lenxR	   t   lenyR)   (    (    s+   /mit/python/lib/python2.6/test/test_long.pyt   test_division   s      c         C   s  t  d d  t  t t d  } | i t d t d g  g  } | D] } | | t qF ~ } x  | D] } d | >d } x | D]y } | | j  o q n d | >d } | | }	 d | | >d | >d | >d }
 |  i |	 |
 t d | | |	 |
   q Wqg Wd  S(   Ni   i   i
   id   l    s*   bad result for a*b: a=%r, b=%r, x=%r, y=%r(   R1   R3   t   extendR   R'   R   (   R   R5   t   _[1]t   digitR    t   abitst   at   bbitst   bR	   R)   (    (    s+   /mit/python/lib/python2.6/test/test_long.pyt   test_karatsuba   s      %  
c      	   C   sÅ  |  i  } | | d @d t d |   | | d B| t d |   | | d A| t d |   | | d @| t d |   | | d Bd t d |   | | d A| t d |   | | | t d	 |   | | | @| t d
 |   | | | B| t d |   | | | Ad t d |   | | | @d t d |   | | | Bd t d |   | | | Ad t d |   | | d | t d |   | | | d t d |   xü t d t  D]ź } d | } | | | >| ?| t d | | f   | | | | | ?t d | | | f   | | | | | >t d | | | f   | | | @| | ?| >t d | | | f   | | | @| | d @t d | | | f   qÓWd  S(   Ni    s   x & 0 != 0 for x=%rs   x | 0 != x for x=%rs   x ^ 0 != x for x=%ri’’’’s   x & -1 != x for x=%rs   x | -1 != -1 for x=%rs   x ^ -1 != ~x for x=%rs   x != ~~x for x=%rs   x & x != x for x=%rs   x | x != x for x=%rs   x ^ x != 0 for x=%rs   x & ~x != 0 for x=%rs   x | ~x != -1 for x=%rs   x ^ ~x != -1 for x=%ri   s   not -x == 1 + ~x for x=%rs   not -x == ~(x-1) forx =%ri   l    s   x << n >> n != x for x=%r, n=%rs%   x // p2 != x >> n for x=%r n=%r p2=%rs$   x * p2 != x << n for x=%r n=%r p2=%rs.   not x & -p2 == x >> n << n for x=%r n=%r p2=%rs0   not x & -p2 == x & ~(p2 - 1) for x=%r n=%r p2=%r(   R'   R   R"   R   (   R   R	   R*   t   nt   p2(    (    s+   /mit/python/lib/python2.6/test/test_long.pyt   check_bitop_identities_1§   s:    	 
c         C   s  |  i  } | | | @| | @t d | | f   | | | B| | Bt d | | f   | | | A| | At d | | f   | | | A| A| t d | | f   | | | @| | Bt d | | f   | | | B| | @t d | | f   | | | A| | B| | @@t d | | f   | | | A| | @| | @Bt d | | f   | | | A| | B| | B@t d	 | | f   d  S(
   Ns   x & y != y & x for x=%r, y=%rs   x | y != y | x for x=%r, y=%rs   x ^ y != y ^ x for x=%r, y=%rs   x ^ y ^ x != y for x=%r, y=%rs"   x & y != ~(~x | ~y) for x=%r, y=%rs"   x | y != ~(~x & ~y) for x=%r, y=%rs*   x ^ y != (x | y) & ~(x & y) for x=%r, y=%rs+   x ^ y == (x & ~y) | (~x & y) for x=%r, y=%rs+   x ^ y == (x | y) & (~x | ~y) for x=%r, y=%r(   R'   R   (   R   R	   R)   R*   (    (    s+   /mit/python/lib/python2.6/test/test_long.pyt   check_bitop_identities_2Å   s    	''''**c         C   s  |  i  } | | | @| @| | | @@t d | | | f   | | | B| B| | | BBt d | | | f   | | | A| A| | | AAt d | | | f   | | | | B@| | @| | @Bt d | | | f   | | | | @B| | B| | B@t d | | | f   d  S(   Ns/   (x & y) & z != x & (y & z) for x=%r, y=%r, z=%rs/   (x | y) | z != x | (y | z) for x=%r, y=%r, z=%rs/   (x ^ y) ^ z != x ^ (y ^ z) for x=%r, y=%r, z=%rs5   x & (y | z) != (x & y) | (x & z) for x=%r, y=%r, z=%rs5   x | (y & z) != (x | y) & (x | z) for x=%r, y=%r, z=%r(   R'   R   (   R   R	   R)   t   zR*   (    (    s+   /mit/python/lib/python2.6/test/test_long.pyt   check_bitop_identities_3Ō   s    	c      
   C   s¶   x t  D] } |  i |  q Wt d t d  } x~ | D]v } |  i |  } |  i |  xQ | D]I } |  i |  } |  i | |  |  i | | |  i | | d   qa Wq8 Wd  S(   Ni   i   (   t   specialRC   R"   R2   R!   RD   RF   (   R   R	   R5   R6   R7   R)   (    (    s+   /mit/python/lib/python2.6/test/test_long.pyt   test_bitop_identitiesį   s       c         C   sÖ   | | f d j o d Sg  } d } | d j  o d | } } n x4 | o, t  | |  \ } } | i t |   qF W| i   | p d g } d |  h d d 6d d 6d	 d
 6| d i t d   |   d S(   Ni    i   t   0Li   t   -R   R   i
   t   0xi   c         S   s   d  |  S(   t   0123456789abcdef(    (   R%   (    (    s+   /mit/python/lib/python2.6/test/test_long.pyR
   ü   s    t   L(   i    i   (   R(   R4   R   t   reverset   joint   map(   R   R	   t   baseR5   t   signR   (    (    s+   /mit/python/lib/python2.6/test/test_long.pyt   slow_formatķ   s     
c      	   C   sś   x£ d t  f d t f d t f f D] \ } } | |  } |  i | |  } t d | i | | |  } |  i | | |  |  i t | d  | t d | |   q" Wt |  } |  i | d  d  } t d | i | | |  } |  i | | |  d  S(   Ni   i
   i   s%   %s returned %r but expected %r for %ri    s   long("%s", 0) != %ri’’’’(	   t   octt   reprt   hexRS   R   R   R'   t   longt   str(   R   R	   RQ   t   mappert   gott   expectedt   msg(    (    s+   /mit/python/lib/python2.6/test/test_long.pyt   check_format_1ž   s    " ,c         C   ss   x t  D] } |  i |  q WxN t d  D]@ } x7 t d t d  D]" } |  i |  } |  i |  qE Wq+ Wd  S(   Ni
   i   (   RG   R]   R"   R2   R!   (   R   R	   R%   R6   (    (    s+   /mit/python/lib/python2.6/test/test_long.pyt   test_format  s       c   	      C   sų	  |  i  t d  d  |  i  t d  d  |  i  t d  d  |  i  t t d   t  |  i  t t d   t  |  i  t t d   t  |  i  t d  d  |  i  t d  d  |  i  t d  d  |  i  t d	  d  |  i  t d
  d  |  i  t d  d  t i o  |  i  t t d   d  n |  i  t d d  d  t i o# |  i  t t d  d  d  n d d d f d d d d f g } t } t i oH | t d  t d  d d f t d  t d  d d f g 7} n x© | | D] \ } } x d D] } x} d D]u } | | | } | } | d j o | t j	 o | } n y  |  i  t |  t |   Wq2| j
 o q2Xq2Wq%WqW|  i t t d  |  i t t d d  |  i t	 t d d  |  i t t d d  |  i t t d  d  |  i  t d! d"  d#  |  i  t d$ d%  d#  |  i  t d& d'  d#  |  i  t d( d)  d#  |  i  t d* d+  d#  |  i  t d, d-  d#  |  i  t d. d/  d#  |  i  t d0 d1  d#  |  i  t d2 d  d#  |  i  t d3 d4  d#  |  i  t d5 d  d#  |  i  t d6 d7  d#  |  i  t d8 d9  d#  |  i  t d: d;  d#  |  i  t d< d  d#  |  i  t d= d>  d#  |  i  t d? d@  d#  |  i  t dA dB  d#  |  i  t dC d  d#  |  i  t dD dE  d#  |  i  t dF dG  d#  |  i  t dH dI  d#  |  i  t dJ dK  d#  |  i  t dL dM  d#  |  i  t dN dO  d#  |  i  t dP dQ  d#  |  i  t dR dS  d#  |  i  t dT dU  d#  |  i  t dV dW  d#  |  i  t dX dY  d#  |  i  t dZ d[  d#  |  i  t d\ d]  d#  |  i  t d^ d_  d#  |  i  t d` da  d#  |  i  t db dc  d#  |  i  t dd d"  de  |  i  t df d%  de  |  i  t dg d'  de  |  i  t dh d)  de  |  i  t di d+  de  |  i  t dj d-  de  |  i  t dk d/  de  |  i  t dl d1  de  |  i  t dm d  de  |  i  t dn d4  de  |  i  t do d  de  |  i  t dp d7  de  |  i  t dq d9  de  |  i  t dr d;  de  |  i  t ds d  de  |  i  t dt d>  de  |  i  t du d@  de  |  i  t dv dB  de  |  i  t dw d  de  |  i  t dx dE  de  |  i  t dy dG  de  |  i  t dz dI  de  |  i  t d{ dK  de  |  i  t d| dM  de  |  i  t d} dO  de  |  i  t d~ dQ  de  |  i  t d dS  de  |  i  t d dU  de  |  i  t d dW  de  |  i  t d dY  de  |  i  t d d[  de  |  i  t d d]  de  |  i  t d d_  de  |  i  t d da  de  |  i  t d dc  de  d  S(   Ni:  l   :gėQø	@l    gėQø	Ąl’’’’ g333333@g333333Ąg      @g      Ąs   -3R   i   l    R   R   i   l   
 id   R   t   +RJ   R   s   	s     		  t   123 t   53i(   i   i   i
   t   123  245t!   100000000000000000000000000000000i   l        t   102002022201221111211i   t   10000000000000000i   t   32244002423141i   t   1550104015504i   t   211301422354i   t   40000000000i   t   12068657454i	   t
   4294967296t
   1904440554i   t	   9ba461594t	   535a79889i   t	   2ca5b7464i   t	   1a20dcd81i   t	   100000000t   a7ffda91i   t   704he7g4i   t   4f5aff66i   t   3723ai4gt   281d55i4i   t   1fj8b184i   t   1606k7ici   t   mb994agi   t   hek2mgli   t   dnchbnmi   t   b28jpdmi   t   8pfgih4i   t   76beiggi   t   5qmcpqgi   t   4q0jto4i   t   4000000i    t   3aokq94i!   t   2qhxjlii"   t   2br45qbi#   t   1z141z4i$   t!   100000000000000000000000000000001l       t   102002022201221111212t   10000000000000001t   32244002423142t   1550104015505t   211301422355t   40000000001t   12068657455t
   4294967297t
   1904440555t	   9ba461595t	   535a7988at	   2ca5b7465t	   1a20dcd82t	   100000001t   a7ffda92t   704he7g5t   4f5aff67t   3723ai4ht   281d55i5t   1fj8b185t   1606k7idt   mb994aht   hek2mgmt   dnchbnnt   b28jpdnt   8pfgih5t   76beight   5qmcpqht   4q0jto5t   4000001t   3aokq95t   2qhxjljt   2br45qct   1z141z5t   00000000000000000000l      Fµx:^V l                DGØdŖrÓāČYā|gÄO¬s&YR5I l      Fµx:^V l                DGØdŖrÓāČYā|gÄO¬s&YR5I (   R   R_   RJ   (   R   R   s   	s     		  (
   R'   RW   t   typeR    t   have_unicodet   unicodeRM   t
   ValueErrort   assertRaisest	   TypeError(	   R   t   LLt   L2t   st   vRR   t   prefixt   sst   vv(    (    s+   /mit/python/lib/python2.6/test/test_long.pyt	   test_long  sę    
 
#
(    c            sč  d d$ d     Y} |  i  t t |    d t f d     Y} |  i  t t |    d d% d     Y} d t f d     Y} d	 t f d
     Y} d t f d     Y} d t f d     Y} d t f d     Y} |  i t |    d  |  i t |    d  |  i t |    d  |  i t |    d  |  i t |    d  |  i  t t |    d d& d     Y}	 xet |	 f D]W}
 d |
 f d     Y} |  i t |    d  d |
 f d     Y} |  i t |    d  xš t |	 f D]ā } d | f d     Y d |
 f  f d     Y} |  i t |    d  d | f   f d     Y  d  |
 f   f d!     Y} y t |    Wn+ t j
 o } |  i t |  d"  qśX|  i d# |
 | f f  qśWqWd  S('   Nt   ClassicMissingMethodsc           B   s   e  Z RS(    (   R   R   (    (    (    s+   /mit/python/lib/python2.6/test/test_long.pyRø     s   t   MissingMethodsc           B   s   e  Z RS(    (   R   R   (    (    (    s+   /mit/python/lib/python2.6/test/test_long.pyR¹     s   t   Foo0c           B   s   e  Z d    Z RS(   c         S   s   d S(   Nl   * (    (   R   (    (    s+   /mit/python/lib/python2.6/test/test_long.pyt   __long__”  s    (   R   R   R»   (    (    (    s+   /mit/python/lib/python2.6/test/test_long.pyRŗ      s   t   Foo1c           B   s   e  Z d    Z RS(   c         S   s   d S(   Nl   * (    (   R   (    (    s+   /mit/python/lib/python2.6/test/test_long.pyR»   „  s    (   R   R   R»   (    (    (    s+   /mit/python/lib/python2.6/test/test_long.pyR¼   ¤  s   t   Foo2c           B   s   e  Z d    Z RS(   c         S   s   d S(   Nl   * (    (   R   (    (    s+   /mit/python/lib/python2.6/test/test_long.pyR»   ©  s    (   R   R   R»   (    (    (    s+   /mit/python/lib/python2.6/test/test_long.pyR½   Ø  s   t   Foo3c           B   s   e  Z d    Z RS(   c         S   s   |  S(   N(    (   R   (    (    s+   /mit/python/lib/python2.6/test/test_long.pyR»   ­  s    (   R   R   R»   (    (    (    s+   /mit/python/lib/python2.6/test/test_long.pyR¾   ¬  s   t   Foo4c           B   s   e  Z d    Z RS(   c         S   s   d S(   Ni*   (    (   R   (    (    s+   /mit/python/lib/python2.6/test/test_long.pyR»   ±  s    (   R   R   R»   (    (    (    s+   /mit/python/lib/python2.6/test/test_long.pyRæ   °  s   t   Foo5c           B   s   e  Z d    Z RS(   c         S   s   d S(   Ng      E@(    (   R   (    (    s+   /mit/python/lib/python2.6/test/test_long.pyR»   µ  s    (   R   R   R»   (    (    (    s+   /mit/python/lib/python2.6/test/test_long.pyRĄ   “  s   l   * i    i*   t   Classicc           B   s   e  Z RS(    (   R   R   (    (    (    s+   /mit/python/lib/python2.6/test/test_long.pyRĮ   æ  s   t   LongOverridesTruncc           B   s   e  Z d    Z d   Z RS(   c         S   s   d S(   Ni*   (    (   R   (    (    s+   /mit/python/lib/python2.6/test/test_long.pyR»   Ć  s    c         S   s   d S(   Niō’’’(    (   R   (    (    s+   /mit/python/lib/python2.6/test/test_long.pyt	   __trunc__Å  s    (   R   R   R»   RĆ   (    (    (    s+   /mit/python/lib/python2.6/test/test_long.pyRĀ   Ā  s   	t	   JustTruncc           B   s   e  Z d    Z RS(   c         S   s   d S(   Ni*   (    (   R   (    (    s+   /mit/python/lib/python2.6/test/test_long.pyRĆ   Ź  s    (   R   R   RĆ   (    (    (    s+   /mit/python/lib/python2.6/test/test_long.pyRÄ   É  s   t   Integralc           B   s   e  Z d    Z RS(   c         S   s   d S(   Ni*   (    (   R   (    (    s+   /mit/python/lib/python2.6/test/test_long.pyt   __int__Š  s    (   R   R   RĘ   (    (    (    s+   /mit/python/lib/python2.6/test/test_long.pyRÅ   Ļ  s   t   TruncReturnsNonLongc              s   e  Z   f d    Z RS(   c            s       S(   N(    (   R   (   RÅ   (    s+   /mit/python/lib/python2.6/test/test_long.pyRĆ   Ō  s    (   R   R   RĆ   (    (   RÅ   (    s+   /mit/python/lib/python2.6/test/test_long.pyRĒ   Ó  s   t   NonIntegralc              s   e  Z   f d    Z RS(   c            s       S(   N(    (   R   (   RČ   (    s+   /mit/python/lib/python2.6/test/test_long.pyRĆ   Ł  s    (   R   R   RĆ   (    (   RČ   (    s+   /mit/python/lib/python2.6/test/test_long.pyRČ   Ų  s   t   TruncReturnsNonIntegralc              s   e  Z   f d    Z RS(   c            s       S(   N(    (   R   (   RČ   (    s+   /mit/python/lib/python2.6/test/test_long.pyRĆ   Ž  s    (   R   R   RĆ   (    (   RČ   (    s+   /mit/python/lib/python2.6/test/test_long.pyRÉ   Ż  s   s2   __trunc__ returned non-Integral (type NonIntegral)s!   Failed to raise TypeError with %s(    (    (    (	   R®   t   AttributeErrorRW   t   objectRÆ   R'   t   assertEqualsRX   t   fail(   R   Rø   R¹   Rŗ   R¼   R½   R¾   Ræ   RĄ   RĮ   RQ   RĀ   RÄ   t   trunc_result_baseRĒ   RÉ   t   e(    (   RČ   RÅ   s+   /mit/python/lib/python2.6/test/test_long.pyt   test_conversion  sJ      	c         C   s~  t  i } | d } t |  } t |  } |  i | | d  |  i | | d  t |  } y |  i | | d  Wn  t j
 o |  i d  n Xt | t  p t d   n t |  } y |  i | | d  Wn  t j
 o |  i d  n Xt | t  p t d	   n | d } y t |  } Wn  t j
 o |  i d
  n X|  i	 t | t  d  | d } y t |  } Wn  t j
 o |  i d  n X|  i	 t | t  d  d t f d     Y} | d  } t |  } |  i	 t
 |  t j d  d t f d     Y} |  i |   d d !d  |   d d !\ }	 }
 |  i |   |	 |
 !|	 |
 f  d  S(   Ni   s   long(sys.maxint) != sys.maxints$   long(-sys.maxint-1) != -sys.maxint-1s3   converting sys.maxint to long and back to int failss!   int(long(sys.maxint)) overflowed!s.   int(long(sys.maxint)) should have returned ints6   converting -sys.maxint-1 to long and back to int failss$   int(long(-sys.maxint-1)) overflowed!s1   int(long(-sys.maxint-1)) should have returned ints*   int(long(sys.maxint) + 1) mustn't overflows3   int(long(sys.maxint) + 1) should have returned longs-   int(long(-sys.maxint-1) - 1) mustn't overflows6   int(long(-sys.maxint-1) - 1) should have returned longt   long2c           B   s   e  Z RS(    (   R   R   (    (    (    s+   /mit/python/lib/python2.6/test/test_long.pyRŃ     s   l    id   s<   overflowing int conversion must return long not long subtypet   Xc           B   s   e  Z d    Z RS(   c         S   s
   | | f S(   N(    (   R   R%   t   j(    (    s+   /mit/python/lib/python2.6/test/test_long.pyt   __getslice__!  s    (   R   R   RŌ   (    (    (    s+   /mit/python/lib/python2.6/test/test_long.pyRŅ      s   l’’’’ l    iū’’’i   l    l                (   iū’’’i   l                lł’’’             l                (   t   syst   maxintRW   R'   R   t   OverflowErrorRĶ   t
   isinstancet
   TestFailedR   RŖ   RĖ   (   R   t   hugepost   hugenegt   hugepos_aslongt   hugeneg_aslongR	   R)   RŃ   RŅ   t   slicemint   slicemax(    (    s+   /mit/python/lib/python2.6/test/test_long.pyt	   test_miscź  s\    	

c            sę  d d  k  } d d  k } d d d d | i d | i | i d g } t | i | i   } | i | d | | d g  | i g  } | D] } | | q ~      f d   } x'| D]} t |  }	 |	  |  | d |  xļ| D]ē}
 t |
  } |	 |  | |
  | | d |
  |	 |  | |
  | | d |
  |	 |  | |
  | | d	 |
  |
 oz |	 |  | |
  | | d
 |
  |	 |  | |
  | | d |
  t |	 |   t |	 |   | | d |
  n t |
  d j  oÕ | d j o
 |
 d j  oŗ |	 |  | |
  | | d |
  x | D] } | d j ot |
 d j oD t	 |	 | t |    t	 | |
 |   | d | |
 d |  qŅ  i
 t t	 |	 | t |   qKqKWqó qó Wqæ Wd  S(   Ni’’’’i    i   i   i   c             s&    i     t d |       d  S(   Ns   for %r expected %r got %r(   R'   R   (   R   (   R[   RZ   R   (    s+   /mit/python/lib/python2.6/test/test_long.pyt   checkit4  s    RJ   R_   t   *t   /s   //R(   i   s   **t   powt   %(   t   mathRÕ   RÖ   R   t   sqrtR9   RW   R(   t   absRä   R®   RÆ   (   R   Rę   RÕ   RG   Rē   R:   R%   Rį   R	   t   longxR)   t   longyRE   (    (   R   RZ   R[   s+   /mit/python/lib/python2.6/test/test_long.pyt   test_auto_overflow,  s\    ,)  









.

 c      )   C   s.  d d  k  } x* d6 D]" } |  i t t |   |  q Wd d } d7 } | } h | d 6| d 6| d 6| d 6} xµ d d d d d d d d d d d d d d d d d d  d! d" d# d$ d% d& d' d( d) d* d+ d, d- d. d/ d0 d1 d2 d3 d4 g& D]; } |  i t t | |  |  i t |  t |  d5  qė Wd  S(8   Ni’’’’g       Ąg      šæg        g      š?g       @t   12345ix   l    i0u  t   huget   mhuget   shugeRę   s   float(huge)s   float(mhuge)s   complex(huge)s   complex(mhuge)s   complex(huge, 1)s   complex(mhuge, 1)s   complex(1, huge)s   complex(1, mhuge)s	   1. + huges	   huge + 1.s
   1. + mhuges
   mhuge + 1.s	   1. - huges	   huge - 1.s
   1. - mhuges
   mhuge - 1.s	   1. * huges	   huge * 1.s
   1. * mhuges
   mhuge * 1.s
   1. // huges
   huge // 1.s   1. // mhuges   mhuge // 1.s	   1. / huges	   huge / 1.s
   1. / mhuges
   mhuge / 1.s
   1. ** huges
   huge ** 1.s   1. ** mhuges   mhuge ** 1.s   math.sin(huge)s   math.sin(mhuge)s   math.sqrt(huge)s   math.sqrt(mhuge)s   math.floor(huge)s   math.floor(mhuge)s(   float(shuge) should not equal int(shuge)(   g       Ąg      šæg        g      š?g       @lŃ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   (	   Rę   R'   t   floatRW   R®   R×   t   evalt   assertNotEqualR   (   R   Rę   R	   Rļ   Rķ   Rī   t	   namespacet   test(    (    s+   /mit/python/lib/python2.6/test/test_long.pyt   test_float_overflowj  s2      
"	
 c   	      C   sÕ   d d  k  } | i | i  } xs t d  d d d g D]X } d | } | i |  } |  i | |  | | } | i |  } |  i | |  q8 Wx: d D]2 } |  i t | i |  |  i t | i |  q Wd  S(   Ni’’’’i
   id   ič  i'  l    l’’’’ l    l                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       leż’’                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     (   leż’’                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     l’’’’ l    (   Rę   t   log10RĻ   R1   t   assertAlmostEqualt   logR®   R­   (	   R   Rę   t   LOG10Et   expt   valueRö   R[   Rų   t   bad(    (    s+   /mit/python/lib/python2.6/test/test_long.pyt	   test_logs  s     

 c            s¼  |  i  } d d  k  d d    f d     Y  d d d d d d	 d
 g } xf d d d  f D]U } | i | d | d | | d | d t | d  t |  t | d  g  q\ W| i d d d t i t t i  g  t d
  } | i d d d d! | d | | d g  | i g  } | D] } | | q$~  xy| D]q}   |  } x\| D]T}   |  } t | |  }	 t | |  }
 | |	 |
 t d | | |	 |
   | | | j |	 d j t d | | |	   | | | j |	 d j t d | | |	   | | | j  |	 d j  t d | | |	   | | | j |	 d j t d | | |	   | | | j |	 d j t d | | |	   | | | j |	 d j t d | | |	   q\WqCWd  S("   Ni’’’’t   Ratc              s&   e  Z  f d    Z   f d   Z RS(   c   	         s&  t  | t t f  o | |  _ d |  _ n÷ t  | t  oÖ   i t |   \ } } d } d } xL | oD   i | |  } t |  } | | >| B} | | 8} | | 8} qf W| d j o | | >} d } n | } d | >} | d j  o | } n | |  _ | |  _ n t	 d t
   d  S(   Ni   i   i    s   can't deal with %r(   RŲ   R   RW   RA   t   dRš   t   frexpRč   t   ldexpRÆ   t   val(	   R   Rū   t   fRĻ   t   CHUNKt   topR;   RA   R’   (   Rę   (    s+   /mit/python/lib/python2.6/test/test_long.pyR   §  s2    	 


		c            sA   t  |    p   |  } n t |  i | i |  i | i  S(   N(   RŲ   t   cmpRA   R’   (   R   t   other(   Rž   (    s+   /mit/python/lib/python2.6/test/test_long.pyt   __cmp__Ļ  s    (   R   R   R   R  (    (   Rž   Rę   (    s+   /mit/python/lib/python2.6/test/test_long.pyRž   ¦  s   (i    gü©ńŅMbP?g®Gįz®ļ?g      š?g      ų?g@µxÆDgZb××ētig       @i0   i2   i5   g333333Ó?i   i   l    l    l    i N  s   %r %r %d %ds   %r == %r %ds   %r != %r %ds
   %r < %r %ds   %r <= %r %ds
   %r > %r %ds   %r >= %r %d(    g      šBg      Cg      @Cl6                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              (	   R'   Rę   R9   RW   RÕ   RÖ   Rš   R  R   (   R   R*   t   casest   tR:   R	   t   RxR)   t   Ryt   Rcmpt   xycmp(    (   Rž   Rę   s+   /mit/python/lib/python2.6/test/test_long.pyt   test_mixed_compares  s6    	. %.(*)  "+++++c         C   sO   |  i  t t t d   |  i  t t t d   |  i  t t t d   d  S(   Nt   infs   -inft   nan(   R®   R×   RW   Rš   R­   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_long.pyt   test_nan_infī  s    (   R   R   R!   R&   R0   R8   R@   RC   RD   RF   RH   RS   R]   R^   R·   RŠ   Rą   Rė   Rõ   Rż   R  R  (    (    (    s+   /mit/python/lib/python2.6/test/test_long.pyR   Q   s(   				
										T	B	>			Qc           C   s   t  i t  d  S(   N(   R    t   run_unittestR   (    (    (    s+   /mit/python/lib/python2.6/test/test_long.pyt	   test_mainó  s    t   __main__(   t   unittestRō   R    RÕ   R   RĖ   R   R   t   BASER$   R3   R2   RP   RW   RG   R4   RB   R1   R%   RU   RÖ   R­   RM   R«   R¬   t   unichrt   TestCaseR   R  R   (    (    (    s+   /mit/python/lib/python2.6/test/test_long.pyt   <module>   s|   	

" 															
’ ’ ¤	