Ñò
à"Ic        	   @   s  d  d k  l Z l Z d  d k Z d  d k Z d  d k Z d  d k Z d  d k Z d Z e	 d ƒ Z
 e	 d ƒ Z e	 d ƒ Z e d j o e i d Z n e Z e i i e ƒ p e i Z e i i e d	 ƒ Z d
 „  Z d e i f d „  ƒ  YZ d „  Z e d j o e ƒ  n d S(   iÿÿÿÿ(   t   run_unittestt   verboseNgñhãˆµøä>t   nant   infs   -inft   __main__i    s   cmath_testcases.txtc         c   sí   t  |  ƒ i i ƒ  } zÍ | ~ } x½ | D]µ } | i d ƒ p | i ƒ  o q* n | i d ƒ \ } } | i ƒ  \ } } } }	 | i ƒ  }
 |
 d |
 d } } |
 d } | | t | ƒ t |	 ƒ t | ƒ t | ƒ | f Vq* WWd QXd S(   s“   Parse a file with test values

    Empty lines or lines starting with -- are ignored
    yields id, fn, arg_real, arg_imag, exp_real, exp_imag
    s   --s   ->i    i   i   N(   t   opent   __exit__t	   __enter__t
   startswitht   stript   splitt   float(   t   fnamet   _[1]t   fpt   linet   lhst   rhst   idt   fnt   arg_realt   arg_imagt
   rhs_piecest   exp_realt   exp_imagt   flags(    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   parse_testfile   s    # 
t	   MathTestsc           B   s˜  e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z e i d
 ƒ i d ƒ o d „  Z n 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$ „  Z' d% „  Z d& „  Z( d' „  Z) e* o d( „  Z+ n d) „  Z, RS(*   c         C   s9   t  | | ƒ t j o |  i d | | | f ƒ n d  S(   Ns   %s returned %r, expected %r(   t   abst   epst   fail(   t   selft   namet   valuet   expected(    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   ftest2   s    	c         C   s0   |  i  d t i d ƒ |  i  d t i d ƒ d  S(   Nt   pigJØMû!	@t   egB‡
¿@(   R#   t   mathR$   R%   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   testConstants;   s    c         C   sÀ   |  i  t t i ƒ |  i d t i d ƒ t i ƒ |  i d t i d ƒ t i d ƒ |  i d t i d ƒ d ƒ |  i  t t i t ƒ |  i  t t i t ƒ |  i	 t i
 t i t ƒ ƒ ƒ d  S(   Ns   acos(-1)iÿÿÿÿs   acos(0)i    i   s   acos(1)i   (   t   assertRaisest	   TypeErrorR&   t   acosR#   R$   t
   ValueErrort   INFt   NINFt   assert_t   isnant   NAN(   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   testAcos?   s    #c         C   sÉ   |  i  t t i ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ d ƒ |  i  t t i d ƒ |  i  t t i d ƒ |  i t i t ƒ t ƒ |  i  t t i t ƒ |  i	 t i
 t i t ƒ ƒ ƒ d  S(   Ns   acosh(1)i   i    s   acosh(2)i   g5˜qBõ?iÿÿÿÿ(   R(   R)   R&   t   acoshR#   R+   t   assertEqualsR,   R-   R.   R/   R0   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt	   testAcoshH   s    c         C   sÅ   |  i  t t i ƒ |  i d t i d ƒ t i d ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ t i d ƒ |  i  t t i t ƒ |  i  t t i t ƒ |  i	 t i
 t i t ƒ ƒ ƒ d  S(   Ns   asin(-1)iÿÿÿÿi   s   asin(0)i    s   asin(1)i   (   R(   R)   R&   t   asinR#   R$   R+   R,   R-   R.   R/   R0   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   testAsinR   s    $#c         C   s¼   |  i  t t i ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ d ƒ |  i t i t ƒ t ƒ |  i t i t ƒ t ƒ |  i t i	 t i t
 ƒ ƒ ƒ d  S(	   Ns   asinh(0)i    s   asinh(1)i   g'Ôya64ì?s	   asinh(-1)iÿÿÿÿg'Ôya64ì¿(   R(   R)   R&   t   asinhR#   R3   R,   R-   R.   R/   R0   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt	   testAsinh[   s    c         C   sà   |  i  t t i ƒ |  i d t i d ƒ t i d ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ t i d ƒ |  i d t i t ƒ t i d	 ƒ |  i d
 t i t ƒ t i d	 ƒ |  i t i	 t i t
 ƒ ƒ ƒ d  S(   Ns   atan(-1)iÿÿÿÿi   s   atan(0)i    s   atan(1)i   s	   atan(inf)i   s
   atan(-inf)(   R(   R)   R&   t   atanR#   R$   R,   R-   R.   R/   R0   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   testAtand   s    $##$c         C   sâ   |  i  t t i ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ d ƒ |  i  t t i d	 ƒ |  i  t t i d
 ƒ |  i  t t i t ƒ |  i  t t i t ƒ |  i	 t i
 t i t ƒ ƒ ƒ d  S(   Ns   atanh(0)i    s
   atanh(0.5)g      à?g­zê“á?s   atanh(-0.5)g      à¿g­zê“á¿i   iÿÿÿÿ(   R(   R)   R&   R9   R#   t   atanhR+   R,   R-   R.   R/   R0   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt	   testAtanhm   s    c         C   sî  |  i  t t i ƒ |  i d t i d d ƒ t i d ƒ |  i d t i d d ƒ t i d ƒ |  i d t i d d ƒ d ƒ |  i d	 t i d d ƒ t i d ƒ |  i d
 t i d d ƒ t i d ƒ |  i d t i d t ƒ t i ƒ |  i d t i d d ƒ t i ƒ |  i d t i d d ƒ t i ƒ |  i t i d d ƒ d ƒ |  i t i d d ƒ d ƒ |  i t i d t ƒ d ƒ |  i	 t i
 t i d t ƒ ƒ ƒ |  i d t i d t ƒ t i ƒ |  i d t i d d ƒ t i ƒ |  i d t i d d ƒ t i ƒ |  i t i d d ƒ d ƒ |  i t i d d ƒ d ƒ |  i t i d t ƒ d ƒ |  i	 t i
 t i d t ƒ ƒ ƒ |  i d t i t t ƒ t i d d ƒ |  i d t i t d ƒ t i d ƒ |  i d t i t d ƒ t i d ƒ |  i d t i t d ƒ t i d ƒ |  i d t i t d ƒ t i d ƒ |  i d t i t t ƒ t i d ƒ |  i	 t i
 t i t t ƒ ƒ ƒ |  i d t i t t ƒ t i d d ƒ |  i d t i t d ƒ t i d ƒ |  i d t i t d ƒ t i d ƒ |  i d t i t d ƒ t i d ƒ |  i d  t i t d ƒ t i d ƒ |  i d! t i t t ƒ t i d ƒ |  i	 t i
 t i t t ƒ ƒ ƒ |  i d" t i d t ƒ t i ƒ |  i d# t i d d ƒ t i d ƒ |  i d$ t i d d ƒ t i d ƒ |  i t i d t ƒ d ƒ |  i	 t i
 t i d t ƒ ƒ ƒ |  i d% t i d t ƒ t i ƒ |  i d& t i d d ƒ t i d ƒ |  i d' t i d d ƒ t i d ƒ |  i t i d t ƒ d ƒ |  i	 t i
 t i d t ƒ ƒ ƒ |  i	 t i
 t i t t ƒ ƒ ƒ |  i	 t i
 t i t d ƒ ƒ ƒ |  i	 t i
 t i t d ƒ ƒ ƒ |  i	 t i
 t i t d ƒ ƒ ƒ |  i	 t i
 t i t d ƒ ƒ ƒ |  i	 t i
 t i t t ƒ ƒ ƒ |  i	 t i
 t i t t ƒ ƒ ƒ d  S((   Ns   atan2(-1, 0)iÿÿÿÿi    i   s   atan2(-1, 1)i   i   s   atan2(0, 1)s   atan2(1, 1)s   atan2(1, 0)s   atan2(0., -inf)g        s   atan2(0., -2.3)gffffffÀs   atan2(0., -0.)g       €gffffff@s   atan2(-0., -inf)s   atan2(-0., -2.3)s   atan2(-0., -0.)s   atan2(inf, -inf)i   s   atan2(inf, -2.3)s   atan2(inf, -0.)s   atan2(inf, 0.)s   atan2(inf, 2.3)s   atan2(inf, inf)s   atan2(-inf, -inf)s   atan2(-inf, -2.3)s   atan2(-inf, -0.)s   atan2(-inf, 0.)s   atan2(-inf, 2.3)s   atan2(-inf, inf)s   atan2(2.3, -inf)s   atan2(2.3, -0.)s   atan2(2.3, 0.)s   atan2(-2.3, -inf)s   atan2(-2.3, -0.)s   atan2(-2.3, 0.)(   R(   R)   R&   t   atan2R#   R$   R-   t   assertEqualR,   R.   R/   R0   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt	   testAtan2x   sf    ''&&""""###"*&&&&&"+'''''""&&"#''"""""""c         C   s  |  i  t t i ƒ |  i t t t i d ƒ ƒ ƒ |  i t t t i d ƒ ƒ ƒ |  i t t t i d ƒ ƒ ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ d	 ƒ |  i d
 t i d ƒ d ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ d ƒ |  i t i t ƒ t ƒ |  i t i t	 ƒ t	 ƒ |  i
 t i t i t ƒ ƒ ƒ d t f d „  ƒ  Y} d t f d „  ƒ  Y} |  i d t i | ƒ  ƒ d ƒ |  i  t t i | ƒ  ƒ | ƒ  } d „  | _ |  i  t t i | ƒ |  i  t t i | d ƒ d  S(   Ni   l    g      ð?s	   ceil(0.5)g      à?s	   ceil(1.0)s	   ceil(1.5)g      ø?i   s
   ceil(-0.5)g      à¿i    s
   ceil(-1.0)g      ð¿iÿÿÿÿs
   ceil(-1.5)g      ø¿t   TestCeilc           B   s   e  Z d  „  Z RS(   c         S   s   d S(   Ngfffff¦D@(    (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt	   __float__Æ   s    (   t   __name__t
   __module__RA   (    (    (    s+   /mit/python/lib/python2.6/test/test_math.pyR@   Å   s   t
   TestNoCeilc           B   s   e  Z RS(    (   RB   RC   (    (    (    s+   /mit/python/lib/python2.6/test/test_math.pyRD   È   s   s   ceil(TestCeil())i*   c          W   s   |  S(    (    (   t   args(    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   <lambda>Î   s    (   R(   R)   R&   t   ceilR3   R   t   typeR#   R,   R-   R.   R/   R0   t   objectt   __ceil__(   R   R@   RD   t   t(    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   testCeilµ   s*    	t   doublet   IEEEc         C   sý  |  i  t t i ƒ |  i t d d ƒ d ƒ |  i t d d ƒ d ƒ |  i t t d ƒ t ƒ |  i t t d ƒ t ƒ |  i t t d ƒ t ƒ |  i t t d ƒ t ƒ |  i t d t ƒ d ƒ |  i t d t ƒ d ƒ |  i t t t ƒ t ƒ |  i t t t ƒ t ƒ |  i t t t ƒ t ƒ |  i t t t ƒ t ƒ |  i t i t t	 d ƒ ƒ ƒ |  i t i t t	 t ƒ ƒ ƒ |  i t i t t	 t ƒ ƒ ƒ |  i t i t t	 t	 ƒ ƒ ƒ |  i t i
 t t t	 ƒ ƒ ƒ |  i t t d t	 ƒ ƒ d ƒ d  S(   Ng      ð?g        g       €g      ð¿g       @(   R(   R)   R&   t   copysignR3   R,   R-   R.   R/   R0   t   isinfR   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   testCopysignÓ   s&    c         C   s<  |  i  t t i ƒ |  i d t i t i d ƒ d ƒ |  i d t i d ƒ d ƒ |  i d t i t i d ƒ d ƒ |  i d t i t i ƒ d ƒ yB |  i t i t i t ƒ ƒ ƒ |  i t i t i t	 ƒ ƒ ƒ Wn? t
 j
 o3 |  i  t
 t i t ƒ |  i  t
 t i t	 ƒ n X|  i t i t i t ƒ ƒ ƒ d  S(	   Ns
   cos(-pi/2)i   i    s   cos(0)i   s	   cos(pi/2)s   cos(pi)iÿÿÿÿ(   R(   R)   R&   t   cosR#   R$   R.   R/   R,   R-   R+   R0   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   testCosî   s    $##c         C   sµ   |  i  t t i ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ d t i d ƒ d d ƒ |  i t i t ƒ t ƒ |  i t i t ƒ t ƒ |  i t i	 t i t
 ƒ ƒ ƒ d  S(   Ns   cosh(0)i    i   s   cosh(2)-2*cosh(1)**2i   iÿÿÿÿ(   R(   R)   R&   t   coshR#   R3   R,   R-   R.   R/   R0   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   testCoshü   s    1c         C   s}   |  i  t t i ƒ |  i d t i t i ƒ d ƒ |  i d t i t i d ƒ d ƒ |  i d t i t i d ƒ d ƒ d  S(	   Ns   degrees(pi)g     €f@s   degrees(pi/2)i   g     €V@s   degrees(-pi/4)i   g     €FÀ(   R(   R)   R&   t   degreesR#   R$   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   testDegrees  s    #c         C   sÆ   |  i  t t i ƒ |  i d t i d ƒ d t i ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ t i ƒ |  i t i t ƒ t ƒ |  i t i t ƒ d ƒ |  i	 t i
 t i t ƒ ƒ ƒ d  S(   Ns   exp(-1)iÿÿÿÿi   s   exp(0)i    s   exp(1)g        (   R(   R)   R&   t   expR#   R%   R3   R,   R-   R.   R/   R0   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   testExp
  s    #c         C   sk   |  i  t t i ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ d ƒ d  S(   Ns   fabs(-1)iÿÿÿÿi   s   fabs(0)i    s   fabs(1)(   R(   R)   R&   t   fabsR#   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   testFabs  s    c      	   C   sÓ   d „  } t  d ƒ d d d g } t i | ƒ xn t  d ƒ D]` } xW t t t f D]F } |  i t i | | ƒ ƒ | | ƒ | | | ƒ t i | ƒ f ƒ qR Wq< W|  i	 t
 t i d ƒ |  i	 t
 t i t i ƒ d  S(   Nc         S   s8   d } x+ t  d t |  ƒ d ƒ D] } | | 9} q  W| S(   Ni   (   t   ranget   int(   t   nt   resultt   i(    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   fact  s
     i
   i2   id   iô  iÿÿÿÿ(   R\   t   randomt   shuffleR]   t   longR   R>   R&   t	   factorialR(   R+   R$   (   R   Ra   t   valuest   xt   cast(    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   testFactorial  s    	  Hc         C   sM  |  i  t t i ƒ |  i t t t i d ƒ ƒ ƒ |  i t t t i d ƒ ƒ ƒ |  i t t t i d ƒ ƒ ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ d ƒ |  i d t i d	 ƒ d ƒ |  i d
 t i d ƒ d ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ d ƒ |  i t i t	 ƒ t	 ƒ |  i t i t
 ƒ t
 ƒ |  i t i t i t ƒ ƒ ƒ d t f d „  ƒ  Y} d t f d „  ƒ  Y} |  i d t i | ƒ  ƒ d ƒ |  i  t t i | ƒ  ƒ | ƒ  } d „  | _ |  i  t t i | ƒ |  i  t t i | d ƒ d  S(   Ni   l    g      ð?s
   floor(0.5)g      à?i    s
   floor(1.0)s
   floor(1.5)g      ø?s   floor(-0.5)g      à¿iÿÿÿÿs   floor(-1.0)g      ð¿s   floor(-1.5)g      ø¿iþÿÿÿs   floor(1.23e167)g‚àNÝ¯ bs   floor(-1.23e167)g‚àNÝ¯ ât	   TestFloorc           B   s   e  Z d  „  Z RS(   c         S   s   d S(   Ngfffff&E@(    (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyRA   <  s    (   RB   RC   RA   (    (    (    s+   /mit/python/lib/python2.6/test/test_math.pyRj   ;  s   t   TestNoFloorc           B   s   e  Z RS(    (   RB   RC   (    (    (    s+   /mit/python/lib/python2.6/test/test_math.pyRk   >  s   s   floor(TestFloor())i*   c          W   s   |  S(    (    (   RE   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyRF   D  s    (   R(   R)   R&   t   floorR3   R   RH   R#   RG   R,   R-   R.   R/   R0   RI   t	   __floor__(   R   Rj   Rk   RK   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt	   testFloor'  s.    	c         C   sC  |  i  t t i ƒ |  i d t i d d ƒ d ƒ |  i d t i d d ƒ d ƒ |  i d t i d d ƒ d ƒ |  i d	 t i d
 d ƒ d ƒ |  i d t i d
 d ƒ d ƒ |  i d t i d
 d ƒ d ƒ |  i t i t i t d ƒ ƒ ƒ |  i t i t i d t ƒ ƒ ƒ |  i t i t i t t ƒ ƒ ƒ |  i  t t i d d ƒ |  i  t t i t	 d ƒ |  i  t t i t
 d ƒ |  i  t t i t	 d ƒ |  i t i d t	 ƒ d ƒ |  i t i d t	 ƒ d ƒ |  i t i d t
 ƒ d ƒ |  i t i d t
 ƒ d ƒ |  i t i d d ƒ d ƒ |  i t i d t
 ƒ d ƒ d  S(   Ns
   fmod(10,1)i
   i   i    s   fmod(10,0.5)g      à?s   fmod(10,1.5)g      ø?s   fmod(-10,1)iöÿÿÿs   fmod(-10,0.5)s   fmod(-10,1.5)iÿÿÿÿg      ð?g        g      @g      À(   R(   R)   R&   t   fmodR#   R.   R/   R0   R+   R,   R-   R3   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   testFmodH  s(    """c            sç   ˆ  i  t t i ƒ ‡  f d †  } | d t i d ƒ d ƒ | d t i d ƒ d ƒ | d t i d ƒ d ƒ | d
 t i d ƒ d ƒ ˆ  i t i t ƒ d t ƒ ˆ  i t i t ƒ d t ƒ ˆ  i t i t i t	 ƒ d ƒ ƒ d  S(   Nc            sj   | \ } } | \ } } t  | | ƒ t j p | | j o* ˆ  i d |  | | f | | f f ƒ n d  S(   Ns   %s returned %r, expected %r(   R   R   R   (   R    t   .1t   .2t   mantRX   t   emantt   eexp(   R   (    s+   /mit/python/lib/python2.6/test/test_math.pyt	   testfrexpa  s    $	s	   frexp(-1)iÿÿÿÿg      à¿i   s   frexp(0)i    s   frexp(1)g      à?s   frexp(2)i   (   g      à¿i   (   i    i    (   g      à?i   (   g      à?i   (
   R(   R)   R&   t   frexpR3   R,   R-   R.   R/   R0   (   R   Rv   (    (   R   s+   /mit/python/lib/python2.6/test/test_math.pyt	   testFrexp^  s    c            s¦  t  i d ƒ i d ƒ p d  Sd4 d5 j o d  Sd d k l } | i ‰  | i ˆ  ‰ ‡ ‡  f d †  } g  d	 f d	 g d	 f d
 d d d d d d g d f d6 d d8 g d: f d; d d< g d> f d@ d dA g dC f dE d dF g dH f g  } t d d ƒ D] } | d | q÷ ~ t  i d ƒ f g  } t d d ƒ D] } | d | | q1~ t  i d ƒ f g  } t d ƒ D] } | d | d d | ql~ dJ g d f d d d  g d! f dK d dL dN d dO g d	 f g  } t d# d$ d% ƒ D]) } | d | d | d& d | d' qã~ dQ g t  i d) ƒ f g }	 xŸ t	 |	 ƒ D]‘ \ } \ }
 } y t
 i |
 ƒ } WnY t j
 o! |  i d* | | |
 f ƒ n. t j
 o! |  i d+ | | |
 f ƒ n X|  i | | ƒ q;Wd d, k l } l } l } x³ t d ƒ D]¥ } d- d
 d. d d/ d0 g d1 }
 d2 } xE t d3 ƒ D]7 } | d2 | ƒ  ƒ d- | } | | 7} |
 i | ƒ q.W| |
 ƒ | |
 ƒ } |  i | |
 ƒ t
 i |
 ƒ ƒ qùWd  S(R   NRM   RN   g €à7yÃACg       @gÇ):’Ëÿ@iÿÿÿÿ(   t
   float_infoc            s'  d \ } } xƒ |  D]{ } t  i | ƒ \ } } t t  i | ˆ ƒ ƒ | ˆ } } | | j o | | | K} | } n | | | K} | | 7} q Wt t t t | ƒ ƒ ƒ d ˆ ˆ  | ƒ } | d j oK d | d >} | d | t | | @o | d | d @ƒ } | | 7} n t  i | | ƒ S(   sÓ   Full precision summation.  Compute sum(iterable) without any
            intermediate accumulation of error.  Based on the 'lsum' function
            at http://code.activestate.com/recipes/393090/

            i    i   i   i   (   i    i    (	   R&   Rw   R]   t   ldexpt   maxt   lent   binR   t   bool(   t   iterablet   tmantt   texpRg   Rs   RX   t   tailt   h(   t   etinyt   mant_dig(    s+   /mit/python/lib/python2.6/test/test_math.pyt   msum‡  s      #
-/g        g}Ã”%­I²Tg      ð?g}Ã”%­I²Ôg0Žä.ÿ++gšd~ÅQJg      ð¿gšd~ÅQÊi5   g      à¿iÊÿÿÿiœÿÿÿg      $@g      (@g      @g      à?g      @i   ié  s   0x1.df11f45f4e61ap+2s   -0x1.62a2af1bd3624p-1iè  g333333û?g¼‰Ø—²Òœ<g€à7yÃACiËÿÿÿiÎûÿÿiÌ  i   i2   i4   iþ  s   0x1.5555555555555p+970sD   test %d failed: got OverflowError, expected %r for math.fsum(%.100r)sA   test %d failed: got ValueError, expected %r for math.fsum(%.100r)(   Rb   t   gaussRc   i   iùÿÿÿghŠ$.5ú»g#B’¡œ÷;i
   i    iÈ   g€à7yÃACg€à7yÃACg      @Cg      <g      ¼g      @Cgÿÿÿÿÿÿ?Cg      @Cg      °9g      @Cg     @Cg      @Cg     @Cg      °9g      @Cg     @Cg      @Cgüÿÿÿÿÿ?Cg      <g      @Cgýÿÿÿÿÿ?CgáïþáÒ-ÇogáïþáÒ-Çïgÿà7yÃACg       <gÿà7yÃACgÿà7yÃAÃg       <g      Ðg      Ðÿ(   R   t   __getformat__R   t   sysRy   R…   t   min_expR\   t   fromhext	   enumerateR&   t   fsumt   OverflowErrorR   R+   R>   Rb   R‡   Rc   t   xranget   append(   R   Ry   R†   R   R^   t   _[2]t   _[3]R`   t   _[4]t   test_valuest   valsR"   t   actualRb   R‡   Rc   t   jt   st   v(    (   R…   R„   s+   /mit/python/lib/python2.6/test/test_math.pyt   testFsumo  sb    			+/AF 		  

c         C   s	  |  i  t t i ƒ |  i d t i d d ƒ d ƒ |  i d t i d d ƒ d ƒ |  i t i t t ƒ t ƒ |  i t i t t ƒ t ƒ |  i t i t t ƒ t ƒ |  i t i t t ƒ t ƒ |  i	 t i
 t i d t ƒ ƒ ƒ |  i	 t i
 t i t d ƒ ƒ ƒ d  S(	   Ns
   hypot(0,0)i    s
   hypot(3,4)i   i   i   g      ð?g       À(   R(   R)   R&   t   hypotR#   R>   R0   R,   R-   R.   R/   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt	   testHypotÏ  s    "c         C   s  |  i  t t i ƒ |  i d t i d d ƒ d ƒ |  i d t i d d ƒ d ƒ |  i d t i d d ƒ d ƒ |  i d	 t i d d ƒ d
 ƒ |  i  t t i d d ƒ |  i  t t i d d ƒ |  i t i d d ƒ d ƒ |  i t i d d ƒ d ƒ |  i t i t d ƒ t ƒ |  i t i t d ƒ t ƒ |  i	 t i
 t i t d ƒ ƒ ƒ xµd d d d d d g D]›} |  i t i t | ƒ t ƒ |  i t i t | ƒ t ƒ |  i t i d | ƒ d ƒ |  i t i d | ƒ d ƒ |  i t i d | ƒ d ƒ |  i t i d | ƒ d ƒ |  i	 t i
 t i t | ƒ ƒ ƒ |  i  t t i d | ƒ |  i  t t i d | ƒ |  i t i d | ƒ d ƒ |  i t i d | ƒ d ƒ |  i t i t | ƒ t ƒ |  i t i t | ƒ t ƒ |  i	 t i
 t i t | ƒ ƒ ƒ qlWd  S(   Ns
   ldexp(0,1)i    i   s
   ldexp(1,1)i   s   ldexp(1,-1)iÿÿÿÿg      à?s   ldexp(-1,1)iþÿÿÿg      ð?i@B g      ð¿iÀ½ðÿg        g       €i   i+ÿÿÿi
   i   l   
 i   i(   i † l     l    d(	 l    d(	 l      Fµx:^V l	        «O»z—×pøc(   R(   R)   R&   Rz   R#   RŽ   R3   R,   R-   R.   R/   R0   (   R   R^   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt	   testLdexpÚ  s8    " #c         C   s   |  i  t t i ƒ |  i d t i d t i ƒ d ƒ |  i d t i d ƒ d ƒ |  i d t i t i ƒ d ƒ |  i d t i d d	 ƒ d
 ƒ |  i d t i d d ƒ d ƒ |  i d t i d d ƒ d	 ƒ |  i t i t ƒ t ƒ |  i  t t i t	 ƒ |  i
 t i t i t ƒ ƒ ƒ d  S(   Ns   log(1/e)i   iÿÿÿÿs   log(1)i    s   log(e)s	   log(32,2)i    i   i   s   log(10**40, 10)i
   i(   s   log(10**40, 10**20)i   l	        «O»z—×pøcl	        «O»z—×pøcl      Fµx:^V (   R(   R)   R&   t   logR#   R%   R3   R,   R+   R-   R.   R/   R0   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   testLogú  s    #c         C   s7  |  i  t t i ƒ |  i d t i d t i d ƒ d ƒ |  i d t i d ƒ d ƒ |  i d t i t i d ƒ d ƒ |  i d t i d ƒ t i d ƒ ƒ |  i t i t ƒ t ƒ |  i  t	 t i t
 ƒ |  i t i t i t ƒ ƒ ƒ d } |  i t i | ƒ d
 ƒ |  i t i | ƒ t i t | ƒ ƒ ƒ d  S(   Ns   log1p(1/e -1)i   iÿÿÿÿs   log1p(0)i    s
   log1p(e-1)s   log1p(1)i   iZ   gxá61O@l                (   R(   R)   R&   t   log1pR#   R%   Rž   R3   R,   R+   R-   R.   R/   R0   t   assertAlmostEqualsR   (   R   R^   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt	   testLog1p  s    '#%c         C   s¹   |  i  t t i ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ d ƒ |  i t i t ƒ t ƒ |  i  t t i t	 ƒ |  i
 t i t i t ƒ ƒ ƒ d  S(	   Ns
   log10(0.1)gš™™™™™¹?iÿÿÿÿs   log10(1)i   i    s	   log10(10)i
   (   R(   R)   R&   t   log10R#   R3   Rž   R,   R+   R-   R.   R/   R0   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt	   testLog10  s    c            sÙ   ˆ  i  t t i ƒ ‡  f d †  } | d t i d ƒ d ƒ | d t i d ƒ d ƒ ˆ  i t i t ƒ d
 t f ƒ ˆ  i t i t ƒ d t f ƒ t i t ƒ } ˆ  i t i	 | d ƒ ƒ ˆ  i t i	 | d ƒ ƒ d  S(   Nc            sn   | \ } } | \ } } t  | | ƒ t j p t  | | ƒ o* ˆ  i d |  | | f | | f f ƒ n d  S(   Ns   %s returned %r, expected %r(   R   R   R   (   R    Rq   Rr   t   v1t   v2t   e1t   e2(   R   (    s+   /mit/python/lib/python2.6/test/test_math.pyt   testmodf  s    (	s	   modf(1.5)g      ø?g      à?g      ð?s
   modf(-1.5)g      ø¿g      à¿g      ð¿g        g       €i    i   (   g      à?g      ð?(   g      à¿g      ð¿(
   R(   R)   R&   t   modfR3   R,   R-   R0   R.   R/   (   R   R©   t   modf_nan(    (   R   s+   /mit/python/lib/python2.6/test/test_math.pyt   testModf  s    c         C   s  |  i  t t i ƒ |  i d t i d d ƒ d ƒ |  i d t i d d ƒ d ƒ |  i d t i d d ƒ d ƒ |  i d t i d d ƒ d	 ƒ |  i t i t d ƒ t ƒ |  i t i t d ƒ t ƒ |  i t i d t ƒ d
 ƒ |  i t i d t ƒ d
 ƒ |  i t i	 t i t
 d ƒ ƒ ƒ |  i t i	 t i d t
 ƒ ƒ ƒ |  i t i	 t i d t
 ƒ ƒ ƒ |  i t i d t
 ƒ d ƒ |  i t i d t ƒ d ƒ |  i t i d d ƒ d ƒ |  i t i d d ƒ d ƒ |  i t i d d ƒ d ƒ |  i t i d d ƒ d
 ƒ |  i t i d d ƒ d
 ƒ |  i  t t i d d ƒ |  i  t t i d d ƒ |  i  t t i d d ƒ |  i  t t i d t ƒ |  i t i	 t i d t
 ƒ ƒ ƒ |  i t i t t ƒ t ƒ |  i t i t d ƒ t ƒ |  i t i t d ƒ t ƒ |  i t i t d ƒ t ƒ |  i t i t d ƒ d
 ƒ |  i t i t d ƒ d
 ƒ |  i t i t d ƒ d ƒ |  i t i t d ƒ d ƒ |  i t i t d ƒ d ƒ |  i t i t t ƒ d ƒ |  i t i	 t i t t
 ƒ ƒ ƒ |  i t i d t ƒ d ƒ |  i t i d d ƒ d ƒ |  i t i d d ƒ d ƒ |  i t i d d ƒ d ƒ |  i t i d d ƒ d
 ƒ |  i t i d d ƒ d
 ƒ |  i  t t i d d ƒ |  i  t t i d d ƒ |  i  t t i d d ƒ |  i  t t i d t ƒ |  i t i	 t i d t
 ƒ ƒ ƒ |  i t i t t ƒ t ƒ |  i t i t d ƒ t ƒ |  i t i t d ƒ t ƒ |  i t i t d ƒ t ƒ |  i t i t d ƒ d
 ƒ |  i t i t d ƒ d
 ƒ |  i t i t d ƒ d ƒ |  i t i t d ƒ d ƒ |  i t i t d ƒ d ƒ |  i t i t t ƒ d ƒ |  i t i	 t i t t
 ƒ ƒ ƒ |  i t i d t ƒ d
 ƒ |  i t i d d ƒ d ƒ |  i  t t i d d ƒ |  i t i d d ƒ d
 ƒ |  i t i d d ƒ d
 ƒ |  i t i d d ƒ d
 ƒ |  i t i d d ƒ d
 ƒ |  i  t t i d d ƒ |  i t i d d ƒ d ƒ |  i t i d t ƒ d
 ƒ |  i t i	 t i d t
 ƒ ƒ ƒ |  i t i d
 t ƒ d
 ƒ |  i t i d
 d ƒ d
 ƒ |  i t i d
 d ƒ d
 ƒ |  i t i d
 d ƒ d
 ƒ |  i t i d
 d ƒ d
 ƒ |  i t i d
 d ƒ d
 ƒ |  i t i d
 d ƒ d
 ƒ |  i t i d
 d ƒ d
 ƒ |  i t i d
 d ƒ d
 ƒ |  i t i d
 t ƒ d
 ƒ |  i t i d
 t
 ƒ d
 ƒ |  i t i d d ƒ d
 ƒ |  i t i d d ƒ d
 ƒ |  i t i t
 d ƒ d
 ƒ |  i t i d d ƒ d
 ƒ |  i t i d d ƒ d
 ƒ |  i t i t
 d ƒ d
 ƒ |  i  t t i d d ƒ |  i  t t i d d ƒ |  i t i d t ƒ d ƒ |  i t i d t ƒ d ƒ |  i t i d t ƒ t ƒ |  i t i d t ƒ t ƒ |  i t i d t ƒ t ƒ |  i t i d t ƒ t ƒ |  i t i d t ƒ d ƒ |  i t i d t ƒ d ƒ |  i t i d t ƒ t ƒ |  i t i d t ƒ t ƒ |  i t i d t ƒ d ƒ |  i t i d t ƒ d ƒ |  i t i d t ƒ d ƒ |  i t i d t ƒ d ƒ |  i t i d t ƒ t ƒ |  i t i d t ƒ t ƒ |  i d t i d d ƒ d ƒ |  i d  t i d d ƒ d! ƒ |  i d" t i d d
 ƒ d ƒ |  i d# t i d d ƒ d
 ƒ |  i d$ t i d d ƒ d
 ƒ |  i d% t i d d ƒ d& ƒ |  i d' t i d d ƒ d( ƒ |  i d) t i d d ƒ d* ƒ |  i  t t i d d& ƒ |  i  t t i d d	 ƒ d  S(+   Ns   pow(0,1)i    i   s   pow(1,0)s   pow(2,1)i   s	   pow(2,-1)iÿÿÿÿg      à?g      ð?g        g      @gffffff@g       @g       €g       ÀgffffffÀg      Àg      ð¿g      .ÀgÍÌÌÌÌÌÀgffffffþ?gš™™™™™ñ?gÍÌÌÌÌÌì?gš™™™™™¹?gš™™™™™¹¿gÍÌÌÌÌÌì¿gš™™™™™ñ¿gffffffþ¿s	   (-2.)**3.g       Às	   (-2.)**2.g      @s	   (-2.)**1.s	   (-2.)**0.s
   (-2.)**-0.s
   (-2.)**-1.g      à¿s
   (-2.)**-2.g      Ð?s
   (-2.)**-3.g      À¿(   R(   R)   R&   t   powR#   R>   R,   R-   R.   R/   R0   R+   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   testPow.  sâ    """"""""c         C   s}   |  i  t t i ƒ |  i d t i d ƒ t i ƒ |  i d t i d ƒ t i d ƒ |  i d t i d ƒ t i d ƒ d  S(	   Ns   radians(180)i´   s   radians(90)iZ   i   s   radians(-45)iÓÿÿÿi   (   R(   R)   R&   t   radiansR#   R$   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   testRadiansÃ  s    #c         C   s  |  i  t t i ƒ |  i d t i d ƒ d ƒ |  i d t i t i d ƒ d ƒ |  i d t i t i d ƒ d ƒ yB |  i t i t i t ƒ ƒ ƒ |  i t i t i t	 ƒ ƒ ƒ Wn? t
 j
 o3 |  i  t
 t i t ƒ |  i  t
 t i t	 ƒ n X|  i t i t i t ƒ ƒ ƒ d  S(   Ns   sin(0)i    s	   sin(pi/2)i   i   s
   sin(-pi/2)iÿÿÿÿ(   R(   R)   R&   t   sinR#   R$   R.   R/   R,   R-   R+   R0   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   testSinÉ  s    #$#c         C   sÞ   |  i  t t i ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ d t i d ƒ d d ƒ |  i d t i d ƒ t i d ƒ d ƒ |  i t i t ƒ t ƒ |  i t i t ƒ t ƒ |  i	 t i
 t i t ƒ ƒ ƒ d  S(   Ns   sinh(0)i    s   sinh(1)**2-cosh(1)**2i   i   iÿÿÿÿs   sinh(1)+sinh(-1)(   R(   R)   R&   t   sinhR#   RT   R3   R,   R-   R.   R/   R0   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   testSinhÖ  s    1)c         C   s¹   |  i  t t i ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ d ƒ |  i t i t ƒ t ƒ |  i  t t i t ƒ |  i	 t i
 t i t ƒ ƒ ƒ d  S(   Ns   sqrt(0)i    s   sqrt(1)i   s   sqrt(4)i   i   (   R(   R)   R&   t   sqrtR#   R3   R,   R+   R-   R.   R/   R0   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   testSqrtß  s    c         C   s  |  i  t t i ƒ |  i d t i d ƒ d ƒ |  i d t i t i d ƒ d ƒ |  i d t i t i d ƒ d ƒ yB |  i t i t i t ƒ ƒ ƒ |  i t i t i t	 ƒ ƒ ƒ Wn3 |  i  t
 t i t ƒ |  i  t
 t i t	 ƒ n X|  i t i t i t ƒ ƒ ƒ d  S(   Ns   tan(0)i    s	   tan(pi/4)i   i   s
   tan(-pi/4)iÿÿÿÿ(   R(   R)   R&   t   tanR#   R$   R.   R/   R,   R-   R+   R0   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   testTanè  s    #$#c         C   s  |  i  t t i ƒ |  i d t i d ƒ d ƒ |  i d t i d ƒ t i d ƒ d ƒ |  i d t i t ƒ d ƒ |  i d t i t ƒ d ƒ |  i t i t i t	 ƒ ƒ ƒ t
 i d ƒ i d	 ƒ oN |  i t i d
 ƒ d
 ƒ |  i t i d t i d
 ƒ ƒ t i d d
 ƒ ƒ n d  S(   Ns   tanh(0)i    s   tanh(1)+tanh(-1)i   iÿÿÿÿs	   tanh(inf)s
   tanh(-inf)RM   RN   g       €g      ð?(   R(   R)   R&   t   tanhR#   R,   R-   R.   R/   R0   R   Rˆ   R   R>   RO   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   testTanhõ  s    )c         C   sÞ  |  i  t i d ƒ d ƒ |  i  t i d ƒ d ƒ |  i  t t i d ƒ ƒ t ƒ |  i  t t i d ƒ ƒ t ƒ |  i  t i d ƒ d ƒ |  i  t i d ƒ d ƒ |  i  t i d ƒ d ƒ |  i  t i d ƒ d ƒ |  i  t i d ƒ d ƒ |  i  t i d	 ƒ d
 ƒ d t f d „  ƒ  Y} d t f d „  ƒ  Y} |  i  t i | ƒ  ƒ d ƒ |  i t t i ƒ |  i t t i d d ƒ |  i t t i | ƒ  ƒ | ƒ  } d „  | _	 |  i
 d t i | ƒ ƒ |  i t t i | d ƒ d  S(   Ni   iÿÿÿÿg      ø?g      ø¿gõ…óþÿÿ?gõ…óþÿÿ¿gé!çýÿï¿i    g-²ï?YÀiœÿÿÿt	   TestTruncc           B   s   e  Z d  „  Z RS(   c         S   s   d S(   Ni   (    (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt	   __trunc__  s    (   RB   RC   R¼   (    (    (    s+   /mit/python/lib/python2.6/test/test_math.pyR»     s   t   TestNoTruncc           B   s   e  Z RS(    (   RB   RC   (    (    (    s+   /mit/python/lib/python2.6/test/test_math.pyR½     s   i   i   c          W   s   |  S(    (    (   RE   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyRF     s    (    (   R>   R&   t   truncRH   R]   RI   R(   R)   t   AttributeErrorR¼   R3   (   R   R»   R½   RK   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt
   test_trunc  s(    	c         C   s   |  i  t i d d ƒ d ƒ |  i  t i d d ƒ d ƒ |  i  t i d d ƒ d ƒ |  i  t i d d ƒ d ƒ |  i  t i d	 d
 ƒ d ƒ d  S(   Ni   i*   g      ð?g        iÖÿÿÿg      ð¿i   g      @g      @g       €g      À(   R>   R&   RO   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyRQ   !  s
    c         C   sˆ   |  i  t i t d ƒ ƒ ƒ |  i  t i t d ƒ d ƒ ƒ |  i t i t d ƒ ƒ ƒ |  i t i d ƒ ƒ |  i t i d ƒ ƒ d  S(   NR   R   g        g      ð?(   R.   R&   R/   R   t   failIf(   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt	   testIsnan(  s
     c         C   s°   |  i  t i t d ƒ ƒ ƒ |  i  t i t d ƒ ƒ ƒ |  i  t i d ƒ ƒ |  i  t i d ƒ ƒ |  i t i t d ƒ ƒ ƒ |  i t i d ƒ ƒ |  i t i d ƒ ƒ d  S(   NR   s   -infg      ðg      ðÿR   g        g      ð?(   R.   R&   RP   R   RÁ   (   R   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt	   testIsinf/  s    c         C   s¸   y t  i d ƒ } Wn |  i d ƒ n X| d j o |  i d ƒ n y t  i d ƒ } Wn t j
 o n X|  i d ƒ y t  i d ƒ } Wn t j
 o n X|  i d ƒ d  S(	   Ni 6eÄs6   underflowing exp() should not have raised an exceptioni    s)   underflowing exp() should have returned 0i Êš;s.   overflowing exp() didn't trigger OverflowErrorg      ð¿s    sqrt(-1) didn't raise ValueError(   R&   RX   R   RŽ   Rµ   R+   (   R   Rg   (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   test_exceptions?  s     c      	   C   s9  t  i d ƒ i d ƒ p d  Sxt t ƒ D]\ } } } } } } } | d j p | d j p | o q+ n | d
 j o q+ n t t | ƒ } y | | ƒ }	 Wnm t j
 o+ d d | | | f }
 |  i |
 ƒ n8 t	 j
 o+ d d | | | f }
 |  i |
 ƒ n X|  i
 d	 | | | f |	 | ƒ q+ Wd  S(   NRM   RN   g        t   rectt   polars   Unexpected ValueError in s   test %s:%s(%r)
s   Unexpected OverflowError in s	   %s:%s(%r)(   RÅ   RÆ   (   R   Rˆ   R   R   t	   test_filet   getattrR&   R+   R   RŽ   R#   (   R   R   R   t   art   ait   ert   eiR   t   funcR_   t   message(    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   test_testfile^  s(     !(-   RB   RC   R#   R'   R1   R4   R6   R8   R:   R<   R?   RL   R   Rˆ   R   RQ   RS   RU   RW   RY   R[   Ri   Rn   Rp   Rx   Rš   Rœ   R   RŸ   R¢   R¤   R¬   R®   R°   R²   R´   R¶   R¸   Rº   RÀ   RÂ   RÃ   R   RÄ   RÏ   (    (    (    s+   /mit/python/lib/python2.6/test/test_math.pyR   0   sT   						
								=									!			`		 						•												c          C   sS   d d k  l }  t i ƒ  } | i t i t ƒ ƒ | i |  d ƒ ƒ t | ƒ d  S(   Niÿÿÿÿ(   t   DocFileSuites   ieee754.txt(   t   doctestRÐ   t   unittestt	   TestSuitet   addTestt	   makeSuiteR   R    (   RÐ   t   suite(    (    s+   /mit/python/lib/python2.6/test/test_math.pyt	   test_mainv  s
    (   t   test.test_supportR    R   RÒ   R&   t   osR‰   Rb   R   R   R0   R,   R-   RB   t   argvt   filet   __file__t   patht   dirnamet   curdirt   test_dirt   joinRÇ   R   t   TestCaseR   R×   (    (    (    s+   /mit/python/lib/python2.6/test/test_math.pyt   <module>   s,   	ÿ ÿ ÿ I	