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
U
P±dGQã@sôddlZddlZddlmZmZmZmZmZm    Z    m
Z
ddl m Z m Z mZmZmZmZmZmZmZmZmZGdd„dƒZGdd„dƒZGdd    „d    ƒZGd
d „d ƒZGd d „d ƒZGdd„dƒZdd„ZGdd„dƒZdd„ZGdd„dƒZ dd„Z!dS)éN)Úassert_Ú assert_equalÚassert_array_equalÚassert_almost_equalÚassert_array_almost_equalÚ assert_raisesÚassert_raises_regex) ÚmgridÚogridÚ ndenumerateÚ fill_diagonalÚ diag_indicesÚdiag_indices_fromÚ    index_expÚndindexÚr_Ús_Úix_c@sheZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    e
j   ddddg¡dd„ƒZ dd„ZdS)ÚTestRavelUnravelIndexc    Csªtt dd¡dƒttjddddƒttƒtjdddW5QRXttƒtjdddW5QRXttƒtjddd    W5QRXttƒtjddd
W5QRXtt dd¡dƒtt dd¡d ƒtt d d¡dƒtttjd dƒtttjd dƒtttjddƒtttjddƒtttjddƒtttjddƒtttjddƒtttjddƒtt dd¡dddgƒtt dddgd¡dƒt dddgdddgg¡}tt |d¡dddgƒttj|dddd dd!gƒttj|d"d#d$dd%d&gƒttj|d'd(d$d)d!d!gƒtt d*d+¡d,ƒtt t dddg¡d¡dddgdddggƒttjt d dd!g¡ddddddgdddggƒtt d,d+¡ddddgƒdS)-Né)rr©ér)ÚindicesÚshape)rÚhape)réþ)éé^)Zims)Zdims)réBéÿÿÿÿgà?é)éýÿÿÿr)rr)rr!)rr)皙™™™™¹?gé.)r éérr$r%é)ér%éé)é%ÚF©Úorderéé )r r%Úclip©Úmodeéé©r r )r0Úwrapé )r$rr r)r%r'éé    iU)rÚnpÚ unravel_indexrÚ    TypeErrorÚravel_multi_indexÚ
ValueErrorÚarray)ÚselfÚarr©rBúXd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\numpy/lib/tests/test_index_tricks.pyÚ
test_basicshÿþ
 
 
 
