U Dx` @sddlZddlZejdddddZejdddddZedeZdd d gd d dggZdd dgd d dggZ ej j eed Z ej j ee d Z ej j eed Zejddd d d Zejddd d d ZedeZed kZedkZej j eed Zej j eed Zej j eed Zd4ddZdee eefddZdddee eefddZddee ee eeeef ddZedkreejeejeejeejeej eej!eddddeddddded 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.ed/d-d de"d*e"d0ed1d-dde"d*e"d2ed3d-d ddS)5Ny?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).0xr5/tmp/pip-target-zr53vnty/lib/python/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 Csl|j}tdt|dd\}}tdtd||dtd|d\}}tdtd||ddS) N2-------------------------------------------------- on small arrays)numpy.manmxs!%(module)s.%(funcname)s(%(data)s)%11sr#r$%s on large arrays)r+nmxl__name__rr(locals) funcr$xsr,xlr1funcnamemoduledatarrrcompare_functions_1v9s r;rc Csntdt|dd|dd} } tdt| |dtd|d |d} } tdt| |ddS) Nr)r*nmlr+z!%(data)s.%(methodname)s(%(args)s)r/r0znm%sl)rr(r4) methodnameargsvarsr$testr6r,r7r1r:verrrrcompare_methodsFs rCc Csn|j} tdt| dd\} } tdtd| |dt| dd\} } tdtd| |ddS) Nr)r*)r+z nmxs,nmysr-r.r/z on large arrays)r+z nmxl,nmylr2)r5r$rAr6r,ysnmysr7r1ylnmylr8r9r:rrrcompare_functions_2vRsrH__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)#rr randomuniformZreshaper6rDZzsm1m2maarrayr,rEZnmzsr7rFZzlZmaskxZmaskyr1rGZnmzlr(r;rCrHr3sinlogsqrtmultiplydividepowerrrrrrs