ó
ØÆ÷Xc           @  sô  d  d l  m Z m Z d  d l Z d  d l Z e j j d  d d ƒ j d d ƒ Z e j j d  d d ƒ j d d ƒ Z	 e d e	 Z
 e e e g e e e g g Z e e e g e e e g g Z e j j e d e ƒZ e j j e	 d e ƒZ e j j e
 d e ƒZ e j j d  d d/ ƒ j d	 d	 ƒ Z e j j d  d d0 ƒ j d	 d	 ƒ Z e d e Z e d
 k Z e d k  Z e j j e d e ƒZ e j j e d e ƒZ e j j e d e ƒZ d d d d „ Z d e e e e d „ Z d d e e e e e d „ Z d e e e e	 e e e e e d „
 Z e  d k rðe e j! ƒ e e j" ƒ e e j# ƒ e e j$ ƒ e e j% ƒ e e j& ƒ e d d d d ƒe d d d d d ƒe d d d d ƒe d d d d ƒe d d d d ƒe d d d d ƒe d d d d ƒe d d  d d d! e ƒe d d" d d d! e ƒe' d# d$ ƒ e' d% ƒ e d& d' d d( ƒe' d# d$ ƒ e' d) ƒ e d* d' d d( ƒe' d# d$ ƒ e' d+ ƒ e d, d' d d ƒe' d# d$ ƒ e' d- ƒ e d. d' d d	 ƒn  d S(1   iÿÿÿÿ(   t   divisiont   print_functionNi   i   i   i   y              ð?t   maskid   gš™™™™™é?gš™™™™™é¿t    iô  c         C  s  d d d d g } d d d d g } t  d	 | |  f d
 d ƒg  d D] } d t | d ƒ ^ qE } d d j | ƒ } t j d |  d | ƒ }	 t |	 j | | ƒ ƒ | }
 |
 d k rç t t t j	 t j
 |
 ƒ ƒ d ƒ d ƒ } n d } t  d | | d |
 | | | | f ƒ d  S(   Nt   st   mss   Âµst   nsi   g     @@g    €„.Ag    eÍÍAs   %s : %-50s : t   endt    t   xyzs   %ss,nm%ss,%sl,nm%sli   s"   from __main__ import numpy, ma, %st   ,t   stmtt   setupg        i   s&   %d loops, best of %d: %.*g %s per loop(   t   printt   tuplet   joint   timeitt   Timert   mint   repeatt   intt   numpyt   floort   log10(   R   t   vt   nloopt   nrept   unitst   scalingt   xt   varnamesR   R   t   bestt   order(    (    s-   /tmp/pip-build-X4mzal/numpy/numpy/ma/bench.pyt   timer'   s    '/c   	      C  s‘   |  j  } t d d ƒ t d | ƒ d \ } } t d t ƒ  d d | d	 | ƒt d
 | ƒ d \ } } t d t ƒ  d d | d	 | ƒd  S(   Nt   -i2   s   %s on small arrayss   numpy.mat   nmxss!   %(module)s.%(funcname)s(%(data)s)R   s   %11sR   s   %s on large arrayst   nmxl(   s   numpy.mas   nmxs(   s   numpy.mas   nmxl(   t   __name__R   R!   t   locals(	   t   funcR   t   xsR#   t   xlR$   t   funcnamet   modulet   data(    (    s-   /tmp/pip-build-X4mzal/numpy/numpy/ma/bench.pyt   compare_functions_1v9   s    	!!R   c	         C  sŠ   t  d d ƒ t  d |  ƒ d | d }	 }
 t d t ƒ  d |
 d | ƒt  d	 |  ƒ d
 | d }	 }
 t d t ƒ  d |
 d | ƒd  S(   NR"   i2   s   %s on small arrayss   nm%sss   numpy.mas!   %(data)s.%(methodname)s(%(args)s)R   R   s   %s on large arrayss   nm%sl(   R   R!   R&   (   t
   methodnamet   argst   varsR   t   testR(   R#   R)   R$   R,   t   ver(    (    s-   /tmp/pip-build-X4mzal/numpy/numpy/ma/bench.pyt   compare_methodsF   s    c         C  s‘   |  j  } t d d ƒ t d | ƒ d \ } } t d t ƒ  d d | d	 | ƒt d
 | ƒ d \ } } t d t ƒ  d d | d	 | ƒd  S(   NR"   i2   s   %s on small arrayss   numpy.mas	   nmxs,nmyss!   %(module)s.%(funcname)s(%(data)s)R   s   %11sR   s   %s on large arrayss	   nmxl,nmyl(   s   numpy.mas	   nmxs,nmys(   s   numpy.mas	   nmxl,nmyl(   R%   R   R!   R&   (   R'   R   R1   R(   R#   t   yst   nmysR)   R$   t   ylt   nmylR*   R+   R,   (    (    s-   /tmp/pip-build-X4mzal/numpy/numpy/ma/bench.pyt   compare_functions_2vR   s    	!!t   __main__t   ravelR   iè  t	   conjugatet   zt	   transposet
   compressedt   __getitem__t   0s   (0,0)s   [0,-1]t   __setitem__s   0, 17R1   s	   (0,0), 17R"   i2   s   __setitem__ on small arrayss(   nmxs.__setitem__((-1,0),numpy.ma.masked)s   numpy.ma   i'  s   __setitem__ on large arrayss(   nmxl.__setitem__((-1,0),numpy.ma.masked)s   where on small arrayss    numpy.ma.where(nmxs>2,nmxs,nmys)s   where on large arrayss    numpy.ma.where(nmxl>2,nmxl,nmyl)i'  i'  ((   t
   __future__R    R   R   R   t   randomt   uniformt   reshapeR(   R4   t   zst   Truet   Falset   m1t   m2t   mat   arrayR#   R5   t   nmzsR)   R6   t   zlt   maskxt   maskyR$   R7   t   nmzlR!   R-   R3   R8   R%   t   sint   logt   sqrtt   multiplyt   dividet   powerR   (    (    (    s-   /tmp/pip-build-X4mzal/numpy/numpy/ma/bench.pyt   <module>   sp   	$$$$	



