9lE1|ddlZddlZddlZddlZddlZddlZddlmZddlZ ddl m Z ddl m Z mZmZddlmZmZmZmZmZmZmZmZmZmZmZddlmZddlmZm Z!ddl"mZ#Gd d Z$Gd d Z%Gd dZ&GddZ'GddZ(GddZ)GddZ*GddZ+GddZ,Gdde-Z.GddZ/Gdd Z0Gd!d"Z1Gd#d$Z2Gd%d&Z3Gd'd(Z4d)Z5Gd*d+Z6Gd,d-Z7Gd.d/Z8Gd0d1Z9Gd2d3Z:Gd4d5Z;Gd6d7Z<Gd8d9Z=Gd:d;Z>Gd<d=Z?Gd>d?Z@Gd@dAZAGdBdCZBGdDdEZCGdFdGZDdHZEGdIdJZFGdKdLZGGdMdNZHGdOdPZIGdQdRZJdS)SN)Decimal)umath)randrandintrandn) assert_ assert_equal assert_raisesassert_raises_regexassert_array_equalassert_almost_equalassert_array_almost_equal assert_warnsassert_array_max_ulp HAS_REFCOUNTIS_WASM)rational)given strategies)numpyc2eZdZdZdZdZdZdZdZdS) TestResizectjddgddgg}tjgdgdg}ttj|d|tjddgddgddgddgg}ttj|d|tjgdgd gd gd g}ttj|d |dS) Nrrrrrrrrrrr)rrr)rrrrrrrrnparrayr resizeselfAAr1Ar2Ar3s q/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib64/python3.11/site-packages/numpy/core/tests/test_numeric.py test_copieszTestResize.test_copiess Hq!fq!f% & &h lll344RYq&))3///hAAAA788RYq&))3///h 999iiiCDDRYq&))3/////ctjgd}tjgdgdg}ttj|d|tjddgddgddgddgg}ttj|d|tjgdgdgdgdg}ttj|d |dS) Nr!)rrrr)rrrrrrrrr r#r$r(s r. test_repeatszTestResize.test_repeats#s HYYY  h lll344RYq&))3///hAAAA788RYq&))3///h 999iiiCDDRYq&))3/////r0ctjddgddgg}tj|d}t|tjgt |j|jtj|d}t |jdtj|d}t |jddS)Nrrrrrrrrr)r%r&r'r r dtypeshaper)r*Ars r.test_zeroresizezTestResize.test_zeroresize.s Hq!fq!f% & & Yq$  2rx||,,,QWbh''' Yq& ! !RXv&&& Yq& ! !RXv&&&&&r0ctjddtjfg}tj|d}t |tjd|jt |j|jdS)Nrar7rr)r%zerosfloat32r'r r7r r9s r.test_reshape_from_zeroz!TestResize.test_reshape_from_zero:si HQRZ01 2 2 2 Yq& ! !2rx99:::QWbh'''''r0ctjddtj}d}tjt d5tj||ddddS#1swxYwYdS)Nr r>)negativematch) new_shape)r%arangerApytestraises ValueErrorr')r)r*rJs r.test_negative_resizezTestResize.test_negative_resizeAs Ia2: . . . ]:[ 9 9 9 . . Ia9 - - - - . . . . . . . . . . . . . . . . . .sA##A'*A'cGddtj}tjdg|}t tj|d|usJt tj|d|usJtjg|}t tj|d|usJdS)NceZdZdZdS))TestResize.test_subclass..MyArray?N)__name__ __module__ __qualname____array_priority__r0r.MyArrayrRHs!#   r0rYrr)r%ndarrayr&viewtyper')r)rYmy_arrs r. test_subclasszTestResize.test_subclassGs $ $ $ $ $bj $ $ $1###G,,BIfa(())W4444BIfa(())W4444"""7++BIfa(())W444444r0N) rTrUrVr/r2r;rBrOr_rXr0r.rrsn 0 0 0 0 0 0 ' ' '(((... 5 5 5 5 5r0rceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd Zejdejejejejejejejejejejejg dZejdej ddej!ddde"j#e"j$dz fde"j#e"j$d fgdZ%dZ&ej!e'ddZ(dZ)dZ*dZ+dZ,d Z-d!Z.d"Z/d#Z0d$Z1d%Z2d&S)'TestNonarrayArgscvgdgdgdg}gd}gd}tj||}t||dS)NrrrrrrZrZ)rZrrZ)rrr)r%chooser )r)choicestgtr=outs r. test_choosezTestNonarrayArgs.test_chooseUsY999999ii IIi7##S#r0cbgd}tj|dd}gd}t||dS)N)rFrZrrrDirrg)rrZrrrgrrr%clipr )r)arrrkrjs r. test_clipzTestNonarrayArgs.test_clip_sA'''gc1a  ###S#r0crgdgdg}gdg}tjddg|d}t||dS)NrrrrrrZrfrg rraxis)r%compressr r)rqrjrks r. test_compresszTestNonarrayArgs.test_compressesS k1a&#A...S#r0cgdgdg}tjddg}tj|d}t||dS)Nrrrgrrrrrrrrrrx)r%r& count_nonzeror r{s r.test_count_nonzeroz#TestNonarrayArgs.test_count_nonzerolsW!h1vs+++S#r0c gdgdg}tt5tjgd}t tjtj||kddddS#1swxYwYdS)Nr!rrZrf)rrrfxi)rDeprecationWarningr%r&rall cumproduct)r)r*expecteds r.test_cumproductz TestNonarrayArgs.test_cumproductss YY " , - - : :x 7 7 788H BF2=++x788 9 9 9 : : : : : : : : : : : : : : : : : :sAA88A<?A<clgdgdgdg}tj|}gd}t||dS)Nrrrr)rrZrfrg)rvrwrD )rrZrD)r%diagonalr )r)r=rkrjs r. test_diagonalzTestNonarrayArgs.test_diagonalysL \\ \\ ^^ k!nnjjS#r0c gdgdg}ttj|dkttjtj|dtjgdkttjtj|dtjddgkt jd 5}t jd d tttj tjgt|dj tuddddS#1swxYwYdS) Nr!r @r)g@rg@r@@Trecordalways) rr%meanrr&warningscatch_warningsfilterwarningsRuntimeWarningisnancategoryr)r*ws r. test_meanzTestNonarrayArgs.test_means\ YY " c!"""rwq!}}(A(AABBCCCrwq!}}"b(:(::;;<<<  $D 1 1 1 5Q  #Hb. A A A BHRWR[[)) * * * AaDM^3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5sA0EEEcVgd}ttj|dddS)N)rrrZrDg@rrxg.@)r r%ptpr)r=s r.test_ptpzTestNonarrayArgs.test_ptps2 & & &RVAA&&&-----r0clgdgdgdg}gd}ttj|d|dS)Nr)rZrfrgrw)rDrrrZ)ribiXrFrx)r r%prodr)rqrjs r. test_prodzTestNonarrayArgs.test_prodsN||||}}ooRWSr***C00000r0cngdgdgdgdg}gd}ttj||dS)Nr!rrgrvrwrDr ) rrrrrZrfrgrvrwrDrr)r r%ravel)r)r=rjs r. test_ravelzTestNonarrayArgs.test_ravelsI YY 999lll ;555RXa[[#&&&&&r0c`gd}gd}tj|d}t||dS)Nr!)rrrrrrr)r%repeatr )r)r=rjrks r. test_repeatzTestNonarrayArgs.test_repeats; II   i1ooS#r0cxgdgdgdgdg}gdgdg}ttj|d|dS)Nr!rrr)rrrrrZrf)rgrvrwrDrr)rrf)r r%reshapers r. test_reshapezTestNonarrayArgs.test_reshapesYyy)))YYY =!!!#8#8#89RZV,,c22222r0c<gd}gd}ttj|d|tjd}t t |tjt|ddS)N)g(\?g(\"R@gffffff@g @)g?g R@g@g @r)decimalsrS)r r%aroundfloat64r isinstanceround)r)rqrjss r. test_roundzTestNonarrayArgs.test_rounds'''###RYsQ///555 JrNN 17799bj11222QWWYY#####r0r7c|d}ttt|tttt|dtttt|dtt t|dt t|ddt t|dddS)Nrndigits)rrrintr )r)r7rs r.test_dunder_roundz"TestNonarrayArgs.test_dunder_rounds E!HH 588S))*** 5D>>3//000 5D111377888U1XXq!!!U1d^^Q'''U1d+++Q/////r0z val, ndigitsirFzOut of range of int32reason)marksrctt||ttj||dSN)r rr%int32)r)valrs r.test_dunder_round_edgecasesz,TestNonarrayArgs.test_dunder_round_edgecasess6 U3((% w*G*GHHHHHr0ctjdddzz}ttt |dtjt t |ddddzzttt |dtjt t |ddddzztjd}ttt |dtjt t |dd ttt |dtjt t |dd dS) Nffffff@rDIrrii)r%rrrrrint64)r)fis r.test_dunder_round_accuracyz+TestNonarrayArgs.test_dunder_round_accuracys8 JsRV| $ $ 5C=="*55666U1c]]C"b&L999 5C000"*==>>>U1c222C"b&LAAA HSMM 5B<<22333U1b\\3/// 5B///::;;;U1b111377777r0zgh-15896)rMrcdddzz}tttj|dt|ddS)NrrDrr)r rr%r)r)rs r.test_round_py_consistencyz*TestNonarrayArgs.test_round_py_consistencys? "b&LU2:a==#..a >>>>>r0cXgd}tj|d}t|ddS)N)irrFrrfrDrr)r% searchsortedr )r)rqrks r.test_searchsortedz"TestNonarrayArgs.test_searchsorteds4$$$oc1%%S!r0cgdgdg}ttj|dkttj|ddkttj|ddkdS)Nr!rrfrrrr)rr%sizer)r*s r. test_sizezTestNonarrayArgs.test_sizesn YY " a   1 "###1 "#####r0cgdgdgdgg}ttj|jdttjtjdjdttjtjddjd ttjtjdd jd ttjtjdd jd ttjtjd gjdttjtjd gdjd ttjtjd gd jd ttjtjd gd jd dS) Nrrrrrrrrrrr)rrr)rrrxrrrFrrr)r r%squeezer8r@rs r. test_squeezezTestNonarrayArgs.test_squeezesiiIII . /RZ]](&111RZ 3 344:DAAARZ 3 3!<<<BFKKKRZ 3 3"===CVLLLRZ 3 3!<<<BFKKKRZ&!1!1 23394@@@RZ&!1!1 2;;;A6JJJRZ&!1!1 2;;;A6JJJRZ&!1!1 2<<<BFKKKKKr0cpgdgdg}ttj|dttj|dtjgdttj|dtjddgt jd 5}t jd d tttj tjgt|dj tuddddS#1swxYwYdS) Nr!rg bp@S?r)?rrrgɪo ?Trrr) r r%stdr&rrrrrrrrs r.test_stdzTestNonarrayArgs.test_stdsA YY "BF1II'8999BF1aLL"(???*C*CDDDBF1aLL"(J 3K*L*LMMM  $D 1 1 1 5Q  #Hb. A A A BHRVBZZ(( ) ) ) AaDM^3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5s.A0D++D/2D/cddgddggddgddggg}ddgddggddgddggg}tj|dd}t||dS) NrrrrfrrZrrg)r%swapaxesr )r)rjr=rks r. test_swapaxeszTestNonarrayArgs.test_swapaxesssAA1a&1a&!12!fq!f AA/ 0k!Q""S#r0czgdgdgdg}dgdgdgg}tj|dd }t||dS) Nr!rrrfrrTrykeepdims)r%sumr )r)mrjrks r.test_sumzTestNonarrayArgs.test_sums^ YY YY YY sRD2$fQQ...S#r0chgd}gd}gd}tj||}t||dS)N)rrrZ)rrrrrrrrZ)r%taker )r)rjindicesr=rks r. test_takezTestNonarrayArgs.test_take sDii)) OOga!!S#r0c`ddgddgddgg}ttj|ddS)NrrrrrZrf)r r%trace)r)cs r. test_tracezTestNonarrayArgs.test_traces8VaVaV $RXa[[!$$$$$r0crddgddgddgg}gdgdg}ttj|d |dS) NrrrrrZrf)rrrZ)rrrfrr)r r% transposers r.test_transposezTestNonarrayArgs.test_transposesN1v1v1v&yy)))$R\#v..44444r0cgdgdg}ttj|dttj|dtjgdttj|dtjddgt jd 5}t jd d tttj tjgt|dj tudddn #1swxYwYtjddg}d |d<ttj|d dS)Nr!rgUUUUUU@r)@rrrgvWUU?Trrr?g?) r r%varr&rrrrrrr)r)r*rBs r.test_varzTestNonarrayArgs.test_varsq YY "BF1II'9:::BF1aLL"(3E3E3E*F*FGGGBF1aLL"(J 3K*L*LMMM  $D 1 1 1 5Q  #Hb. A A A BHRVBZZ(( ) ) ) AaDM^3 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 HdAY  !BF1IIt,,,,,s.A0D**D.1D.N)3rTrUrVrlrrr|rrrrrrrrrrrLmark parametrizer%int8int16rruint8uint16uint32uint64float16rArrparamxfailmathceillog10rrAssertionErrorrrrrrrrrrrr rXr0r.raraSs :::  5 5 5...111''' 333 $$$ [W 28RX ")RY  BJ ' 00  0 [^ Y+##+B#CC    Aidi  9 5 56667 YTYztz)445556 .III 8 8 8 [nZ@@??A@? $$$ L L L 5 5 5 %%%555 - - - - -r0raceZdZdZdS) TestIsscalarc|ttjdttjtjdttjdttjdttjdg ttjd ddlm}ttj|dddd lm}ttj|dS) Ng@i90Frr)FractionrZ)Number)rr%isscalarr  fractionsrnumbersr)r)rrs r. test_isscalarzTestIsscalar.test_isscalar/s C  !!! BHUOO,,--- E""### G$$%%%BK&&&'''BK%%%&&& '&&&&& HHQOO,,---"""""" FFHH%%&&&&&r0N)rTrUrVr"rXr0r.rr.s# ' ' ' ' 'r0rc&eZdZdZdZdZdZdS)TestBoolScalarctj}tj}d}t|o||ut|o||udS)Nxyzr%False_True_r)r)rtrs r. test_logicalzTestBoolScalar.test_logical?sG I H qQqQr0ctj}tj}t||z|ut||z|ut||z|ut||z|udSrr'r)rr*s r.test_bitwise_orzTestBoolScalar.test_bitwise_orFn I HQ1 Q1 Q1 Q1 r0ctj}tj}t||z|ut||z|ut||z|ut||z|udSrr'r-s r.test_bitwise_andzTestBoolScalar.test_bitwise_andNr/r0ctj}tj}t||z |ut||z |ut||z |ut||z |udSrr'r-s r.test_bitwise_xorzTestBoolScalar.test_bitwise_xorVr/r0N)rTrUrVr+r.r1r3rXr0r.r$r$>sP   r0r$c&eZdZdZdZdZdZdS) TestBoolArrayctjdgdztdd|_tjdgdztdd|_tjdgdztdd|_|j|_|j|_d|jd<d|jd <d|jd<d|jd <dS) NT)r>rF*rrr) r%r&boolr*rocopynmimr)s r. setup_methodzTestBoolArray.setup_method`s4&2+T22213375'B,d333ACC85'B,d333ACC8&++--&++--    r0c`t|jt|jt|j t|j t|jt|jt|j t|j tdD]}tj dgdztdd}d||<ttj|tj dgdztdd}d||<ttj| t||ttddd gd zD]}tj dgd zt}d||<ttj|d |z tj dgd zt}d||<ttj| d |z dS)NFr>rgTrwipi)iTi_rEiˆz%rmsg) rr*ranyrr<r=ranger%r&r9r list)r)rdes r. test_all_anyzTestBoolArray.test_all_anylsA  DFJJLL !!!DFJJLL !!!  DGKKMM!"""DGKKMM!"""w & &A%3d333ACC8AAaD BF1II   $#T2221337AAaD q M " " " q1" % % % %eAtS))**-?-?-?? 1 1A%6)666AAaD BF1II4!8 , , , ,$&555AAaD q Mtax 0 0 0 0 0  1 1r0c>t|j|jttj|j|jttj|j|jttj|j|jttj|j|jttj|j|jttj|j|jtj|j|jt|j|jtj|j|jt|j|jdS)Nrk) r r*rr%absr<r= logical_notr:r>s r.test_logical_not_absz"TestBoolArray.test_logical_not_abss,DF7DF+++2646'??DF3332646'??DF33326$&>>46222BF46NN?DF333BF46NN?DF3332647(++TW555 tv46****4646*** tv46""""4646*****r0ct|j|jz|jt|j|jz|jt|j|jz|jt|j|jz|jtj|j|j|jt|j|jt|j|jz|jt|j|jz|jt|j|jz|jt|j|jz|jtj|j|j|jt|j|jt|j|jz |jt|j|jz |jt|j|jz |jt|j|jz |jtj|j|j|jt|j|jt|j|jz|jt|j |jzdt|jdz|jt|j dz|jt|j|jz|jt|j |jz|j t|jdz|jt|j dz|j t|j|jz |j t|j |jz |j t|jdz |j t|j dz |j dS)NrLFT) r r*rr% logical_orr: logical_and logical_xorr<r=r>s r.test_logical_and_or_xorz%TestBoolArray.test_logical_and_or_xors46DF?DF33346DF?DF33346DF?DF33346DF?DF333 dfdf$&11114646***46DF?DF33346DF?DF33346DF?DF33346DF?DF333 tvtv4622224646***46DF?DF33346DF?DF33346DF?DF33346DF?DF333 tvtv4622224646***47TV+TW55547TV+U33347T>4733347U?DF33347TV+TV44447TV+TW55547T>4622247U?DG44447TV+TW55547TV+TW55547T>4733347U?DG44444r0N)rTrUrVr?rJrOrTrXr0r.r5r5_sP   1116 + + +55555r0r5c eZdZdZdZdZdS) TestBoolCmpc tjdtj|_tj|jjt |_tjdtj|_tj|jjt |_ d}tdD]WfdtdD|j||dz<fdtdD|j||dz<|dz }Xd}td D]Wfd td D|j||d z<fd td D|j ||d z<|d z }X|j |_ |j |_ tj|j |j<tj|j |j <|j |_|j |_tj|jddd |jddd <tj|jddd |j ddd <tj |jddd |jddd <tj |jddd |j ddd <tj|jddd |jddd <tj|jddd |j ddd <|j |_d|jddd <|j |_d|jddd <|j |_|j |_|j|jxxdzcc<|j|j xxdzcc<tj |jddd|jddd<tj |jddd|j ddd<tj |jd dd|jd dd<tj |jd dd|j d dd<d|jd dd|jd dd<d|jd dd|j d dd<dS)NrBr>r c g|] }d|zz SrrX.0xrs r. z,TestBoolCmp.setup_method..!888!QAX888r0rvc(g|]}d|zzdkSr6rXr\s r.r_z,TestBoolCmp.setup_method..%@@@!q1a4xAo@@@r0c g|] }d|zz Sr[rXr\s r.r_z,TestBoolCmp.setup_method..r`r0rc(g|]}d|zzdkSr6rXr\s r.r_z,TestBoolCmp.setup_method..rbr0rrrFrfg)r%onesrArrr9efrrHedrFr;nfndnaninffinfdinfefnonanednonansignfsignd)r)rrs @r.r?zTestBoolCmp.setup_methods5BJ///'$&+T222BJ///'$&+T222 r  A8888uQxx888DF1QqS5M@@@@uQxx@@@DGAacEN FAA r  A8888uQxx888DF1QqS5M@@@@uQxx@@@DGAacEN FAA&++--&++--66FKKMM FKKMM ')v ##A#twsss|$')v ##A#twsss|$*,& !$Q$1 &*,& !$Q$1 &)+ !$Q$1 &)+ !$Q$1 &w||~~ " QTTw||~~ " QTTV[[]] V[[]]  47s" 47s"+-6' 14a4A'+-6' 14a4A'+-6' 14a4A'+-6' 14a4A'*- 14a4A'*- 14a4A'''r0cNtdD]}t|j|ddk|j|dt|j|ddz dk|j|dt|j|ddk|j|dt|j|d dk|j|dt|j|d dzdk|j|d|j|ddk}t||j|d|j|dt j|j|dk}d|j|dk}t||t||t|tj|tjt|tj|tjt|tj|tjtt j |j |d|j|dtt j |j |d|j|dtt j |j |d|j|dtt j |j |d|j|dtt j|j|d|j|ddS)Nrrr)rFr rrhr% zeros_liker\r astyperrjisfinitermisinfrpsignbitrrr)rrr2r3s r. test_floatzTestBoolCmp.test_floatq H HA tvabbzA~twqrr{ ; ; ; tvabbzA~2DGABBK @ @ @ tvabbzQ = = = qrr {Q < < < qrr {Q!3TWQRR[ A A Aqrr aA q$'!""+ . . .r}TVABBZ888BdfQRRjB q" % % % q" % % % qvvbg0A0A B B B rwwrw//271C1C D D D rwwrw//271C1C D D D rx 44dgabbk B B B r{47122;77$'!""+ F F F r{49QRR=99DGABBK< H H H rx !"" 66 QRR8H I I I rz$*QRR.9947122; G G G G- H Hr0cNtdD]}t|j|ddk|j|dt|j|ddz dk|j|dt|j|ddk|j|dt|j|d dk|j|dt|j|d dzdk|j|d|j|ddk}t||j|d|j|dt j|j|dk}d|j|dk}t||t||t|tj|tjt|tj|tjt|tj|tjtt j |j |d|j|dtt j |j |d|j|dtt j |j |d|j|dtt j |j |d|j|dtt j|j|d|j|ddS)Nrrr)rFr rHrir%rur\r rvrrkrwrnrxrqryrsrzs r. test_doublezTestBoolCmp.test_doublerr0N)rTrUrVr?r~rrXr0r.rVrVsJ,.,.,.\HHH4HHHHHr0rVceZdZdZdZejedeje j dkddZ ejeddZ d Z d S) TestSeterrc ntj}t|tdddddS)Nwarnignore)divideinvalidoverunder)r%geterrr dict)r)errs r. test_defaultzTestSeterr.test_defaultsHikkS"(% (***     r0cFtj5tj}tjd}t||ktj}t|ddktjdttjddkt|ddktjdi|ttj|kddddS#1swxYwYdS)Nprintrrraise)rrrX)r%errstateseterrrr)r)roldnews r.test_setzTestSeterr.test_set$s: []] ( ()++C)7+++C C3J   )++C CMW, - - - I7 # # # # BIKK'72 3 3 3 CMW, - - - I      BIKK3& ' ' ' ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (sC5DDDno wasm fp exception supportrarmv5telz See gh-413.ctjd5tt5tjdgtjdgz dddn #1swxYwYtjdtjdgtjdgz ddddS#1swxYwYdS)NrrrSr)r%rr FloatingPointErrorr&rr>s r.test_divide_errzTestSeterr.test_divide_err1s2[ ( ( ( , ,122 0 0"2$// 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IX & & & & HbTNNRXrd^^ + +  , , , , , , , , , , , , , , , , , ,s5B;,A# B;#A' 'B;*A' +AB;;B?B?c*tj}d_ tjd5}tjdtjd5tjgdtjdgtjd gz tt|d dddn #1swxYwYdddn #1swxYwYfd }tjd 5tjd d|gtjdgtjd gz dddn #1swxYwYtjd tj|tjd 5tj dd d d|gdddn #1swxYwYtjdtj|`dS#tj|`wxYw)NrTrrrr) NrNrSrrcxjdz c_|}tt|dktd|dvdS)Nrrrr)calledrlen)args extobj_errr)s r.log_errz'TestSeterr.test_errobj..log_errGsN q ! J1,---JqM122222r0rrr)extobjr) r% geterrobjrrr simplefilterr seterrobjr&r rr)r) olderrobjrrs` r. test_errobjzTestSeterr.test_errobj;sLNN   (555 ,%h///[///,,L!1!1!1222HbTNNRXrd^^33 Q+++,,,,,,,,,,,,,,, , , , , , , , , , , , , , , , 3 3 3 3 3 H--- 0 0 eQ0111"2$// 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 a ( ( ( L # # #H--- > > "b%G)<==== > > > > > > > > > > > > > > > a ( ( ( L # # #  L # # # OOOOsG:*CAC; CC CC C G:C""G:%C"&G:AE G:EG:EAG:G6 G:GG: G G::Hctj} tjtjtjdzdgtjtjdgtdD]-}tjtjtjdg.tjtjdgtj|dS#tj|wxYw)Nrrfi') r%rrrUFUNC_BUFSIZE_DEFAULT ERR_DEFAULTrr&rF)r)rrs r.test_errobj_noerrmaskz TestSeterr.test_errobj_noerrmaskZsLNN  $ L%5*Q.6 7 7 7 HRXqc]] # # #5\\ $ $ e95;L!#$$$$ HRXqc]] # # # L # # # # #BL # # # #s B9C$$C:N)rTrUrVrrrLr skipifrplatformmachinerrrrXr0r.rrs ( ( ( [(FGG [((**j8OO,,POHG, [(FGGHG<$$$$$r0rceZdZdZdZejedej de j ddZ ejeddZ d S) TestFloatExceptionsc t|} |||tdd|d|ddS#t$rF}tt||dkd|d|dYd}~dSd}~wwxYw)NFzType z did not raise fpe error 'z'.rz raised wrong fpe error ')r]rrstrfind)r)fpeerrflopr^yftypeexcs r.assert_raises_fpez%TestFloatExceptions.assert_raises_fpensQ K DAJJJ EE?DuufffM O O O O O! K K K CHHMM&))Q..>CeeSSSI K K K K K K K K K Ks#6 B;BBc|||||||||d||||||d||||d|ddSNrX)r)r)rrsc1sc2s r.assert_op_raises_fpez(TestFloatExceptions.assert_op_raises_fpexs vtS#666 vtSWc::: vtS#b'::: vtSWc"g>>>>>r0rrtypecodeAllFloatc tjd5tj|}tj|jdkr3tj|}|jj}|j}|j }d}d}njt|dj } tj| }||jj}||j}||j }d}d}d} d } tj |s2| |d ||| |d ||| | d ||d | | d||d| | d|||z| | d| ||z| | tj|d |d |jz| |d|d|d| | d|tj|tj| | d|d|d| | d|tj|tj| | d|tj|tj | | d|d|tjddddS#1swxYwYdS)Nrrr underflowdivide by zerorroverflowrc ||z SrrXr=bs r.z>TestFloatExceptions.test_floating_exceptions.. 1r0c ||zSrrXrs r.rz>TestFloatExceptions.test_floating_exceptions..rr0c ||zSrrXrs r.rz>TestFloatExceptions.test_floating_exceptions.. !r0rc ||z SrrXrs r.rz>TestFloatExceptions.test_floating_exceptions..rr0?c ||zSrrXrs r.rz>TestFloatExceptions.test_floating_exceptions..rr0c ||z SrrXrs r.rz>TestFloatExceptions.test_floating_exceptions..rr0c ||z SrrXrs r.rz>TestFloatExceptions.test_floating_exceptions..rr0rc ||z SrrXrs r.rz>TestFloatExceptions.test_floating_exceptions.. acr0c ||z SrrXrs r.rz>TestFloatExceptions.test_floating_exceptions..rr0c ||z SrrXrs r.rz>TestFloatExceptions.test_floating_exceptions..rr0c ||zSrrXrs r.rz>TestFloatExceptions.test_floating_exceptions..rr0c ||zSrrXrs r.rz>TestFloatExceptions.test_floating_exceptions..rr0)r%r obj2sctyper7kindfinfo_machartinymaxepsr]realrrpowernexpro) r)rrfift_tinyft_maxft_epsr divbyzerortyperrs r.test_floating_exceptionsz,TestFloatExceptions.test_floating_exceptionss[W % % %6 N6 NM(++Ex#s**Xe__*/' , UU1XX]++Xe__% 00rvrv  !HG8G$$ H&&y$4$4gvGGG&&y$4$4gwHHH  " "8#3#3VUU1XX G G G  " "8#3#3VUU3ZZ I I I  " "8#3#3VVF] L L L  " "8#3#3fWfVm M M M  " "8#%8UU1XXuuQZ7H7H J J J  " "9#3#3UU1XXuuQxx I I I  " "))55==%%--     " "7#3#3UU1XXuuQxx I I I  " "))55==%%--     " "))55==%%..     " "7#3#3UU1XXuuRV}} N N Nk6 N6 N6 N6 N6 N6 N6 N6 N6 N6 N6 N6 N6 N6 N6 N6 N6 N6 NsLL>>MMc \tjd5}tjdtjd5tjddt t|dtdt|d j vtj d tj d zt t|d td t|d j vtj tj tj tj z t t|dtdt|d j vtj dtj dzt t|dtdt|d j vdddn #1swxYwYddddS#1swxYwYdS)NTrrrrrrrrgu<7~rrrFrz invalid valuegYnrr) rrrr%rrr rrrmessager&ro)r)rs r. test_warningsz!TestFloatExceptions.test_warningss> $D 1 1 1 ;Q  !( + + +((( ; ; !R   SVVQ'''(C! ,=,==>>>"(5//11SVVQ''' c!B%-&8&88999  28BF#3#333SVVQ'''3qu}+=+==>>>  28F#3#333SVVQ''' s1R5='9'99::: ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;s6*H!F=H = H! H H!H H!!H%(H%N)rTrUrVrrrLr rrr r% typecodesrrrXr0r.rrmsKKK ? ? ? [(FGG [Zj)ABB8N8NCBHG8Nt [(FGG;;HG;;;r0rceZdZdZdZdZdZdZej dddgej dd d gd Z ej d d ge j de j dge j dge j dgggdZej d d ge j de j dge j dge j de j dfgge j de j dge j de j dggdZej dee jddddddd egzd!Zej jej d"ej d d gejee jdddddd egzd#$d%Zd&Zd'Zd(Zd)Zd*S)+ TestTypesc`tjd}tjdtjdtjdtjdf\}}}}tjdtjdtjdtj df\}}} } tj dtj dtj d} } } tj dtjdtjd}}}t!|||tjtjt!|||tjtjt!|||tjtjt!||| tjtjt!|| | tjtj t!|| | tjtj t!|| | tjtj t!|||tjtjt!|||tjtjt!||| tjtjt!|||tjtjt!|||tjtjt!|||tjtjt!|||tjtjt!||| tjtjt!|| |tjtj t!||| tjtj t!||| tjtj t!|| |tjtj t!|| | tjtj t!|| |tjtj t!||| tjtjt!||| tjtjt!|tj|g|tjtjt!|tj|g|tjtjt!|tj|g|tjtjt!|tj|g| tjtjt!|tj|g|tjtjt!|| tj|gtjtjt!||tj| gtjtjt!|tjdtj| gtjtj t!|| tj| gtjtj t!|| tj| gtjtj t!|tj| g| tjtj t!|| tj|gtjtj t!||tj| gtjtjt!|tj dtj| gtjtjt!|tj|g| tjtj t!|tj|g|tjtjt!|tj|g| tjtj t!|tj|g| tjtj t!|tj|g| tjtj t!|tj|g|tjtjt!|tj| g|tjtj dS)NrrFy@)r%bool_r r rrrrrrrAr longdouble complex64 complex128 clongdoubler r7r&)r) promote_funcri8i16i32i64u8u16u32u64f32f64fldc64c128clds r.check_promotion_caseszTestTypes.check_promotion_casess HQKKGAJJ RXa[["(1++MCcHQKK1ry||RYq\\QCc 1 rz!}}bmA6F6F#Sa"-*:*:BN1,>???\\#r**BHRX,>,>???\\#s++RXbh-?-?@@@\\"c**BHRY,?,?@@@\\#s++RXbj-A-ABBB\\#s++RXbm-D-DEEE\\#s++RXbm-D-DEEE\\$,,bhr}.E.EFFF\\#t,,bhr~.F.FGGG\\#s++RXbn-E-EFFF \\!S))28BH+=+=>>>\\!R(("(28*<*<===\\"b))28BH+=+=>>>\\"c**BHRX,>,>???\\#s++RXbh-?-?@@@\\#s++RXbj-A-ABBB\\#s++RXbj-A-ABBB\\#s++RXbj-A-ABBB\\#s++RXbj-A-ABBB\\#s++RXbj-A-ABBB\\#s++RXbl-C-CDDD\\$,,bhr}.E.EFFF\\#s++RXbn-E-EFFF \\"(A3--44bhrw6G6GHHH\\"(A3--44bhrx6H6HIII\\"(A3--55rx7I7IJJJ\\"(A3--55rx 7J7JKKK\\"(B4..#668I8IJJJ\\#rx77"(9K9KLLL\\#rx77")9L9LMMM\\"(2,,#@@Xbj)) + + +\\#rx77"*9M9MNNN\\#rx77"*9M9MNNN\\"(C5//377"*9M9MNNN\\#rx77Xbl++ - - -\\#rx77Xbm,, . . .\\",r"2"2BHcUOODDXbm,, . . . \\"(A3--55rx 7K7KLLL\\"(A3--55rx7I7IJJJ\\"(A3--55rx 7J7JKKK\\"(B4..#668L8LMMM\\"(C5//377"*9M9MNNN \\"(C5//377")9L9LMMM \\"(C5//488Xbl++ - - - - -r0cd}||tjddgtjddgtjfD]r}d|z}t |jtjdd |jztjd|z}t |jtjtjd |jztjd|z}t |jtjdd |jztjd|z}t |jtjd d |jztj d|z}t |jtjd d |jzd |z}t |jtjd d |jztj d |z}t |jtjtj d |jztj d |z}t |jtjd d |jztj d |z}t |jtjdd |jztdS)Nc6tj||jSr)r%addr7rs r.res_typez)TestTypes.test_coercion..res_type!s6!Q<<% %r0TFrrr>gX9v?f8z array type %sf4f2yX9v?c16c8) r r%r&r r r7rrrArrrr)r)r r=rs r. test_coercionzTestTypes.test_coercion s` & & & ""8,,,(D%=))28RHBG+L+L+LM M MA A "(4../AG2K L L L e$$q(A "(2="9"9(172 4 4 4 5!!A%A "(4../AG2K L L L 5!!A%A "(4../AG2K L L L 5!!A%A "(4../AG2K L L L A "(5//?QW3L M M Mv&&*A "(2>":":(172 4 4 4 f%%)A "(5//?QW3L M M M V$$q(A "(4../AG2K L L L L+ M Mr0c|tjttjdtjdkdSr)r r% result_typerr7r>s r.test_result_typezTestTypes.test_result_typeVsC ""2>222t$$677777r0cttjddtjdttjddtjdttjddtjdttjddtjdttjddtjdttjddtjdttjddtjd ttjd d tjd ttjddtjd ttjd d tjd ttjd dtjd ttjd d tjd ttjddtjdttjddtjdttjddtjdttjddtjddS)Ni8z>U16U21zS5z>U8zU5zM8zm8)r r% promote_typesr7r>s r.test_promote_types_endianz#TestTypes.test_promote_types_endianZsXR%eU33RXd^^DDDR%eU33RXd^^DDDR%eV44bhuooFFFR%eV44bhuooFFFR%fe44bhuooFFFR%fe44bhuooFFFR%eU33RXd^^DDDR%eU33RXd^^DDDR%eU33RXd^^DDDR%eU33RXd^^DDDR%eU33RXd^^DDDR%eU33RXd^^DDDR%eU33RXd^^DDDR%eU33RXd^^DDDR%eU33RXd^^DDDR%eU33RXd^^DDDDDr0cJgd}d}tjt}|D]F}tj|}tj||sJtj|||usJG|D]s}tj|}tj||rJt jt5tj||dddn #1swxYwYttjd}tj||sJtj|||usJdS)N)r r rrr9 BHILQPFDGmMfVdouble)r%r7rcan_castrrLrM TypeError)r) valid_types invalid_types rational_dt numpy_dtype double_dts r.#test_can_cast_and_promote_usertypesz-TestTypes.test_can_cast_and_promote_usertypespsy BAA ; hx(( & M MK(;//K;{K88 8 88#K==LLLLL( ; ;K(;//K{; << < <<y)) ; ; k::: ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;HX&& {; 22222 ;779DDDDDDs1CC C swapr string_dtypeUSc|dkrd}n tj}|}t|d|tj|dzt|d|tj|dzt|d|tj|dzt|d |tj|dzt|d |tj|d zt|d |tj|d zt|d|tj|dzt|d|tj|dzt|d|tj|dzt|d|tj|dzt|d|dztj|dzt|d|dztj|dzt|d|dztj|dzt|d|dztj|dzt|d|dztj|dzt|d|dztj|dzt|d |dztj|dzt|d |dztj|dzt|d |dztj|d zt|d |dztj|dzt|d |dztj|d zt|d |dztj|dzt|d|dztjddS)Nr+c,tj||Srr%rrs r.rz6TestTypes.test_promote_types_strings..s)9!Q)?)?r0r95r4u13u2u410r20i1i26i411r21130O)r%rr r7)r)r+r,rr.s r.test_promote_types_stringsz$TestTypes.test_promote_types_stringss  6>>??MM,M  ]]61--rx#???]]3**BHQsUOO<<<]]4++RXae__===]]4++RXae__===]]4++RXaf-=-=>>>]]4++RXaf-=-=>>>]]4++RXae__===]]4++RXae__===]]4++RXaf-=-=>>>]]4++RXaf-=-=>>>]]61S51128AcE??CCC]]61T622BHQtV4D4DEEE]]3#..3@@@]]3$//!D&1A1ABBB]]43//!C%AAA]]4400"(1T62B2BCCC]]43//!C%AAA]]4400"(1T62B2BCCC]]43//!D&1A1ABBB]]4400"(1T62B2BCCC]]43//!D&1A1ABBB]]4400"(1T62B2BCCC]]3$//#?????r0dtype1dtype2V6V10)name1r)name2rctjt5tj||ddddS#1swxYwYdSr)rLrMr$r%rr)rDrEs r.test_invalid_void_promotionz%TestTypes.test_invalid_void_promotions ]9 % % - -  VV , , , - - - - - - - - - - - - - - - - - -s=AArHrzi8,i8zi8,>i8i4,i4c<tj|||ksJdSrr1rKs r.test_valid_void_promotionz#TestTypes.test_valid_void_promotions(//6999999r0r7Allzi,i10iS3S100U3U100cBddi}tj||}tj||}|j|jksJ|}|jrdStj||}|jdkr |jJn |j|ksJ|jsJdS)Nrmetadatar-)r%r7rrX newbyteorderisnativechar)r)r7rXress r.%test_promote_identical_types_metadataz/TestTypes.test_promote_identical_types_metadatas q6222ue,,|u~----""$$ >  Fue,, :  <''''<8++++||r0z)ignore:Promotion of numbers:FutureWarningr)rcHddi}ddi}tj||}tj||} tj||}n#t$rYdSwxYw|jdvs|j |jdkr |jJnP||kr||usJnC||kr4tj||j|kr |jdun|j|kn |jJ| }|j|ksJtj||}||ksJ|j|jksJdS)aMetadata handling in promotion does not appear formalized right now in NumPy. This test should thus be considered to document behaviour, rather than test the correct definition of it. This test is very ugly, it was useful for rewriting part of the promotion, but probably should eventually be replaced/deleted (i.e. when metadata handling in promotion is better defined). rrrWNUSVrX) r%r7rr$r[namesr8rXrrY)r)rDrE metadata1 metadata2r\res_bss r.test_promote_types_metadataz%TestTypes.test_promote_types_metadatasw F F &9555&9555 "6622CC    FF  85 CI$9SY"__<'''' F]]&===== F]] 44>> $$$ )))<'''$$&&)++++!&&11}}}}#,......sA AAc4ttjtjtjttjtjt ttjt t ttjddttjdd ttjddttjdddttjddd ttjddd ttjd dd  ttjd dd ttjdd d  ttjdd d ttjddd  ttjdddttjddttjdd ttjddttjdd ttjddttjdd ttjddttjdd ttjddttjdd ttjddttjdd ttjddttjdd ttjdd ttjdd ttjddttjdd ttjdd!ttjdd ttjddttjdd ttjdd"ttjdd# ttjdd#ttjdd$ ttjdd%ttjdd" ttjdd&ttjdd' ttjdd(ttjdd) ttjdd"ttjdd# ttjdd*ttjdd% ttjdd+ttjdd& ttjdd,ttjdd( tttjddtttjddttjtjtj-dS).Nrrrr=S11norrequivzi4 same_kindz>u4unsafer9S5S4rrRr4S2r6r7S10S9rS20S19r:r;S6S21U4rTU2U5U10U9U20U19U6U11r)from_to) rr%r#rrrcomplexfloatr r$r>s r. test_can_castzTestTypes.test_can_castsS BHbh//000 BJ00111BK///000 D$''(((BKd+++,,, D%(())) D$--...BKud333444 E5'22333BKug666777 E5&11222BKuf555666 E5+66777BKuk:::;;; E5(33444 FD))***BK---... C&&'''BKT***+++ D$''(((BKd+++,,, D$''(((BKd+++,,, D%(()))BKd+++,,, D%(()))BKe,,,--- D$''(((BKd+++,,, D$''(((BKd+++,,, D%(()))BKe,,,--- D%(()))BKe,,,--- FD))***BK---... C&&'''BKT***+++ D$''(((BKd+++,,, D$''(((BKd+++,,, D%(()))BKd+++,,, D%(()))BKe,,,--- D$''(((BKd+++,,, D$''(((BKd+++,,, D%(()))BKe,,,--- D%(()))BKe,,,---idD999idD999  "(rx88899999r0c$ttjdd ttjdd ttjdddttjdddttjddg ttjddgd ttjddgdttjdd g ttjdd gdttjdd g ttjdd gddS) Nr=rMzi4,i2rkcastingr;f1r=rj)rrM)rz(2,3)i4rr%r#r>s r."test_can_cast_simple_to_structuredz,TestTypes.test_can_cast_simple_to_structured^sjBKg...///BKg.../// D'8<<<=== D'8<<<===BK|n555666BK|nkJJJJKKK D<.(CCCDDDBK&7888999 D?"3XFFFGGGBK'8&9:::;;; D#4"5xHHHIIIIIr0cttjdgd ttjdgddttjdgddttjddd ttjddgfgd ttjddgfgddttjd gd ttjd gddttjd gdd dS) Nrr=rkrr;rMr)r^r=)f0z(3,)i4)rrMr[rr>s r."test_can_cast_structured_to_simplez,TestTypes.test_can_cast_structured_to_simplens\BK555666 \ND(CCCDDD \ND(CCCDDD BKx@@@@AAABK$ !6 7>>>??? d[M23T8LLLMMM BK!1 2D999::: -.hGGGHHHBK!8 94(02222 3 3 3 3 3r0ctjdtjdzD]}tj|}ttj|j|ttj|j|ttj|jdz | ttj|jdz| tjdD]d}tj|}ttj|j|ttj|j|edS)Nruintrr)r%sctypesiinforr#minrr)r)dtiirs r.test_can_cast_valueszTestTypes.test_can_cast_valuess*U#bj&88 5 5B"B BK++ , , , BK++ , , ,  BFQJ333 4 4 4  BFQJ333 4 4 4 4*W% - -B"B BK++ , , , BK++ , , , , - -r0N)rTrUrVr rrrr*rLr r rCr%r7rLrYrOrGrrr]slowr itertoolsproductrdrrrrrXr0r.rrslH-H-H-TMMMl888EEE,EEE0 [Vb&\22 [^c3Z88!@!@9832!@F [h1bhtnnhbhuoo .bh())828_4E+F+F G  --  - [h1bhuooxrx /bh())bh("(4.."="="?"?@ABBDbhw(!3!3 4bhw'!2!2 3  ::: [W De$ % % E4vx @ ABBBB2 [ [ KLL [h1 I R\%())fdFH=>    ,/,/ ML,/\K:K:K:ZJJJ 333& - - - - -r0rceZdZdS) NIterErrorNrTrUrVrXr0r.rrsDr0rc eZdZdZdZdZdZdZej de e gej ddgd d gd Z ej dgd d Zej ddgdgdfdgdfdgdfdgdfejdddgfgej dddgdZdZdZdZdS) TestFromiterc4dtdDS)Nc3 K|] }|dzV dS)rNrX)r]r^s r. z'TestFromiter.makegen..s&((1((((((r0r)rFr>s r.makegenzTestFromiter.makegens((eBii((((r0cPtj|tj}tj|tj}tj|t }t |jtjtjkt |jtjtjkt |jtjt kdSr)r%fromiterrrrrrr7)r)ai32ai64afs r. test_typeszTestFromiter.test_typess{4<<>>2844{4<<>>2844 [ / / bhrx000111 bhrx000111BHUOO+,,,,,r0c Jtjt|}tj|t }tj|t d}t t|t|kt t|dktttj|t t|dzdS)NrD) r%r&rGrrrrrr rNr)rr=a20s r. test_lengthszTestFromiter.test_lengthss8D0011 K  , ,k$,,..#r22A#h--'(((CBj"+,,..#s8}}r/A C C C C Cr0ctjt|}tj|t }tj|t d}t tj||kdt tj||ddkddS)Nrrrx)r%r&rGrrrrrrs r. test_valueszTestFromiter.test_valuess8D0011 K  , ,k$,,..#r22qH}1---...shssm+!44455555r0c#fKt|D]}||krtd|z|VdS)Nzerror at index %s)rFr)r)neindexrIs r. load_datazTestFromiter.load_datasOq  AF{{ !4v!=>>>GGGG  r0r7count error_index)rDrZ)rDrwc|||}tjt5t j|||ddddS#1swxYwYdS)N)r7r)rrLrMrr%r)r)rrr7iterables r. test_2592zTestFromiter.test_2592s >>%55 ]: & & < < KU ; ; ; ; < < < < < < < < < < < < < < < < < )rLrMrNr%r)r)r7s r.test_empty_not_structuredz&TestFromiter.test_empty_not_structureds]:-B C C C ) ) K% ( ( ( ( ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )sAAAdatarH) rrrrrZrfrgrvrwrBzi,O)rr)rZrrr)rwrvrfrg2i)rBr)r!rd))rrr)rZrr length_hintrrctj|}dzGfdd}tj||}tj|}t ||dS)Ndc$eZdZfdZfdZdS)?TestFromiter.test_growth_and_complicated_dtypes..MyItercSrrX)r)rs r.__length_hint__zOTestFromiter.test_growth_and_complicated_dtypes..MyIter.__length_hint__s ""r0c"tSriter)r)rs r.__iter__zHTestFromiter.test_growth_and_complicated_dtypes..MyIter.__iter__sDzz!r0NrTrUrVrr)rrsr.MyIterrsG # # # # # " " " " " " "r0rr>)r%r7rr&r )r)r7rrrr\rs `` r."test_growth_and_complicated_dtypesz/TestFromiter.test_growth_and_complicated_dtypesscz " " " " " " " " " " "k&&((%0008D...3)))))r0cGdd}tj|d}|jdksJ|jdksJdS)NceZdZdZdZdS).TestFromiter.test_empty_result..MyItercdSNrDrXr>s r.rz>TestFromiter.test_empty_result..MyIter.__length_hint__srr0c tgSrrr>s r.rz7TestFromiter.test_empty_result..MyIter.__iter__s Bxxr0NrrXr0r.rrs2        r0rrHr>r4)r%rr8r7)r)rr\s r.test_empty_resultzTestFromiter.test_empty_resultsr        k&&((#...yD    yCr0cd}tjt|5tjgddt ddddS#1swxYwYdS)Nz>iterator too short: Expected 10 but iterator had only 3 items.rHr!rD)rr7)rLrMrNr%rr)r)rDs r.test_too_few_itemszTestFromiter.test_too_few_itemssN ]:S 1 1 1 8 8 K 3 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8sA  AActjt5tjgdt dddn #1swxYwYdt dD}tjt5tj|tjt dfddddS#1swxYwYdS)N)rNrr>c3K|]}dVdS)r"NrX)r]rs r.rz7TestFromiter.test_failed_itemsetting..s"00!I000000r0rZr) rLrMr$r%rrrFrNr7)r)rs r.test_failed_itemsettingz$TestFromiter.test_failed_itemsettings2 ]9 % % 1 1 K C 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 110uQxx000 ]: & & < < K#q(:(: ; ; ; ; < < < < < < < < < < < < < < < < < >CCN)rTrUrVrrrrrrLr r robjectrrr%r7rrrrrXr0r.rrs)))---CCC666 [WsFm44 [g}57IJJ<<KJ54< [W&=&=&=>>))?>)  [gv.... /... /=== ><<< =bh}%%%'=>@  ABB []QF33**43BB*&    888 <<<<r)r r%rr&nonzeror>s r.test_nonzero_trivialz TestNonzero.test_nonzero_trivialsiR%bhrll33Q777R%bhr&=&=&=>>BBBRZ --u555R%bhsmm44a888R%bhs#&>&>&>??CCCRZ! ..666R%bhsmm44a888R%bhs#&>&>&>??CCCRZ! ..!77777r0c6ttjtjddttjtjdddt t 5ttjtjdgfdddn #1swxYwYttjtjddttjtjdddt t 5ttjtjddgfddddS#1swxYwYdSr)r r%rr&rrrr>s r.test_nonzero_zerodzTestNonzero.test_nonzero_zerodsR%bhqkk22A666R%bhq&<&<&<==qAAA , - - 9 9 BHQKK002% 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 R%bhqkk22A666R%bhq&<&<&<==qAAA , - - : : BHQKK00A3& 9 9 9 : : : : : : : : : : : : : : : : : :s$?6CCC 7FFFc$tjgd}ttj|dttj|dttj|gdftjgdgd}ttj|ddttj|d dttj|d dttj|d dttj|dgd fttj|d gd fdS)N)rrrrFrrrvr)rrrrf))rrrr)rrrrg)rrrr)rFrrr)rrgrr))r=r=)rr;)rr:)rHrr>r=rrrrH)rrr)rrrr)r%r&r rrr)r^s r.test_nonzero_onedimzTestNonzero.test_nonzero_onedimsc H+++ , ,R%a((!,,,R%a((!,,,RZ]]\\\O444 H^^^OOO Q Q QR%af--q111R%af--q111R%af--q111R%af--q111RZ#'')))666RZ#'',,,99999r0ctjgdgdg}ttj|ddttj|ddttj|ddttj|ddttj|gdgd ftjd}ttj|ddttj|ddttj|ddttj|ddttj|gd gd ftjgd gd gd gddg}ttj|ddttj|ddttj|dgdgdfttj|dgdgdft|djj j ttj|djdttj|djdttj|djgdgdfttj|djgdgdfdS)N)rrr)rrrr:rr;r=rrrr)rrrrc)rrrr)rr)rrrr)r)rrZr)r=r)rr4r>r=rrrZ)rrrr)rrrr)rrrrr)rrrrr)rrrr)rrrrr) r%r&r rrvreyerTflagsalignedrs r.test_nonzero_twodimzTestNonzero.test_nonzero_twodim*s2 Hiii+ , ,R%ahhtnn55q999R%ahhtnn55q999R%ahhtnn55q999R%ahhtnn55q999RZ]]YYY $:;;; F1IIR%ahhtnn55q999R%ahhtnn55q999R%ahhtnn55q999R%ahhtnn55q999RZ]]YYY $:;;; H///++++++-5@+4N P P P R%af--q111R%af--q111RZ#'',,, )EFFFRZ#''///???)KLLLAcFHN**+++R%afh//333R%afh//333RZ#))LLL,,,+GHHHRZ#))OOO___+MNNNNNr0c  tdD]}tjdt}d||dd<t tj|dtj|d|zdtjdt}d|d|zd|z<d|d|dzz<t tj|dtjtjd|zd|zd|dzzgfdS) Nrr>TrirDr)rFr%r@r9r rrK concatenate)r)rrs r. test_sparsezTestNonzero.test_sparseGs r R RAD)))AAaeeH Aq)29Qa+D+D E E ED)))A#Ab1fR!Vm Ab1Q3hK Aq)2626)B)BR!A#XJ(OPP R R R R R Rr0c 8Gddtj}|tjfD]}tddD]}ttdd|z}tjtj|||}tj||fD]H}|D]C}tt|tjut|j j DIdS)NceZdZdS)'TestNonzero.test_return_type..CNrrXr0r.CrU Dr0rrrr) r%r[rFtuplerKrrr\rrr]r writeable)r)rr\rkr8r^nzxnzx_is r.test_return_typezTestNonzero.test_return_typeTs%          O 7 7DAqkk 7 7eAqtnn--Ibgenn--55e<<AA$GGJqMM199;;777C!$77U rz 9::: 5666677 7 7 7r0c htjgdgdg}tjgd}ttj|d|tjddg}ttj|d|t t tj|d t t tj|d t tjtj|dt t tj|tjdgdggdS) Nr~r)rrrrrrrxrrrrfoo)r%r&r rr rNr$ AxisError)r)rrs r.test_count_nonzero_axisz#TestNonzero.test_count_nonzero_axisas Hooo'7'7'78 9 98OOO,,R%aa000(;;;8QF##R%aa000(;;;j""2AFCCCCi!115AAAAblB$4aa@@@@i!1bhaSz22 4 4 4 4 4 4r0chd}d}tjdD]}|tj|jfz}|dkr|dkrCtjd|}tjd|}|d |d <|d |d <nLtjd gd z}|d}d|d <d|d <||}tjgdtj }|tj |d ||tjgdtj }|tj |d||tjd}ttj |d||ttj |d||ttj ||||dkrItjtj dgdzd}tjgdtj }|tj |d ||tjd d gtj }|tj |d||tjd }ttj |d||ttj |d||ttj |||dS)NzMismatch for dtype: %scbt|j|j|t|||dS)Nerr_msg)r r7)r=rrs r.assert_equal_w_dtzITestNonzero.test_count_nonzero_axis_all_dtypes..assert_equal_w_dtws6 !'7 ; ; ; ; Aw / / / / / /r0rPVMrr>rrrrz 1970-01-01rwz 1970-01-12)rrrrxr)rrrrrrfrrrr) r%rr7namer@rgr&rrvintprr void)r)rDrrrrrrs r."test_count_nonzero_axis_all_dtypesz.TestNonzero.test_count_nonzero_axis_all_dtypesqs' 0 0 0,u%6 86 8BRXb\\.00GSyy99r222A,,,AdAdGdAdGG,!!344A &))A*AdG*AdG A8IIIRW===!!""211"="="="*G====8IIIRW===!!""211"="="="*G====8A;;R-af===%w8888R-ad;;;%w8888R-a00%w8888SyyHbgajj\A-..66v>>8IIIRW===!!""211"="="="*G====8QF"':::!!""211"="="="*G====8A;;R-af===%w8888R-ad;;;%w8888R-a00%w8888k6 86 8r0c ddlm}m}d}d}d}tjd}|dd| }|t}tt|D]]} ||| D]N} || D]@} ttj || tj || || fz AO^dS) Nr) combinations permutationsr)rZrZrZrZzMismatch for axis: %siirrrxr) rrrr%random RandomStaterrvrrFrr r) r)rrryrrDrngrrlengthcomboperms r."test_count_nonzero_axis_consistentz.TestNonzero.test_count_nonzero_axis_consistents 98888888%i##D)) KKcK - - HHV  CII&& / /F%dF33 / /(L////D (666(666 #tg ////// / / /r0ctjgdgdg}ttj|d|t dS)N)rrr)rrrrXrx)r%r&r rrvr9rs r.test_countnonzero_axis_emptyz(TestNonzero.test_countnonzero_axis_emptysN Hiii+ , ,R%ab111188D>>BBBBBr0c2tjgdgdgdg}ttj|ddgdgttj|dddgd gd ggttj|d d ggdS) N)rrrr)rrrZr)rgrwrrrTr)rrrrrrrrrf)r%r&r rrs r.test_countnonzero_keepdimsz&TestNonzero.test_countnonzero_keepdimss Hlll"ll"ll$ % % R%aa$???"ll^ % % %R%aa$???cA3_ & & &R%a$777cU     r0ctjgdgdg}gdgdg}t||dS)N)rrr)rrrfr)rrr)r%r&r r)r)rrjs r.test_array_methodzTestNonzero.test_array_methodsP Hiii+ , ,yy)))$QYY[[#&&&&&r0c8tjtjddgdgt}tttj|Gdd}tttjtj|gdS)Nrrrr>ceZdZdZdS);TestNonzero.test_nonzero_invalid_object..BoolErrorsc td)Nz Not allowed)rNr>s r.__bool__zDTestNonzero.test_nonzero_invalid_object..BoolErrors.__bool__s ///r0N)rTrUrVr&rXr0r. BoolErrorsr$s# 0 0 0 0 0r0r')r%r&rr rNr)r)r=r's r.test_nonzero_invalid_objectz'TestNonzero.test_nonzero_invalid_objects Hbh1v&&*& 9 9 9j"*a000 0 0 0 0 0 0 0 0 j"*bh ~.F.FGGGGGr0c2Gdd}Gdd}tjd|g}tttj|tjdg|gg}tttj|tjd|g}tttj|tjdg|gg}tttj|dS)NceZdZdZdZdS)ATestNonzero.test_nonzero_sideeffect_safety..FalseThenTrueFc8 |jd|_S#d|_wxYw)NT_valr>s r.r&zJTestNonzero.test_nonzero_sideeffect_safety..FalseThenTrue.__bool__s(%9 $DIIDI$$$$ NrTrUrVr.r&rXr0r. FalseThenTruer+s(D % % % % %r0r1ceZdZdZdZdS)ATestNonzero.test_nonzero_sideeffect_safety..TrueThenFalseTc8 |jd|_S#d|_wxYw)NFr-r>s r.r&zJTestNonzero.test_nonzero_sideeffect_safety..TrueThenFalse.__bool__s(&9 %DIIDI%%%%r/Nr0rXr0r. TrueThenFalser3s(D & & & & &r0r5TF)r%r&r RuntimeErrorr)r)r1r5r=s r.test_nonzero_sideeffect_safetyz*TestNonzero.test_nonzero_sideeffect_safetys % % % % % % % % & & & & & & & & HdMMOO, - -lBJ222 Htf}}/0 1 1lBJ222 He]]__- . .lBJ222 Hug 01 2 2lBJ22222r0ctjdd}|jjsJ|djjrJtj||jjsJtj||jjsJdS)NrZzi1,i8,i8r>r)r%r@rrrrr)rqs r.'test_nonzero_sideffects_structured_voidz3TestNonzero.test_nonzero_sideffects_structured_void shq +++y    t9?**** 3y     y      r0cGdd} tj|dgdz}tttj|tj|dgdz}tttj|tj|dggdz}tttj|dS)NceZdZdZdZdS).ThrowsAfterc||_dSr) iters_left)r)iterss r.__init__zETestNonzero.test_nonzero_exception_safe..ThrowsAfter.__init__s "'r0cZ|jdkrtd|xjdzc_dS)Nrzcalled `iters` timesrT)r?rNr>s r.r&zETestNonzero.test_nonzero_exception_safe..ThrowsAfter.__bool__s3?a''$%;<<<1$tr0N)rTrUrVrAr&rXr0r. ThrowsAfterr=s2 ( ( (     r0rCrZrDr)r%r&r rNr)r)rCr=s r.test_nonzero_exception_safez'TestNonzero.test_nonzero_exception_safes          Hkk!nn%b( ) )j"*a000 Hkk"oo&r) * *j"*a000 H{{2'(+ , ,j"*a00000r0zwasm doesn't have threadsrcddlm}tjdg}tjd|fg}tjd|fgdz}tjd|dddfd|d fd td D}|D]}|j|usJdS) Nr)ThreadPoolExecutor)rrrr)irrc.|dSr)r)rqs r.funcz6TestNonzero.test_structured_threadsafety..funcEs KKMMMMMr0rv) max_workersc<g|]}SrX)submit)r]_rqrHtpes r.r_z.Is'<<   ! Q///<<<<<<%))<<<  A HHJJJJyBr0N)rTrUrVrrrrrrrrrrrr!r(r7r:rDrLr rrrRrXr0r.rrsI 8 8 8 : : ::::"OOO: R R R 7 7 7444 @8@8@8D///.CCC   ''' H H H333@ ! ! !111B [(CDDEDr0rceZdZdZdZdS) TestIndexc tddd}tdd}tddd}tddd}|||f |||f<ttj|d|dk|d|dk|d|dkg|dd|dkfkdS) NrrZrvrrrrr)rrrr%r&r)r)r=r g1g2s r. test_booleanzTestIndex.test_booleanQs AqMM AJJ Q # # # Q # # #r2vYJ"b& 1Q4A;!QU QqT!a%[ABBa1q5kQVVXXYYYYYr0ctjgd}tjgd}||}t|gt|jtjddS)Nrr>r9)r%r&r r7)r)r=rrs r.test_boolean_edgecasezTestIndex.test_boolean_edgecaseYse HRw ' ' ' HRv & & & aDQQWbhw//00000r0N)rTrUrVrXrZrXr0r.rTrTPs5ZZZ11111r0rTc2eZdZdZdZdZdZdZdZdS)TestBinaryReprcJttjdddS)Nr0r r% binary_reprr>s r. test_zerozTestBinaryRepr.test_zerobs"R^A&&,,,,,r0cttjddttjddttjdddS)NrD1010i011000011101010iԣ101000111101010011010000r_r>s r. test_positivezTestBinaryRepr.test_positiveeshR^B''000R^E**% ' ' 'R^H--/ 1 1 1 1 1r0cttjddttjddttjddttjdddS) NrFz-1rEz-1010iz-11000011101010i0+\z-101000111101010011010000r_r>s r. test_negativezTestBinaryRepr.test_negativelsR^B''...R^C(('222R^F++& ( ( (R^I..0 2 2 2 2 2r0cttjdddttjdddttjddd dS) NrrZwidth00000rDrg0001010r1111011r_r>s r.test_sufficient_widthz$TestBinaryRepr.test_sufficient_widthtseR^AQ///999R^Ba000)<<<R^Ba000)<<<</Cc))C 59993 ? ? ? ? @ @r0crttjtjddddS)Nl@rj@1100000000000000000000000000000000000000000000000000000000000000)r r%r`rr>s r.test_large_neg_int64z#TestBinaryRepr.test_large_neg_int64s<R^BHV$4$4B???" $ $ $ $ $r0N) rTrUrVrarfrhrortrxrXr0r.r\r\asq---111222=== @ @ @$$$$$r0r\c&eZdZdZdZdZdZdS) TestBaseReprcLttjddddS)Nr100000r r% base_reprr>s r. test_base3zTestBaseRepr.test_base3s$R\$**H55555r0c ttjdddttjddddttjdddttjddd dS) NrrD12r000012rAl5j$ 10QR0ROFCEWr~r>s r.rfzTestBaseRepr.test_positives{R\"b))4000R\"b!,,h777R\"a(($///R\"2B77GGGGGr0cttjdddttjddddttjddddS)NrDz-12rz-000012z-30r~r>s r.rhzTestBaseRepr.test_negatives^R\#r**E222R\#r1--y999R\#q))511111r0c tt5tjdddddn #1swxYwYtt5tjddddddS#1swxYwYdS)Nr%)r rNr%rr>s r.test_base_rangezTestBaseRepr.test_base_ranges : & &   LA                   : & &  LB                     s7;;A99A=A=N)rTrUrVrrfrhrrXr0r.rzrzsS666HHH 222      r0rzcreZdZdZdZdZdZej dgddZ dS) TestArrayComparisonscHtjtjddgtjddg}t|tt |t utjtjddgtjgd}t| tt |t utjtjddgtjddg}t| tt |t utjtjddgtjddg}t| tt |t utjtjdgdtjdgd}t|tt |t utjtjd gd tjd gd }t|tt |t udS) Nrrr!rrr=S1r>)r=rzS1,u4)r% array_equalr&rr]r9r)r\s r.test_array_equalz%TestArrayComparisons.test_array_equalsnRXq!f--rxA/?/?@@ S T!"""nRXq!f--rx /B/BCCCS T!"""nRXq!f--rxA/?/?@@CS T!"""nRXq!f--rxA/?/?@@CS T!"""nRXse4888"(C5PT:U:U:UVV S T!"""nRXxj@@@Xxj@@@BB S T!"""""r0cdtjddtjg}tjdtjdg}tjddtjg}t tj|| t tj||dt tj||d t tj||d tjtj}t tj|| t tj||dtjgdt }t tj||t tj||dtjddgtjdgg}t tj|| t tj||dtjdggdz\}}tjtjc|_|_t tj||d  t tj||ddS) NrrT equal_nanr!r>ry??F) r%r&rlrorrrrimag)r)a1a2a3r=rs r.test_array_equal_equal_nanz/TestArrayComparisons.test_array_equal_equal_nans8 Xq!RVn % % Xq"&!n % % Xq!RVn % % BN2r***+++r2666777BN2rT::::;;;BN2rT::::;;; HRV  BN1a((()))q!t444555 HYYYc * * *q!$$%%%q!t444555 Hq!frvqk* + +BN1a((()))q!t444555&""#A%1BN1a59999:::q!t44455555r0ctjgdt}t|dkgdt|dkgdtjd}t|dkgdt|dkgddS)N)NrNr>)TFT)FTFrFFF)TTT)r%r&rr rgrs r.test_none_compares_elementwisez3TestArrayComparisons.test_none_compares_elementwises H___F 3 3 3Q$Y 3 3 3444Q$Y 4 4 4555 GAJJQ$Y 5 5 5666Q$Y 2 2 233333r0c tjtjddgtjddg}t|tt |t utjtjddgtjgd}t| tt |t utjtjddgtjddg}t| tt |t utjtjddgtjddg}t| tt |t utjtjddgtjdg}t|tt |t utjtjddgtjdgdgg}t|tt |t utjtjddgtjdg}t| tt |t utjtjddgtjdgdgg}t| tt |t utjtjddgtjgdgdgdg}t| tt |t udS)Nrrr!rrrr)r% array_equivr&rr]r9rs r.test_array_equivz%TestArrayComparisons.test_array_equivsnRXq!f--rxA/?/?@@ S T!"""nRXq!f--rx /B/BCCCS T!"""nRXq!f--rxA/?/?@@CS T!"""nRXq!f--rxA/?/?@@CS T!"""nRXq!f--rx}}== S T!"""nRXq!f--rx!qc /C/CDD S T!"""nRXq!f--rx}}==CS T!"""nRXq!f--rx!qc /C/CDDCS T!"""nRXq!f--rxIIIyyy8Y/Z/Z[[CS T!"""""r0r7)rV3rGc.tjd|}t||||krJ|dkrdStjgd|}||krJ||ksJdS)Nrr>r)123)r%r@r rEr&r)r)r7r@nonzeross r.test_compare_unstructured_voidsz4TestArrayComparisons.test_compare_unstructured_voidss%(((5%(((UN''))))) D== F8...e<<<X%**,,,,,!&&(((((((r0N) rTrUrVrrrrrLr r rrXr0r.rrs###*666<444###< [W&9&9&9:: ) );: ) ) )r0rct|||jjdks!tjjjdkr.t jdkrt|j |j knt|j j |j j kt|j j |j j kt|j j |j j kt|j j |j j kt|j j|j jkt|jj|jjkdS)Nrvrwin32)r r7 alignmentr%r itemsizesysrrrowndatar c_contiguous f_contiguouswritebackifcopyrZ)r^rs r.assert_array_strict_equalr sq!  a   GIIO $ ) ) LG # #17"####17?2333!QW%66777$(<<===$(<<==='17+BBCCC AG  0 011111r0c .eZdZdZdOdZdOdZdZdZdZdZ d Z d Z d Z e jd d dZdZdZdZdZdZdZdZdZe jdddgdZdZdZdZdZdZdZd Z d!Z!d"Z"d#Z#d$Z$d%Z%d&Z&d'Z'd(Z(d)Z)d*Z*d+Z+d,Z,d-Z-d.Z.d/Z/d0Z0d1Z1d2Z2d3Z3d4Z4d5Z5d6Z6d7Z7d8Z8d9Z9e jd:d;d<e:j;d=fe:j<d=e:j;d=fgd>Z=e jd?e:j;d=e:j>@dAdBe:j?d=dBe@@fe:j;d=dC@d@e:jBe:jCe:j;d=e:jD@fgdFZEe jFdGHe jdEe:jBds r.r?zTestClip.setup_methodsr0Nc $|j||fd|i|S)Nrk)rp)r)r=rr rkkwargss r.fastclipzTestClip.fastclip#s#qva...v...r0ctj||dtj||zz}||||f|S)NrrL)r%lessgreaterrh)r)r=rr rkselectors r.rpz TestClip.clip&sC71a==1RZ1%5%5#551ayc222r0c"t||Sr)rr)rrs r._generate_datazTestClip._generate_data,sQ{{r0cJt||dt||zzS)Nr)rrrs r._generate_data_complexzTestClip._generate_data_complex/s"Q{{S41::---r0c\t||tjSr)rrvr%rArs r._generate_flt_datazTestClip._generate_flt_data2s a ##BJ///r0ctj|}tjdkr.||jd}n-||jd}|S)Nlittle><)r%asarrayr byteorderrvr7rYrs r._neg_byteorderzTestClip._neg_byteorder5se JqMM =H $ $--c2233AA--c2233Ar0ct||}||}t|jj |Sr)rrrr7rZ)r)rrrs r._generate_non_native_dataz"TestClip._generate_non_native_data=s=Q{{""4((DJ''((( r0cbdt||ztjSr)rrvr%rrs r._generate_int_datazTestClip._generate_int_dataC$T!QZZ''111r0cbdt||ztjSr)rrvr%rrs r._generate_int32_datazTestClip._generate_int32_dataFrr0r7z?bhilqpBHILQPefdgFDGOctjd|}tjd|}tj|dd}|dkr.||ksJdSt ||dS)NrDr>rrrB)r%rgr@rptolistr )r)r7rqractuals r.test_ones_pathologicalzTestClip.test_ones_pathologicalKs gb&&&8Be,,,a## C<<==??hoo&7&7777777  * * * * *r0c||j|j}d}d}||||}||||}t ||dS)Ng?333333?rrrrrprr)r=rr acacts r.test_simple_doublezTestClip.test_simple_doubleXse    1 1   ]]1a # #ii1a  !"c*****r0c||j|j}|t}d}d}||||}||||}t||dSNrr)rrrrvrrrprrs r.test_simple_intzTestClip.test_simple_intast  # #DGTW 5 5 HHSMM   ]]1a # #ii1a  !"c*****r0c||j|j}tj|j}|dz}||||}||||}t||dS)Nr rrrr%r@r8rrprrs r.test_array_doublezTestClip.test_array_doubleksu    1 1 HQW   G ]]1a # #ii1a  !"c*****r0c||j|j}d}d}||||}||||}t ||||j|j}d}|d}t|j j ||||}||||}t ||dSNr) rrrrrpr rrrr7rZrs r.test_simple_nonnativezTestClip.test_simple_nonnativets  * *47DG < <   ]]1a # #ii1a  2s###    1 1     $ $AG$$%%% ]]1a # #ii1a  2s#####r0cd||j|jz}d}d}||||}||||}t ||d||j|jz}d}d}||||}||||}t ||dS)NrrrSy?y?@)rrrrrprrrs r.test_simple_complexzTestClip.test_simple_complexs ++DGTW== =   ]]1a # #ii1a  !"c*** ##DGTW55 5   ]]1a # #ii1a  !"c*****r0c(tjdt}|}|}|||d}||d|}t ||t ||dSNrDr>)r%rgrrrrr)r)r=rr amaMs r.test_clip_complexzTestClip.test_clip_complexs GBg & & & EEGG EEGG ]]1a & & ]]1dA & &!"a(((!"a(((((r0cZ||jdz|jdz}|ddddddf}t|jd t|jd ||dd}||dd}t||dS)Nrr F_CONTIGUOUS C_CONTIGUOUSgg333333?)rrrrrrrpr)r)r=rrs r.test_clip_non_contigzTestClip.test_clip_non_contigs   ! TWq[ 9 9 ccc33Q3hKAGN++,,,AGN++,,, ]]1dC ( (ii4%%!"c*****r0c2||j|j}d}d}tj|j}tj|j}||||||||||t||dSrrrs r.test_simple_outzTestClip.test_simple_out    1 1   Xag  hqw aAr""" !Q3!"c*****r0rrkc,||j|j}tjd}tjd}tj|jtj}|}|Ntj t5| |||||ddddS#1swxYwYdS| |||||| ||||t||dS)Nrrr>r)rrrr%rr@r8rr;rLrMr$rrpr)r)rr=rr rrs r.test_simple_int32_inoutz TestClip.test_simple_int32_inouts=  % %dgtw 7 7 JqMM JqMM XagRX . . .ggii ?y)) < < aAr7 ;;; < < < < < < < < < < < < < < < < < < MM!Q2wM 7 7 7 IIaAs # # # %b# . . . . .sCC  C c||j|j}tjd}tjd}tj|jtj}|}| ||||| ||||t||dSNrFrr> rrrr%rr@r8rr;rrprrs r.test_simple_int64_outzTestClip.test_simple_int64_out  % %dgtw 7 7 HRLL HQKK XagRX . . .ggii aAr""" !Q3!"c*****r0c||j|j}tj|jtj}tjd}tj|jtj}|}| ||||d| ||||t||dSNrr>rkrkr rrrr%r@r8rrr;rrprrs r.test_simple_int64_inoutz TestClip.test_simple_int64_inout  % %dgtw 7 7 HQWbj ) ) JqMM XagRX . . .ggii aA2x 888 !Q3!"c*****r0cD||j|j}d}d}tj|jtj}|}|||||d| ||||t||dSNrfrr>rkr rrrr%r@r8rr;rrprrs r.test_simple_int32_outzTestClip.test_simple_int32_out    1 1   XagRX . . .ggii aA2x 888 !Q3!"c*****r0c$||j|j}|}t j|j}d}||||||||||t||dSNrS rrrr;r%r@r8rrprr)r=rrr s r.test_simple_inplace_01zTestClip.test_simple_inplace_01    1 1 VVXX HQW    aAq!!! !Q2!!R(((((r0c||j|j}|}d}d}||||||||||t ||dSrrrrr;rrprr s r.test_simple_inplace_02zTestClip.test_simple_inplace_02sx    1 1 VVXX   aAq!!! "aB!!R(((((r0c||jdz|jdz}|ddddddf}t|jd t|jd |}d}d}||||||||||t||dS)Nrrrrrr) rrrrrr;rrpr r s r.test_noncontig_inplacezTestClip.test_noncontig_inplaces   ! TWq[ 9 9 ccc33Q3hKAGN++,,,AGN++,,, VVXX   aAq!!! "aB1b!!!!!r0c||j|j}d}d}||||}||||}t ||dSrrrs r.test_type_cast_01zTestClip.test_type_cast_01 se    1 1   ]]1a # #ii1a  !"c*****r0c||j|j}|tj}d}d}||||}||||}t||dSr) rrrrvr%rrrprrs r.test_type_cast_02zTestClip.test_type_cast_02sx  # #DGTW 5 5 HHRX     ]]1a # #ii1a  !"c*****r0cZ||j|j}d}d}||t j|t j|}||t j|t j|}t||dSr)rrrrr%rrprrs r.test_type_cast_03zTestClip.test_type_cast_03 s  % %dgtw 7 7   ]]1bjmmRZ]] ; ;ii2:a=="*Q--88!"c*****r0c||j|j}tjd}tjd}||||}||||}t||dSr)rrrr%rArrpr)r)r=rr rrs r.test_type_cast_04zTestClip.test_type_cast_04)su  % %dgtw 7 7 JrNN JqMMmmAq!$$ YYq!Q  !"c*****r0c2||j|j}d}d}|||t j|jz|}|||t j|jz|}t||dSNrrS) rrrrr%r@r8rprrs r.test_type_cast_05zTestClip.test_type_cast_052s  # #DGTW 5 5   ]]1a"(17"3"33Q 7 7ii1rx000!44!"c*****r0c||j|j}d}||}d}||||}||||}t ||dS)NrrS)rrrrrprr)r)r=rm_sr rrs r.test_type_cast_06zTestClip.test_type_cast_06;sx    1 1 !!!$$ ii3"" ]]1c1 % %!"c*****r0cZ||j|j}dtj|jz}d}||}t|jj | ||}| |||}t||dSr) rrrr%rgr8rrr7rZrprr)r)r=rr a_srrs r.test_type_cast_07zTestClip.test_type_cast_07Es    1 1 2717## # !!!$$CI&&'''hhq!nn ]]31 % %!"c*****r0c&||j|j}d}d}||}t |jj ||||}|||}t||dSr) rrrrrr7rZrrpr)r)r=rr r!rrs r.test_type_cast_08zTestClip.test_type_cast_08Ps    1 1  !!!$$CI&&''' ]]31 % %hhq!nn!"c*****r0c\||j|j}dtj|jz}d}||}t|jj | |||}| |||}t||dSr) rrrr%rgr8rrr7rZrrpr)r)r=rr rrrs r.test_type_cast_09zTestClip.test_type_cast_09[s    1 1 2717## # !!!$$CI&&''' ]]1c1 % %ii3""!"c*****r0cd||j|j}tj|jtj}tjd}tjd}|||||}|||||}t||dS)Nr>rrrL) rrrr%r@r8rArprrr)r=rrr rrs r.test_type_cast_10zTestClip.test_type_cast_10fs  # #DGTW 5 5 HQWBJ / / / Jt   JqMMii1aQi'' ]]1a] * *!"c*****r0c|||j|j}|}||jd}|}d}d}||||||||||t||dS)NrrrSrL) rrrr;rvr7rYrrpr)r)r=rbtrr s r.test_type_cast_11zTestClip.test_type_cast_11ps  * *47DG < < FFHH HHQW))#.. / / VVXX   aA1 %%% !Qr """!!R(((((r0cd||j|j}tj|jtj}tjd}tjd}|||||}| ||||}t||dS)Nr>rrrL) rrrr%r@r8rArrprrr(s r.test_type_cast_12zTestClip.test_type_cast_12|s  # #DGTW 5 5 HQWBJ / / / HQKK HQKKii1aQi'' ]]1a] * *!"c*****r0c2||j|j}d}d}tj|j}tj|j}||||||||||t||dSrrrs r.test_clip_with_out_simplez"TestClip.test_clip_with_out_simplerr0c||j|j}tjd}tjd}tj|jtj}|}| ||||d| ||||t||dS)Nrrr>rkr) rrrr%rr@r8rr;rrprrs r.test_clip_with_out_simple2z#TestClip.test_clip_with_out_simple2s  % %dgtw 7 7 JqMM JqMM XagRX . . .ggii aA2x 888 !Q3!"c*****r0c||j|j}tjd}tjd}tj|jtj}|}| ||||| ||||t||dSrrrs r.test_clip_with_out_simple_int32z(TestClip.test_clip_with_out_simple_int32rr0c||j|j}tj|jtj}tjd}tj|jtj}|}| ||||d| ||||t||dSrrrs r.test_clip_with_out_array_int32z'TestClip.test_clip_with_out_array_int32rr0cD||j|j}d}d}tj|jtj}|}|||||d| ||||t||dSrrrs r.!test_clip_with_out_array_outint32z*TestClip.test_clip_with_out_array_outint32rr0ctjddd}tj|j}|dd|||dd}t ||dS)NrcrrDrL)r%rKr empty_likerrpr )r)r=rkrs r.test_clip_with_out_transposedz&TestClip.test_clip_with_out_transposedst IbMM ! !!Q ' 'mA  q"#99Q2&&3)))))r0c<tjddd}|}|dddd|dd||dddd}t |dd|dS)NrcrrFrDrrL)r%rKrr;rpr )r)r=rrs r.!test_clip_with_out_memory_overlapz*TestClip.test_clip_with_out_memory_overlaps IbMM ! !!Q ' ' VVXX #2# Arqu %%%99RWa,,1QRR5(+++++r0c$||j|j}|}t j|j}d}||||||||||t||dSrr r s r.test_clip_inplace_arrayz TestClip.test_clip_inplace_arrayr r0c||j|j}|}d}d}||||||||||t ||dSrrr s r.test_clip_inplace_simplez!TestClip.test_clip_inplace_simplesx    1 1 VVXX   aAq!!! !Q2!!R(((((r0c||j|j}|}d}d}t j||||}|||||t ||t||udS)NrrrL)rrrr;r%rprr)r)r=rrr rs r.test_clip_func_takes_outz!TestClip.test_clip_func_takes_outs    1 1 VVXX   WQ1! $ $ $ !Q2!"b)))ar0cxtjd}t|tjtjt|tjtjt|tjtjtjt|dtjtjt|tjdtjdS)Ng@)r)r)rrrrD)r%rKr rprl)r)rHs r. test_clip_nanzTestClip.test_clip_nans IbMMQVVV''000QVVV''000QVVBFV33RV<<<QVVV//888QVVBV//88888r0ctjdt}tj|dd}tjgd}||ksJdS)NrDr>rrZ) rrrrrrZrZrZrZrZ)r%rKrrpr&r)r)r=rrs r.test_object_clipzTestClip.test_object_clipsh Ib ' ' 'Aq!!8:::;;}}(//"3"3333333r0ctjdt}ttd5tj|ddddddS#1swxYwYdS)NrDr>z max or min)r%rKrr rNrprs r.test_clip_all_nonezTestClip.test_clip_all_nones Ib ' ' ' \ : : # # GAtT " " " # # # # # # # # # # # # # # # # # #sAAActjdt}ttd5||dddddddS#1swxYwYdS)NrDr>zcasting must be one ofrrvgarbager)r%rKrr rNrrs r.test_clip_invalid_castingz"TestClip.test_clip_invalid_castings Ib ' ' ' !9;; 6 6 MM!Q9M 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6sAAAz amin, amaxrrrDctjdtj}tjtj|||}tj|||}t ||dSr)r%rKrminimummaximumrpr )r)aminamaxr=rrs r.test_clip_value_min_max_flipz%TestClip.test_clip_value_min_max_flip s` Ib ) ) ):bjD11488D$''VX&&&&&r0zarr, amin, amax, expr>rlrcRtj|||}t||dSrro)r)rqrPrQrsrs r.test_clip_problem_casesz TestClip.test_clip_problem_cases s-dD))VS!!!!!r0zarr, amin, amaxctjtj|||}tj|||}t ||dSrr%rNrOrpr r)rqrPrQrrs r. test_clip_scalar_nan_propagationz)TestClip.test_clip_scalar_nan_propagation& sJ:bjd33T::dD))VX&&&&&r0zpropagation doesn't match specrNaTzignore::DeprecationWarningctjtj|||}tj|||}t ||dSrrVrWs r.test_NaT_propagationzTestClip.test_NaT_propagation3 sJ:bjd33T::dD))VX&&&&&r0)r7r8)rrqc tjtjz}|tjd|j\}}|d}||tj||dddiz}||tj||dddiz}tj |||} tj |||} tj |tj ||| | } | j | ksJt| | d S) aA property-based test using Hypothesis. This aims for maximum generality: it could in principle generate *any* valid inputs to np.clip, and in practice generates much more varied inputs than human testers come up with. Because many of the inputs have tricky dependencies - compatible dtypes and mutually-broadcastable shapes - we use `st.data()` strategy draw values *inside* the test function, from strategies we construct based on previous values. An alternative would be to define a custom strategy with `@st.composite`, but until we have duplicated code inline is fine. That accounts for most of the function; the actual test is just three lines to calculate and compare actual vs expected results! r) num_shapes base_shapec.tj|dS)NF) allow_nan)hynp from_dtyper^s r.rz-TestClip.test_clip_property..c sdoa5999r0rr`F)r7r8elementsrr>N)rainteger_dtypesfloating_dtypesdrawmutually_broadcastable_shapesr8flatmaparraysr%rprrNrOr7r ) r)rrqnumeric_dtypes in_shapes result_shaperrPrQrPr*rs r.test_clip_propertyzTestClip.test_clip_propertyA si.,..1E1G1GG#'))  .   # #  <  " " 9 9 ; ;yyT[~A,+u)=????@@yyT[~A,+u)=????@@ dD)) N3d + +:dBJsD$B$B$B!LLL|q    68,,,,,r0r)SrTrUrVr?rrprrrrrrrrLr r rrrrrrrrrrrrrr rrrrrrrrr"r$r&r)r,r.r0r2r4r6r8r;r=r?rArCrErGrIrLr%r@rgrRrfullrrTr&rlrrXr timedelta64rr[rstrrarjrerf array_shapesrnrXr0r.rrs2////3333 ...000 222222  [W&=>> + +?> ++++++++++$$$&+++$ ) ) )+++ + + + [Yx(899//:9/ + + + + + + + + +)))))) " " "++++++++++++++++++ + + + + + + + + ++++ ) ) )+++ + + + + + + + + + + + + + + +***,,,))))))   999444 ### 666  [\ HBHRLL hbhrll# ,   ''  ' [3 "BH % % %  XV , , , . "D ! ! !A % "D ! ! ! # 6  ""  " [. "BH % % % "&   "BH % % % '1 ''  ' [>?? [. 1#($ ' ' '    "BH % % % '1  [ <==''>= @?' U RWYY DK%$%''*>$*>*@*@@#$#%%   (-(-(-(-(-r0rcReZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd S) TestAllcloseh㈵>:0yE>c:tjd|_dS)Nrrr%rolderrr>s r.r?zTestAllclose.setup_methodw si111 r0c2tjdi|jdSrryr>s r.teardown_methodzTestAllclose.teardown_methodz s    DK     r0cXttj|||d|ddSN and z not closerr%allcloser)r^rs r. tst_allclosezTestAllclose.tst_allclose} s1 Aq!!AAAqqq#ABBBBBr0cZttj|| |d|ddS)Nrz shouldn't be closerrs r.tst_not_allclosezTestAllclose.tst_not_allclose s4BK1%%%AAA'NOOOOOr0c tjddg}tjdd}|j}|j}ddgddgf|gdgfdgd|z|zgf||||zzf||||zz|dzzf||||zzftjtjftjtjgfg}|D]\}}|||dS)Nr}rZrZrZrrr)r%r&rKratolrtolror)r)rqaranrrrr^rs r.test_ip_allclosezTestAllclose.test_ip_allclose shT{##y~~%%i00yyQ!Q ! qvd{m$cCHn%cCHntAv-.td4i'( "&"$ $ $FQ   a # # # # $ $r0ctjdd}|j}|j}tjdgdtjgftjdgddgftjtjgdtjgftjtjgddgftj dgtjdgftjdgtjdgf|dzgdgfdgd|z|dzzgf||||zz|dzzftjtjdgtjdtjgfg }|D]\}}|||dS)Nrrrrr) r%rKrrrrorlr&r)r)rrrrr^rs r.test_ip_not_allclosez!TestAllclose.test_ip_not_allclose sPy~~%%i00yy&!q"&k*&!q!f%&"&!Arv;/&"&!Aq6*6'1{+&!rvqk*q&A3qvd1f}o&td4i'$q&01261+&&!RV(=(=> @ ( (FQ  ! !!Q ' ' ' ' ( (r0chtjtjdg}tjdtjg}tj||t |tjtjdgt |tjdtjgdSNrr)r%r&rorr rs r.test_no_parameter_modificationz+TestAllclose.test_no_parameter_modification s Hbfa[ ! ! Ha[ ! ! Aq1bh{334441bh26{3344444r0ctjtjj}tj|gtj}t tj||dS)Nr>)r%rint_rr&rr)r)min_intr=s r. test_min_intzTestAllclose.test_min_int sN(27##' HgYbg . . . Aq!!"""""r0ctjdtjg}ttj||ddS)NrSTr)r%r&rlrrrs r. test_equalnanzTestAllclose.test_equalnan s< Hc26] # # AqD11122222r0cGddtj}|dg}tttj||t udS)NceZdZdZdS)6TestAllclose.test_return_class_is_ndarray..FoocJtj|i||Sr)r%r&r\)clsrrs r.__new__z>TestAllclose.test_return_class_is_ndarray..Foo.__new__ s%x00055c:::r0N)rTrUrVrrXr0r.Foor s# ; ; ; ; ;r0rr)r%r[rr]rr9)r)rr=s r.test_return_class_is_ndarrayz)TestAllclose.test_return_class_is_ndarray sl ; ; ; ; ;"* ; ; ; CHHR[A&&''4/00000r0N)rTrUrVrrr?r|rrrrrrrrrXr0r.rtrts s D D222!!!CCCPPP$$$((((*555### 33311111r0rtcjeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdS) TestIscloserurvc |j}|j}tjddg}tjdd}ddgddgf|gdgfdgd|z|zgf||||zzf||||zz|zf||||zzftjtjftjtjgftjtj gtjtj gfg |_tjdgdtjgftjtj gddgftjtjgdtj gftjtjgddgftjdgtjtj gf|dzgdgfdgd|z|dzzgf|||dz|zz|dzzftjtjdgtjdtjgfg |_ tjdgtj|dzgf|dd dd|zzz|zgdtjd gftjd gd ftjtjtjtjgfdg|tjtj tjgfd|tjtj tjgfg|_ d d ggdgdgdgdgdg|_ dS)Nrrrrrrrg?g.Ar)rrg@TF)TFFTTFr)TFFF) rrr%r&rKrroall_close_testsrlnone_close_testssome_close_testssome_close_results)r)rrrqrs r._setupzTestIsclose._setup syyhT{##y~~%%i00Q!Q ! q4x$'(cCHn%cCHnt+,td4i'( "&"&26'"RVbfW$56 &!q"&k*&26'"QF+&"&!Aw<0&"&!Aq6*&!rvw/0q&A3q4x$q&()*td3htm+d3h67261+&&!RV(=(=> !&!rvtAv./3AdF +d23a5EF1{{{+"&"&"&12tRVbfWbf56T26BF7BF34 !u $$$###%%%++++++ #r0c||j}|j}t||D]+\\}}}t t j|||,dSr)rrrzipr r%isclose)r)testsresultsr^rrPs r.test_ip_isclosezTestIsclose.test_ip_isclose si %)!%11 9 9NFQF rz!Q// 8 8 8 8 9 9r0c|ttjtj|||d|ddSr~)rr%rrrs r.tst_all_isclosezTestIsclose.tst_all_isclose s;rz!Q''((111aaa*HIIIIIr0cd}ttjtj|| |||fzdS)Nz%s and %s shouldn't be close)rr%rEr)r)r^rrDs r.tst_none_isclosezTestIsclose.tst_none_isclose s>,BF2:a++,,,cQFl;;;;;r0c~d}d}tj|rVtj|rBttj||tj||k|||fzdSt tj||tj|||||fzdS)Nz4isclose.all() and allclose aren't same for %s and %sz.isclose and allclose aren't same for %s and %srC)r%rrrrr r)r)r^rrDmsg2s r.tst_isclose_allclosez TestIsclose.tst_isclose_allclose sD? ;q>> Xbk!nn X BJq!$$ Aq(9(99tq!f} M M M M M M rz!Q//3355r{1a7H7H#QRTUPV, W W W W Wr0ct||jD]\}}|||dSr)rrrrs r.test_ip_all_isclosezTestIsclose.test_ip_all_isclose sH * ' 'FQ  A & & & & ' 'r0ct||jD]\}}|||dSr)rrrrs r.test_ip_none_isclosez TestIsclose.test_ip_none_isclose sH + ( (FQ  ! !!Q ' ' ' ' ( (r0c||j|jz|jz}|D]\}}|||dSr)rrrrr)r)rr^rs r.test_ip_isclose_allclosez$TestIsclose.test_ip_isclose_allclose s` %(==&' , ,FQ  % %a + + + + , ,r0cttjtjtjddgtjdtjg}ttj||dddgdS)NTrrS)r r%rrlr&r9s r.test_equal_nanzTestIsclose.test_equal_nan si2:bfbfEEEvNNNhRV}%%2:c3$???$NNNNNr0c Vtjgdtjd}t t |t tjd|ut t |t tj|dutjgdtjtjtjg}t t |t tjtj|ut t |t tj|tjutjgdtjtjtjg}tjtj|d}t t |t |utgd|j tj|tjd}t t |t |utgd|j tjgdtjtjtjg}tj||d}t t |t |utgd|j dS)NrrrTr) r%ma masked_whererKrr]rrlror maskrs r.test_masked_arrayszTestIsclose.test_masked_arrays% sW E  222BIaLL A AQ4 1a 0 0111222Q4 1a 0 0111222 E  222RVRVRV4L M MQ4 261 5 5666777Q4 1bf 5 5666777 E  222RVRVRV4L M M JrvqD 1 1 1Q477"###...777 Jq"&D 1 1 1Q477"###...777 E  222RVRVRV4L M M Jq!t , , ,Q477"###...77777r0cnttjtjdddSNr)rr%rrr>s r.test_scalar_returnzTestIsclose.test_scalar_return@ s, BJq!,,--.....r0chtjtjdg}tjdtjg}tj||t |tjtjdgt |tjdtjgdSr)r%r&rorr rs r.rz*TestIsclose.test_no_parameter_modificationC s Hbfa[ ! ! Ha[ ! ! 1a1bh{334441bh26{3344444r0cttjtjtj tjuttjdtjtjutt tjdtjtjudSNr)rr%rror(r]rr>s r.test_non_finite_scalarz"TestIsclose.test_non_finite_scalarJ s  26BF7++ry8999 1bf%%2333RZ26**++rx788888r0ctjgdgd}tj||ddsJtj||tjdddsJtj||ddsJtj||tjdddsJdS) N)rrrrYzm8[ns]r>rT)rrrns)r%r&rrrprrs r.test_timedeltazTestIsclose.test_timedeltaQ s H&&&'x 8 8 8z!QQ$777;;=====z!QR^At%<%<MMMQQSSSSS{1aa4888888{1abnQ&=&=NNNNNNNNr0N)rTrUrVrrrrrrrrrrrrrrrrrXr0r.rr s D D+++Z999JJJ<<<XXX''' ((( ,,,OOO 8886///555999OOOOOr0rc2eZdZdZdZdZdZdZdZdS) TestStdVarcJtjgd|_d|_dS)N)rrFrrFr)r%r&r*real_varr>s r.r?zTestStdVar.setup_method\ s"...)) r0cttj|j|jttj|jdz|jdS)Nr)r r%rr*rrr>s r. test_basiczTestStdVar.test_basic` sEBF46NNDM:::BF46NNA-t}=====r0cttjddttjdddSrr r%rrr>s r. test_scalarszTestStdVar.test_scalarsd s8RVAYY"""RVAYY"""""r0cxttj|jd|jt |jzt |jdz z ttj|jddz|jt |jzt |jdz z dS)Nrddofrr r%rr*rrrr>s r. test_ddof1zTestStdVar.test_ddof1h sBF46222 MCKK73tv;;?K M M MBF46222A5 M#df++5TVqI K K K K Kr0cxttj|jd|jt |jzt |jdz z ttj|jddz|jt |jzt |jdz z dS)Nrrrr>s r. test_ddof2zTestStdVar.test_ddof2n sBF46222 MCKK73tv;;?K M M MBF46222A5 MCKK73tv;;?K M M M M Mr0ctjd}tjd}tj||}t ||ut ||tj||}t ||ut ||tj||}t ||ut ||dS)NrDrrL)r%rKr&rrr rr)r)rHrkr{s r.test_out_scalarzTestStdVar.test_out_scalart s IbMMhrll F1#   S1c""" F1#   S1c""" GA3   S1c"""""r0N) rTrUrVr?rrrrrrXr0r.rr[ st>>>###KKK MMM # # # # #r0rceZdZdZdZdS)TestStdVarComplexctjgd}d}ttj||ttj|dz|dS)N)rrrFyrr)r%r&r rr)r)r*rs r.rzTestStdVarComplex.test_basic sW H''' ( (BF1IIx000BF1IIqL(33333r0cttjddttjdddS)Nrrrr>s r.rzTestStdVarComplex.test_scalars s8RVBZZ###RVBZZ#####r0N)rTrUrVrrrXr0r.rr s2444 $$$$$r0rceZdZdZd dZdZdZdZdZe j e d d Z dS) TestCreationFuncscdtjtjD}d|D}t ||z d|Dzd|_ddd|_d |_dS) Nc6h|]}tj|SrX)r%r7r]tps r. z1TestCreationFuncs.setup_method.. s OOO2"(2,,OOOr0cFh|]}|jd|S)r^)rendswithrs r.rz1TestCreationFuncs.setup_method.. s+FFF1E1EF"FFFr0c h|]O}tddD]<}tj|jdt|=PS)rrDr^)rFr%r7rreplace)r]rrs r.rz1TestCreationFuncs.setup_method.. smNNN"$a NN;<!hrv~~c3q66'B'BCCNNNNr0c|jSr)rr>s r.rz0TestCreationFuncs.setup_method.. suyr0)keyrr)rFrD) rchainr%rvaluessorteddtypesordersndims)r)rvariable_sizeds r.r?zTestCreationFuncs.setup_method sOO"*:K:K:M:M)NOOOFFvFFFVn4NN(6NNNN"9!8::: +@@  r0Nc dt|j|j|jf}i}|d|i}t j|D]\}}}}||gz} |r|jdr*|| f||d|} t| j |tt| j |j||O|jdrt |} n|} t| | | dS)Nrc fill_valuez|Vorderr7z|S)rFrrrrrr startswithr r7rgetattrrr]) r)rHrpar fill_kwargrrrr7r8rqrs r.check_functionz TestCreationFuncs.check_function s<TZ  {{  !& 3J)2):C)@ 3 3 %D%TFNE ei22488 $u%E%%#%%C E * * * GCIt{5'9:: ; ; ;%9''--%j//CC$CS%**S//222% 3 3r0cD|tjdSr)rr%r@r>s r. test_zeroszTestCreationFuncs.test_zeros  BH%%%%%r0cD|tjdSr)rr%rgr>s r. test_oneszTestCreationFuncs.test_ones s BG$$$$$r0cD|tjdSr)rr%emptyr>s r. test_emptyzTestCreationFuncs.test_empty rr0c|tjd|tjddS)Nrr)rr%ror>s r. test_fullzTestCreationFuncs.test_full s8 BGQ''' BGQ'''''r0zPython lacks refcountsrcd}tj|}tj|gdzt tj||ktj|gdzt tj||ktj|gdzt tj||ktj|gdzdt tj||kdS)NrrDr)r getrefcountr%r@rrgrro)r)dimbegs r.test_for_reference_leakz)TestCreationFuncs.test_for_reference_leak soc"" #r$$+,,, b$$+,,, #r$$+,,, b!$$+,,,,,r0r)rTrUrVr?rrrr r rLr rrrrXr0r.rr s   3333:&&&%%%&&&((( [L(1IJJ - -KJ - - -r0rceZdZdZdZdZddZdZdZdZ d Z e j d ejejejejge j d eegd Zd S) TestLikeFuncsz4Test ones_like, zeros_like, empty_like and full_likecftjddftjddftjdddftjddftjddddftjdddd ftjdd d dftjdd d d ftjdddddftjdddddftjddd dftjddd dftjdddddddftjdddddddfg|_gd|_dS)Ng@rrrfrr>rrr:rr)rrrrrr")rrrrrr)rXrZ)rZrfre)r%r&rKrrrshapesr>s r.r?zTestLikeFuncs.setup_method s"t$!d#1D)))401u%1%%a++T21%%a++T21%%fC%88$?1%%fC%88$?2&&q!Q//62&&q!Q//62&&y&<>E2&&q!Q//88A>>D+ .322 r0c|||rStj||j}t tj||kdSt tj||kdSdSr)r%r&rvr7rr)r)dzvaluerzs r.compare_array_valuez!TestLikeFuncs.compare_array_value sy   -HUOO**2844rQw(((((rU{++,,,,,  r0Fc  |rd|i}ni}|jD]\}}||fd|i|}t|j|jttj|j|jjztj|j|jjzt|jj |jj t|jj |jj |t|j|jn't|jtj|| |||||fd|d|}t|j|jt|jj |t|j|jn't|jtj|| |||||fd|d|}t|j|jt|jj |t|j|jn't|jtj|| |||||fd|d|}t|j|j|jj rt|jj nt|jj |t|j|jn't|jtj|| ||||j D]}dD]} ||f||| d|} t| j||t| j|jn't| jtj|| dks| dkr&|jj rt| jj n1| dks| dkr%|jj rt| jj | | |||jt|kr`ttj||f||d d|jtjtj||d j`ttj||f||d d|jtj|jGd d tj} tjd dgddgg| } || fi|} tt)| | u|| fddi|} tt)| | udS)Nrr7rrrr*CFA)r7r8rK)r7rceZdZdS)4TestLikeFuncs.check_like_function..MyNDArrayNrrXr0r. MyNDArrayr N rr0r!rrrrsubokF)rr r8r%r&stridesr7rrrrrrrndimrargsortrr[r\r])r) like_functionrrrrHr7rrr:szr!r=rs r.check_like_functionz!TestLikeFuncs.check_like_function s  &.JJJ I 8I 8HAuq<<<<>!),,RX->> @ @ @ -rx/D E E E -rx/D E E E}RXqw////RXrx777  $ $R ; ; ;qG5GGJGGB 17 + + + BH) * * *}RXqw////RXrx777  $ $R ; ; ;qG5GGJGGB 17 + + + BH) * * *}RXqw////RXrx777  $ $R ; ; ;qG5GGJGGB 17 + + +w# /-....-...}RXqw////RXrx777  $ $R ; ; ;[ 8 8 D DA&q5Qa55)355B 1---}$RXqw7777$RXrx???CxxAHH1EH 56666ca3hh173Gh 5666,,R CCCCFc!ff$$ MM!-H5@A-H-H-@-@-@@G"I"IJJJJ !MM!-H5@A-H-Hs r.test_ones_likezTestLikeFuncs.test_ones_likeY s    q11111r0cF|tjddSr)r(r%rur>s r.test_zeros_likezTestLikeFuncs.test_zeros_like\ s    22222r0cF|tjddSr)r(r%r:r>s r.test_empty_likezTestLikeFuncs.test_empty_like_ s    55555r0c|tjdd|tjdd|tjdd|tjddtjd5|tjtjdddddS#1swxYwYdS)NrTrrgw/^@rrx)r(r% full_likerror>s r.test_filled_likezTestLikeFuncs.test_filled_likeb s   q$777   q$777   tT:::   w=== [ * * * A A  $ $R\264 @ @ @ A A A A A A A A A A A A A A A A A As,CCClikefuncr7ctjddd}|dddddf}|tjkrddini}||fd|i|}|tkr|jdksJdS|jdksJdS) Nrcrrvrrr7)rcr)rr)r%rKrr1rr#)r)r3r7r=rrrPs r.test_dtype_str_bytesz"TestLikeFuncs.test_dtype_str_bytesk s IbMM ! !!Q ' ' aaa1fI'/2<'?'?,##R!3353F33 C<<>W,,,,,,>V++++++r0N)F)rTrUrV__doc__r?rr(r+r-r/r2rLr r r%r:r1rur*rbytesr5rXr0r.rr s>>3334 - - -Z*Z*Z*Z*x222333666AAA [Z"-*,-*GHH [WsEl33 , ,43HH , , ,r0rc8eZdZdZdZdZdZdZdZdZ dS) TestCorrelatectjgd||_tjddddd|_tjgd||_tjgd||_tjgd||_tjgd ||_tjgd ||_ tjgd ||_ tjgd ||_ dS) Nrr>rrr)rFrr) ,4:r=)gr@r<g&r=r@).6rB0$rf)r@r=r?r>r=r<r;)rfrErDrCrBrBrA) r;r=g>gHgPgUgYgKg3) r%r&r^rKxsrz1z1_4z1rz2z2rzs)r)rs r.rzTestCorrelate._setup| s///444)Ar""33Q3',,,b111(BBB"MMMH===RHHH 8DDDBOOO(BBB"MMM8DDDBOOO(...57999r0c|ttj|j|jd}t ||jtj|j|jddd}t ||jtj|j|jd}t ||j tj|jddd|jd}t ||j tj|j|jdddd}t ||j tj|j |jd}t ||j dS)NrorF)rrr% correlater^rrrGrHrJrIrKrFrLr)rs r.r~zTestCorrelate.test_float s, E L 0 0!!TW--- Lf 5 5!!TY/// L 0 0!!TW--- L"tvv 6 6!!TX... L"v 6 6!!TX... L$&& 1 1!!TW-----r0c|ttj|j|jd}t ||jtj|j|jd}t ||jdS)Nro) rrr%rNr^rrrGrJrOs r. test_objectzTestCorrelate.test_object sl G L 0 0!!TW--- L 0 0!!TW-----r0ctjd}tjd}tj||t|tjdt|tjddSNrr)r%rgrNr r)rHks r.test_no_overwritezTestCorrelate.test_no_overwrite sd GCLL GAJJ Q1bgcll+++1bgajj)))))r0c<tjgdt}tjgdt}tjgdt}|ddd}tj||d}t ||dS)N)rrry@?r>)rFyy@?)y@rfy @?y&@@y @yrFromode)r%r&r conjugaterNr)r)r^rr_zrs r. test_complexzTestCorrelate.test_complex s H___G 4 4 4 H___G 4 4 4h;;;7KKK$$B$i!!## LAF + + +!!S)))))r0ctjt5tjtjgtjdddddn #1swxYwYtjt5tjtjdtjgdddddS#1swxYwYdS)NrrorX)rLrMrNr%rNr&rgr>s r.test_zero_sizezTestCorrelate.test_zero_size sN ]: & & C C L"rwt}}6 B B B B C C C C C C C C C C C C C C C ]: & & C C L 6 B B B B C C C C C C C C C C C C C C C C C Cs#>JJJJJr0ctjd}tjd}tj||t|tjdt|tjddSrS)r%rgrjr rTs r.rVzTestConvolve.test_no_overwrite sd GCLL GAJJ Aq1bgcll+++1bgajj)))))r0ctjd}tjd}tj||d}tt5tj||d}dddn #1swxYwYt ||t t5tj||ddddn #1swxYwYt tj||d|t t5tj||dddddS#1swxYwYdS)NrrrorXrrFr) r%rgrjrrr r rNr$)r)rHrUrb full_modes r.rdzTestConvolve.test_mode s GCLL GAJJ{1af555 , - - 4 4 Aqs333I 4 4 4 4 4 4 4 4 4 4 4 4 4 4 49l333 : & & ' ' K12 & & & & ' ' ' ' ' ' ' ' ' ' ' ' ' ' '2;q!!444i@@@ 9 % % ) ) K14 ( ( ( ( ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )reN)rTrUrVrQrVrdrXr0r.rgrg sDKKK *** ) ) ) ) )r0rgcfeZdZejdgddZdZdZdS) TestArgwhererkrcctjd|zt}d|d<ttj|jd|fd|d<d|jd<ttj|jd|fd|d<d|jd<ttj|j|jdz |fd|d<ttj|j|j|fdS)Nr[F.rTr)r%rr9r argwherer8flatr)r)rkr^s r.test_ndzTestArgwhere.test_nd s HT"Wd # ##R[^^)Ar7333#q R[^^)Ar7333#q R[^^)AFQJ+;<<<#R[^^)AFB<88888r0ctjdd}ttj|dkddgddgddgddggdS)Nrfrrrr)r%rKrr rqrs r.test_2DzTestArgwhere.test_2D sj IaLL  ( (2;q1u--FFFF$ % % % % %r0c^ttjgddgdgdgdggdS)N)rrrrrrrrr)r r%rqr>s r. test_listzTestArgwhere.test_list s7R[11QC!qcA33GHHHHHr0N) rTrUrVrLr r rsrurwrXr0r.roro sg [T999--99.-9,%%%IIIIIr0roceZdZdZdS)TestStringFunctionctjdg}tjddtt |dtjddtt |dtjddtt |dtjddtt |d dS) NrcdSNFOOrXrcs r.rz=TestStringFunction.test_set_string_function.. r0T)reprr}z array([1])cdSr|rXrcs r.rz=TestStringFunction.test_set_string_function.. r~r0Fz[1])r%r&set_string_functionr rrrs r.test_set_string_functionz+TestStringFunction.test_set_string_function s HaSMM T::::T!WWe$$$ t$////T!WWl+++ U;;;;SVVU### t%0000SVVU#####r0N)rTrUrVrrXr0r.ryry s# $ $ $ $ $r0ryc eZdZdZdZdZdS)TestRollctjd}tj|d}t|tjgddS)NrDr) rvrwrrrrrrZrfrg)r%rKrollr r&)r)r^xrs r. test_roll1dzTestRoll.test_roll1d sE IbMM WQ]]R"@"@"@AABBBBBr0c4tjtjdd}tj|d}t |tjgdgdgtj|dd}t |tjgdgd gtj|dd}t |tjgd gd gtj|dd }t |tjgd gd gtj|d d }t |tjgdgd gtj|dd }t |tjgdgd gtj|d d }t |tjgd gd gtj|dd }t |tjgdgdgtj|dd }t |tjgd gd gtj|dd }t |tjgdgdgtj|dd}t |tjgd gdgtj|dd}t |tjgdgdgtj|dd}t |tjgd gd gtj|dd}t |tjgd gd gdS)NrDrrZr)rwrrrr)rrZrfrgrvrrxrurt)rrrrr)rwrZrfrgrvrr)rFr)rrF)rrrrr)rfrgrvrwrZr)rFrFr)rrrrr)rvrwrZrfrgrfrn)r%rrKrr r&)r)x2x2rs r. test_roll2dzTestRoll.test_roll2d sv Z " v . .gb!nnS"(OOO___#EFFGGGgb!!$$$S"(OOO___#EFFGGGgb!!$$$S"(OOO___#EFFGGGgb!&)))S"(OOO___#EFFGGGgb&v...S"(OOO___#EFFGGGgb'///S"(OOO___#EFFGGGgb&v...S"(OOO___#EFFGGGgb'///S"(OOO___#EFFGGGgb&v...S"(OOO___#EFFGGGgb(000S"(OOO___#EFFGGGgb!&)))S"(OOO___#EFFGGGgb!&)))S"(OOO___#EFFGGGgb!!$$$S"(OOO___#EFFGGGgb"1%%%S"(OOO___#EFFGGGGGr0ctjg}ttj|dtjgdSr)r%r&r rrs r.test_roll_emptyzTestRoll.test_roll_emptyI s7 HRLLRWQ]]BHRLL11111r0N)rTrUrVrrrrXr0r.rr sHCCC -H-H-H^22222r0rceZdZidddddddddd d dd dd dd dddddddddddddddddddddZdZdZdS) TestRollaxisrrrr5rrrr)rr)rrrrrr)rrrrrrrrrrrr)rrrrrrr6)rrrrr?rrrr)rrrrrr)rrrrr)rrrr)rrrrctjddddd}ttjtj|ddttjtj|ddttjtj|ddttjtj|dddS) NrrrrrrrrZ)r%rKrr rrollaxisrs r.test_exceptionszTestRollaxis.test_exceptions_ s Ig   & &q!Q 2 2blBKB:::blBKAr:::blBKAq999blBKAq99999r0c tjddddd}tj|j}t |jd|jD]\}}tj |||}|tj |jdz \}}}} t tj ||||| f|kt |j|j||fkt||ft |jd |dz} tj || |}|tj |jdz \}}}} t tj ||||| f|kt |j|jd| z |fkt |jd |dkr|dzn|} tj ||| }|tj |jdz \}}}} t tj ||||| f|kt |j|j|d| z fkt |jd |dz} |dkr|dzn|} tj || | }|tj |jdz \}}}} t tj ||||| f|kt |j|jd| z d| z fkt |jd dS)NrrrrrOWNDATA)rystart) r%rKrr;rr8rrtgtshaperr&rr) r)r=aindrjr\i0r:r;i3ipjps r. test_resultszTestRollaxis.test_resultsf sL Ig   & &q!Q 2 2 7 7 9 9z!'"" "###m . .FQ+aaq111C!"(39"5"5"9:NBB BF3r2r2~.!344 5 5 5 CI1v!66QqE C C C  ),, - - -QB+arc333C!"(39"5"5"9:NBB BF3r2r2~.!344 5 5 5 CIB{!;; < < <  ),, - - -a%%QQB+aas333C!"(39"5"5"9:NBB BF3r2r2~.!344 5 5 5 CI1r6{!;; < < <  ),, - - -QBa%%QQB+arc"555C!"(39"5"5"9:NBB BF3r2r2~.!344 5 5 5 CIBB/?!@@ A A A  ),, - - - -? . .r0N)rTrUrVrrrrXr0r.rrN s & &fl &  &&,l &  &  &'-l & &'-l &  &  & '-l &  &'-l &  &  &'-l &%l$ & & &H:::#.#.#.#.#.r0rc2eZdZdZdZdZdZdZdZdS) TestMoveaxisctjddd}dD]0\}}tj||dj}t ||1dS)NrZrfrg))r)rfrgrZ)r)rZrgrf)rre)rFrerFr%rrmoveaxisr8r)r)r^sourcerrs r.test_move_to_endzTestMoveaxis.test_move_to_end sd IOOAq! $ $!2 & & FH[FB//5F FH % % % %  & &r0ctjdddd}dD]1\}}}tj|||j}t ||2dS)Nrrrr))rrr)rrr)rrFrrr)r^r destinationrrs r.test_move_new_positionz#TestMoveaxis.test_move_new_position sh IOOAq!Q ' '. & & )FK [FK88>F FH % % % %  & &r0c tjd}dddddgddgfddgddgftdtdffD]0\}}tj|||j}t |d1dS) Nrr)rrF)rFrrrFrr)r%r@rFrr8r)r)r^rrrs r.test_preserve_orderz TestMoveaxis.test_preserve_order s H\ " "R1b'"Q!Q q588$ $ * * FK[FK88>F FL ) ) ) ) * *r0ctjd}ddgddgdfddgddgdfgdgddfddgddgd fddgddgd ffD]1\}}}tj|||j}t ||2dS) Nrrrrr)rrrrrc)rrr)rrrr)r%r@rr8rrs r.test_move_multiplesz TestMoveaxis.test_move_multiples s H\ " "Q!Q.Q!Q.III|4Q!Q.Q!Q. . & & )FK[FK88>F FH % % % % & &r0c jtjddd}ttjdtj|ddttjdtj|ddttjdtj|ddtt d tj|ddgddgtt d tj|ddgddgtt d tj|dddgtt d tj|ddgdgdS) Nrrrzsource.*out of boundsrrnzdestination.*out of boundsrZzrepeated axis in `source`zrepeated axis in `destination`zmust have the same number)r%rrr rrrNrs r. test_errorszTestMoveaxis.test_errors s1 IOOAq! $ $BL*AKAq 2 2 2BL*AKB 3 3 3BL*FKAq 2 2 2J(CKQFQF < < <J(HKQFQF < < <J(CKA1v 7 7 7J(CKQFQC 9 9 9 9 9r0ctjd}tj|dd}t |j|jt t |tjjgd}tj|dd}t |t|t t |tj dS)Nr!r) r%rr@rrr8r MaskedArrayrGr[)r)r^rPs r.test_array_likeszTestMoveaxis.test_array_likes s EKK " "Q1%%&&& 625#455666 IIQ1%%4<<    62:../////r0N) rTrUrVrrrrrrrXr0r.rr sn&&&&&& * * * & & &999" 0 0 0 0 0r0rc2eZdZdZdZdZdZdZdZdS) TestCrosscddg}ddg}d}tj||}t||tj||}t|| dS)Nrrrrr)r%crossr r)urarcps r.test_2x2zTestCross.test_2x2 s_ F F  Xa^^R Xa^^R!r0cddg}gd}tjgd}tj||}t||tj||}t|| dS)NrrrdrDrrr%r&rr rs r.test_2x3zTestCross.test_2x3 sm F II H\\\ " " Xa^^R Xa^^R!r0cgd}gd}tjgd}tj||}t||tj||}t|| dS)Nr!rrrfrrrs r.test_3x3zTestCross.test_3x3 sm II II H[[[ ! ! Xa^^R Xa^^R!r0ctjddgd}tjddgd}d}ttj|||ttj||| ttj||dtjddgdj}tjgdd}tjgd d}ttj||d |ttj||j| ttj||dtjgd dj}tjddgdj}tjgd d}ttj||dd |ttj|j|j| ttj|j|jdtjgd d}tjgddj}tjgdd}ttj||d|ttj|j|| ttj||ddS)Nrr)rrrrrrrdr)axisar!)rrwrraxisb)rZrrr)r)r%tiler rrr)rrars r.test_broadcastingzTestCross.test_broadcasting sk GQFG $ $ GQFG $ $ RXa^^Q'''RXa^^aR(((RXa^^Q''' GQFG $ $ & GIIIw ' ' GLLL' * *RXa!,,,a000RXa%%r***RXa^^Q''' GIIIw ' ' ) GQFG $ $ & GLLL' * *RXa!1555q999RXac13''!,,,RXac13''+++ GIIIv & & GIIIv & & ( GKKK ( (RXa!,,,a000RXac1%%r***RXa^^Q'''''r0ctjd}tjd}ttj||jdtjd}tjd}ttj||ddjd t tjtj||dd t tjtj||d dtjd }tjd }ttj||dd jdt tjtj||dd t tjtj||ddtjd}tdd D],}ttj|||jd-dS)N)rrr)rZr)rrZr)rDrrZrrrr)rDrZrrr)rDrrZrg)rZrgr)raxisc)rDrZrrgrrn)rrrr)rr)r%rgr rr8r rrF)r)rrars r.test_broadcasting_shapesz"TestCross.test_broadcasting_shapes s GI   GFOORXa^^)9555 GJ   GFOORXa!1555;ZHHHblBHa!1EEEEblBHa!1EEEE GM " " GI  RXa!1555;]KKKblBHa"AFFFFblBHa!2FFFF GI  2q\\ D DE !Qe444:F C C C C D Dr0c`tjgdgtj}tjgdtj}tjgdgtj}t tj|||t tj||| dS)N)rvrw)D)ii+i^r>)r%r&rrr rrs r.test_uint8_int32_mixed_dtypesz'TestCross.test_uint8_int32_mixed_dtypes# s Hkkk]BH - - H^^^RX . . H***+28 < < <RXa^^Q'''RXa^^aR(((((r0N) rTrUrVrrrrrrrXr0r.rr sq(((<DDD&)))))r0rcjtjd}tjd}tjddd}tjd}tjd}tj|||}t ||t tj||||dS) Nrr[rrrZ)rZrZ)r8r)r%rglinspacer[outerr )arr1arr2arr3out1out2res1s r.test_outer_out_paramr, s 74==D 74==D ;r1a D :E " " "D :F # # #D 8D$ % %Dt$d++T22222r0ceZdZdZdZdZdZej de j e j e j e jgej dgddZd S) TestIndicesc tjd\}}t|tjgdgdgdgdgt|tjgdgdgdgdgdS)Nr#r rrrrcr%rr r&rs r. test_simplezTestIndices.test_simple9 sF##A1bh (1 (1 (1 (344 5 5 5 1bh (1 (1 (1 (344 5 5 5 5 5r0ctjd\}t|tjgdtjdd\}t|tjgddS)N)rrTsparserrs r.test_single_inputzTestIndices.test_single_inputD skj1bh|||44555jd+++1bh|||4455555r0c"tgtjdtgtjddtggtjdtggtjdddS)NrXTrr4)r r%rr>s r.test_scalar_inputzTestIndices.test_scalar_inputK s|2rz"~~...2rz"T:::;;;B4D!1!1222B4D!>!>!>?????r0c tjdd\}}t|tjdgdgdgdggt|tjgdgdS) Nr#Trrrrrrcrrs r.rzTestIndices.test_sparseQ skE$///A1bhaS1#s';<<===1bh {3344444r0r7dims)rXr4r#ctj||}t|j|ktj||dD]}t|j|kdS)Nr>T)r7r)r%rrr7)r)r7rindsrqs r.rzTestIndices.test_return_typeV soz$e,,, e#$$$:d%=== ( (C CI& ' ' ' ' ( (r0N)rTrUrVrrrrrLr r r%rrrArrrXr0r.rr7 s 5 5 5666@@@ 555  [Wrx2:rz&RSS [V%7%7%788((98TS(((r0rcFeZdZgdZdZdZdZdZdZdZ dZ d Z d S) TestRequire) rr CONTIGUOUSrrFORTRANr*ALIGNEDW WRITEABLErBrctjddd|fg}|d|d}t|jd t|jd t|jd t|jd  t|jd  |S) Nr)junkr:r=F)writerrrBrr*)r%r@setflagsrr)r)r7rqr=s r.generate_all_falsezTestRequire.generate_all_falseg shve =>> 5 !!! HAGCL !!!AGCL !!!AGCL !!!AGCL !!!AGCL !!!r0cJ||j}tj|||g}t|j|t|j|ktj|d|g}|ddkrt||udSt|j|dS)NrrB)r7r%requirerr)r)flagr7rqrrs r.set_and_check_flagzTestRequire.set_and_check_flagr s =IE JsED6 * * 5 !!! Jq$ ' ' 7c>> AFOOOOO AGDM " " " " "r0cddg}gd}tj|||jD]2\}}}||}||||3dS)Nrr=)Nrr)rr flag_namesrr)r)idfdidtypefdtyperr=s r.test_require_eachzTestRequire.test_require_each suD\ $-$5b"do$N$N 6 6 FFD''//A  # #D&1 5 5 5 5 6 6r0ct|d}tttj|dddS)NrQ)rr KeyErrorr%rrs r.test_unknown_requirementz$TestRequire.test_unknown_requirement s3  # #D ) )h AtS99999r0c*tjgddgd}t|jdt|jdt|jdt|jdkt |gddS)Nrr=)rr*rBrBrr*)r%rrrr7r rs r.test_non_array_inputz TestRequire.test_non_array_input s J|||T??? ; ;   4   Q %%%%%r0cx|d}tttj|dddgdS)Nrrr)rr rNr%rrs r.test_C_and_F_simulzTestRequire.test_C_and_F_simul s7  # #D ) )j"*aSzBBBBBr0cGddtj}|d}tj|ddg}tt |tjudS)NceZdZdS)4TestRequire.test_ensure_array..ArraySubclassNrrXr0r. ArraySubclassr rr0rrE)r%r[rrr])r)rr=rs r.test_ensure_arrayzTestRequire.test_ensure_array su     BJ    M& ! ! Jq$ & &Q2:%&&&&&r0cGddtj}|jD]$}|d}||d|%dS)NceZdZdS)8TestRequire.test_preserve_subtype..ArraySubclassNrrXr0r.rr rr0rr)r%r[rr)r)rrr=s r.test_preserve_subtypez!TestRequire.test_preserve_subtype su     BJ   O 3 3D f%%A  # #D$ 2 2 2 2 3 3r0N) rTrUrVrrrr r rrrrrXr0r.rr` s"""J    # # #666:::&&&CCC'''33333r0rc,eZdZdZdZdZdZdZdS) TestBroadcastc tjdtjdtjdtjdg}tj|tjtj|ddtj|ddtjtj|ddtj|ddtjtj|ddtj|ddtj|dtj|dd|dg}|D]}t|jd t|jd t|jd t|jd t||j D]\}}t||j udS) Nr)rZrfr)rg)rZrrgrrrrFrerr) r%r broadcastr r8r$rknumiterrr@rbase)r)arrsmitsmitr=ias r.test_broadcast_in_argsz$TestBroadcast.test_broadcast_in_args s  "(9"5"5rx~~##% d# R\484blDH6MNN R\484blDH6MNN R\484blDH6MNN T!WblD2J&?bJJ L  & &C I . . . 1 % % %  # # # a ( ( (T39-- & &2RW %%%% &  & &r0cBtjdg}tj|}t|jdt|jdt|jdt|jdt|d|j dj udS)Nrerrr) r%rrr r8r$rkr rr@r!)r)r"r$s r.test_broadcast_single_argz'TestBroadcast.test_broadcast_single_arg s##$lD!SY ***SXq!!!SVQS[!$$$Q39Q<,,-----r0ctjd}tdD]O}|g|z}|dkrtttjg|R,tj|}t |j|PdS)Nr#rY)r%rrFr rNrr r )r)rqrr"r$s r.test_number_of_argumentsz&TestBroadcast.test_number_of_arguments shtnnr - -A519D2vvj",>>>>>>lD)S[!,,,,  - -r0ctjdg}tj|}tj|ii}t|j|jt|j|jt|j|jt|j|jt|j dj |j dj utttjdfiddidS)Nrerrr^) r%rrr r8r$rkr rr@r!r rN)r)r"r$mit2s r.test_broadcast_error_kwargsz)TestBroadcast.test_broadcast_error_kwargs s##$|T"|T(R((SY +++SXty)))SVTW%%%S[$,/// ! !TZ]%77888j",>>c1X>>>>>r0ctjtd5tjgdgdgdggddgddddS#1swxYwYdS)Nz5arg 0 with shape \(1, 3\) and arg 2 with shape \(2,\)rHr!rrZrfrg)rLrMrNr%rr>s r.!test_shape_mismatch_error_messagez/TestBroadcast.test_shape_mismatch_error_message s ]:.HIII : : L)))sQCj1a& 9 9 9 : : : : : : : : : : : : : : : : : :s A  A A N)rTrUrVr&r(r+r.r0rXr0r.rr s_&&&"...--- ? ? ?:::::r0rc:eZdZGddejZdZdS) TestKeepdimsceZdZddZdS)TestKeepdims.sub_arrayNcJtj||||dS)NTr)r%r[r)r)ryr7rks r.rzTestKeepdims.sub_array.sum s :>>$eS4>HH Hr0)NNN)rTrUrVrrXr0r. sub_arrayr4 s. I I I I I Ir0r6c|j}tjd|}t t tj|ddS)NTr)r6r%rKr\r r$r)r) sub_classr^s r. test_raisezTestKeepdims.test_raise sCN IbMM  y ) )iT::::::r0N)rTrUrVr%r[r6r:rXr0r.r2r2 sWIIIIIBJIII;;;;;r0r2ceZdZdZdZdS) TestTensordotctjd}tjd}tj||d}t|tj||t|tjd||dS)Nrrrzij,jk)r%r[ tensordotr doteinsum)r)r=rtds r.test_zero_dimensionz!TestTensordot.test_zero_dimension sq Ju   Ju   \!Q ' '2rva||,,,2ry!Q7788888r0c~tjd}tj||ggf}t||dSr)r%r&r>r )r)arr_0drets r.test_zero_dimensionalz#TestTensordot.test_zero_dimensional s<!l66B8443'''''r0N)rTrUrVrBrFrXr0r.r<r< s2999(((((r0r<)KrrrrrLrdecimalrrr% numpy.corer numpy.randomrrr numpy.testingrr r r r r rrrrrnumpy.core._rational_testsr hypothesisrrrqhypothesis.extrararrarr$r5rVrrr ExceptionrrrrTr\rzrrrrtrrrrrr9rgroryrrrrrrrrr2r<rXr0r.rOs  ---------- 0/////........******9595959595959595xX-X-X-X-X-X-X-X-v ' ' ' ' ' ' ' ' BT5T5T5T5T5T5T5T5naHaHaHaHaHaHaHaHHP$P$P$P$P$P$P$P$fe;e;e;e;e;e;e;e;Px-x-x-x-x-x-x-x-x         i<i<i<i<i<i<i<i