K i1*ddlmZddlZddlZddlZddlmZddl Z ddl Z ddl Z ddl Z ddl Z ddlZ ddlZddlZddlmcmZddlmZe j2j4dZdZdZdZdZd Z d Z!d Z"d Z#d Z$dZ%e j2jdZ&e j2jdZ'e j2jdZ(e j2jdZ)e j2je j2jUdgde j2jUdddgdZ+e j2je j2jUdgddZ,e j2jdZ-e j2j\dZ/e j2j`e j2j\dZ1e j2jUddejdejfejhgdZ5dZ6dZ7d Z8e j2jd!Z9d"Z:d#Z;d$Zd'Z?e j2jd(Z@e j2jd)ZAd*ZBe j2jd+ZCd,ZDd-ZEe j2jUd.ejejejejgd/ZJd0ZKd1ZLd2ZMe j2jUd3d4d5ZNe j2jd6ZOe j2jd7ZPe j2jd8ZQd9ZRd:ZSe j2je j2jUd;ejejfejejfgd<ZVe j2jUd;ejejfejejffe j2jUd=ddggdddgdggdgd>ggfd?ZWe j2jUd;ejejfejejffd@ZXdAZYdBZZdCZ[e j2jdDZ\dEZ]dFZ^dGZ_dHZ`dIZadJZbdKdKdLdMZce j2jdNZddOZedPZfdQZgdRZhdSZidTZje j2jdUZke j2jdVZle j2jdWZmdXZndYZoe j2jdZZpd[Zqd\Zre j2jd]Zse j2jd^Ztd_Zud`ZvdaZwdbZxdcZyddZzdeZ{dfZ|dgZ}dhZ~diZe j2jdjZe j2jdkZe j2jdlZdmZe j2jdnZe j2jdoZe j2jdpZdqZe j2jUdrdsgdtfdueddvfdweddxfdyeddzfd{eddzfd|eddzfd}eddzfd~eddzfdeddzfdgdfdgdfdgdfdgdfejdgdfgdZe j2jUdgdejfgdejfgdejfgdejhfgdfd>dgdggejejfddgdggejejfdgdddggejejhfd>dgdggejejfddgdggejejfdgdddggejejhfgdejejdejejdejhgfg ZedZdZe j2jej&ej(j*fej,ej.ej0ej2ddzdZedZe j2jdZe j2jdZe j2jdZdZe j2jdZe j2jdZe j2j\dZe j2jdZdZe j2je j2jUddejJdfdejJdfdejJdfdejJdfgdZe j2jdZe j2je j2jUdgddZe j2jdZe j2je j2jUddejTdfdejTdfdejTdfdejTdfgdZe j2jdZe j2je j2jUddejejZej\gdZdZe j2j\dZdZe j2j\dZe j2je j2jUddejhejjejlgd„Ze j2jdÄZe j2jdĄZe j2jdńZe j2jdƄZe j2jdDŽZe j2jdȄZe j2jdɄZdʄZe j2jd˄Zd̄Ze j2jd̈́Zd΄ZdτZdЄZe j2jUdejejfejejfgd҄Ze j2jUdejejejejdԫejejgdՄZe j2jUdejejejfejejejdԫfejejejfejejejfejejejfgdׄZe j2jUd.ejejgd؄Ze j2jUdejejgdڄZdۄZd܄Zd݄ZdބZd߄ZdZdZdZe j2jdZe j2je j2je j2je j2jUdddKgdZe j2jdZe j2jdZe j2jdZe j2jdZe j2j\dZe j2jdZe j2jdZe j2jdZdZe j2jdZe j2jdZGddZGddZe j2jUdeegdZdZdZdZdZe j2j\dZe j2j\dZdZdZdZdZddZdZdZdZe j2jdZe j2jdZe j2j\dZe j2jUd;ejejfejejfgd Ze j2jUd;ejejfejejfgd Ze j2jUd ejejejfejejejfgd Ze j2jUd ejejgdZe j2je j2jUdgddZdZy#e$rdZYwxYw()IterableN)VersioncNd}tjtjd|gdtj}|j dk7r5t |jtj|jt|jjdk(sJy)NzOif 1: import pyarrow as pa assert pa.total_allocated_bytes() == 0 z-cT)universal_newlinesstderrr)file) subprocessrunsys executablePIPE returncodeprintrcheck_returncodelen splitlines)coderess ^/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pyarrow/tests/test_array.pytest_total_bytes_allocatedr(sz D ..#..$5,0 JC ~~ cjjszz*  szz$$& '1 ,, ,ctjgd}tj|}|J~|JyN)paarrayweakrefref)arrwrs r test_weakrefr$7s; ((9 C S B 4   4< !! ! q6??e ## # c!fbnn -- -rctjt5tjddgdddy#1swYyxYw)Nrr)pytestraises TypeErrorrArrayrrtest_constructor_raisesr3Fs5 y ! !Qs ;Actjdgdgdg}|j}d}||k(sJ|jd}d}||k(sJy)Nfoo)barza longer stringNzQ[ [ "foo" ], null, [ "bar", "a longer string", null ] ] )element_size_limitz`[ [ "foo" ], null, [ "bar", "a longer (... 7 chars omitted)", null ] ]rr to_stringr"resultexpecteds rtest_list_formatr>Msc ((UGT#CD EC ]]_F H X   ]]b] 1F H X  rcdtjgd}|j}d}||k(sJy)NNr5z[ "", null, "foo" ]r9r;s rtest_string_formatrBns3 (($ %C ]]_FH X  rcvtjtd}|jd}d}||k(sJy)Ndr)windowz[ 0, 1, ... 98, 99 ])rrranger:r;s rtest_long_array_formatrGzs; ((5: C ]]!] $FH X  rchtjgd}|jd}d}||k(sJy)Nr@r)indentz[ "", null, "foo" ]r9r;s rtest_indented_string_formatrJs4 (($ %C ]]!] $F+H X  rchtjgd}|jd}d}||k(sJy)Nr@r)top_level_indentz [ "", null, "foo" ]r9r;s r%test_top_level_indented_string_formatrMs4 (($ %C ]]A] .F3H X  rcdtjgd}|j}d}||k(sJy)N)rNsfoosz([ 00, , null, 01666F6F, 80FF ]r9r;s rtest_binary_formatrPs3 ((@ AC ]]_FH X  rc0tjgdd}tjgdd}|jdk(sJ|jddjdk(sJ|jdk(sJ|jddjdk(sJy) N)s0000Ns11111s222222s3333333binarytype large_binaryrr )rrtotal_values_lengthslice)r" large_arrs rtest_binary_total_values_lengthr[s ((C  "CI,.I  " "b (( ( 99Q? . ." 44 4  ( (B .. . ??1a 4 4 :: :rctjtd}|j}|j d}|j |j jk(sJd}ddl}|j|jJtjd}tjj||y)Nr7rr)rrrFto_numpybuffersaddressctypesdatagccollectbasenparangetestingassert_array_equal)r"np_arr arrow_bufrbr=s rtest_to_numpy_zero_copyrks ((59 C \\^F a I    2 2 22 2 C JJL ;; "" "yy}HJJ!!&(3rc.gdgdg}tj|}d}tjt|5|j dddd|j }gd}t jj||y#1swY>xYw)N)rr)rmrDz>zero_copy_only must be False for pyarrow.ChunkedArray.to_numpymatchTzero_copy_only)rrrmrmrnrD) r chunked_arrayr.r/ ValueErrorr]rergrh)elements chunked_arrmsgrir=s r%test_chunked_array_to_numpy_zero_copyrxs~;'H""8,K JC z -2D12 ! ! #F#HJJ!!&(3 22s B  Bc8tjgd}tjt5|j ddd|j d}t jgd}t jj||tjgd}tjt5|j ddd|j d}t jgdt}t jj||tjgd}tjtd5|j dddy#1swY7xYw#1swYxYw#1swYyxYw) NTFTFrqNNNdtyperrNz with 1 nullsro) rrr.r/rtr]rergrhobject)bool_arrr<r=null_arrr"s rtest_to_numpy_unsupported_typesrs-xx+,H z "  e  4Fxx+,HJJ!!&(3xx*+H z "  e  4Fxx*&9HJJ!!&(3 ((< C z 8 %s#E7FF7FF Fctjtd}|j}t j t 5d|d<ddd|jdd}d|d<|djdk(sJt j t 5|jdddddy#1swYoxYw#1swYyxYw)Nr7rFT)rrwritable)rrrFr]r.r/rtr')r"rinp_arr2s rtest_to_numpy_writablers ((59 C \\^F z "q ll%$l?GGAJ q6<<>Q   z "9 D4 89999sB<C<CCunit)smsusnstzUTCctjgdtj||}tjgdd|d}|j }tj j ||y)Nrrz datetime64[]r|)rr timestamprer]rgrh)rrr"r=ris rtest_to_numpy_datetime64rsW ((9bll4B7 8Cxx ;tfA)>?H \\^FJJ!!&(3rctjgdtj|}tjgdd|d}|j }tj j ||y)Nrz timedelta64[rr|)rrdurationrer]rgrh)rr"r=ris rtest_to_numpy_timedelta64r sU ((9bkk$/ 0Cxx <vQ)?@H \\^FJJ!!&(3rctjgdj}tjgdt}|j d}tj j||y)N)abrr|Frq)rrdictionary_encodererr]rgrh)r"r=ris rtest_to_numpy_dictionaryrsO ((? # 5 5 7Cxxv6H \\\ /FJJ!!&(3rcddl}tjtd}tdD].}|j }t j |dk(sJd}0t j |dk(sJtdD]}tjtd}|j }d}|jt j |jj}|dk(sJ|jy)Nrr7r) rbrrrF to_pandasr getrefcountrcvaluesrdsum)rbr"iseries base_refcounts rtest_to_pandas_zero_copyrs ((59 C 2Yv&!+++ ??3 1 $$ $ 2Y hhuRy!  (:(:; !!!  rctjtd}tj|Dcgc]}|c}}|j gdk(sJ|j tj dk(sJt|dtjjsJtj|}|j gdk(sJ|j tj dk(sJtj|d}|j gdk(sJtjgd }|jtjk(sJtj|}|j }|dd gd k(sJtj|d sJ|j tj d k(sJtjjtjgd tjgd}tj|}|j tj dk(sJ|j gdk(sJycc}w)NrmrrrrOrint64strr|)0123)rrrNr)?@float64rrrrrrrcr)rrrrr)rrrFreasarraytolistr}r)lib Int64ValuerTrisnanDictionaryArray from_arrays)r"_rirus r test_asarrayr;s ((58 CZZC(q( )F ==?l ** * <<288C= (( ( fQi!2!2 33 3ZZ_F ==?l ** * <<288G, ,, ,ZZ5 )F ==?2 22 2 ((? #C 88rxxz !! ! ZZ_F}}H BQ<< '' ' 88HQK  <<288I. .. .   ( ( !288O#< >C ZZ_F <<288H- -- - ==?7 77 7;)s I(tyctjd|}tjgd|}t|dk(sJ|j |sJ|$|j tj k(sJy|j |k(sJy)NrrSr{)rnullsrrequalsrTnullrr"r=s r test_nullsrcst ((12 Cxx*4H s8q== ::h   zxx2779$$$xx2~~rctjd}tjj }tjj }|j |j}|j|jd}tjd}ddtjdgfddtjdfddtjgd tj fd d tjd d gtj fd dtjd gdzftj dtj" dtjdgdztj" ftj ddtjgdftj ddtjdgdzf|d tj|gd zf|dtj|gdzf|d tj|gd ztj$d|jd f|j'dtj|j'gdzf|dtj|gdzfddtjdgdzfdd gd tjdd gdd ggftj ddgtj(tj* dtjddggdztj(tj* fdd ddtjdd dgdzfg}|D]\}}} tj,||} t/| |k(sJ| j0j3| j0sJ| j3| sJ| j0tj4k(r| j6|k(rJ| j6dk(rJy)Npytz)tzinfoz US/Easternr)daysr7r)rrrrSgGz@rstringrmr{TrWrr Frnrrr)r. importorskipdatetimedatetodaynowreplaceutc astimezonetimezone timedeltarrrrrscalaruint8rtime large_listint8repeatrrTrr null_count) rrrnow_utc now_with_tzonedaycasesvaluesizer=r"s rtest_array_from_scalarrvsi   v &D MM   !E      !Ckkk*G$$T]]<%@AK   Q 'F q"((D6"# r288B< QBHHJ78 q"((D$?A! EF"''tXiit$3x4xxx}}---zz(### ==BGGI %>>T) ))>>Q& &&'rcgd}tjjgd|}tj|dd}tjjdgdz|}|j |sJtj|dd}tjjdgdz|}|j |sJy)Nr5r6baz)rrrr) dictionaryrrnrr)rrrrr)rr"r<r=s r!test_array_from_dictionary_scalarrs&J   ( (* ( MC YYs1vq !F!!--qcAg*-MH == "" " YYs1vq !F!!--qcAg*-MH == "" "rcFtjtdd}|j}tt | t |D]}||j ||k(rJtdt |zt | D])}t jt5||ddd+tt |dt |zD])}t jt5||ddd+y#1swYxYw#1swYBxYw)Nr7r) rrrF to_pylistrr'r.r/ IndexErrorr"lstidxs rtest_array_getitemrs ((5R= !C --/Cc#hYC),3x~~3s8+++,R#c(]SXI. ]]: &  H  SXq3s8|, ]]: &  H      s-D :D D D ctjtdd}|j}tt | t |D]0}|t j |j||k(r0Jy)Nr7r)rrrFrrreint32r'rs r test_array_getitem_numpy_scalarsrsi ((5R= !C --/Cc#hYC)6288C=!'')SX5556rctjtd}|jd}tjtdd}|j |sJ|jdd}tjtdd}|j |sJ|jdj |sJt |jt |dk(sJt |jt |dzdk(sJt |jt |dzddk(sJt jt5|jddddt jt5|jddddd|ddj |jdsJ|ddj |jdd sJ|d dj |jt |dz sJt |}t| dz|dzD]}t| dz|dzD]i}|||}|j|j||}|j|k(sJtG|jj|k(riJy#1swY]xYw#1swY6xYw) Nr7rrmrrDrrnr)rrrFrYrrr.r/rrtvalidaterrer]r) r"slicedr=sliced2 expected2nstartstoprs rtest_array_slicersu ((59 C YYq\Fxxa %H == "" "ii1oGq!%I >>) $$ $ 99Q<  s ## # syyS" #q (( ( syySA& '1 ,, , syySAs+ , 11 1 z " "  z " !R qr7>>#))A, '' ' q8??399Q? ++ + rs8??399SX\2 33 3 CArAvq1u%;1"q&!a%( ;DeD/C LLN}}uT2H==?h. ..~||~,,.(:::  ;;s K K KK$cttd}tj|}tj|g}t dddt dddt dddt dddt dddt dddt dddt dddt d d dt d d dg }|D]}||}tj|||j }|j|sJtj|gd g|}tj|gd g}|j|sJ||}tj||g|j }|j|rJy)Nrrrr7rrrriirSf0names) listrFrrrsrYrTr record_batch)rr"rvrcaser<r=s rtest_array_slice_negative_stepr sj %)_F ((6 C""C5)K dD" dAr b!R ar aR b!R dD! aQ b#r c3 E 'T88F4Lsxx8}}X&&&#tf5d;??H:dV<}}X&&&T"##VD\NB}}X&&& 'rc gd}|D]o}tj|}|jd|jtjt t |tjroJtjddtj}|jd|jtjt t ddtjsJtjtj5tjdd ddddy#1swYyxYw) N))rng)rr)rmr rn)r7ir)rDi)rr)rr7r)r7rrTfullrSre memory_poolrr7) rrfrrrrrFrdefault_memory_poolr.r/ ArrowInvalid)rr r<s r test_arangers ELD!T"}}RXXd5$<&8rxxzJKKKL YYr3B,B,B,D EF OOO ==$uR~"6RXXZH II I r ' !Rs %EEctjdgtj}tjgdtj}tjgd}tjgdgdgtjtj}tjgdtj }tjddgtj }|j |dk(sJ|j |d k(sJ|j |jd k(sJ|j |jd k(sJ|j |jd k(sJ|j |dk(sJ|j |d k(sJy) Nr5rSr5r6Nrr)g?rrrrAz @@ -1, +1 @@ +"bar" +null z'# Array types differed: string vs int64z3# Array types differed: string vs listz& @@ -0, +0 @@ -1.5 +1 @@ -2, +2 @@ -6 )rrutf8list_rfloat16diffstrip)arr1arr2arr3arr4arr5arr6s rtest_array_diffr$5sj 88UG"'') ,D 88(rwwy 9D 88I D 88R!dO"((288:*> ?D 88Kbjjl 3D 88QF .D 99T?b  99T?   99T? "&O OO O 99T? "&O OO O 99T? "(; << < 99T?b  99T?  rctjtd}ttd|D]\}}||j k(rJt |t sJy)Nr7)rrrFzipr'r)r)r"rjs rtest_array_iterr(RsV ((59 CE"Is#1AGGI~~ c8 $$ $rc<tjtjdtjtjdtjg}tj gd|}|ddj dddd d dgk(sJy) Nrrr@r@)rn@rSrrr.rrnr/)rstructfieldrfloat32rr)rr"s rtest_struct_array_slicer3[s BHHS"''),HHS"**,/1 2B ((1 ;C qr7   #5)*#5#7 77 7rcGdd}tj|g}tjt5t j|dddy#1swYyxYw)Nc eZdZy)1test_array_factory_invalid_type..MyObjectN)__name__ __module__ __qualname__r2rrMyObjectr6gs rr:rerr.r/rtr)r:r"s rtest_array_factory_invalid_typer<dsL   ((HJ< C z "  s AA'ctjgd}tj|}t j|}tj||dzk(sJy)Nrr)rerr rr)r"refcountrs rtest_array_ref_to_ndarray_baser?osF ((9 Cs#H 88C=D ??3 HqL 11 1rcrtjgdtj}tjgdtj}tjgdtj}||k(dusJ||k7dusJ||k(dusJ||k7dusJ|dk(dusJ|dk(dusJy)NrrSTFr)rrrr)rrr s r test_array_eqrAxs 88IBHHJ /D 88IBHHJ /D 88IBHHJ /D DLT !! ! DLU "" " DLU "" " DLT !! ! AI%   DLU "" "rctjtjgd}tjtjdg}tj j tjd||g}|jtjk(sJ|jgdk(sJtj j tjdd|g}|jtjk(sJ|jgdk(sJtj j tjd||gd}|jtjk(sJ|jgdk(sJtjt5tj j tjdd d gddddy#1swYyxYw) Nrmrnr rm)rmNrrDrroffset)NrrDrA) r py_bufferreint16rr1 from_buffersrTrr.r/r0) values_buf nulls_bufr"s rtest_array_from_buffersrMssbhh|45J RXXzl34I ((   A :/F GC 88rxxz !! ! ==?o -- - ((   Aj/A BC 88rxxz !! ! ==?l ** * ((   A :/F'(  *C 88rxxz !! ! ==?l ** * y !A bhhj!b"Xa@AAAs <8G==Hctjgd}|j}tjj t ||d|d|d|j |j}|jgdk(sJtjj tjt ||j|j |j}|jgdk(sJtjj t ||d|d|d}|jgdk(sJ|dd}|j}tjj t ||d|d|dd|j}|jgdk(sJ|j dk(sJ|dd}|j}tjj t ||d|ddd|j}|jdd gk(sJ|j dk(sJy) N)rNrrrrr)aNbcr)Nrrrr) rrr^ StringArrayrJrrrGrr1rR)rr^copied binary_copyrs rtest_string_binary_from_buffersrUs HH* +EmmoG ^^ ( ( E GAJ GAJ8H8H F    !6 66 6(('' SZ(- 9I9I(- 6K  "&> >> > ^^ ( ( E GAJ GAJ8F    !6 66 6 12YFnnG ^^ ( ( F WQZWQZV]]LF    !1 11 1    !! !12YFnnG ^^ ( ( F WQZT2v}}FF    #s ++ +    !! !rc&tjgdtj}|j}tjj tjt ||}|jd|jgdk(sJd}tjt|5tjj tjt ||dddddy#1swYyxYw) N)z String longer than 12 charactersNshortz Length is 12rSTrznumber of buffers is at least 2rorr) rr string_viewr^StringViewArrayrJrrrr.r/rt)rr^rSrps rtest_string_view_from_buffersrZs HH   "EmmoG    , , #e*g/F OOO    "   /E z /8 '' NN c%j'!A, 8888s >ADDlist_type_factoryc8|tj}tjgddggdg|}|j|k(sJ|j }t j t5tjj|d|d|jdddtjjtjd||jd}tjj|d|d|j|g}|j|sJt j t5tjj|d|d|j||gdddy#1swYxYw#1swYyxYw)Nrrr)rrmrnrSrmrchildren) rrIrrTr^r.r/rtr1rJ num_buffersr)r[rrr^childrSs rtest_list_from_buffersrbsH 288: &B HHir95B ?E ::  mmoG z "? b!W_bnn%=>? HH ! !"((*a1I JE XX " "2q'/2>>*BeW " UF ==   z "7 b!W_bnn%=(-u~  777??77s4/F3FF Fc tjtjdtjtjdtjg}tj dddddddg|}|j }tjt5tjj|d d|d gdddtjjtjd |d d tjjtjd |d dg}tjj|d |dd | }|j|sJtjt5tjj|d |dg|dd  dddy#1swYxYw#1swYyxYw) Nrrrr5rrnrArSrrr^) rr0r1rIrrr^r.r/rtr1rJr)rrr^r_rSs rtest_struct_from_buffersrds{ BHHS"((*-rxxRWWY/GH IB HHAE*D2CD EmmoG z "9 b!dGAJ%789%%bhhj!WQq\B%%bggiGABK@BH XX " "2q'"1+ " IF ==   z "5 b!gaj\'/|  5559955s-'G+GGG#c  tjgdtj}tjgd}tjddgdddgg}ddddgd d ddd d d ddgd g}tjj |||ggd }|j tj d |j fd|j fd|j fgk(sJ|j|k(sJtjt5tjj |||gd dgdddtjj gg}|j tj gk(sJ|jgk(sJtjd |j d}tjd|j }tjd|j }tjj |||g|||g}|j tj |||gk(sJ|j djrJ|j|k(sJtj |||g}tjj |||g|}|j tj |||gk(sJ|j djrJ|j|k(sJtjt5tjj |||g||gdddtjj gg}|j tj gk(sJ|jgk(sJtjd tj} tjtd5tjj |||g| ||gddd|||g} |||g} tjgd} tjj | | | }|jdg|ddzk(sJtjj | gd | }|jdg|ddzk(sJtjtd5tjj | | gddddtjtd5tjj | | tjgddddtjtd5tjj | | tj| gdddtjj gg| }|j!| k(sJ|jdiigk(sJy#1swYxYw#1swYxYw#1swYxYw#1swY6xYw#1swYxYw#1swYxYw)NrmrnrrS)r6NrArrrrmr6rrnrrArrrFnullable)fieldsrzint64 vs int32ro)TFF)rimaskrrjz Mask must berjznot contain nulls)TFN)rrr StructArrayrrTr0rr.r/rtr1rhrr0rsis_null) rrr expected_listr"fafbfc structtypefa2arraysrirjs rtest_struct_from_arraysrvs^ ,A "#A 1a&$D *+Ae1a&)d&b4y)M .. $ $aAY @C 88ryy qvvaff QVV}57 77 7 ==?m ++ + z ": ""Aq!9sCj9: .. $ $R ,C 88ryy} $$ $ ==?b   #qvv .B #qvv B #qvv B .. $ $aAYB| $ DC 88ryy"b". .. .xx{### # ==?m ++ +BB<(J .. $ $aAYZ $ @C 88ryy"b". .. .xx{### # ==?m ++ + z "? ""Aq!9b"X">? .. $ $R $ 3C 88ryy} $$ $ ==?b   ((3 #C z)9 :D ""Aq!9c2r]"CDAYF"b\F 88( )D .. $ $VF $ FC ==?tf}QR'88 88 8 .. $ $V? $ NC ==?tf}QR'88 88 8 y 7N ""668L"MN z)< =@ "" F*=!> # @@ y 7; "" F!1!14&!9 # ;; .. $ $R$ $ 7C ;;=D  ==?tRn ,, ,y::.??DDNN@@;;sH&X %'X1(X'%X4#8Y>7Y  XX$'X14X>Y  Yctjgdgdg}tjtd5tj j |gdgdddy#1swYyxYw)NrrfzExpected Arrayror5)rrsr.r/r0rmr)rvs rtest_struct_array_from_chunkedrxUsU""Iy#9:K y(8 9; ""K=5':;;;s #A##A,rG)rrctjgdj}tjj |j t ||z |jj|j|}||d|k(sJy)N)onetwothreer{rzrF) rrrrrJrTrindicesr^r)rGrrs rtest_dictionary_from_buffersr~_sr 67IIKA ''Av () (9(9(;Q\\/5 ( 7A VW:??rchtjgdd}tjgdt}tjgd}tj j ||}tj j |||}|jj|jk(sJ|jj|jk(sJ|jj|jk(sJ|jj|jk(sJtt|D]Y}||j|||k(sJ||r||j:J||j|||k(rYJy)Nr]rrr|)FFTFFFrlrerrrrrrr}rrrrFrr')r}rrjd1d2rs rtest_dictionary_from_numpyrhsjii 1%G/v>J 88= >D   ' ' J 88G D 88J D   ' 'd 3B ::   !W^^%5 55 5 == " " $ (9(9(; ;; ; 3w< 7!u{{} 71: 66667rctjgd}tjgd}tjgd}tjgd}tjj||t j tj 5tjj||dddt j tj 5tjj||dddtjj||dy#1swYxxYw#1swY8xYw)Nrrrrrr)rrrrrFsafe)rrrrr.r/ArrowException)indices1indices2indices3rs r'test_dictionary_from_arrays_boundscheckrsxx*+Hxx #Hxx %H/0J""8Z8 r(( )= &&x<= r(( )= &&x<= ""8Ze"D====s !D8,!E8EE ctjgd}tjgd}tjj||}|jj dy)NrrTr)rrrrr}r)r}rr"s rtest_dictionary_indicesrsMhh)*G/0J   ( (* =CKKd#r)list_array_typer[ctjgdd}tj|d}gd}tj|d}|j||}tj|dd|dd |d d g|tj}|j |sJ|tj d tj}|j|||}|j|k(sJ|jjjd k(sJgd }gd }|j||}tj|ddd|ddg|tj}|j |sJgd} |j| |}tj|dd|dddg|tj}|j |sJgd}tjd }tjt5|j||dddgd}ttd}|j||}tjt5|j!dddd|tj}tjt"5|j|||dddy#1swYxYw#1swYfxYw#1swYyxYw)Nrrrnri4r|rrSrOrPrQdefghrRrrnrnamerNrrrOrPrQrrr)rrNr)rrr7)rrrrrTr)rerrrrRrr1rT value_fieldrrfr.r/rtrrFrr0) rr[ offsets_arroffsetspyvaluesrr<r=typoffsets2s rtest_list_from_arraysrs ((F ;;#   ;; " " ' '6 11 1G 1F  ( (& 9FxxT6!":6.ryy{;=H == "" "H  ( (6 :FxxVABZ6.ryy{;=H == "" "G YYq\F z "5##GV45G %(^F  ( (& 9F z "#T"# BIIK (C y !?##GV##>??55## ??s$K%9K1K=%K.1K:=Lr"rctj||tj}|j|j|j |j }||k(sJy)Nrl)rrrrrrrn)rr[r"reconstructed_arrs r!test_list_array_types_from_arraysr.sZ ((3)"'')4 5C'33 SZZckkm45 # ## #rcvtjdgdddgdgg|tj}tjgd}|j|j|j }|j dggddgdggk(sJ|j||j }||k(sJ|j|j|j |j}||k(sJtjtd5|j||j |jddd|dd}d}tjt|5|j|j|j |jdddy#1swYkxYw#1swYyxYw)Nr)rNrrrmrlzAmbiguous to specify both ror-Null bitmap with offsets slice not supported.) rrrrrrrrnr.r/rtNotImplementedError)rr[r"rr arr_slicerws r&test_list_array_types_from_arrays_failr@s ((QC4y1#.0A"'')0L MChh)*G(33CKKL  & & (aS"q$i!,E EE E(33GSZZH # ## #'33CKK47JJ9<4H # ## # z)E FM##GSZZckkm#LMABI 9C *# 6K##   y//i6G6G6I $ KKK MM KKs -F##7F/#F,/F8c tjtjtj}tjddig|}|j tjtj tj}tjtj tj}tjddig|}|j |sJy)NrrrS)rmap_rrcastrr)tr"r< t_expectedr=s r test_map_castrds  BHHJ'A ((QF8! $C XXbggbhhj"((*5 6FRXXZ0Jxx!Qz2H == "" "rctjtjdddd}tjddgdgg| }|jj tjdtj dk(sJ|jjtjd tjk(sJt|d k(sJy) NrrFrgrrrrrrrrSrr) rrr1rrT key_fieldr item_fieldrr)rr"s rtest_map_labelledrps E:GDA ((Xx(8*5A >C 88  &"'')e!L LL L 88  "((7BHHJ"? ?? ? s8q==rcztjddgdggtjtjtj}tjdddddigtjtjtj}|j |sJy) Nrrrrrrrr)rrrrrr)tup_arrdict_arrs rtest_map_from_dictryshh8,xj9wwryy{BHHJ79Gxxqq)C84 RXXZ8:H >>( ## #rc tjgdd}tj|d}gd}tt t |}tt ||}|dd|dd|dd g}tj|d }tj|d}tjj|||}tj|tjtjtj} |j| sJgd }gd }gd }tt ||}|ddd|ddg}tj|d }tj|d}tjj|||}tj|tjtjtj} |j| sJtjj|||tj|j|j}|j| sJtjtj d5tjj|||tj"dddtjtj d5tjj|||tj|jtj$dddtjjgd||tj|j|jtjgdtj&}|j(dk(sJ|j| sJtjjgd||tjgdtj&}|j| sJgd}dd|ddg}tjjgd||tj|j|jtjgdtj&}tj|tjtjtj} |j(dk(sJ|j| sJd} tjtj*| 5tjj|||tj|j|jtjgdtj&dddd} tjgdtj}tjtj,| 5tjj|j/d||tj|j|jtjgdtj&dddgd}tj0d}tj0d}tjj|||} tjt25tjj|dgz||dddtjt25tjj||tj4||gdddt|dddgz} t | t |k(sJtjt25tjj|| |dddtj|tj}tjj|j/d||}tjjgd||} |j| sJ|j6dk(sJ| j6dk(sJtjgdtj}tjj|j/dtjgtj"tjgtj"}tjjgdtjgtj"tjgtj"} |j| sJ|j6dk(sJ| j6dk(sJy#1swYVxYw#1swYxYw#1swYYxYw#1swYxYw#1swYxYw#1swYxYw#1swYSxYw) Nrrr|rrSrrrnrrRrr)rrrNrmrnzExpected map type, got stringrozMismatching map items typerrrrFTFrlr)rNNr)TTFz=Ambiguous to specify both validity map and offsets with nullsr)rrrrnrrrrrnr)rrrrrr)rrrrr)rerrrrFrr&MapArrayrrrRrrrTr.r/ArrowTypeErrorrrbool_rrArrowNotImplementedErrorrYrfrt concatenaterG)rrpykeyspyitemspypairs pyentrieskeysitemsr<r=msg1msg2rkeys_with_nulls rtest_map_from_arraysrs((H == "" " ==A   ??a  hh)288:6G [[ $ $ a RYY[! RYY[!F {{&& RYY[! RYY[!H == "" " ==A   ??a  ICC  L    <<OO @@sW5h'AhA6h(*Bh5&i&7i)"ihh%(h25h?i ii&c tjtdtj}tjj |d}|j gdgdgdgk(sJ|jjtjtjdsJtjtjdtjd}tjj ||}|j gdgdgdgk(sJ|jj|sJ|jjjdk(sJtjj ||tjgd }|j gddgdgk(sJtjj |dtjgd }|j gddgdgk(sJtjt5tjj |d dddtjt5tjj tjgtjd dddtjt5tjj |d dddtjtjd }tjt5tjj ||dddtjtj d}tjt"5tjj ||dddtjt5tjj |dddtjtjd}tjt5tjj |d|dddy#1swY8xYw#1swYxYw#1swYxYw#1swYJxYw#1swYxYw#1swYxYw#1swYyxYw)N rmrrC)rrr7rWrrSrrTrj) list_sizerjrrn)rrT)rrrFrFixedSizeListArrayrrrTrrr1rrr.r/rtrr0)rr<rs r test_fixed_size_list_from_arraysrs XXeBi ,F  " " . .vq 9F    , n!M MM M ;;  bhhrxxz15 66 6 ((288FBHHJ/ 3C  " " . .vC . @F    , n!M MM M ;;  c "" " ;; " " ' '6 11 1  " " . .v4746HH=Q4R/TF    ,n!E EE E  " " . .v9:46HH=Q4R/TF    ,n!E EE E z "6 ))&"56 z "G ))"((2rxxz*BAFG z "5 ))&!45 ((288:q !C z "< ))&s);< ((2::< #C y !< ))&s);< z "2 ))&12 ((288:q !C z "I ))&AC)HII366GG55 << <<22IIsU/!R1AR!R "R-."R:1 S#SRR R*-R7:SSSctjgdtj}tjgd}tjj ||}|j ddgddggk(sJ|j jtjtjsJtjgd}tjj ||}|j ddgdddggk(sJtjt5tjj tjgd|dddtjt5tjj tjgd |dddy#1swYaxYw#1swYyxYw) Nrrrrm)rrrmrrrrm)rNrrm)rrrm)rrrn) rrr ListArrayrrrTrrr.r/rt)rrr<s rtest_variable_list_from_arraysrDsV XXlBHHJ /Fhhy!G \\ % %gv 6F    1a&1a&!1 11 1 ;;  bhhrxxz2 33 3hh'G \\ % %gv 6F    1a&$A!7 77 7 z "?   *!5v>? z ">   )!4f=>>??>>s+6G6G G  Gc tjgddtjgddtjgdd}tjgdd}tjgd d gd fd }|tjj|gd dgddg||tjj|gddgddgddg||tjj|gddgd dgddg||tjj|gddgddgddgddg|tjj|g}t j tj 5|jddddtjj|gddg}t j tj 5|jddddtjgdd }tjj||g}t j tj 5|jddddy#1swYxYw#1swYxYw#1swYyxYw)NrOrPrQrrRrSrrrrrrrrrrrWrErWrWrErErW)rrrrrrrrrOrrPrQrrrcV|jdt|jjDcgc]}|j|j}}||k(sJ|jj dk(sJ|jj |k(sJ|jk(sJ|j|j sJ j|jsJ|jdjsJ|jdjsJtjt5|jddddtjt5|jddddycc}w#1swYBxYw#1swYyxYw)NTrdenserrrr)rrFrT num_fieldsrmode type_codesrrrr1r.r/KeyError) r<expected_field_namesexpected_type_codesexpected_type_code_valuesractual_field_namesrRrpy_value value_offsetss r check_resultz+test_union_from_dense..check_result_stT"',V[[-C-C'DF"#%kk!n11FF!%9999{{7***{{%%)<<<<!X---(//0A0ABBB##FNN333||A%%f---||A%%e,,, ]]8 $  LL   ]]8 $  LLO  F    s FF3FFF(rrrrrrrbinintrWrErTr)rrrrrrrm)rr UnionArray from_denser.r/rr) types logical_typesrr" bad_offsetsrRrrrs @@@@rtest_union_from_denserWs| XX.X >F HHYW -E HH* 8EHH9GMHH2AM0H&))%+15/;'*Cj&'V+0 2))%+15/+0%.:(-en&'V+0 2))-+15/68"X*?(+Cj&("X+8 :))-+15/+0%.2r(D(-en&("X+8 : -- " "=-$*E? 4C r '  $  -- " "5-&%/12h # 8C r '  $  ((0w?K -- " "5+ GC r '  $         s$%J  J,J8 J),J58Kc tjgddtjgddtjgdd}tjgdd}gd fd }|tjj|gd d gd dg||tjj|gddgddgd dg||tjj|gddgd d gddg||tjj|gddgddgddgddg|tjj|g}t j tj 5|jddddtjj|gddg}t j tj 5|jddddt j tj 5tjj|ddg}dddy#1swYxYw#1swYgxYw#1swYyxYw)N)rO rPrQrrrrRrS)rrrrrrrrrrrrc|jd|jk(sJt|jjDcgc]}|j|j }}||k(sJ|jj dk(sJ|jj|k(sJ|j|jsJ|jdjsJ|jdjsJtjtj5|jdddtjt5|jddddtjt5|jddddycc}w#1swYuxYw#1swYNxYw#1swYyxYw)NTrsparserrrr)rrrFrTrrrrrr1r.r/rrrr) r<rrrrrrRrrs rrz,test_union_from_sparse..check_resultsT"!X---',V[[-C-C'DF"#%kk!n11FF!%9999{{8+++{{%%)<<<<(//0A0ABBB||A%%f---||A%%e,,, ]]2,, -  NN  ]]8 $  LL   ]]8 $  LLO  F      s* F)- F.F:G.F7:GGrrrrrrrrWrErTr)rrr from_sparser.r/rr)rrrr"rRrrs @@@rtest_union_from_sparser sB XX@#%F HH* 9E HH* 8EHH9GM0H(**565/B'*Cj&'V+02 **565/,15>;',en&'V+0 2**=65/792h+@'*Cj&("X+8 :**=65/,15>,.85(-en&("X+8 : -- # #MFE? CC r '  $  -- # #EFE?02Bx $ 9C r '  $   r 'Lmm'' ab 7JKLL    LLs$I)I"'&I.I"I+.I7c tjjtjgdtjtjgdtjgdg}|j gdk(sJtjj tjgdtjtjgdtjtjgdtjgd g}|j gd k(sJy) N)rrrrrrS)r皙?Nffffff @g@)TNFTF)rNNr F)rrrrrrr)rrrrrrr)rr Nr )TNF)rTr Nr NF)rrrrrrrrr+s r%test_union_array_to_pylist_with_nullsr s -- # # rwwy1 HH/ 0 HH5 6  C ==?; ;; ; -- " " &RWWY7 &RXXZ8 HH* + HH( )  C ==?F FF Frctjjtjgdtjtjgdtjgdg}|ddj gdk(sJtjgdd}tjgd d }tjgd d }tjgd d}tjj ||||g}|j }tt|D]7}t|t|D]}|||j |||k(rJ9y)N)rrrrrS)rrrdrr)rrrmrrRrrrr)rrrrrrrr) rrrrrrrrFr)r"rRrrrrrr's rtest_union_array_slicers$ -- # #BHH\ $J%'XX.B%C%'XXl%;%= >C qr7   + -- - XX.X >F HHYW -E HH* 8EHH2AM -- " "5-&% IC --/C 3s8_4q#c(# 4Aq8%%'3q83 33 44rTrcheck_array_constructionc|\}}}}t|tjr|j|k(sJ|}ntj||}t|tjr|j|k(sJ|}ntj||}|j ||} | j d| j|sJ|r,tj|||}|j|sJyy)NrSrTrrTr)r)rr1rTrrrr) r rrin_datain_typeout_dataout_typer=in_arrcasteds r_check_cast_casers+/(GWh(BHH%}}(((88H84'288$||w&&&'0 [[[ -F OOO == "" " 't<}}X&&& rc tjgdddtjgddtjftjgdddtjgddtjftjgdddtjgddtj ftjgdddtjgddtj fg}|D] }t|tjd gdd d ftjd gdd d ftjdgdd d ftjd gdd d fg}|D]Z\}}}tj||}tjtj5|j|ddd\y#1swYgxYw)Nri1r|rru4u1f8PrrIpuint16ru2rS) rerrrr#rrrr.r/rr) safe_casesr  unsafe_casesrrrrs rtest_cast_integers_safer'(s ,d +V ,d +RXXZ 9 ,d +V ,d +RYY[ : ,d +V ,d +RXXZ 9 ,d +V ,d +RZZ\ ; J 5' &9 5' &: 2$d #Wh7 5' &': L '3""('0 ]]2?? + " KK ! " "" " "s G33G< ctjgd}tjt5|j ddddy#1swYyxYwr)rrr.r/r0rr+s rtest_cast_noner)Es< ((9 C y ! s A  Actjddgddgg}tjt5|j tj dddtjddgdggtjtj}tjt5|j tjdddy#1swYxYw#1swYyxYw)NrrrrmrOrPrQ) rrr.r/rrrrrRr+s rtest_cast_list_to_primitiver+Ms ((QFQF# $C * +  ((T4L4&)288BIIK+@ AC * +  s$C':$C3'C03C<ctjgd}|jdk(sJ|dd}|j|sJ|ddy)NrrSrrn)rrs num_chunksr)r"r<s r$test_slice_chunked_array_zero_chunksr.XsL  2F +C >>Q   VF ==  Grchtjgdtjgdg}tj|}tj}|j |}tj|Dcgc]}|j |c}}|j |sJycc}w)Nrrf)rrrsrrr)rucarrtargetrxr=s rtest_cast_chunked_arrayr3dshhy!288I#6 7F  F #D ZZ\F YYv F @A @AH == "" "!As<B/ctjtjtjtjftjtj ffD]W\}}tj g|}|j|}tj g|}|j|rWJyNrS) rrrrrrrsrr)typ1typ2r"r<r=s rtest_cast_chunked_array_emptyr8ns bggi=ryy{K BHHJ/1' dr-$##BT2}}X&&& 'rctjt5tjggj }dddt tjsJy#1swY&xYwN)r.warns FutureWarningrrsrar) ChunkedArray)rs rtest_chunked_array_data_warnsr>ysO m $*t$))* c2?? ++ +**s !A  A)ctjdgddtjdgjdtjftjdgddtjdgjdtj ftjdgddtjdgjdtj ftjdgdtj tjdgjdtjfg}|D]}t |d y) Nr!rr|ri2r"r$rFr)rerastyperrIr#rr&r s rtest_cast_integers_unsaferCs 5' & 5'  ! ! ! -rxxz ; 5' & 5'  ! ! ! -ryy{ < 2$d #W 2$  T  *BIIK 9 5' & 5'  ! ! ! -rxxz ; L+E*+rctjgdddtjgddtjftjgdddtjgddtjftjgdddtjgddtjfg}|D]}t |d y) Nrr@r2r|rrr)g$g4@g>iriTr)rerrrrr%r s r!test_floating_point_truncate_saferIs / 3Y )4 ("((* 6 / 3Y )4 ("((* 6 &i 8) . -rxxz ; J*D)*rc\tjgdddtjgddtjftjgdddtjgddtjftjgdddtjgddtjfg}|D]J}t j tj d 5t|d dddt|d Ly#1swYxYw)N)r g@r r2r|rrr)g333333$g3333334@gL>rG truncatedroTrF)rerrrr.r/rrrBs r#test_floating_point_truncate_unsaferLs / 3Y )4 ("((* 6 / 3Y )4 ("((* 6 &i 8) . -rxxz ; L+ ]]2??+ > . T - . E* + . .s <D""D+ c ddddddddtdg }tj|tj }|jtjk(sJ|j ddddddd d tdg k(sJt |d k(sJd }tjtj|5tjgdtj }dddy#1swYyxYw)Nrrrrrg1@gS?infrSg@g?z@[ -5, 0, 1, 2, 3, null, 12344, 1.234375, inf ]z@Could not convert 'a' with type str: tried to convert to float16ro)rrN) floatrrrrTrrr.r/r)valsr"rs r!test_half_float_array_from_pythonrQs 3Qj(E%L ID ((4bjjl +C 88rzz| ## # ==?r1c34'u7 77 7 s82 33 3 MD rd 3:hh~BJJL9:::s ?,C44C=cJtjddtjdgtjddgdtjftjddtjdgtjdd gd tj ftjd dtjd gtjdd gd tj fg}|D]}t|t|dy)N123456z-912345 rn@Ni'1234-9123r7iNi]123z-91{NiTr)decimalDecimalr decimal128rrIrrrHs rtest_decimal_to_int_saferas__X &gooi.H I MM"a # HHJ  __V $dGOOG,D E MM"b !  HHJ  __U #T7??5+A B MM"b !  GGI  J(*D)*rctjtjddtjdgt j ddgdt j ftjddtjdgt j ddgdt jftjd dtjd gt j ddgd t jfg}|D]I}tjtjd 5t|dddt|ddKy#1swYxYw)N 1234567890123z-912345678901234rTrn)iqNirSz -912345678)i@NirWrX)iN]zInteger value out of boundsroFr) rerr^r_rr`rrIrr.r/rr)out_of_bounds_casesr s r'test_decimal_to_int_value_out_of_boundsrfs( HH0 23  MM"a * HHJ __X &gool.K L MM"a ! HHJ  __V $dGOOG,D E MM"a  GGI  #2$K ]]2??!>@ # T " # EEJK # #s  E''E0 ctjddtjdgtjddgdtjftjddtjdgtjdd gd tj ftjd dtjd gtjdd gd tj fg}|D]J}d}tjtj|5t|dddt|dLy#1swYxYw)Nz 123456.21z -912345.13rTrnrUz1234.134z-9123.1rYr7rZz123.1451z-91.21r\-Rescaling Decimal value would cause data lossroFr) r^r_rr`rrIrr.r/rr)non_integer_casesr  msg_regexps rtest_decimal_to_int_non_integerrks , -  MM"a # HHJ __Z ($ 0J K MM"b !  HHJ  __Z ($0I J MM"b !  GGI  #2"+D ]]2??* = # T " # E* + # #s 1 EE ctjtjddgtjdd}|j tjdd}tjtjddgtjdd}|j |sJd}tjtj|5|j tjd d }ddd|j tjd d d }tjtjd dgtjd d }|j |sJtjtjd5|j tjdd}dddy#1swYxYw#1swYyxYw)Nz1234.12rYr7rSrrrhrorrFrz1234.1z'Decimal value does not fit in precisionrnr) rrr^r_r`rrr.r/r)r"r<r=rjs rtest_decimal_to_decimalrm&sy ((  #T* ]]2r " CXXbmmB* +Fxx  #T* ]]2q !H == "" "@J rj 9/"--1-./XXbmmAq)X 6Fxx  "D) ]]1a H == "" " rF H/"--1-.//////s &G-&G(G%(G1c tjtjdg}t j tj d5|jtjddddy#1swYyxYw)NrrKroTr) rrrenanr.r/rrrr+s r test_safe_cast_nan_to_int_raisesrpBsU ((BFFB< C rk :( $'(((s &A::Bctjgddtjtjgddtjftjgddtjtjgddtjfg}|D] }t |y)Nrrr|rr@r$)rerrrr#rrHs rtest_cast_signed_to_unsignedrrJs ,d +RXXZ ,d +RXXZ 9 ,d +RYY[ ,d +RYY[ :Jrcdgdz}tj}tjtjtjtjtj tj dtj tjtj tjdtjtjtjddtjdtjddtjddtjdtjtjtjd tjtjd tj tj tjd tj"gtj$tjtj"g}|D]}t'||||ftj(tjd tj dtjd tj"gtj*j, tj(tjd tj dtjd tj"gtj*j. g}tj0|tj }|D]5}t3j4t65|j9|ddd7y#1swYBxYw)Nrr7rmrYrrrz Europe/Parisrrr)rrS)rrrrrrRrrIrrr`rrmonth_day_nano_intervalr0r1rrrrunionrUnionMode_DENSEUnionMode_SPARSErr.r/rr)rr out_typesrrs rtest_cast_from_nullryWsefqjGggiG         "   Q bhhj! b! T Te$ Tn- D ""$ 288C,88C"'')!4588C-/ 0 bhhj"))+.'I*@'7GX>?@ "((3 " .((3 ,.46FF4J4J L "((3 " .((3 ,.46FF4K4K M IXXgBGGI .F" ]]. / " KK ! " "" " "s -O  O c(tjgdtjgdtjftjddgtjddgtjfg}|D]\}}|j |j d}|j d|j|sJ|j |j d}|j d|j|rJy) N)r127z-128)rirS18446744073709551615lTrr)rrruint64rrTrr)rrr=r casted_backs r$test_cast_string_to_number_roundtriprs & ' .rwwy 1 3 4/0 1 4-.RYY[ A C E "*X]]6T"}}X&&&kk&++Dk9 $'!!&))) *rc tjgdtjtjtj}tjgd}|j tjtjtjk(sJ|j tj|k(sJtjtjtjfD]}tj|tj}tjgdtj|tj}|j ||k(rJtjtj5|j tjdddy#1swYyxYw)NrrS) rrrrrrTrrrIrr.r/r)r"r=key_typers rtest_cast_dictionaryrs: (( ]]288:ryy{ 3 Cxx,-H 88r}}RXXZ= == = 88BIIK H ,, ,WWY BHHJ7)mmHbiik288 x5 xx}((( ) r ' s :$G''G0c\tjgdtj}tjgdtj}|j tjj |sJ|j dj |sJy)NrrSrR)rrrrRviewrr"r=s r test_viewrsp (((rwwy 9Cxx-BIIK@H 88BIIK ' ' 11 1 88H  $ $X .. .rc*tjgdtjgdftjgdtjgdftjgdtjtjgdtjfg}|D]_\}}|j}|j |sJtj |gj}|j |r_Jy)Nrrrrrrrr5Nr6r5r5Nr6)rrrUuniquerrsrr"r=r<s rtest_unique_simplers $ %rxx ':; - . & ' ) -r/@ A &(9 : <  E' X}}X&&&!!3%(//1}}X&&& 'rc Btjgdtjgdtjgdtjftjgdtjgdtjgdtjftjgdtjtjgdtjtjgdtjfg}|D]\}}}|tj|gfD]}|j }|j jtjtjd|j tjd tjgsJ|jdj|sJ|jd j|rJy) NrrrrrrSrr)rrrrcounts) rrrrUrs value_countsrTrr0r1)rr"expected_valuesexpected_countsarr_inr<s rtest_value_counts_simplers $ % )  )"((* - / - . & ' )"((* - / -r/@ A &(9 : )"((* - / E27B-_oB,,cU34 BF((*F;;%% 288Hchh788Hbhhj9;<= ==<<)00A AA<<)00A AA  BBrc.tjgd}tjgd}tjj||}|j }tjj|j |}|j |sJ|j }|jdj |sJ|jdj tjgddsJtjjtjgd|}|j }tjjtjgdtjgd}|j |sJ|j }|jdj |sJ|jdj tjgdsJy) N) rrrrrrrrrrrr)r5r6rquxrr)rrnrmrrSr)rrrrrrrr1)r}rr" unique_resultr=r<s r(test_unique_value_counts_dictionary_typershh; KH    )) )    F << ! ( ( 77 7 << ! ( ()')J KK K   ( ( '"J 0CJJLM!!--bhhr.H.0hhr.GIH    )) )    F << ! ( ( 77 7 << ! ( ("7)C DD Drc tjgdtjjtjgddgdftjgdtjjtjgdddd gftjgdtjtjjtjgddtjdd gtjfg}|D]\}}|j }|j |sJtj|gj }|jd k(sJ|jd j |sJtjg|jj }|jd k(sJ|j|jk(rJy) NrrrNrrrrrrNrrrrrSrrrNrrr5r6rr) rrrrrUrrrsr-chunkrTrs rtest_dictionary_encode_simplers * +   ' ' XX.W =    - .   ' ' XXoG 4U^   -BOO4E F   ' ' XXoG 4 XXuen2??+< = ? @ E, X&&(}}X&&&!!3%(::<  A%%%||A%%h///!!"3884FFH  A%%%{{hmm+++,rc tjgdddtjjtjgddgdftjgdddtjjtjgd dd d gftjgdtjddtjjtjgd dtjd d gtjfg}|D]\}}|j }|j |sJtj|gj }|jdk(sJ|j|jk(sJ|jd j |sJtjg|jj }|jd k(sJ|j|jk(rJtjgd }|jdj y)Nrrr)rrNrrrrS)rrr)Nr5r6r5xyzzyrrrr5r6rr) rrrr large_stringrrrsr-rTrrY)rr"r=r<rs rtest_dictionary_encode_slicedr s * +Ab 1   ' ' XX(w 7    6 7" =   ' ' XXig .U^   6( **+B 0   ' ' XXig . XXuen2??+< = ? @ E , X&&(}}X&&&!!3%(::<  A%%%{{hmm+++||A%%h///!!"3884FFH  A%%%{{hmm+++ , HH* +E KKN$$&rctjgtj}|j}t |j dk(sJ|j dy)NrSrTr)rrrrrrr)r"encodeds r"test_dictionary_encode_zero_lengthr)sP ((2BIIK (C##%G w!! "a '' ' $rc tjgdtjjtjgddgdftjgdtjjtjgdddd gftjgdtjtjjtjgddtjdd gtjfg}|D](\}}|j }|j |r(Jy) NrrrrSrrrr5r6)rrrrrUdictionary_decoder)rr=r"r<s rtest_dictionary_decoder1s  * +   ' ' XX.W =    - .   ' ' XXoG 4U^   -BOO4E F   ' ' XXoG 4 XXuen2??+< = ? @ E' #&&(}}X&&&'rctjtjgddtjd}tjgdd}|j d}|j |sJy)Nr]rr|rrSr)rrretime32rrr"r=r<s rtest_cast_time32_to_intrEsW ((288IW5 # (Cxx -H XXd^F == "" "rctjtjgddtjd}tjgdd}|j d}|j |sJyNr]rr|rrSi8)rrretime64rrrs rtest_cast_time64_to_intrOsW ((288IW5 $ )Cxx -H XXd^F == "" "rctjtjgddtjd}tjgdd}|j d}|j |sJyr)rrrerrrrs rtest_cast_timestamp_to_intrYsX ((288IW5 T* ,Cxx -H XXd^F == "" "rc tjgdd}|jd}|jd}tjtjdddtjdddtjdddgjd}|j |sJ|j |sJy) Nr]rrSdate32irrr)rrrrrr)r"result1result2 expected1s rtest_cast_date32_to_intrcs ((94 (Chhx Gll4 G dAq! dAq! dAq! tH~  >>) $$ $ >>#  rctjtjgddtjd}tjgdd}|j d}|j |sJyr)rrrerrrrs rtest_cast_duration_to_intrssX ((288IW5 D) +Cxx -H XXd^F == "" "rc6tjgdtj}|jtj}tjgdtj}|j |sJdj dg}tj|}|jtjk(sJtjt5|jtjdddtj|tjdgtj}|jtj}|jdk(sJy#1swY|xYw) N)sfoosbarsbazrSrmañana utf-16-leT)rjrTr)rrrRrrrencoderTr.r/rtrrer) binary_arrutf8_arrr=non_utf8_valuesnon_utf8_binarynon_utf8_all_nullrs rtest_cast_binary_to_utf8r}s2EJrwwy)Hxx-BGGI>H ??8 $$ $!))+67Ohh/O   299; .. . z "*RYY[)*rxx7G&(iik3 # #BIIK 0F    !! !**s 0$FFctjtjgddtj}tjgdd}|j d}|j |sJy)Nr]rr|rSr)rrredate64rrrs rtest_cast_date64_to_intrsU ((288IW5  %Cxx -H XXd^F == "" "rc tjddddddd}tjddd}tj||gd}tj|j|jgd}|j |sJ|j d }|d j |dj k(sJy) Nrr"8rVrrSrr)rrrrrrr')val1val2r<ras_i8s r!test_date64_from_builtin_datetimers   T1aRV > uQx~~/ // /r)rrboolrzrrr r#r7rIuint32rr~rrO)rg?g?doublerrrR)rOrPrQr)sabcsbcdscdecvtj||}|j|j|sJyr5)rrrr)rrr"s rtest_cast_identitiesrs0" ((6 #C 88B<  s ## #r)rar)TFTT)rrrmr)rr,N)rNrrrmrnrrrr))rr)rrNctj||}td|jdzD]6}|j |j ||}|j |r6Jy)NrSrr)rrrFHIGHEST_PROTOCOLloadsdumpsr)rar pickle_modulerprotor<s rtest_array_picklersd HHT $Eq-881<=$$$]%8%8%FG||F###$rctjjgdgd}td|jdzD]6}|j |j ||}|j|r6Jy)Nrrrr)rrrrFrrrr)rrrr<s rtest_array_pickle_dictionaryrsl    * *?O LEq-881<=$$$]%8%8%FG||F###$r)suppress_health_check) min_value max_valuercn|j|}|j|}|j|sJyr:)rrr)rr"rarestoreds r test_picklingrs6   s #D""4(H ::h  rctj||}|jDcgc]}| |jnd}}t d|j dzD]z}g}|j |||j}|j||} |j| sJ| jDcgc]}| |jnd} }| |k(rzJycc}wcc}w)NrSrrnr)buffer_callback)r^) rrr^r_rFrrappendrr) rarrrbuf addressesrr^pickledr<result_addressess rtest_array_pickle_protocol5rs HHT $E!MMO-!$Q6-I-q-881<=-%%eUGNN%S$$Wg$>||F###(.~~'79 #,/?CKKA999,,,--9s C7Cc>tjdtjtjdtjtjdtjtjdtj tjdtj tjdtjtjdtjtjdtjtjdtjtjdtjtjdtjf D] }tj|}|j|j!jk(sJtj"j%||j!tj"j%|dd|ddj!tj"j%|dd|ddj!tj"j%|dd|ddj!y)Nr7r|rr)rerfrrrIrr~rr#rrr2rrrr}r]rgrh)narrr"s rtest_to_numpy_roundtripr s "BHH% "BHH% "BHH% "BGG$ "BII& "BII& "BII& "BHH% "BJJ' "BJJ' "BJJ' FhhtnzzS\\^11111 %%dCLLN; %%d2AhBQ0@0@0BC %%d12hAB0@0@0BC %%d1QiQq1B1B1DE%Frctjdgtj}tjtjdgd}|j |sJy)NrSu8r|)rrr~rerrs r$test_array_uint64_from_py_over_ranger sG ((G9299; /Cxx'$78H ::h  rc tjgdd}tj|}t j|}tj||dzk(sJ|j dk(sJdD]r}t jtjdtj ddtj dg|| }|j |k(sJ|jd k(rrJy) Nrrr|r)rr2rrrrmrSr)rerr rrrTror)r"r>rrr s r)test_array_conversions_no_sentinel_valuesr# s ((._check_caseQ sDhh"&&)E88Xt,26zz(###rrRrr2)rs r(test_binary_string_pandas_null_sentinelsrN s$rcdtjgdfdtjgdfdtjgdfdtjgdfdtjgdfdtjgtjdfd tjgtjft j d tjgtjd d fd tjgtjfd tjgtjfd tjgtjfd tjgtjdfd tjgtjdfd tjgtjdfd tjgtjdfg}|D]t\}}tjt t"f5tj$||dddtj$||d }|j&|dk7rdnd k(rtJy#1swY RVVbiik" RVVbiik" RVVbiik" RVVbiin% RVVbiio& RVVbll4() RVVbkk$'( E"?b ]]J 2 3 $ HHT # $$RT:  ",QA>>>? $ $s I((I1 cddl}|jddtjgt}t j |}t j ddtjgd}|j|sJy)Nrrrr|T)r)pandasIndexrerorrrr)pdrr<r=s r test_pandas_null_sentinels_indexr w s\ ((Aq"&&>( 0C XXc]FxxArvvD9H == "" "rctjdtjdddgd}t j|}t jdtjdddgt j }|j |sJ|jd}tjj|||j|jk(sJy)Nrmz datetime64[D]r|rSFrq) rerrrrrrr]rgrhr}r;s r)test_array_roundtrip_from_numpy_datetimeDr s ((D(--a34O LC XXc]Fxxx}}T1a89 LH == "" " __E_ 2FJJ!!&#. <<399 $$ $rc tjdtjddddddtjddddd dg}|jtjd d k(sJy) NrrmrrWr7rrrrr)rrrrTrr+s rtest_array_from_naive_datetimesr sg (( $1b"b1$1aA. C 88r||DT2 22 2r)r}rT datetime64[s]rdatetime64[ms]rzdatetime64[us]rzdatetime64[ns]rc dtjddddddtjddddd dg}tjtj|| }tj|| }|j |sJtjt tj|| }|j |sJy) NrrmrrWr7rrrrr|rS)rrrrerr)r}rTrar"r=s rtest_array_from_numpy_datetimer s $1b"b1$1aA. D ((288D. /Cxx4(H ::h   ((4U34 5C ::h  rc dtjddddddtjddddd dg}tj|d }tj|d }t|dd t|d dz}t j t j5t j|dddy#1swYyxYw) NrrmrrWr7rrrrrr|r)rrerrr.r/rr)rarrs r5test_array_from_different_numpy_datetime_units_raisesr s $1b"b1$1aA. D _-A $. /B "1;bf %D r22 3 s $CC )rrrrctjd|}tjd|}tjd|}tj|||g}tj|||gtj|}|j |j k(sJ|j j |k(sJ|d|dk(sJy)NNaT2017-01-01 01:01:01.1111111112018-11-22 12:24:48.111111111rSr)re datetime64rrrrTr)rrr2ya1a2s r"test_array_from_list_of_timestampsr" s eT"A 5t>rc&tjd}tjd}tjd}tjtj d5t j |||gdddy#1swYyxYw)Nrrrz'Unbound or generic datetime64 time unitro)rerr.r/rrr)rr2rs r+test_array_from_timestamp_with_generic_unitr$ sm eA 56A 56A r22F H !Qs %BBztimedelta64[s]ztimedelta64[ms]ztimedelta64[us]ztimedelta64[ns]cBdtjdtjddg}tj||}t j|}t |tj sJ|j|k(sJt j||}|j|sJ|j|k(sJt jttj||}|j|sJ|j|k(sJy)Nrrr|rS) rrrerrr) DurationArrayrTrrr)r}rTrarir"r=s rtest_array_from_numpy_timedeltar' s 11a  DXXd% (F ((6 C c2++ ,, , 88t  xx4(H ::h   ==?d "" " ((4U34 5C ::h   ==?d "" "rctjd}|gtj|gfD]9}tjt 5t j|ddd;tjdd}|gtj|gfD]9}tjt 5t j|ddd;y#1swYxYw#1swYRxYw)NrM)re timedelta64rr.r/rr)tdras r.test_array_from_numpy_timedelta_incorrect_unitr, s  Brxx~& ]]. /  HHTN   3 Brxx~& ]]. /  HHTN        s C6C#C #C, binary_typec|xstj}tjgdd}tj||}|j|k(sJtjgd|}|j |sJtjgd}tj|||}tjgd|}|j |sJtjgddzdddd }tjgddzddd }tj|||}tjgd |}|j |sJtjgd d }tj||}tjgd |}|j |sJy) NabcdeabcrAz|S5r|rSrrlr0NrArnrr0rANr0rANr0rArArArAz|S0)rrRrerrTr)r- expected_typer" arrow_arrr=rjs rtest_array_from_numpy_asciir7 sp .299;M (('u 5Ck*I >>] ** *xx,=AH   H %% % 88( )Dk5Ixx+-@H   H %% % (('!+5 9#A# >C 88(1, -cc 2Dk5IxxK*,H   H %% % ((leapdaysrErr9r:r<r=r?rrIrr: nanosecondsiUUUrD)rHrIi$I$)r>rl z)r9rMl\kpz)dateutil.relativedeltarEr rGrrr)r@rTrtrArrrrrr.r/rt)rErGrar"ror=s r&test_interval_array_from_relativedeltarOA sG5! AaaaqA ? @D ((4.C c277 88 8 88r113 33 3  Q",,QQ56aA",,!<=@DEF GHM xx &H ::h   ==? ! ! # j%//89D%//Q?@&' (() )) ) z "D *OSABCD z "A *N#>?@A z ". *&=)*,- .. z "@ *+;=>?@@DDAA..@@s0IIII(I II%(I1cddg}tj|tj}t|tjsJ|j tjk(sJdtj gdg}tj|}|j|sJ|j|k(sJy)N)rrr) rrrtr)r@rTrArrrBs rtest_interval_array_from_tuplerQk s * D ((4335 6C c277 88 8 88r113 33 3   #%Mxx &H ::h   ==?m ++ +rc ddlm}d|ddddddddd |g}tj|}t |tj sJ|j tjk(sJdtjgdtjgdg}tj|}|j|sJd|ddtjdddd tjd zd |dddd g}|jj|k(sJtj|gjj}t|dk(sJt|d|k(sJy) NrrFr) rHrIrr9r:r<r=r>rM)rErlE5IQ )rrrrErrKr?rL)pandas.tseries.offsetsrGrrr)r@rTrtrArrrrrrr)rGrar"ror=expected_from_pandas actual_lists r#test_interval_array_from_dateoffsetrVz s~1 111AQA ?   D ((4.C c277 88 8 88r113 33 3  ./  "$Mxx &H ::h   j%//89D%//Q?@&' ( !!!CE ==? ! ! #'; ;; ;((D6",,.557K { q   A #7 77 7r string_typec|xstj}ddg}|D]P}tjgd|}tj||}|j|k(sJtjgd|}|j |sJtjgd}tj|||}tjgd|}|j |sJtjgdd z|ddd }tjgdd zddd }tj|||}tjgd |}|j |rQJtjgd d }tj||}tjgd |}|j |sJy)NzU5r/r|rSrrlr2rnrr3r4z>Q   88RVVRVV$I 6D y !) BIIK() ((4biikt >Q  ))s &*DDctjjgddgd}tj|}tjgdd}|j |sJt j td5tj|tjgd  dddy#1swYyxYw) NrrFFTF)r}rjrrNrmrSz Cannot pass a numpy masked arrayro)TFFFrl)remarrrr.r/rtrcr<r=s rtest_array_from_maskedre s \5  7B XXb\Fxxg6H ??6 "" " z)K LA "((#>?@AAAs -B99Cctjjdgd}tj|}tjdgd}|j |sJy)Nrrr|rS)rercrrrrds rtest_array_from_shrunken_maskedrg sK aS (B XXb\Fxx'*H ??6 "" "rc|d}tjgdgdg}tjt|5t j|dddtjd}tjt|5t j|dddy#1swYXxYw#1swYyxYw)Nz only handle 1-dimensional arraysrrfrorr;)rwarr2darr0ds r"test_array_from_invalid_dim_raisesrk s ,C HHi+ ,E z -  HHQKE z -  sB&B2&B/2B;cRtjdt}tj|dddf}tjgd}|j |sJtj|dddf}tjddg}|j |sJy)N)rrr|r)TTTT)reonesrrrrr;s rtest_array_from_strided_boolrn s ''& %C XXc!Q$i Fxx*+H == "" " XXc!Q$i Fxxt %H == "" "rc gdtjtjdffgdtjtjtjtj ffgdtj tjffgdtjffg}|D]x\}}tj|}|D]Y}dtjddgfD];}tj|ddd||}|ddd|jk(r;J[zy)NabscdefrrrE)abcdefFrl) rrRrrIrrr2rrrerr)pydatarrYnparraypatyperj arrow_arrays rtest_array_from_stridedrz s biil ;< RWWY BHHJ CD 2::<67 bggi]+ F!>((6" >Frxx78 > hhwss|V,02 cc{k&;&;&==== > >>rc|tjgddz}|jdk(sJ|jdk(sJy)N)TTNFNTri )rr true_count false_countr+s r#test_boolean_true_count_false_countr~ s: ((84? @C >>T !! ! ??d "" "rctjgdtj}|j}t |dk(sJ|dj }dt |cxkrdksJJt |ddk(sJ|dd}|j}|jdk(t |dk(sJ|dj }dt |cxkrdksJJt |ddk(sJtjd|dj d k(sJtjtjgd }|j}t |dk(sJ|dJtjd |dj d k(sJtjgd }|j}t |d k(sJ|dj }t |ddk(sJ|dj }tjd|dk(sJ|dj }|dk(sJy)NrbrSrrr@rWhhxxh)rrrmrf3b)sfoo!Nsbar!!rrn4i)rrmrmrs foo!bar!!) rrrIr^r to_pybytes bytearrayrGr0unpackrer)rr^ null_bitmapa_slicedrrs rtest_buffers_primitiver" s/ rxxz2AiikG w<1  !*'')K K &B && && & [ !! $ 22 2uH G OOq w<1  !*'')K K &B && && & [ !! $ 22 2 =='!*"7"7"9 :i GG G #$AiikG w<1   1:   ==wqz446 79 DD D *+AiikG w<1  !*'')K [ !! $ 22 2aj##%G ==w '< 77 7 QZ " " $F \ !! !rc tjddgdgdgtjtj}|j }t |dk(sJ|dj }t|ddk(sJ|dj }tjd|d k(sJ|dj }t|dd k(sJ|d j }tjd |d k(sJtjgdtjtjdtjtjdtjg}|j }t |dk(sJ|dj }t|ddk(sJ|dj }t|dd k(sJ|dj }tjd|dk(sJ|d j }t|ddk(sJ|dj }tjd|dk(sJy)NrrrNrmrnrSrmrrnrr7rqqq8xqq)rrrrmrn))*NN)N+rrbxx)rr4xh)r) rrrrr^rrrr0rr1rrI)rr^rrrs rtest_buffers_nestedrH s/ 1a&$0rxx 7KLAiikG w<1  !*'')K [ !! $ 22 2aj##%G ==w '< 77 7!*'')K [ !! $ 22 2 QZ " " $F ==F + >> > /ii#rwwy!9!##rxxz!:!<= >AiikG w<1  !*'')K [ !! $ 22 2!*'')K [ !! $ 22 2 QZ " " $F == '5 00 0!*'')K [ !! $ 22 2 QZ " " $F == '5 00 0rc tjtjgdd}|jdk(sJ|j dk(sJt j |tj||jzk\sJtjgdd}|jdk(sJ|j dk(sJt j |tj||jzk\sJtjdd gdgd gtjtj}|jd k(sJ|j d k(sJt j |tj||jzk\sJtjgd gddgggtjtjtj}|j dk(sJ|jdk(sJtjdd gddgggd ddggddgggtjtjtj}|jdd }|jdk(sJ|j dk(sJy)Nrfrr|rNrrSrrr>B)rnrrDrr7rrmrr) rrrenbytesget_total_buffer_sizer getsizeofr __sizeof__rrrrY)rr s rtest_total_buffer_sizerk s5 )734A 88u   " " $ -- - == v003ahh> >> > G,A 88w   " " $ // / == v003ahh> >> > 1a&$0rxx 7KLA 88r>> " " $(= == = == v003ahh> >> > 9+By)"'')9L0MNA " " $(C CC C 88r>> Aq6Aq6"Yqc$:aWIFhhrxx 23 5A AB 997 77 7 # # %)I II Irctjtjgdtjtjgdtjg}|jdk(sJy)NrrSrfrE)rrsrrIr)rs rtest_nbytes_sizer sP "((@ AA 88r>>rctjt5tt j dgdddy#1swYyxYw)Nr)r.r/r0reprrTensorr2rr$test_invalid_tensor_constructor_reprr s5 y ! RYYs^ AA ctjt5tjdddy#1swYyxYwr:)r.r/r0rrr2rr test_invalid_tensor_constructionr s, y ! s 8A) offset_typer[c 0||tj}tjdgddddggggddgdgddggg|}tjgd |}|tj}tjgddddggddgdddgg|}tjgd |}tjgd tj}|jj |sJ|j j |sJ|j j |sJ|jj |sJ|j j |sJ|j j |sJ|jjj |sJ|j j j |sJ|jd j |sJy) Nr&rrmrnrrDrrS)rrrrrrD)rrrrnrnrDrDr rNrrrmrnrrDrT)rrrflattenrrr) rr[r7rrr6roffsets1arr0s rtest_list_array_flattenr s  HHJ  D 88   F  F  F  ! D"xx*=H RXXZ (D 88 A A A  Dxx0{CH 88 HHJ  D <<>  && & <<  x (( ( ;;  d ## # <<>  && & <<  x (( ( ;;  d ## # <<> ! ! # * *4 00 0 ;;   $ $T ** * <<  $ $T ** *r list_typerctjddgdddgddgg|}tjgdtj}|jj |sJy)NrrrrmrS)rrrrrr)rrrvalue_parent_indicesr)rr"r=s rtest_list_value_parent_indicesr sj (( F  4L F    Cxx*hhA    88O+>     % %h // /rc|tj}tjdgddggdg|}|jdd}tjd|d<|j |j t|||jg}|jdgdgdgk(sJ|jjgd k(sJ|j}|jd |j |jk(sJ|jgd k(sJ|jjgd k(sJy)NrrrrfrSrr^)rrrrTr)rrmrnrrrrrmrnr)rrrr^rHrJrTrrrrrr value_type)r[rr"r^ flatteneds r%test_list_array_flatten_non_canonicalr s BHHJ 'C ((QC!Q+# 6CkkmBQGg&GAJ  388SXw#**  NC ==?sD)4 44 4 ;; "l 22 2 I D! >>S^^ ++ +    L 00 0 ::   !%7 77 7rklassc||jgdgd}|jjgdk(sJ|jjgdk(sJ|dd}|jjgdk(sJ|jjgdk(sJ|j jgdk(sJ|jdj }|jdj }|dj |j||jcxk(rdgk(sJJy) N)rrrmrr)rrr)rrmrrfrrmrrrrrr')rr"rrr's r%test_list_array_values_offsets_slicedr s   L9K  LC ::   !%7 77 7 ;; "l 22 2 qr7D ;; "&8 88 8 << ! ! #y 00 0 <<> # # % 22 2 QA QA 7==?dkk!A.88: Aqc AA AA Arc tjtjtjdd}tjddgddgddggdddgddd ggg| }|jj |sJtjtjd}tjddgddgddgddgddd gg| }|jj |sJ|j j |sJtj}tjgd | }|jj |sJ|j j |sJ|j j j |sJ|j j |sJ|j d j |sJy) NrrrrmrnrrDrrrS) rrrrmrnrrDNrrT)rrrrrTrr)r7rr6rtyp0rs r"test_fixed_size_list_array_flattenr$ s 88BHHRXXZ+Q /D 88 F F F I  F    D 99  D !! ! 88BHHJ "D 88 AAA D 4!Q  D 99  D !! ! <<>  && & 88:D 88  D 99  D !! ! <<>  && & <<> ! ! # * *4 00 0 <<>  && & <<  $ $T ** *rc tjdgdgdggtjtjd}|ddj tjdgtjk(sJy)NrrrrrS)rrrrr)rs r-test_fixed_size_list_array_flatten_with_slicerH sb HHqcA3_((2::<1= ?E 9   "((A3RZZ\"B BB Brc Ztjtjtj}tjtj dtjdtj dtjg}tj ddgdgg|}|jjj|sJ|jtj d d d d d d ddd g|k(sJ|jjtj gdsJ|jjtj gdtjsJtjj|j|jjtj d d gdggsJtjj|j|jjtj d d gdggtjtjsJt!j"t$5|j'dddy#1swYyxYw)NkeyFrgrrrrrSrr)rrrrrrrr)rrrrr0r1rrrTrrrrrrrr.r/rr)r ty_valuesrs rtest_map_array_values_offsetsrN s BHHJ 'B 288E2779uE88GRXXZ8:;I 8X& 3"=A 88==   ** * 88rxxa a a !     66==/2 33 3 77>>"((9288:> ?? ? << # #AIIqvv 6 = = 3*se$% '' ' << # #AIIqww 7 > > 1a&1#RXXbhhj%9: << < * + s J!!J*cFtjtjdtjtjdtjg}tj gd|}|j \}}|jtjk(sJ|jtjk(sJ|jgdk(sJ|jgdk(sJ|ddj \}}|jdd gk(sJ|jd d gk(sJtj gd |}|j \}}|jgd k(sJ|jgdk(sJ|ddj \}}|jddgk(sJ|jdd gk(sJtj gd|}|j \}}|jgdk(sJ|jgdk(sJ|ddj \}}|jddgk(sJ|jdd gk(sJtj gd|}|j \}}|jgdk(sJ|jgdk(sJ|ddj \}}|jddgk(sJ|jddgk(sJy)Nr2rr*rSrr,r.r/rrrnr.r/)r+Nr-r)r,Nr.)rN)r @)Nr.r~)Nrr.rr)rN)Nr,)rNN)NNr,r,) rr0r1rIr2rrrTr)rrxsyss rtest_struct_array_flattenrf s BHHS"((*-HHS"**,/1 2B /b9A YY[FB 77bhhj  77bjjl "" " <<>Y && & <<>_ ,, , qrU]]_FB <<>aV ## # <<>c3Z '' ' +"5A YY[FB <<>\ )) ) <<>- -- - qrU]]_FB <<>dAY && & <<>dC[ (( ( 3"=A YY[FB <<>\ )) ) <<>- -- - qrU]]_FB <<>aY && & <<>c3Z '' ' /b9A YY[FB <<>_ ,, , <<>. .. . qrU]]_FB <<>dD\ )) ) <<>dC[ (( (rctjtjdtjtjdtjg}tj gd|}|jd}|jd}|jd}|jd}|jd}|jd}t |tjjsJt |tjjsJ|jtj gd tjsJ|jtj gd tjsJ|j|sJ|j|sJ|j|sJ|j|sJdtjfD]5}tjt5|j|ddd7d D]5}tjt5|j|ddd7d D]5} tjt5|j| ddd7y#1swYxYw#1swYxYw#1swYZxYw) Nr2rr*rSrrrrrrrrzrA)rr0r1rIr2rr)r Int16Array FloatArrayrr.r/r0rr rrx0y0x1y1x2y2 invalid_index invalid_names rtest_struct_array_fieldr s' BHHS"((*-HHS"**,/1 2B /b9A B B B B B B b"&&++ ,, , b"&&++ ,, , 99RXXibhhj9 :: : 99RXXoBJJLA BB B 99R== 99R== 99R== 99R== +# ]]9 % # GGM " # ##!# ]]: & # GGM " # ##"" ]]8 $ " GGL ! " "" # # # # " "s$%J6KK6J? K K ctjtjdtjtjdtjg}tj gd|tj gd}|j d}|j d}|j d}|j d }|j d}|j d}t|tjjsJt|tjjsJ|jtj gd tj sJ|jtj gd tj sJ|j|sJ|j|sJ|j|sJ|j|sJdtjfD]5}tjt5|j |ddd7d D]5}tjt5|j |ddd7dD]5} tjt 5|j | ddd7y#1swYxYw#1swYxYw#1swYZxYw)Nr2rr*rrrrrr)rNrnrS)r,Nr/rr)rr0r1rIr2r_flattened_fieldr)rrrrr.r/r0rrrs r!test_struct_array_flattened_fieldr sQ BHHS"((*-HHS"**,/1 2B /bhh34 6A  A B  A B  B B  B B  C B  C B b"&&++ ,, , b"&&++ ,, , 99RXXl< == = 99RXX.RZZ\B CC C 99R== 99R== 99R== 99R== +. ]]9 % .  } - . ..!. ]]: & .  } - . .."- ]]8 $ -  | , - -- . . . . - -s$;K 5K/K$ K K! $K- ctjtjtjtjtj tj tjtjtjtjtjtjtjtjtjtj tj dtj"g}t%j&||D],\}} tj(g|j+|.y#tj,j.tj0f$rY_wxYw)Nrm)lengthrS)rrrrrIrrrr#rr~rr2rrrrRr itertoolsproductrrrrr)rt1t2s rtest_empty_castr s                         % E*%%eU3R  HHRb ! & &r *  //A   s8&F!!-GGc~tjjgdddg}tjjgd|}|j ddgdggk(sJtjjgdddg}tjjgd|}|j gdk(sJy)Nrrr)rrr)rrrrr)rrrrr)rrrrr)rlist_arr dict_arr2s rtest_nested_dictionary_arrayr s!!--i#sDH||'' 8 >>N +9*>*>*@B"&!Q &!11BB uW~>!~a"f%>>F %g0.a"f500N(3"//# K%0"--/bggiK!;/);79% ghhtnHHS'* ~~((( i2 223y>* .lyy{d1g--- .i9 99''3. ..K9//0 %!* %C99;${*;;;;1$K% %+%B>0s+H/H4H:#H?cd}d}|gg|dz z}tj|}t|tjsJt ||dz k(sJ|gg|z}tj|}t|tj sJt ||k(sJt |j d|dz k(sJt |j ddk(sJy)Nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxi rr)rrr)r1rr=r)kilobyte_stringtwo_megarPr"s r#test_list_child_overflow_to_chunkedrI s OH   (Q, /D ((4.C c288 $$ $ s8x!| ## #    )D ((4.C c2?? ++ + s8x   syy| 1 ,, , syy|  !! !rcVtjgdgd}|tjk(sJtjgdtjgd}|tj k(sJtjggtj k(sJy)N)r5r6NrFFFTrlTTTT)r infer_typerrerr)rs rtest_infer_type_maskedr [ s~ .7 9B ?? .HH%=> @B ?? ==" % 22 2rcrtjgdtjgd}|jtjk(sJtjtjgddtjgd}|jtjk(sJy)NrmNrmrFFTFTrlrr|)rrrerTrr+s rtest_array_maskedrk s} ((#!;< >C 88rxxz !! ! ((288,C8!;< >C 88rxxz !! !rc tjgdtjgd}|jgdk(sJtjgdtjgd}|jgdk(sJtjgdgd}|jgdk(sJtjgdgd}|jgdk(sJt j tj 5tjgdtjgd}dddt j tj 5tjgdgd}dddt j tj 5tjgdtjgd}dddt j tj 5tjgdtjgdtjgd }dddt j tj 5tjgdtjgd }dddt j t5tjtjgdgd }dddt j t5tjtjgdtjgd }dddy#1swY*xYw#1swYxYw#1swYxYw#1swY?xYw#1swYxYw#1swYxYw#1swYyxYw) Nrrrl)rmNrmN)rmNrmr)rmrNr)rmNNN)rrrFg@r )FNFTTFTF)rrrerr.r/rr0r+s rtest_array_supported_masksrx s ((#!;< >C ==?0 00 0 ((?!;< >C ==?0 00 0 ((?2 4C ==?0 00 0 ((?2 4C ==?3 33 3 r(( )<hhHH%9:<< r(( )2hh022 r(( )<hhHH%9:<< r(( )OhhHH%?*,((3K*LNOO r(( )BhhHH%?@BB y !8hhrxx 01688 y !Bhhrxx 01HH%?@BBB5<<22<<OO BB 88BBsV/M),M63/N AN>/N/N)AN5)M36NN NN&)N25N>cddl}tj|jddgdd|jddgd  }|j ddgk(sJy) Nrrrr)rr}TFrr|rl)r rrSeriesr)r r"s r!test_array_supported_pandas_masksr sU ((6==!Qc=A tUm6 B DC ==?tQi '' 'rctjdgtjdtjdg}dg|j k(sJtjtjdgtjdtjdg}dg|j k(sJtjtjdgtjdtjdg}dg|j k(sJtjtjdgtjtjdg}dg|j k(sJtjtjdgtjtjdg}dg|j k(sJtjgddz}tj|tjdtjgd dz}d ||d k(<gddz|j k(sJy) NrrFrT)saaabbbscccr7r)FFFsXXXr)rrrRrer) masked_basicmasked masked_nullsnparys rtest_binary_array_maskedr s88WIBIIaL!#5'!24L 9 ..0 00 0XXbhhy) ! 88UG,.F 9((* ** *88BHHgY/biil!#4&!13L 6\++- -- -XXbhhy) 88UG,.F 9((* ** *88BHHgY/biik!#4&!13L 6\++- -- - ((+B. /C((3RYYq\ ")>r)A BDKCv  $R 'K,A,A,C CC Crctjgd}tj|dddtjdtjddg}ddg|j k(sJtjgd}tj|dddtjd}ddg|j k(sJy)NrprFrlrqrr)rerrrRr)rwrys rtest_binary_array_stridedr  shh,-G((73Q3<1 "% 8:K 5>[224 44 4hh,-G((73Q3<16K 5>[224 44 4rc ddgtjddgdtdfddgtjdgdggtjdfgdtjddgtjd ftjddgtjddgdtdftjddgtjdgdggt dftjgdtjddgt d fg}|D]>\}}}}t j|| 5tj|| ddd@y#1swYKxYw) NrrFrr|zmust be boolean dtypezmust be 1D arrayrzdifferent lengthrorl)rerr0rrrtr.r/)robjrjexrws rtest_array_invalid_mask_raisesr$ sT Q5%.4 + - QE7UG,- , . BHHeU^, , . 1a& 288UEN#> + - 1a& 288eWug$67 ' ) ) bhhu~6 ' )! E&$%T2s ]]2S ) % HHSt $ % %% % %s 9EE% ctjt5tjt dgdddy#1swYyxYw)Nr)r.r/ OverflowErrorrrrr2rrtest_array_from_large_pyintsr' s5 } %! #g, !!!rc$tjgd}tj|}tjgdd}tjj ||tj|d}tjj ||tj|dd}tjj ||tjgd}tjdd tj gd }tj|}tjj ||ttjtd krptj|d}tjj ||tj|d d}tjj ||ntjtd 5tj|ddddtjgd}tjt5tj|d ddddtjgd}|jd}|jjsJtjgd}|jtjd d}|jd k(sJy#1swYxYw#1swYxYw)Nrrr|F)copy)r}r)r~rrrz 2.0.0.dev0zUnable to avoid a copyroT)rrrerrgrhror __version__r.r/rt __array__flags writeabler}r;s rtest_numpy_array_protocolr.s ((9 C ZZ_Fxx 1HJJ!!&(3XXc &FJJ!!&(3 XXcu 5FJJ!!&(3 ((< CxxArvvi8H ZZ_FJJ!!&(3r~~!66#E* %%fh7#YU; %%fh7]]:-E F & HHSu % &hhy! ]]: & 7 HHS  6 7 ((9 C ]]] %F << ! !! ! ((9 C ]])!44] @F <<9 $$ $ & & 7 7s9K: L:LLcGdd}|tjgdd}tj|}tjgdtj}|j |sJtj|tj}tjgdtj}|j |sJtj|tj }tjgdtj }|j |sJt jt5tj|tjgddddt jt5tj|d dddGd d }|tjgdd}t jt5tj|dddGd d}|tjgdd}tj|}tjgdtj}|j |sJGdd}tjgdd}|||}tj|}tjgdgdgtj}|j |sJy#1swYxYw#1swYwxYw#1swY$xYw)NceZdZdZddZy)$test_array_protocol..MyArrayc||_yr:raselfras r__init__z-test_array_protocol..MyArray.__init__7 DIrNcDtj|j|Sr5)rrrar5rTs r__arrow_array__z4test_array_protocol..MyArray.__arrow_array__:s88DIID1 1rr:r7r8r9r6r:r2rrMyArrayr16s   2rr<rrr|rSrzrlrrceZdZdZddZy)+test_array_protocol..MyArrayInvalidc||_yr:r3r4s rr6z4test_array_protocol..MyArrayInvalid.__init__Pr7rNc@tj|jSr:)rerrar9s rr:z;test_array_protocol..MyArrayInvalid.__arrow_array__Ss88DII& &rr:r;r2rrMyArrayInvalidr>Os   'rrAceZdZdZddZy)%test_array_protocol..MyArray2c||_yr:r3r4s rr6z.test_array_protocol..MyArray2.__init__]r7rNcFtj|jg|Sr5)rrsrar9s rr:z5test_array_protocol..MyArray2.__arrow_array__`s##TYYKd; ;rr:r;r2rrMyArray2rC\s   .MyArray3c ||_||_yr:)data1data2)r5rJrKs rr6z.test_array_protocol..MyArray3.__init__isDJDJrNc\tj|j|jg|Sr5)rrsrJrKr9s rr:z5test_array_protocol..MyArray3.__arrow_array__ms"##TZZ$<4H Hrr:r;r2rrMyArray3rHhs   IrrM) rerrrrrr.r/rtr0rs)r<r"r<r=rArFrMris rtest_array_protocolrN3sH22 "((9G4 5C XXc]Fxx  3H == "" " XXc +Fxx  3H == "" " XXc -Fxx  5H == "" " z ": 288$789: z " 1'' )7; ctjtjddgtjddgg}|jtjgdsJy)Nrrrrmr)r concat_arraysrr) concatenateds rtest_concat_arrayresQ## 1a& 288QF+,.L   rxx 5 66 6rctjtj5tjtj dgtj dggdddy#1swYyxYw)Nrr)r.r/rrrcrr2rr!test_concat_array_different_typesrgsN r ': "((A3-2$89:::s AA--A6cPtjtd5tjdgdddtj ddgddgg}tjtd5tj|dddy#1swY^xYw#1swYyxYw)Nzshould contain Array objectsrorrrrm)r.r/r0rrcrsr+s rtest_concat_array_invalid_typeris y(F G! $ !  QFQF+ ,C y(F G  !!sB1BBB%c,tjgdtjdd}|j}|jj Jtj |g}|j}|jj Jy)NrrzEurope/BrusselsrrS)rrrrdtrrs)r"rs rtest_to_pandas_timezonerlsp ((92<<8I#J KC A 4477    C5 !C A 4477  rc"tjdgtjdgtjdgg}tj|}|j }|dj dk(sJ|j |k(sJy)Nrrrrr)rerrrrr}r)r=r"r<s rtest_to_pandas_float16_listrnsqA"**Q-2::a=/BH ((8 C ]]_F !9??i '' ' ==?h && &rc.tjgdtj}|jd}|j gdk(sJtj gdgdg}|jd}|j gdk(sJtjgdtj}|jdd }|j gd k(sJ|jdd }|j gd k(sJy)N)rnrD#rS descending)rprDrnrrf)rrnrmrrr)rnrDrpNat_end)null_placement)rprDrnNat_start)NrprDrn)rrrsortrrs)r" sorted_arrs rtest_array_sortrws ((:BHHJ /C,'J    !Z // /  Iy1 2C,'J    !%7 77 7 ((#"((* 5C,x@J    !%5 55 5,zBJ    !%5 55 5rcntjjtjgdtjtjgdgddg}|j dd}|j d d d d d d d dd ddd gk(sJ|j }|j ddd d dd d d d d d d gk(sJtjjtjgdtjtjgdgddgtjgd}|j ddd}|j dd d d d d d ddd gk(sJ|j ddd}|j d d d d d d ddd dgk(sJy)N)rnrDrDrprS)r5carr6foobarrrrrq)byrprzrrDryr6rnr5rarkrt)r{rsrr)rrmrrrrur)r"rvarr_with_nullss rtest_struct_array_sortr}s .. $ $ RXXZ0 01&3Z % C ,3/J    !x eee &  J    !eeex &  ^^// RXXZ0 0113Zbhh'BC0EN  $$Z%9J    ! x ee &   $$X%7J    !x ee &  rctjgd}tj|}||k(sJtj|tj}tjgdtj}||k(sJ|jtjk(sJtjdgtj}t j tj5tj|tjdddtjdgtj}tj|tjd}||k(sJtj|tj}||k(sJy#1swYxYw)NrrSlrFrr) rrrrTrr.r/rrrr;s r test_array_accepts_pyarrow_arrayr s7 ((9 C XXc]F &==XXc +Fxx  3H v   ==BHHJ && & ((K=rxxz 2C r '' 288:&'xx288:.H XXc  7F X  XXcr'='='? @F &==''s ?*F==Gc|jj|k(sJ|jj|k(sJt||k(sJ|j |k(sJ|j |k(sJyr:)run_endsrrrfind_physical_lengthfind_physical_offset) ree_arrayrrlogical_lengthphysical_lengthphysical_offsets rcheck_run_end_encodedr%s|    ' ' )X 55 5    % % '6 11 1 y>^ ++ +  ) ) + >> >  ) ) + >> >rcvgd}gd}tjj|||}t|||dddyNrrnr7rYrrrrrYrmr)rRunEndEncodedArrayrr)ree_typerrrs r+check_run_end_encoded_from_arrays_with_typer.s8H F%%11(FHMI)Xvr1a@rcgd}gd}tj||j}tj||j}tjj ||}|j |k(sJt|||dddyr)rr run_end_typerrrrTr)rrrtyped_run_ends typed_valuesrs r'check_run_end_encoded_from_typed_arraysr5stH FXXh(=(=>N88FH$7$78L%%11.,OI >>X %% %)Xvr1a@rcttjtjtjfD]}tj tjtj tjfD].}tj||}t|t|0yr:) rrrIrrrr~run_end_encodedr)rrrs r test_run_end_encoded_from_arraysr?s/1RXXZ<> 99; BIIKL >J)), CH 7 A 3H = >>rc gd}gd}tjtjtj}d}dg}d}d}||g}tjj ||||||}t |||dddtjj ||g|||}t |||dddtjj |||d||}t |||dddtjj ||dz ||d|}t ||||dz dd tjt5tjj ||ddg|||dddtjt5tjj |||||ddddtjt5tjj ||||||gdddtjt5tjj |||d ||dddy#1swYxYw#1swYxYw#1swYhxYw#1swYyxYw) Nrr)rrrYrrmrrr) rrrrrrJrr.r/rt) rrrrr^rrGr_rs r!test_run_end_encoded_from_buffersrHs^H F!!rxxzbhhjQH FfGJ F&!H%%228VW3=v3;=I)Xvr1a@%%228VR3=v3;=I)Xvr1a@%%228VW35v3;=I)Xvr1a@%%228VaZ3=q(LI)Xvvz1aH z "I **8VdD\+5vx II z "E **8VW+5vt EE z "K **8VW+5vz KK z "@ **8VW+,fh @@@IIEEKK@@s0'I%I&I%I'I II$'I0cTgd}gd}tjtjtj}tjj |||}gd}tj ||}|j|sJtj tj ||}|j|sJtjtjtj}tj ||}|j|rJtjj |||}|j|sJgd}gd}tjj |||}gd}tj ||}|j|sJgd}gd }tjj |||}tj gd }tj ||| }|j|sJy) N)rrrrrrrrrrrS)rrrnr)rrrN)rrrrrN)rrrmrnr)rrNrN)FFFTFTr) rrrrrrrrrerIr2) rrrr=r"r< ree_type_2 expected_2rjs r)test_run_end_encoded_from_array_with_typerwsH F!!"((*bhhj9H$$00619;H C XXc )F == "" " XXbhhsm( 3F == "" "##BHHJ =J XXc +F}}X&& &&&228V3=?J == $$ $H F$$00619;H C XXc )F == "" "H "F$$00619;H 88< =D XXct 4F == "" "rcgd}tj|tjtjtj}t j|}t j j|jd|tjtj5|jdddy#1swYyxYw)NrFrq) rrrrrrergrhr]r.r/r)r"rr=s rtest_run_end_encoded_to_numpyrs Cb00RXXZHIIxx}HJJ!!)"4"4E"4"JHU r 's ;CCcgd}tj|tjtjtj}|j j |k(sJtjtj5|j ddddy#1swYyxYw)NrTrq) rrrrrrrr.r/r)r"rs rtest_run_end_encoded_to_pandasrs Cb00RXXZHII    ' ' )S 00 0 r '140111s B55B>cgd}gd}gd}|j|||}|jddgddgdd gdd ggk(sJ|jj|k(sJ|jj|k(sJ|jj|k(sJ|t j d t j}|j||||}|j|k(sJ|jjjd k(sJ|t j}tjt5|j|||| dddgd }gd}gd}|j|||}|jddgddgddggk(sJ|jj|k(sJ|jj|k(sJ|jj|k(sJg}ddg}ddg}|j|||}|jgdgk(sJ|jj|k(sJ|jjddgk(sJ|jj|k(sJg}ddg}ddg}|j|||}|jdggk(sJ|jj|k(sJ|jj|k(sJ|jjddgk(sJddg}gd}gd}t jgd}|j||||}|jdgddggk(sJ|jj|k(sJ|jj|k(sJ|jj|k(sJy#1swYzxYw)N)rrrrmrnrNrD)rrrmr)rrrrrrrrmrnrrDrrSr)rrrrr)rrr)rrrrrl)rrrrsizesrr1rrTrrrRr.r/r0r) rr[rrrrrr<rjs rtest_list_view_from_arraysrs )FG E  ' ' ?E ?? !Q!Q!Q$ C CC C << ! ! #v -- - == " " $ // / ;; "e ++ + BHHVRXXZ8 9C  ( (% EF ;;#   ;; " " ' '6 11 1 BIIK (C y !F##GUF#EFFG E  ' ' ?E ?? !Q!Q!Q 8 88 8 << ! ! #v -- - == " " $ // / ;; "e ++ +F$iG FE  ' ' ?E ?? T ** * << ! ! #v -- - == " " $A .. . ;; "e ++ +F!fG 1IE  ' ' ?E ?? r ** * << ! ! #v -- - == " " $ // / ;; "q!f ,, ,VFG E 88( )D  ' 'T ' JE ?? !dQC 0 00 0 << ! ! #v -- - == " " $ // / ;; "e ++ +]FFs OO!c:ddg}gd}gd}tjgd}tjtjj 5|j ||||dddgd}|j ||||}|dd}tjtjj 5|j |j|j|j|jdddy#1swYxYw#1swYyxYw)Nrr)rrN)rrr)FFTrl)rrr) rrr.r/rrrrrrrn)rr[rrrrjr array_slices r test_list_view_from_arrays_failsrsVFG E 88( )D rvv** +G##GUF#FGG  ' 'T ' JE)K rvv** +<##   !2!2   [%8%8%: $ <<<GG<F  HHJ  D 88   F  F  F  ! D"xxk:H XXoK 8F <<>  && & <<  x (( ( ::  V $$ $ ;;  d ## # <<>  && & <<  x (( ( ::  V $$ $ ;;  d ## # <<> ! ! # * *4 00 0 ;;   $ $T ** * <<  $ $T ** *FG E  ' ' ?E ==? $ $ &, 66 6 88/ 0D  ' 'T ' JE ==? $ $ &) 33 3 << ! ! #| 33 3rlist_view_typec|jgdgdgd}|dd}|jjgdk(sJ|jjddgk(sJ|j jgdk(sJ|jd j }|jdj }|d j |j||jcxk(rdgk(sJJy) N)rrrm)rrrr)rrrrrrmrfrr)rr sliced_arrayrr's rtest_list_view_slicercs  & &yA08J ' LE9L    ( ( *.@ @@ @    ) ) +1v 55 5    ! + + - :: :Q%%'AQ%%'A ? "l&9&9!A&>&H&H&J Qqc QQ QQ Qrnumpy_native_dtype)r$rr c&tj|j}tjd|}t j t j5t j|dddt j t j5t j|t jdddt j t j5t j|gdddt j t j5t jj|gdgdddy#1swYxYw#1swYxYw#1swYqxYw#1swYyxYw)Nr7r|rSrr) rer} newbyteorderrfr.r/rrrrrmr)rnumpy_swapped_dtyperis rtest_swapped_byte_order_failsrws  ((#56CCE YYr!4 5F r22 3  r22 3, bjjl+, r22 3 & r22 3: ""F8C5"9::,,::s0E#*E/4E;6$F#E,/E8;FFctjd}|jd}tjdtj }tj gdtj}|j|}|j|}tjjtj dd|g}tjjtj dd|g}tjjtj d||g}|j|jdk(sJ|jd|gk(sJ|jtj j"k(sJ|j$dusJt'|dk(sJ|j)ddjdk(sJt+|sJt-|sJtj.t05|j3dddtj.t05|j5dddtj.t05|j7|dddtj.t05|j9tj:dddtj.t05|j=tj:dddtj.t05|j?dddtj.t05|jAdddtj.t05|jCdddtj.t05|jEdddtj.t05|jFdddtj.t05|jHdddtj.t05|jKdddtj.t05tM|D cgc]} | c} dddtj.t05||k(dddtj.t05|jOdddtj.t05|jQdddtj.t05|jSdddtj.t05|jUddddtj.t05|ddddtj.t05|jWdgdddtj.t05|jYdddtj.t05|j[gddddtj.t05|j]ddddtj.t05|j_dddtj.t05|jadddtj.t05|jcdddtj.t05|jedddtj.t05|jd dddy#1swYlxYw#1swYGxYw#1swY!xYw#1swYxYw#1swYxYw#1swYxYw#1swYgxYw#1swYBxYw#1swYxYw#1swYxYw#1swYxYw#1swYxYwcc} w#1swYxYw#1swYsxYw#1swYNxYw#1swY)xYw#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYxxYw#1swYPxYw#1swY*xYw#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYyxYw) Nz pyarrow.cudarrmr|rFr)TTFFTr)3r.rContextrerfrrrbuffer_from_datarr1rJrrGr^ device_typeDeviceAllocationTypeCUDAis_cpurrYrrr/r __dlpack____dlpack_device__rrrrrrrrrrriterrnis_nanr( fill_nulltake drop_nullfilterindexrur+r]r) cudactxravalidity cuda_data_bufcuda_validity_bufr"rr|rs rtest_non_cpu_arrayrsw   ~ .D ,,q/C 99Qbhh 'Dxx2"((CH((.M,,X6 ((   Am/D EC 88 Q}0E FDXX**  A)=9;NLLN ::?? ;;=T=1 11 1 ??b55:: :: : ::   s8q== 99Q? ! !Q && & 99 s8O8 * +  * +    * +  * +  * +  * +   * +  * +   * +  * +"!!" * +  * +$ !!#$ * +Iq * + t  * +  * +  * +  * + a * + A * + !  * +  * +/ -./ * + !  * +   * +  * +  * +  * +  $   q    ""$$ //  sb ^;^-^ $^+%$^8*____,2 _9 ```% ` `%;`2"`?a a8a&+a3bb 8b-b' b4cc6c(c(^^^(+^58____),_69``` `%%`/2`<?a  aa#&a03a=b  bb$'b14b>c cc%(c1r:)collections.abcrrr^ hypothesishhypothesis.strategies strategiesstrr.r0r r r numpyre ImportErrorpyarrowrpyarrow.tests.strategiestestspastpyarrow.vendored.versionrmark processesrr$r,r3r>rBrGrJrMrPr[rkrxrr parametrizerrrr rnopandasrrrrrrrrrrr rr$r(r3r<r?rArMrUrZrr list_viewlarge_list_viewrbrdrvrxr~rrrrrrLargeListArrayrrrrrrrrrrr r rrr'r)r+r.r3r8r>rCrIrLrQrarfrkrmrprrryrrrrrrrrrrrrrrrrrrrFrRrrrrrIr1pickle_test_parametrizerrsettings HealthChecktoo_slowgivenru all_typesintegersrrrrrrrrr rrrrrr"r$rr'r,rU binary_viewr7rCrOrQrVrrrXrZr]r_rergrkrnrzr~rrrrrrrrrrrrrrrrrrrrrslow large_memoryrrr rrrrr r$r'r.rNrPrWr^rarergrirlrnrwr}rrrrrrrrr ListViewArrayLargeListViewArrayrrrrrrr2rrrs$%"  '', - -.B    ;44& 4 4499"!89e}-4.:4!894:4446#8#8L BGGI BGGI BIIK     4'n # 66&;R'B4:%722 # AA( "F84,HHbmmR\\2+=+=/?@7@7*5*L-^;6*+;;,CCL 7 7 E*$A<<2,,bmm<>?3??3?lA\\288 &D A3K At9qcS1#J! $  $A\\288 &DK K@ #$I I X1Ih>&G TBLJG,4&$($'2""8  #', ++( * *++$ :*4"K"KJ +F/8((  %"P * 0/ 'B,E4,4'@ '(######  ##""(## 0) ! eAsm U1c] uQ| eArl uQ| eArl uQ| eArl o   !"RYYq\+,, $! $ !++11 "HBHHJ/ xrxxz" :2::<( 9299;' T a&1#,- a&1#  hbhhj12 %Sz "HBHHYRYY[$9: a&1#  XRXXZ01 a&1#***8288:67 %Sz "LBLL$=> # BIIxrxxXRXXZ0("((3  2LM N P($$$ 1==#9#9";<DKK  R[[1 3  = --"FF,   $ $#6??:##%%3*lbll3'(|r||D)*|r||D)*|r||D)* -   "  !89 : *{r{{3'(  D)*  D)*  D)* - # #,   BIIKBOOBNN ) &  &@,,&@&@R , 8 8F BGGIBMMOBNN ) &  &F88   AA####>>"#""""J 1FJJ.   =#288:rxx08288:r}}2MNP4+P4+n BHHXRXXZ BHHXRXXZ1%BMM("((*'  7   75#288:xrxx ';<#288:xrxx a'HI#288:}r}}XRXXZ'@A#288:|r||HBHHJ'?@#288:'9r'9'9("((*'EF HI 0 I 04,rxx.GH8I8&2<<1B1B"CDBEB$!+HC 0#)L"D -F>>;;4 6-%7-%`""" 3 3 " "/B/Bd((DD@ 5 5%%4!+%+%\@#@#F==NN<9K*LM :N : 17 : '' 6 +\4?AA>,@^$#$#N11A++R\\:00"2D2DEGHB,HB,JA++R\\:00"2D2DEGH<H<*P++R\\8288:F00"2D2DhbhhjQSTG4TG4T)B,<,S>S+TURVR&-/AB:C:.R aC BsAT<T<AUUAU