U C^N @sddlmZmZddlZddlZejdddddZejdddddZ ede Z d d d gd d d ggZ d d d gd d d ggZ ej jee d Zej je e d Zej je e d Zejddd d d Zejddd d d ZedeZedkZedkZej jeed Zej jeed Zej jeed Zd5ddZdeeeefddZddd eeeefddZdd eee eeeeef ddZedkreejeej eej!eej"eej#eej$eddddeddd dded!ddded"ddded#d$dded#d%dded#d&dded'd(dd d)ed'd*dd d)e%d+e%d,ed-d.d de%d+e%d/ed0d.d de%d+e%d1ed2d.dde%d+e%d3ed4d.d ddS)6)divisionprint_functionNy?TF)maski'dg?gc Csddddg}ddddg}td ||fd d d d dD}dd|}tj||d}t||||} | dkrtttt | d d} nd} td||d| || || fdS)Nsmsuµsnsrg@@g.AgeAz %s : %-50s :  )endcSsg|]}dt|dqS)z%ss,nm%ss,%sl,nm%sl)tuple).0xr1/tmp/pip-install-6_kvzl1k/numpy/numpy/ma/bench.py -sztimer..Zxyzz"from __main__ import numpy, ma, %s,)Zstmtsetupgrz&%d loops, best of %d: %.*g %s per loop) printjointimeitTimerminrepeatintnumpyfloorlog10) r vnloopZnrepZunitsZscalingvarnamesrrbestorderrrrtimer)s  " r*c Csj|j}tdtd|d\}}tdtd||dtd|d\}}tdtd||ddS) N2--------------------------------------------------%s on small arrays)numpy.manmxs!%(module)s.%(funcname)s(%(data)s)%11sr%r&%s on large arrays)r-nmxl__name__rr*locals) funcr&xsr.xlr3funcnamemoduledatarrrcompare_functions_1v;s  r=rc Cshtdtd|d|d} } tdt| |dtd|d|d} } tdt| |ddS) Nr+r,znm%ssr-z!%(data)s.%(methodname)s(%(args)s)r1r2znm%sl)rr*r6) methodnameargsvarsr&testr8r.r9r3r<verrrrcompare_methodsHs  rCc Csj|j} tdtd| d\} } tdtd| |dtd| d\} } tdtd| |ddS) Nr+r,)r-z nmxs,nmysr/r0r1r2)r-z nmxl,nmylr4)r7r&rAr8r.ysnmysr9r3ylnmylr:r;r<rrrcompare_functions_2vTs  rH__main__Zraveli)r& conjugatezZ transpose compressed __getitem__0z(0,0)z[0,-1] __setitem__z0, 17)r&rAz (0,0), 17r+z__setitem__ on small arraysz(nmxs.__setitem__((-1,0),numpy.ma.masked)z numpy.ma z__setitem__ on large arraysz(nmxl.__setitem__((-1,0),numpy.ma.masked)zwhere on small arraysz numpy.ma.where(nmxs>2,nmxs,nmys)zwhere on large arraysz numpy.ma.where(nmxl>2,nmxl,nmyl))r r r)& __future__rrrr"randomuniformZreshaper8rDZzsm1m2maarrayr.rEZnmzsr9rFZzlZmaskxZmaskyr3rGZnmzlr*r=rCrHr5sinlogsqrtmultiplydividepowerrrrrrs