o 6a @sddlZddlZejdddddZejdddddZedeZgdgd gZgd gd gZ ej j eed Z ej j ee d Z ej j eed Zejddd d d Zejddd d d ZedeZedkZedkZej j eed Zej j eed Zej j eed Zd7ddZdee eefddZdddee eefddZddee ee eeeef ddZedkrYeejeejeejeejeej eej!edddded dd!dded"ddded#ddded$d%dded$d&dded$d'dded(d)dd*d+ed(d,dd*d+e"d-e"d.ed/d0d de"d-e"d1ed2d0d de"d-e"d3ed4d0dde"d-e"d5ed6d0d ddSdS)8Ny?)TFF)FFT)TFT)maski'dg?gc Csgd}gd}td||fdddddD}d d |}tj||d }t||||} | d krFtttt | d  d } nd } td||d | || || fdS)N)smsuµsns)rg@@g.AgeAz %s : %-50s :  )endcSsg|] }dt|dqS)z%ss,nm%ss,%sl,nm%sl)tuple).0xr0/usr/lib/python3/dist-packages/numpy/ma/bench.py +sztimer..xyzz"from __main__ import numpy, ma, %s,)stmtsetupgrz&%d loops, best of %d: %.*g %s per loop) printjointimeitTimerminrepeatintnumpyfloorlog10) r vnloopnrepunitsscalingvarnamesrrbestorderrrrtimer'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)r0nmxl__name__rr-locals) funcr&xsr1xlr6funcnamemoduledatarrrcompare_functions_1v9s r@rTc Csntdt|dd|dd} } tdt| |dtd|d |d} } tdt| |ddS) Nr.r/nmlr0z!%(data)s.%(methodname)s(%(args)s)r4r5znm%sl)rr-r9) methodnameargsvarsr&testr;r1r<r6r?verrrrcompare_methodsFs rHc Csn|j} tdt| dd\} } tdtd| |dt| dd\} } tdtd| |ddS) Nr.r/)r0z nmxs,nmysr2r3r4z on large arrays)r0z nmxl,nmylr7)r:r&rFr;r1ysnmysr<r6ylnmylr=r>r?rrrcompare_functions_2vRsrM__main__raveli)r& conjugatez transpose compressed __getitem__0z(0,0)z[0,-1] __setitem__z0, 17F)r&rFz (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"randomuniformreshaper;rIzsm1m2maarrayr1rJnmzsr<rKzlmaskxmaskyr6rLnmzlr-r@rHrMr8sinlogsqrtmultiplydividepowerrrrrrsx