. !O ddlZddlZddlZddlZddlZddlZddlmZddlZddl m Z m Z ddl m Z ddlmZddlZddlmZmZmZmZmZmZmZmZmZmZejejejej ej!ej"ej#ej$ej%ej&ej'ej(ej)ej*ej+ej,ej-gZ.ej/0Z1ej20Z3e4dgZ5ej6ej7ej8ej9ej:ej;ej<ej=ej>ej?ej@ejAejBg ZCGddZDd ZEejFjGe d d e e eCejHejId ejHejId dZJejFjGe e eCejIejIdZKejFLdejMejNgdZOGddZPGddZQdZRdZSGddZTGddZUGddZVGdd ZWes Gd!d"ZXGd#d$ZYGd%d&ZZGd'd(Z[Gd)d*Z\Gd+d,Z]Gd-d.Z^ej_d/Z`e e e5e eCe e.d0Zae e e5e eCe e.d1Zbe e eCe e.e e.d2ZcejFLd3eCejFLd4dd5gd6ZdejFLd3eCejFLd4dd5gd7ZeejFLd8ejfd9ejFLd:d;d<d=ggd>?d@ZgejFLd8ejfdAejFLd:dBdCdDejhdEejFidFGHggdI?dJZjejFLd8ejfdKdLZkejFLd8ejfd9ejFLd:dMdNgdOdPg?dQZldRdSej6dTfdUdVej7dTfdWdWej8dTfdXdXej9dTfdSdRej;dTfdVdUej:dTfdYdZej=d[fd\d]ejBd[fd^d_ej<d[fd`daej>d[fdbdcej?d[fdddeej@d[fdfdgejAd[fg ZmejFLgdhemejFLdiejNejnej*gdjZodkZpejFLgdhemejFLdleqeresejMgejtdmZudS)nN)_pep440)givensettings) sampled_from)numpy) assert_ assert_equal assert_raisesassert_almost_equalassert_array_equalIS_PYPYsuppress_warnings_gen_alignment_data assert_warns _SUPPORTS_SVEc&eZdZdZdZdZdZdS) TestTypescdtD]'}|d}t|dkd|d|(dS)N error with : got )typesr)selfatypeas t/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib64/python3.11/site-packages/numpy/core/tests/test_scalarmath.py test_typeszTestTypes.test_types(sP B BEaA AFFuuuaa@ A A A A B Bc ttD]\}}|d}tjdg|}ttD]\}}|d}tjdg|}||z} ||z} t | j| jd|tj|j|tj|jfzdS)Ndtyperz$error with types (%d/'%c' + %d/'%c')) enumeraternparrayr r"char) rkra_scalara_arraylbtypeb_scalarb_arrayc_scalarc_arrays r test_type_addzTestTypes.test_type_add-s!%(( P PHAuuQxxHhs%000G%e,, P P5 588(A3e444#h.!G+X^W]A 4a%9MNOPPPP P P PrcttD]9\}}tjgd|}|gd}t ||:dS)Nrr )r#rr$r%r )rr'rrbs rtest_type_createzTestTypes.test_type_createAsb!%((  HAuE**Aiii  A A      rcTtdD]}tjdddS)Ni@ r)ranger$add)ris r test_leakzTestTypes.test_leakGs4v  A F1aLLLL  rN)__name__ __module__ __qualname__rr0r5r:rrrr'sVBBB PPP( rrc |d}|d}t|tjsJt|tjsJ|jjdks|jjdkrnt jt jt jt j h}||vrcz3complex comp ufuncs use sort-order, scalars do not.)r?rr3z.array**2 can have incorrect/weird result dtypeignoreallerrorT)strict) isinstancer$genericr"kindoperatorgegtleltisnanpytestxfailpowitemskipwarningscatch_warningserrstate simplefilterDeprecationWarningr Exceptionraisestype) oparr1arr2scalar1scalar2comp_opsres scalar_reses rcheck_ufunc_scalar_equivalencergNs2hG2hG grz * *** * grz * *** * z#C!7!7Khk8;G >>rx00>BHW4E4E> LN O O O X\diikk-???  DEEE  " " = =BKH$=$=$= = =g'9::: ="T4..C GW--J z3t < < < < <  % % %tAww'' % %7G$$$ % % % % % % % % % % % % % % % % = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =s$H:G) F"G) G !G, G 9 GG G G GG)GG) H)G- -H0G- 1HHHi'i) max_examplesdeadliner>)r"shapec(t|||dS)z This is a thorough test attempting to cover important promotion paths and ensuring that arrays and scalars stay as aligned as possible. However, if it creates troubles, it should maybe just be removed. N)rg)r^r_r`s r#test_array_scalar_ufunc_equivalencerlls#2tT22222rctjd|}tjd|}t|||dS)Nr3r!r )r$r%rg)r^dt1dt2r_r`s rtest_array_scalar_ufunc_dtypesrpzsD 8AS ! ! !D 8AS ! ! !D"2tT22222rfscalarcZtjd}|d}tj||}||z j|ksJ||z j|ksJ||z jtjdksJtjd|z jtjdksJdS)Nrfloat64float32)r$int8 result_typer"int16)rqr9fexpecteds r test_int_float_promotion_truedivrzs  A A~a##H E=H $ $ $ $ E=H $ $ $ $ E=BHY// / / / / HQKK!O "bhy&9&9 9 9 9 9 9 9rc^eZdZejeddZdZdS) TestBaseMathzgh-22982reasonc tjdftjdftjdffD]/\}}t |d|D]\}}}}tj|}tj||d<tj||d<ttj||||ttj|d|dz|ttjd|||tj||| t||||dxxtj |j | dzz cc<ttj |tj ||||tjkr7ttj |tjd||tj||d<tj|d| t||dz|tj||d<tjd|| t||dz|1dS) N binary)r"r]max_size.err_msgr3routr!)r$rtrsint32r ones_like zeros_liker r8arangesizesquaremultiply reciprocaldivide)rdtszrinp1inp2msgexp1s r test_blockedzTestBaseMath.test_blockedsq B'"*a28R.I @ @FB(;"AIEG)I)I)I @ @$T4|D))L..S M$//S #BF4$6$6cJJJJ#BF4OOTAXsKKKK#BF1dOOT3GGGGtTs++++#Cs;;;;S RYty;;;a?? #BIdOO$&Kd$;$;cKKKK>>' d(;(;(* !T(:(:SJJJJL..S tQC((((#C3????L..S q$C((((#C3?????5 @ @ @rctjdtjddtj}tjdtjddtj}t ||z|dztj|||tjtj|||tj|tj||tjtj||tj|tj|dS)Nr!r3r)r$zerosruviewrsr r8r)rdos rtest_lower_alignzTestBaseMath.test_lower_aligns  HV27 + + +AbD 1 6 6rz B B HV27 + + +AbD 1 6 6rz B BAE1q5))) q! r|Aq)))) q",q//q)))) r|A""" q",q//"""""rN) r;r<r=rQmarkrRrrrr>rrr|r|sV [}Z88@@98@@ # # # # #rr|c,eZdZdZdZdZdZdZdS) TestPowerctjtjtjfD],}|d}|dz}t |dkd|d|-dS)Nr rQrr)r$rurwfloat16rrtrr4s rtest_small_typeszTestPower.test_small_typessb'28RZ0 ? ?A!AQA AGG11= > > > > ? ?rc:tjtjtjtjtjfD]`}|d}|dz}d|d|}tj|tjrt|dk|Nt|d|adS)N3rrri:gr) r$rint64rtrs longdouble issubdtypeintegerrr )rrrr4rs rtest_large_typeszTestPower.test_large_typess(BHbj"*bmL = =A"AQAA-.QQ2C}Q ++ =W c****#Aw<<<<< = =rcddD}ddD}tj||D]\}}|jtjkr"t t tj||r$r%.0rs r zETestPower.test_integers_to_negative_integer_power..s)666rxB#666rbhilqcDg|]}tjd|dS)rr>rrs rrzETestPower.test_integers_to_negative_integer_power..';;;B#;;;r bhilqBHILQ?cDg|]}tjd|dSrrrs rrzETestPower.test_integers_to_negative_integer_power..s)777R  $777rcDg|]}tjd|dS)r3r>rrs rrzETestPower.test_integers_to_negative_integer_power..rrrB) itertoolsproductr"r$uint64r ValueErrorrKrSrr]rsr )rexpbasei1i2rds r'test_integers_to_negative_integer_powerz1TestPower.test_integers_to_negative_integer_powers76g666<;l;;;'c22 - -FBx29$$j(,B????l2r** "*4555#C,,,,87w777'c22 . .FBx29$$j(,B????l2r** "*4555#C----<;l;;;'c22 - -FBx29$$j(,B????l2r** "*4555#C,,,,  - -rc tjtjtjtjtjtjtjtjtjg }|D]}|D]}|d}|d}||z}d|d|d|dd}tjtj |tj rt|dk|qt|d|dS) Nr r3r and z:got z , expected r) r$rurwrrtrsrrrr"rrr )rtypelistt1t2rr4resultrs rtest_mixed_typeszTestPower.test_mixed_typessGRXrzJ BGHbh2 @ @B @ @BqEEBqEEA13RRRD=&!1!12:>>@FaK----'3????? @ @ @rc Pd}d}d}t|||}tjtjtjfD]j}t t tj||||t t tjtj||||kdS)Nr ) rSr$rrt complex64r TypeErrorrKr%)rrr4r@ryrs rtest_modular_powerzTestPower.test_modular_powers   q!Q<<(BJ 5 I IA )X\11Q44A > > > )X\28AAaDD>>1a H H H H I IrN)r;r<r=rrrrrr>rrrrsh??? ==="-"-"-H@@@ I I I I Irrc||z||zfSNr>)xys rfloordiv_and_modrs FAE?rc2|tjdvrdSdS)NUnsignedInteger)rrrA)r$ typecodes)rs r_signsrs R\+ ,,,uxrc,eZdZdZdZdZdZdZdS) TestModulusc tjdtjdz}ttfD] }t j||D]\}}t jt |t |D]\}}d}||j||||fz}tj|dz|d} tj|dz|d} || | \} } t| | z| z| ||d krt| | cxkod knc|t| | cxkod knc|dS) N AllIntegerFloat*op: %s, dt1: %s, dt2: %s, sg1: %s, sg2: %sGr!r>rrAr) r$rrdivmodrrrr;r%r r rrr^rnrosg1sg2fmtrrr4divrems rtest_modulus_basiczTestModulus.test_modulus_basic!sk \, '",w*? ?#V, 3 3B%-b"55 3 3S ) 1&++vc{{ K K 3 3HCFCc3S AACRs333B7ARs333B7A!r!QxxHC Qa====byyC 1 c2222C 1 c2222 3 3 3 3rc zttdd}ttdd}|dgz|z}||z}ttj||}td|D}t j|t j\}}t j|tj\} } t j | dk|dk|dkz zd| } t j | dk|dkzd| } ttfD]tj d D]} d j d | } || } || }tfd t| |D\}}t!|| | t!|| | dS)Nirrc3(K|] }t|VdSr)r)rrs r z7TestModulus.test_float_modulus_exact..9s&++!61:++++++rr!rzop: z , dtype: c.g|]\}}||Sr>r>)ra_b_r^s rrz8TestModulus.test_float_modulus_exact..Hs' G G GRB G G Grr)listr7rrr$r%intTfloatwhererrrr;astypezipr )rnlstplstdividenddivisorargtgtrr4tgtdivtgtremrrfafbrrr^s @rtest_float_modulus_exactz$TestModulus.test_float_modulus_exact1sE$NN##E!SMM""1#:$+9$Xw7788++s+++++x3''')1#U33356S=a!eA->?vNN6S=QU3T6BB#V, 7 7Bl7+ 7 7-/[[[""=XXb\\XXb\\ G G G G3r2;; G G GHSS&#6666S&#66666 7 7 7rc 0tjd}ttfD]}t j||D]\}}t jddD]\}}d}||j||||fz}tj|dzdz|d} tj|dz|d} || | \} } t| | z| z| ||d krt| | cxkod knc|t| | cxkod knc|Œ݌dS) NrrrNg+i)+p>r!r>rrAr) r$rrrrrr;r%r rrs rtest_float_modulus_roundoffz'TestModulus.test_float_modulus_roundoffLsW \' "#V, 3 3B%-b"55 3 3S ) 1(H E E 3 3HCFCc3S AACRC888rrrrsc333 7776333$!F!F!FFrrc eZdZdZdZdZdS)TestComplexDivisionctjd5tjtjfD]}|d}|d}t tj||z |t tjtj}t tj||z |t tjtj}t tj||z |t tjtj}t tj||z |t tjtj}t tj ||z |d}t tj ||z  ddddS#1swxYwYdS)NrCrDrr) r$rXr complex128rrcomplexrrrPrs rtest_zero_divisionz&TestComplexDivision.test_zero_divisions [X & & & ' 'lBM2 ' 'AcFFAcFF1 &&&Agbfbf--..1 &&&Agbfbf--..1 &&&Agbfbf--..1 &&&Agbfbf--..1 &&&AbEE1 &&&& ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 'sG G//G36G3c tjd5tjtjfD]}d}|D]}|d}|d}|d}|t |d|d|t |d|dz }t |j|dt |j|d ddddS#1swxYwYdS)NrCrD))rrrrrrr(r(rr)r(rrrr)r(rrrr)r)r(r0r+)r-r(r,)r/r(r*rrr3)r$rXrr$r%r realimagrrdatacasesnrexrs rtest_signed_zerosz%TestComplexDivision.test_signed_zerossA [X & & & 5 5lBM2 5 5 "55EaAaAqBQwqtQqT2233aa!ad8K8K6L6LLF!be444 be44445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5sBr>rrr"r"sA'''"555255555rr"ceZdZdZdZdZdZej e ddZ ej e j e je j e jkdej ejd d d Zd Zd ZdZdS)TestConversioncBgd}gd}dtjtjfD]2}tj||}t d|D|3tj|ddtj}t d|D|dddS)N)g.AgmBgNgmCg.gmgNgm)i@BlJ)lNZoilJ)lNZor!c,g|]}t|Sr>rr_ms rrz5TestConversion.test_int_from_long..s...b#b''...rr c,g|]}t|Sr>rCrDs rrz5TestConversion.test_int_from_long..s***"c"gg***r)r$rsrr%r r)rr*lirrs rtest_int_from_longz!TestConversion.test_int_from_longs 1 1 1 > > > BH- 4 4A!$$$A ..A... 3 3 3 3 HQrrU") , , ,*****BrrF33333rcdD]}tjt5tjtj|jdz|}dddn #1swxYwYtj|j}t||ktj dD][}tjtj|j|}tj|j}t||k\tj dD]l}tj | tj|j}tj|j}t||kmdS)NbBhHrr!r) rQwarnsrZr$r%iinfomaxminrrr"r])rcoderdrs rtest_iinfo_long_valuesz%TestConversion.test_iinfo_long_valuess  D011 C Chrx~~1A5TBBB C C C C C C C C C C C C C C C(4..$C C3J    L.  D(28D>>-T:::C(4..$C C3J    L.  D(4..%%bhtnn&899C(4..$C C3J      s1AA "A cd}tjtjtjtjfD]}t t ||dS)NcP|tj|jdzdSNr)r$rLrMr!s roverflow_error_funczDTestConversion.test_int_raise_behaviour..overflow_error_funcs( E"(5//%) * * * * *r)r$int_uintlonglong ulonglongr OverflowError)rrTrOs rtest_int_raise_behaviourz'TestConversion.test_int_raise_behavioursW + + +Wbgr{BLA D DD -)ztype z failedrBHILQPrAbhilqpbhlqpr)r$rrr%)rrnros r&test_numpy_scalar_relational_operatorsz5TestConversion.test_numpy_scalar_relational_operatorss< - > >C A#...r2224M N N N BHQc22226666CCC8Q R R R|L1 > >#...r2RXas5K5K5KB5OOO3633<>>>BHQc22226!39O9O9OPR9SSSS3633<>>>> > > >C B!3///3335N O O O RXas333B7777SSS9R S S S B"(1C000444###6O P P P  > >#...r2RXb5L5L5LR5PPP3633<>>>BHQc22226"C9P9P9PQS9TTTT3633<>>>#...r2bhr6M6M6Mb6QQQ3633<>>>>  >R\'22 > >C A3///3335N O O O BHRs333B7777SSS9R S S S B"(2S111"5553337P Q Q Qg!66 > >#...r2RXb5L5L5LR5PPP3633<>>>BHQc22226"C9P9P9PQS9TTTT3633<>>>3///3rx#7N7N7Nr7RRR3633<>>>>  > > >rctjd5}tjddtt t jddk t t jddk t t jddk t t jddkt t jddkt t jddkdddn #1swxYwYt t|dkt t j t jdddS) NT)r\alwaysrtestNaTr) rVrWfilterwarnings FutureWarningrr$rtstr_ datetime64r_equal)rws rtest_scalar_comparison_to_nonez-TestConversion.test_scalar_comparison_to_noneGst $D 1 1 1 2Q  #Hb- @ @ @  1 -- . . . 4// 0 0 0  e,,44 5 5 5 BJqMMT) * * * BGFOOt+ , , , BM%((D0 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 A!  u--t4455555sC=DD#&D#N)r;r<r=rHrPrZrbrQrskipifr rer$rhrirplatformmachine startswithrmrprurr>rrr@r@sX444   "DDD*** [G ,IJJ**KJ* [++xrx /F/FF>@@ [((**55e<<244++44@@+""" '>'>'>R66666rr@ceZdZdZdZdS)TestReprc.tj|}|j|jz}|j}tj|jdz}dD]}tjdg|ztj}|dkr|dz}d|dzz } d| z||<n+|dkr|dz}d|dzz } d| z||<ntd | |d} t| } |t| } | dkr| d kst| | dS) N) small denorm small normrr!rrrrhmmg0.++) r$rhnexpnmantr"itemsizer%uint8rrreprevalr ) rrrhlast_fraction_bit_idxlast_exponent_bit_idx storage_byteswhichconstrbytebytebitvalval_reprval2s r_test_type_reprzTestRepr._test_type_reprgs=  % U[ 8 %  ,Q. 3 ( (EXtf]2"(CCCF&&,12Q67 G|t ,&&,12Q67 G|t  '''++a..#CCyyH1T(^^$$DAII#,,S$'''# ( (rcftjtjfD]}||dSr)r$rtrsr)rrs rtest_float_reprzTestRepr.test_float_reprs=*bj) $ $A   # # # # $ $rN)r;r<r=rrr>rrrrfs2(((2$$$$$rrceZdZdZdZdS) TestSizeOfctD]7}|d}ttj||jk8dS)Nr)rrsys getsizeofnbytes)rr]rs rtest_equal_nbyteszTestSizeOf.test_equal_nbytessJ 5 5DGG a((1834444 5 5rcbtj}tt|jddS)Nr)r$rtr r __sizeof__)rrs r test_errorzTestSizeOf.test_errors' A )Q\3 7 7 7 7 7rN)r;r<r=rrr>rrrrs2 5 5 5  8 8 8 8 8rrceZdZdZdZdS) TestMultiplyc ttjd}dh}ttjd|z |z }|dhz}ttfD]}|gd}|D]o}tj|d}t||z|t|zt||zt||zp|D]}tj|}ttttj |||t|zttttj ||t||z|D]j}tj|}tttj ||tttj ||kdS)Nr?AllVr2r3)setr$rrtupler"r]r rrrZrKmulr r)raccepted_typesdeprecated_typesforbidden_typesseq_typeseq numpy_typer9s rtest_seq_repeatzTestMultiply.test_seq_repeats R\,7885  U# $ $~ 58H H C5 u  ? ?H(999%%C, 4 4 HZ((--a00S1WcCFFl333QWc!ffsl3333. " " HZ((--// !3X\3JJ#a&&L""" !3X\1cJJFFSL"""". ? ? HZ((--//isA>>>iq#>>>> ?! ? ?rcbGdd}|tjdttjdfD]}t|tjdztjddttjd|ztjddt|tjdztjddttjd|ztjdddS)NceZdZdZdZdS)CTestMultiply.test_no_seq_repeat_basic_array_like..ArrayLikec||_dSrarr)rrs r__init__zLTestMultiply.test_no_seq_repeat_basic_array_like..ArrayLike.__init__s rc|jSrr)rs r __array__zMTestMultiply.test_no_seq_repeat_basic_array_like..ArrayLike.__array__s xrN)r;r<r=rrr>rr ArrayLikers2        rrr g@)r$ones memoryviewr rtfullrU)rrarr_likes r#test_no_seq_repeat_basic_array_likez0TestMultiply.test_no_seq_repeat_basic_array_likes        #271::.. 271::0F0FG E EH x"*R..8"'!R.. I I I rz"~~8"'!R.. I I I x"'!**4bgamm D D D rwqzzH4bgamm D D D D  E ErN)r;r<r=rrr>rrrrs8???@EEEEErrceZdZdZdZdS) TestNegativectjdtjd}ttt j|dSNr>r!)r$rbool_r rrKnegrrs rtest_exceptionszTestNegative.test_exceptionss7 GBbh ' ' ' +iq11111rcDtjdtjdz}t5}|t|D]}tjd|d}|tjdvr^tj|j}|tj|j }ttj ||ttj ||zd ddddS#1swxYwYdS)NrAllFloatr>r!rr) r$rrrrrr"r]rLrMr rKr)rrrrrstrMs r test_resultzTestNegative.test_results> \*R\*-EE  9C JJ~ & & & 9 9GBb)))"-&7888"*B"RXb\\-..C a#6666 a1!4a8888 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9sCDDDNr;r<r=rrr>rrrrs2222 9 9 9 9 9rrceZdZdZdZdS) TestSubtractctjdtjd}ttt j||dSr)r$rrr rrKsubrs rrzTestSubtract.test_exceptionss9 GBbh ' ' ' +iq!44444rc\tjdtjdz}t5}|t|D]A}tjd|d}t tj||dB ddddS#1swxYwYdS)Nrrr>r!r) r$rrrrrr rKr)rrrrrs rrzTestSubtract.test_results \*R\*-EE   4C JJ~ & & & 4 4GBb)))"-X\!Q//3333 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4sAB!!B%(B%Nrr>rrrrs255544444rrceZdZdZejdeezdZ ejdeezdZ dS)TestAbsc|d}t||d|d}||}t|d|d}||}t|d|tj|j}t|||jt 5}|t|tj|j}t|||jdddn #1swxYwY|tj|j }t|||j dS)Ngrorr) r r$rhrMr1rr UserWarningtinyrN)rabsfunc test_dtyperrdrs r_test_abs_funczTestAbs._test_abs_funcs Jt  WWQZZ%%% JsOOgajjS# Jt  gajjS# Jrx ++/ 0 0WWQZZ(((   -C JJ{ # # # 28J//455A QV , , , - - - - - - - - - - - - - - - Jrx ++/ 0 0WWQZZ!&)))))s?AD&&D*-D*r"cNtjdkry|tjkrit jtjddt jdkrtj d| t|dSNcygwin-rz3.3.0z4absl is computed in double precision on cygwin < 3.3r} rrr$r^rparsereleasesplitVersionrQrRrabsrr"s rtest_builtin_abszTestAbs.test_builtin_abss ((Ubn-D-DM("2"4"4":":3"?"?"BCCog..// LM     C'''''rcXtjdkry|tjkrit jtjddt jdkrtj d| tj |dSrrrs rtest_numpy_abszTestAbs.test_numpy_abs s ((Ubn-D-DM("2"4"4":":3"?"?"BCCog..// LM     BFE*****rN) r;r<r=rrQr parametrizefloating_typescomplex_floating_typesrrr>rrrrs***, [Wn7M&MNN ( (ON ( [Wn7M&MNN + +ON + + +rrceZdZejdejdejdej ej gddgdZ dS) TestBitShifts type_coderr^z>>z<<idsctj|}|jdz}dD]}||dzfD]}tj||d}||}|||} |dkr|t jurt| dnt| dtj|gdz|} tj|gdz|} || | } t| | ֌d S) zA Shifts where the shift amount is the width of the type or wider r)rrr>rrA r!N) r$r"rr%rr]rKrshiftr ) rrr^rnbitsrshiftval_scl shift_sclres_sclval_arr shift_arrres_arrs rtest_shift_all_bitsz!TestBitShifts.test_shift_all_bitss& Xi  a / /C+ / /(3--..r2226GGENN "Wi00Q;;2#8#8 "---- !,,,(G9Rrrrrs [[",|*DEE [T (/*t >>//>>FE///rrc(eZdZejdejddZejdejddZ ejdejddZ dS) TestHashrrctj|j}tdD]-}t |t ||ksJ.dS)Nr)r$r"r]r7hash)rrscalarr9s rtest_integer_hasheszTestHash.test_integer_hashes8s[)$$)s . .A77d66!99oo----- . .rrcjtj|j}tjtjddfD]f}||}|jjdkrt |}nt|}||ksJt|t|ksJgtttj tttj krHt|tj t|tj ksJdSdS)Nr g@r@) r$r"r]pirrJr%rr rrrr r numpy_vals rtest_float_and_complex_hashesz&TestHash.test_float_and_complex_hashes>s)$$)E261b) 0 0Cs I#s**i((I&&)####99Y///// bf  $uRV}}"5"5 5 5rv''4rv+?+????? 6 5??rComplexctj|j}tjdztjdz ddfD]<}||}t t |t |ksJ=dS)N?y@y@?)r$r"r]rrr r%rs rtest_complex_hasheszTestHash.test_complex_hashesOs{)$$)E"HbfRiU3 ? ?Cs I **++tI>>>>> ? ?rN) r;r<r=rQrrr$rr rrr>rrrr7s [[",|*DEE..FE.  [[",z*BCC@@DC@  [[",y*ABB??CB???rrc#Ktj} tj|dVtj|dS#tj|wxYwr)rgetrecursionlimitsetrecursionlimit)r6rs rrecursionlimitrXsa A! a     a     a    s AAc td5|||dddddS#1swxYwYdS#t$rYdSwxYwNrrrrr^type_s rtest_operator_object_leftr bs C    Bq%%((OOO                        ,A4 A8A8A AAc td5||d|ddddS#1swxYwYdS#t$rYdSwxYwrrrs rtest_operator_object_rightr#ms C    BuuQxxOOO                        r!cf ||d|ddS#t$rYdSwxYwrS)r)r^type1type2s rtest_operator_scalarsr'xsQ  5588UU1XX      s " 00r^rlc |tjd|n#t$rYnwxYw ||tjddS#t$rYdSwxYwNr )r$rrr^rs rtest_longdouble_inf_loopr+s  2=  S!!!!        3 a  !!!!!      ! ..A A A c |tjd|n#t$rYnwxYw ||tjddS#t$rYdSwxYwr))r$r^rrr*s rtest_clongdouble_inf_loopr.s  2>!  c""""        3 a  !!!!!      r,r"r operationc ||zSrr>rNrMs rr2 src ||z Srr>r1s rr2r2r3rc ||zSrr>r1s rr2r2r3r)+r*rc@tj|j}|tj|j}|tj|j}t jtd5|||ddddS#1swxYwYdS)Noverflow encounteredr) r$r"r]rLrNrMrQrKr)r"r/rrNrMs r&test_scalar_integer_operation_overflowr:s % B "RXe__ ! !C "RXe__ ! !C n,B C C C #ss9 BBBIntegerc| Srr>rNneg_1s rr2r2sC4rc t|Sr)rr=s rr2r2s 3s88rc ||zSrr>r=s rr2r2s 3;rc ||zSrr>r=s rr2r2s u rzbroken on some platformsr})marks)rrr7//ctj|j}|tj|j}|d}t jtd5|||ddddS#1swxYwYdS)NrAr9r)r$r"r]rLrNrQrKr)r"r/rrNr>s r#test_scalar_signed_integer_overflowrEs % B "RXe__ ! !C BrFFE n,B C C C #us" A<<BBrctj|d}tjt d5| dddn #1swxYwYtj|d}| dS)Nrr9rrr$r"r]rQrKr)r"rzeros r%test_scalar_unsigned_integer_overflowrIs (5//  q ! !C n,B C C C                  8E??   " "D EEEEsAAAc ||zSrr>rrHs rr2r2s #+rc ||zSrr>rKs rr2r2s #*rrC%ctj|j}|d}|d}tjt d5|||ddddS#1swxYwYdS)Ndrzdivide by zerorrG)r"r/rrrHs r'test_scalar_integer_operation_divbyzerorPs % B "S''C 2a55D n,< = = = #ts A%%A),A)__lt____gt__T__le____ge____eq____ne__ __floordiv__ __rfloordiv__F __truediv__ __rtruediv____add____radd____mod____rmod____mul____rmul____pow____rpow____sub____rsub__)__op____rop__r^cmpsctypec"Gdd|}Gdd|}fd}fd}td|f||i} ||d|d } t| |kst| tjksJ||d|d |dd ksJ|| d|d ksJ||d| d |dd ksJd S) a This test covers scalar subclass deferral. Note that this is exceedingly complicated, especially since it tends to fall back to the array paths and these additionally add the "array priority" mechanism. The behaviour was modified subtly in 1.22 (to make it closer to how Python scalars work). Due to its complexity and the fact that subclassing NumPy scalars is probably a bad idea to begin with. There is probably room for adjustments here. ceZdZdS)+test_subclass_deferral..myf_simple1Nr;r<r=r>rr myf_simple1rk rrmceZdZdS)+test_subclass_deferral..myf_simple2Nrlr>rr myf_simple2rprnrrqcSrr>rotherres rop_funcz'test_subclass_deferral..op_func rcSrr>rrtrfs rrop_funcz(test_subclass_deferral..rop_funcrmyf_oprr3N)r]r$r) rhrerfr^rgrmrqruryr{rds `` rtest_subclass_deferralr|s     f        f   (VI('K L LF "[[^^[[^^ , ,C 99  $s))rx"7"7"7 7 2kk!nnkk!nn - -Aq 9 9 9 9 2ffQiiQ ( (F 2 2 2 2 2kk!nnffQii ( (BBq!HH 4 4 4 4 4 4rcZtjd}|dzdksJd|zdksJdS)Nrry??)r$r)rs rtest_longdouble_complexr~ s9 aA r6T>>>> 6T>>>>>>rsubtypec fd}fd}td|f||ddi}||dtjdksJ|tjd|dksJ|tjtjhvr |t krdSkrdStd|f|i}||dtjd}||dtjd} || ksJt|t| ksJ|tjd|d}|tjd|d} || ksJt|t| ksJ||dtj d}||dtj d} || ksJt|t| ksJ|tjd|d}|tj d|d} || ksJdS)NcSrr>rss rruz)test_pyscalar_subclasses..op_funcrvrcSrr>rxs rryz*test_pyscalar_subclasses..rop_funcrzrmyt__array_ufunc__rr3) r]r$rsrKrfloordivr%rrtr) rrerfr^rgruryrrdrys `` rtest_pyscalar_subclassesrs uwj(4EtL N NC 2cc!ffbjmm $ $ . . . . 2bjmmSSVV $ $ / / / / hlH- ...7g3E3E& uwj7H"5 6 6C "SSVVRZ]] # #Cr''!**bjmm,,H (???? 99X & & & & "RZ]]CCFF # #Cr"*Q--,,H (???? 99X & & & & "SSVVR]1%% & &Cr''!**bmA..//H (???? 99X & & & & "RZ]]CCFF # #Cr"-""GGAJJ//H (??????r)v contextlibrrVrrKr numpy._utilsrrQ hypothesisrrhypothesis.strategiesrhypothesis.extrarhynpr$ numpy.testingrr r r r r rrrrrrubyteshortushortintcuintcrUrVrWrXsinglerircsinglecdoubler^rfloating__subclasses__rcomplexfloatingrobjectobjecty_thingsrOrNeqnerLrMr8rrrrSrtruediv reasonable_operators_for_scalarsrrgrslowarrays scalar_dtypesrlrprrrtrzr|rrrrr"r@rrrrrrrrcontextmanagerrr r#r'r+r.rr:paramrUrErIrPops_with_namesrsr|r~rrr%_no_nep50_warningrr>rrrs   &&&&&&&&......****** 27BHbh 27BH "'2; BIr}bj R^ % ++--+::<<&((D! Khk8;  Kx0(, L(, h.>$ $$$$$$$$N===< ut,,,||455t{++--R888t{++--R888::33::-, 3||455t/T/113333333RZ$<== : :>= :,#,#,#,#,#,#,#,#^NINININININININIbjjjjjjjjZE5E5E5E5E5E5E5E5PF6F6F6F6F6F6F6F6d$$$$$$$$B 8 8 8 8 8 8 8 8 80E0E0E0E0E0E0E0Ef99999999$ 4 4 4 4 4 4 4 41+1+1+1+1+1+1+1+f////////8????????B !!!||N##|455|E   ||N##|455|E   ||455|E|E   ?@@u ..   /.A@  ?@@u ..   /.A@  ",|"<==""""""'$*9:: ::>= ",y"9::##&& 44+""*D"EE G G G 'H & % % '''';:",/@"ABB  CB ",|"<==%%$$'(.2C[::::>=xd+ xd+ xd+ xd+ xd+ xd+_h&7?NH$4e< HL%0 HL%0 HL%0 HL%0 HL%0$;;;^LLBJ BM#JKK!5!5LKML!5H;;;^LLUC"*$EFF))GFML)))r