zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
U
P±d}ã
@sºddlZddlZej ddd¡ dd¡Zej ddd¡ dd¡ZedeZdd    d    gd    d    dggZdd    dgd    d    dggZ    ej
j eed
Z ej
j ee    d
Z ej
j eed
Zej ddd ¡ d d ¡Zej ddd ¡ d d ¡ZedeZed kZedkZej
j eed
Zej
j eed
Zej
j eed
Zd4dd„Zdee eefdd„Zdddee eefdd„Zddee ee eeeef
dd„Zedkr¶eejƒeejƒeejƒeejƒeej ƒeej!ƒeddddeddddded ddded!ddded"d#dded"d$dded"d%dded&d'dd    d(ed&d)dd    d(e"d*ƒe"d+ƒed,d-d de"d*ƒe"d.ƒed/d-d de"d*ƒe"d0ƒed1d-dde"d*ƒe"d2ƒed3d-d ddS)5éNéÿÿÿÿééééyð?TF)Úmaski'édgš™™™™™é?gš™™™™™é¿Úéôc Cs¾ddddg}ddddg}td    ||fd
d d d „dDƒ}dd |¡}tj||d}t| ||¡ƒ|}    |    dkr”ttt t     |    ¡¡dƒ dƒ}
nd}
td||d|    ||
||
fƒdS)NÚsÚmsuµsÚnsrg@@g€„.AgeÍÍAz %s : %-50s : ú )ÚendcSsg|]}dt|dƒ‘qS)z%ss,nm%ss,%sl,nm%slé)Útuple)Ú.0Úx©rúEd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\numpy/ma/bench.pyÚ
<listcomp>*sztimer.<locals>.<listcomp>Zxyzz"from __main__ import numpy, ma, %sú,)ZstmtÚsetupgrz&%d loops, best of %d: %.*g %s per loop)
ÚprintÚjoinÚtimeitÚTimerÚminÚrepeatÚintÚnumpyÚfloorÚlog10) r ÚvÚnloopZnrepZunitsZscalingÚvarnamesrrÚbestÚorderrrrÚtimer&s  "
ýr(c    Csl|j}tdƒt|›dƒd\}}tdtƒd||dtd|ƒd\}}tdtƒd||ddS)    Nú2--------------------------------------------------ú on small arrays)únumpy.maÚnmxsú!%(module)s.%(funcname)s(%(data)s)ú%11s©r#r$ú%s on large arrays)r+Únmxl©Ú__name__rr(Úlocals)    Úfuncr$Úxsr,Úxlr1ÚfuncnameÚmoduleÚdatarrrÚcompare_functions_1v8s r;rc     Csntdƒt|›dƒd|›dd}    }
tdtƒ|
|dtd|ƒd    |d}    }
tdtƒ|
|ddS)
Nr)r*ÚnmÚlr+z!%(data)s.%(methodname)s(%(args)s)r/r0znm%sl)rr(r4) Ú
methodnameÚargsÚvarsr$Útestr6r,r7r1r:ÚverrrrÚcompare_methodsEs rCc Csn|j} tdƒt| ›dƒd\} } tdtƒd| |dt| ›dƒd\} } tdtƒd| |ddS)    Nr)r*)r+z    nmxs,nmysr-r.r/z on large arrays)r+z    nmxl,nmylr2)r5r$rAr6r,ÚysÚnmysr7r1ÚylÚnmylr8r9r:rrrÚcompare_functions_2vQsrHÚ__main__Zraveliè)r$Ú    conjugateÚzZ    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 ÚrandomÚuniformZreshaper6rDZzsÚm1Úm2ÚmaÚarrayr,rEZnmzsr7rFZzlZmaskxZmaskyr1rGZnmzlr(r;rCrHr3ÚsinÚlogÚsqrtÚmultiplyÚdivideÚpowerrrrrrÚ<module>sˆ      
ÿ
ÿ
ü