ÿÿÿÿÿþz TestRavelUnravelIndex.test_basiccCsd}d}tt|tjgdƒtt|tjddƒtt|tjt g¡dƒtt tjgtdd¡ggggƒtt|tjggfdƒtt|tjgdgfdƒtt|tjt g¡t g¡fdƒtt tjgtdtjgtdfd¡gƒtt tjgggtdd¡gƒdS)    Nz9indices must be integral: the provided empty sequence waszonly int indices permitted)é
r$r&rB©Údtype©rEr$Úabc)r&r$)rr<r:r;r?rÚintr=)r@Zmsg1Zmsg2rBrBrCÚtest_empty_indicesFs>ÿÿÿÿ
ÿÿÿÿÿz(TestRavelUnravelIndex.test_empty_indicescCsêtjtjkrPddgddgddgddgdd    gddgd
dgf}tt |d ¡d d gƒtttjddƒd
gd
gf}t tj¡j    d}tt ||df¡d
gƒtttj||ddfƒttj||dfddd
gƒtttj||ddfdddS)Nrér$r&éur4riK    ir)r)r'éxé$i’
r8r%l¼zál nm)lÿÿlr+r,)
r:ÚintpÚint64rr=rr>r;ZiinfoÚmax)r@rAZ    dummy_arrZhalf_maxrBrBrCÚtest_big_indicesZs@ ÿ
þ ÿ
ÿÿ
ÿz&TestRavelUnravelIndex.test_big_indicesc
CsštjtjtjtjtjtjfD]v}tjddddddgddddddgg|d}d}d    |d|d}tt     ||¡|ƒt|t 
||¡ƒ|dd
|d}ttj    ||d d |ƒt|tj
||d d ƒtjddddddgddddddgddddd d
gg|d}d}dd    |d|d|d}tt     ||¡|ƒt|t 
||¡ƒ|dd
|dd    |d}ttj    ||d d |ƒt|tj
||d d ƒqdS)Nrrrr$r r%rF)r&r8r8r&r+r,r9)r&r8rErE) r:Úint16Zuint16Úint32Zuint32rQZuint64r?rr=r;)r@rGZcoordsrZuncoordsrBrBrCÚ test_dtypesrsB ÿ
ÿÿ,þ  ÿz!TestRavelUnravelIndex.test_dtypescCsxttjddddgdddt ddddgd¡ƒttjddddgdd    dt ddd
dgd¡ƒtttjddddgdƒdS) Nr&rrr)r r$r'r7r6r1r%)r6Úraiser0rWr)rr:r=rr>©r@rBrBrCÚtest_clipmodessþÿý
ÿz$TestRavelUnravelIndex.test_clipmodescCs2t dddgd¡\}}t|jjƒt|jjƒdS)Nrrr$)r r&)r:r;rÚflagsZ    writeable)r@ÚxÚyrBrBrCÚtest_writeability™s z'TestRavelUnravelIndex.test_writeabilitycCsBt dd¡}t|dƒttdtjdgdƒttdtjdgdƒdS)NrrBz0d arrayz out of boundsr)r:r;rrr>©r@r[rBrBrCÚtest_0dŸs 
ÿzTestRavelUnravelIndex.test_0dr2r0r6rWc    Cs^tjtjdtjdd|d}|jdks*t‚ttƒ"tjtjdtjdd|dW5QRXdS)N)r$rrF©rrrr1©r)r$r)r:r=ÚzerosrPrÚAssertionErrorrr>)r@r2ÚresrBrBrCÚtest_empty_array_ravel¨sÿ
ÿz,TestRavelUnravelIndex.test_empty_array_ravelc    Csdt tjdtjdd¡}t|ƒdks(t‚tdd„|Dƒƒs>t‚ttƒt dgd¡W5QRXdS)NrrFr`r$css|]}|jdkVqdS)raN)r)Ú.0ÚarBrBrCÚ    <genexpr>¶szATestRavelUnravelIndex.test_empty_array_unravel.<locals>.<genexpr>r)    r:r;rbrPÚlenrcÚallrr>)r@rdrBrBrCÚtest_empty_array_unravel²s
 
z.TestRavelUnravelIndex.test_empty_array_unravelN)Ú__name__Ú
__module__Ú __qualname__rDrKrSrVrYr]r_ÚpytestÚmarkÚ parametrizererkrBrBrBrCrs7     
    rc@s^eZdZdd„Zdd„Zdd„Zdd„Zej     d    d
d g¡d d „ƒZ
dd„Z dd„Z dd„Z dS)ÚTestGridcCs²tddd…}tddd…}t|jdkƒt|jdkƒt|ddkƒt|ddƒt|ddkƒt|d|dddƒt|d|dd    dƒt|d|dd
dƒdS) Nrrù$@r")rE)éré ggfffffþ?gÇqÇqÌ?)r    rrr)r@rgÚbrBrBrCrD¼szTestGrid.test_basiccCs8tjdddd\}}t|dƒt|tddd…dƒdS)NrrET)Zretstepg9/§àåÄ?yI@r/)r:Zlinspacerrr    )r@r\ÚstrBrBrCÚtest_linspace_equivalenceÈs
z"TestGrid.test_linspace_equivalencecCsVtddd…ddd…f}tddd…ddd…f}t|jdkƒt|jd    kƒt|d
d
dd…ft d d ¡ ƒt|ddd…d
fdt d d ¡ƒt|d
ddd…ft d d ¡d ƒt|ddd…dfdt d d ¡d ƒt|d
ddd…f|d
d
dd…fdt dd ¡d ƒt|ddd…df|ddd…d
fdt dd ¡d ƒdS)Nrrrséþÿÿÿrr"gš™™™™™É?)rrErE)rrtrtrrEÚdrurt)r    rrrr:Úonesr)r@ÚcrzrBrBrCÚtest_ndÍs $&$($ÿ$ÿzTestGrid.test_ndcCs\tddd…ddd…f}tddd…ddd…f}tj|Ž}t||ƒD]\}}t||ƒqDdS)Nrrrsryr)r    r
r:Zbroadcast_arraysÚzipr)r@Z    grid_fullZ grid_sparseZgrid_broadcastÚfrvrBrBrCÚ test_sparseÛs
 
zTestGrid.test_sparsezstart, stop, step, expected)NrErs)éÈrE)iöÿÿÿrtN)iécCsJt|||…|||…f}t|||…}t|j|dƒt|j|dƒdS)Nrr)r    rÚsize)r@ÚstartÚstopÚstepÚexpectedZgridZ
grid_smallrBrBrCÚtest_mgrid_size_none_handlingäs    z&TestGrid.test_mgrid_size_none_handlingcCs˜tddd…f}tt d¡t d¡t d¡…f}t|jtjkƒt||ƒtddd…}tt d¡t d¡t d¡…}t|jtjkƒt||ƒdS)Nr"ç…ëQ¸Õ?)r    r:Úfloat32rrGÚfloat64r)r@Úgrid64Zgrid32rBrBrCÚtest_accepts_npfloatingôs"
 z TestGrid.test_accepts_npfloatingcCsòtddd…f}tt d¡t d¡t d¡…f}t|jtjkƒt||ƒtdt d¡d…}tdt d¡d…f}t|j|jkotjknƒt||dƒtddd…}tt d¡t d¡t d¡…}t|jtjkƒt||ƒdS)Nr"r‰rry333333 @)r    r:Ú
longdoublerrGrr)r@rŒZgrid128Z
grid128c_aZ
grid128c_brBrBrCÚtest_accepts_longdoubles(ÿ
"ÿz TestGrid.test_accepts_longdoublecCsøttddd…ftddt d¡…fƒttddd…tddt d¡…ƒtddd…}tddd…fd}t|j|jkoˆtjknƒt||ƒtddt d¡…}tddt d¡…fd}t|j|jkoâtj    knƒt||ƒdS)Nr"g333333Ó?y@yffffff
@r)
rr    r:Ú    complex64rrGr‹rZ clongdoublerŽ)r@Zgrid64_aZgrid64_bZ    grid128_aZ    grid128_brBrBrCÚtest_accepts_npcomplexfloatings ÿ ÿ"
"z'TestGrid.test_accepts_npcomplexfloatingN)rlrmrnrDrxr}r€rorprqrˆrrr‘rBrBrBrCrr»s     þ
 rrc@s<eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd S)ÚTestConcatenatorcCs`ttdt ddddddg¡ƒt d¡}t|dd|f}t|ddddddddddddg ƒdS)    N)rrr$r r&r%rrr$r r&r%r)rrr:r?r{)r@rvr|rBrBrCÚtest_1d/s 
