a :jg6U @s0ddlZddlZddlmmZddlmZddl Z ddl m Z m Z m Z mZmZmZddZe jdddgd d Zd d Ze jd ddgddZe jd gdddZddZe jdejjdejjdejjdddZe jddgejejfejejfeded fed!ed fgd"d#Ze jd$e e!ejge jd%ej"ej#ej$gd&d'Z%e jdej&d(d)d*Z'd+d,Z(d-d.Z)d/d0Z*d1d2Z+d3d4Z,d5d6Z-e jgd7d8d9d:ge.d9d:gd9d:ggfd;dd?Z/d@dAZ0dS)BN)rational)assert_ assert_equalassert_array_equal assert_raises assert_warns HAS_REFCOUNTcCsTtt}tdtj}t|}ttj|tjd|tr\t |}t|t|t |ttjdtjdtjtj tjdtrt |}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 | jd(dd}tdtft|d} ttj| tjdtdtjd}ttjD] }|g}qt|tttj|gtjdttjdgdtjdtj d tj tjdttjdggdtjdtj d!tj tjdttjdgdgtjdtj d"tj tjdttjdgdgdtjdtj d#tj tjdttjdgdtjdtj d tj tjdttjdggdtjdtj d!tj tjdttjdgdgtjdtj d"tj tjdttjdgdgdtjdtj d#tj tjdttjdgdtjdtjd tjdttjdggdtjdtjd!tjdttjdgdgtjdtjd"tjdttjdgdgdtjdtjd#tjdttjd$tjdtj d tj tjdttjd%gdtjdtj d!tj tjdttjd$gtjdtj d"tj tjdttjd$gdtjdtj d#tj tjdttjd&tjdtjd tjdttjd'gdtjdtjd!tjdttjd&gtjdtjd"tjdttjd&gdtjdtjd#tjddS))N)r dtype?s1.0s1.1z1.0z1.1__dict__get)gH@gG@gH@)1.0Y@o)__array_interface__)r @ZHello)r@ZWorldZf0f1f2)__array_struct__cSstjd||dS)Nr)r copy)nparray)selfr r r r D/usr/local/lib/python3.9/site-packages/numpy/_core/tests/test_api.pycustom__array__Zsz)test_array_array..custom__array__)Z __array__? )r')r'r )r r')r'r') NNNNNNNNNNN) r r r r r r r r r r )r )NN)!typeobjectr!onesfloat64rr"rsys getrefcountnanr bytesstrgetattr __builtins__rhasattr memoryviewuint8dictrintfloatrdatarangencuZMAXDIMSr ValueErrorZfloat32full)ZtobjZones11ZtndarrayZ old_refcountZS2ZS3ZS5ZU2ZU3ZU5builtinsZdatarr%nestedir r r$test_array_array s            rCr"TFcCsRtdd}|rt|}tttj|ddWdn1sD0YdS)Nr rZM8r )rr!r"r TypeError)r"rtr r r$test_array_impossible_castss    rFcCsbtjddddd}|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 dt t |jdS),Nf4r rri4Fr F)orderr CZc8safecastingr)Zsubokr c@s eZdZdS)z$test_array_astype..MyNDArrayN)__name__ __module__ __qualname__r r r r$ MyNDArraysrT)rr r)rrTsdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOSZS100ZdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUZU100s aaaaaaaaaaZS10Z aaaaaaaaaaZU10l ~l!]cs123456789012345678901234567890ZS30Z123456789012345678901234567890ZU30uaŀZuint32)bufferr shapeiZS1ZU1)r!arangereshapeastyperr stridesTrflags f_contiguous c_contiguousrrDZndarrayr"viewr)rsize)r@brTr r r$test_array_astypes                             rfdtrWrXcCsttjdgtd}||jjt|djks4Jtj||ddsHJtj||ddr\Jtjd|ddspJdS)Nr runsaferOZ same_kindrV)r!r"r*r]r itemsizeZcan_castrgarrr r r$+test_array_astype_to_string_discovery_emptys $rm)dfZS13ZU32cCs4t|}tjg|d}|djj|jks0JdS)Nr V)r!r r"r]rjrkr r r$test_array_astype_to_void$s rqcCs&tjgddd}|jdks"JdS)NrVr rpZV8)r!r"r]r )rlr r r$ test_object_array_astype_to_void*srrtZuintr8r9cCs&tjdtjd}ttjj|j|dS)Nr'r )r!r" complex128r exceptionsZComplexWarningr])rsr@r r r$test_array_astype_warning0srvr out_dtypezS10,S9z?,?zS7,U9cCsNtjgd|d}tjgd|d}t|||tt|t|dS)N)10z10z00False rhr )TTTTTTFF)r!r"rr]Znonzero)r rwrlexpectedr r r$test_string_to_boolean_cast:sr~str_type scalar_typecCs|d}||dksJtj|gtd|ddks:Jt||ddksVJtjd|d}||d<|ddks|JdS)Ns1+3jy?@r r r r)r!r"r*r]zeros)rrvaluerlr r r$test_string_to_complex_castMs"rZAllFloatcCstjd|d}d|d<t|ds(Jttjd|ddsDJttjdg|ddsbJttd|dsJdS)Nr r rr )r!risnanr"r])r rlr r r$test_none_to_nan_castYs rcCstjddddd}t|dt|dt|jdt|dtjgdgd gd d}tj|d |d t|gd gdgtjddgddgddggd d}tj|jd|d t|gdgdgdS)NrGrHr rrr&@)rr r)rrr ? @where)rrr)rrrrr @)rrr)rrr)r!r[r\copytorr_r")r@maskr r r$test_copyto_fromscalards    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)NrGrIr rr)rr r)rGrr r )rrGrr rr r&rirO)TFTr)rr rrr)rr r )r rr)rPr)rrUrU)rUr rr)rUrrr rr)rrrU)r!r[r\rrrrD)r@r r r$ test_copytous 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]h}t|}t|}t| tj }|||d k<tj|||dt|d k|t| t |q2qt|}tj||ddt| |j t|}t|}tj||ddt| |j dS)NiT)TTTTrr rcsg|]}|@dkqS)rr ).0xrBr r$ z&test_copyto_permut..r )rrF) r!rlenr+r"rr;rrsumrcr6rd)padlrrnrpowercZimaskr rr$test_copyto_permutsT     ."& ."&      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 rrUrKrLFcs6t||ut||tjj|tjj|dSr()rrr`rbra)ryccontigfcontigr^resr r$check_copy_results  z*test_copy_order..check_copy_resultrMT)rrr^K)F) r!r[r\r swapaxesrr`rbra)r@rerrr rr$test_copy_orders\            rcCstddddddddf}|jddd|_tddd}dd}||d d ||d d |td d d |tjd gdgggd dd d |tdd d |tjdd dd d |tj|ddd d |tj|dddd d |tj|ddd dd d ||dd d ||ddddddfd d ||dd d ||ddddddddddfd d ||d d |tdd d dS)N)rUrUr r)i)rrr rrrrUcSs$t|jj|kt|jj|kdSr()rr`rbra)r@rrr r r$ check_contigsz+test_contiguous_flags..check_contigF)rrrrrTr rKrrrrJrM)r rL)Zndminr rLr.)rr.r)r!r+r^remptyr"ZravelZsqueeze)r@rerr r r$test_contiguous_flags s&"   .rcCsjtjdgdd}tjgddd}t||}t|dtjgdddt|dtjgddddS)Nrzu4,u4,u4r )r)rUrrG)rr)rrrr )r!r"Zbroadcast_arraysr)r@reresultr r r$test_broadcast_arrays+s  r)rZ fill_valueexpected_outputrg@r)rrr g@cCst||}t||dSr()r!r>r)rZrroutputr r r$test_full_from_list3s rcCstjdtjd}|jtjdd}t||r0J|jtjdd}t||sPJ|jtjdd}t||rpJtt|jtjtjj ddS)Nr'r TrJF) r!r[Zintpr]Z shares_memoryr,rr=Z _CopyModeZNEVER)rlZres_trueZ res_falseZres_false_floatr r r$test_astype_copyflag:s r)1r-numpyr!Znumpy._core.umathZ_coreZumathr<Znumpy._core._rational_testsrZpytestZ numpy.testingrrrrrrrCmarkZ parametrizerFrfrmrqrrZsctypesrvbytes_boolZstr_r r~r1r0Z complex64rtZ clongdoubler typecodesrrrrrrrr"rrr r r r$sf   p            $5=  $