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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
U
O±d9]ã    @sPddlZddlZddlZddlZddlmmZddl    m
Z
m Z m Z m Z mZejdd8e eejdƒ¡jdkpŒe eejdƒ¡jejkZW5QRXej d¡ p¨eZejjeddZGdd    „d    ƒZGd
d „d ƒZGd d „d ƒZGdd„dƒZ Gdd„dƒZ!Gdd„dƒZ"ddd„Z#d dd„Z$Gdd„dƒZ%Gdd„dƒZ&Gdd„dƒZ'dS)!éN)Ú assert_raisesÚ assert_equalÚassert_array_equalÚassert_almost_equalÚassert_array_max_ulpÚignore)ÚallÚlinuxzInadequate C99 complex support©Úreasonc@s6eZdZdd„Zedd„ƒZejjdddd„ƒZ    d    S)
ÚTestCexpcCszt}tj}||ddt d¡ddƒ||ddt d¡t d¡dƒt d¡tt d¡t d¡ƒ}||dd|j|jdƒdS)NérF)Úcheck_complex_valueÚnpÚexpÚcosÚsinÚcomplexÚrealÚimag)ÚselfÚcheckÚfÚref©rúZd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\numpy/core/tests/test_umath_complex.pyÚ test_simple!s  zTestCexp.test_simplecs¼t}tj‰|ˆtjddddƒ|ˆtjddddƒ|ˆdtjtjtjƒ|ˆdtjtjtjƒ|ˆdtjtjtjƒ|ˆtjdtjdƒ|ˆtj dtjtjƒ|ˆtj dtjtjtjƒ|ˆtjdtjtjƒ|ˆtjdtjtj tjƒ‡fdd„}|dƒ‡fdd    „}|dƒ‡fd
d „}|dƒ‡fd d „}|dƒ|ˆtjdtjtjƒ|ˆtjdtjtjƒ|ˆtjtjtjtjƒ|ˆtjtj tjtjƒ|ˆtjtjtjtjƒdS)Nrr Féÿÿÿÿçè?c    sbd}tjddHˆt ttj tjƒ¡ƒ}|jdks@|jdkrTt||j|jfƒ‚W5QRXdS)Nz0cexp(-inf, inf) is (%f, %f), expected (+-0, +-0)r©Úinvalidr)rÚerrstateÚarrayrÚinfrrÚAssertionError©ÚdummyZmsgformÚz©rrrÚ_check_ninf_infHs
z5TestCexp.test_special_values.<locals>._check_ninf_infc    sdd}tjddJˆt ttjtjƒ¡ƒ}t |j¡rBt |j¡sVt    ||j|jfƒ‚W5QRXdS)Nz1cexp(inf, inf) is (%f, %f), expected (+-inf, nan)rr)
rr!r"rr#ÚisinfrÚisnanrr$r%r(rrÚ_check_inf_infRs
z4TestCexp.test_special_values.<locals>._check_inf_infc    sbd}tjddHˆt ttj tjƒ¡ƒ}|jdks@|jdkrTt||j|jfƒ‚W5QRXdS)Nz0cexp(-inf, nan) is (%f, %f), expected (+-0, +-0)rrr)    rr!r"rr#Únanrrr$r%r(rrÚ_check_ninf_nan\s
z5TestCexp.test_special_values.<locals>._check_ninf_nanc    sdd}tjddJˆt ttjtjƒ¡ƒ}t |j¡rBt |j    ¡sVt
||j|j    fƒ‚W5QRXdS)Nz2cexp(-inf, nan) is (%f, %f), expected (+-inf, nan)rr) rr!r"rr#r-r*rr+rr$r%r(rrÚ_check_inf_nanfs
z4TestCexp.test_special_values.<locals>._check_inf_nan)rrrÚPZEROÚNZEROr#r-Úpi)rrr)r,r.r/rr(rÚtest_special_values+s2    zTestCexp.test_special_valuesz)cexp(nan + 0I) is wrong on most platformsr
cCs"t}tj}||tjdtjdƒdS)Nr)rrrr-)rrrrrrÚtest_special_values2{szTestCexp.test_special_values2N)
Ú__name__Ú
__module__Ú __qualname__rÚ platform_skipr3ÚpytestÚmarkÚskipr4rrrrr  s
 
 
O r c@s8eZdZdd„Zeejje     ¡dkdddd„ƒƒZ
dS)    ÚTestClogcCsDt ddg¡}t t |¡¡dt |¡}t |¡}t||ƒdS)Nùð?ùð?@ùð?)rr"ÚlogÚabsZangler©rÚxZy_rÚyrrrr…s
zTestClog.test_simpleZarmv5telz See gh-413.r
c    CsŒg}g}tjdd6tjtjgtd}ttj tjƒ}tttj    |ƒW5QRXtjddt
t     |¡|ƒW5QRX|  |¡|  |¡tjdd2tjdgtd}ttj dƒ}tttj    |ƒW5QRXtjddt
t     |¡|ƒW5QRX|  |¡|  |¡tjtdtjƒgtd}ttjdtjƒ}t
t     |¡|ƒ|  |¡|  |¡tjtdtjƒgtd}t
t     |¡|ƒ|  |¡|  |¡tjdd    ,tjtd
tj ƒgtd}ttj tj ƒ}W5QRXtjdd    t
t     |¡|ƒW5QRX|  |¡|  |¡tjdd    "tjtjd tj gtd}W5QRXtjdd    t
t     |¡|ƒW5QRX|  |¡|  |¡tjtj d gtd}ttjtjƒ}t
t     |¡|ƒ|  |¡|  |¡tjtjd gtd}ttjdƒ}t
t     |¡|ƒ|  |¡|  |¡tjttj tjƒgtd}ttjd tjƒ}t
t     |¡|ƒ|  |¡|  |¡tjttjtjƒgtd}ttjd tjƒ}t
t     |¡|ƒ|  |¡|  |¡tjttjtj ƒgtd}ttjtj ƒ}t
t     |¡|ƒ|  |¡|  |¡tjttj tj ƒgtd}t
t     |¡|ƒ|  |¡|  |¡tjttj dƒgtd}ttj tj ƒ}t
t     |¡|ƒ|  |¡|  |¡tjttj tjƒgtd}ttjtj ƒ}t
t     |¡|ƒ|  |¡|  |¡tjttj tj ƒgtd}ttj tj ƒ}t
t     |¡|ƒ|  |¡|  |¡tj|td}tj|td}tjdd:t t|ƒƒD]&}t
t     || ¡¡|| ¡ƒqVW5QRXdS)NÚraise)Údivide©Údtyperrr çà?rrçð?r?rçÐ?)rr!r"r1rr#r2rÚFloatingPointErrorr@rÚappendr-ÚrangeÚlenÚconj)rZxlZylrCrDÚxaZyaÚirrrr3‹s²
 
 
 
 
 
 
 
 
 
