;
Ìâ"Ic               @   sÓ  d  d l  Z  d  d l m Z d  d l Z d  d l Z Gd „  d e ƒ Z d Z d e Z e d Z	 d Z
 d Z d  d d e e d ?d	 d
 g Z d Z x3 e d e ƒ D]! Z e j e d ƒ e d >Z q£ W[ e d „  e Dƒ d „  e Dƒ 7Z 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 j ƒ e j f d e f d d f d e f d  e f d! e f d" e f g Z Gd# „  d$ e  j ƒ Z d% „  Z e d& k o e ƒ  n d S('   i    N(   u   supportc             B   s    |  Ee  Z d  „  Z d „  Z d S(   c             G   s   | |  _  | |  _ d  S(   N(   u   formatu   args(   u   selfu   formatu   args(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   __init__	   s    	c             C   s   |  j  |  j S(   N(   u   formatu   args(   u   self(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   __str__   s    N(   u   __name__u
   __module__u   __init__u   __str__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   Frm   s   
	u   Frmi   i   i   iF   l   UUª*UUª* l   ª*UUª*UU
 i   c             C   s   g  } |  ] } | | q
 S(    (    (   u   .0u   _[1]u   x(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu
   <listcomp>#   s    c             C   s   g  } |  ] } | | q
 S(    (    (   u   .0u   _[1]u   x(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu
   <listcomp>#   s    u   0u   1u   9i	   u   10i
   u   99ic   u   100id   u   314i:  u    314u   314 u     		  314  		  u     1xu     1  u     1  u    u    u     		  c             B   sÝ   |  Ee  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 d „  Z d „  Z d „  Z d S(   c             C   sD  |  j  | d k ƒ | t } | t d } d } d } t t j ƒ  t d ƒ d B} x¦ | | k  o˜ | d ?d } t | | | ƒ } |  j  d | k o
 t k n ƒ | | } | | >} | d @o | d | >d B} n t t j ƒ  t d ƒ } qX W|  j  | | k o
 | k n ƒ t j ƒ  d k  o | } n | S(   Ni    i   i   g      à?(   u   assert_u   SHIFTu   intu   randomu   min(   u   selfu   ndigitsu   nbits_hiu   nbits_lou   answeru   nbitsu   ru   bits(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   getranB   s(    
 $

$c             C   sY   d } x. t  |  ƒ D]  } | t >t j d t ƒ B} q Wt j ƒ  d k  o | } n | S(   Ni    g      à?(   u   rangeu   SHIFTu   randomu   randintu   MASK(   u   ndigitsu   answeru   i(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   getran2Z   s     c       
      C   s;  |  j  } t | | ƒ \ } } | | | | } } | | | | } }	 | | |	 t d | | ƒ ƒ | | | t d | | ƒ ƒ | | | t d | | ƒ ƒ | | | | | t d | | ƒ ƒ | d k o7 |  j d | k o
 | k  n t d | | ƒ ƒ n4 |  j | | k  o
 d k n t d | | ƒ ƒ d  S(   Nu-   multiplication does not commute for %r and %ru6   divmod returns different quotient than / for %r and %ru2   divmod returns different mod than %% for %r and %ru'   x != q*y + r after divmod on x=%r, y=%ri    u    bad mod from divmod on %r and %r(   u   assertEqualu   divmodu   Frmu   assert_(
   u   selfu   xu   yu   equ   qu   ru   q2u   r2u   pabu   pba(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   check_divisionb   s    	$7c             C   sœ   t  t d t d ƒ ƒ t  t t t d ƒ ƒ } | j t d ƒ xT | D]L } |  j | ƒ } x4 | D], } |  j | ƒ p d } |  j | | ƒ qd WqH Wd  S(   Ni   i   i   (   u   listu   rangeu	   MAXDIGITSu   KARATSUBA_CUTOFFu   appendu   getranu   check_division(   u   selfu   digitsu   lenxu   xu   lenyu   y(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   test_divisionp   s      c       	      C   sþ   t  t d d ƒ ƒ t  t t t d ƒ ƒ } | j t d t d g ƒ d „  | Dƒ } x  | D]˜ } d | >d } x | D]y } | | k  o qy n d | >d } | | } d | | >d | >d | >d } |  j | | t d | | | | ƒ ƒ qy Wq^ Wd  S(   Ni   i   i
   id   c             S   s   g  } |  ] } | | t  q
 S(    (   u   SHIFT(   u   .0u   _[1]u   digit(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu
   <listcomp>   s    u*   bad result for a*b: a=%r, b=%r, x=%r, y=%r(   u   listu   rangeu   KARATSUBA_CUTOFFu   extendu   assertEqualu   Frm(	   u   selfu   digitsu   bitsu   abitsu   au   bbitsu   bu   xu   y(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   test_karatsubaz   s"      
c          	   C   sÅ  |  j  } | | 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    u   x & 0 != 0 for x=%ru   x | 0 != x for x=%ru   x ^ 0 != x for x=%riÿÿÿÿu   x & -1 != x for x=%ru   x | -1 != -1 for x=%ru   x ^ -1 != ~x for x=%ru   x != ~~x for x=%ru   x & x != x for x=%ru   x | x != x for x=%ru   x ^ x != 0 for x=%ru   x & ~x != 0 for x=%ru   x | ~x != -1 for x=%ru   x ^ ~x != -1 for x=%ri   u   not -x == 1 + ~x for x=%ru   not -x == ~(x-1) forx =%ri   u   x << n >> n != x for x=%r, n=%ru%   x // p2 != x >> n for x=%r n=%r p2=%ru$   x * p2 != x << n for x=%r n=%r p2=%ru.   not x & -p2 == x >> n << n for x=%r n=%r p2=%ru0   not x & -p2 == x & ~(p2 - 1) for x=%r n=%r p2=%r(   u   assertEqualu   Frmu   rangeu   SHIFT(   u   selfu   xu   equ   nu   p2(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   check_bitop_identities_1‘   s:    	 
c             C   s  |  j  } | | | @| | @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(
   Nu   x & y != y & x for x=%r, y=%ru   x | y != y | x for x=%r, y=%ru   x ^ y != y ^ x for x=%r, y=%ru   x ^ y ^ x != y for x=%r, y=%ru"   x & y != ~(~x | ~y) for x=%r, y=%ru"   x | y != ~(~x & ~y) for x=%r, y=%ru*   x ^ y != (x | y) & ~(x & y) for x=%r, y=%ru+   x ^ y == (x & ~y) | (~x & y) for x=%r, y=%ru+   x ^ y == (x | y) & (~x | ~y) for x=%r, y=%r(   u   assertEqualu   Frm(   u   selfu   xu   yu   eq(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   check_bitop_identities_2¯   s    	''''**c             C   s  |  j  } | | | @| @| | | @@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(   Nu/   (x & y) & z != x & (y & z) for x=%r, y=%r, z=%ru/   (x | y) | z != x | (y | z) for x=%r, y=%r, z=%ru/   (x ^ y) ^ z != x ^ (y ^ z) for x=%r, y=%r, z=%ru5   x & (y | z) != (x & y) | (x & z) for x=%r, y=%r, z=%ru5   x | (y & z) != (x | y) & (x | z) for x=%r, y=%r, z=%r(   u   assertEqualu   Frm(   u   selfu   xu   yu   zu   eq(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   check_bitop_identities_3¾   s    	c          
   C   s¶   x t  D] } |  j | ƒ q Wt d t d ƒ } x~ | D]v } |  j | ƒ } |  j | ƒ xQ | D]I } |  j | ƒ } |  j | | ƒ |  j | | |  j | | d ƒ ƒ qa Wq8 Wd  S(   Ni   i   (   u   specialu   check_bitop_identities_1u   rangeu	   MAXDIGITSu   getranu   check_bitop_identities_2u   check_bitop_identities_3(   u   selfu   xu   digitsu   lenxu   lenyu   y(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   test_bitop_identitiesË   s       c             C   sÇ   g  } d } | d k  o d | } } n x4 | o, t  | | ƒ \ } } | j t | ƒ ƒ q. W| j ƒ  | p d g } d d  | … i d d 6d d 6d d	 6d
 d 6| d j t d „  | ƒ ƒ S(   Ni    i   u   -u   0bi   u   0oi   u    i
   u   0xi   c             S   s   d  |  S(   u   0123456789abcdef(    (   u   i(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   <lambda>ã   s    (   u   divmodu   appendu   intu   reverseu   joinu   map(   u   selfu   xu   baseu   digitsu   signu   r(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   slow_format×   s     
1c             C   sö   x£ d t  f d t f d t f f D]€ \ } } | | ƒ } |  j | | ƒ } t d | j | | | ƒ } |  j | | | ƒ |  j t | d ƒ | t d | | ƒ ƒ q" Wt | ƒ } |  j | d ƒ } t d | j | | | ƒ } |  j | | | ƒ d  S(   Ni   i
   i   u%   %s returned %r but expected %r for %ri    u   long("%s", 0) != %r(	   u   octu   repru   hexu   slow_formatu   Frmu   __name__u   assertEqualu   intu   str(   u   selfu   xu   baseu   mapperu   gotu   expectedu   msg(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   check_format_1å   s    " ,c             C   ss   x t  D] } |  j | ƒ q WxN t d ƒ D]@ } x7 t d t d ƒ D]" } |  j | ƒ } |  j | ƒ qE Wq+ Wd  S(   Ni
   i   (   u   specialu   check_format_1u   rangeu	   MAXDIGITSu   getran(   u   selfu   xu   iu   lenx(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   test_formatõ   s       c       	      C   s	  |  j  t d ƒ d ƒ |  j  t d ƒ d ƒ |  j  t d ƒ d ƒ |  j  t d ƒ d ƒ |  j  t d ƒ d ƒ |  j  t d ƒ d ƒ |  j  t d ƒ d ƒ |  j  t d	 ƒ d ƒ |  j  t d
 ƒ d ƒ |  j  t d d ƒ d ƒ d d„ d… f d d d d† f g } t d  d  … } xª | | D]ž \ } } x d‡ D]‡ } x~ dˆ D]v } | | | } | } | d k o | t k	 o | } n y  |  j  t | ƒ t | ƒ ƒ Wq>t k
 o Yq>Xq>Wq1WqW|  j t t d ƒ |  j t t d d ƒ |  j t t d d ƒ |  j t t d d ƒ |  j t t d d ƒ |  j  t d d ƒ d  ƒ |  j  t d! d ƒ d  ƒ |  j  t d" d# ƒ d  ƒ |  j  t d$ d% ƒ d  ƒ |  j  t d& d' ƒ d  ƒ |  j  t d( d) ƒ d  ƒ |  j  t d* d+ ƒ d  ƒ |  j  t d, d- ƒ d  ƒ |  j  t d. d ƒ d  ƒ |  j  t d/ d0 ƒ d  ƒ |  j  t d1 d ƒ d  ƒ |  j  t d2 d3 ƒ d  ƒ |  j  t d4 d5 ƒ d  ƒ |  j  t d6 d7 ƒ d  ƒ |  j  t d8 d ƒ d  ƒ |  j  t d9 d: ƒ d  ƒ |  j  t d; d< ƒ d  ƒ |  j  t d= d> ƒ d  ƒ |  j  t d? d ƒ d  ƒ |  j  t d@ dA ƒ d  ƒ |  j  t dB dC ƒ d  ƒ |  j  t dD dE ƒ d  ƒ |  j  t dF dG ƒ d  ƒ |  j  t dH dI ƒ d  ƒ |  j  t dJ dK ƒ d  ƒ |  j  t dL dM ƒ d  ƒ |  j  t dN dO ƒ d  ƒ |  j  t dP dQ ƒ d  ƒ |  j  t dR dS ƒ d  ƒ |  j  t dT dU ƒ d  ƒ |  j  t dV dW ƒ d  ƒ |  j  t dX dY ƒ d  ƒ |  j  t dZ d[ ƒ d  ƒ |  j  t d\ d] ƒ d  ƒ |  j  t d^ d_ ƒ d  ƒ |  j  t d` d ƒ da ƒ |  j  t db d ƒ da ƒ |  j  t dc d# ƒ da ƒ |  j  t dd d% ƒ da ƒ |  j  t de d' ƒ da ƒ |  j  t df d) ƒ da ƒ |  j  t dg d+ ƒ da ƒ |  j  t dh d- ƒ da ƒ |  j  t di d ƒ da ƒ |  j  t dj d0 ƒ da ƒ |  j  t dk d ƒ da ƒ |  j  t dl d3 ƒ da ƒ |  j  t dm d5 ƒ da ƒ |  j  t dn d7 ƒ da ƒ |  j  t do d ƒ da ƒ |  j  t dp d: ƒ da ƒ |  j  t dq d< ƒ da ƒ |  j  t dr d> ƒ da ƒ |  j  t ds d ƒ da ƒ |  j  t dt dA ƒ da ƒ |  j  t du dC ƒ da ƒ |  j  t dv dE ƒ da ƒ |  j  t dw dG ƒ da ƒ |  j  t dx dI ƒ da ƒ |  j  t dy dK ƒ da ƒ |  j  t dz dM ƒ da ƒ |  j  t d{ dO ƒ da ƒ |  j  t d| dQ ƒ da ƒ |  j  t d} dS ƒ da ƒ |  j  t d~ dU ƒ da ƒ |  j  t d dW ƒ da ƒ |  j  t d€ dY ƒ da ƒ |  j  t d d[ ƒ da ƒ |  j  t d‚ d] ƒ da ƒ |  j  t dƒ d_ ƒ da ƒ d  S(‰   Ni:  g…ëQ¸	@i   g…ëQ¸	Àiýÿÿÿg333333@g333333Àg      @g      Àu   -3u   10i   u   1u   0i   i
   id   u    u   +u   -u    u   	u     		  u   123 u   53i(   i   i   u   123  245u!   100000000000000000000000000000000i   l        u   102002022201221111211u   10000000000000000i   u   32244002423141i   u   1550104015504i   u   211301422354i   u   40000000000i   u   12068657454i	   u
   4294967296u
   1904440554i   u	   9ba461594u	   535a79889i   u	   2ca5b7464i   u	   1a20dcd81i   u	   100000000u   a7ffda91i   u   704he7g4i   u   4f5aff66i   u   3723ai4gu   281d55i4i   u   1fj8b184i   u   1606k7ici   u   mb994agi   u   hek2mgli   u   dnchbnmi   u   b28jpdmi   u   8pfgih4i   u   76beiggi   u   5qmcpqgi   u   4q0jto4i   u   4000000i    u   3aokq94i!   u   2qhxjlii"   u   2br45qbi#   u   1z141z4i$   u!   100000000000000000000000000000001l       u   102002022201221111212u   10000000000000001u   32244002423142u   1550104015505u   211301422355u   40000000001u   12068657455u
   4294967297u
   1904440555u	   9ba461595u	   535a7988au	   2ca5b7465u	   1a20dcd82u	   100000001u   a7ffda92u   704he7g5u   4f5aff67u   3723ai4hu   281d55i5u   1fj8b185u   1606k7idu   mb994ahu   hek2mgmu   dnchbnnu   b28jpdnu   8pfgih5u   76beighu   5qmcpqhu   4q0jto5u   4000001u   3aokq95u   2qhxjlju   2br45qcu   1z141z5u   00000000000000000000l      Fµx:^V l                DG¨†dªrÓâÈYâ|gÄO¬s&YR5I (   u    u   +u   -(   u    u    u   	u     		  (   u   assertEqualu   intu   Lu
   ValueErroru   assertRaisesu	   TypeError(	   u   selfu   LLu   L2u   su   vu   signu   prefixu   ssu   vv(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu	   test_longý   sÐ        c                sÍ  Gd „  d ƒ } |  j  t t | ƒ  ƒ Gd „  d t ƒ } |  j  t t | ƒ  ƒ Gd „  d ƒ } Gd „  d t ƒ } Gd	 „  d
 t ƒ } Gd „  d t ƒ } Gd „  d t ƒ } Gd „  d t ƒ } |  j t | ƒ  ƒ d ƒ |  j t | ƒ  ƒ d ƒ |  j t | ƒ  ƒ d ƒ |  j t | ƒ  ƒ d ƒ |  j t | ƒ  ƒ d ƒ |  j  t t | ƒ  ƒ Gd „  d ƒ }	 xet |	 f D]W}
 Gd „  d |
 ƒ } |  j t | ƒ  ƒ d ƒ Gd „  d |
 ƒ } |  j t | ƒ  ƒ d ƒ xö t |	 f D]è } Gd „  d | ƒ ‰ G‡ f d †  d |
 ƒ } |  j t | ƒ  ƒ d ƒ G‡  f d †  d | ƒ ‰  G‡  f d †  d  |
 ƒ } y t | ƒ  ƒ Wn= t k
 o1 } z |  j t | ƒ d! ƒ WYd  d  } ~ XqÙX|  j d" |
 | f f ƒ qÙWqnWd  S(#   Nc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   ClassicMissingMethodsr  s   
u   ClassicMissingMethodsc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   MissingMethodsv  s   
u   MissingMethodsc             B   s   |  Ee  Z d  „  Z d S(   c             S   s   d S(   Ni*   (    (   u   self(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   __int__{  s    N(   u   __name__u
   __module__u   __int__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   Foo0z  s   
u   Foo0c             B   s   |  Ee  Z d  „  Z d S(   c             S   s   d S(   Ni*   (    (   u   self(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   __int__  s    N(   u   __name__u
   __module__u   __int__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   Foo1~  s   
u   Foo1c             B   s   |  Ee  Z d  „  Z d S(   c             S   s   d S(   Ni*   (    (   u   self(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   __int__ƒ  s    N(   u   __name__u
   __module__u   __int__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   Foo2‚  s   
u   Foo2c             B   s   |  Ee  Z d  „  Z d S(   c             S   s   |  S(   N(    (   u   self(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   __int__‡  s    N(   u   __name__u
   __module__u   __int__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   Foo3†  s   
u   Foo3c             B   s   |  Ee  Z d  „  Z d S(   c             S   s   d S(   Ni*   (    (   u   self(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   __int__‹  s    N(   u   __name__u
   __module__u   __int__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   Foo4Š  s   
u   Foo4c             B   s   |  Ee  Z d  „  Z d S(   c             S   s   d S(   Ng      E@(    (   u   self(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   __int__  s    N(   u   __name__u
   __module__u   __int__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   Foo5Ž  s   
u   Foo5i*   i    c             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   Classic™  s   
u   Classicc             B   s    |  Ee  Z d  „  Z d „  Z d S(   c             S   s   d S(   Ni*   (    (   u   self(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   __long__  s    c             S   s   d S(   Niôÿÿÿ(    (   u   self(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu	   __trunc__Ÿ  s    N(   u   __name__u
   __module__u   __long__u	   __trunc__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   LongOverridesTruncœ  s   
	u   LongOverridesTruncc             B   s   |  Ee  Z d  „  Z d S(   c             S   s   d S(   Ni*   (    (   u   self(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu	   __trunc__¤  s    N(   u   __name__u
   __module__u	   __trunc__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu	   JustTrunc£  s   
u	   JustTruncc             B   s   |  Ee  Z d  „  Z d S(   c             S   s   d S(   Ni*   (    (   u   self(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   __int__ª  s    N(   u   __name__u
   __module__u   __int__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   Integral©  s   
u   Integralc                s   |  Ee  Z ‡  f d  †  Z d S(   c                s   ˆ  ƒ  S(   N(    (   u   self(   u   Integral(    u+   /mit/python/lib/python3.0/test/test_long.pyu	   __trunc__®  s    N(   u   __name__u
   __module__u	   __trunc__(   u
   __locals__(   u   Integral(    u+   /mit/python/lib/python3.0/test/test_long.pyu   TruncReturnsNonLong­  s   
u   TruncReturnsNonLongc                s   |  Ee  Z ‡  f d  †  Z d S(   c                s   ˆ  ƒ  S(   N(    (   u   self(   u   NonIntegral(    u+   /mit/python/lib/python3.0/test/test_long.pyu	   __trunc__³  s    N(   u   __name__u
   __module__u	   __trunc__(   u
   __locals__(   u   NonIntegral(    u+   /mit/python/lib/python3.0/test/test_long.pyu   NonIntegral²  s   
u   NonIntegralc                s   |  Ee  Z ‡  f d  †  Z d S(   c                s   ˆ  ƒ  S(   N(    (   u   self(   u   NonIntegral(    u+   /mit/python/lib/python3.0/test/test_long.pyu	   __trunc__¸  s    N(   u   __name__u
   __module__u	   __trunc__(   u
   __locals__(   u   NonIntegral(    u+   /mit/python/lib/python3.0/test/test_long.pyu   TruncReturnsNonIntegral·  s   
u   TruncReturnsNonIntegralu2   __trunc__ returned non-Integral (type NonIntegral)u!   Failed to raise TypeError with %s(   u   assertRaisesu	   TypeErroru   intu   objectu   assertEqualu   assertEqualsu   stru   fail(   u   selfu   ClassicMissingMethodsu   MissingMethodsu   Foo0u   Foo1u   Foo2u   Foo3u   Foo4u   Foo5u   Classicu   baseu   LongOverridesTruncu	   JustTruncu   trunc_result_baseu   TruncReturnsNonLongu   TruncReturnsNonIntegralu   e(    (   u   NonIntegralu   Integralu+   /mit/python/lib/python3.0/test/test_long.pyu   test_conversionp  sJ      	c             C   s  t  j } | d } t | ƒ } t | ƒ } |  j | | d ƒ |  j | | d ƒ t | ƒ } y |  j | | d ƒ Wn! t k
 o |  j d ƒ Yn Xt | t ƒ p t d ƒ ‚ n t | ƒ } y |  j | | d ƒ Wn! t k
 o |  j d ƒ Yn Xt | t ƒ p t d	 ƒ ‚ n | d } y t | ƒ } Wn! t k
 o |  j d
 ƒ Yn X|  j t | t ƒ d ƒ | d } y t | ƒ } Wn! t k
 o |  j d ƒ Yn X|  j t | t ƒ d ƒ Gd „  d t ƒ } | d ƒ } t | ƒ } |  j t	 | ƒ t k d ƒ d  S(   Ni   u    long(sys.maxsize) != sys.maxsizeu&   long(-sys.maxsize-1) != -sys.maxsize-1u4   converting sys.maxsize to long and back to int failsu"   int(long(sys.maxsize)) overflowed!u/   int(long(sys.maxsize)) should have returned intu7   converting -sys.maxsize-1 to long and back to int failsu%   int(long(-sys.maxsize-1)) overflowed!u2   int(long(-sys.maxsize-1)) should have returned intu+   int(long(sys.maxsize) + 1) mustn't overflowu4   int(long(sys.maxsize) + 1) should have returned longu.   int(long(-sys.maxsize-1) - 1) mustn't overflowu7   int(long(-sys.maxsize-1) - 1) should have returned longc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   long2ò  s   
u   long2id   u<   overflowing int conversion must return long not long subtypel                (
   u   sysu   maxsizeu   intu   assertEqualu   OverflowErroru   failu
   isinstanceu
   TestFailedu   assert_u   type(   u   selfu   hugeposu   hugenegu   hugepos_aslongu   hugeneg_aslongu   xu   yu   long2(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu	   test_miscÄ  sT    	

c                sÔ  d d  l  } d d  l } d d d d | j d | j | j d g } t | j | j ƒ ƒ } | j | d | | d g ƒ | j d „  | Dƒ ƒ ‡ ‡ ‡  f d †  } x'| D]} t | ƒ } | ‰ | ‰ | d | ƒ xï| D]ç} t | ƒ }	 | |	 ‰ | | ‰ | | d | ƒ | |	 ‰ | | ‰ | | d | ƒ | |	 ‰ | | ‰ | | d	 | ƒ | oz | |	 ‰ | | ‰ | | d
 | ƒ | |	 ‰ | | ‰ | | d | ƒ t | |	 ƒ ‰ t | |	 ƒ ‰ | | d | ƒ n t | ƒ d k  oÕ | d k o
 | d k  oº | |	 ‰ | | ‰ | | d | ƒ x“ | D]‡ }
 |
 d k ot | d k oD t | |	 t |
 ƒ ƒ ‰ t | | |
 ƒ ‰ | d | | d |
 ƒ qÀˆ  j	 t
 t | |	 t |
 ƒ ƒ q9q9Wqá qá Wq­ Wd  S(   Ni    i   i   i   c             S   s   g  } |  ] } | | q
 S(    (    (   u   .0u   _[1]u   i(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu
   <listcomp>  s    c                 s&   ˆ j  ˆ ˆ  t d |  ˆ  ˆ ƒ ƒ d  S(   Nu   for %r expected %r got %r(   u   assertEqualu   Frm(   u   args(   u   expectedu   gotu   self(    u+   /mit/python/lib/python3.0/test/test_long.pyu   checkit  s    u   -u   +u   *u   /u   //u   divmodi   u   **u   powu   %(   u   mathu   sysu   maxsizeu   intu   sqrtu   extendu   divmodu   absu   powu   assertRaisesu	   TypeError(   u   selfu   mathu   sysu   specialu   sqrtu   checkitu   xu   longxu   yu   longyu   z(    (   u   selfu   gotu   expectedu+   /mit/python/lib/python3.0/test/test_long.pyu   test_auto_overflowû  s\    ,  









.

 c          '   C   s(  d d  l  } x* d4 D]" } |  j t t | ƒ ƒ | ƒ q Wd d } d5 } | } i | 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 g$ D]; } |  j t t | | ƒ |  j t | ƒ t | ƒ d3 ƒ qå Wd  S(6   Ni    g       Àg      ð¿g        g      ð?g       @u   12345ix   i   i0u  u   hugeu   mhugeu   shugeu   mathu   float(huge)u   float(mhuge)u   complex(huge)u   complex(mhuge)u   complex(huge, 1)u   complex(mhuge, 1)u   complex(1, huge)u   complex(1, mhuge)u	   1. + hugeu	   huge + 1.u
   1. + mhugeu
   mhuge + 1.u	   1. - hugeu	   huge - 1.u
   1. - mhugeu
   mhuge - 1.u	   1. * hugeu	   huge * 1.u
   1. * mhugeu
   mhuge * 1.u
   1. // hugeu
   huge // 1.u   1. // mhugeu   mhuge // 1.u	   1. / hugeu	   huge / 1.u
   1. / mhugeu
   mhuge / 1.u
   1. ** hugeu
   huge ** 1.u   1. ** mhugeu   mhuge ** 1.u   math.sin(huge)u   math.sin(mhuge)u   math.sqrt(huge)u   math.sqrt(mhuge)u(   float(shuge) should not equal int(shuge)(   g       Àg      ð¿g        g      ð?g       @lÑ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   (   u   mathu   assertEqualu   floatu   intu   assertRaisesu   OverflowErroru   evalu   assertNotEqual(   u   selfu   mathu   xu   shugeu   hugeu   mhugeu	   namespaceu   test(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   test_float_overflow9  s0      
"	
 c       	      C   sÛ   d d  l  } | j | j ƒ } xy t t d ƒ ƒ d d d g D]X } d | } | j | ƒ } |  j | | ƒ | | } | j | ƒ } |  j | | ƒ q> Wx: d
 D]2 } |  j t | j | ƒ |  j t | j | ƒ q¡ Wd  S(   Ni    i
   id   iè  i'  i   iþÿÿÿl›                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       leýÿÿ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     (   leýÿÿ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     iþÿÿÿi    (	   u   mathu   log10u   eu   listu   rangeu   assertAlmostEqualu   logu   assertRaisesu
   ValueError(	   u   selfu   mathu   LOG10Eu   expu   valueu   log10u   expectedu   logu   bad(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu	   test_logsZ  s      

 c       
         s§  |  j  } d d  l ‰ G‡  ‡ f d †  d ƒ ‰  d d d d d d d	 g } xf d d d f D]U } | j | d | d | | d | d t | d ƒ t | ƒ t | d ƒ g ƒ qY W| j d d d t j t t j ƒ g ƒ t d	 ƒ } | j d d d d | d | | d g ƒ | j d „  | Dƒ ƒ xy| D]q} ˆ  | ƒ } x\| D]T} ˆ  | ƒ } t | | ƒ } t | | ƒ }	 | | |	 t d | | | |	 ƒ ƒ | | | k | d k t d | | | ƒ ƒ | | | k | d k t d | | | ƒ ƒ | | | k  | d k  t d | | | ƒ ƒ | | | k | d k t d | | | ƒ ƒ | | | k | d k t d | | | ƒ ƒ | | | k | d k t d | | | ƒ ƒ qGWq.Wd  S(   Ni    c                sb   |  Ee  Z ‡ f d  †  Z ‡  f d †  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d S(	   c       	         s³  t  | t ƒ o | |  _ d |  _ nŠt  | t ƒ oiˆ  j t | ƒ ƒ \ } } | d k p% d | k o
 d k  n p t ‚ d } d } x‰ | o ˆ  j | | ƒ } t | ƒ } | | ?d k p t ‚ | | >| B} | | 8} d | k o
 d k  n p t ‚ | | 8} q’ W| d k o | | >} d } n | } d | >} | d k  o | } n | |  _ | |  _ t | ƒ t | ƒ | k p t ‚ n t	 d t
 ƒ ‚ d  S(   Ni   i    g      à?g      ð?i   g        u   can't deal with %r(   u
   isinstanceu   intu   nu   du   floatu   frexpu   absu   AssertionErroru   ldexpu	   TypeErroru   val(	   u   selfu   valueu   fu   eu   CHUNKu   topu   digitu   nu   d(   u   math(    u+   /mit/python/lib/python3.0/test/test_long.pyu   __init__x  s8    	2 
%

		(c                sA   t  | ˆ  ƒ p ˆ  | ƒ } n t |  j | j |  j | j ƒ S(   N(   u
   isinstanceu   cmpu   nu   d(   u   selfu   other(   u   Rat(    u+   /mit/python/lib/python3.0/test/test_long.pyu   _cmp__   s    c             S   s   |  j  | ƒ d k S(   Ni    (   u   _cmp__(   u   selfu   other(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   __eq__¤  s    c             S   s   |  j  | ƒ d k S(   Ni    (   u   _cmp__(   u   selfu   other(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   __ne__¦  s    c             S   s   |  j  | ƒ d k S(   Ni    (   u   _cmp__(   u   selfu   other(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   __ge__¨  s    c             S   s   |  j  | ƒ d k S(   Ni    (   u   _cmp__(   u   selfu   other(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   __gt__ª  s    c             S   s   |  j  | ƒ d k S(   Ni    (   u   _cmp__(   u   selfu   other(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   __le__¬  s    c             S   s   |  j  | ƒ d k  S(   Ni    (   u   _cmp__(   u   selfu   other(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   __lt__®  s    N(
   u   __name__u
   __module__u   __init__u   _cmp__u   __eq__u   __ne__u   __ge__u   __gt__u   __le__u   __lt__(   u
   __locals__(   u   Ratu   math(    u+   /mit/python/lib/python3.0/test/test_long.pyu   Ratw  s   
(					u   Ratgü©ñÒMbP?g®Gáz®ï?g      ð?g      ø?g@Œµx¯DgZb××çtig       @i0   i2   i5   g333333Ó?i   i   i N  c             S   s   g  } |  ] } | | q
 S(    (    (   u   .0u   _[1]u   x(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu
   <listcomp>¼  s    u   %r %r %d %du   %r == %r %du   %r != %r %du
   %r < %r %du   %r <= %r %du
   %r > %r %du   %r >= %r %dg      ðBg      Cg      @Cl6                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              (	   u   assertEqualu   mathu   extendu   intu   sysu   maxsizeu   floatu   cmpu   Frm(
   u   selfu   equ   casesu   tu   xu   Rxu   yu   Ryu   Rcmpu   xycmp(    (   u   Ratu   mathu+   /mit/python/lib/python3.0/test/test_long.pyu   test_mixed_comparesn  s6    	: %.(*  "+++++c          
   C   s  |  j  t d d ƒ d ƒ |  j  t d d ƒ d ƒ |  j  t d d ƒ d ƒ |  j  t d d ƒ d ƒ |  j  t d d	 ƒ d
 ƒ |  j  t d d	 ƒ d ƒ |  j  t d d ƒ d ƒ |  j  t d d ƒ d ƒ |  j  t d d ƒ d
 ƒ |  j  t d d ƒ d ƒ |  j  t d d ƒ d ƒ |  j  t d d ƒ d ƒ |  j  t d d ƒ d ƒ |  j  t d d ƒ d ƒ |  j  t d d ƒ d ƒ |  j  t d d ƒ d ƒ |  j  t d d ƒ d ƒ |  j  t d d ƒ d ƒ |  j  t d d ƒ d ƒ |  j  t d d ƒ d ƒ |  j  t d d ƒ d	 ƒ |  j  t d d ƒ d	 ƒ |  j  t t d d ƒ d ƒ d ƒ |  j  t t d d ƒ d ƒ d ƒ |  j  t t d d ƒ d ƒ d  ƒ |  j  t t d d ƒ d ƒ d! ƒ |  j  t d d" ƒ d# ƒ |  j  t d d" ƒ d$ ƒ |  j  t d d" ƒ d% ƒ |  j  t d d" ƒ d& ƒ |  j  t d d' ƒ d% ƒ |  j  t d d' ƒ d& ƒ |  j  t d d( ƒ d) ƒ |  j  t d d( ƒ d& ƒ |  j  t d d* ƒ d+ ƒ |  j  t d d* ƒ d& ƒ |  j t t d d, ƒ |  j t t d d- ƒ x× d. „  t t d/ ƒ t d0 ƒ d ƒ Dƒ d1 „  t t d2 ƒ t d3 ƒ d ƒ Dƒ D]… } | d4 k or |  j t t d5 | ƒ |  j t t d | ƒ |  j t t d | ƒ |  j t t d< | ƒ |  j t t d> | ƒ q'q'Wx\ d8 D]T } xK d5 d d d7 d9 d: d; g D]. } |  j  t | | ƒ t t | ƒ | ƒ ƒ qÙWq·Wd  S(?   NiÍ[u   du	   123456789i   u   -u   1iÿÿÿÿu   -1u   -3u     1u    -1u   +3u    +1u    3u    u    1i   u   xu   3u   XiÒ  u   4d2i.ûÿÿu   -4d2u   8xu        4d2u       -4d2iýÿÿÿu   bei   u   BEu   -beu   -BEu   bu   11u   -11u   10011010010u   -10011010010u   -bu    bu    10011010010u   +bu   +10011010010u   1.3u   +cc             S   s!   g  } |  ] } | t  | ƒ q
 S(    (   u   chr(   u   .0u   _[1]u   x(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu
   <listcomp>ý  s    u   au   zc             S   s!   g  } |  ] } | t  | ƒ q
 S(    (   u   chr(   u   .0u   _[1]u   x(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu
   <listcomp>þ  s    u   Au   Zu   bcdoxXeEfFgGn%i    i   id   u   eEfFgG%iœÿÿÿiÒ–Ii.ýi¶l                l                lùÿÿÿ             (   u   assertEqualu   formatu   intu   assertRaisesu
   ValueErroru   rangeu   ordu   float(   u   selfu   format_specu   value(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   test__format__Ë  sj    ""##)(   c             C   sO   |  j  t t t d ƒ ƒ |  j  t t t d ƒ ƒ |  j  t t t d ƒ ƒ d  S(   Nu   infu   -infu   nan(   u   assertRaisesu   OverflowErroru   intu   floatu
   ValueError(   u   self(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   test_nan_inf  s    c          
   C   s*  d } | } |  j  | | d ƒ |  j  | | d ƒ |  j  | | d ƒ |  j  | | d ƒ |  j  d | d ƒ |  j  d | d ƒ |  j  d | d ƒ |  j  d | d ƒ |  j  d | | d ?| d ƒ |  j  d | | d ?| d ƒ |  j  d | | d ?| d ƒ |  j  d | | d ?| d ƒ |  j  | | d >d	 ƒ |  j  d
 | | d
 ƒ i | d 6| d 6} x< d d d d d d d d g D] } |  j t t | | ƒ qWxF d d d d d d g D], } t | | ƒ } |  j  | d d | ƒ qÉWx* d d g D] } |  j t t | | ƒ qWd  S(   Ni   i@œ  g      ð?g      ð¿g        iš  g     Ô„@g     Ô„Àg      à?i@B u   hugeu   mhugeu   float(huge)u   float(mhuge)u   huge / 1u   huge / 2u	   huge / -1u	   huge / -2u   mhuge / 100u   mhuge / 200u   1 / hugeu   2 / hugeu	   -1 / hugeu	   -2 / hugeu   100 / mhugeu   200 / mhugeu   expected underflow to 0 from %ru   huge / 0u	   mhuge / 0lk
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       (   u   assertEqualu   assertRaisesu   OverflowErroru   evalu   ZeroDivisionError(   u   selfu   hugeu   mhugeu	   namespaceu   overflowu	   underflowu   resultu   zero(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   test_true_division  s>        	
 
  c             C   sb  x't  d d ƒ D]} |  j | | d k ƒ |  j | | d k ƒ |  j | | d k ƒ |  j | | d k ƒ |  j | | d @k ƒ |  j | | d Bk ƒ |  j | | d Ak ƒ |  j | | k ƒ |  j | | d k ƒ |  j | t t | ƒ ƒ k ƒ |  j | | d >d ?k t | ƒ ƒ q Wd } |  j | | d k ƒ |  j d | d k ƒ d  S(	   Niûÿÿÿi  i    i   iÿÿÿÿi   iF   l            (   u   rangeu
   assertTrueu   intu   str(   u   selfu   i(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   test_small_ints5  s      (N(   u   __name__u
   __module__u   getranu   getran2u   check_divisionu   test_divisionu   test_karatsubau   check_bitop_identities_1u   check_bitop_identities_2u   check_bitop_identities_3u   test_bitop_identitiesu   slow_formatu   check_format_1u   test_formatu	   test_longu   test_conversionu	   test_miscu   test_auto_overflowu   test_float_overflowu	   test_logsu   test_mixed_comparesu   test__format__u   test_nan_infu   test_true_divisionu   test_small_ints(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   LongTest:   s.   
				
									s	T	7	>	!		]	B		#u   LongTestc               C   s   t  j t ƒ d  S(   N(   u   supportu   run_unittestu   LongTest(    (    (    u+   /mit/python/lib/python3.0/test/test_long.pyu	   test_mainG  s    u   __main__(   u   unittestu   testu   supportu   sysu   randomu   objectu   Frmu   SHIFTu   BASEu   MASKu   KARATSUBA_CUTOFFu	   MAXDIGITSu   specialu   p2u   rangeu   iu   appendu   repru   maxsizeu
   ValueErroru   Lu   TestCaseu   LongTestu	   test_mainu   __name__(    (    (    u+   /mit/python/lib/python3.0/test/test_long.pyu   <module>   sR   	

 "															ÿ ÿ ÿ 	