1jKRdZddlmZmZddlZddlmZddlZddlm Z ddl m Z ddl m Z mZmZdZdd Zd ZGd d ZGddZGddZGddZGddZGddZGddZGddZdZdZdS)z Tests for array coercion, mainly through testing `np.array` results directly. Note that other such tests exist, e.g., in `test_api.py` and many corner-cases are tested (sometimes indirectly) elsewhere. ) permutationsproductN)param)rational)_discover_array_parameters)assert_array_equal assert_warnsIS_PYPYc#Kd}t|dVGddtjfd}|VGdd}Gd d |}t|d Vttd VGd d}t|dVGdd}t|dVdS)z Generator for functions converting an array into various array-likes. If full is True (default) it includes array-likes not capable of handling all dtypes. c|SNas x/builddir/build/BUILD/cloudlinux-venv-1.0.11/venv/lib64/python3.11/site-packages/numpy/core/tests/test_array_coercion.pyndarrayzarraylikes..ndarraysridceZdZdS)arraylikes..MyArrN__name__ __module__ __qualname__rrrMyArrr!s rrc.|Sr )view)rrs rsubclasszarraylikes..subclass$svve}}rceZdZdZdZdS)!arraylikes.._SequenceLikectr  TypeErrorselfs r__len__z)arraylikes.._SequenceLike.__len__-Orctr r#r%s r __getitem__z-arraylikes.._SequenceLike.__getitem__0r(rNrrrr'r*rrr _SequenceLiker!)s2        rr,ceZdZdZddZdS)arraylikes..ArrayDunderc||_dSr rr&rs r__init__z(arraylikes..ArrayDunder.__init__5s DFFFrNc|jSr r)r&dtypes r __array__z)arraylikes..ArrayDunder.__array__8s 6Mrr )rrrr1r4rrr ArrayDunderr.4s7         rr5r4 memoryviewceZdZdZdS)"arraylikes..ArrayInterfacec,||_|j|_dSr )r__array_interface__r0s rr1z+arraylikes..ArrayInterface.__init__BsDF'('.ArrayStructc,||_|j|_dSr )r__array_struct__r0s rr1z(arraylikes..ArrayStruct.__init__JsDF$%$6D ! ! !rNr;rrr ArrayStructr>Is# 7 7 7 7 7rrAr@N)rnprr6)rrr,r5r<rArs @r arraylikesrCs I & & &&&&          NNNm  , , ,,,,  | , , ,,,,======== #8 9 9 999977777777  2 3 3 333333rTc#KttjtjddVttjtjddVttjtjddV|r7ttjtjddVttjtjddVttjtjdd V|r7ttjtj dd Vttj d d Vttj d d Vttj d dVttj d dVttjd dVttjd dVttjd dVttjd dV|r!tt%dd dVtjdgdd}t)|tjsJ|jtjdksJt|dV|rttjd dVttjdddVttjdddVttjdd Vttjd!d"d#Vttjd$d%Vttjd&d'Vttjd(d)VdS)*Nfloat16rfloat32float64 longdoubley@@ complex64 complex128 clongdoubleint8int16int32int64uint8uint16uint32uint64r)rVzi,ir structuredtimedelta64[generic]stimedelta64[s]NaTtimedelta64[s](NaT)datetime64[generic](NaT)z2020-06-07 12:43mszdatetime64[ms]s1234bytes2345unicodes4321unstructured_void)rrBsqrtrFrGrHrIrJrK longcomplexrNrOrPrQrRrSrTrUrarray isinstancevoidr3 timedelta64 datetime64bytes_str_)timesextended_precision user_dtyperXs rscalar_instancesrqQs!  1 &&9 5 5 5555  1 &&9 5 5 5555  1 &&9 5 5 5555@BGBM!,,--,??????  T**++ < < <<<<  d++,, > > >>>>EBGBN40011mDDDDDD  v & & &&&&   ( ( ((((   ( ( ((((   ( ( ((((   ( ( ((((  !  * * ****  !  * * ****  !  * * ****3HQNNz2222226(E**1-J j"' * *** *  rx . . . .  | , , ,,,, RBN1%%*@AAAAAABN2s++0@AAAAAABN5#..3HIIIIIIBM%((-GHHHHHHBM"4d;;@PQQQQQQ  '""w / / //// I . . ....   %8 9 9 999999rc|jdkrdSt|jtjtjfr|jdrdSdS)zlReturns True if the dtype is a parametric legacy dtype (itemsize is 0, or a datetime without units) rT64F)itemsize issubclasstyperBrkrjnameendswithr3s ris_parametric_dtyperzsU ~t%*r}bn=>> :  t $ $ 4 5rcFeZdZejdedddzddggdd Zejdedddzddggdd Zejd e d Z dS) TestStringDiscoveryobj333333? +Nstring)objectz1.2z10**43Noner)idscztt|}tjd|}tj|dj|ksJtj|gdj|ksJtj|d}tj|dj|ksJtj|t |j|ksJ|dj|ksJ|t tjdj|ksJdS)NSryO)lenstrrBr3rgrvastyper&r}lengthexpectedarrs rtest_basic_stringlengthz+TestStringDiscovery.test_basic_stringlengths(SXX8LLL))x3'''-9999xS)))/8;;;;hs#&&&x3'''-9999x4>>2228HDDDDzz#$0000zz$rx}}--..4@@@@@@rctt|}tjd|}tj|d}tj||gdj|ksJdS)Nrrry)rrrBr3rgrs rtest_nested_arrays_stringlengthz3TestStringDiscovery.test_nested_arrays_stringlengthskSXX8LLL))hs#&&&xc #...4@@@@@@r arraylikecHtjdg}tjd|d<tt|d}tjd|}||}tj|gd}|jdksJ|j|ksJdS)Nr~rrryrVrV)rBrgrrr3shape)r&rr}rrrs rtest_unpack_first_levelz+TestStringDiscovery.test_unpack_first_levelshv#ASQ[[!!8LLL))innhuC(((yF""""yH$$$$$$r) rrrpytestmark parametrizerrrrCrrrrr|r|s [U VXXsBFD( 3===??AA??A" [U VXXsBFD( 3===??AA??A  [[**,,77 % %87 % % %rr|ceZdZdZdZdZdZej de dZ ej ddZ ej de d Zejed ej d ej d e dZej ddddddzgdZej dejddZej dejdej ddgejejefejdejdefgdZdS)TestScalarDiscoveryctjdd}|jdksJtjdgd}|jdksJdS)NrVrMrWzi,i,iryrrV)rBrgrr&rs rtest_void_special_casez*TestScalarDiscovery.test_void_special_casesThy000yBh {'222yD      rctjdd}|jdksJ|jjdksJtjdgd}|jdksJ|jjdksJdS)Nrcry)rVr)rBrgrr3charrs rtest_char_special_casez*TestScalarDiscovery.test_char_special_caseshxs+++yD    y~$$$$hz---yF""""y~$$$$$$rcNdg}ttjdz D]}|g}tj|d}|jdtjdz zdzksJt jt5tj|gdddddS#1swxYwYdS)NrrMrryrrVr)rangerBMAXDIMSrgrrraises ValueError)r&nestedirs rtest_char_special_case_deepz/TestScalarDiscovery.test_char_special_case_deepsrzA~&&  AXFFhvS)))yDBJN3d::::: ]: & & * * HfXS ) ) ) ) * * * * * * * * * * * * * * * * * *s5BB!Bctjt}|jdksJ|jtjdksJdS)Nrr)rBrgrrr3rs rtest_unknown_objectz'TestScalarDiscovery.test_unknown_objectsEhvxx  yByBHSMM))))))rscalarctj|}|jdksJ|j|jksJtj||gg}|jdksJ|j|jksJdS)NrrVrM)rBrgrr3)r&rrs r test_scalarzTestScalarDiscovery.test_scalarszhvyByFL((((h()**yF""""yFL((((((rz)ignore:Promotion of numbers:FutureWarningctttD]\}}|jd|jd}} tj||g}n#t t f$rYJwxYw|jdksJ |j|j}}tj ||}|j|ksJ#t $r)}|jtjdksJYd}~d}~wwxYwdS)NrrMr) rrqvaluesrBrgr$rrr3 promote_types)r&sc1sc2rdt1dt2expected_dtypees rtest_scalar_promotionz)TestScalarDiscovery.test_scalar_promotions% 0 2 24D4F4FGG 2 2HCz!}cjmC hSz**z*    9$$$$ 29ciS!#!1#s!;!;yN22222 2 2 2yBHSMM111111111 2 2 2s* A  A43A40B66 C)C$$C)ct|tjrt||dzdz}t|turt jdtj|t |j }tj| d}tj|g}tj d|j }||d<tj d|j }|g|dd<t||t||t||t||dS)NrMg?z/Rational to object cast is undefined currently.ryrVr)rhrBinexactrvrrxfailrgrrr3reshapeemptyr)r&rrarr1arr2arr3arr4s rtest_scalar_coercionz(TestScalarDiscovery.test_scalar_coercions: fbj ) ) 5!T&\\6A:"344F <<8 # # LJ K K KhvV,,,33FLAAx''**x!!x...Qx...(QQQ3%%%3%%%3%%%3%%%%%rz%`int(np.complex128(3))` fails on PyPyreasonzignore::numpy.ComplexWarningcast_toc|j}tdD]l}|jd}|jtjkr|jj|jtjt5t j | |dddn #1swxYwYt j ||t j |g| t j | |}n3#tttf$rtjt5t j ||dddn #1swxYwYt|t r#t j|tjrYdStjt5t j |g|dddn #1swxYwYt jd|}tjt5||d<dddn #1swxYwYYdSwxYwt j ||}t)||t jd|}||d<t)||ndS)aP Test that in most cases: * `np.array(scalar, dtype=dtype)` * `np.empty((), dtype=dtype)[()] = scalar` * `np.array(scalar).astype(dtype)` should behave the same. The only exceptions are parametric dtypes (mainly datetime/timedelta without unit) and void without fields. F)rnrNryr)r3rqrrvrBrifieldsrrr$rgrr RuntimeError Exceptionrhr issubdtype signedintegerzerosr)r&rr3rcastresrasss r0test_scalar_coercion_same_as_cast_and_assignmentzDTestScalarDiscovery.test_scalar_coercion_same_as_cast_and_assignment"sf &U333+ *+ *F]1%FzRW$$,%1el6J y1177((//666777777777777777HV51111HfXU3333  x''..u55z<8   ]9--22HV51111222222222222222vx00 eR-=>>FFF]9--44HfXU3333444444444444444hr///]9--%%$CG%%%%%%%%%%%%%%%! &(6///C sD ) ) )(2U+++CCG sD ) ) ) )W+ *+ *s)(BB! $B! 'D1H01E H0E H0E 7H0H00G H0G H0G 2H0H  H0 H$ $H0'H$ (H0/H0pyscalarrgp= ף$@yHzG$@dcGddt|}tj||}tj|}t||dS)aNumPy arrays are read/write which means that anything but invariant behaviour is on thin ice. However, we currently are happy to discover subclasses of Python float, int, complex the same as the base classes. This should potentially be deprecated. ceZdZdS)>TestScalarDiscovery.test_pyscalar_subclasses..MyScalarNrrrrMyScalarrds DrrN)rvrBrgr)r&rrrrs rtest_pyscalar_subclassesz,TestScalarDiscovery.test_pyscalar_subclasses]sr     tH~~   hxx))**8H%%3)))))r dtype_charAllc|dvrtj|dz}n/|dkrtjd}ntj|}tgt|\}}||ksJ|j|jksJdS)NSU1VV8)rBr3rrvrt)r&rr3discovered_dtype_s rtest_default_dtype_instancez/TestScalarDiscovery.test_default_dtype_instanceks   HZ#-..EE 3  HTNNEEHZ((E8T%[[II!5(((((EN::::::rr3Integererrorrc tj|}tjd5tj||}tj||}dddn #1swxYwYt ||t j|5tj|g|dddn #1swxYwYt j|5||d<ddddS#1swxYwYdS)z Signed integers are currently different in that they do not cast other NumPy scalar, but instead use scalar.__int__(). The hardcoded exception to this rule is `np.array(scalar, dtype=integer)`. ignore)invalidryNr)rBr3errstatergrrrr)r&r3rrcoercedrs r'test_scalar_to_int_coerce_does_not_castz;TestScalarDiscovery.test_scalar_to_int_coerce_does_not_cast{s[ * * * 2 2hvU333G8F##**511D 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7D)))]5 ! ! , , HfXU + + + + , , , , , , , , , , , , , , , ]5 ! !  DH                  s5>A44A8;A8#CC C &C99C=C=N)rrrrrrrrrrrqrfilterwarningsrrrr rrrB typecodesrrHnanrrgr ulonglong OverflowErrorrrrrrrsz!!!%%% * * ****  [X'7'7'9'9::));:) [ KLL22ML2& [X'7'7'9'9::&&;:&8 [w'NOO [ >?? [Y(8(8(:(:;;6*6*<;@?PO6*p [Z"eVRW)EFF * *GF * [\2<+>?? ; ;@? ; [Wbl9&=>> [h0bj  * -bhrll!!",//3] C EFFFF?>rrc eZdZejdejejgejde ej ddde ej ddde ej dd d e ej d d d gdZ ejdejejgejde ej ddde ej dd dgdZ ejdddgejddge ddde dd dgdZejddge ddde dd dgdZdS)TestTimeScalarsr3rr]r[r^r{r\genericr_rVDz datetime64[D]ctj||}tj||}t||tjd|}t |tjr9tjt5||d<ddddS#1swxYwYdS||d<t||dSNryr) rBrgrronesruintegerrrr$r&r3rrrrs rtest_coercion_basicz#TestTimeScalars.test_coercion_basics hvU+++x&&u--3%%%gb&&& eRZ ( ( *y)) ! !!B ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! CG sD ) ) ) ) )sB**B.1B.nsztimedelta64[ns] rYctj||}tj||}tjd|}||d<t ||t ||dSr)rBrgrrrrs r)test_coercion_timedelta_convert_to_numberz9TestTimeScalars.test_coercion_timedelta_convert_to_numbersxhvU+++x&&u--gb&&&B3%%%4&&&&&rS6U6valunitz[s]z[D]ctj||}tj|}|t |dd}tj||}|d|ksJtjd|}||d<|d|ksJtjt5tj| |ddddS#1swxYwYdS)Nrryr) rBrkr3rvrrgrrrrr)r&rr r3r cut_stringrrs r!test_coercion_assignment_datetimez1TestTimeScalars.test_coercion_assignment_datetimes0sD))ZZF BQB00 hvU+++2w*$$$$gb&&&B2w*$$$$ ]< ( ( + + HV   # #E * * *  + + + + + + + + + + + + + + + + + +s:(C//C36C3cRtj||}tj|dtj|d}tjdd}||d<|ddd}|d|ksJ|d|ksJdS)Nrryrrr)rBrjrgrr)r&rr rrrrs r"test_coercion_assignment_timedeltaz2TestTimeScalars.test_coercion_assignment_timedeltasT** t$$$$x&&t,,gb%%%B==%%bqb)Bx8####2w(""""""rN)rrrrrrrBrQrGrrjrkrrr rrrrrrs [Wrx&<== [X U>2>%--2G H H H U>2>#s++0@ A A A U=2= 227Q R R R U=2=C((_ = = = ?AA ** AA>= *" [Wrx&<== [X U>2>#t,,1B C C C U>2>"i005K L L L NOO ' 'OO>= ' [WtTl33 [eV_ U3 & & &c35(A(A(A BDD++DD43+0 [eV_ U3 & & &c35(A(A(A BDD # #DD # # #rrceZdZdZdZejdedZ ejdedZ dZ dZ dS) TestNestedcdg}|}ttjdz D]}|g}tj|d}|jdtjzksJt jt5tj|gddddn #1swxYwYt jtd5tj|gdddn #1swxYwYtj|gt}|j tj dksJ|jdtjzksJ| |usJdS) Nr~rVrHryr.*would exceed the maximummatchr) rrBrrgrrrrrr3item)r&initialrrrs rtest_nested_simplezTestNested.test_nested_simples%rzA~&&  AXFFhvY///yD2:----- ]: & & 0 0 HfXY / / / / 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]:-I J J J   HfX                  hxv...yBHSMM))))yD2:-----xxzzW$$$$$$s$1BBB;CC!$C!cg}||tj|||gt}|jddtjdz zzksJtj|dg|gt}|jdksJdS)NryrWrrV)rWrV)appendrBrgrrr)r&lrs r!test_pathological_self_containingz,TestNested.test_pathological_self_containings   h1ay///yD42:>#::::::hD61~V444yF""""""rrc|tjd}|}ttjdz D]}|g}t jt d5tj|ddddn #1swxYwYtj|t}|j dtjzksJ| tj| ksJdS)NrrVrrrHryr) rBrrrrrrrgrrr)r&rrrrrs rtest_nested_arraylikesz!TestNested.test_nested_arraylikess+)BGFOO,,rzA~&&  AXFF ]:-I J J J . . HV9 - - - - . . . . . . . . . . . . . . .hvV,,,yD2:-----xxzzRXg..3355555555sBBBctjdd}||}tj||ggt}|jdksJ|d|usJt |dtusJtj t5tj|||ggtddddS#1swxYwYdS)N)rMrMryrrrV) rBarangerrgrrrvlistrrr)r&rrouts rtest_uneven_depth_raggedz#TestNested.test_uneven_depth_raggedsill""6**innhcU|6222yD    1v}}}}CF||t####]: & & 6 6 HcC:&f 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6s! CCCc$tjgdgdgggt}|jdksJt jt 5tjgtjdgtddddS#1swxYwYdS)NrVryr)rrV)rBrgrrrrrrrs rtest_empty_sequencezTestNested.test_empty_sequence/shQC1#'v666yD    ]: & & ; ; Hb"(6**+6 : : : : ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;s0BB  B ctjd}tjd}tjd}t||gtjd\}}|dksJt||gtjd\}}|dksJtj||gtjd}|d|usJ|d |usJdS) N)rWrMr)rWrWrry)rMrWrrrV)rBrrr3asarray)r&rmismatch_first_dimmismatch_second_dimr3rrs rtest_array_of_different_depthsz)TestNested.test_array_of_different_depths8shvXf-- hv..1 % &bhsmm=== u1 $ %RXc]]<<< u}}}}j#12"(3--HHH1v}}}}1v+++++++rN) rrrrrrrrrCrr$r&r+rrrrrs%%%& # # # [[**,,77668762 [[**,,7766876 ;;;,,,,,rrc eZdZdZdZdZdS)TestBadSequencescgGfddt}|ddgtjt5t jddddS#1swxYwYdS)Nc"eZdZfdZxZS)2TestBadSequences.test_growing_list..mylistcrddgtS)NrVrM)rsuperr'r& __class__r}s rr'z:TestBadSequences.test_growing_list..mylist.__len__Xs- Aq6"""ww(((rrrrr' __classcell__r4r}s@rmylistr0W> ) ) ) ) ) ) ) ) ) )rr8rVrM)r"rrrrrBrgr&r8r}s @rtest_growing_listz"TestBadSequences.test_growing_listTs ) ) ) ) ) ) )T ) ) ) 661a&>>""" ]< ( (   HSMMM                  sA44A8;A8cgGfddt}ddg|ddgtjdS)Nc"eZdZfdZxZS)2TestBadSequences.test_mutated_list..mylistcRddgd<tS)NrMrWr)r2r'r3s rr'z:TestBadSequences.test_mutated_list..mylist.__len__is$QAww(((rr5r7s@rr8r>hr9rr8rMrWrV)r"rrBrgr:s @rtest_mutated_listz"TestBadSequences.test_mutated_listes ) ) ) ) ) ) )T ) ) ) Aq6 661a&>>"""  rcgGfdd}tjd|gtjt 5tjddddS#1swxYwYdS)Nc eZdZfdZdZdS)7TestBadSequences.test_replace_0d_array..baditemc8ddd<td)NrMrznot actually a sequence!)r)r&r}s rr'z?TestBadSequences.test_replace_0d_array..baditem.__len__vsAq  !;<<.baditem.__getitem__zrNr+)r}srbaditemrCus= = = = = =     rrGrM)rrBrgrrr)r&rGr}s @rtest_replace_0d_arrayz&TestBadSequences.test_replace_0d_arrayrs           BHQKK+,,, ]< ( (   HSMMM                  sA??BBN)rrrr;r@rHrrrr-r-NsA   "   rr-ceZdZejdedZejdeejdej dej dgdZ dZ dZ ejejejjd kd d Zejd gdejdeegdZejdeegdZdS)TestArrayLikesrctjd}||}tj|t}t||tj|gt}|d|usJdS)Nryr)rBrgrr)r&rrr}rs rtest_0d_object_special_casez*TestArrayLikes.test_0d_object_special_casesmhrllinnhs&)))3$$$huF+++1v}}}}}}rrrLr cz||}tjdt}|g|dd<|d|usJdS)NrVryr)rBr!r)r&rrr}rs r#test_object_assignment_special_casez2TestArrayLikes.test_object_assignment_special_casesIinn !6***5aaaQx3rcPGddtj}tjd}||}tj|}t ||t jt5tj|gdddn #1swxYwYt|}tj|}t ||t jt5tj|gddddS#1swxYwYdS)NceZdZdZdS)BTestArrayLikes.test_0d_generic_special_case..ArraySubclassc td)Nze.g. quantities raise on thisr#r%s r __float__zLTestArrayLikes.test_0d_generic_special_case..ArraySubclass.__float__s ?@@@rN)rrrrTrrr ArraySubclassrRs( A A A A ArrUrL) rBrrgrrrrr$r6r)r&rUrr}rs rtest_0d_generic_special_casez+TestArrayLikes.test_0d_generic_special_cases A A A A ABJ A A Ahrllhh}%%hsmm3$$$ ]9 % %   HcUOOO               oohsmm3$$$ ]: & &   HcUOOO                  s$?B!!B%(B%8DD"Dcttjtj}|dtjusJtjtjg}|dtjusJGdd}tj|}|d|usJtj|g}|d|usJdS)Nrrc@eZdZedZedZdZdS)8TestArrayLikes.test_arraylike_classes..ArrayLikecdSr rr%s rr:zLTestArrayLikes.test_arraylike_classes..ArrayLike.__array_interface__rcdSr rr%s rr@zITestArrayLikes.test_arraylike_classes..ArrayLike.__array_struct__r[rcdSr rr%s rr4zBTestArrayLikes.test_arraylike_classes..ArrayLike.__array__rFrN)rrrpropertyr:r@r4rrr ArrayLikerYsW   X   X      rr_)rBrgrQ)r&rr_s rtest_arraylike_classesz%TestArrayLikes.test_arraylike_classesshrx  2w"(""""hz""1v!!!!        hy!!2w)####h {##1v""""""rzNeeds 64bit platformrctjdd}tj|d}tdD]}t jt 5tj|dddn #1swxYwYt jt 5tj|gdddn #1swxYwYdS)z0Test the error paths, including for memory leaksrrRrylrEN)rBrg broadcast_torrr MemoryError)r&rrs r test_too_large_array_error_pathsz/TestArrayLikes.test_too_large_array_error_pathss/hq(((oc5))q  A{++                  {++  #                 s$A77A; >A; B==C C attribute)r:r4r@rcGfdd}tj5tj|ddddS#1swxYwYdS)Nc$eZdZfdZxZS)CTestArrayLikes.test_bad_array_like_attributes..BadInterfacecZ|krt|dSr )r2 __getattr__)r&attrr4rfrs rrkzOTestArrayLikes.test_bad_array_like_attributes..BadInterface.__getattr__s19$$K##D)))))r)rrrrkr6)r4rfrs@r BadInterfacerisC * * * * * * * * * * *rrmrrrBrg)r&rfrrms `` rtest_bad_array_like_attributesz-TestArrayLikes.test_bad_array_like_attributess * * * * * * * * * * * ]5 ! ! % % H\\^^ $ $ $ % % % % % % % % % % % % % % % % % %sAAAcGfdd}tj5tj|ddddS#1swxYwYdS)Nc eZdZfdZdZdS)BTestArrayLikes.test_bad_array_like_bad_length..BadSequencecr r)r&rs rr'zJTestArrayLikes.test_bad_array_like_bad_length..BadSequence.__len__s rcdS)NrVrr%s rr*zNTestArrayLikes.test_bad_array_like_bad_length..BadSequence.__getitem__sqrNr+)rsr BadSequencerrs=          rrurn)r&rrus ` rtest_bad_array_like_bad_lengthz-TestArrayLikes.test_bad_array_like_bad_lengths          ]5 ! ! $ $ H[[]] # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $sAAAN)rrrrrrrCrMrBrgr!rOrVr`skipifr3intprtreRecursionErrorrdrorvrrrrJrJs [[**,,77  87  [[**,,77 [UXRXb\\929Q<<$@AABA87 2###6 [ BHRW   & *3IKK   KK   [[@@@BB [W~{&CDD % %EDBB % [W~{&CDD $ $ED $ $ $rrJceZdZdZdZdS) TestAsArrayz'Test expected behaviors of ``asarray``.c>tjgdd}tj||usJtj|d|usJtjdddi}tj||}||usJ|j|usJtjdddi}tj||}||ksJ||usJ||usJ|j|usJd}d|D}d }d } t |d D]\}} || kr|| usJnt |tjrt | tjsJtj|d } tj|d } | |usJ| |usJtj| d | usJtj||} || ksJ|| usJ| j|usJ| tj| | usJtj| | j| usJ| tj| | jusJd S)aConfirm the intended behavior for *dtype* kwarg. The result of ``asarray()`` should have the dtype provided through the keyword argument, when used. This forces unique array handles to be produced for unique np.dtype objects, but (for equivalent dtypes), the underlying data (the base object) is shared with the original array object. Ref https://github.com/numpy/numpy/issues/1468 rrryspamT)metadata)rrqc6g|]}tj|Sr)rBr3).0codes r z3TestAsArray.test_dtype_identity..%s HHHT"(4..HHHrNrM)rrr)rBrgr(r3baserrh) r& int_array unequal_typeannotated_int_arrayequivalent_requirementannotated_int_array_altinteger_type_codesinteger_dtypestypeAtypeBlong_int_arraylong_long_int_arrayarray_as rtest_dtype_identityzTestAsArray.test_dtype_identitysHYYYc222 z)$$ 1111z)3///9<<<<xvtn===  j,GGG")3333"'94444"$#!G!G!G"$*-@3I#K#K#K55555#99999&.AAAAA&,0FFFFF -HH5GHHH(1===  LE5~~E))))%**Jz%/J/JJJJIS999 j#>>>Y....")3333z.444NJJJJ*Ye444~~~~E!!!!}%%%%bj>>>>>>>z'///5>>>>"*WE:::???????rN)rrr__doc__rrrrr{r{s.11<@<@<@<@<@rr{cHeZdZGddZGddZdZdS)!TestSpecialAttributeLookupFailurec$eZdZedZdS)0TestSpecialAttributeLookupFailure.WeirdArrayLikec tdNzoops!rr%s rr4z:TestSpecialAttributeLookupFailure.WeirdArrayLike.__array__Bw'' 'rN)rrrr^r4rrrWeirdArrayLikerA-  ( (  ( ( (rrc$eZdZedZdS)5TestSpecialAttributeLookupFailure.WeirdArrayInterfacec tdrrr%s rr:zITestSpecialAttributeLookupFailure.WeirdArrayInterface.__array_interface__GrrN)rrrr^r:rrrWeirdArrayInterfacerFrrrcdtjt5tj|dddn #1swxYwYtjt5tj|ddddS#1swxYwYdSr )rrrrBrgrrr%s rtest_deprecatedz1TestSpecialAttributeLookupFailure.test_deprecatedKs ]< ( ( , , HT((** + + + , , , , , , , , , , , , , , , ]< ( ( 1 1 HT--// 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1s#'A  AA1'B%%B),B)N)rrrrrrrrrrr>ss(((((((( (((((((( 11111rrctjddg}|d}t|ddgddggtj|d}t|ddgddggtjddg|gd}t|ddgddggddgddgggtjddd}tj|ddddtjtjfd }|d }t||tj|d }t||dS) NrVrMz(2)i,ryrrrrE)rErMrMrMz(2,2)f)rBrgrrr!rrcnewaxis)rrrs r%test_subarray_from_array_constructionrRsW (Aq6  C **W  CsaVaV,--- (3g & & &CsaVaV,--- (T4L#&g 6 6 6Csq!fq!f-AA/?@AAA )E   " "1a ( (Cs111aaaRZ#?@,OOH **X  CsH%%% (3h ' ' 'CsH%%%%%rcbtjdgdzd}t|tjdd|jdksJtjdgdzt}|d}t|d|jdksJtj|d}t|d|jdtjdjksJtjdgdz|gd}t|d|jd ksJ|jdksJdS) NrrryS1rr)rMr)rBrgrr3rrrtr)rrs rtest_empty_stringrks? (B4"9C ( ( (CsBHT400111 9     (B4"9F + + +C **S//CsC   9     (3c " " "CsC   94BHSMM244 4 4 4 4 (RD2Is#3 / / /CsC   9     9      r)TTT)r itertoolsrrrrnumpyrBnumpy.core._rational_testsrnumpy.core._multiarray_umathr numpy.testingrr r rCrqrzr|rrrr-rJr{rrrrrrrsq ,+++++++ //////CCCCCC//////////:4:4:4z5:5:5:5:p   +%+%+%+%+%+%+%+%\NNNNNNNNbN#N#N#N#N#N#N#N#`f,f,f,f,f,f,f,f,R33333333lu$u$u$u$u$u$u$u$p?@?@?@?@?@?@?@?@D11111111(&&&2r