ó \ÐKc @s¶ddlZddlZejjdddƒjddƒZejjdddƒjddƒZedeZee e ge e eggZ ee ege e eggZ ej j ede ƒZej j ede ƒZej j ede ƒZejjddd.ƒjddƒZejjddd/ƒjddƒZedeZed kZed kZej j edeƒZej j edeƒZej j edeƒZd d dd „Zd eeeed„Zdd eeeeed„Zd eeeeeeeeed„ Zedkr²eejƒeejƒeej ƒeej!ƒeej"ƒeej#ƒedd ddƒedd dddƒedd ddƒedd ddƒeddddƒeddddƒeddddƒeddddd e ƒedd!ddd e ƒd"d#GHd$GHed%d&dd'ƒd"d#GHd(GHed)d&dd'ƒd"d#GHd*GHed+d&ddƒd"d#GHd,GHed-d&ddƒndS(0iÿÿÿÿNiiiiyð?tmaskidgš™™™™™é?gš™™™™™é¿tiôc Cs ddddg}ddddg}d ||fGgd D]}d t|d ƒ^q9}d dj|ƒ}tjd|d|ƒ} t| j||ƒƒ|} | dkrÛtttjtj | ƒƒdƒ dƒ} nd} d||d| || || fGHdS(Ntstmssµstnsig@@g€„.AgeÍÍAs %s : %-50s : txyzs%ss,nm%ss,%sl,nm%slis"from __main__ import numpy, ma, %st,tstmttsetupgis&%d loops, best of %d: %.*g %s per loop( ttupletjointtimeittTimertmintrepeattinttnumpytfloortlog10( RtvtnlooptnreptunitstscalingtxtvarnamesRR tbesttorder((s2/usr/lib/python2.7/site-packages/numpy/ma/bench.pyttimer)s' /  c Cs‚|j}ddGHd|GHd \}}tdtƒdd|d |ƒd |GHd \}}tdtƒdd|d |ƒdS(Nt-i2s%s on small arrayssnumpy.matnmxss!%(module)s.%(funcname)s(%(data)s)Rs%11sRs%s on large arraystnmxl(snumpy.masnmxs(snumpy.masnmxl(t__name__Rtlocals( tfuncRtxsRtxlRtfuncnametmoduletdata((s2/usr/lib/python2.7/site-packages/numpy/ma/bench.pytcompare_functions_1v=s    !  !Rc Cs{ddGHd|GHd|d} } tdtƒd| d|ƒd |GHd |d} } tdtƒd| d|ƒdS( NRi2s%s on small arrayssnm%sssnumpy.mas!%(data)s.%(methodname)s(%(args)s)RRs%s on large arrayssnm%sl(RR!( t methodnametargstvarsRttestR#RR$RR'tver((s2/usr/lib/python2.7/site-packages/numpy/ma/bench.pytcompare_methodsJs   c Cs‚|j} ddGHd| GHd \} } tdtƒdd| d |ƒd | GHd \} } tdtƒdd| d |ƒdS(NRi2s%s on small arrayssnumpy.mas nmxs,nmyss!%(module)s.%(funcname)s(%(data)s)Rs%11sRs%s on large arrayss nmxl,nmyl(snumpy.mas nmxs,nmys(snumpy.mas nmxl,nmyl(R RR!(R"RR,R#RtystnmysR$RtyltnmylR%R&R'((s2/usr/lib/python2.7/site-packages/numpy/ma/bench.pytcompare_functions_2vVs    !  !t__main__travelRièt conjugatetzt transposet compressedt __getitem__t0s(0,0)s[0,-1]t __setitem__s0, 17R,s (0,0), 17Ri2s__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)swhere on small arrayss numpy.ma.where(nmxs>2,nmxs,nmys)swhere on large arrayss numpy.ma.where(nmxl>2,nmxl,nmyl)i'i'($R RtrandomtuniformtreshapeR#R/tzstTruetFalsetm1tm2tmatarrayRR0tnmzsR$R1tzltmaskxtmaskyRR2tnmzlRR(R.R3R tsintlogtsqrttmultiplytdividetpower(((s2/usr/lib/python2.7/site-packages/numpy/ma/bench.pytsn  $$$$