o 6a W @s\ddlZddlZddlmZddlZddlmZmZm Z m Z m Z m Z ej dddjjZddZejd d d gd d ZddZddZejdddgddZejdgdddZddZejdejdejdejdd d!Zejd"d#gejejfejejfed$ed%fgd&d'Z ejd"d#gejejfejejfed$ed%fgd(d)Z!ejd*e"e#ej$ejgejd+ej%ej&ej'gd,d-Z(ejd"ej)d.d/d0Z*d1d2Z+d3d4Z,d5d6Z-d7d8Z.d9d:Z/d;d<Z0ejgd=d>d?d@ge1d?d@gd?d@ggfdAdBdCge1dBdCgdBdCgdBdCggfgdDdEZ2dS)FN)rational)assert_ assert_equalassert_array_equal assert_raises assert_warns HAS_REFCOUNT CordercCstt}tdtj}t|}ttj|tjd|tr.t |}t|t|t |ttjdtjdtjtj tjdtrWt |}tjdtjdt|t |ttjdtjdtjdtjdtrt tj}tjtjdtjdtjdt|t tjt t df}t t df}t t df}ttjdtjdtjdtjdttdj |ttjdt dj |ttjd|dtd ttjd |dtjd|dt t df}t t df}t t df} ttjd tjdtjdtjdttd j |ttjd t dj |ttjd |dtt d ttjd | dtjd| dttdt} tt| dtjtdtjd} t| gdt| j jtjuttd} t| gdt| j jtjutjdtjd} tdtft| jd} ttj| tjd| tjddgdtfdtfdt fgd} tdtft| jd} tt t| jt | jtdtftddd} ttj| tjdtdtjd}ttjD]}|g}qt|tttj|gtjdttjdgdtjdtjd tj tjdttjdggdtjdtjd!tj tjdttjdgdgtjdtjd"tj tjdttjdgdgdtjdtjd#tj tjdttjdgdtjdtjd tjdttjdggdtjdtjd!tjdttjdgdgtjdtjd"tjdttjdgdgdtjdtjd#tjdttjd$tjdtjd tj tjdttjd%gdtjdtjd!tj tjdttjd$gtjdtjd"tj tjdttjd$gdtjdtjd#tj tjdttjd&tjdtjd tjdttjd'gdtjdtjd!tjdttjd&gtjdtjd"tjdttjd&gdtjdtjd#tjddS)(N)r r dtype?s1.0s1.1z1.0z1.1__dict__get)gH@gG@gH@)1.0Y@o)__array_interface__)r @Hello)r@Worldf0f1f2)__array_struct__cWstjdtjdS)Nrr)nparrayfloat64)xrr;/usr/lib/python3/dist-packages/numpy/core/tests/test_api.py]sz"test_array_array..) __array__?r )r r )r r )r r ) NNNNNNNNNNN) rrrrrrrrrr)r)typeobjectr(onesr*rr)rsys getrefcountnanrbytesstrgetattr __builtins__rhasattr memoryviewuint8dictrintfloatr'datarangeMAXDIMSr ValueErrorfull)tobjones11tndarray old_refcountS2S3S5U2U3U5builtinsdatarnestedirrr,test_array_arrays            rUr)TFcCsTtdd}|r t|}tttj|ddWddS1s#wYdS)Nr rM8r)rr(r)r TypeError)r)rtrrr,test_array_impossible_castss   "rYcCstd}t|}t||jt|jjtgd}t|}t||jt|jjtd dd}t|}t||jt|jjdS)Nr)rrrr) r(r)fastCopyAndTransposerTrflagsowndataarangereshape)rRbrrr,test_fastCopyAndTransposes         rccCsVtjddddd}|d}t||t|jtdt|j|j|jd}t|j|t|jtdt|jj|j|d}t||t||u|jddd}t||u|jdd dd }t||t||ut|j j |jdd dd }t||t||ut|j j |jd d d}t||t|jtd t t |jdd d|jdddd}t||uGdddtj}tjgdgdgdd|}|jdddd}t||u|jddd}t||tt|||jdddd}t||t||utt||utjdgdd}|d}t||t|jtdtjdgdd}|d}t||t|jtdtjdgdd}|d}t||t|jtdtjdgdd}|d}t||t|jtd tjd!ddd}t|tjd"d#dtjd!ddd}t|tjd$d%dtjd!gddd}t|tjd"d#dtjd!gddd}t|tjd$d%dtjd!dd}t|tjd"d#dtjd!dd}t|tjd$d%dtjd&dd}tj|d'dd(}t|jdktjd)gdd}t t |jd*d dtjd)dd}t t |jd+d ddS),Nr[f4rrri4FcopyF)rrgr c8safecastingr)subokrgc@s eZdZdS)z$test_array_astype..MyNDArrayN)__name__ __module__ __qualname__rrrr, MyNDArraysrq)rr r)rrTsdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOSS100daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUU100s aaaaaaaaaaS10 aaaaaaaaaaU10l ~l!]cs123456789012345678901234567890S30123456789012345678901234567890U30uaŀuint32)bufferrshapeiS1U1)r(r`raastyperrstridesr]rr^ f_contiguous c_contiguousrrWndarrayr)viewr1rsize)rRrbrqrrr,test_array_astypes                             rdtrtrwcCsttjdgtd}||jjt|djksJtj||dds$Jtj||ddr.Jtjd|dds8JdS)Nrrunsaferk same_kindrs)r(r)r2rritemsizecan_castrarrrrr,+test_array_astype_to_string_discovery_emptys $r)dfS13U32cCs4t|}tjg|d}|djj|jksJdS)NrV)r(rr)rrrrrr,test_array_astype_to_void*s rcCs&tjgddd}|jdksJdS)NrsrrV8)r(r)rr)rrrr, test_object_array_astype_to_void0srtuintr?r@cCs$tjdtjd}ttj|j|dS)Nr r)r(r)complex_rComplexWarningr)rrRrrr,test_array_astype_warning6srr out_dtypezS10,S9z?,?cCs8tjgd|d}tjgd|d}t|||dS)z Currently, for `astype` strings are cast to booleans effectively by calling `bool(int(string)`. This is not consistent (see gh-9875) and will eventually be deprecated. )10z10z00r)TTFFN)r(r)rr)rrrexpectedrrr,test_string_to_boolean_cast>s rc CsPdD]#}tj|g|d}tt ||Wdn1s wYqdS)zn These currently error out, since cast to integers fails, but should not error out in the future. )FalseTruerz non-emptyrN)r(r)rrDr)rrinvalidrrrr,"test_string_to_boolean_cast_errorsLs   rstr_type scalar_typecCs|d}||dks Jtj|gtd|ddksJt||ddks+Jtjd|d}||d<|ddks>JdS)Ns1+3jy?@rrr r)r(r)r2rzeros)rrvaluerrrr,test_string_to_complex_castZs"rAllFloatcCstjd|d}d|d<t|dsJttjd|dds"Jttjdg|dds1Jttd|ds@JdS)Nr rrr)r(risnanr)r)rrrrr,test_none_to_nan_castfs "rcCstjddddd}t|dt|dt|jdt|dtjgdgd gd d}tj|d |d t|gd gdgtjddgddgddggd d}tj|jd|d t|gdgdgdS)Nr[rdrrrr/@)rr r)rrr ? @where)rrr)rrrrr @)rrr)rrr)r(r`racopytorr]r))rRmaskrrr,test_copyto_fromscalarqs    rcCstjddddd}t|gdgdgt|gdgdgt|ddddf|dddd ddft|gd gd gtttj|d tj|d d dt|d tj|dgddt|gdgdgtttj|dgddtj|dd gdgdgdt|gdgdgtj|ddddf|dddd ddfdd gd d ggdt|gdgdgtttjgdgddS)Nr[rerrr)rr r)r[rr r )rr[rr rr r/rrk)TFTr)rr rrr )rr r )r rr)rlr)rrrrr)rrr rr)rrrrr rr)rrrr)r(r`rarrrrW)rRrrr, test_copytos 0 @rcsd}dg|gd}tt||}tt||}t||d}tj|||ddddd}t|}td|D] t|}fdd t|D}t|}tj|||dt|d k|t| t |t|}tj|||ddddt|d k|dddt| t |t|}tj|ddd|ddd|ddddt|dddd k|dddt|ddd t |dddt|}tj|ddd|ddd|ddd dt|dddd k|ddd t|ddd t |ddd d D]4}t|}t|}t| tj }|||d k<tj|||dt|d k|t| t |qq@t|}tj||ddt| |j t|}t|}tj||ddt| |j dS)NiT)TTTTrr rcsg|]}|@dkqS)rr).0r+rTrr, sz&test_copyto_permut..r )rrF) r(rlenr3r)rrBrrsumrr=r)padlrrrpowercimaskrrr,test_copyto_permutsV     ."& ."&      rcstddddd}|jdd}tddddddd}dfd d }t|jjt|jj t|jj t|jjt|jj t|jj |jd d||d dd d |jd d||d ddd |jd d||d ddd tj|d d||d dd d tj|d d||d ddd tj|d d||d ddd |jdd||dd dd |jdd||dd d d |jdd||dd dd tj|dd||dd dd tj|dd||dd d d tj|dd||dd dd |jdd||d dd d |jdd||dd d d |jdd||ddd d tj|dd||d dd d tj|dd||dd d d tj|dd||ddd d dS)Nrr rrrrhr Fcsdt||ut||tjj|tjj|ts0|r&t|j|jdSt|j|jkdSdSr0)rrr^rrNPY_RELAXED_STRIDES_CHECKINGr)r+yccontigfcontigrresrr,check_copy_results  z*test_copy_order..check_copy_resultr T)rrrK)F) r(r`rargswapaxesrr^rr)rRrbrrrrr,test_copy_orders\            rcCstddddddddf}tr|jddd|_tddd}dd}||d d ||d d trR|td d d |tjd gdgggd dd d n|td d d |tjd gdgggd dd d |tdd d |tjdd dd d |tj|d dd d |tj|d ddd d |tj|dd d dd d tr||dd d ||ddddddfd d ||dd d ||ddddddddddfd d n||dd d ||dd d ||dd d ||d d |tdd d dS)N)rrrrr r)i)rrr rrrrrcSs$t|jj|kt|jj|kdSr0)rr^rr)rRrrrrr, check_contig%sz+test_contiguous_flags..check_contigF)rrrrrTr rhr rrrfr )rgr)ndminrgrr.)rr.)Nr.N)rrr.r) r(r3rrremptyr)ravelsqueeze)rRrbrrrr,test_contiguous_flagss6"  " 0rcCsjtjdgdd}tjgddd}t||}t|dtjgdddt|dtjgddddS)Nrzu4,u4,u4r)r)rrrr[)rZrr)rrrr )r(r)broadcast_arraysr)rRrbresultrrr,test_broadcast_arraysKs   r)r fill_valueexpected_outputrg@r")rrrg@cCst||}t||dSr0)r(rEr)rrroutputrrr,test_full_from_listSs r)3r4numpyr(numpy.core._rational_testsrpytest numpy.testingrrrrrrr3r^rrrUmark parametrizerYrcrrrrsctypesrbytes_bool_unicode_rrrr8r7str_ complex64 complex128 clongdoubler typecodesrrrrrrrr)rrrrr,sl    m              $5D, $