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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
U
P±dNã@s²ddlZddlZddlZddlmZmZmZGdd„dejj    j
ƒZ dd„Z d dd„Z ejejejejejejejejejejejejeeejejejejej gZ!Gd    d
„d
ƒZ"dS) éN)Úassert_Ú assert_equalÚ assert_raisesc@s0eZdZdd„ZejejfZdd„Z    dd„Z
dS)Ú    ArrayLikecCst |¡|_dS©N)ÚnpZasarrayÚvalue)Úselfr©r
úRd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\numpy/lib/tests/test_mixins.pyÚ__init__ szArrayLike.__init__cs®| dd¡}||D]}t|ˆjtfƒstSqtdd„|Dƒƒ}|r`tdd„|Dƒƒ|d<t||ƒ||Ž}t|ƒtkr’t‡fdd„|DƒƒS|dkrždStˆƒ|ƒSdS)NÚoutr
css"|]}t|tƒr|jn|VqdSr©Ú
isinstancerr©Ú.0Úxr
r
r Ú    <genexpr>sÿz,ArrayLike.__array_ufunc__.<locals>.<genexpr>css"|]}t|tƒr|jn|VqdSrrrr
r
r r!sÿc3s|]}tˆƒ|ƒVqdSr)Útyper©r    r
r r(sÚat)ÚgetrÚ_HANDLED_TYPESrÚNotImplementedÚtupleÚgetattrr)r    ZufuncÚmethodÚinputsÚkwargsr rÚresultr
rr Ú__array_ufunc__s"  
ÿþ  zArrayLike.__array_ufunc__cCsdt|ƒj|jfS)Nz%s(%r))rÚ__name__rrr
r
r Ú__repr__0szArrayLike.__repr__N) r!Ú
__module__Ú __qualname__r rZndarrayÚnumbersÚNumberrr r"r
r
r
r r s rcCs*t|ƒtkrtdd„|DƒƒSt|ƒSdS)Ncss|]}t|ƒVqdSr)r)rÚrr
r
r r6sz"wrap_array_like.<locals>.<genexpr>)rrr©rr
r
r Úwrap_array_like4s r)cCstt|ƒt|ƒ|dt|tƒrXtt|ƒt|ƒ|dt||ƒD]\}}t|||ƒq@n4t|j|j|dtt|jddƒt|jddƒ|ddS)N©Úerr_msgÚdtype)    rrrrÚlenÚzipÚ_assert_equal_type_and_valuerr)rÚexpectedr+Z result_itemZ expected_itemr
r
r r/;s
 ÿr/c@sdeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z dd„Z dd„Z dS)ÚTestNDArrayOperatorsMixincCs¼dd„}|tdƒdƒ|dtdƒƒ|tdƒt d¡ƒ|t d¡tdƒƒ|tt d¡ƒdƒ|dtt d¡ƒƒ|tt d¡ƒt d¡ƒ|t d¡tt d¡ƒƒdS)NcSst|tdƒƒdS©Nr)r/rr(r
r
r Úcheckbsz<TestNDArrayOperatorsMixin.test_array_like_add.<locals>.checkr)rrÚarray)r    r3r
r
r Útest_array_like_add`sz-TestNDArrayOperatorsMixin.test_array_like_addcCs`tt dg¡ƒ}|d7}t|tt dg¡ƒƒt dg¡}|tdƒ7}t|tt dg¡ƒƒdS)Nré)rrr4r/)r    Ú
array_liker4r
r
r Ú test_inplaceqs   z&TestNDArrayOperatorsMixin.test_inplacec    Cs”Gdd„dƒ}tdƒ}|ƒ}t|||kƒt|||kƒttƒ||7}W5QRXttƒ||W5QRXttƒ||W5QRXdS)Nc@s$eZdZdZdZdd„Zdd„ZdS)z6TestNDArrayOperatorsMixin.test_opt_out.<locals>.OptOutz(Object that opts out of __array_ufunc__.NcSs|Srr
©r    Úotherr
r
r Ú__add__€sz>TestNDArrayOperatorsMixin.test_opt_out.<locals>.OptOut.__add__cSs|Srr
r9r
r
r Ú__radd__ƒsz?TestNDArrayOperatorsMixin.test_opt_out.<locals>.OptOut.__radd__)r!r#r$Ú__doc__r r;r<r
r
r
r ÚOptOut|sr>r6)rrrÚ    TypeError)r    r>r7Zopt_outr
r
r Ú test_opt_outzs
 
 
 
z&TestNDArrayOperatorsMixin.test_opt_outcCs@Gdd„dtƒ}tdƒ}|dƒ}t|||ƒt|||ƒdS)Nc@seZdZdZdS)z=TestNDArrayOperatorsMixin.test_subclass.<locals>.SubArrayLikez&Should take precedence over ArrayLike.N)r!r#r$r=r
r
r
r Ú SubArrayLike˜srArr6)rr/)r    rArÚyr
r
r Ú test_subclass–s
z'TestNDArrayOperatorsMixin.test_subclassc    Csftdƒ}tƒ}ttƒ||W5QRXttƒ||W5QRXttƒ||7}W5QRXdSr2)rÚobjectrr?)r    rÚobjr
r
r Ú test_object s
 
 
z%TestNDArrayOperatorsMixin.test_objectcCsLt ddddg¡}t|ƒ}tjtjttjfD]}t||ƒt||ƒƒƒq,dS)Néÿÿÿÿrr6é)    rr4rÚoperatorÚnegÚposÚabsÚinvertr/)r    r4r7Úopr
r
r Útest_unary_methodsªsýz,TestNDArrayOperatorsMixin.test_unary_methodscCsXt ddddg¡}t|ƒ}tD]4}t||dƒƒ}||dƒ}d |¡}t|||dqdS)NrGrr6rHúfailed for operator {}r*)rr4rÚ_ALL_BINARY_OPERATORSr)Úformatr/)r    r4r7rNr0Úactualr+r
r
r Útest_forward_binary_methods³s
 
z5TestNDArrayOperatorsMixin.test_forward_binary_methodscCsBtD]8}t|ddƒƒ}|dtdƒƒ}d |¡}t|||dqdS)NrHr6rPr*)rQr)rrRr/)r    rNr0rSr+r
r
r Útest_reflected_binary_methods¼s
 
z7TestNDArrayOperatorsMixin.test_reflected_binary_methodscCsdtjddgtjd}t|ƒ}tt d¡ƒ}t|t ||¡ƒt|t ||¡ƒt|t ||¡ƒdS)Nr6rH)r,é)rr4Úfloat64rr/ÚmatmulrI)r    r4r7r0r
r
r Ú test_matmulÃs
ÿ
ÿz%TestNDArrayOperatorsMixin.test_matmulcCsPtt ddddg¡ƒ}ttj |t ddg¡¡dkƒt|tddddgƒƒdS)Nr6rHéérrGéþÿÿÿ)rrr4rÚnegativerr/)r    r4r
r
r Ú test_ufunc_atÍs z'TestNDArrayOperatorsMixin.test_ufunc_atcCsPt d¡\}}t|ƒt|ƒf}tt tdƒ¡|ƒtt tt d¡ƒ¡|ƒdS)NgÀ?)rÚfrexprr/r4)r    ZmantissaÚexponentr0r
r
r Útest_ufunc_two_outputsÒs ÿÿz0TestNDArrayOperatorsMixin.test_ufunc_two_outputsN)r!r#r$r5r8r@rCrFrOrTrUrYr^rar
r
r
r r1^s    
 
        
r1)N)#r%rIÚnumpyrZ numpy.testingrrrÚlibZmixinsZNDArrayOperatorsMixinrr)r/ÚltÚleÚeqÚneÚgtÚgeÚaddÚsubÚmulÚtruedivÚfloordivÚmodÚdivmodÚpowÚlshiftÚrshiftÚand_ÚxorÚor_rQr1r
r
r
r Ú<module>s6)
í