mò
­fIc           @   sŒ   d  k  Z  d  k Z d k l Z d  k Z e i d d e d d ƒd k l Z d e  i f d „  ƒ  YZ	 d	 „  Z
 e d
 j o e
 ƒ  n d  S(   N(   s   test_supportt   ignoret   categoryt   messages    .*complex divmod.*are deprecated(   s   randomt   ComplexTestc           B   sË   t  Z d „  Z d d „ Z d d „ Z d „  Z d „  Z d „  Z d „  Z d	 „  Z	 d
 „  Z
 d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   sò   t  | t ƒ o‚ t  | t ƒ o< t i i |  | i | i ƒ t i i |  | i	 | i	 ƒ qî t i i |  | i | ƒ t i i |  | i	 d ƒ n] t  | t ƒ o6 t i i |  | | i ƒ t i i |  d | i	 ƒ n t i i |  | | ƒ d  S(   Nf0.0(
   t
   isinstancet   at   complext   bt   unittestt   TestCaset   assertAlmostEqualt   selft   realt   imag(   R   R   R   (    (    t.   /mit/python/lib/python2.4/test/test_complex.pyR
      s     f1.0000000000000001e-09c         C   s‘   t  | ƒ t  | ƒ j o | | } } n | d j o t  | ƒ | j  Sn | d j o t  | ƒ | j  Sn |  i t  | | | ƒ | j  ƒ d S(   s*   Return true iff floats x and y "are close"i    N(   t   abst   xt   yt   epsR   t   assert_(   R   R   R   R   (    (    R   t   assertCloseAbs    s     c         C   s6   |  i | i | i | ƒ |  i | i | i | ƒ d S(   s-   Return true iff complexes x and y "are close"N(   R   R   R   R   R   R   R   (   R   R   R   R   (    (    R   t   assertClose,   s     c         C   s   |  i | | j ƒ d  S(   N(   R   R   R   R   (   R   R   R   (    (    R   t   assertIs1   s    c         C   sà   | | } | d j o\ | | } |  i | | ƒ | i | ƒ } |  i | | ƒ | i | ƒ } |  i | | ƒ n | d j o\ | | } |  i | | ƒ | i | ƒ } |  i | | ƒ | i | ƒ } |  i | | ƒ n d S(   s8   Compute complex z=x*y, and check that z/x==y and z/y==x.i    N(   R   R   t   zt   qR   R   t   __div__t   __truediv__(   R   R   R   R   R   (    (    R   t	   check_div4   s      


c         C   s=  g  } t d d ƒ D] } | t | ƒ q ~ } g  } | D]# } | D] } | t | | ƒ qE q; ~ } x/ | D]' } x | D] } |  i
 | | ƒ q{ Wqn W|  i
 t d d ƒ d d ƒ |  i
 t d d ƒ d d ƒ xB t d ƒ D]4 } |  i
 t t ƒ  t ƒ  ƒ t t ƒ  t ƒ  ƒ ƒ qà W|  i t t i d d d	 d ƒ d  S(
   Niûÿÿÿi   f9.9999999999999997e+199i   x0.00.0f9.9999999999999998e-201id   x0.01.0i    (   t   _[1]t   xranget   it   floatt   simple_realR   R   R   t   simple_complexR   R   t   randomt   assertRaisest   ZeroDivisionErrorR   (   R   R   R   R    R   R   R!   (    (    R   t   test_divF   s    07   c         C   sM   |  i t i d d d d ƒ d d ƒ |  i t t i d d d d ƒ d  S(   Ni   x0.00.0i   x0.01.0i    (   R   R
   R   R   R#   R$   (   R   (    (    R   t   test_truediv[   s    (c         C   sI   |  i t i d d d d ƒ d ƒ |  i t t i d d d d ƒ d  S(   Ni   x0.00.0f1.5i   i    (   R   R
   R   t   __floordiv__R#   R$   (   R   (    (    R   t   test_floordiv_   s    $c         C   s%   |  i t t i d d d d >ƒ d  S(   Ni   x0.01.0l    i'  (   R   R#   t   OverflowErrorR   t
   __coerce__(   R   (    (    R   t   test_coercec   s    c         C   sY  |  i t t i d d d d >ƒ |  i t i d d d  ƒ t ƒ |  i	 t i d d d d ƒ t
 ƒ |  i	 t i d d d d ƒ t ƒ |  i	 t i d d d d ƒ t ƒ |  i	 t i d d d d ƒ t
 ƒ |  i t t i d d d d ƒ |  i t t i d d d d ƒ |  i t t i d d d d ƒ |  i t t i d d d d ƒ d  S(   Ni   x0.01.0l    i'  i   x0.02.0(   R   R#   R)   R   t   __eq__t   assertEqualt   __lt__t   Nonet   NotImplementedR   t   Truet   Falset   __ne__t	   TypeErrort   __le__t   __gt__t   __ge__(   R   (    (    R   t   test_richcomparef   s    ! $$$$!!!c         C   s[   |  i t d d i d d ƒ d d } y | d Wn t j
 o n X|  i d ƒ d  S(   Ni   x0.01.0i    x0.00.0f3.3300000000000001x0.04.4299999999999997s   modulo parama can't be 0(   R   R#   R$   t   __mod__R   t   fail(   R   R   (    (    R   t   test_modr   s    
c         C   s"   |  i t t d d d d ƒ d  S(   Ni   x0.01.0i    x0.00.0(   R   R#   R$   t   divmod(   R   (    (    R   t   test_divmod}   s    c         C   sú  |  i t d d d d ƒ d ƒ |  i t d d d d ƒ d ƒ |  i t t d d d ƒ |  i t d d ƒ d d ƒ |  i t d d	 ƒ d ƒ |  i t t d d d d d d ƒ d
 d } |  i | d d ƒ |  i | d d d ƒ |  i d d d ƒ |  i d d d ƒ y d | Wn t j
 o n X|  i d ƒ y d d d Wn t j
 o n X|  i d ƒ |  i | d | d ƒ |  i | d | d ƒ |  i | d | d ƒ |  i d d d ƒ d d } |  i t t | | d ƒ d  S(   Ni   x0.01.0i    x0.00.0f1.0i   f0.0iÿÿÿÿiÈ   f3.3300000000000001x0.04.4299999999999997x0.03.0s,   should fail 0.0 to negative or complex poweri   x0.02.0ii   i—ÿÿÿiâÿÿÿf5.0999999999999996x0.02.2999999999999998(
   R   R
   t   powR#   R$   t
   ValueErrorR   R-   R:   R   (   R   R   R   (    (    R   t   test_pow€   s6    !!%

c         C   sV   x8 t  d ƒ D]* } |  i t t ƒ  d t ƒ  d ƒ ƒ q W|  i t d d ƒ ƒ d  S(   Nid   f9.9999999999999995e-07f0.0(   R   R   R   R   R   R"   (   R   R   (    (    R   t   test_boolcontext§   s     (c         C   s'   |  i t d d ƒ i ƒ  d d ƒ d  S(   Nf5.2999999999999998f9.8000000000000007x0.09.8000000000000007(   R   R   R   t	   conjugate(   R   (    (    R   t   test_conjugate¬   s    c            sd  d f  d „  ƒ  Y} d t f d „  ƒ  Y} |  i t | d d ƒ ƒ d d ƒ |  i t | d d ƒ ƒ d d ƒ |  i t t | d  ƒ ƒ |  i t t | d  ƒ ƒ |  i	 t d ƒ d d ƒ |  i	 t d ƒ d d	 ƒ |  i	 t d
 ƒ d d	 ƒ |  i	 t d ƒ d d	 ƒ |  i	 t d d	 ƒ d d	 ƒ |  i	 t d d ƒ d d ƒ |  i	 t d d ƒ d d ƒ |  i	 t d d
 ƒ d d ƒ |  i	 t d d ƒ d d ƒ |  i	 t d d ƒ d d ƒ |  i	 t d d
 ƒ d d ƒ |  i	 t d d ƒ d d ƒ |  i	 t d d ƒ d d ƒ |  i	 t d d
 ƒ d d ƒ |  i	 t d d	 ƒ d d	 ƒ |  i	 t d ƒ d d	 ƒ |  i	 t d ƒ d d	 ƒ |  i	 t d ƒ d d	 ƒ |  i	 t d d	 d	 ƒ d d	 ƒ |  i	 t d d ƒ d d	 ƒ |  i	 t d d ƒ d d	 ƒ |  i	 t d d ƒ d d	 ƒ |  i	 t d	 d ƒ d d	 ƒ |  i	 t d d ƒ d d	 ƒ |  i	 t d	 d ƒ d ƒ |  i	 t d d ƒ d ƒ |  i	 t d ƒ d d	 ƒ |  i	 t d ƒ d ƒ |  i	 t ƒ  d ƒ |  i	 t d ƒ d ƒ |  i	 t d ƒ d ƒ d t f d „  ƒ  Y} |  i	 t | d d ƒ ƒ d d ƒ |  i	 t d d  d! d" ƒ d  d# ƒ |  i	 t d d  d# ƒ d  d# ƒ |  i	 t d d  d# d! d" ƒ d  d$ ƒ |  i	 t d d d% d! d& d' ƒ d( d) ƒ d d } |  i t | ƒ | j ƒ ~ |  i t t d d ƒ |  i t t d d ƒ |  i t d* ƒ d d ƒ t i o$ |  i t t d* ƒ ƒ d d ƒ n |  i t t d+ ƒ |  i t t d, d- ƒ |  i t t d, d- ƒ |  i t t d, d- ƒ |  i t t d. ƒ |  i t t d  ƒ |  i t t d/ ƒ |  i t t d d0 ƒ |  i t t d d1 ƒ |  i t t d d0 ƒ |  i t t d2 ƒ |  i t t d3 ƒ |  i t t d4 ƒ t i o: |  i t t t d d5 ƒ ƒ |  i t t t d6 ƒ ƒ n d7 t f d8 „  ƒ  Y‰  d9 f  ‡  d: †  ƒ  Y} |  i ˆ  t | ƒ  ƒ d; f  d< „  ƒ  Y} |  i	 t | d= ƒ ƒ d1 ƒ |  i	 t d | d> ƒ d! | d? ƒ ƒ d  d# ƒ |  i t t | d  ƒ ƒ d  S(@   Nt   OSc           B   s   t  Z d „  Z d „  Z RS(   Nc         C   s   | |  _  d  S(   N(   t   valueR   (   R   RE   (    (    R   t   __init__±   s    c         C   s   |  i S(   N(   R   RE   (   R   (    (    R   t   __complex__²   s    (   t   __name__t
   __module__RF   RG   (    (    (    R   RD   °   s   	t   NSc           B   s   t  Z d „  Z d „  Z RS(   Nc         C   s   | |  _  d  S(   N(   RE   R   (   R   RE   (    (    R   RF   ´   s    c         C   s   |  i S(   N(   R   RE   (   R   (    (    R   RG   µ   s    (   RH   RI   RF   RG   (    (    (    R   RJ   ³   s   	i   x0.010.0s   1+10ji
   x0.00.0f10.0l   
 l    f1.0f3.1400000000000001i:  f314.0l   :f0.0i    l    x0.03.1400000000000001f-3.1400000000000001t   1t   1jx0.01.0s   -1iÿÿÿÿs   +1t   complex2c           B   s   t  Z RS(   N(   RH   RI   (    (    (    R   RM   Û   s    R   i   R   i   x0.023.0x0.046.0x0.02.0i   x0.04.0iýÿÿÿx0.05.0s
     3.14+J  s   1+1j ji   x0.03.0t    t    t   2i*   s   1+s   1+1j+1js   --iô  R   t   EvilExcc           B   s   t  Z RS(   N(   RH   RI   (    (    (    R   RQ     s   t   evilcomplexc              s   t  Z ‡  d †  Z RS(   Nc            s
   ˆ  ‚ d  S(   N(   RQ   (   R   (   RQ   (    R   RG     s    (   RH   RI   RG   (    (   RQ   (    R   RR     s   t   float2c           B   s   t  Z d „  Z d „  Z RS(   Nc         C   s   | |  _  d  S(   N(   RE   R   (   R   RE   (    (    R   RF     s    c         C   s   |  i S(   N(   R   RE   (   R   (    (    R   t	   __float__  s    (   RH   RI   RF   RT   (    (    (    R   RS   
  s   	f42.0f17.0f23.0(   RD   t   objectRJ   R   R-   R   R#   R4   R/   R
   RM   t   cR   t   test_supportt   have_unicodet   unicodeR?   t   intt   longR   t	   ExceptionRQ   RR   RS   (   R   RM   RV   RR   RJ   RD   RS   RQ   (    (   RQ   R   t   test_constructor¯   s”    $$!$#!'+

$
/c         C   sr   xk t  d d ƒ D]Z } |  i t | ƒ t t | d ƒ ƒ ƒ | d :} |  i t | ƒ t t | d ƒ ƒ ƒ q Wd  S(   Niâÿÿÿi   i    f3.0f0.0(   R   R   R   R-   t   hashR   (   R   R   (    (    R   t	   test_hash  s
     %
c         C   s’   g  } t d d ƒ D]4 } t d d ƒ D] } | t | d | d ƒ q' q ~ } x: | D]2 } |  i | i	 d | i
 d d t | ƒ ƒ qX Wd  S(   Ni÷ÿÿÿi	   f3.0f7.0i   f0.5(   R   R   R   R   R   t   numst   numR   R
   R   R   R   (   R   Ra   R`   R   R   R   (    (    R   t   test_abs  s    Q c         C   sS   |  i t d d ƒ d ƒ |  i t d d ƒ d ƒ |  i t d d ƒ d ƒ d  S(   Ni   x0.06.0s   (1+6j)s   (1-6j)x0.00.0s   (-1+-0j)(   R   R-   t   reprt   assertNotEqual(   R   (    (    R   t	   test_repr  s    c         C   s   |  i d d d d ƒ d  S(   Ni   x0.06.0iÿÿÿÿ(   R   R-   (   R   (    (    R   t   test_neg%  s    c      
   C   sÚ   d d } d d } d  } zb t t i d ƒ } | | I| IJ| i ƒ  t t i d ƒ } |  i	 | i
 ƒ  d | | f ƒ Wd  | d  j	 o | i o | i ƒ  n y t i t i ƒ Wn t t f j
 o n XXd  S(   Nf3.3300000000000001x0.04.4299999999999997f5.0999999999999996x0.02.2999999999999998t   wbt   rbs   %s %s
(   R   R   R/   t   fot   openRW   t   TESTFNt   closeR   R-   t   readt   closedt   ost   removet   OSErrort   IOError(   R   R   R   Ri   (    (    R   t	   test_file(  s     


$ (   RH   RI   R
   R   R   R   R   R%   R&   R(   R+   R8   R;   R=   R@   RA   RC   R]   R_   Rb   Re   Rf   Rs   (    (    (    R   R      s*   											'			e				c           C   s   t  i t ƒ d  S(   N(   RW   t   run_unittestR   (    (    (    R   t	   test_main;  s    t   __main__(   R   Ro   t   testRW   t   warningst   filterwarningst   DeprecationWarningR"   R	   R   Ru   RH   (   RW   Rx   R   R"   R   Ru   Ro   (    (    R   t   ?   s   		
ÿ -	