-í
é¶<c       sÑ  d  k  l Z l Z l Z l Z d k l Z d k l Z l Z d Z	 d e	 Z
 e
 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 „  Z d „  Z d „  Z d „  Z e d „ Z d „  Z d „  Z d „  Z e d „ Z d „  Z d „  Z e d „ Z e d „ Z  d „  Z! d „  Z" d „  Z# e ƒ  e ƒ  e ƒ  e  ƒ  e! ƒ  e" ƒ  e# ƒ  d S(   (   s   verifys   verboses
   TestFaileds   fcmp(   s   join(   s   randoms   randinti   i   i   i
   i    l   UUª*UUª* l   ª*UUª*UU
 l    c    s   |  S(   N(   s   x(   s   x(    (    s$   /usr/lib/python2.2/test/test_long.pys   <lambda> s    c    s   |  S(   N(   s   x(   s   x(    (    s$   /usr/lib/python2.2/test/test_long.pys   <lambda> s    c    s+   |  o t t t t | ƒ d ƒ ‚ n d  S(   Ns    (   s   oks
   TestFaileds   joins   maps   strs   args(   s   oks   args(    (    s$   /usr/lib/python2.2/test/test_long.pys   check! s    c    s6  t  |  d j ƒ |  t } | t d } d } d } t t ƒ  t d ƒ d B} x  | | j  o’ | d ?d } t | | | ƒ } t  d | j o
 t j n ƒ | | } | | >} | d @o | d | >d B} n t t ƒ  t d ƒ } qR Wt  | | j o
 | j n ƒ t ƒ  d j  o | } n | Sd  S(   Ni    i   l    i   f0.5(   s   verifys   ndigitss   SHIFTs   nbits_his   nbits_los   answers   nbitss   ints   randoms   rs   bitss   min(   s   ndigitss   nbitss   nbits_los   nbits_his   answers   rs   bits(    (    s$   /usr/lib/python2.2/test/test_long.pys   getran+ s(    
 !

!c    sW   d } x+ t |  ƒ D] } | t >t d t ƒ B} q Wt ƒ  d j  o | } n | Sd  S(   Nl    i    f0.5(   s   answers   ranges   ndigitss   is   SHIFTs   randints   MASKs   random(   s   ndigitss   is   answer(    (    s$   /usr/lib/python2.2/test/test_long.pys   getran2C s     c    s  t  |  | ƒ \ } } |  | |  | f \ } } |  | | |  f \ } } t	 | | j d |  | ƒ t	 | | j d |  | ƒ t	 | | j d |  | ƒ t	 |  | | | j d |  | ƒ | d j o. t	 d | j o
 | j  n d |  | ƒ n+ t	 | | j  o
 d j n d |  | ƒ d  S(   Ns#   multiplication does not commute fors,   divmod returns different quotient than / fors'   divmod returns different mod than % fors   x != q*y + r after divmod oni    s   bad mod from divmod on(
   s   divmods   xs   ys   qs   rs   q2s   r2s   pabs   pbas   check(   s   xs   ys   qs   q2s   pabs   rs   pbas   r2(    (    s$   /usr/lib/python2.2/test/test_long.pys   test_division_2M s    !.c    su   t  o	 d GHn t d |  d ƒ } xK | D]C } t | ƒ } x. | D]& } t | ƒ p d } t	 | | ƒ qC Wq* Wd  S(   Ns   long / * % divmodi   l    (
   s   verboses   ranges	   maxdigitss   digitss   lenxs   getrans   xs   lenys   ys   test_division_2(   s	   maxdigitss   digitss   ys   xs   lenys   lenx(    (    s$   /usr/lib/python2.2/test/test_long.pys   test_divisionZ s    	  c    s[  t  |  d @d j d |  ƒ t  |  d B|  j d |  ƒ t  |  d A|  j d |  ƒ t  |  d @|  j d |  ƒ t  |  d Bd j d |  ƒ t  |  d A|  j d |  ƒ t  |  |  j d	 |  ƒ t  |  |  @|  j d
 |  ƒ t  |  |  B|  j d |  ƒ t  |  |  Ad j d |  ƒ t  |  |  @d j d |  ƒ t  |  |  Bd j d |  ƒ t  |  |  Ad j d |  ƒ t  |  d |  j o |  d j n d |  ƒ xÎ t d t ƒ D]¼ } d | } t  |  | >| ?|  j d |  | ƒ t  |  | |  | ?j d |  | | ƒ t  |  | |  | >j d |  | | ƒ t  |  | @|  | ?| >j o |  | d @j n d |  | | ƒ q—Wd  S(   Ni    s   x & 0 != 0 fors   x | 0 != x fors   x ^ 0 != x foriÿÿÿÿs   x & -1 != x fors   x | -1 != -1 fors   x ^ -1 != ~x fors   x != ~~x fors   x & x != x fors   x | x != x fors   x ^ x != 0 fors   x & ~x != 0 fors   x | ~x != -1 fors   x ^ ~x != -1 fori   s   not -x == 1 + ~x == ~(x-1) fori   l    s   x << n >> n != x fors   x // p2 != x >> n for x n p2s   x * p2 != x << n for x n p2s6   not x & -p2 == x >> n << n == x & ~(p2 - 1) for x n p2(   s   checks   xs   ranges   SHIFTs   ns   p2(   s   xs   p2s   n(    (    s$   /usr/lib/python2.2/test/test_long.pys   test_bitop_identities_1f s.    2 
!$$3c    sP  t  |  | @| |  @j d |  | ƒ t  |  | B| |  Bj d |  | ƒ t  |  | A| |  Aj d |  | ƒ t  |  | A|  A| j d |  | ƒ t  |  | @|  | Bj d |  | ƒ t  |  | B|  | @j d |  | ƒ t  |  | A|  | B|  | @@j d |  | ƒ t  |  | A|  | @|  | @Bj d |  | ƒ t  |  | A|  | B|  | B@j d	 |  | ƒ d  S(
   Ns   x & y != y & x fors   x | y != y | x fors   x ^ y != y ^ x fors   x ^ y ^ x != y fors   x & y != ~(~x | ~y) fors   x | y != ~(~x & ~y) fors   x ^ y != (x | y) & ~(x & y) fors    x ^ y == (x & ~y) | (~x & y) fors    x ^ y == (x | y) & (~x | ~y) for(   s   checks   xs   y(   s   xs   y(    (    s$   /usr/lib/python2.2/test/test_long.pys   test_bitop_identities_2~ s    !!!!$$c    sè   t  |  | @| @|  | | @@j d |  | | ƒ t  |  | B| B|  | | BBj d |  | | ƒ t  |  | A| A|  | | AAj d |  | | ƒ t  |  | | B@|  | @|  | @Bj d |  | | ƒ t  |  | | @B|  | B|  | B@j d |  | | ƒ d  S(   Ns   (x & y) & z != x & (y & z) fors   (x | y) | z != x | (y | z) fors   (x ^ y) ^ z != x ^ (y ^ z) fors$   x & (y | z) != (x & y) | (x & z) fors$   x | (y & z) != (x | y) & (x | z) for(   s   checks   xs   ys   z(   s   xs   ys   z(    (    s$   /usr/lib/python2.2/test/test_long.pys   test_bitop_identities_3Œ s      c    s±   t  o	 d GHn x t D] } t | ƒ q Wt d |  d ƒ } xl | D]d } t | ƒ } t | ƒ xE | D]= } t | ƒ } t | | ƒ t | | t | | d ƒ ƒ qh WqE Wd  S(   Ns   long bit-operation identitiesi   i   (   s   verboses   specials   xs   test_bitop_identities_1s   ranges	   maxdigitss   digitss   lenxs   getrans   lenys   ys   test_bitop_identities_2s   test_bitop_identities_3(   s	   maxdigitss   digitss   xs   ys   lenys   lenx(    (    s$   /usr/lib/python2.2/test/test_long.pys   test_bitop_identities˜ s    	  
 c    sî   |  | f d d f j o d Sn g  } d } |  d j  o d |  f \ } }  n x4 |  o, t |  | ƒ \ }  } | i t | ƒ ƒ qT W| i ƒ  | p d g } d |  h  d d <d d <d	 d
 <| t	 t
 d „  | ƒ d ƒ d Sd  S(   Ni    i   s   0Li   s   -s   0s    i
   s   0xi   c    s   d |  S(   Ns   0123456789ABCDEF(   s   i(   s   i(    (    s$   /usr/lib/python2.2/test/test_long.pys   <lambda>· s    s   L(   s   xs   bases   digitss   signs   divmods   rs   appends   ints   reverses   joins   map(   s   xs   bases   digitss   rs   sign(    (    s$   /usr/lib/python2.2/test/test_long.pys   slow_format¨ s     
c  
  sð   d k  l } x• d t f d t f d t f f D]r \ } } | |  ƒ } t	 |  | ƒ } t | | j | i d | d | d |  ƒ t | | d ƒ |  j d	 | |  ƒ q/ Wt |  ƒ } t	 |  d ƒ d
  } t | | j | i d | d | d |  ƒ d  S(   N(   s   atoli   i
   i   s   returneds   but expecteds   fori    s   atol("%s", 0) !=iÿÿÿÿ(   s   strings   atols   octs   reprs   hexs   bases   mappers   xs   gots   slow_formats   expecteds   checks   __name__s   str(   s   xs   mappers   bases   atols   expecteds   got(    (    s$   /usr/lib/python2.2/test/test_long.pys   test_format_1º s    " 'c    sz   t  o	 d GHn x t D] } t | ƒ q WxH t d ƒ D]: } x1 t d |  d ƒ D] } t | ƒ } t | ƒ qR Wq8 Wd  S(   Ns   long str/hex/oct/atoli
   i   (	   s   verboses   specials   xs   test_format_1s   ranges   is	   maxdigitss   lenxs   getran(   s	   maxdigitss   is   xs   lenx(    (    s$   /usr/lib/python2.2/test/test_long.pys   test_formatÉ s    	   c    sm  t  o	 d GHn d  k } | i } | d } t | ƒ } t | ƒ } t | | j d ƒ t | | j d ƒ y t t	 | ƒ | j d ƒ Wn t
 j
 o t d ‚ n Xy t t	 | ƒ | j d ƒ Wn t
 j
 o t d ‚ n X| d } y t	 | ƒ t ‚ Wn" t
 j
 o n t d	 ‚ n X| d } y t	 | ƒ t ‚ Wn" t
 j
 o n t d
 ‚ n Xd  S(   Ns   long miscellaneous operationsi   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!s6   converting -sys.maxint-1 to long and back to int failss$   int(long(-sys.maxint-1)) overflowed!s)   int(long(sys.maxint) + 1) didn't overflows,   int(long(-sys.maxint-1) - 1) didn't overflow(   s   verboses   syss   maxints   hugeposs   hugenegs   longs   hugepos_aslongs   hugeneg_aslongs   checks   ints   OverflowErrors
   TestFaileds   xs
   ValueError(   s	   maxdigitss   hugeposs   hugepos_aslongs   syss   hugenegs   hugeneg_aslongs   x(    (    s$   /usr/lib/python2.2/test/test_long.pys	   test_miscÕ sH    			





c     s   d  k  } d  k } t o	 d GHn d d d d | i d | i | i d g } t | i | i ƒ ƒ } | i | d | | d g ƒ | i g  i }	 | D] } |	 | ƒ q˜ ~	 ƒ ‡  ‡ d †  } xW| D]O}
 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 o¤ | d j oD t | |  t | ƒ ƒ ‰  t |
 | | ƒ ‰ | d |
 | d | ƒ nP y t | |  t | ƒ ƒ Wn t j
 o n! Xt d | |  t | ƒ f ƒ ‚ n qUWn qý WqÉ Wd  S(   Ns"   auto-convert int->long on overflowi    i   i   i   c     s$   t  ˆ ˆ  j d |  ˆ  ˆ f ƒ d  S(   Ns   for %r expected %r got %r(   s   verifys   gots   expecteds   args(   s   args(   s   expecteds   got(    s$   /usr/lib/python2.2/test/test_long.pys   checkits    s   -s   +s   *s   /s   //s   divmodi   s   **s   pows   %s"   pow%r should have raised TypeError(   s   maths   syss   verboses   maxints   specials   ints   sqrts   extends   appends   _[1]s   is   checkits   xs   longs   longxs   expecteds   gots   ys   longys   divmods   abss   zs   pows	   TypeErrors
   TestFailed(   s   longys   longxs   checkits   expecteds   gots   specials   syss   is   sqrts   _[1]s   xs   ys   zs   math(    (   s   expecteds   gots$   /usr/lib/python2.2/test/test_long.pys   test_auto_overflowsj    	,   









.

 c   &  sE  d  k  } t o	 d GHn x9 d d d d d f D]" } t t t | ƒ ƒ | j ƒ q/ Wd d >}  |  } h  |  d	 <| d
 <| d <} 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, d- d. d/ d0 d1 g& D]= } y t
 | | ƒ Wn t j
 o n Xt d2 | ƒ ‚ q Wd  S(3   Ns   long->float overflowf-2.0f-1.0f0.0f1.0f2.0l    i0u  s   huges   mhuges   maths   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   expected OverflowError from %s(   s   maths   verboses   xs   verifys   floats   longs   huges   mhuges	   namespaces   tests   evals   OverflowErrors
   TestFailed(   s   huges	   namespaces   mhuges   tests   xs   math(    (    s$   /usr/lib/python2.2/test/test_long.pys   test_float_overflowMs     		  
!y c     s<  d  k  } t o	 d GHn | i | i ƒ } x… t d ƒ d d d g D]j } d | } | i | ƒ } t t	 | | ƒ d j ƒ | | } | i | ƒ }  t t	 |  | ƒ d j ƒ qE Wx‚ d d >d d	 f D]l } y | i | ƒ t d
 ƒ ‚ Wn t j
 o n Xy | i | ƒ t d ƒ ‚ Wn t j
 o n XqÈ Wd  S(   Ns   log and log10i
   id   iè  i'  i    l    lÿÿÿÿ l    s"   expected ValueError from log(<= 0)s$   expected ValueError from log10(<= 0)(   s   maths   verboses   log10s   es   LOG10Es   ranges   exps   values   verifys   fcmps   expecteds   logs   bads
   TestFaileds
   ValueError(   s   logs   LOG10Es   bads   values   exps   expecteds   log10s   math(    (    s$   /usr/lib/python2.2/test/test_long.pys	   test_logsps0    		 

 N($   s   test_supports   verifys   verboses
   TestFaileds   fcmps   strings   joins   randoms   randints   SHIFTs   BASEs   MASKs	   MAXDIGITSs   maps   longs   specials   appends   p2s   ranges   is   checks   getrans   getran2s   test_division_2s   test_divisions   test_bitop_identities_1s   test_bitop_identities_2s   test_bitop_identities_3s   test_bitop_identitiess   slow_formats   test_format_1s   test_formats	   test_miscs   test_auto_overflows   test_float_overflows	   test_logs(   s	   MAXDIGITSs   randoms	   test_logss   verboses   test_bitop_identities_2s   getran2s   SHIFTs   test_divisions   test_formats   BASEs
   TestFaileds   slow_formats   test_division_2s   test_float_overflows   checks   specials   test_bitop_identities_1s   p2s   joins   test_auto_overflows   randints   is   verifys   test_bitop_identities_3s   MASKs   fcmps	   test_miscs   getrans   test_format_1s   test_bitop_identities(    (    s$   /usr/lib/python2.2/test/test_long.pys   ? sN   

" &	
		
						/	I	#	"