&
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
zTestClog.test_special_valuesN) r5r6r7rr8r9r:ÚskipifÚplatformÚmachiner3rrrrr<„sr<c@s(eZdZdd„Zdd„Zedd„ƒZdS)Ú    TestCsqrtcCsNttjddddƒdt d¡}|}ttjdd||dƒttjddddƒdS)Nr rrIéFr)rrÚsqrt)rZrresZiresrrrrs
zTestCsqrt.test_simplecCs8t t tddƒ¡¡}dd„}t|dd|j|jdƒdS)Nr cSst t |¡¡S©N)rrXrP)r'rrrr%sz*TestCsqrt.test_simple_conjugate.<locals>.fF)rrPrXrrrr)rrrrrrÚtest_simple_conjugate"szTestCsqrt.test_simple_conjugatecCs¶t}tj}||tjdddƒ||tjdddƒ||dtjtjtjƒ||dtjtjtjƒ||tjtjtjtjƒ||tjtjtjtjƒ||tjtjtjtjƒ||tj tjtjtjƒ||tj tjtjtjƒ||dtjtjtjƒ||dtjtjtjƒ||dtjtjtjƒ||tj dtjtjƒ||tjdtjtjƒdd„}|dƒ||tjtjtjtjƒ||tjdtjtjƒ||tjdtjtjƒ||tjtjtjtjƒdS)Nrr rc    Sshd}t t ttj tjƒ¡¡}tjdd2t |j¡rFt     |j
¡sZt ||j|j
fƒ‚W5QRXdS)Nz3csqrt(-inf, nan) is (%f, %f), expected (nan, +-inf)rr) rrXr"rr#r-r!r+rr*rr$r%rrrr.Ns
z6TestCsqrt.test_special_values.<locals>._check_ninf_nan)rrrXr0r1r#r-)rrrr.rrrr3-s,zTestCsqrt.test_special_valuesN)r5r6r7rrZr8r3rrrrrVs  rVc@s4eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd S) ÚTestCpowcCstjdd|_dS©Nrr©rZseterrZolderr©rrrrÚ setup_methodeszTestCpow.setup_methodcCstjf|jŽdSrYr]r^rrrÚteardown_methodhszTestCpow.teardown_methodcCs:t dddtjtjg¡}|d}t |d¡}t||ƒdS)Nùð?ð?ù@r>rW)rr"r#r-ÚpowerrrBrrrrks zTestCpow.test_simplecs t ddddtjtjg¡‰t ddddddg¡‰tttˆƒƒƒ}ddd    d
ttjtjƒttjtjƒg}‡‡fd d „|Dƒ}|D]}t||||d |dq|dS)Nr r?rWù@®Gáz®×?ùà¿ø?ér=ùàg÷F̛Ê?ù¨
h´xëÖ?éÁX‰Â‚ã?ùSLïJ#4À?锯4Cß?csg|]}ˆ|ˆ|‘qSrr)Ú.0rR©rCrDrrÚ
<listcomp>sz(TestCpow.test_scalar.<locals>.<listcomp>úLoop %d
©Úerr_msg©    rr"r#r-ÚlistrNrOrr)rÚlxÚp_rÚn_rrRrrkrÚ test_scalarqs  ú    zTestCpow.test_scalarcCs”t ddddtjtjg¡}t ddddddg¡}ttt|ƒƒƒ}ddd    d
ttjtjƒttjtjƒg}||}|D]}t||||d |d qpdS) Nr r?rWrdrerfr=rgrhrirmrnrp)rrCrDrrrsrtrRrrrÚ
test_array…s  ú    zTestCpow.test_arrayN)r5r6r7r_r`rrurvrrrrr[ds
r[c@s4eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd S) ÚTestCabscCstjdd|_dSr\r]r^rrrr_šszTestCabs.setup_methodcCstjf|jŽdSrYr]r^rrrr`szTestCabs.teardown_methodcCsTt dddtjtjg¡}t t d¡dt d¡tjtjg¡}t |¡}t||ƒdS)Nrarbr>g@rWé)rr"r#r-rXrArrBrrrr s$
zTestCabs.test_simplecCs¸tjdgtd}tt |¡t |¡ƒtjtdtjƒgtd}tt |¡t |¡ƒtjttjtjƒgtd}tt |¡t |¡ƒtjttjtjƒgtd}tt |¡t |¡ƒdS)Nr=rGr )    rr"rrrArr1r#r-)rrCrrrÚ    test_fabs¦szTestCabs.test_fabsc    CsDgg}}| tj¡| tj¡ttjtjtjtjƒ| tj¡| tj ¡ttjtj tjtjƒ| tj¡| tj¡ttjtjtjtjƒ| tj ¡| tj¡ttjtj tjtjƒdd„}dd„}tj|td}t|ƒt|ƒkr t|ƒksnt    ‚t
||ƒD]"\}}|||ƒ}t||||ƒqdS)NcSst t |¡¡SrY)rrArP)ÚarrrrËsz%TestCabs.test_cabs_inf_nan.<locals>.fcSst t||ƒ¡SrY)rrAr)rzÚbrrrÚgÎsz%TestCabs.test_cabs_inf_nan.<locals>.grG) rMrr-Úcheck_real_valuerAr#r"rrOr$Úzip)    rrCrDrr|rQÚxiÚyirrrrÚtest_cabs_inf_nan´s(
      *
zTestCabs.test_cabs_inf_nanN)r5r6r7r_r`rryrrrrrrw™s
rwc@s2eZdZdd„Zejjdddd„ƒZdd„Zd    S)
ÚTestCargcCs\ttjddddƒttjdddtjdƒttjdddtjdƒttjtjtjtjƒdS)Nr rFrIrK)r}ÚncuÚ_argrr2r0r^rrrrØszTestCarg.test_simplez;Complex arithmetic with signed zero fails on most platformsr
cCs$ttjtjtjtjdƒttjtjtjtj dƒttjtjtjtjƒttjtjtjtjƒttjdtjtjdƒttjdtjtjdƒttjdtjtjdƒttjdtjtj dƒttjtjddtjdƒttjtjddtjdƒttjtjddtjdƒttjtjddtjdƒdS)NFr rrIçà¿)r}rƒr„rr1r0r2r^rrrÚ    test_zeroàszTestCarg.test_zerocCslttjtj dtjdƒttjtj dtj dƒttjtjdtjdƒttjtjdtjdƒttjdtjdtjdƒttjdtj dtjdƒttjtj tjdtjdƒttjtj tj dtjdƒttjtjtjdtjdƒttjtjtj d    tjdƒttjtjd
tjdƒttjd
tjtjdƒttjtjtjtjdƒttjtjtjtjdƒdS) Nr FrrIr…rgè¿rKgпr)    r}rƒr„rr#r2r0r1r-r^rrrr3þs zTestCarg.test_special_valuesN)    r5r6r7rr9r:r;r†r3rrrrr‚×s ÿ
r‚TcCs8t t||ƒg¡}|r&t||ƒ|ƒnt||ƒ|ƒdSrY)rr"rrr)rÚx1Úy1rCÚexactÚz1rrrr}sr}c    CsZt t||ƒg¡}t||ƒ}tjdd(|r>t||ƒ|ƒnt||ƒ|ƒW5QRXdSr\)rr"rr!rr)rr‡rˆZx2Úy2r‰rŠZz2rrrr#s 
rc    @sDeZdZej dddddddg¡ej dejejg¡d    d
„ƒƒZ    d S) ÚTestSpecialComplexAVXÚstrideéüÿÿÿéþÿÿÿrr rWéÚastypec Cs~tjttjtjƒttjtjƒttjtjƒttjtjƒtdtjƒttjdƒtddƒtdtjƒttjdƒg    |d}tjtjtjtjtjtjtjdtjtjg    |jjd}tjttjtjƒttjtjƒttjtjƒttjtjƒttj tjƒttjtjƒtddƒttjtjƒttjtjƒg    |d}tt |dd|…¡|dd|…ƒtj    dd*tt 
|dd|…¡|dd|…ƒW5QRXdS)NçrGrr) rr"rr-r#rrHrrAr!Úsquare)rrr‘ÚarrÚabs_trueZsq_truerrrrv-s8   
 
 
 
øø    4      øø    $z TestSpecialComplexAVX.test_arrayN©
r5r6r7r9r:Z parametrizerZ    complex64Z
complex128rvrrrrrŒ,srŒc@sveZdZej ddddddddd    d
d d d ddddg¡ej dddddddddg¡ej dejejg¡dd„ƒƒƒZ    dS)ÚTestComplexAbsoluteAVXÚ    arraysizer rWrfrrxéééé    é
é é éééérrŽéýÿÿÿrrr‘cCsHtj||d}tj||jjd}tt |dd|…¡|dd|…ƒdS)NrG)rZonesrrHrrA)rr˜rr‘r”r•rrrrvHsz!TestComplexAbsoluteAVX.test_arrayNr–rrrrr—Gs,r—c @s\eZdZej ddddddddd    g¡ej d
ejejg¡ej d d d dg¡dd„ƒƒƒZ    dS)ÚTestComplexAbsoluteMixedDTypesrrŽr¤rrr rWrfrr‘ÚfuncrAr“Ú    conjugatec
Cs¢ddddddddd    |fd
g
}tjd d d ddddddg    |d}tt|ƒ}|d    }||dd|…ƒ}|d     ¡}    ||    dd|…ƒ}
t|
j|jdƒt|
j|jdƒdS)N)Z template_idú<i8)Z
bank_chisqú<f4)Zbank_chisq_dofr¨)Zchisqr©)Z    chisq_dofr¨)Z
cont_chisqr©)Z psd_var_valr©)Zsg_chisqr©Z    mycomplex)Z
time_indexr¨)
rr’rgW@¡žª?ÀéÈr’r’rJy@@iâZ    )
r r’rg /ݤNp@é*r’r’rJy@(@is )
r r’rgºÚŠýeJ@r«r’r’rJy @.@iñN )
r r’rgŒó7¡7J@r«r’r’rJy@8@iTÎ)
rWr’rg2 {½ûs@é:r’r’rJy4@5@i{ )
rfr’rgÿÏa¾¼¶r@é4r’r’rJy(@€A@i„ )
rr’rg=,Ԛæ½C@ér’r’gˆ/EH]"@y"@D@ih )
rr’rg+~©Ÿ5S@r®r’r’rJy<@€F@i+)
rxr’rgm¨çoèa@ér’r’gÂ1˞þ%@y&@N@ic rGr )rr"ÚgetattrÚcopyrrr) rrr‘r¦rHZvecZmyfuncrzr|r{ÚhrrrrvSs<ý÷    ÷
 
 z)TestComplexAbsoluteMixedDTypes.test_arrayNr–rrrrr¥Rsr¥)T)T)(ÚsysrTr9ÚnumpyrZnumpy.core._multiarray_umathÚcoreZ_multiarray_umathrƒZ numpy.testingrrrrrr!rrr#rr@r1r2Zfunctions_seem_flakyÚ
startswithZxfail_complex_testsr:rSr8r r<rVr[rwr‚r}rrŒr—r¥rrrrÚ<module>s2 ÿ ÿdP5>D