zTestConcatenator.test_1dcCs"tddd…f}t|jdkƒdS)Ng333333$@rrEÚf8)rrrG©r@ÚgrBrBrCÚtest_mixed_type5sz TestConcatenator.test_mixed_typecCs6tdt dg¡t dddg¡df}t|jdkƒdS)Ng333333$Àrrr$r g$@r”)rr:r?rrGr•rBrBrCÚtest_more_mixed_type9s$z%TestConcatenator.test_more_mixed_typecCsBtddd…}t|jdkƒtddt d¡…}t|jdkƒdS)NrrOyY@)éd)rrrr:rr•rBrBrCÚtest_complex_step=sz"TestConcatenator.test_complex_stepcCs¾tj dd¡}tj dd¡}td||f}t|jdkƒt|dd…dd…f|ƒt|dd…dd…f|ƒt||f}t|jdkƒt|dd…dd…f|ƒt|dd…dd…f|ƒdS)Nr&Ú1)r&rE)rEr&)r:ÚrandomÚrandrrrr)r@rvr|rzrBrBrCÚtest_2dFs zTestConcatenator.test_2dcCspttdt d¡dfdddgƒttdddgt d¡fddddgƒttt d¡dddgfddddgƒdS)Nrrrr$)rrr:r?rXrBrBrCr_Rs &zTestConcatenator.test_0dN)    rlrmrnr“r—r˜ršržr_rBrBrBrCr’.s      r’c@seZdZdd„ZdS)ÚTestNdenumeratecCs4t ddgddgg¡}ttt|ƒƒddddgƒdS)    Nrrr$r ))rrr))rrr)rr$))rrr )r:r?rÚlistr ©r@rgrBrBrCrDYs 
ÿzTestNdenumerate.test_basicN)rlrmrnrDrBrBrBrCrŸXsrŸc@seZdZdd„Zdd„ZdS)ÚTestIndexExpressioncCsJt d¡}t|dd…|tdd…ƒt|dd…|tdd…ƒdS)Nrr)r:Úarangerrrr¡rBrBrCÚtest_regression_1`s
z%TestIndexExpression.test_regression_1cCsˆtj ddd¡}t|dd…dd…ddgf|tdd…dd…ddgfƒt|dd…dd…ddgf|tdd…dd…ddgfƒdS)Nr r&r%r$rr)r:rœrrrrr¡rBrBrCÚ test_simple_1fs:z!TestIndexExpression.test_simple_1N)rlrmrnr¤r¥rBrBrBrCr¢_sr¢c@s4eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd S) ÚTestIx_cCsbt tdƒ¡\}t|jtjƒt g¡\}t|jtjƒt tjgtjd¡\}t|jtjƒdS)NrrF)r:rÚrangerrGrPr?rŠr¡rBrBrCr¤ns  zTestIx_.test_regression_1csd}ttjfD]|‰tj‡fdd„|DƒŽ}tt||ƒƒD]P\‰\}}t|jˆ|ƒtt    ‡fdd„t|jƒDƒƒƒtt 
|j tj ¡ƒq8qdS)N)r r&r$rcsg|] }ˆ|ƒ‘qSrBrB)rfÚsz)ÚfuncrBrCÚ
<listcomp>~sz0TestIx_.test_shape_and_dtype.<locals>.<listcomp>c3s"|]\}}|ˆkr|dkVqdS)rNrB)rfÚjÚsh)ÚkrBrCrhsz/TestIx_.test_shape_and_dtype.<locals>.<genexpr>) r§r:r£rÚ    enumerater~rrrrjZ
issubdtyperGÚinteger)r@ÚsizesZarraysrgr¨rB)r©r­rCÚtest_shape_and_dtypezs zTestIx_.test_shape_and_dtypecCs0ddddg}t |¡\}tt |¡d|ƒdS)NTFr)r:Znonzerorr)r@Zbool_aZint_arBrBrCÚ    test_bool„s  zTestIx_.test_boolcCs&dddgdddgg}tttj|ƒdS)Nrrr$r r&r%)rr>r:r)r@Zidx2drBrBrCÚ test_1d_only‰szTestIx_.test_1d_onlycCsRd}t |¡}t||ƒ}t|dj|dfƒt|djd|fƒt|j|fƒdS)Nr&rr)r:r£rrr)r@Zlength_of_vectorr[ÚoutrBrBrCÚtest_repeated_inputs 
 
zTestIx_.test_repeated_inputN)rlrmrnr¤r±r²r³rµrBrBrBrCr¦ms
 
r¦c
CsNtjt dddgg¡ddt dddgg¡f}t|ddddddddggƒdS)Nrrr$rr r&r%)r:Zc_r?r)rgrBrBrCÚtest_c_—s.r¶c@sDeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dS)ÚTestFillDiagonalc    CsBt dt¡}t|dƒt|t dddgdddgdddgg¡ƒdS)N)r$r$r&r©r:rbrJr rr?r¡rBrBrCrDs 
 þÿzTestFillDiagonal.test_basiccCszt dt¡}t|dƒt|t dddgdddgdddgdddgdddgdddgdddgdddgdddgdddgg
¡ƒdS)NrHr&rr¸r¡rBrBrCÚtest_tall_matrix¦s  
 ÷ÿz!TestFillDiagonal.test_tall_matrixcCs|t dt¡}t|ddƒt|t dddgdddgdddgdddgdddgdddgdddgdddgdddgdddgg
¡ƒdS)NrHr&Trr¸r¡rBrBrCÚtest_tall_matrix_wrap¶s    ÷ÿz&TestFillDiagonal.test_tall_matrix_wrapcCslt dt¡}t|dƒt|t ddddddddddg
ddddddddddg
ddddddddddg
g¡ƒdS)N)r$rEr&rr¸r¡rBrBrCÚtest_wide_matrixÆs 
þÿz!TestFillDiagonal.test_wide_matrixcCsFt dt¡}t|dƒt dddg¡}tt |dk¡||||fƒdS)N)r$r$r$r$r rrr)r:rbrJr r?rÚwhere)r@rgÚirBrBrCÚtest_operate_4d_arrayÏs 
z&TestFillDiagonal.test_operate_4d_arrayc    Cs0t dt¡}ttdƒt|dƒW5QRXdS)Nr$ú at least 2-dr&©r:rbrJrr>r r¡rBrBrCÚtest_low_dim_handlingÕs  z&TestFillDiagonal.test_low_dim_handlingc    Cs0t dt¡}ttdƒt|dƒW5QRXdS)N)r$r$r'r$ú equal lengthrrÀr¡rBrBrCÚtest_hetero_shape_handlingÛs  z+TestFillDiagonal.test_hetero_shape_handlingN)
rlrmrnrDr¹rºr»r¾rÁrÃrBrBrBrCr·œs        r·c CsÈtdƒ}t ddddgddddgd    d
d d gd dddgg¡}d||<t|t ddddgddddgd    d
dd gd dddgg¡ƒtddƒ}t dt¡}d||<t|t ddgddggddgddggg¡ƒdS)Nr rrr$r&r%r'r8r9rErur7r/ééér™)rrrr)r r:r?rrbrJ)ZdirgZd3rBrBrCÚtest_diag_indicesãs8
 
 
ý
 
 
ýÿ
 
ÿÿþÿrÇc@s$eZdZdd„Zdd„Zdd„ZdS)ÚTestDiagIndicesFromcCs<tj d¡}t|ƒ\}}t|t d¡ƒt|t d¡ƒdS)Nr5r )r:rœrrr£)r@r[Úrr|rBrBrCÚtest_diag_indices_froms  z*TestDiagIndicesFrom.test_diag_indices_fromc    Cs,t d¡}ttdƒt|ƒW5QRXdS)Nr'r¿)r:r{rr>rr^rBrBrCÚtest_error_small_inputs
 z*TestDiagIndicesFrom.test_error_small_inputc    Cs.t dt¡}ttdƒt|ƒW5QRXdS)N)r$r$rr$rÂ)r:rbrJrr>rr^rBrBrCÚtest_error_shape_mismatch s  z-TestDiagIndicesFrom.test_error_shape_mismatchN)rlrmrnrÊrËrÌrBrBrBrCrÈÿsrÈcCs°ttdddƒƒ}dd„tt d¡ƒDƒ}t||ƒttdƒƒ}t||ƒttdƒƒ}t|ttdƒƒƒttƒƒ}t|dgƒttdƒƒ}t|dgƒttd    gŽƒ}t|gƒdS)
Nrrr$cSsg|] \}}|‘qSrBrB)rfÚixÚerBrBrCrªsz test_ndindex.<locals>.<listcomp>)rrr$)r$rBr)r rr r:rbrr)r[r‡rBrBrCÚ test_ndindexs
 
 
   rÏ)"roÚnumpyr:Z numpy.testingrrrrrrrZnumpy.lib.index_tricksr    r
r r r rrrrrrrrrr’rŸr¢r¦r¶r·rÇrÈrÏrBrBrBrCÚ<module>s$4.s**G