+
    nDjm                    )   ^ RI Ht ^ RIt^ RIt^ RIHtHt ^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIt ^ RIt ^ RIt^ RIt^ RIHt ^ RIHtHt  ^ RIHt ]! ]P@                  PC                  4       4       U Uu. uF  w  r]"! VR4      '       g   K  VNK  	  upp t#]! ]P@                  PC                  4       4       U Uu. uFE  w  r]$! V]%4      '       g   K  V]PL                  Jg   K(  ]'! V]PL                  4      '       g   KC  VNKG  	  upp t(]PR                  ! 4       ]PT                  ! 4       ]PV                  ! 4       ]PX                  ! 4       ]PZ                  ! 4       ]P\                  ! 4       ]P^                  ! 4       ]P`                  ! 4       .t1R. ER7O3R	]2! ^4      3R
]2! ^4      3R]2! ^4      3R]2! ^4      3R]2! ^4      3R]2! ^4      3R]2! ^^
4      3R]2! ^^
4      3R. ER8O3R. ER8O3R. ER9O3R. ER:O3]Pf                  ! ^4      . ER;O3]Ph                  ! ]PR                  ! 4       4      ^^.^^.^^.R^	^..3]Pj                  ! ]PT                  ! 4       4      ^.. ER<O^^.R^	^..3]Pl                  ! R]PR                  ! 4       3R]PR                  ! 4       3.4      R^R^/RR^R^/RR^R^/.3.t7R t8R t9R t:]Pv                  Py                  R4      R 4       t=R t>ER=R lt?R t@R tAR  tBR! tC]Pv                  P                  R" 4       tDR# tER$ tFR% tGR& tH]Pv                  P                  R']14      R( 4       tJ]Pv                  P                  R']P                  ! ^^4      ]P                  ! ^^4      .4      R) 4       tM]Pv                  P                  R']14      R* 4       tN]Pv                  P                  R']P                  ! ^^4      ]P                  ! ^^4      .4      R+ 4       tOR, tPR- tQR. tRR/ tSR0 tTR1 tU]Pv                  P                  R2. ER>OR3]P                  ! R44      R5]P                  ! R64      /3. ER?OR3]P                  ! R74      R5R/3^^(.R3RR5R/334      R8 4       tWR9 tXR: tYR; tZR< t[R= t\R> t]R? t^R@ t_RA t`RB taRC tbRD tcRE tdRF teRG tfRH tgRI thRJ tiRK tj]! 4       RL 4       tkRMRN0tl0 ^k^kROkRPkRQkRRkRSkRTkRUkRVkRWkRXkRYkRZkR[kR\kR]kR^kR_kR`kRakRbkRckRdkRekRfkRgkRhkRikRjkRkkRlkRmkRnkRokRpkRqkRrkRskRtkRukRvkRwkRxkRykRzkR{kR|kR}kR~kRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRktm0 RkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkER kERkERkERkERkERkERkERkERkER	kER
kERkERkERkERkERkERkERkERkERkERkERkERkERkERkERkERkERkERkERkERkERkER kER!kER"kER#kER$kER%kER&ktn0 ^k^k^kER'kER(kER)kER*kER+kER,kER-kER.kER/kER0kER1kER2kER3kER4kER5kER6kER7kER8kER9kER:kER;kER<kER=kER>kER?kER@kERAkERBkERCkERDkEREkERFkERGkERHkERIkERJkERKkERLkERMkERNkEROkERPkERQkERRkERSkERTkERUkERVkERWkERXkERYkERZkER[kER\kER]kER^kER_kER`kERakERbkERckERdkERekERfkERgkERhkERikERjkERkkERlkERmkERnkERokERpkERqkERrkERskERtkERukERvkERwkERxkERykERzkER{kER|kER}kER~kERkERkERkERkERkERkERkERkERkERkERkERkERkERkERkERkERkto0 RkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkER kERkERkERkERkERkERkERkERkER	kER
kERkERkERkERkERkERkERkERkERkERkERkERkERkERkERkERkERkERkERkERkERktnER]n]o,          ]l,          ER]lER]oER]nER]m/tp]Pv                  P                  ER. ER@O4      ]Pv                  P                  ERERER.4      ER 4       4       tqER trER ts]Pv                  P$                  ER 4       ttER tuER tvER twER txER tyER tz]Pv                  P                  ERA]74      ER 4       t{ER t|ER t}]Pv                  P                  ERRR.4      ER 4       t~ER t]Pv                  P                  ERA]74      ER 4       tER tER tER tER t]Pv                  P                  ERA]74      ER 4       t]Pv                  P                  ]Pv                  P                  ERA]74      ER 4       4       tER tER tER tER tER tER tER t]Pv                  P                  ERERER.4      ER 4       t]Pv                  P                  ERERER.4      ER 4       t]Pv                  P                  ERERER.4      ER 4       tER tER tER tER t]Pv                  P                  ERERER.4      ER 4       t]Pv                  P                  ER 4       t]Pv                  P                  ER 4       tER tER tER tER t]Pv                  P                  R']14      ER 4       t]Pv                  P                  R']14      ER 4       tER tER tER tER t]Pv                  P                  ER]EPD                  ! 4       ]EPF                  ! 4       .4      ER 4       t]Pv                  P                  ER]14      ER 4       t]! ERERB4      t]! ERERC4      t]! ER]EPP                  ^	4      ]! ER]EPR                  ^4      ]! ER]P                  ^&4      ]! ER]P                  ^L4      .tER tER tER tER tER tER t]Pv                  P                  ]Pv                  P                  ER]P`                  ! 4       .]ER7      ]Pv                  P                  ER]ER ER7      ]Pv                  P                  ER]]].. ERDOER7      ER 4       4       4       4       t]Pv                  P                  ]Pv                  P                  ER]P^                  ! 4       ]P`                  ! 4       .]ER7      ]Pv                  P                  ER]ER ER7      ER 4       4       4       tER tER t]Pv                  P$                  ]Pv                  EPl                  ER 4       4       tEREER lt]Pv                  P$                  ER 4       tER t]Pv                  P                  ER. ERFO4      ER 4       t]Pv                  P$                  ]Pv                  EPl                  ER 4       4       tER t]Pv                  EPl                  ]Pv                  P                  ERERG4      ]Pv                  P$                  ER 4       4       4       tER tER tER tER tER tER tER tER tER tER tER tER tER  tER tER tER t]Pv                  P                  ]Pv                  P                  ERERH4      ]Pv                  P                  ERERI4      ER 4       4       4       t]Pv                  P                  ]Pv                  P                  ERERH4      ]Pv                  P                  ERERI4      ER 4       4       4       t]Pv                  P                  ]Pv                  P                  ERERJ4      ]Pv                  P                  ERERI4      ER 4       4       4       t]Pv                  P                  ]Pv                  P                  ERERJ4      ]Pv                  P                  ERERI4      ER	 4       4       4       tER
 tER tER tER tER tER tER tER tER t]Pv                  P                  ERER. ERKO3ER. ERLO3ER. ERMO3ER. ERNO3.4      ER 4       tER tER tER tER t]Pv                  P                  ER 4       t]Pv                  P                  ]Pv                  P:                  ER 4       4       tER tER  tER! tER" t]Pv                  P                  ER#^ R. EROO. ERPO. ERQOR.3^ ^^.^.^.R.3^ ^^^.^^.^R.R.3^^^.^.R.R.3^^^R.RR.RR.R.334      ]Pv                  P                  ER$ERR4      ]Pv                  P                  ER]EP                  ]PT                  ]P`                  34      ]Pv                  P                  ER%]Ph                  ]Pj                  ER&34      ER' 4       4       4       4       t]Pv                  P                  ER(ERS4      ]Pv                  P                  ER$ERR4      ]Pv                  P                  ER]EP                  ]PT                  ]P`                  34      ]Pv                  P                  ER%]Ph                  ]Pj                  ER&34      ER) 4       4       4       4       t]Pv                  P                  ER*ERT4      ]Pv                  P                  ER+ER, ER- ER. 34      ER/ 4       4       tER0 tEREER1 lt]Pv                  P                  ER]PR                  ! 4       ]PT                  ! 4       ]EP                  ! 4       ]PV                  ! 4       ]EP                  ! 4       ]P^                  ! 4       ]P`                  ! 4       ]EPP                  ! ^^ 4      ]EPR                  ! ^^ 4      ]P                  ! ^^ 4      ]P                  ! ^^ 4      34      ]Pv                  P                  ER2R]EP                  ! ]PT                  ! 4       4      ]EP                  ! R4      ]EP                  ! ]PV                  ! 4       4      34      ER3 4       4       tER4 tER5 tER6 tR#   ] d    Rt ELi ; i  ] d    Rt ELi ; i  ] d    Rt ELi ; iu upp i u upp i (U      )
namedtupleN)	lru_cachepartial)ArrowNotImplementedErrorArrowIndexError__arrow_compute_function__boolTFuint8int8uint16int16uint32int32uint64int64floatdoublestringabbinaryc                     \         p \        V 4      ^
8  g   Q hV  F  pVP                  pVR,          '       d   K   VR,          pV^ 8X  d   K2  V\        J d   \	        4       .^,          pM\	        4       .V,          p\
        P                  ! \        RR7      ;_uu_ 4        V! V!   RRR4       K  	  R#   + '       g   i     K  ; i)
   options_requiredarityzBGot unexpected argument type <class 'object'> for compute functionmatchN)exported_functionslenr   Ellipsisobjectpytestraises	TypeError)	functionsfuncdescr   argss        T/data/cameron/venvs/s3viz/lib/python3.14/site-packages/pyarrow/tests/test_compute.pytest_exported_functionsr*   ^   s    
 #Iy>R.."## WA:HH:>DH:%D]]9"IJ J $KJ J J J Js    B55Cc                      \          F=  p \        P                  ! V P                  R ,          4      pVP                  R8w  d   K=  Q h	  R# )namehash_aggregateN)r   pcget_functionr   kind)r&   arrow_fs     r)    test_hash_aggregate_not_exportedr2   x   s:     #//$"A"A&"IJ||//// #    c                     \         p \        V 4      ^
8  g   Q hV  Fc  p\        P                  ! V4      pVP                  P                  4        F,  pVP                  VP                  VP                  39  d   K,  Q h	  Ke  	  R# r   N)	exported_option_classesr   inspect	signature
parametersvaluesr0   VAR_POSITIONALVAR_KEYWORD)classesclssigparams       r)   test_exported_option_classesrA      sx    %Gw<2 $^^**,E::e&:&:&+&7&7&9 9 9 9 -	 r3   z<ignore:pyarrow.CumulativeSumOptions is deprecated as of 14.0c           
         . \         P                  ! 4       N\         P                  ! R 4      N\         P                  P	                  \
        P                  ! 4       4      N\         P                  ! RRR7      N\         P                  ! 4       N\         P                  ! R^ R7      N\         P                  ! 4       N\         P                  ! 4       N\         P                  ! RR7      N\         P                  ! R4      N\         P                  ! R4      N\         P                  ! 4       N\         P                   ! \
        P"                  ! ^4      4      N\         P$                  ! 4       N\         P&                  ! ^ R1^R4      N\         P(                  ! RR7      N\         P*                  ! R	R
.RR.\
        P,                  ! RR/4      \
        P,                  ! RR/4      .R7      N\         P.                  ! \
        P"                  ! ^4      R4      N\         P0                  ! R4      N\         P2                  ! 4       N\         P4                  ! 4       N\         P6                  ! ^4      N\         P8                  ! ^R7      N\         P:                  ! ^RR7      N\         P<                  ! R.RR7      N\         P>                  ! 4       N\         P@                  ! 4       N\         PB                  ! RRRR7      N\         PD                  ! RRR7      N\         PF                  ! ^ ^R4      N\         PH                  ! RR4      N\         PJ                  ! ^R4      N\         PL                  ! R4      N\         PN                  ! ^RRR7      N\         PP                  ! ^dR4      N\         PR                  ! 4       N\         PT                  ! ^ R2.R7      N\         PV                  ! \
        PX                  ! ^.4      4      N\         PZ                  ! ^R7      N\         P\                  ! ^ ^^4      N\         P^                  ! R3.RR7      N\         P`                  ! 4       N\         Pb                  ! R4      N\         Pd                  ! 4       N\         Pf                  ! R R!R4      N\         Ph                  ! . R"7      N\         Pj                  ! 4       N\         Pl                  ! 4       N\         Pn                  ! R#4      N\         Pp                  ! R$4      N\         Pr                  ! 4       N\         Pt                  ! R%R&4      N\         Pv                  ! RRRR'7      N\         Px                  ! ^R(4      NpV Pz                  P|                  P~                  R),          '       d&   VP                  \         P                  ! R*4      4       V Uu0 uF  p\        V4      kK  	  pp\         Fh  pWC9  g   K  V Pz                  P|                  P~                  R),          '       g   K:  V\         P                  8w  g   KQ   VP                  V! 4       4       Kj  	  V F  pW"8X  g   Q h\        V4      P                  VP                  P                  4      '       g   Q hVP                  4       p\         P                  P                  V4      pW&8X  g   Q h\        V4      P                  R,4      '       d%   \        V4      P                  R-4      '       g   Q hK  \        V4      \        V4      8X  d   K  Q h	  \        WR.,          4       F  w  rxWx8w  d   K  Q h	  \        \         P                   ! \
        P"                  ! ^4      4      4      R/8X  g   Q h\        \         P                  ! 4       4      R08X  g   Q hR# u upi   \         d    \        P                  ! R+T 24        EK  i ; i)4UTCNFstart
skip_nullscount_from_zero
week_startTrF   pattern)	recursivefieldnamesr   1r   2)field_nullabilityfield_metadatafirstperiodat_startnull_placementheightraise)unexpected_key_behavior	ascendingmax	sort_keysrX   
tiebreakerr_   rX   towards_infinitysecond)week_starts_mondayr_   	min_count%Ysindices NFKC皙??rd   rH   first_week_is_fully_in_year0timezone_dataEurope/LjubljanazOptions class is not tested: CumulativeSumOptionsCumulativeOptions:   NNzIndexOptions(value=int64:1)z7ArraySortOptions(order=Ascending, null_placement=AtEnd)r   r\   dummy
descending)Nr.   ArraySortOptionsAssumeTimezoneOptionsCastOptionssafepar   rv   CountOptionsDayOfWeekOptionsDictionaryEncodeOptionsRunEndEncodeOptionsElementWiseAggregateOptionsExtractRegexOptionsExtractRegexSpanOptionsFilterOptionsIndexOptionsscalarJoinOptionsListSliceOptionsListFlattenOptionsMakeStructOptionsKeyValueMetadataMapLookupOptionsMatchSubstringOptionsModeOptionsNullOptions
PadOptionsPairwiseOptionsPartitionNthOptionsPivotWiderOptionsQuantileOptionsRandomOptionsRankOptionsRankQuantileOptionsReplaceSliceOptionsReplaceSubstringOptionsRoundOptionsRoundBinaryOptionsRoundTemporalOptionsRoundToMultipleOptionsScalarAggregateOptionsSelectKOptionsSetLookupOptionsarraySkewOptionsSliceOptionsSortOptionsSplitOptionsSplitPatternOptionsStrftimeOptionsStrptimeOptionsStructFieldOptionsTakeOptionsTDigestOptionsTrimOptionsUtf8NormalizeOptionsVarianceOptionsWinsorizeOptionsWeekOptionsZeroFillOptionsconfigpyarrow
is_enabledappendtyper6   r$   r"   failrepr
startswith	__class____name__	serializeFunctionOptionsdeserializezip)	requestoptionsoptionr=   r>   bufdeserializedoption1option2s	   &        r)   test_option_class_equalityr      s   =
=
  '= 	BGGI&= 	4E:	=
 	= 	Ea@= 	""$= 	 = 	&&$7= 	y)= 	""9-= 	= 			!%= 	= 	Ar1d+=  	.!=" 	gw/04d|-/-@-@#s-L-/-@-@#s-L-N	O#=* 	BIIaL'2+=, 	  +-=. 	/=0 	1=2 	a3=4 	!$5=6 	q<7=8 	hZI9=: 	;=< 	==> 	&0U	D?=B 	.8	:C=F 	q!S)G=H 	""3,I=J 	-.K=L 	01M=N 	8EO=P 	!!#'9:Q=R 	!!#S=T 	!(:';<U=V 	BHHaSM*W=X 	#Y=Z 	1a [=\ 	/0L]=^ 	_=` 	y)a=b 	c=d 	4d+e=f 	b)g=h 	i=j 	k=l 	sm=n 	'o=p 	q=r 	D#&s=t 	$38	:u=x 	1c"y=G~ ~~((99r//0BCD*12'tF|'G2& ''22?CCr///Csu% ' F|&&v'7'7'@'@AAAA ))55c:%%% <""#9::%001DEEEE<4#5555   5!!! 6 		!-.2OOOO##%&AB B B= 3  C;C5ABBCs   )^^$_ ?_ c                      \        \        P                  ! 4       4      ^
8  g   Q hR\        P                  ! 4       9   g   Q hR# )r   addN)r   r.   list_functions r3   r)   test_list_functionsr      s5    r  "#b(((B%%''''r3   c                 f  a \         P                  ! V 4      p\        WA4      '       g   Q hVP                  pWS8  g   Q hV\	        VP
                  4      8X  g   Q h\        ;QJ d)    V3R  lVP
                   4       F  '       d   K   RM	  RM! V3R  lVP
                   4       4      '       g   Q hR# )c              3   <   <"   T F  p\        VS4      x  K  	  R # 5iN)
isinstance).0kerexpected_ker_clss   & r)   	<genexpr>&_check_get_function.<locals>.<genexpr>   s     ILSz#/00Ls   FTN)r.   r/   r   num_kernelsr   kernelsall)r,   expected_func_clsr   min_num_kernelsr&   ns   &&f&  r)   _check_get_functionr      s    ??4 Dd....ADLL!!!!3IDLLI333IDLLIIIIIr3   c                  Z    \        R \        P                  \        P                  ^4       R# )r   N)r   r.   ScalarFunctionScalarKernelr   r3   r)   test_get_function_scalarr     s    r00"//1Er3   c                  Z    \        R \        P                  \        P                  ^4       R# )uniqueN)r   r.   VectorFunctionVectorKernelr   r3   r)   test_get_function_vectorr     s    ""3"3R__aHr3   c                  Z    \        R \        P                  \        P                  ^4       R# )meanN)r   r.   ScalarAggregateFunctionScalarAggregateKernelr   r3   r)   "test_get_function_scalar_aggregater     s     : :00!5r3   c                  Z    \        R \        P                  \        P                  ^4       R# )hash_sumN)r   r.   HashAggregateFunctionHashAggregateKernelr   r3   r)    test_get_function_hash_aggregater     s    
B$<$<..3r3   c                     \         P                  ! . RO4      p \        P                  ! . RO4      pV P                  V4      p\        P
                  ! RW.\         P                  ! 4       R7      p\         P                  ! . RO4      pVP                  V4      '       g   Q hVP                  V4      '       g   Q h\        P                  ! W\         P                  ! 4       R7      pVP                  V4      '       g   Q hR# )footake)memory_poolN)r   barbaz)   r   rw   )r   r   r   )r   r   npr   r.   call_functiondefault_memory_poolequals)arrrk   result1result2expectedresult3s         r)   #test_call_function_with_memory_poolr    s    
(((
)Chhy!GhhwGv~+-+A+A+CEGxx-.H>>(####>>(####ggc0F0F0HIG>>(####r3   c                    \         P                  ! 4        F  p\         P                  ! V4      pV P                  V P	                  V4      4      p\        V4      \        V4      J g   Q hVP                  VP                  8X  g   Q hVP                  VP                  8X  g   Q hVP                  VP                  8X  d   K  Q h	  R # r   )	r.   r   r/   loadsdumpsr   r,   r   r   pickle_moduler,   r&   reconstructeds   &   r)   test_pickle_functionsr  $  s    !!#t$%++M,?,?,EFM"d4j000!!TYY...""djj000((D,<,<<<< $r3   c                     \         P                  ! 4        F;  p \        \         V4      pT P	                  T P                  T4      4      pY2J d   K;  Q h	  R #   \         d     KO  i ; ir   )r.   r   getattrAttributeErrorr  r  r	  s   &   r)   test_pickle_global_functionsr  /  sc    !!#	2t$D &++M,?,?,EF$$$ $  		s   AA&%A&c                     \         P                  ! 4        F  p \         P                  ! V 4      p\        V\         P                  4      '       g   Q hVP
                  V 8X  g   Q hVP                  pVP                  \        V4      8X  g   Q h\        ;QJ d    R  V 4       F  '       d   K   RM	  RM! R  V 4       4      '       g   Q h\        V4       V F  p\        V4       K  	  K  	  R# )c              3   V   "   T F  p\        V\        P                  4      x  K!  	  R # 5ir   )r   r.   Kernel)r   r   s   & r)   r   +test_function_attributes.<locals>.<genexpr>C  s     A#:c299--s   ')FTN)r.   r   r/   r   Functionr,   r   r   r   r   r   )r,   r&   r   r   s       r)   test_function_attributesr  ;  s    !!#t$$,,,,yyD   ,,3w<///sAAsssAAAAAAT
CI  $r3   c                  2   \         P                  ! ^^.^R.4      p V P                  4       ^R.8X  g   Q h\         P                  ! ^^.^4      p V P                  4       ^^.8X  g   Q h\         P                  ! . ROR4      P                  4       . RO8X  g   Q hR# )rw   Nr   )r   r   NTFN)r.   r   	to_pylistequalr   s    r)   test_input_type_conversionr  I  s    
&&!Q!T
#C==?q$i'''
&&!Q
C==?q!f$$$88($9;*=> > >r3   
arrow_typec                 8   \         P                  ! . ROV R7      pVP                  4       P                  4       ^
8X  g   Q h\        P                  ! V4      P                  4       ^
8X  g   Q h\         P                  ! . ROV R7      pVP                  4       P                  4       ^
8X  g   Q h\        P                  ! V4      P                  4       ^
8X  g   Q h\         P                  ! R.V R7      pVP                  4       P                  4       e   Q h\        P                  ! V4      P                  4       e   Q hVP                  ^ R7      P                  4       ^ 8X  g   Q h\        P                  ! V^ R7      P                  4       ^ 8X  g   Q h\         P                  ! . V R7      pVP                  4       P                  4       e   Q hVP                  ^ R7      P                  4       ^ 8X  g   Q h\        P                  ! V^ R7      P                  4       ^ 8X  g   Q hR# )rw   r   Nrf   rw   r         rw   r   r!  r"  N)r   r   sumas_pyr.   r  r   s   & r)   test_sum_arrayr'  U  s   
((<j
1C779??"""66#;"$$$
((%J
7C779??"""66#;"$$$
((D6

+C779??$$$66#;&&&77Q7%%'1,,,66##))+q000
((2J
'C779??$$$77Q7%%'1,,,66##))+q000r3   c                 
   ^ RI Hp \        P                  P	                  V 4      '       d"   \        P
                  ! ^&V P                  4      M \        P                  ! ^LV P                  4      pV! R4      pV! R4      pV! R4      p\        P                  ! V! R4      V! R4      .V R7      pVP                  4       P                  4       V8X  g   Q hVP                  4       P                  V8X  g   Q h\        P                  ! V! R4      V! R4      R.V R7      pVP                  4       P                  4       V8X  g   Q hVP                  4       P                  V8X  g   Q h\        P                  ! V! R4      V! R	4      .V R7      pVP                  4       P                  4       V8X  g   Q hVP                  4       P                  V8X  g   Q h\        P                  ! V! R4      V! R	4      R.V R7      pVP                  4       P                  4       V8X  g   Q hVP                  4       P                  V8X  g   Q h\        P                  ! R.V R7      pVP                  4       P                  4       e   Q hVP                  4       P                  V8X  g   Q hVP                  ^ R
7      P                  4       V8X  g   Q hVP                  ^ R
7      P                  V8X  g   Q h\        P                  ! . V R7      pVP                  4       P                  4       e   Q hVP                  4       P                  V8X  g   Q hVP                  ^ R
7      P                  4       V8X  g   Q hVP                  ^ R
7      P                  V8X  g   Q hR# )r   Decimal5.79z10.000.001.234.56r  Nz8.77rf   )decimalr*  r   typesis_decimal128
decimal128scale
decimal256r   r$  r%  r   )r  r*  max_precision_typeexpected_sumexpected_sum_overflowzeror   s   &      r)   test_sum_decimal_arrayr9  k  s    88!!*-- 	b***+]]2z//0 
 6?L#G,6?D ((GFOWV_5J
GC779??,,,779>>////
((GFOWV_d;*
MC779??,,,779>>//// ((GFOWV_5J
GC779?? 5555779>>////
((GFOWV_d;*
MC779?? 5555779>>////
((D6

+C779??$$$779>>////77Q7%%'4///77Q7$$(::::
((2J
'C779??$$$779>>////77Q7%%'4///77Q7$$(::::r3   c           	         \         P                  ! \         P                  ! . ROV R7      .4      p\        P                  ! V4      P                  4       ^
8X  g   Q h\         P                  ! \         P                  ! ^^.V R7      \         P                  ! ^^.V R7      .4      p\        P                  ! V4      P                  4       ^
8X  g   Q h\         P                  ! \         P                  ! ^^.V R7      \         P                  ! . V R7      \         P                  ! ^^.V R7      .4      p\        P                  ! V4      P                  4       ^
8X  g   Q h\         P                  ! RV R7      pVP                  ^ 8X  g   Q h\        P                  ! V4      P                  4       e   Q h\        P                  ! V^ R7      P                  4       ^ 8X  g   Q hR# )rw   r  Nrf   r   r   )r   chunked_arrayr   r.   r$  r%  
num_chunksr&  s   & r)   test_sum_chunked_arrayr=    sc   


BHH\
CD
EC66#;"$$$



!Qj)288QF+L C 66#;"$$$



!Qj)
*%
!Qj) C
 66#;"$$$


2J
/C>>Q66#;&&&66##))+q000r3   c           	      x   ^ RI Hp \        P                  P	                  V 4      '       d"   \        P
                  ! ^&V P                  4      M \        P                  ! ^LV P                  4      pV! R4      pV! R4      p\        P                  ! \        P                  ! V! R4      V! R4      .V R7      .4      p\        P                  ! V4      P                  4       V8X  g   Q h\        P                  ! V4      P                  V8X  g   Q h\        P                  ! \        P                  ! V! R4      .V R7      \        P                  ! V! R4      .V R7      .4      p\        P                  ! V4      P                  4       V8X  g   Q h\        P                  ! V4      P                  V8X  g   Q h\        P                  ! \        P                  ! V! R4      .V R7      \        P                  ! . V R7      \        P                  ! V! R4      .V R7      .4      p\        P                  ! V4      P                  4       V8X  g   Q h\        P                  ! V4      P                  V8X  g   Q h\        P                  ! R	V R7      pVP                  ^ 8X  g   Q h\        P                  ! V4      P                  4       e   Q h\        P                  ! V4      P                  V8X  g   Q h\        P                  ! V^ R7      P                  4       V8X  g   Q h\        P                  ! V^ R7      P                  V8X  g   Q hR# )
r   r)  r+  r,  r-  r.  r  Nrf   r   )r/  r*  r   r0  r1  r2  r3  r4  r;  r   r.   r$  r%  r   r<  )r  r*  r5  r6  r8  r   s   &     r)   #test_sum_chunked_array_decimal_typer?    su    88!!*-- 	b***+]]2z//0 
 6?L6?D


HHgfowv7jI	
C
 66#;,...66#;1111



'&/"4
'&/"4 C 66#;,...66#;1111



'&/"4
*%
'&/"4 C
 66#;,...66#;1111


2J
/C>>Q66#;&&&66#;111166##))+t33366##((,>>>>r3   c                  d   \         P                  ! . RORR7      p \        P                  ! V 4      p\	        V4      ^8X  g   Q hV^ ,          P                  4       R^R^/8X  g   Q h\        P                  ! V ^R7      p\	        V4      ^8X  g   Q hV^ ,          P                  4       R^R^/8X  g   Q hV^,          P                  4       R^R^/8X  g   Q h\         P                  ! . RR7      p \	        \        P                  ! V 4      4      ^ 8X  g   Q h\         P                  ! . RORR7      p \        P                  ! V RR7      p\	        V4      ^ 8X  g   Q h\        P                  ! V ^R	7      p\	        V4      ^ 8X  g   Q h\        P                  ! V R^R
7      p\	        V4      ^ 8X  g   Q h\         P                  ! RR.4      p \        P                  ! V ^R7      p\	        V4      ^8X  g   Q hV^ ,          P                  4       RRR^/8X  g   Q hV^,          P                  4       RRR^/8X  g   Q hR# )rw   r   r  modecountr   NFrJ   rf   rF   rg   Trw   rw   r!  r"  r!     )rw   rw   r!  r"  r!  N)r   r   r.   rA  r   r%  r   rA  s     r)   test_mode_arrayrH    s   
((%G
4C773<Dt9>>7==?vq'15555773!Dt9>>7==?vq'155557==?vq'15555
((2G
$Crwws|!!!
(((w
7C7735)Dt9>>773!$Dt9>>7735A6Dt9>>
((D%=
!C773!Dt9>>7==?vugq99997==?vtWa8888r3   c                  v   \         P                  ! \         P                  ! . RORR7      .4      p \        P                  ! V 4      p\        V4      ^8X  g   Q hV^ ,          P                  4       R^R^/8X  g   Q h\        P                  ! V ^R7      p\        V4      ^8X  g   Q hV^ ,          P                  4       R^R^/8X  g   Q hV^,          P                  4       R^R^/8X  g   Q h\         P                  ! RRR7      p V P                  ^ 8X  g   Q h\        \        P                  ! V 4      4      ^ 8X  g   Q hR# )	rw   r   r  rA  rB  rC  NrE  r   )r   r;  r   r.   rA  r   r%  r<  rG  s     r)   test_mode_chunked_arrayrJ    s    


BHH%7gFG
HC773<Dt9>>7==?vq'15555773!Dt9>>7==?vq'155557==?vq'15555


2G
,C>>Qrwws|!!!r3   c                      R p \         P                  ! \        P                  V R7      ;_uu_ 4        \        P                  ! . 4       RRR4       \        P                  ! . \        P
                  ! 4       R7       R#   + '       g   i     L=; i)z@cannot construct ChunkedArray from empty vector and omitted typer   Nr  )r"   r#   r   ArrowInvalidr;  r   )msgs    r)   test_empty_chunked_arrayrN    sP    
LC	rc	2	2
 
3 Rbggi( 
3	2s   A==B	c                     . ROp \         P                  ! V 4      P                  4       R8X  g   Q h\         P                  ! V ^ R7      P                  4       R8X  g   Q h\         P                  ! V ^R7      P                  4       R8X  g   Q hR# )rw   g      @)ddofg      @N)rw   r   r!  r"  rF           )r.   variancer%  datas    r)   test_variancerW    sk    #D;;t""$,,,;;t!$**,444;;t!$**,333r3   c                  8   . ROp \         P                  ! V 4      P                  4       \        P                  ! RRR7      8X  g   Q h\         P                  ! V RR7      P                  4       e   Q h\         P                  ! V ^R7      P                  4       e   Q hR# )	rw   Ng;f?绽|=relFrJ   rf   rw   rw   Nr   )r.   skewr%  r"   approxrU  s    r)   	test_skewr_    sr    D774= FMM2C$OOOO774E*002:::7741%++-555r3   c                  8   . ROp \         P                  ! V 4      P                  4       \        P                  ! RRR7      8X  g   Q h\         P                  ! V RR7      P                  4       e   Q h\         P                  ! V ^R7      P                  4       e   Q hR# )	rw   NrY  rZ  FrJ   rf   r\  g      )r.   kurtosisr%  r"   r^  rU  s    r)   test_kurtosisrb    sr    D;;t""$d(FFFF;;t.446>>>;;tq)//1999r3   zinput, expectedr]  gIcݺ?ra  gpՕ@gdV?c                     \         P                  ! V R RR7      p\         P                  ! V R RR7      pVP                  4       VR,          8X  g   Q hVP                  4       VR,          8X  g   Q hR# )TF)rF   biasedr]  ra  N)r.   r]  ra  r%  )inputr  
arrow_skewarrow_kurtosiss   &&  r)   test_unbiased_skew_and_kurtosisrh  #  s`     4>J[[4FN&!1111!Xj%9999r3   c                     \         P                  ! 4       \         P                  ! 4       3\         P                  ! 4       \         P                  ! 4       33 F  w  r\         P
                  ! . ROV R7      p\        P                  ! VR 4      p\         P
                  ! . ROVR7      pWC8X  g   Q h\        P                  ! VR RR7      p\         P
                  ! . ROVR7      pWC8X  d   K  Q h	  R# )abNr  Tignore_case)rj  cababcabbaABN)rw   rw   r   r   r   N)rw   rw   r   r   rw   N)r   r   r   large_stringr   r   r.   count_substringtyoffsetr   resultr  s        r)   test_count_substringrw  3  s    ))+rxxz2//+RXXZ8:hh?bI##C.881?!!!##C4@881?!!!:r3   c                      \         P                  ! 4       \         P                  ! 4       3\         P                  ! 4       \         P                  ! 4       33 F  w  r\         P
                  ! . ROV R7      p\        P                  ! VR4      p\         P
                  ! . ROVR7      pVP                  V4      '       g   Q h\        P                  ! VRRR7      p\         P
                  ! . ROVR7      pVP                  V4      '       d   K  Q h	  R# )	rj  Nr  za+Trk  )rj  rm  baAacaaro  rp  N)rw   rw   r!  rw   r   N)rw   rw   r   rw   rw   N)	r   r   r   rq  r   r   r.   count_substring_regexr   rs  s        r)   test_count_substring_regexr{  A  s    ))+rxxz2//+RXXZ8:hhAK))#t4881?v&&&&))#tF881?v&&&&:r3   c                     \         P                  ! 4       \         P                  ! 4       \         P                  ! 4       \         P                  ! 4       3 F  p \         P
                  ! . ROV R7      p\        P                  ! VR 4      pVP                  4       . RO8X  g   Q h\        P                  ! VR4      pVP                  4       . R	O8X  g   Q h\         P
                  ! . R
OV R7      p\        P                  ! VRRR7      pVP                  4       . RO8X  g   Q h\        P                  ! VRRR7      pVP                  4       . RO8X  d   K  Q h	  R# )rj  Nr  za?bzaB*Trk  )rj  rm  ro  N)r   rw   rx   N)r   rw   r   N)zab*zcAB*ro  zaB?)r   rw   rx   rx   )r   rw   r   r   )
r   r   r   rq  large_binaryr   r.   find_substringr  find_substring_regex)rt  r   rv  s      r)   test_find_substringr  O  s    yy{BIIK):BOO<MNhh0r:""3-!%5555((e4!_444hh3"=""34@!^333((eF!\111 Or3   c                     \         P                  ! . RO4      p \        P                  ! V R4      p\         P                  ! . RO4      pVP	                  V4      '       g   Q h\         P                  ! . RO4      p \        P                  ! V RRR7      p\         P                  ! . RO4      pVP	                  V4      '       g   Q h\        P                  ! V RRR7      p\         P                  ! . R	O4      pVP	                  V4      '       g   Q hR# )
rj  Nz_a\%%FTrk  )rj  zba%ro  ca%dN)FTFTN)aBzbA%ro  r  N)FFFTN)r   r   r.   
match_liker   r   rv  r  s      r)   test_match_liker  `  s    
((4
5C]]3)Fxx89H??6""""
((4
5C]]3d;Fxx89H??6""""]]3e<Fxx9:H??6""""r3   c                     \         P                  ! . RO4      p \        P                  ! V R 4      p\         P                  ! . RO4      pVP	                  V4      '       g   Q h\         P                  ! . RO4      p \        P                  ! V RRR7      p\         P                  ! . RO4      pVP	                  V4      '       g   Q h\        P                  ! V RRR7      p\         P                  ! . R	O4      pVP	                  V4      '       g   Q hR# )
rj  NTFu   ábrk  )rj  abcro  NTTFN)u   áBu   Ábcro  N)FFFN)r   r   r.   match_substringr   r  s      r)   test_match_substringr  o  s    
((,
-CT*Fxx12H??6""""
((.
/CU=Fxx12H??6""""U>Fxx34H??6""""r3   c                     \         P                  ! . RO4      p \        P                  ! V R4      p\         P                  ! . RO4      pVP	                  V4      '       g   Q h\         P                  ! . RO4      p \        P                  ! V RRR7      p\         P                  ! . RO4      pVP	                  V4      '       g   Q h\        P                  ! V RRR7      p\         P                  ! . R	O4      pVP	                  V4      '       g   Q hR# )
rj  Nz^a?bTFrk  )rj  r  ro  cN)TTTFN)r  AbcBAr  N)FFFFN)r   r   r.   match_substring_regexr   r  s      r)   test_match_substring_regexr  ~  s    
((1
2C%%c62Fxx78H??6""""
((1
2C%%c6tDFxx78H??6""""%%c6uEFxx:;H??6""""r3   c                     \         P                  ! . RO4      p \        P                  ! V 4      p\         P                  ! . RO4      pVP	                  V4      '       g   Q h\         P                  ! . RO4      p \        P
                  ! V 4      p\         P                  ! . RO4      pVP	                  V4      '       g   Q h\         P                  ! . RO4      p \        P                  ! V RR7      p\         P                  ! . RO4      pVP	                  V4      '       g   Q h\        P                  ! V R4      p\         P                  ! . RO4      pVP	                  V4      '       g   Q hR# ) fooNu    f　)
characters)r  Nu    　foo bar 	)r   Nfoo bar)r   Nu
   　foo bar)ooNzoo bar 	)r   r   r.   utf8_trim_whitespacer   ascii_trim_whitespace	utf8_trimr  s      r)   	test_trimr    s    
((6
7C$$S)Fxx01H??6""""
((6
7C%%c*Fxx67H??6""""
((6
7C\\#*5Fxx12H??6""""\\#z*Fxx12H??6""""r3   c                     \         P                  ! . RO4      p \        R^4       F  p\        P                  ! \        R^4      R.4       F  pR F  p\         P                  ! V  Uu. uF  pVP                  4       WV1,          NK  	  up4      p\        P                  ! WW#R7      pVP                  V4      '       g   Q h\        P                  ! V WV4      V8X  d   K  Q h	  K  	  K  	  R# u upi ) NrE   stopstep)r  u   𝑓u   𝑓öu   𝑓öõu   𝑓öõḍu   𝑓öõḍš)rx   rw   r   r!  )	r   r   range	itertoolschainr%  r.   utf8_slice_codeunitsr   )r   rE   r  r  kr  rv  s          r)   test_slice_compatibilityr    s    
((U
VCr1OOE"aL4&9D-88.1%3.1 &'WWYu$%?%?.1%3 4004<v......s/4DBEKL L L . : %3s   &"C-c            
      >   . ROp \         P                  ! V 4      p\        P                  ! \	        R^4      \	        R^4      \	        R^4      4       EFB  w  r#pV^ 8X  d   K  \         P                  ! V Uu. uF  pVP                  4       W#V1,          NK  	  up4      p\        P                  ! WW4R7      pVP                  V4      '       g   Q h\        P                  ! WW44      V8X  g   Q hV  F  p\         P                  ! V\         P                  ! \        V4      4      R7      p	WW41,          p\        P                  ! WW44      p
V
P                  \         P                  ! \        V4      4      8X  g   Q hV
P                  4       V8X  d   K  Q h	  EKE  	  R# u upi )r3   r  r  N)r3      as   as   ab s   abcs   abder  r  )r   r   r  productr  r%  r.   binary_slicer   r   r   r   r   )rV  r   rE   r  r  r  r  rv  item
fsb_scalaractuals              r)   test_binary_slice_compatibilityr    sK   DD
((4.C&..uR|/4R|/4R|=T 1988&)+&) WWYu$77&)+ ,44v&&&&s46&@@@D4biiD	.BCJ$O,H__ZCF;;"))CM"::::<<>X--- =
+s   5"F
c                  
   \         P                  ! R R.4      p \        P                  ! V RR7      p\         P                  ! RR.. RO.4      pVP	                  V4      '       g   Q h\        P                  ! V R^R7      p\         P                  ! RR.RR	..4      pVP	                  V4      '       g   Q h\        P                  ! V R^R
R7      p\         P                  ! RR.RR..4      pVP	                  V4      '       g   Q hR# )-foo---bar--
---foo---b---rK   z-foozbar--r  r   
max_splitsfoo---bTr  reversez---fooNr  r   r   )r   r   r.   split_patternr   r  s      r)   test_split_patternr    s    
((NL1
2Cc51Fxx&'*,<=>H??6""""c5Q7Fxx&'*RO<=H??6""""c5QEFxx&'*XsO<=H??6""""r3   c                     \         P                  ! R R.4      p \        P                  ! V 4      p\         P                  ! RR.. RO.4      pVP	                  V4      '       g   Q h\        P                  ! V ^R7      p\         P                  ! RR.RR..4      pVP	                  V4      '       g   Q h\        P                  ! V ^RR	7      p\         P                  ! RR.R
R..4      pVP	                  V4      '       g   Q hR# )r      foo  　	br   r   r  r   r  
   foo  　	bTr  r  Nr  )r   r   r.   utf8_split_whitespacer   r  s      r)   test_split_whitespace_utf8r    s    
((I01
2C%%c*Fxx%)9:;H??6""""%%ca8Fxx%".>)?@AH??6""""%%caFFxx%&#78H??6""""r3   c                     \         P                  ! R R.4      p \        P                  ! V 4      p\         P                  ! RR.. RO.4      pVP	                  V4      '       g   Q h\        P                  ! V ^R7      p\         P                  ! RR.RR..4      pVP	                  V4      '       g   Q h\        P                  ! V ^RR	7      p\         P                  ! RR.R
R..4      pVP	                  V4      '       g   Q hR# )r  r  r   r   r  r   r  r  Tr  u	    foo  　N)r  r   u   　r   )r   r   r.   ascii_split_whitespacer   r  s      r)   test_split_whitespace_asciir    s    
((I01
2C&&s+Fxx%)CDEH??6""""&&sq9Fxx%".>)?@AH??6""""&&sq$GFxx%.#)>?@H??6""""r3   c            	      "   \         P                  ! R R.4      p \        P                  ! V RR7      p\         P                  ! . RO. RO.4      pVP	                  V4      '       g   Q h\        P                  ! V R^R7      p\         P                  ! RR.RR..4      pVP	                  V4      '       g   Q h\
        P                  ! \        RR	7      ;_uu_ 4        \        P                  ! V R
^RR7      pRRR4       R#   + '       g   i     R# ; i)r  r  z-+r  r  r  zfoo---bar--r  z"Cannot split in reverse with regexr   r  T)rK   r  r  N)r  r   r   r  r  )r   r   r.   split_pattern_regexr   r"   r#   NotImplementedErrorr  s      r)   test_split_pattern_regexr    s    
((NL1
2C##C6Fxx/1ABCH??6""""##C!<Fxx"m,r9o>?H??6""""	*A
C 
C''1d<
C 
C 
C 
Cs   C==D	c                  @   . ROp \         P                  ! V 4      pVP                  4       R^R^/8X  g   Q h\         P                  ! V \         P                  ! 4       R7      pVP                  4       R^R^/8X  g   Q h\         P                  ! V \         P                  ! RR7      R7      pVP                  4       R^R^/8X  g   Q h\         P                  ! V \         P                  ! RR7      R7      pVP                  4       RRRR/8X  g   Q h\         P                  ! V RR/R7      pVP                  4       RRRR/8X  g   Q h\         P                  ! V RR7      pVP                  4       RRRR/8X  g   Q h\        P
                  ! \        4      ;_uu_ 4        \         P                  ! V \         P                  ! 4       RR	7      pRRR4       \         P                  ! 4       p\        P
                  ! \        4      ;_uu_ 4        \         P                  ! WR7      pRRR4       \        P
                  ! \        R
R7      ;_uu_ 4        \         P                  ! 4       pRRR4       R#   + '       g   i     L; i  + '       g   i     Lg; i  + '       g   i     R# ; i)r"  Nminr]   r   TrJ   FrF   )r   rF   zmin_max takes 1 positionalr   )r"  rF  rQ  Nrw   )r.   min_maxr%  r   r"   r#   r$   r   )rV  ri   r   s      r)   test_min_maxr    s   D


4A7795!,,,,


4!:!:!<=A7795!,,,,


4!:!:d!KLA7795!,,,,


4!:!:e!LMA779eT2222 	

4,!67A779eT2222


4E*A779eT2222 
y	!	!JJ"335%I 
"
 nnG	y	!	!JJt- 
" 
y(D	E	EJJL 
F	E 
"	! 
"	! 
F	E	Es$   -I&I9J&I6	9J		J	c                     \         P                  ! R ^ R7      p \        P                  ! . RR7      p\         P                  ! V4      P                  4       e   Q h\         P                  ! V^ R7      P                  4       R J g   Q h\         P                  ! WR7      P                  4       R J g   Q h\        P                  ! . RO4      p\         P                  ! V4      P                  4       RJ g   Q h\         P                  ! WR7      P                  4       RJ g   Q h\        P                  ! . R	O4      p\         P                  ! V4      P                  4       R J g   Q h\         P                  ! WR7      P                  4       e   Q hR# )
FrD  r	   r  Nrf   r  T)FNT)FNF)r.   r   r   r   anyr%  r   r   s     r)   test_anyr  )  s    ''5AFG
&!A66!9??$$$66!q!'')U22266!%++-666
$%A66!9??$$$66!%++-555
%&A66!9??%%%66!%++-555r3   c                     \         P                  ! R ^ R7      p \        P                  ! . RR7      p\         P                  ! V4      P                  4       e   Q h\         P                  ! V^ R7      P                  4       RJ g   Q h\         P                  ! WR7      P                  4       RJ g   Q h\        P                  ! R R.4      p\         P                  ! V4      P                  4       R J g   Q h\         P                  ! WR7      P                  4       R J g   Q h\        P                  ! RR.4      p\         P                  ! V4      P                  4       RJ g   Q h\         P                  ! WR7      P                  4       e   Q h\        P                  ! R.RR..4      p\         P                  ! V4      P                  4       RJ g   Q h\         P                  ! WR7      P                  4       e   Q h\        P                  ! R.R ..4      p\         P                  ! V4      P                  4       R J g   Q h\         P                  ! WR7      P                  4       R J g   Q hR# )FrD  r	   r  Nrf   Tr  )r.   r   r   r   r   r%  r;  r  s     r)   test_allr  <  s    ''5AFG
&!A66!9??$$$66!q!'')T11166!%++-555
%A66!9??%%%66!%++-666
$A66!9??$$$66!%++-555
4&4,/0A66!9??$$$66!%++-555
4&5'*+A66!9??%%%66!%++-666r3   c                     . ROp \         P                  ! V 4      P                  4       . RO8X  g   Q h\        P                  ! \
        4      ;_uu_ 4        \         P                  ! V RR7       RRR4       R#   + '       g   i     R# ; i)r"  Nr  r"  rF  N)TTF)r.   is_validr  r"   r#   r$   rU  s    r)   test_is_validr  W  sT    D;;t&&(,????	y	!	!
D$' 
"	!	!	!s   A77B	c                     \         P                  P                  \        P                  ! R 4      8X  g   Q h\         P
                  P                  \        P                  ! R4      8X  g   Q h\         P                  P                  \        P                  ! R4      8X  g   Q h\         P                  P                  \        P                  ! R4      8X  g   Q hR# )af          Compute the minimum and maximum values of a numeric array.

        Null values are ignored by default.
        This can be changed through ScalarAggregateOptions.

        Parameters
        ----------
        array : Array-like
            Argument to compute function.
        skip_nulls : bool, default True
            Whether to skip (ignore) nulls in the input.
            If False, any null in the input forces the output to null.
        min_count : int, default 1
            Minimum number of non-null values in the input.  If the number
            of non-null values is below `min_count`, the output is null.
        options : pyarrow.compute.ScalarAggregateOptions, optional
            Alternative way of passing options.
        memory_pool : pyarrow.MemoryPool, optional
            If not passed, will allocate memory from the default memory pool.

        Examples
        --------
        >>> import pyarrow as pa
        >>> import pyarrow.compute as pc
        >>> arr1 = pa.array([1, 1, 2, 2, 3, 2, 2, 2])
        >>> pc.min_max(arr1)
        <pyarrow.StructScalar: [('min', 1), ('max', 3)]>

        Using ``skip_nulls`` to handle null values.

        >>> arr2 = pa.array([1.0, None, 2.0, 3.0])
        >>> pc.min_max(arr2)
        <pyarrow.StructScalar: [('min', 1.0), ('max', 3.0)]>
        >>> pc.min_max(arr2, skip_nulls=False)
        <pyarrow.StructScalar: [('min', None), ('max', None)]>

        Using ``ScalarAggregateOptions`` to control minimum number of non-null values.

        >>> arr3 = pa.array([1.0, None, float("nan"), 3.0])
        >>> pc.min_max(arr3)
        <pyarrow.StructScalar: [('min', 1.0), ('max', 3.0)]>
        >>> pc.min_max(arr3, options=pc.ScalarAggregateOptions(min_count=3))
        <pyarrow.StructScalar: [('min', 1.0), ('max', 3.0)]>
        >>> pc.min_max(arr3, options=pc.ScalarAggregateOptions(min_count=4))
        <pyarrow.StructScalar: [('min', None), ('max', None)]>

        This function also works with string values.

        >>> arr4 = pa.array(["z", None, "y", "x"])
        >>> pc.min_max(arr4)
        <pyarrow.StructScalar: [('min', 'x'), ('max', 'z')]>
        a          Add the arguments element-wise.

        Results will wrap around on integer overflow.
        Use function "add_checked" if you want overflow
        to return an error.

        Parameters
        ----------
        x : Array-like or scalar-like
            Argument to compute function.
        y : Array-like or scalar-like
            Argument to compute function.
        memory_pool : pyarrow.MemoryPool, optional
            If not passed, will allocate memory from the default memory pool.
        a          Find the element-wise minimum value.

        Nulls are ignored (by default) or propagated.
        NaN is preferred over null, but not over any valid value.

        Parameters
        ----------
        *args : Array-like or scalar-like
            Argument to compute function.
        skip_nulls : bool, default True
            Whether to skip (ignore) nulls in the input.
            If False, any null in the input forces the output to null.
        options : pyarrow.compute.ElementWiseAggregateOptions, optional
            Alternative way of passing options.
        memory_pool : pyarrow.MemoryPool, optional
            If not passed, will allocate memory from the default memory pool.
        aO          Filter with a boolean selection filter.

        The output is populated with values from the input at positions
        where the selection filter is non-zero.  Nulls in the selection filter
        are handled based on FilterOptions.

        Parameters
        ----------
        input : Array-like or scalar-like
            Argument to compute function.
        selection_filter : Array-like or scalar-like
            Argument to compute function.
        null_selection_behavior : str, default "drop"
            How to handle nulls in the selection filter.
            Accepted values are "drop", "emit_null".
        options : pyarrow.compute.FilterOptions, optional
            Alternative way of passing options.
        memory_pool : pyarrow.MemoryPool, optional
            If not passed, will allocate memory from the default memory pool.

        Examples
        --------
        >>> import pyarrow as pa
        >>> arr = pa.array(["a", "b", "c", None, "e"])
        >>> mask = pa.array([True, False, None, False, True])
        >>> arr.filter(mask)
        <pyarrow.lib.StringArray object at ...>
        [
          "a",
          "e"
        ]
        >>> arr.filter(mask, null_selection_behavior='emit_null')
        <pyarrow.lib.StringArray object at ...>
        [
          "a",
          null,
          "e"
        ]
        N)r.   r  __doc__textwrapdedentr   min_element_wisefilterr   r3   r)   test_generated_docstringsr  `  s    :: 42 4" 4 4 4l 66>>X__ .    " &&(// ; +   $ 99 '1 '! ' ' 'r3   c                     \         P                  ! \        P                  4      p \	        V 4      R 8X  g   Q h\         P                  ! \        P
                  4      p \	        V 4      R8X  g   Q h\         P                  ! \        P                  4      p \	        V 4      R8X  g   Q h\         P                  ! \        P                  4      p \	        V 4      R8X  g   Q h\         P                  ! \        P                  4      p \	        V 4      R8X  g   Q h\         P                  ! \        P                  4      p \	        V 4      R8X  g   Q hR# )z(x, y, /, *, memory_pool=None)zK(array, /, *, skip_nulls=True, min_count=1, options=None, memory_pool=None)zj(array, /, q=0.5, *, interpolation='linear', skip_nulls=True, min_count=0, options=None, memory_pool=None)zZ(*strings, null_handling='emit_null', null_replacement='', options=None, memory_pool=None)z'(indices, /, *values, memory_pool=None)z<(n, *, initializer='system', options=None, memory_pool=None)N)
r7   r8   r.   r   strr  quantilebinary_join_element_wisechooserandom)r?   s    r)   test_generated_signaturesr    s   
 

BFF
#Cs87777


BJJ
'Cs8 : ; ; ; 

BKK
(Cs8 : ; ; ; 

B77
8Cs8 , - - - 

BII
&Cs8@@@@


BII
&Cs8 : ; ; ;r3   c                     \        4       p \        ^R4       Uu. uF!  pRTu;8:  d
   R8  d   K  M \        V4      NK#  	  pp\        P                  ! \
        P                  ! V4      4      P                  4       p\        V4       F<  w  rAW4,          VP                  4       8w  g   K"  V P                  \        V4      4       K>  	  V # u upi )           )setr  chrr.   utf8_is_printabler   r   r  	enumerateisprintabler   ord)newr  r  is_printableis        r)   find_new_unicode_codepointsr    s    
%C"'g"6 1"6Q A.. . a&"6J 1''(<=GGIL*%?ammo-GGCFO & J1s
   CCi  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  iz  i,  i-  i.  i/  i0  i1  i2  i3  i4  i5  i6  i7  i8  i9  i:  i;  i<  i=  i>  i?  i@  iA  iB  iC  iD  iE  iF  iG  iH  iI  iJ  iK  iL  iM  iN  iO  iP  iQ  iR  iS  iT  iU  iV  iW  iX  iY  iZ  i[  i\  i]  i^  i_  i`  ia  ib  ic  id  ie  if  ig  ih  ii  ij  ix  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  iq   i   i   i   i   i   i   i   i   i   i   i   i   i   i   i|,  i},  i  i  ip  i  i  i\  i]  i^  i_  i4  i4  i*8  iM;  i N  iN  iN  i	N  i]N  iN  iN  iN  iN  iN  iN  iN  iO  ipO  iQ  iFQ  iiQ  ikQ  imQ  iAS  iCS  iDS  iES  iLS  iS  iS  iS  iS  iV  iX  iX  iz^  i^  i^  i_  i_  i_  i_  ib  iLc  ig  io  is  i~v  i  i,  i  i  i0  i!  iF  iL  ix  i  ik  is  ix  i  i  i  i  i i i i i i i ii  ij  ik  il  im  in  io  ip  iq  i  ip   it   iu   iv   iw   ix   iy   i   i   i   i   i   i   i   i   i   i   i`$  ia$  ib$  ic$  id$  ie$  if$  ig$  ih$  it$  iu$  iv$  iw$  ix$  iy$  iz$  i{$  i|$  i$  i$  i$  i$  i$  i$  i$  i$  i$  i$  i$  i$  i$  i$  i$  i$  i$  i$  i$  i$  iv'  iw'  ix'  iy'  iz'  i{'  i|'  i}'  i~'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i@
 iA
 iB
 iC
 i` ia ib ic id ie if ig ih is_alnumis_alphais_digit
is_numericis_lowerfunction_namevariantasciiutf8c                 $   VR ,           V ,           pV P                  R R4      p\        P                  V \        4       4      \	        4       ,          p\        \        '       d   ^MR4       F  pV\        RR4      9   d   K  WT9   d   K  \        V4      p\        \        V4      '       g   KA  V R8w  g   KJ  \        P                  ! V.4      p\        \        V4      pV! V4      ^ ,          P                  4       \        Wc4      ! 4       8X  d   K  Q h	  R# )_r  r  r  r  is_spaceN)replacecodepoints_ignoregetr  r  r  r  r  hasattrr.   r   r   r  r%  )	r  r  
arrow_namepy_nameignorer  r  ar
arrow_funcs	   &&       r)   test_string_py_compat_booleanr  h  s     3.J##C,G""=#%8#%&F%%3W-ff%%; F2z""}
'B1#B Z0Jb>!$**,0C0EEEE .r3   c                     \         P                  ! . RO4      p \        P                  ! V ^R7      P	                  4       . RO8X  g   Q h\        P
                  ! V ^R7      P	                  4       . RO8X  g   Q h\        P                  ! V ^R7      P	                  4       . RO8X  g   Q h\        P                  ! V ^4      P	                  4       . RO8X  g   Q h\        P
                  ! V ^4      P	                  4       . RO8X  g   Q h\        P                  ! V ^4      P	                  4       . RO8X  g   Q h\         P                  ! . RO4      p \        P                  ! V ^R7      P	                  4       . RO8X  g   Q h\        P                  ! V ^R7      P	                  4       . RO8X  g   Q h\        P                  ! V ^R7      P	                  4       . R	O8X  g   Q h\        P                  ! V ^4      P	                  4       . RO8X  g   Q h\        P                  ! V ^4      P	                  4       . RO8X  g   Q h\        P                  ! V ^4      P	                  4       . R	O8X  g   Q hR # )
Nwidth)Nr   abcd)Nz a r  )Nz  ar  )Nza  r  )N   ár  )Nu    á r  )Nu     ár  )Nu   á  r  )
r   r   r.   ascii_centertolist
ascii_lpad
ascii_rpadutf8_center	utf8_lpad	utf8_rpadr  s    r)   test_padr    s   
((&
'C??3a(//15JJJJ==A&--/3HHHH==A&--/3HHHH??3"))+/DDDD==a '')-BBBB==a '')-BBBB
(('
(C>>#Q'..04JJJJ<<1%,,.2HHHH<<1%,,.2HHHH>>#q!((*.DDDD<<Q&&(,BBBB<<Q&&(,BBBBr3   c            
         \         P                  \         P                  J g   Q h. ROp \        ^ ^4       Fy  p\        P
                  ! V 4      p\         P                  ! W!R7      P                  4       pV  Uu. uF  qDe   VP                  V4      MRNK  	  ppW58X  d   Kk  Q RV RV RV 24       h	  \        P
                  ! . RO4      p\         P                  ! V\         P                  ! ^RR7      R	7      P                  4       pV. RO8X  g   Q h\        P
                  ! . RO4      p\         P                  ! V\         P                  ! ^R
R7      R	7      P                  4       pV. RO8X  g   Q h\        P
                  ! R.4      p\        P                  ! \        P                  RR7      ;_uu_ 4        \         P                  ! V\         P                  ! ^RR7      R	7       RRR4       \        P                  ! \        P                  RR7      ;_uu_ 4        \         P                  ! V\         P                  ! ^RR7      R	7       RRR4       R# u upi   + '       g   i     L|; i  + '       g   i     R# ; i)Ar  Nr  zMismatch at width=z: z vs u   💠)r  paddingr  xr   zPadding must be one codepointr   spam)r  rp  ABCr  -1z+1rO   N)rO   z-2z+3)u   💠💠💠💠1u   -💠💠💠2u   +💠💠💠3)xxx1z-xx2z+xx3)r.   
utf8_zfillutf8_zero_fillr  r   r   r  zfillr   r"   r#   rL  )examplesr  r   rv  r  r  s         r)   test_utf8_zfillr%    s   ==B----- =Hq!hhx ""34>>@GOPx!mAGGEN=xP!W%7wbXJ#WW!	  (($
%CsB,>,>-! ""+)+ NNNN (($
%CsB,>,>- (y{ ---- ((E7
C	r.M	N	N
#r'9'96'RS 
O	r.M	N	N
#r'9'92'NO 
O	N' Q" 
O	N	N	N	Ns   7I5/I/I+I(	+I<	c            	      t   \        R^4      p \        P                  ! . RO4      pVP                  4       P	                  \
        4      P                  \        P                  R/4      pV  F  pV  F|  pVP                  P                  W4R4      p\        P                  ! WVRR7      pVP                  4       VP                  4       8X  g   Q h\        P                  ! WVR4      V8X  d   K|  Q h	  K  	  \        P                  ! . RO4      pVP                  4       P	                  \
        4      P                  \        P                  R/4      pV  Ff  pV  F]  pVP                  P                  W4R4      p\        P                  ! WVRR7      pVP                  4       VP                  4       8X  d   K]  Q h	  Kh  	  R# )r!  NXX)rE   r  replacementr  )Nr  r   rj  r  r  abcde)Nr  u   πu   πbu   πbθu   πbθdu   πbθde)r  r   r   	to_pandasastyper!   r  r   nanr  slice_replacer.   binary_replace_slicer  utf8_replace_slice)offsetsr   seriesrE   r  r  r  s          r)   test_replace_slicer2    sT   BlG
((@
AC]]_##F+33RVVTNCFDzz//TBH,,t?F==?hoo&7777**3tTBfLLL   ((H
IC]]_##F+33RVVTNCFDzz//TBH**t?F==?hoo&7777	  r3   c                     \         P                  ! . RO4      p \        P                  ! V RRR7      pVP	                  4       . RO8X  g   Q h\        P                  ! V RR4      pVP	                  4       . RO8X  g   Q h\        P                  ! V RR^R7      pVP	                  4       . R	O8X  g   Q h\        P                  ! V RR^R7      pVP	                  4       . R	O8X  g   Q hR# )
foozfooNr   r   rK   r(  )rK   r(  max_replacements)r6  )r4  foodN)barzbarbardN)barzfoor9  N)r   r   r.   replace_substringr  )rV  r	  s     r)   test_replace_plainr<    s    88-.D			dEu	EB99;3333			dE5	1B99;3333			dEu/0
2B99;3333			dE51	EB99;3333r3   c                  \   \         P                  ! . RO4      p . ROp\        P                  ! V RRR7      pVP	                  4       V8X  g   Q h\        P                  ! V RRR7      pVP	                  4       V8X  g   Q h\        P                  ! V RR4      pVP	                  4       V8X  g   Q hR# )r   Nz(.)ooz\100r5  )r(  )r   moodN)f00m00dN)r   r   r.   replace_substring_regexr  )rV  r  r	  s      r)   test_replace_regexrB    s    88)*D$H		#	#D'w	OB99;("""		#	#D'w	GB99;("""		#	#D'7	;B99;("""r3   c                     \         P                  ! R R.4      p RRRR/RRRR/.p\        P                  ! V RR	7      pVP	                  4       V8X  g   Q h\        P                  ! V R4      pVP	                  4       V8X  g   Q hR
# )a1zb2zletterr   digitrO   r   rP   z(?P<letter>[ab])(?P<digit>\d)r  N)r   r   r.   extract_regexr  r	  r  structs      r)   test_extract_regexrK    s~    	4.	!B3-#w/LMHb*JKF==?h&&&b"BCF==?h&&&r3   c                     \         P                  ! R R.4      p R^ ^.R^^./R^^.R^^./.p\        P                  ! V RR7      pVP	                  4       V8X  g   Q h\        P                  ! V R4      pVP	                  4       V8X  g   Q hR# )rD  zb234zrF  rG  z(?P<letter>[ab])(?P<digit>\d+)r  N)r   r   r.   extract_regex_spanr  rI  s      r)   test_extract_regex_spanrO    s    	4"	#BAq67QF3Aq67QF35H""2/PQF==?h&&&""2'HIF==?h&&&r3   c                  `   \         P                  ! R R.R. .4      p \         P                  ! . RO4      p\        P                  ! V R4      P	                  V4      '       g   Q h\         P                  ! RR.\         P
                  ! 4       R7      p\         P                  ! RR.\         P
                  ! 4       R7      p\         P                  ! R	R
.RR..\         P                  ! \         P
                  ! 4       4      R7      p \        P                  ! W4      P	                  V4      '       g   Q hR# )r   r   N-rO   rP   r  a1bc2dr   r   r  d)zfoo-barNr  )r   r   r.   binary_joinr   r   list_)ar_listr  separator_arrays      r)   test_binary_joinrY    s    hhb12Gxx-.H>>'3'..x8888hhSz		<OxxRYY[9Hhhc
S#J/bhhryy{6KLG>>'3::8DDDDr3   c                      \         P                  ! R \         P                  ! 4       R7      p . RO. RO. RO.p\        P                  ! V!  P                  4       . RO8X  g   Q h\        P                  ! RRR4      P                  4       R8X  g   Q h\        P                  ! RV R4      P                  4       e   Q h\        P                  ! RRV 4      P                  4       e   Q h\        P                  ! RR7      p\        P                  ! VRV/ P                  4       . RO8X  g   Q h\        P                  ! RRRVR	7      P                  4       R8X  g   Q h\        P                  ! RV RVR	7      P                  4       R8X  g   Q h\        P                  ! RRWR	7      P                  4       e   Q h\        P                  ! R
RR7      p\        P                  ! VRV/ P                  4       . RO8X  g   Q h\        P                  ! RRRVR	7      P                  4       R8X  g   Q h\        P                  ! RV RVR	7      P                  4       R8X  g   Q h\        P                  ! RRWR	7      P                  4       e   Q hR # )Nr  r   r   rQ  za-bskip)null_handlingr   r  r  r  )r\  null_replacementa-spam)Nr   r   )r  NrT  )NrQ  z--)NNb--d)Nr   r_  )Nr^  r_  )r   r   r   r.   r  r  r%  r   )nullarrsr[  r  s       r)   test_binary_join_element_wiserb    sK   99T		,D.0ABD&&-779  &&sC5;;=FFF&&sD#6<<>FFF&&sC6<<>FFF>>/D&&;d;EEG  &&S#t%%*UW6 6 6&&T3&&+eg5 5 5&&S$&&+eg6 6 6 nn9vNG&&>g>HHJ ! ! !&&S#w((-59 9 9&&T3)).H= = =&&S$)).9 9 9r3   rt  c                    \         P                  ! WR 7      p\         P                  ! 4       \         P                  ! 4       3 F  p\         P                  ! . ROVR 7      pVP	                  V4      pVP                  4        \         P                  ! V^ ,          V^,          V^,          R.V R 7      pVP                  V4      '       g   Q h\         P                  ! . VR 7      pVP	                  V4      pVP                  4        \         P                  ! . V R 7      pVP                  V4      '       d   K  Q h	  \         P                  ! ^^.4      p\        P                  ! \        4      ;_uu_ 4        VP	                  V4       RRR4       \         P                  ! ^R.4      p\        P                  ! \        4      ;_uu_ 4        VP	                  V4       RRR4       R#   + '       g   i     Lf; i  + '       g   i     R# ; i)r  Nr   r"  r   Nrx   )
r   r   r   r   r   validater   r"   r#   
IndexError)rt  r:   r   indices_typerk   rv  r  s   &&     r)   	test_takerh  !  s\   
((6
#CBHHJ/((?>'"88VAYq	6!9dC"M}}X&&&& ((2L1'"88BR(}}X&&&& 0 hh1vG	z	"	" 
# hh2wG	z	"	" 
#	"	 
#	" 
#	"	"s   2G"G5"G2	5H	c                  d   \         P                  ! \        ^4      4      p R Fo  p\         P                  ! . ROVR7      pV P                  V4      pVP	                  4        \         P                  ! . RO4      pVP                  V4      '       d   Ko  Q h	  \         P                  ! 4       \         P                  ! 4       3 FY  p\         P                  ! . ROVR7      p\        P                  ! \        4      ;_uu_ 4        V P                  V4       RRR4       K[  	  R#   + '       g   i     Kp  ; i)rF  Nr  )r
   r   r   r   r   r   r   r   rd  )r   r"  r   )r   r   r  r   re  r   float32float64r"   r#   r  )r   rg  rk   rv  r  s        r)   test_take_indices_typesrl  ;  s    
((58
C?((?>'"88O,}}X&&&&? rzz|4((9<8]].//HHW 0/ 5///s   >DD/c                     \         P                  ! . RO. RO.4      p \         P                  ! . RO4      pV P                  V4      p\         P                  ! . RO.4      pVP	                  V4      '       g   Q h\         P                  ! ^.^	^..4      pV P                  V4      p\         P                  ! R.RR..4      pVP	                  V4      '       g   Q hR# )	r   r   r  jN)r   r   r  rT  e)fghr  rn  )r   rF  rw   rQ  	   r   )r   rp  r   rq  rn  r  )r   r;  r   r   r   )r   rk   rv  r  s       r)   test_take_on_chunked_arrayrt  L  s    


	
	
 C" hh)*GXXgF!? @AH==""""aV}-GXXgF	
 	
	! H ==""""r3   orderedc                 p   \         P                  P                  . RO. ROV R7      pVP                  \         P                  ! . RO4      4      pVP                  4        VP                  4       . RO8X  g   Q hVP                  P                  4       . RO8X  g   Q hVP                  P                  V J g   Q hR# )r   )ru  N)r   rw   r   r   rw   r   r   r   r  )r   rw   r!  )r   r   r   )
r   DictionaryArrayfrom_arraysr   r   re  r  
dictionaryr   ru  )ru  r   rv  s   &  r)   test_take_dictionaryr{  r  s    



(
();_18 ) :CXXbhhy)*F
OO000&&(O;;;;;')))r3   c                  f   \         P                  ! R .^
,          4      p \         P                  ! R .^,          .^,          4      p\         P                  ! V .R.R7      p\         P                  ! RV /4      p\         P                  ! . RO4      p\        V P                  V4      4      ^8X  g   Q h\        VP                  V4      4      ^8X  g   Q h\        VP                  V4      P                  ^ 4      4      ^8X  g   Q h\        VP                  V4      P                  ^ 4      4      ^8X  g   Q hR # )Nr   rN   )rw   r!  rR  N)r   r   r;  record_batchtabler   r   column)r   chunked_arrbatchr  rk   s        r)   test_take_null_typer  }  s    
((D6B;
C""TFQJ<!#34KOOSE#/EHHc3Z Ehh'Gsxx !Q&&&{()Q...uzz'"))!,-222uzz'"))!,-222r3   c                 x   \         P                  ! WR 7      pVP                  4       pVP                  RR7       \	        \        V4      4       Uu. uF  qBV,          P                  '       g   K  VNK!  	  ppVP                  \         P                  ! V4      4      pVP                  V4      '       g   Q hR# u upi )r  TfullN)	r   r   	drop_nullre  r  r   r  r   r   )rt  r:   r   rv  r  rk   r  s   &&     r)   test_drop_nullr    s    
((6
#C]]_F
OOOC/=/QV__qq/G=xx)*H=="""" >s   B7/B7c                      \         P                  ! R R.. ROR.. .4      p \         P                  ! R .RR.. . .4      pV P                  4       pVP                  V4      '       g   Q hR# )r   Nr  rT  r  rT  N)r   r;  r  r   )r   expected_droprv  s      r)   test_drop_null_chunked_arrayr    sa    


S$K)9D62F
GC$$sec3ZR%@AM]]_F==''''r3   c                     \         P                  ! \         P                  ! . RO4      .R.R7      p V P                  4       p\         P                  ! \         P                  ! . RO4      .R.R7      pVP	                  V4      '       g   Q h\         P                  ! \         P                  ! . RO4      \         P                  ! . RO4      .RR.R7      p V P                  4       p\         P                  ! \         P                  ! R.4      \         P                  ! R.4      .RR.R7      pVP	                  V4      '       g   Q hR# )	r   Nr  a'r}  zb'r   Nr  rT  Nr   r  rT  )NNr  Nro  )r   r~  r   r  r   )r  rv  r  s      r)   test_drop_null_record_batchr    s    OO	-	./v?E__F 9:4&IH==""""OO	-	.	.	/	19=tFE __F	3%"((C5/*4,@H==""""r3   c                     \         P                  ! \         P                  ! . R
O4      .R .R7      p \         P                  ! \         P                  ! . RO4      .R .R7      pV P                  4       pVP	                  V4      '       g   Q h\         P                  ! \         P
                  ! R R.. RO.4      \         P
                  ! R R.. RO.4      \         P
                  ! R .R.R.RR..4      .. ROR7      p \         P                  ! \         P                  ! R R.4      \         P                  ! R R.4      \         P                  ! R R.4      .. ROR7      pV P                  4       pVP	                  V4      '       g   Q h\         P                  ! \         P
                  ! R R.. RO.4      \         P
                  ! R.R.R.RR..4      \         P
                  ! RR.. RO.4      .. ROR7      p \         P                  ! \         P                  ! R R.4      \         P                  ! RR.4      \         P                  ! RR	.4      .. ROR7      pV P                  4       pVP	                  V4      '       g   Q hR# )r   NrT  r}  r   r  BDza`d`r  r  r  )NrT  Nrw  r  rT  ro  )zc`r  N)r   r  r   r  r   r;  )r  r  rv  s      r)   test_drop_null_tabler    s	   HHbhh:;<SEJExx/23C5AH__F==""""HHb&&d5E'FG&&d5F'GH&&utfsDk'JKM +,E xx3*-3*-3*-/ ./H __F==""""HHb&&c
O'DE&&utfsDk'JK&&t6H'IJL +,E xx3*-3*-4,/1 ./H __F==""""r3   c                  .   \         P                  ! R .^
,          4      p \         P                  ! R .^,          .^,          4      p\         P                  ! V .R.R7      p\         P                  ! RV /4      p\        V P                  4       4      ^ 8X  g   Q h\        VP                  4       4      ^ 8X  g   Q h\        VP                  4       P                  ^ 4      4      ^ 8X  g   Q h\        VP                  4       P                  ^ 4      4      ^ 8X  g   Q hR # )Nr   r}  )r   r   r;  r~  r  r   r  r  )r   r  r  r  s       r)   test_drop_null_null_typer    s    
((D6B;
C""TFQJ<!#34KOOSE#/EHHc3Z Es}}1$$${$$&'1,,,u ''*+q000u ''*+q000r3   c                    \         P                  ! WR 7      p\         P                  ! . RO4      pVP                  VRR7      pVP                  4        VP	                  \         P                  ! V^ ,          V^,          .V R 7      4      '       g   Q hVP                  VRR7      pVP                  4        VP	                  \         P                  ! V^ ,          V^,          R.V R 7      4      '       g   Q h\         P                  ! . RO4      p\
        P                  ! \        4      ;_uu_ 4        VP                  V4       RRR4       \         P                  ! . R	O4      p\
        P                  ! \        RR7      ;_uu_ 4        VP                  V4       RRR4       R#   + '       g   i     Lh; i  + '       g   i     R# ; i)
r  Ndropnull_selection_behavior	emit_nullmust all be the same lengthr   TFFTNr   rw   r   rw   r   TFT)	r   r   r  re  r   r"   r#   r  
ValueErrorrt  r:   r   maskrv  s   &&   r)   test_filterr    s2   
((6
#C8845DZZfZ=F
OO==6!9fQi"8rBCCCCZZkZBF
OO==6!9fQi">RHIIII 88O$D	*	+	+

4 
, 88'(D	z)F	G	G

4 
H	G 
,	+
 
H	G	Gs   /F!F4!F1	4G	c                 (   \         P                  ! WR 7      p\        P                  ! . RO4      pVP                  VRR7      pVP	                  4        VP                  \         P                  ! V^ ,          V^,          .V R 7      4      '       g   Q hR# )r  Nr  r  r  )r   r   r   r  re  r   r  s   &&   r)   test_filter_numpy_array_maskr    sj     ((6
#C8845DZZfZ=F
OO==6!9fQi"8rBCCCCr3   c                     \         P                  ! R R.. RO.4      p \         P                  ! R .R..4      p\         P                  ! R .RR..4      p\         P                  ! . RO4      \         P                  ! . R	ORR..4      . RO3 FY  pV P                  V4      pVP	                  V4      '       g   Q hV P                  VRR7      pVP	                  V4      '       d   KY  Q h	  R# )
r   Nro  TFr  r  r  TFNFTr  )r   r;  r   r  r   )r   r  expected_nullr  rv  s        r)   test_filter_chunked_arrayr    s    


S$K9
:C$$secU^4M$$sedC[%9:M 	12
-t}=>( D!}}]++++D+F}}]++++r3   c                     \         P                  ! \         P                  ! . R	O4      .R.R7      p \         P                  ! . R
O4      pV P                  V4      p\         P                  ! \         P                  ! R R.4      .R.R7      pVP	                  V4      '       g   Q h\         P
                  ! RR.R.RR..4      pV P                  V4      pVP	                  V4      '       g   Q hV P                  VRR7      p\         P                  ! \         P                  ! . RO4      .R.R7      pVP	                  V4      '       g   Q hR# )r   Nro  r  r}  TFr  r  r   Nr  rT  ro  r  r   Nro  )r   r~  r   r  r   r;  )r  r  rv  r  chunked_masks        r)   test_filter_record_batchr    s   OO	,	-.tf>E 8845D\\$F#s 45dVDH=="""" ##dE]TFUDM$JKL\\,'F==""""\\$\DF)9 :;D6JH==""""r3   c                  N   \         P                  ! \         P                  ! . RO4      .R .R7      p \         P                  ! \         P                  ! R R.4      .R .R7      p\         P                  ! \         P                  ! . R	O4      .R .R7      p\         P                  ! . R
O4      \         P                  ! RR.. RO.4      . R
O3 FY  pV P	                  V4      pVP                  V4      '       g   Q hV P	                  VRR7      pVP                  V4      '       d   KY  Q h	  R# )r   Nro  r}  TFr  r  r  r  r  )NFT)r   r  r   r;  r  r   )r  r  r  r  rv  s        r)   test_filter_tabler     s    HHbhh9:;C5IEHHbhhSz23C5AMHHbhh'789#GM 	12
4-)<=>( d#}}]++++dKH}}]++++r3   c                     \         P                  ! R R.. RO.4      p \         P                  ! \         P                  ! . RO4      .R.R7      p\         P                  ! \         P                  ! . RO4      .R .R7      pWV3 F  p\         P                  ! . R	O4      p\
        P                  ! \        4      ;_uu_ 4        VP                  V4       RRR4       \         P                  ! . R
O4      p\
        P                  ! \         P                  RR7      ;_uu_ 4        VP                  V4       RRR4       K  	  \         P                  ! R4      pWV3 F?  p\
        P                  ! \        4      ;_uu_ 4        VP                  V4       RRR4       KA  	  R#   + '       g   i     L; i  + '       g   i     EK?  ; i  + '       g   i     K~  ; i)r   Nr  r}  Tr  r   r  r  r  r  )r   r;  r~  r   r  r"   r#   r  r  rL  r   r$   )r   r  r  objr  r   filts          r)   test_filter_errorsr  3  sH   


S$K9
:COO	,	-.tf>EHHbhh9:;C5IEE"xx(]].//JJt 0 xx+,]]2??!>@ @JJt@ @ # YYt_Fv&]]9%%LL &% ' 0/
@ @ @ &%%s$   >FF.;GF+.G Gc                  t   \         P                  ! R .^
,          4      p \         P                  ! R .^,          .^,          4      p\         P                  ! V .R.R7      p\         P                  ! RV /4      p\         P                  ! RR.^,          4      p\        V P                  V4      4      ^8X  g   Q h\        VP                  V4      4      ^8X  g   Q h\        VP                  V4      P                  ^ 4      4      ^8X  g   Q h\        VP                  V4      P                  ^ 4      4      ^8X  g   Q hR # )Nr   r}  TF)r   r   r;  r~  r  r   r  r  )r   r  r  r  r  s        r)   test_filter_null_typer  K  s    
((D6B;
C""TFQJ<!#34KOOSE#/EHHc3Z E88T5MA%&Dszz$ A%%%{!!$'(A---u||D!((+,111u||D!((+,111r3   c                     \         P                  ! . \         P                  ! 4       R 7      p \         P                  ! V . RO^ .. RO^.V .4      p\         P                  ! . R	O.\         P                  ! 4       R 7      p\        P
                  ! V4      P                  V4      '       g   Q h\        P                  ! ^	\         P                  ! 4       R7      p\        P
                  ! WR7      P                  V4      '       g   Q h\        P
                  ! VR
R7      P                  V4      '       g   Q h\        P                  ! \        RR7      ;_uu_ 4        \        P
                  ! V^R7       RRR4       R#   + '       g   i     R# ; i)r  )	max_indexoutput_typer  r  Index out of bounds: 9r   N)rs  rR  rF  r!  rw   )r   r"  rQ  )
rF  r"  rQ  r!  rR  r   rS  rw   rs  r   rx   )r   r   r   r;  r.   inverse_permutationr   InversePermutationOptionsr"   r#   r   )arr0r   r  r   s       r)   test_inverse_permutationr  Y  s   88BRXXZ(D


osIsD C !? @rxxzRH!!#&--h7777**QBHHJOG!!#7>>xHHHH!!#4;;HEEEE	.F	G	G
sa0 
H	G	G	Gs   E88F		c                     \         P                  ! . RO4      p \         P                  ! . RO4      p\         P                  ! . RO4      p\        P                  ! W4      pVP	                  V4      '       g   Q h\        P
                  ! R	R7      p\        P                  ! WVR7      P	                  V4      '       g   Q h\        P                  ! W^	R7      P	                  V4      '       g   Q h\        P                  ! \        RR7      ;_uu_ 4        \        P                  ! W^R7       RRR4       R#   + '       g   i     R# ; i)
Tr  r  r  r   N)
TFTTFFTTTF)
rs  rS  rR  rQ  rF  r"  r!  r   rw   r   )
FTTTFFTTFTrx   )	r   r   r.   scatterr   ScatterOptionsr"   r#   r   )r:   rk   r  rv  r   s        r)   test_scatterr  i  s    XXVWFhh56Gxx 8 9HZZ(F=="""""-G::fw7>>xHHHH::f3::8DDDD	.F	G	G


6a0 
H	G	G	Gs   D44E	typr   r;  c                    V R 8X  d   R pMR pV! . RO4      pV! . RO4      p\         P                  ! W#4      pVP                  V! . RO4      4      '       g   Q h\         P                  ! W#4      pVP                  V! . RO4      4      '       g   Q h\         P                  ! W#4      pVP                  V! . RO4      4      '       g   Q h\         P
                  ! W#4      pVP                  V! . R	O4      4      '       g   Q h\         P                  ! W#4      pVP                  V! . R
O4      4      '       g   Q h\         P                  ! W#4      pVP                  V! . RO4      4      '       g   Q hR# )r   c                 .    \         P                  ! V 4      # r   r   r   r:   s   &r)   contest_compare_array.<locals>.con|      88F##r3   c                 0    \         P                  ! V .4      # r   r   r;  r  s   &r)   r  r        ##VH--r3   Nr#  )rw   rw   r"  Nr"  )TFFNN)FTTNN)FFTNN)TFTNN)FTFNN)TTFNN)r.   r  r   	not_equalless
less_equalgreatergreater_equal)r  r  arr1arr2rv  s   &    r)   test_compare_arrayr  y  s#   
g~	$	. !"D!"DXXd!F===>????\\$%F==<=>>>>WWT F===>????]]4&F==<=>>>>ZZ#F===>????d)F==<=>>>>r3   c                    V R 8X  d   R pMR pV! . RO4      p\         P                  ! R4      p\        P                  ! W#4      pVP	                  V! . RO4      4      '       g   Q hV R 8X  df   \         P                  ! RRR7      p\        P                  ! W%4      p\        P
                  ! V4      pVP	                  V! . R	O4      4      '       g   Q h\        P                  ! W#4      pVP	                  V! . R
O4      4      '       g   Q h\        P                  ! W#4      pVP	                  V! . RO4      4      '       g   Q h\        P                  ! W#4      pVP	                  V! . RO4      4      '       g   Q h\        P                  ! W#4      pVP	                  V! . RO4      4      '       g   Q h\        P                  ! W#4      pVP	                  V! . RO4      4      '       g   Q hR# )r   c                 .    \         P                  ! V 4      # r   r  r  s   &r)   r  'test_compare_string_scalar.<locals>.con  r  r3   c                 0    \         P                  ! V .4      # r   r  r  s   &r)   r  r    r  r3   r   Nr   r  )r   r   r  NFTFN)TTTTTFTNTFFNr  FFTNFTTN)r   r   r.   r  r   is_nullr  r  r  r  r  )r  r  r   r   rv  nascalarisnulls   &      r)   test_compare_string_scalarr    ss   
g~	$	. #
$CYYs^FXXc"F==789999
g~99T1#(F#}}S!9:;;;;\\#&F==678888WWS!F==789999]]3'F==678888ZZ$F==789999c*F==678888r3   c                    V R 8X  d   R pMR pV! . RO4      p\         P                  ! ^4      p\        P                  ! W#4      pVP	                  V! . RO4      4      '       g   Q hV R 8X  dH   \         P                  ! RRR7      p\        P                  ! W%4      pVP                  4       . RO8X  g   Q h\        P                  ! W#4      pVP	                  V! . R	O4      4      '       g   Q h\        P                  ! W#4      pVP	                  V! . R
O4      4      '       g   Q h\        P                  ! W#4      pVP	                  V! . RO4      4      '       g   Q h\        P                  ! W#4      pVP	                  V! . RO4      4      '       g   Q h\        P                  ! W#4      pVP	                  V! . RO4      4      '       g   Q hR# )r   c                 .    \         P                  ! V 4      # r   r  r  s   &r)   r   test_compare_scalar.<locals>.con  r  r3   c                 0    \         P                  ! V .4      # r   r  r  s   &r)   r  r    r  r3   Nr   r  rw   r   r!  Nr  NNNNr  r  r  r  r  )r   r   r.   r  r   r  r  r  r  r  r  )r  r  r   r   rv  r  s   &     r)   test_compare_scalarr    sa   
g~	$	. o
CYYq\FXXc"F==789999
g~99T0#(!%====\\#&F==678888WWS!F==789999]]3'F==678888ZZ$F==789999c*F==678888r3   c                  X   \         P                  ! . RO4      p \         P                  ! . RO^R..4      p\         P                  ! ^^.. RO.4      p\         P                  ! . RO.4      pW3W3W33 F4  w  rE\        P                  ! WE4      pVP                  V4      '       d   K4  Q h	  R# )rw   Nr#  rw   r   r!  )r!  r"  N)TTTTN)r   r   r;  r.   r  r   )r   arr_chunkedarr_chunked2r  leftrightrv  s          r)    test_compare_chunked_array_mixedr    s    
((%
&C""I4y#9:K##aV\$:;L!? @AH 
		#
 $&}}X&&&&r3   c                      \         P                  ! . RO4      p \         P                  ! . RO4      p\        P                  ! W4      p\         P                  ! . RO4      pVP	                  V4      '       g   Q hR# )rw   Nrw   r   r!  r"  rF  r   rx   rw   r   r!  )rw   rw   r"  rQ  rS  )r   r   r.   r   r   r  r  rv  r  s       r)   test_arithmetic_addr    sP    88O$DHH%&EVVD Fxx(H==""""r3   c                      \         P                  ! . RO4      p \         P                  ! . RO4      p\        P                  ! W4      p\         P                  ! . RO4      pVP	                  V4      '       g   Q hR# )rw   Nr  r  )rw   r!  r   r   r   )r   r   r.   subtractr   r  s       r)   test_arithmetic_subtractr    sP    88O$DHH%&E[[%Fxx(H==""""r3   c                      \         P                  ! . RO4      p \         P                  ! . RO4      p\        P                  ! W4      p\         P                  ! . RO4      pVP	                  V4      '       g   Q hR# )rw   Nr  r  )r   r  r!  rS     )r   r   r.   multiplyr   r  s       r)   test_arithmetic_multiplyr     sQ    88O$DHH%&E[[%Fxx)*H==""""r3   roundround_to_multiplec                 
   V R 8X  d-   \         P                  p\        \         P                  ^ R7      pM2V R8X  d,   \         P                  p\        \         P
                  ^R7      p. ROpR. ROR. ROR. ROR. ROR	. ROR
. ROR. ROR. ROR. ROR. RO/
pVP                  4        F[  w  rVX! VR7      pX! W7R7      p\        P                  ! V\        P                  ! 4       R7      p	V	P                  V4      '       d   K[  Q h	  R# )r  ndigitsr  multipleNdownuptowards_zerorb   	half_downhalf_uphalf_towards_zerohalf_towards_infinityhalf_to_evenhalf_to_odd
round_moder  r  )g	@      @皙@      @皙	g      gN)r!  r!  r!  r"  r  r  N)r"  r"  r"  rF  r  r  r  N)r!  r!  r!  r"  r  r  r  N)r"  r"  r"  rF  r  r  r  N)r!  r!  r"  r"  r  r  r  N)r!  r"  r"  rF  r  r  r  N)r!  r!  r"  r"  r  r  r  N)r!  r"  r"  rF  r  r  r  N)r!  r"  r"  r"  r  r  r  N)r!  r!  r"  rF  r  r  r  N)r.   r  r   r   r  r   itemsr   r   rk  r   )
rt  r  r   r:   rmode_and_expectedr  r  r   rv  expected_arrays
   &         r)   test_round_to_integerr  	  s    	W}r:	"	"$$r881E9F.,6:31;!?65 !3 8 8 :
*5v/(>$$V,,,,	 !;r3   c                     . ROp R. R	OR
. RO^ . RO^. RO^. RO/pVP                  4        F  w  r#\        P                  ! VR4      p\        P                  ! WR7      p\        P
                  P                  V\        P                  ! V4      RR7       \        P                  ! WRR7      V8X  g   Q h\        P                  ! WR4      V8X  d   K  Q h	  R# )@  Nr  r  T	equal_nanr  r  r  g@r  gV-	g):ˏAg\(\Nr  i,  r   r   r   r   r   r   Nrx   r  r   r   r   r   ir   N)r  r"  r!  rF  r  ir  Nr  r  @r  r  ̌Ar  N)r  r  gp=
ף@r  gGz	g(\AffffffN)	r  r.   r   r  r   testingassert_allcloser   r   )r:   ndigits_and_expectedr  r  r   rv  s         r)   
test_roundr*  &  s    CF
,
-	,	6	< 2779//'+BC&2


""6288H+="Nxx#:<?EF 	F Fxx)@AVKKK :r3   c                     . ROp R. RO\         P                  ! R4      . RO^. RO^
. RO\         P                  ! ^d\         P                  ! ^
^4      R7      . RO/pVP                  4        F  w  r#\        P
                  ! VR4      p\        P                  ! WR7      p\        P                  P                  V\         P                  ! V4      RR7       \        P                  ! WR4      V8X  d   K  Q h	  ^ R\         P                  ! R4      3 FQ  p\        P                  ! \         P                  R	R
7      ;_uu_ 4        \        P                  ! WR7       RRR4       KS  	  \        R3 FG  p\        P                  ! \        RR
7      ;_uu_ 4        \        P                  ! WR7       RRR4       KI  	  R#   + '       g   i     K  ; i  + '       g   i     Kr  ; i)r  Nrn   皙?r  r  r  Tr  z"Rounding multiple must be positiver   r  l   l+?R zis not a valid multiple typer   )r  r  r$  r  r  r%  r&  Nr#  )r  r"  r"  r"  r  ir  Nr"  r!  r  g$)r   r   r4  r  r.   r   r  r   r'  r(  r   r"   r#   rL  r!   r$   )r:   multiple_and_expectedr  r  r   rv  s         r)   test_round_to_multipler.  9  s}   CF<
		#C	,
-
		#BMM"a01, 499;++H6MN%%f>


""6288H+="N##F$;=@FG 	G G	 < BIIe,-]]2??!EG G  ;G G .
 45]]9,JKK  ; LK 6	G G G
 LKKs   ?F8G8G	Gc                  t   . ROp \         P                  ! . RO\         P                  ! 4       4      p\         P                  ! . R	O\         P                  ! 4       4      p\        P
                  ! W4      V8X  g   Q h\         P                  ! ^ \         P                  ! 4       4      p\         P                  ! ^
\         P                  ! 4       4      p\         P                  ! R\         P                  ! 4       4      p\        P
                  ! RVRR7      V8X  g   Q h\        P
                  ! RVRR7      V8X  g   Q hR# )
w/^@g      @r  r  r  N)r0  /$Rm@+ٚu@gv|@r0  r1  r2  rx   )r  r  rx   r   rw   r   r!  )r      i^  i  g     ^@g
ףp=Rm@r2  )r   r   r   rk  r.   round_binaryr   )r:   scalesr  expect_zero
expect_infr3  s         r)   test_round_binaryr8  U  s    LFXX.
;Fxx2BJJLBH??6*h666))Arzz|,K2rzz|,JIIb"((*%E??U247BC C C??U68;EF F Fr3   c            	         \         P                  ! . RO4      p V P                  4       p\         P                  ! . RO4      pVP                  V4      '       g   Q hVP                  \        P                  ! V 4      4      '       g   Q hV P                  4       p\         P                  ! . RO4      pVP                  V4      '       g   Q hVP                  \        P
                  ! V 4      4      '       g   Q h\         P                  ! ^^.^R..4      p V P                  4       p\         P                  ! RR.RR..4      pVP                  V4      '       g   Q hV P                  4       p\         P                  ! RR.RR..4      pVP                  V4      '       g   Q h\         P                  ! ^^^R\        R4      .4      p V P                  4       p\         P                  ! . R	O4      pVP                  V4      '       g   Q hV P                  RR7      p\         P                  ! . R
O4      pVP                  V4      '       g   Q hR# )rw   NFTr,  )nan_is_nullr  )FFFT)TTTF)FFFTF)FFFTT)r   r   r  r   r.   r  r;  r   r  s      r)   test_is_nullr;  f  s   
((?
#C[[]Fxx34H==""""==C))))\\^Fxx12H==""""==S)****


QFQI.
/C[[]F%% ?@H==""""\\^F$e} =>H==""""
((Aq!T5<0
1C[[]Fxx:;H==""""[[T[*Fxx9:H==""""r3   c            	         \         P                  ! ^^^R\        R4      .4      p V P                  4       p\         P                  ! . RO4      pVP	                  V4      '       g   Q h\         P                  ! . RO\         P
                  ! 4       R7      p \        P                  ! \        RR7      ;_uu_ 4        V P                  4       pRRR4       \        P                  ! \        RR7      ;_uu_ 4        \         P                  ! . RO\         P                  ! 4       R7      p V P                  4       pRRR4       R#   + '       g   i     L|; i  + '       g   i     R# ; i)	rw   Nr,  r  z"has no kernel matching input typesr   )FFFNT)rO   rP   Nr     bbN)
r   r   r   is_nanr   r   r"   r#   r   r}  )r   rv  r  r   s       r)   test_is_nanr@    s    
((Aq!T5<0
1CZZ\Fxx9:H==""""
((#"))+
6C	$,P
R 
RJJL
R 
$,P
R 
Rhh*1BCJJL
R 
R	
R 
R
R 
R 
Rs   7D<4>E<E	E 	c                     \         P                  ! . RO\         P                  ! 4       R7      p \         P                  ! ^.\         P                  ! 4       R7      p\        P                  ! \         P
                  RR7      ;_uu_ 4        V P                  V4       RRR4       \         P                  ! . RO\         P                  ! 4       R7      p \         P                  ! R\         P                  ! 4       R7      pV P                  V4      p\         P                  ! . RO4      pVP                  V4      '       g   Q h\         P                  ! . RO4      p V P                  R4      p\         P                  ! . R	O4      pVP                  V4      '       g   Q h\         P                  ! . R
O\         P                  ! 4       R7      p V P                  R4      p\         P                  ! . RO\         P                  ! 4       R7      pVP                  V4      '       g   Q h\         P                  ! . RO4      p V P                  R4      p\         P                  ! . RO4      pVP                  V4      '       g   Q hR#   + '       g   i     EL; i)rw   Nr  +Array arguments must all be the same lengthr   cccrw   r   Nr"  r  )r   bbN)r   rE  rC  r=  )r  r>  s   ccc)r   r   r   r"   r#   rL  	fill_nullr`  r   r   r}  )r   
fill_valuerv  r  s       r)   test_fill_nullrH    s   
((?
3C1#BGGI.J	rJ
L 
Lj!
L ((+"'')
<C4bggi0J]]:&Fxx01H==""""
(($
%C]]5!Fxx*+H==""""
((&R__->
?C]]5!Fxx-BOO4EFH==""""
(($
%C]]4 Fxx)*H==""""/
L 
L 
Ls   I66J	c                    \         P                  ! . ROV R7      p\         P                  ! ^V R7      pVP                  V4      p\         P                  ! . ROV R7      pVP	                  V4      '       g   Q hVP                  ^4      pVP	                  V4      '       g   Q h\         P
                  P                  VP                  4      '       gC   \        P                  ! \        \        34      ;_uu_ 4        VP                  R4       RRR4       VP                  \         P                  ! ^RR7      4      pVP	                  V4      '       g   Q hR#   + '       g   i     LR; i)rw   Nr  5r   rD  )rw   r   rF  r"  )r   r   r   rF  r   r0  is_unsigned_integerr   r"   r#   r  r$   )r  r   rG  rv  r  s   &    r)   test_fill_null_arrayrL    s    
((?
4C1:.J]]:&Fxx:6H=="""" ]]1F=="""" 88''11]]J	233MM# 4 ]]299QV45F==""""	 43s   8EE$	c           	         \         P                  ! ^V R7      p\         P                  ! \         P                  ! . ROV R7      .4      pVP	                  V4      p\         P                  ! \         P                  ! . ROV R7      .4      pVP                  V4      '       g   Q h\         P                  ! \         P                  ! ^^.V R7      \         P                  ! . V R7      \         P                  ! R^.V R7      .4      p\         P                  ! \         P                  ! ^^.V R7      \         P                  ! . V R7      \         P                  ! ^^.V R7      .4      pVP	                  V4      pVP                  V4      '       g   Q hVP	                  ^4      pVP                  V4      '       g   Q hVP	                  \         P                  ! ^RR7      4      pVP                  V4      '       g   Q hR# )rF  r  Nr   )Nr   r!  r"  )rF  r   r!  r"  )r   r   r;  r   rF  r   )r  rG  r   rv  r  s   &    r)   test_fill_null_chunked_arrayrN    sy   1:.J


BHH_:FG
HC]]:&F,Z!H IJH==""""



!Qj)
*%
$, C
 
!Qj)
*%
!Qj)! H
 ]]:&F=="""" ]]1F==""""]]299QV45F==""""r3   c                  6   \         P                  ! . RO4      p \         P                  ! R \         P                  ! 4       R7      p\         P                  P                  RW.4      pVP                  R R7       \         P                  ! . RO4      pVP                  V4      '       g   Q h\         P                  ! 4       \         P                  ! 4       \         P                  ! 4       \         P                  ! 4       3 F  p\         P                  ! . ROVR7      p \         P                  ! ^*VR7      p\         P                  P                  RW.4      pVP                  R R7       \         P                  ! . ROVR7      pVP                  V4      '       d   K  Q h	  R# )	TNr  coalescer  )TFFFFN)TFFFFT)rw   r   r!  r"  rF  N)rw   r   r!  r"  rF  *   )r   r   r   bool_computer   re  r   r   r   r   r   )r   ri   rv  r  rt  s        r)   !test_fill_null_windows_regressionrT    s    ((;
<C
		$RXXZ(AZZ%%j3(;F
OOOxx@AH==""""wwy"((*bhhj"((*=hh,26IIbr"))*sh?T"88/b9}}X&&&& >r3   c                     \         P                  ! . RO4      p \         P                  ! . RO4      p\        P                  ! W4      \         P                  ! . RO4      8X  g   Q h\        P                  ! W4      \         P                  ! . RO4      8X  g   Q h\        P
                  ! W4      \         P                  ! . RO4      8X  g   Q h\        P                  ! W4      \         P                  ! . RO4      8X  g   Q h\        P                  ! W4      \         P                  ! . RO4      8X  g   Q h\        P                  ! V 4      \         P                  ! . RO4      8X  g   Q hR# )TNr  )TTFTr  r  r  )	r   r   r.   and_
and_kleeneor_	or_kleenexorinvert)r   r   s     r)   test_logicalr\    s    
+,A
*+A771=BHH%?@@@@=="((+E"FFFF66!<288$=>>>><<*C!DDDD66!<288$>????99Q<288$=>>>>r3   c                     \         P                  ! . RO4      p V P                  4       p\        P                  ! V4      pW8w  g   Q hW8X  g   Q hV \        P                  ! V 4      8X  g   Q h\        P                  ! V4      V8X  g   Q hR# )r   N)r   r   r   r  r   )r   r   dictionary_encoder.   dictionary_decode)r   dictionary_arraydictionary_array_decodes      r)   test_dictionary_decoderb    s~    HH./E..0 223CD$$$+++B((//// 015EEEEr3   c                     \         P                  ! . RORR7      p \        P                  ! \         P                  ! 4       4      p\
        P                  ! \        4      ;_uu_ 4        \        P                  ! V RR7       RRR4       \
        P                  ! \        4      ;_uu_ 4        \        P                  ! V RVR7       RRR4       \
        P                  ! \        4      ;_uu_ 4        \        P                  ! V RVR7       RRR4       \        P                  ! WR7      \         P                  ! . ROR	R7      8X  g   Q h\         P                  ! R.RR7      p \        P                  ! \         P                  ! 4       RR
7      p\
        P                  ! \         P                  4      ;_uu_ 4        \        P                  ! V R4       RRR4       \        P                  ! V RRR7      \         P                  ! R.RR7      8X  g   Q h\        P                  ! WR7      \         P                  ! R.RR7      8X  g   Q h\         P                  ! \        P                  ! R^^4      \        P                  ! R^^4      .4      p \         P                  ! RR.RR7      p\        P                  ! V R4      V8X  g   Q h\         P                  ! ^^.. RO.\         P                  ! \         P                  ! 4       4      R7      p \         P                  ! RR.. RO.\         P                  ! \         P                  ! 4       4      R7      p\        P                  ! WP                   4      V8X  g   Q hR#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i)rw   r   r  N)target_typer   r  T)r   r   r   )allow_int_overflowFr   i  i  l    x\Nl    0E*ztimestamp[ms]rO   rP   r   l    rx   )r!  r"  rF  )34rJ  )r   r   r.   r   r   r"   r#   r$   castr  r   rL  datetime
large_listrV  r  r   )r   r   allow_overflow_optionsr  s       r)   	test_castrm    sr   
((<g
.CnnRWWY'G	y	!	!
& 
" 
z	"	"
Wg. 
# 
z	"	"
$0 
# 773(BHH6-# # # # ((K=w
/C^^

t- 
r	'	'
W 
( 773e,"G0LLLL7737288	7<    ((			4A	&(9(9$1(EFHCxx6_MH773(H444
((QFI&R]]2779-E
FCxx#s_5XXbggi02H773&(222A 
"	!	! 
#	"	" 
#	"	" 
(	'	's0   &M0)N-N5N,0N	N	N)	,N=	
value_typec                     \         P                  ! R ^^4      p\        P                  ! V.V R7      p\        P
                  ! W 4      V8X  g   Q hR# )i  r  N)rj  dater   r   r.   ri  )rn  dtr   s   &  r)   test_identity_cast_datesrr  ;  s=    	tQ	"B
((B4j
)C773#s***r3   c                    \         P                  ! \         P                  ! R V 4      ^4      p\         P                  ! 4       p\         P                  ! \         P                  ! RV4      ^4      p\         P                  P                  \         P                  ! . ROVR7      VR7      pWP                  V4      P                  8X  g   Q h\         P                  P                  \         P                  ! . ROVR7      VR7      pWP                  V4      P                  8X  g   Q h\         P                  ! 4       p\         P                  ! \         P                  ! RV4      ^4      p\         P                  P                  \         P                  ! . ROVR7      VR7      pWP                  V4      P                  8X  g   Q h\         P                  ! \         P                  ! R V 4      ^4      pRp\        P                  ! \         P                  P                  VR7      ;_uu_ 4        VP                  V4       RRR4       R#   + '       g   i     R# ; i)	elementr:   r  Nz&Size of FixedSizeList is not the same.r   )rw   r   r!  r"  rF  rQ  )rw   NNr"  rF  rQ  )NNNNNN)r   rV  rM   r   FixedSizeListArrayry  r   ri  r   r`  r"   r#   libArrowTypeError)rn  	cast_typedtyper   fslerr_msgs   &     r)   test_fsl_to_fsl_castr|  C  s    )Z8!<IHHJE88BHHXu-q1D



+
+
#%0t , =C+00000 


+
+
)6T , CC+00000 GGIE88BHHXu-q1D



+
+
5EB , OC+00000 )Z8!<I6G	rvv,,G	<	< 
=	<	<	<s   #H??I	DecimalTypeTraitsFloatToDecimalCase	decimal32	decimal64r2  r4  c                :   V ^ 8  g   Q hV^ 8  g   Q h\        V 4      ^
V,          ,          pV^
V,          ,          V 8  dD   \        P                  ! VR4      pV^
V,          ,          V 8  d   \        P                  ! VR4      pV^
V,          ,          V 8:  g   Q hV# )z9
Find the largest float f such as `f * 10**scale <= val`
        )r   r   	nextafter)valr3  	float_vals   && r)   largest_scaled_float_not_abover  n  s     !8O8A::c
RY&I2u9s"LLC0	r5y 3&Y4Ir5y C'''r3   c                    \        V \        4      '       g   Q h\        P                  ! V 4      pVP	                  V) 4      p\        V4      pV# )zK
Return a float representation (possibly approximate) of `int_val**-scale`
)r   intr/  r*  scalebr   )int_valr3  unscaledscaledr  s   &&   r)   scaled_floatr  ~  sD     gs####w'H__eV$FfIr3   c              #    "   ^p\        ^V^4       Ft  p\        ^ V^4       F`  p\        W4R4      x  \        W4R4      x  ^
\        W2,
          V4      ,          p\        ^
V,          V,
          V4      p\        W4V4      x  Kb  	  Kv  	  R# 5i)z;
Return FloatToDecimalCase instances with integral values.
r        ?N)r  r~  r]   r  )float_tymax_precisionmantissa_digits	precisionr3  epsilon
abs_maxvals   &&     r)   $integral_float_to_decimal_cast_casesr    s      O1mQ/	1i+E$Ys;;$Ys;;#i95AAG7I'0J$YzBB , 0s   B
Bc              #  $  "   ^p\        ^V^4       Fx  p\        ^ V^4       Fd  p^^
\        W2,
          ^ 4      ,          ,          p\        WT4      p\        ^
V,          V,
          V4      p\        W4V4      x  \        W4V4      x  Kf  	  Kz  	  R# 5i)z7
Return FloatToDecimalCase instances with real values.
N)r  r]   r  r~  )r  r  r  r  r3  r  
abs_minvalr  s   &&      r)    real_float_to_decimal_cast_casesr    s      O1mQ/	1i+E"c)"=qAAAG7GJ7I'0J$YzBB$YzBB , 0s   BBc              #  N  "   \         P                  ! ^*4      p\        ^V^4       Fy  p\        ^ V^4       Fe  p\        ^4       FS  pVP                  ^ ^
V,          4      p\	        Wd4      pV^
V,          ,          ^
V,          8  g   Q h\        W4V4      x  KU  	  Kg  	  K{  	  R# 5i)z7
Return random-generated FloatToDecimalCase instances.
N)r  Randomr  	randranger  r~  )r  r  rr  r3  r  r  r  s   &&      r)   "random_float_to_decimal_cast_casesr    s      	bA1mQ/	1i+E2Y;;q"i-8(9	 2u9,r9}<<<(9EE	  , 0s   B#B%c                 V   VP                   Vn        \        P                  Vn        VP                  V4      pVP                  \        P                  ! ^4      P                  VP                  ) 4      4      p\        P                  ! WR7      p\        P                  ! Wb4      P                  4       pWu8w  dr   \        Wu,
          4      ^
VP                  ,          ,          pVP                   V^,
          8  d   ^M^p	W8:  g%   Q RV: RVP                    RV: RV: RV: 2
4       hR# R# )rw   r  zfloat_val = z, precision=z, expected = z, actual = z, diff_digits = N)r  precr/  ROUND_HALF_EVENroundingcreate_decimal_from_floatquantizer*  r  r3  r   r   r.   ri  r%  abs)
r  r  
decimal_tydecimal_ctxr  r  ri   r  diff_digitslimits
   &&&&&     r)   check_cast_float_to_decimalr    s    "++K"22K44Y?H  !3!:!:J<L<L;L!MNH
		)+AWWQ#))+F &+,r:3C3C/CC))MA,==1# 	.9-|J4H4H3I J"[
 ;(O-	.# r3   r  )idsr  c                     V P                   # r   r,   vs   &r)   <lambda>r        qvvr3   case_generatorc                 6   \         P                  ! 4       ;_uu_ 4       pV! WP                  4       FH  p\        WP                  VP                  VP                  VP                  4      W1P                  4       KJ  	  R R R 4       R #   + '       g   i     R # ; ir   )r/  localcontextr  r  r  factoryr  r3  )r  r  r  ctxcases   &&&  r)   test_cast_float_to_decimalr    sj     
				3"8-E-EFD'..""4>>4::>--/ G 
 			s   ABB	decimal_traitsc                     V P                   # r   r  r  s   &r)   r  r    r  r3   c                   \         P                  ! ^+4      p\        P                  ! 4       \        P                  \        P
                  ! 4       \        P
                  /V ,          p\        P                  ! 4       ^\        P
                  ! 4       ^5/V ,          p\        P                  ! 4       R\        P
                  ! 4       R/V ,          w  rV\        P                  ! \        P                  ! ^V,          4      4      pVP                  pW8  dc   \        P                  ! \        P                  ! ^
V,          4      4      p\        P                  ! \        P                  ! ^V,          4      4      p\        P                  ! 4       ;_uu_ 4       p	Tp
Wn        \        V) V
\        P                  ! \        P                  ! ^V,          4      4      ,           4      p\!        V\        P                  ! \        P                  ! ^V,          4      4      4      p\#        W4       EF  pVP%                  W4      pV) \        P                  ! \        P                  ! ^
W,
          ,          4      4      ,           pY_u;8:  d	   V8:  g   Q h Q h\#        ^4       EF'  pVP'                  ^ ^V,          4      p\        P(                  ! V! V4      V4      p\+        VV4      '       g   Q hV^ 8  d&   \        P,                  ! V4      ^V,          ,          pM%\        P,                  ! V4      ^V) ,          ,          p\/        VP1                  V4      4      p\2        P4                  ! \        P6                  ! VV R7      V4      P9                  4       p\/        VP1                  V4      4      p\;        VV,
          4      ^8:  d   EK(  Q h	  EK  	  RRR4       R#   + '       g   i     R# ; i)zD
Test float-to-decimal conversion against exactly generated values.
r  N)i   )ii  )r  r  r   rj  r   rk  mathfloorlog10r  log2r/  r  r  r]   ceilr  r  r  r  ldexpr   r*  r  r  r.   ri  r   r%  r  )r  r  r  np_float_tymantissa_bitsfloat_exp_minfloat_exp_maxr  r  r  r  	min_scale	max_scaler3  r  	float_expr  mantissar  r  expected_as_intr  actual_as_ints   &&                     r)   !test_cast_float_to_decimal_randomr    s    	bA


bjj


bjj K
 	

b


b M
 	

k


m$ $ M jjA},<!=>O"00M &

499R->#?@**TZZ=0@%AB					3#	 !DIIdjjM9I.J$KKM	

4::a.>#?@B	90E'//	AJ
 (DIIb93D.E$FGHI >>>>>>1X;;q!]*:;HH[%:IF	!)[9999 >&x81i<GH&x81yj=HH"'(>"?IIih7EEJUW  %fmmE&: ;=?:;q@@@  1 
 			s   H&O<	OO 	c            	      h   \         P                  ! . RO4      p \        P                  ! V RRR7      p\         P                  ! \        P                  ! R^^4      R\        P                  ! R^^4      .\         P
                  ! R4      R7      pW8X  g   Q h\        P                  ! V RRR7      V8X  g   Q h\         P                  ! \        P                  ! R^^4      RR.\         P
                  ! R4      R7      p\        P                  ! V R	RR
R7      pW8X  g   Q h\        P                  ! \         P                  RR7      ;_uu_ 4        \        P                  ! V RRRR7       RRR4       \        P                  ! \         P                  RR7      ;_uu_ 4        \        P                  ! V RRR7       RRR4       \        P                  ! V RRR
R7      pV\         P                  ! . RO\         P
                  ! R4      R7      8X  g   Q hR#   + '       g   i     L; i  + '       g   i     Lt; i)5/1/2020Nz%m/%d/%Yri   formatuniti  il  r  r  z%d/%m/%YT)r  r  error_is_nullz"Failed to parse string: '5/1/2020'r   z%Y-%m-%dF)r  Nz
12/13/1900)NNN)	r   r   r.   strptimerj  	timestampr"   r#   rL  )r   gotr  s      r)   test_strptimer  !	  s   
((3
4C
++c*3
7Cxx			4A	&h.?.?b".MN\\# H ??;;sJS1S888xx**4A6dC\\#.0H
++c*3d
KC??	rA
C 
C
C
EJ
C 
rA
C 
C
C
5
C ++c*3d
KC"((-BLL4EFFFF
C 
C
C 
Cs   
HH!H	!H1	c                 P   R p\         P                  ! W4      p\         P                  ! VRR7      P                  4       pV'       g   Q RV  24       h\         P                  ! WRR7      p\         P                  ! WRR7      pVP                  V4      '       g   Q RV RV  R24       hR	# )
z (UTC|GMT[+-]?[0-9]*|[A-Z]{2,5})$TrJ   zWAll timezone values should be GMT offset format, UTC, or timezone abbreviation
Actual: r  r5  z
Expected: z, 
Actual: z' 
Note: tz suffix is not being comparedN)r.   r  r   r%  rA  r   )rv  r  pends_with_tzall_end_with_tzresult_substringexpected_substrings   &&     r)   $_compare_strftime_strings_on_windowsr  =	  s     	+A++F6Lff\d;AACO O FFLXO O? 11&QST33HUWX""#566 2
XJl6( 32 	226r3   c            	         . ROp . ROp. ROp\         P                  R8w  d   VP                  . RO4       V EF  p\        P                  ! V 4      P                  V4      pR F  p\        P                  ! V\        P                  ! WS4      R7      pV F  p\        P                  ! V4      p\        P                  ! WhR7      p	\        P                  ! VP                  V4      4      P                  V	P                  4      p
\         P                  R8X  d   VR8X  d   \        W4       K  V	P                  V
4      '       d   K  Q h	  K  	  R	p\        P                  ! V\        P                  ! RV4      R7      p\        P                  ! V\        P                  ! 4       R7      p	\        P                  ! VP                  V4      4      P                  V	P                  4      p
V	P                  V
4      '       g   Q h\        P                  ! V\        P                  ! RV4      R7      p\        P                  ! V\        P                  ! VR,           4      R7      p	\        P                  ! VP                  VR,           4      4      P                  V	P                  4      p
\         P                  R8X  d   \        W4       MV	P                  V
4      '       g   Q h\        P                  ! V\        P                  ! RV4      R7      p\        P                  ! R
4      p\        P                  ! WhR7      p	\        P                  ! VP                  R
4      4      P                  V	P                  4      p
V	P                  V
4      '       g   Q h\        P                  ! V\        P                  ! RV4      R7      p\        P                  ! R
4      p\        P                  ! WhR7      p	\        P                  ! VP                  R4      4      P                  V	P                  4      p
V	P                  V
4      '       g   Q h\        P                  ! V\        P                  ! RV4      R7      p\        P                  ! VRR7      p\        P                  ! WhR7      p	\        P                  ! VP                  V4      4      P                  V	P                  4      p
V	P                  V
4      '       d   EK  Q h	  R	p\        P                  ! V 4      p\        P                  ! V\        P                  ! R4      R7      p\        P                  ! V\        P                  ! V4      R7      p	\        P                  ! VP                  V4      4      P                  V	P                  4      p
\        P                  ! Wg4      V	8X  g   Q hV	P                  V
4      '       g   Q h\         P"                  ! \        P$                  RR7      ;_uu_ 4        \        P                  ! V\        P                  ! VR,           4      R7       RRR4       \         P"                  ! \        P$                  RR7      ;_uu_ 4        \        P                  ! V\        P                  ! VR,           4      R7       RRR4       R#   + '       g   i     L|; i  + '       g   i     R# ; i)2018-03-10 09:00N%z%Zwin32ri   usr  r  %Y-%m-%dT%H:%M:%Sz%Sz%S.%fC)localez.Timezone not present, cannot convert to stringr   )r  z2038-01-31 12:23N)CETrC   rt   )z%az%Az%wz%dz%bz%Bz%mz%yrh   z%Hz%Iz%pz%Mr  r  z%jz%Uz%Wz%%z%Gz%Vz%u)z%cz%xz%Xri   msr  ns)sysplatformextendpdto_datetimetz_localizer   r   r  r.   r   strftimeri  r   r  r   r"   r#   rL  )times	timezonesformatstimezonetsr  tsafmtr   rv  r  s              r)   test_strftimer  Q	  s    ;E2IQG
||w)*^^E"..x8+D((2BLL$@AC,,S1S:88BKK$45::6;;G<<7*sd{8J!==2222  , " hhrS( ;<S"*<*<*>?88BKK,-226;;?}}X&&&& hhrS( ;<S"*<*<S4Z*HI88BKKd
3499&++F<<7"0B==**** hhrS( ;<$$T*S288BKK-.33FKK@}}X&&&& hhrT8 <=$$T*S288BKK0166v{{C}}X&&&& hhrS( ;<$$S5S288BKK,-226;;?}}X&&&&e j C		B
((2BLL-
.C[[b&8&8&=>FxxC()..v{{;H ;;s F***==""""	rM
O 
O
C!3!3C$J!?@
O 
rM
O 
O
C!3!3C$J!?@
O 
O
O 
O
O 
O 
Os   4Z/14[/Z?	[	c                    ^ RI Hp \        P                  ! V 4      P	                  R4      P                  V4      P                  4       p\        P                  ! V\        P                  ! RVR7      4      pVP                  P                  R,          VP                  P                  ,           R,          P                  ^	4      p\        P                  ! R\        P                  ! 4       4      \        P                  ! R\        P                  ! 4       4      \        P                  ! R\        P                  ! 4       4      .pV! \        P                   4      V! R4      8  de   VP#                  R	 4      P%                  R
4      pVP#                  R 4      P%                  R
4      pVP#                  R 4      P%                  R
4      p	MVP                  P'                  4       R,          P%                  R
4      pVP                  P'                  4       R,          P%                  R
4      pVP                  P'                  4       R,          P%                  R
4      p	\        P(                  P+                  WxV	.VR7      p
VP                  P,                  P%                  R
4      pVP                  P.                  P%                  R
4      pVP                  P0                  P%                  R
4      pVP                  P2                  P%                  R
4      pVP                  P4                  P%                  R
4      pVP                  P6                  P%                  R
4      pVP                  P8                  P%                  R
4      pVP                  P:                  P%                  R
4      pVP                  P<                  P>                  P%                  R
4      pVP                  P                  P%                  R
4      pVP                  P                  P%                  R
4      p\@        P,                  ! V4      PC                  \        P                  ! V4      4      '       g   Q h\@        PD                  ! V4      PC                  \        P                  ! VP                  PD                  4      4      '       g   Q h\@        P.                  ! V4      PC                  \        P                  ! V4      4      '       g   Q h\@        P0                  ! V4      PC                  \        P                  ! V4      4      '       g   Q h\@        PF                  ! V4      PC                  \        P                  ! V4      4      '       g   Q h\@        PH                  ! V4      PC                  \        P                  ! V4      4      '       g   Q h\@        PJ                  ! V4      PC                  \        P                  ! V4      4      '       g   Q h\@        PL                  ! V4      PC                  \        P                  ! V4      4      '       g   Q h\@        PN                  ! V4      PC                  V
4      '       g   Q h\@        P6                  ! V4      PC                  \        P                  ! V4      4      '       g   Q h\@        P8                  ! V4      PC                  \        P                  ! V4      4      '       g   Q h\@        P:                  ! V4      PC                  \        P                  ! V4      4      '       g   Q h\@        P<                  ! V4      PC                  \        P                  ! V4      4      '       g   Q h\@        PP                  ! V4      PC                  \        P                  ! VR,          4      4      '       g   Q h\@        P                  ! V4      PC                  \        P                  ! VR,          4      4      '       g   Q h\@        P                  ! V4      PC                  \        P                  ! V4      4      '       g   Q h\@        PR                  ! V4      PC                  \        P                  ! V4      4      '       g   Q h\@        PT                  ! V4      PC                  \        P                  ! VP                  P	                  R4      4      4      '       g   Q hVP                  PV                  '       d   VP                  PV                  \X        PZ                  P\                  J d   R.\_        V4      ,          pMVPa                  R 4      p\@        Pb                  ! V4      PC                  \        P                  ! V4      4      '       g   Q h\@        Pd                  ! R^R7      p\@        PF                  ! VVR7      PC                  \        P                  ! V^,           4      4      '       g   Q h\@        Pf                  ! RRRR7      p\@        Ph                  ! VVR7      PC                  \        P                  ! V4      4      '       g   Q hR# )r   )VersionrC   r  tziso_yeariso_weekiso_day_of_weekz1.1.0c                 0    V P                  4       ^ ,          # r   isocalendarr  s   &r)   r  ,_check_datetime_components.<locals>.<lambda>	      AMMOA$6r3   r   c                 0    V P                  4       ^,          # rw   r  r  s   &r)   r  r  	  r	  r3   c                 0    V P                  4       ^,          # )r   r  r  s   &r)   r  r  	  s    1==?1#5r3   yearweekday)fieldsNFc                 <    V P                  4       P                  ^ 8  # r  )dstsecondsr  s   &r)   r  r  	  s    !(;r3   rG   r  Trp   i  g&.>)5pyarrow.vendored.versionr  r  r  r  
tz_convert	to_seriesr   r   r  rq  microsecond
nanosecondr  rM   r   __version__mapr+  r  StructArrayry  r  monthr  	dayofweek	dayofyearquarterhourminuterc   r:   r.   r   is_leap_yearday_of_weekday_of_yearr   r  iso_calendarmillisecond	subsecondlocal_timestampr  rj  r  utcr   applyis_dstr   r   r  )
timestampsr  r  r  r  
subsecondsiso_calendar_fieldsr   r  iso_dayr%  r  r  r  r  r  r  r   r!  rc   r  r  r+  day_of_week_optionsweek_optionss   &&                       r)   _check_datetime_componentsr2  	  s   0	
	#	/	/
z(#IIK 
((2r||DX6
7C55$$w.55##$'/016q  	RXXZ(
RXXZ(
"BHHJ/ r~~!116667>>wG6667>>wG&&56==gF 55$$&v.55g>55$$&v.55g>%%##%e,33G<>>--	W%" . $L 55::W%DEEKKw'E
%%))

7
#C&&w/I&&w/Ieemm""7+G55::W%DUU\\  )FUU\\  ''0F%%##**73K!!((1J773<rxx~....??3&&rxx0B0B'CDDDD88C=000066#;bhhsm,,,,>>#%%bhhy&9::::>>#%%bhhy&9::::;;s""288H#56666;;s""288H#56666??3&&|4444::c?!!"((7"34444773<rxx~....99S>  &!1222299S>  &!12222>>#%%bhh{g/E&FGGGG>>#%%bhh{W/D&EFFFF==$$RXXj%9::::<<##BHHZ$89999c"))"((2553D3DT3J*KLLLL	uuxxx5588x((,,,Ws2w&FXX;<Fyy~$$RXXf%56666--!->>#':;BB
Q! ! ! ! >>$)+L 773-44RXXh5GHHHHr3   c                     . ROp. ROp\        V4       V P                  P                  P                  R,          '       g   \        P
                  ! R4       R# V F  p\        W4       K  	  R# )1970-01-01T00:00:59.123456789rs   z-Timezone database is not installed on WindowsNr4  z2000-02-29T23:23:23.999999999z2033-05-18T03:33:20.000000000z2020-01-01T01:05:05.001z2019-12-31T02:10:10.002z2019-12-30T03:15:15.003z2009-12-31T04:20:20.004132z2010-01-01T05:25:25.005321z2010-01-03T06:30:30.006163z2010-01-04T07:35:35.0z2006-01-01T08:40:40.0z2005-12-31T09:45:45.0z2008-12-28T00:00:00.0z2008-12-29T00:00:00.0z2012-01-01T01:02:03.0)rC   America/ChicagoAsia/Kolkata	Etc/GMT-4	Etc/GMT+4zAustralia/Broken_Hill)r2  r   r   r   r"   r[  )r   r,  r  r  s   &   r)    test_extract_datetime_componentsr:  	  sW    +JDI z* >>!!,,_==CD!H&z< "r3   c                  P   \         P                  ! R .RRR7      p V P                  \        P                  ! RRR7      4      p\         P
                  ! V4      ^ ,          P                  4       ^8X  g   Q h\         P                  ! V4      ^ ,          P                  4       ^*8X  g   Q hR# )z2012-12-12T12:12:12r  ri   r  z+05:30r  N)r.   r  ri  r   r  r   r%  r!  )r   	zoned_arrs     r)   test_offset_timezoner=  
  s}    
++,-6IPS
TCch78I779a &&(B...99Y"((*b000r3   r  c                 t   \         P                  ! \        P                  ! R ^^^	4      .^2,          \         P                  ! V 4      4      p\        P
                  ! V4      p\         P                  P                  R.^2,          ^4.^2,          ^.^2,          .. ROR7      pVP                  V4      '       g   Q hR# )i  i  r}  N)r   r  r  )	r   r   rj  r  r.   r%  r  ry  r   )r  r   rv  r  s   &   r)   test_iso_calendar_longer_arrayr?  
  s     ((H%%dAq!45b8",,t:L
MC__S!F~~))
RDGaSV$9 * H ==""""r3   c                  	   \         P                  ! R 4      p \        P                  ! . RO4      p\        P                  ! RR.4      p\        P                  ! . RO4      p\         P                  ! W0R7      p\         P                  ! W R7      pR EFD  p\
        P                  ! V4      p\         P                  ! WR7      pVP                  V4      p	\
        P                  ! WR7      p
V
P                  \         P                  ! V	4      4      '       g   Q h\
        P                  ! W4      p
V
P                  \         P                  ! V	4      4      '       g   Q h\         P                  ! V\         P                  ! R V4      R7      p\        P                  ! \         P                  RR7      ;_uu_ 4        \
        P                  ! WR7       RRR4       EKG  	  \
        P                  ! R4      p\        P                  ! \        R	R7      ;_uu_ 4        \
        P                  ! XVR7       RRR4       R
p\
        P                  ! V4      p\
        P                  ! VRRR7      p\
        P                  ! VRRR7      p\        P                  ! \        RV R2R7      ;_uu_ 4        \
        P                  ! VVR7       RRR4       \         P                  ! VP                  VRR7      4      p	\
        P                  ! W_R7      p
V	P                  V
4       \         P                  ! VP                  VRR7      4      p	\
        P                  ! W^R7      p
V	P                  V
4       \
        P                  ! V4      p\
        P                  ! VRRR7      p\
        P                  ! VRRR7      p\        P                  ! \        RV R2R7      ;_uu_ 4        \
        P                  ! VVR7       RRR4       VP                  V. ROR7      p	\
        P                  ! VVR7      p
V
P                  \         P                  ! V	4      4       VP                  V. ROR7      p	\
        P                  ! VVR7      p
V
P                  \         P                  ! V	4      4       R#   + '       g   i     EK  ; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     L; i)r  z2015-03-29 02:30:00z2015-03-29 03:30:00r  r  zalready have a timezone:r   NzEurope/Brusselsssz9not found in timezone database|unable to locate time_zoneEurope/BrusselsrZ   earliest)	ambiguousnonexistentlatestz%Timestamp doesn't exist in timezone ''shift_forward)rD  shift_backwardz$Timestamp is ambiguous in timezone ')rC  r5  )z2018-10-28 01:20:00z2018-10-28 02:36:00z2018-10-28 03:46:00)rC   r6  r7  )TTT)FFF)r   r  r  r  r   r.   r~   r  assume_timezoner   r"   r#   rL  r  )ts_typer,  rD  rC  ambiguous_arraynonexistent_arrayr  r   tar  rv  ta_zonedinvalid_optionsoptions_nonexistent_raiseoptions_nonexistent_earliestoptions_nonexistent_latestoptions_ambiguous_raiseoptions_ambiguous_latestoptions_ambiguous_earliests                      r)   test_assume_timezonerV  *
  s    ll4 G !: ;J .."7"7"9 :K  7 8I hhy7O;>**84XXj/))(3##B8}}RXXh/0000##B1}}RXXh/000088JR\\$-IJ]]2??2LMMx9 NM ? ../BCO	z:
; 
; 	27
;
 !H " 8 8 B#%#;#;G$= !#!9!9G"; 
z$$,:Q0
1 
1 	,#<	>
1 xx//o 0 / 0H?FOOFxx//. 0 0 1HAFOOF 66x@!77H' ;!#!9!9JG"= 
z**216
7 
7 	?4KL
7
 $$X9K$LH!;=F
MM"((8$%$$X9N$OH!9;F
MM"((8$%m NMM
; 
; 
;
1 
1 
10
7 
7s0   3RR0%SSR-0S	S	S(	c                 j   R RRRRRRRRR	R
RRR/pR RRRRRRR	RRR
R/p\         P                  ! V 4      pV EF  p\        V4      W2,          ,           p\        P                  ! Wb4      p\        P
                  ! WXR7      P                  4       p	V P                  P                  V4      p
\        P                  P                  W4       \        P                  ! WXR7      P                  4       p	V P                  P                  V4      p
\        P                  P                  W4       \        P                  ! WXR7      P                  4       p	V P                  P                  V4      p
\        P                  P                  W4       VR8w  Ed   \        P                  ! WbRR7      pV P                  P                  WB,          4      pVP                   P"                  fm   \        P
                  ! WXR7      P                  4       p	W,
          P                  P                  V4      V,           p
\        P                  P                  W4       \        P                  ! WXR7      P                  4       p	W,
          P                  P                  V4      V,           p
\        P                  P                  W4       \        P                  ! WXR7      P                  4       p	W,
          P                  P                  V4      V,           p
\        P                  P                  W4       VR8X  g   EK  \        P
                  ! WVR7      P                  4       p	V P                  P                  V4      p
\        P                  P                  W4       \        P                  ! WVR7      P                  4       p	V P                  P                  V4      p
\        P                  P                  W4       \        P                  ! WVR7      P                  4       p	V P                  P                  V4      p
\        P                  P                  W4       EK  	  VP                   P"                  f   \        P                  ! XVRR7      p\        P
                  ! WXR7      p	V P                  P                  X4      p
\        P$                  ! W8H  V
\&        P(                  ! WcV,          4      ,           V
4      p
\        P                  P                  W4       VR8X  Ed   Rp\        P
                  ! V4      P                  4       p	V P                  P                  V4      p
\        P                  P                  W4       \        P                  ! V4      P                  4       p	V P                  P                  V4      p
\        P                  P                  W4       \        P                  ! V4      P                  4       p	V P                  P                  V4      p
\        P                  P                  W4       R# R# )r  r  r  r  r&  r  rc   ri   r!  r  r   rr  r  r  r  T)calendar_based_originNr  )ceil_is_strictly_greater1D)r   r   r  r.   r   ceil_temporalr*  rq  r  r   r'  assert_array_equalfloor_temporalr  round_temporalr  r   r  wherer  	Timedelta)r  r:   r  unit_shorthandgreater_unitrM  value	frequencyr   rv  r  origins   &&&         r)   _check_temporal_roundingrf  
  sr   dtt#%sN 	dts%#L 
"BJ!55	))%6!!"6@@B55::i(


%%f7""27AAC55;;y)


%%f7""27AAC55;;y)


%%f7
 5=--49GUU[[!34Fwwzz!))">HHJK++00;fD

--f?&&r;EEGF''--i86AHJJ))&;&&r;EEGF''--i86AHJJ))&; 5=%%b9CCEFuuzz),HJJ))&;&&r:DDFFuu{{9-HJJ))&;&&r:DDFFuu{{9-HJJ))&;c n 
wwzz))4$8!!"655::i(88Nr||E$+?@@ 	

%%f7 u}	!!"%//155::i(


%%f7""2&00255;;y)


%%f7""2&00255;;y)


%%f7 r3   c           
         Rp. R	Op\         P                  R8X  d   VR,          VR,          ,           p\        P                  ! V Uu. uF  p\        P                  ! VRR7      NK  	  up4      p\        WAV 4       . R
OpV FC  pVP                  P                  R4      P                  P                  V4      p\        WqV 4       KE  	  R# u upi )rw   r  :Nr!  N:rF  NNr  r  rC   N)rw   r   r!  r"  rF  rQ  rR  r   r     <      i  i  )z1923-07-07 08:52:35.203790336z1931-03-17 10:45:00.641559040z1932-06-16 01:16:42.911994368z1941-05-27 11:46:43.822831872z1943-12-14 07:32:05.424766464z1954-04-12 04:31:50.699881472z1966-02-12 17:41:28.693282560z1967-02-26 05:56:46.922376960z1975-11-01 10:55:37.016146432z1982-01-21 18:43:44.517366784z1992-01-01 00:00:00.100000000z1999-12-04 05:55:34.794991104z2026-10-26 08:39:00.316686848)r7  zAmerica/New_Yorkr8  r9  rA  zPacific/Marquesasr6  rC   )	r  r  r  Series	Timestamprf  rq  r  r  )r  r:   r,  r  r  r  r  ts_zoneds   &       r)   test_round_temporalrn  
  s    
 BF)J& ||w^jn4
	
C
1BLL.
C	DBR.SI 55$$U+..99(C 48  Ds   !C
c                     \         P                  ! . R	O4      p \        P                  ! V 4      P	                  4       ^8X  g   Q h\        P                  ! V RR7      P	                  4       ^8X  g   Q h\        P                  ! V RR7      P	                  4       ^8X  g   Q h\        P                  ! V RR7      P	                  4       ^8X  g   Q h\        P                  ! V R4      P	                  4       ^8X  g   Q h\
        P                  ! \        RR7      ;_uu_ 4        \        P                  ! V R4       RRR4       R#   + '       g   i     R# ; i)
rw   N
only_validrA  	only_nullr   z*"something else" is not a valid count moder   zsomething elserw   r   r!  NN)r   r   r.   rB  r%  r"   r#   r  r  s    r)   
test_countrt    s    
(((
)C88C= A%%%88Cl+113q88888Ck*002a77788Ce$**,11188C%%'1,,,	zI
K 
K
&'
K 
K 
K 
Ks   D==E	c                     \         P                  ! . RO\         P                  ! 4       R7      p \        P                  ! V \         P
                  ! ^ 4      4      P                  4       ^ 8X  g   Q h\        P                  ! V \         P
                  ! ^\         P                  ! 4       R7      4      P                  4       R8X  g   Q h\        P                  ! V ^4      P                  4       ^8X  g   Q hV P	                  ^^R7      P                  4       ^8X  g   Q hV P	                  R4      P                  4       R8X  g   Q h\         P                  ! ^^.^^..\         P                  ! 4       R7      p V P	                  ^4      P                  4       ^ 8X  g   Q hV P	                  ^^R7      P                  4       ^8X  g   Q hV P	                  ^^^R7      P                  4       R8X  g   Q hR# )r   Nr  rE   )rE   end)r   rw   Nr!  r"  rx   )	r   r   r   r.   indexr   r%  r   r;  r  s    r)   
test_indexry  $  si   
((%BHHJ
7C88C1&,,.!33388C1277956<<>"DDD88C!!#q(((99Qa9 &&(A---99T?  "b(((


QFQF+"((*
=C99Q<1$$$99Qa9 &&(A---99QaQ9'--/2555r3   c                   a VP                  4       p\        V4      \        V 4      8X  g   Q h\        V4      \        \	        \        V 4      4      4      8X  g   Q h\	        V4       Uu. uF  q@W,          ,          NK  	  pp\	        V\        V 4      4       Uu. uF  q@W,          ,          NK  	  ppWV,          ,          oSf   VR8X  d?   \
        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   Q hR # \
        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   Q hR # VR8X  d   \
        ;QJ d    V3R lV 4       F  '       d   K   RM	  RM! V3R lV 4       4      '       g   Q h\
        ;QJ d    V3R lV 4       F  '       d   K   RM	  RM! V3R lV 4       4      '       g   Q hR # \
        ;QJ d    V3R lV 4       F  '       d   K   RM	  RM! V3R lV 4       4      '       g   Q h\
        ;QJ d    V3R	 lV 4       F  '       d   K   RM	  RM! V3R	 lV 4       4      '       g   Q hR # u upi u upi )
NrV   c              3   (   "   T F  qR J x  K
  	  R # 5ir   r   r   r  s   & r)   r   &check_partition_nth.<locals>.<genexpr>;       6+QDy+   FTc              3   (   "   T F  qR J x  K
  	  R # 5ir   r   r|  s   & r)   r   r}  =  r~  r  c              3   D   <"   T F  qR J ;'       g    VS8*  x  K  	  R # 5ir   r   r   r  r  s   & r)   r   r}  @  "     @KqDy**AF*K     c              3   ,   <"   T F	  qS8  x  K  	  R # 5ir   r   r  s   & r)   r   r}  A       3{!Av{   c              3   ,   <"   T F	  qS8*  x  K  	  R # 5ir   r   r  s   & r)   r   r}  C  r  r  c              3   D   <"   T F  qR J ;'       g    VS8  x  K  	  R # 5ir   r   r  s   & r)   r   r}  D  r  r  )r  r   sortedlistr  r   )rV  rk   pivotrX   r  until_pivotafter_pivotr  s   &&&&   @r)   check_partition_nthr  2  s   !Gw<3t9$$$'?d5T#34444-25\:\
##\K:-25#d)-DE-D
##-DKEU^AyZ'36+63336+6666636+63336+66666Z'3@K@333@K@@@@@33{33333{3333333{33333{333333@K@333@K@@@@@ ;Es   'IIc                     \        \        ^d^4      4      p \        P                  ! V 4       ^
p\        P
                  ! WR7      p\        WVR4       \        P
                  ! W4      V8X  g   Q h\        P                  ! \        RR7      ;_uu_ 4        \        P
                  ! V 4       RRR4       R#   + '       g   i     R# ; i)d   )r  at_endz8'partition_nth_indices' cannot be called without optionsr   N)
r  r  r  shuffler.   partition_nth_indicesr  r"   r#   r  )rV  r  rk   s      r)   test_partition_nthr  G  s    c3 D
NN4E&&t9Guh7##D0G;;;	L
N 
N 	  &
N 
N 
N 
Ns   B44C	c                      \        \        ^
4      4      R.^
,          ,           p \        P                  ! V 4       R F0  pR F'  p\        P
                  ! WVR7      p\        WW4       K)  	  K2  	  R# )r   N)r  rX   )r   rR        )rV   r  )r  r  r  r  r.   r  r  )rV  r  rX   rk   s       r)   !test_partition_nth_null_placementr  V  sZ    b	?dVb[(D
NN44N..t>LNGuE 5  r3   c                     R
R lp \         P                  ! . RO4      pR Fp  pR F'  p\        P                  ! WRV3.R7      pV ! WAV4       K)  	  \        P                  ! WR7      pV ! WAR4       \        P
                  ! WR7      pV ! WAR4       Kr  	  \        P                  ! V\        P                  ! ^R.R7      R7      pV ! WAR4       \        P                  ! V\        P                  ! ^R.R7      R7      pV ! WAR4       \        P                  ! V^R.R	7      V8X  g   Q h\        P                  ! V^R.4      V8X  g   Q hR# )Fc                     \         P                  ! VR V3.R7      pVP                  ^ \        V 4      4      pV'       d   W8X  g   Q hR# \         P                  ! W4      p\         P                  ! W4      pWv8X  g   Q hR# )r{   re   Nr.   sort_indicesslicer   r   )select_k_indicesr   orderstable_sortsorted_indiceshead_k_indicesr  r  s   &&&&    r)   validate_select_k.test_select_k_array.<locals>.validate_select_kb  si    '59I8JK'--a5E1FG#555wws3HWWS3F%%%r3   Nr|   r\   r{   r  r_   )r  r  re   Frw   r   Nr   r   r   r"  )r|   r\   rz   r{   r\   )r   r   r.   select_k_unstabletop_k_unstablebottom_k_unstabler   )r  r   r  r  rv  s        r)   test_select_k_arrayr  a  sB   & ((?
#C0E))gu%5$68Ff51 1
 ""3,&|4%%c/&{3  !!R&&346F f<0!!R&&7M6NOF f;/ Q+A*BDGMN N NQ)?(@AVKKKr3   c                  0   RR lp \         P                  ! R. ROR. RO/4      pR F  p\        P                  ! WR.R7      pV ! W1R.R7       \        P                  ! W\        P                  ! R4      R3R.R7      pV ! W1RR.R7       \        P
                  ! WR.R7      pV ! W1R.R7       \        P                  ! WRR.R7      pV ! W1RR.R7       K  	  \        P                  ! \        RR7      ;_uu_ 4        \        P                  ! V4       R	R	R	4       \        P                  ! \        R
R7      ;_uu_ 4        \        P                  ! VRR.R7       R	R	R	4       \        P                  ! \        RR7      ;_uu_ 4        \        P                  ! V^. R7       R	R	R	4       \        P                  ! \        RR7      ;_uu_ 4        \        P                  ! VXR.R7       R	R	R	4       \        P                  ! \        RR7      ;_uu_ 4        \        P                  ! VXR.R7       R	R	R	4       R	#   + '       g   i     EL.; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R	# ; i)Fc                     \         P                  ! WR 7      pVP                  ^ \        V 4      4      pV'       d   W8X  g   Q hR# \         P                  ! W4      p\         P                  ! W4      pWv8X  g   Q hR# )re   Nr  )r  tblr_   r  r  r  r  r  s   &&&&    r)   r  .test_select_k_table.<locals>.validate_select_k  s_    B'--a5E1FG#555wws3HWWS3F%%%r3   r   r   r\   r  re   z4'select_k_unstable' cannot be called without optionsr   Nz,select_k_unstable requires a nonnegative `k`z2select_k_unstable requires a non-empty `sort_keys`not a valid sort order.Invalid sort key column: No match for.*unknownr  )rw   r   r   )rw   r   rw   r  r   r\   ry   r   r|   rx   r   nonscendingunknownr\   )
r   r  r.   r  rM   r  r  r"   r#   r  )r  r  r  rv  s       r)   test_select_k_tabler    s,   & HHc9c956E%%#5"68&4F3GH%%BHHSM;#?AS"TV&8:L%M	O ""5#?&4G3HI%%eS#JG&8:L%M	O " 
H
J 
J 	U#
J
 
zK
M 
M
Ub5G4HI
M 
z5
6 
6 	Ua26
6
 
z)A	B	B
Ua4H3IJ 
C 
zM
O 
O
Ua4L3MN
O 
O#
J 
J 
J

M 
M
6 
6
 
C	B
O 
O 
Os<   ;H7>III1J7I	I	I.	1J	J	c                     \         P                  ! . RO4      p \        P                  ! V 4      pVP	                  4       . RO8X  g   Q h\        P                  ! V RR7      pVP	                  4       . RO8X  g   Q h\        P                  ! V RR7      pVP	                  4       . RO8X  g   Q h\        P                  ! V RRR7      pVP	                  4       . RO8X  g   Q h\        P                  ! V RRR7      pVP	                  4       . RO8X  g   Q h\
        P                  ! \        RR	7      ;_uu_ 4        \        P                  ! V R
R7       RRR4       R#   + '       g   i     R# ; i)rw   Nr\   )r  r|   rV   )r  rX   rW   r  r   r  r  r!  r   rw   r   rw   r   r!  r   r   rw   r   r!  )r   r   r.   array_sort_indicesr  r"   r#   r  r   rv  s     r)   test_array_sort_indicesr    s   
((?
#C""3'F---""3k:F---""3l;F---""3l2<>F---""32<>F---	z)A	B	B
c7 
C	B	B	Bs   2EE&	c                  F   \         P                  ! . RO4      p \        P                  ! V 4      pVP	                  4       . RO8X  g   Q h\        P                  ! V R	.R7      pVP	                  4       . RO8X  g   Q h\        P                  ! V R
.R7      pVP	                  4       . RO8X  g   Q h\        P                  ! V R
.RR7      pVP	                  4       . RO8X  g   Q h\        P                  ! V R
.RR7      pVP	                  4       . RO8X  g   Q h\        P                  ! V \        P
                  ! R
.R7      R7      pVP	                  4       . RO8X  g   Q h\        P                  ! V \        P
                  ! R
.RR7      R7      pVP	                  4       . RO8X  g   Q hR# )rw   Nre   rV   ra   rW   r  r  r  r  rz   r  r  )r   r   r.   r  r  r   r  s     r)   test_sort_indices_arrayr    sb   
((?
#C__S!F---__S-C,DEF---__S-D,EFF---__S-D,E,68F---__S#:";,68F---__R^^/F.GHF ---__R^^/F.G3=?F ---r3   c                     \         P                  ! R . ROR. RO/4      p \        P                  ! V R.R7      pVP	                  4       . RO8X  g   Q h\        P                  ! V \        P
                  ! R 4      R3.RR7      pVP	                  4       . RO8X  g   Q h\        P                  ! V RR.R7      pVP	                  4       . RO8X  g   Q h\        P                  ! V RR.RR7      pVP	                  4       . RO8X  g   Q h\        P                  ! V RR.RR7      pVP	                  4       . RO8X  g   Q h\        P                  ! \        RR	7      ;_uu_ 4        \        P                  ! V 4       RRR4       \        P                  ! \        R
R	7      ;_uu_ 4        \        P                  ! V R.R7       RRR4       \        P                  ! \        RR	7      ;_uu_ 4        \        P                  ! V R.R7       RRR4       R#   + '       g   i     L; i  + '       g   i     Lk; i  + '       g   i     R# ; i)r   Nr   r\   re   rV   ra   rW   z"Must specify one or more sort keysr   r  r  )rw   rw   Nr   )rw   r   r   rw   r  r  )r   r!  r   rw   r  ry   r  r  r  r  )	r   r  r.   r  r  rM   r"   r#   r  )r  rv  s     r)   test_sort_indices_tabler    s   HHc?C>?E__U/A.BCF---__U{/K.L,68F---__-/ABF ---__-/AB!F ---__#%78!F ---	z)M	N	N
 
O 
zM
O 
O
*B)CD
O 
z)A	B	B
*>)?@ 
C	B 
O	N
O 
O 
C	B	Bs$   HH"H,H	H)	,H=	c                  r   \         P                  ! . RO4      p \        P                  ! V \         P                  ! . RO4      R7      pVP	                  4       . RO8X  g   Q h\        P                  ! V \         P                  ! . RO4      RR7      pVP	                  4       . RO8X  g   Q h\        P                  ! V \         P                  ! ^^.4      R7      pVP	                  4       . RO8X  g   Q h\        P                  ! V \         P                  ! ^^.4      RR7      pVP	                  4       . RO8X  g   Q hR# )	rw   N	value_setTr  rF   rw   r   Nrw   r   r!  rw   r!  N)TFTTFT)TFFTFT)r   r   r.   is_inr  r  s     r)   
test_is_inr    s    
(((
)CXXcRXXl%;<F!GGGGXXcRXXl%;MF!HHHHXXcRXXq!f%56F!HHHHXXcRXXq!f%5$GF!HHHHr3   c                     \         P                  ! . RO4      p \        P                  ! V \         P                  ! . RO4      R7      pVP	                  4       . RO8X  g   Q h\        P                  ! V \         P                  ! . RO4      RR7      pVP	                  4       . R	O8X  g   Q h\        P                  ! V \         P                  ! ^^.4      R7      pVP	                  4       . R	O8X  g   Q h\        P                  ! V \         P                  ! ^^.4      RR7      pVP	                  4       . R	O8X  g   Q h\        P                  ! V \         P                  ! ^^.4      RR7      pVP	                  4       . R	O8X  g   Q hR# )
rw   Nr  Tr  rJ   r  r  )r   Nr   r   Nrw   )r   NNr   Nrw   )r   r   r.   index_inr  r  s     r)   test_index_inr    s   
(((
)C[[(>?F!9999[[(>$(*F!<<<<[[!Q(89F!<<<<[[!Q(8TJF!<<<< [[bhh1v.4@F!<<<<r3   c                     \         P                  ! . RO4      p \        P                  ! V 4      pVP	                  4       R.8X  g   Q h\        P                  ! V RR7      pVP	                  4       ^.8X  g   Q h\        P                  ! V RR7      pVP	                  4       ^.8X  g   Q h\        P                  ! V RR7      pVP	                  4       ^.8X  g   Q h\        P                  ! V RR7      pVP	                  4       R.8X  g   Q h\        P                  ! V RR7      pVP	                  4       R.8X  g   Q h\         P                  ! ^^.4      p \        P                  ! V . ROR7      pVP	                  4       . RO8X  g   Q h\        P                  ! V . RORR	7      pVP	                  4       . RO8X  g   Q h\        P                  ! V . RORR	7      pVP	                  4       . RO8X  g   Q h\        P                  ! V . RORR	7      pVP	                  4       . RO8X  g   Q h\        P                  ! V . RORR	7      pVP	                  4       . RO8X  g   Q h\        P                  ! V . RORR	7      pVP	                  4       . RO8X  g   Q h\        P                  ! V . RORR7      pVP	                  4       . RO8X  g   Q h\
        P                  ! \        R
R7      ;_uu_ 4        \        P                  ! V RR7       RRR4       \
        P                  ! \        RR7      ;_uu_ 4        \        P                  ! V RR7       RRR4       R#   + '       g   i     LW; i  + '       g   i     R# ; i)rw         @lower)interpolationhighernearestmidpointlinearq)r  r  z Quantile must be between 0 and 1r   皙?Nz"not a valid quantile interpolationzzzr   )g      ?      ?g      ?)      ?      ?g      ?)rw   rw   rw   )r   r   r   )r  r  r  rw   rw   r   )r   r   r.   r  r  r"   r#   r  r  s     r)   test_quantiler  4  s   
((<
 C[[F#&&&[[G4F!$$$[[H5F!$$$[[I6F!$$$[[J7F#&&&[[H5F#&&&
((Aq6
C[[ 12F!2222[[ 1IF***[[ 1JF***[[ 1LF000[[ 1KF***[[ 1JF!2222 [[/xHF!2222	z)K	L	L
C3 
M	z)M	N	N
Cu- 
O	N 
M	L	N	N	Ns   M#MM	M*	c                     \         P                  ! . RO4      p \        P                  ! V 4      pVP	                  4       R.8X  g   Q h\         P
                  ! \         P                  ! ^^.4      \         P                  ! ^^.4      .4      p \        P                  ! V 4      pVP	                  4       R.8X  g   Q h\         P                  ! . RO4      p \        P                  ! V . ROR7      pVP	                  4       . RO8X  g   Q h\         P
                  ! \         P                  ! ^^.4      \         P                  ! ^^.4      .4      p \        P                  ! V . RO4      pVP	                  4       . RO8X  g   Q hR# )rw   r  r  Nr   )r   r  rw   )rw   r  r"  )r   r   r.   tdigestr  r;  r  s     r)   test_tdigestr  _  s   
((<
 CZZ_F#&&&


BHHaV,bhh1v.>?
@CZZ_F#&&&
((<
 CZZ{+F,,,


BHHaV,bhh1v.>?
@CZZ[)F,,,r3   c                  &   \         P                  ! R .\         P                  ! 4       4      P                  R4      p V P	                  \         P
                  ! 4       4      pV\         P                  ! ^ .\         P
                  ! 4       4      8X  g   Q hR # )NF)r   r   rR  rF  ri  r   r  s     r)   test_fill_null_segfaultr  q  sZ    
((D6288:
&
0
0
7CXXbggi FRXXqc2779----r3   c                  "   \         P                  ! . RO4      p \         P                  ! . RO4      p\         P                  ! . RO4      p\        P                  ! W4      pV\         P                  ! . R	O4      8X  g   Q h\        P                  ! W4      pV\         P                  ! . R
O4      8X  g   Q h\        P                  ! WV4      pV\         P                  ! . RO4      8X  g   Q h\        P                  ! WV4      pV\         P                  ! . R
O4      8X  g   Q h\        P                  ! WRR7      pV\         P                  ! . RO4      8X  g   Q h\        P                  ! WRR7      pV\         P                  ! . RO4      8X  g   Q h\        P                  ! W\        P
                  ! 4       R7      pV\         P                  ! . RO4      8X  g   Q h\        P                  ! W\        P
                  ! 4       R7      pV\         P                  ! . RO4      8X  g   Q h\        P                  ! WRR7      pV\         P                  ! . RO4      8X  g   Q h\        P                  ! WRR7      pV\         P                  ! . RO4      8X  g   Q hR# )rw   NTrJ   r  Fr  )r!  rw   r   r   r!  N)r!  r   r!  r  )r!  r!  r!  )r   r!  r!  )rw   r   N)r   r   r.   max_element_wiser  r   )r  r  arr3rv  s       r)   test_min_max_element_wiser  x  s   88ID88ID88L!D  ,FRXXi((((  ,FRXXi((((  T2FRXXi((((  T2FRXXi((((   =FRXXi((((  =FRXXi((((  B::<>FRXXi((((  B::<>FRXXi((((   >FRXXl++++  >FRXXl++++r3   rE   rF   c                    \        V 4      pR V\        P                  ! V\        P                  ! 4       R7      \        P                  ! V\        P                  ! 4       R7      .pV EF@  p\        P
                  ! . R	O4      \        P
                  ! . R
O4      \        P                  ! ^ R .^^..4      .p\        P
                  ! . RO4      V'       d   \        P
                  ! . RO4      M\        P
                  ! . RO4      V'       d   \        P                  ! . RO.4      M\        P                  ! . RO.4      .p\        V4       FY  w  rx\        P                  ! WVR7      p	\        P                  ! Wg,          Ve   TM^ 4      p
V	P                  V
4      '       d   KY  Q h	  EKC  	  R V \        P                  ! V \        P                  ! 4       R7      \        P                  ! V \        P                  ! 4       R7      .pV EF  p\        P
                  ! . RO4      \        P
                  ! ^\        P                  ^R^^.4      \        P
                  ! ^\        P                  R ^R ^.4      .p\        P
                  ! . RO4      \        P
                  ! ^\        P                  \        P                  \        P                  \        P                  \        P                  .4      V'       dG   \        P
                  ! ^\        P                  R \        P                  R \        P                  .4      M)\        P
                  ! ^\        P                  R R R R .4      .p\        V4       F  w  rx\        P                  ! WVR7      p	\        P                  ! Wg,          Ve   TM^ 4      p
\        P                   P#                  V	P%                  RR7      V
P%                  RR7      4       K  	  EK  	  R\        P                  ! R4      R3 FR  p\&        P(                  ! \        P*                  4      ;_uu_ 4        \        P                  ! . R	OVR7       R R R 4       KT  	  R #   + '       g   i     Ki  ; i)Nr  rD   Fzero_copy_onlyr   arrowr  rv  r  )r   N      )rw   r!  rQ  )r   Nr  2   )r   NNN)      ?g      @g     @@r  )r  g      @g     @)r  r   r   r   r   r   r;  r  r.   cumulative_sumr   r   rj  rk  r   r,  r'  assert_array_almost_equalto_numpyr"   r#   rL  rE   rF   	start_intstartsstrtarraysexpected_arraysr  r   rv  r  s   &&         r)   test_cumulative_sumr    s   
 E
IIryyCii	
35FHHYHH&'q$i"b23
 HHY HH&'!xx(=> /01!//1F0GH
  'FA&&s:NFvvo0$:J$#$&H==**** ( ( E299U>iiBJJL13FHH+,HHaB1-.HHaq$23
 HH,-HHa@A HHarvvtRVV<=!xxBFFD$d(KL	
  'FA&&s:NFvvo0$:J$#$&HJJ00$ 2A 2&'/'8'8'8'NP ( ( bii(#.]]2??++it4 ,+ /+++   Q**Q;c                    \        V 4      pR V\        P                  ! V\        P                  ! 4       R7      \        P                  ! V\        P                  ! 4       R7      .pV EF@  p\        P
                  ! . R	O4      \        P
                  ! . R
O4      \        P                  ! ^R .^^..4      .p\        P
                  ! . RO4      V'       d   \        P
                  ! . RO4      M\        P
                  ! . RO4      V'       d   \        P                  ! . RO.4      M\        P                  ! . RO.4      .p\        V4       FY  w  rx\        P                  ! WVR7      p	\        P                  ! Wg,          Ve   TM^4      p
V	P                  V
4      '       d   KY  Q h	  EKC  	  R V \        P                  ! V \        P                  ! 4       R7      \        P                  ! V \        P                  ! 4       R7      .pV EF  p\        P
                  ! . RO4      \        P
                  ! ^\        P                  ^R^^.4      \        P
                  ! ^\        P                  R ^R ^.4      .p\        P
                  ! . RO4      \        P
                  ! ^\        P                  \        P                  \        P                  \        P                  \        P                  .4      V'       dG   \        P
                  ! ^\        P                  R \        P                  R \        P                  .4      M)\        P
                  ! ^\        P                  R R R R .4      .p\        V4       F  w  rx\        P                  ! WVR7      p	\        P                  ! Wg,          Ve   TM^4      p
\        P                   P#                  V	P%                  RR7      V
P%                  RR7      4       K  	  EK  	  R\        P                  ! R4      R3 FR  p\&        P(                  ! \        P*                  4      ;_uu_ 4        \        P                  ! . R	OVR7       R R R 4       KT  	  R #   + '       g   i     Ki  ; i)Nr  rD   Fr  r   r  r  rv  r  )rw   Nr  rF  )rw   r   rQ  )rw   Nr  r  )rw   NNN)r  r  r  r  )r  g      @g     @*@)r  r   r   r   r   r   r;  r  r.   cumulative_prodr  r   rj  rk  r   r,  r'  r  r  r"   r#   rL  r  s   &&         r)   test_cumulative_prodr    s   
 E
IIryyCii	
35FHHYHH%&q$i"a12
 HHY HH'(!xx(=> 012!//1F0GH
  'FA''JOF{{?#5t?Ot()+H==**** ( ( E299U>iiBJJL13FHH_%HHaB1-.HHaq$23
 HH()HHa@A HHarvvtRVV<=!xxBFFD$d(KL	
  'FA''JOF{{?#5t?Ot()+HJJ00$ 2A 2&'/'8'8'8'NP ( ( bii(#.]]2??++y5 ,+ /+++r  c                    \        V 4      pR V\        P                  ! V\        P                  ! 4       R7      \        P                  ! V\        P                  ! 4       R7      .pV EFK  p\        P
                  ! . RO4      \        P
                  ! . RO4      \        P                  ! . RO. RO.4      .p\        P
                  ! . RO4      V'       d   \        P
                  ! . RO4      M\        P
                  ! . RO4      V'       d   \        P                  ! . RO.4      M\        P                  ! . RO.4      .p\        V4       Fd  w  rx\        P                  ! WVR7      p	\        P                  ! Wg,          Ve   TM
\        R4      RR7      p
V	P                  V
4      '       d   Kd  Q h	  EKN  	  R V \        P                  ! V \        P                  ! 4       R7      \        P                  ! V \        P                  ! 4       R7      .pV EFg  p\        P
                  ! . RO4      \        P
                  ! RRR\        P                  RR	.4      \        P
                  ! RRR \        P                  RR .4      .p\        P
                  ! . RO4      \        P
                  ! . RO4      V'       d   \        P
                  ! . RO4      M\        P
                  ! . RO4      .p\        V4       F  w  rx\        P                  ! WVR7      p	\        P                  ! Wg,          Ve   TMRRR7      p
\        P                   P#                  V	P%                  RR
7      V
P%                  RR
7      4       K  	  EKj  	  R\        P                  ! R4      R3 FR  p\&        P(                  ! \        P*                  4      ;_uu_ 4        \        P                  ! . ROVR7       R R R 4       KT  	  R #   + '       g   i     Ki  ; i)Nr  rD   FrJ   r  ?r  皙@@r  r   r  r  rv  )r   rw   r!  rF  r"  rQ  )r   rw   NrF  r"  N)r   rw   N)rF  r"  N)r   r   r!  rF  rF  rQ  )r   r   NrF  rF  N)r   r   NNNNg    e)r  r  r  ffffff@r  r  )r  r  r  r  r  r  )r  r  r  r  r  r  )r  r  Nr  r  N)r  r  NNNNr  )r  r   r   r   r   r   r;  r  r.   cumulative_maxr  r   rj  rk  r   r,  r'  r  r  r"   r#   rL  r  s   &&         r)   test_cumulative_maxr	    s   
 E
IIryyCii	
35FHH'(HH-.lL9:
 HH'( HH-.!xx(FG 678<=>
  'FA&&s:NF**"D,<D#d) "H ==**** ( , E299U>iiBJJL13FHH34HHc3RVVS#67HHc3bffc489
 HH34HH34 HH56!xx(JK	
  'FA&&s:NF**"D,<D$ "H JJ00$ 2A 2&'/'8'8'8'NP ( * bii(#.]]2??++it4 ,+ /+++   O--O>c                    \        V 4      pR V\        P                  ! V\        P                  ! 4       R7      \        P                  ! V\        P                  ! 4       R7      .pV EFK  p\        P
                  ! . RO4      \        P
                  ! . RO4      \        P                  ! . RO. RO.4      .p\        P
                  ! . RO4      V'       d   \        P
                  ! . RO4      M\        P
                  ! . RO4      V'       d   \        P                  ! . RO.4      M\        P                  ! . RO.4      .p\        V4       Fd  w  rx\        P                  ! WVR7      p	\        P                  ! Wg,          Ve   TM
\        R4      RR7      p
V	P                  V
4      '       d   Kd  Q h	  EKN  	  R V \        P                  ! V \        P                  ! 4       R7      \        P                  ! V \        P                  ! 4       R7      .pV EFg  p\        P
                  ! . RO4      \        P
                  ! RRR\        P                  R	R
.4      \        P
                  ! RRR \        P                  R	R .4      .p\        P
                  ! . RO4      \        P
                  ! . RO4      V'       d   \        P
                  ! . RO4      M\        P
                  ! . RO4      .p\        V4       F  w  rx\        P                  ! WVR7      p	\        P                  ! Wg,          Ve   TMRRR7      p
\        P                   P#                  V	P%                  RR7      V
P%                  RR7      4       K  	  EKj  	  R\        P                  ! R4      R3 FR  p\&        P(                  ! \        P*                  4      ;_uu_ 4        \        P,                  ! . ROVR7       R R R 4       KT  	  R #   + '       g   i     Ki  ; i)Nr  rD   g    eAFrJ         @333333@@333333@333333?r  r   r  r  rv  )rF  rQ  r"  r   r!  rw   )rF  rQ  Nr   r!  N)rF  rQ  Nr  )rF  rF  r"  r   r   rw   )rF  rF  Nr   r   N)rF  rF  NNNN)r  r  r   @r  r  )r  r  r  r  r  r  )r  r  r  r  r  r  )r  r  Nr  r  N)r  r  NNNNr  )r  r   r   r   r   r   r;  r  r.   cumulative_minr  r   rj  rk  r   r,  r'  r  r  r"   r#   rL  r  r  s   &&         r)   test_cumulative_minr  B  s   
 E
IIryyCii	
35FHH'(HH-.lL9:
 HH'( HH-.!xx(FG 678<=>
  'FA&&s:NF**"D,<D#c( "H ==**** ( , E299U>iiBJJL13FHH34HHc3RVVS#67HHc3bffc489
 HH34HH34 HH56!xx(JK	
  'FA&&s:NF**"D,<D# "H JJ00$ 2A 2&'/'8'8'8'NP ( * bii(#.]]2??++it4 ,+ /+++r
  c                  *   \         P                  ! ^R4      P                  4       R^RR/8X  g   Q h\         P                  ! ^RRR.R7      P                  4       R^RR/8X  g   Q h\         P                  ! . RORP                  4       4      \        P
                  P                  . RORP                  4       .RP                  4       R	7      8X  g   Q h\        P                  ! \        R
R7      ;_uu_ 4        \         P                  ! . RORP                  4       4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \         P                  ! RR.R7       RRR4       R#   + '       g   i     LX; i  + '       g   i     R# ; i)rw   r   rr   rO   r  ri   )field_namesza b cz0 1r}  rB  r   Nz0 arguments but 2 field namesonetwor  r   )
r.   make_structr%  splitr   r  ry  r"   r#   r  r   r3   r)   test_make_structr  |  sB   >>!S!'')c1c3-????>>!SsCj9??AQSF    >>)!--/+.0nn.H.H'%mmoJ/6;kkm /I /EE E E
 
zJ
L 
L
|W]]_5
L 
z)H	I	I
E5>2 
J	I	
L 
L 
J	I	Is   6(E.
F.E>	F	c                     \         P                  ! \         P                  ! 4       \         P                  ! 4       4      p \         P                  ! RR.R.. R	R
.R.V R7      p\         P                  ! . RO\         P                  ! 4       R7      p\         P                  ! . RO\         P                  ! 4       R7      p\         P                  ! ^.RR^^.R.\         P
                  ! \         P                  ! 4       4      R7      p\        P                  ! VR R4      V8X  g   Q h\        P                  ! V\         P                  ! R \         P                  ! 4       R7      R4      V8X  g   Q h\        P                  ! V\         P                  ! R \         P                  ! 4       R7      R4      V8X  g   Q h\        P                  ! V\         P                  ! R \         P                  ! 4       R7      R4      V8X  g   Q hR# )r  Nr  rS   lastr   )r  rw   )r  r   )noner!  )r  rF  )r  rR  )rw   NNrF  N)rw   NNrR  N)	r   map_r  r   r   rV  r.   
map_lookupr   )rt  r   result_firstresult_last
result_alls        r)   test_map_lookupr#    su   	BHHJ	'B
((Z,{mZ0$8>@BC884288:FL((3"((*EKA3dQFD9!xx
35J ==eW-=====biiBGGI '),89 9 9==biiBGGI &(+67 7 7==biiBGGI %'*45 5 5r3   c                     \         P                  ! . RO\         P                  ! 4       R7      p \         P                  ! . RO4      p\         P                  P	                  W.RR.4      p\         P                  P	                  W.RR.4      p\
        P                  ! VR4      V8X  g   Q h\
        P                  ! VR4      V8X  g   Q h\
        P                  ! VRR.4      V8X  g   Q h\
        P                  ! V^R.4      V8X  g   Q h\
        P                  ! VR4      V8X  g   Q h\
        P                  ! V\
        P                  ! R4      4      V8X  g   Q h\
        P                  ! VR4      V 8X  g   Q h\
        P                  ! VR.4      V 8X  g   Q h\
        P                  ! VR4      V 8X  g   Q h\
        P                  ! V\
        P                  ! R4      4      V 8X  g   Q h\
        P                  ! V^^.R	7      V8X  g   Q h\
        P                  ! VR4      V8X  g   Q h\
        P                  ! V^ .4      V 8X  g   Q h\
        P                  ! V. 4      V8X  g   Q h\        P                  ! \         P                  R
R7      ;_uu_ 4        \
        P                  ! VR4       RRR4       \        P                  ! \         P                  R
R7      ;_uu_ 4        \
        P                  ! VR4       RRR4       \        P                  ! \         P                  R
R7      ;_uu_ 4        \
        P                  ! VR4       RRR4       \        P                  ! \         P                  RR7      ;_uu_ 4        \
        P                  ! V4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)r"  r  Nr   r   r  z.c.bs   .c.bz.arj   zNo match for FieldRefr   r   z.c.fooz.a.fooz cannot be called without optionsr"  rF  rQ  )r   Nr  )   cr   )r  r   )r   )rw   rw   )r   r   r   r  ry  r.   struct_fieldrM   r"   r#   rL  )r   r   r  r   s       r)   test_struct_fields_optionsr(    s   
,A
"#A
""A6C:6A
..
$
$aVc3Z
8C??3'1,,,??3(A---??3c
+q000??3C)Q...??3,111??3 45:::??3%***??3&!+++??3$)))??3 01Q666??3A/1444??3'1,,,??3$)))??3#s***	r.E	F	F
U# 
G 
r.E	F	F
X& 
G 
r.E	F	F
X& 
G 
r.P	Q	Q
 
R	Q 
G	F 
G	F 
G	F 
R	Q	Qs0   NN-+O 9ON*	-N=	 O	O$	c                      \         P                  ! \         P                  ! . RO. RO4      . RO. RO4      \        P                  ! . RO4      8X  g   Q hR# )TNr  )FTNr  )      r  )rw   r+  N)r.   	case_whenr  r   r   r   r3   r)   test_case_whenr-    sE    <<':':<!$& *,-)@A A Ar3   c                     \         P                  ! R \         P                  ! 4       3R\         P                  ! 4       3.4      p \         P                  ! V 4      pR RR^/RR RR^/RR RR^/.pRR RR^/R RR^/RR RR^/.p\         P
                  ! W#.V4      p^p\         P                  P                  WE4      p\         P
                  ! RR RR^/.V 4      pVP                  V4      '       g   Q h^p\         P                  P                  WE4      p\         P
                  ! R RR^/R RR^/.V 4      pVP                  V4      '       g   Q hR# )	r   r   皙?N皙?gffffff@gp=
ף?ffffff?g333333?)	r   rJ  rk  r   rV  r   rS  list_elementr   )element_type	list_typel1l2listsrx  rv  r  s           r)   test_list_elementr8    sB   99sBJJL1C3CDEL&IC
TCS!#4dS#sA<N	OB
c3"S"c1$5tc2sA=N	OBHHbXy)EEZZ$$U2FxxT323\BH==""""EZZ$$U2Fxx#sC+c2sA->?NH==""""r3   c            	      h   \        R R4       U u. uF  p \        P                  ! V ^^R7      NK  	  pp \        P                  ! V\        P                  ! R4      4      p\
        P                  ! V4      \        P                  ! \        V4      \        P                  ! 4       R7      8X  g   Q hR# u up i )i  i,  )r  r  r  r  r  N)
r  rj  r   r   r  r.   count_distinctr   r   r   )ysamplesr   s      r)   test_count_distinctr=    s{    BGdBSTBSQx  aqa8BSGT
((7BLL.
/CS!RYYs7|"((*%MMMM Us   "B/c                     \         P                  ! . RO4      p \        P                  ! V 4      P	                  4       ^8X  g   Q h\        P                  ! V RR7      P	                  4       ^8X  g   Q h\        P                  ! V RR7      P	                  4       ^8X  g   Q h\        P                  ! V RR7      P	                  4       ^8X  g   Q h\        P                  ! V R4      P	                  4       ^8X  g   Q hR# )rw   Nrp  rq  rr  r   rs  )r   r   r.   r:  r%  r  s    r)   test_count_distinct_optionsr?    s    
(((
)CS!'')Q...S|4::<AAAS{399;q@@@Su-335:::S%(..0A555r3   c                  .   \         P                  ! R .4      p \        P                  ! V RR7      V 8X  g   Q h\        P                  ! V RR7      \         P                  ! R.4      8X  g   Q h\        P                  ! V R4      V 8X  g   Q h\        P                  ! V R4      \         P                  ! R.4      8X  g   Q h\        P
                  ! \        RR7      ;_uu_ 4        \        P                  ! V R	R7       R
R
R
4       R
#   + '       g   i     R
# ; i)u   01²3NFC)formrm   0123NFDNFKDz/"NFZ" is not a valid Unicode normalization formr   NFZN)r   r   r.   utf8_normalizer"   r#   r  r  s    r)   test_utf8_normalizerH    s    
((G9
CSu-444Sv."((F82DDDDS%(C///S&)RXXvh-????	C
E 
E 	#E*
E 
E 
E 
Es    DD	c            
      >   R FK  p \         P                  ! ^ V R7      \        P                  ! . \        P                  ! 4       R7      8X  d   KK  Q h	  \        ^
4       Uu. uF0  p\        \         P                  ! ^d4      P                  4       4      NK2  	  pp\        \        V4      4      \        V4      8X  g   Q h\        ^ ^d4       Uu. uF9  p\        \         P                  ! ^dV^,          R7      P                  4       4      NK;  	  pp\        \        V4      4      ^8X  g   Q h\        4       R	R.pVP                  R \        ^
4       4       4       V Uu. uF2  p\        \         P                  ! ^dVR7      P                  4       4      NK4  	  pp\        \        V4      4      \        V4      8X  g   Q h\        P                  ! \        RR7      ;_uu_ 4        \         P                  ! ^d. R7       RRR4       R# u upi u upi u upi   + '       g   i     R# ; i)
system)initializerr  r   c              3   N   "   T F  p\         P                  ! ^
4      x  K  	  R# 5ir5   )osurandom)r   r  s   & r)   r   test_random.<locals>.<genexpr>
  s     :	1

2	s   #%zJinitializer should be 'system', an integer, or a hashable object; got \[\]r   N)rJ  rQ  is   abcdefr%  )r.   r  r   r   rk  r  tupler  r   r  r!   r  r"   r#   r$   )rK  r  r  initializerss       r)   test_randomrR    s   5yy4HHRbjjl+, 	, , 6
 :?rCAeBIIcN,,./FCs6{s6{*** Q}&$! BIIcq1u5??AB$  &s6{q    Hi/L:b	::#%#! BIIcq1;;=>#  %s6{s6{***	y?
@ 
@ 			#2&
@ 
@ D&%
@ 
@ 
@s   6G<	?H8HHH	ztiebreaker,expected_valuesr  r]   rS   densec                    \         P                  ! . RO4      p\        P                  ! RRV R7      p\        P                  ! W#R7      p\         P                  ! V\         P
                  ! 4       R7      pVP                  V4      '       g   Q hR# )r  Nr\   r  r^   r  r  r  r  333333@NrV  Nr  )r   r   r.   r   rankr   r   )r`   expected_valuesr   rank_optionsrv  r  s   &&    r)   test_rank_options_tiebreakerrZ    sd     ((8
9C>>K19-79L WWS/Fxxbiik:H==""""r3   c                  0   \         P                  ! . RO4      p \         P                  ! . RO\         P                  ! 4       R7      p\        P                  ! V 4      pVP                  V4      '       g   Q h\        P                  ! V \        P                  ! 4       R7      pVP                  V4      '       g   Q h\        P                  ! V \        P                  ! R.R7      R7      pVP                  V4      '       g   Q h\        P                  ! V RR7      p\         P                  ! . RO\         P                  ! 4       R7      pVP                  V4      '       g   Q h\        P                  ! V RR7      p\         P                  ! . RO\         P                  ! 4       R7      pVP                  V4      '       g   Q h\        P                  ! \        RR	7      ;_uu_ 4        \        P                  ! RR
RR7       RRR4       R#   + '       g   i     R# ; i)r  Nr  r  re   rV   rW   r|   z'"NonExisting" is not a valid tiebreakerr   r  NonExistingr^   rU  r!  rw   r"  rQ  rF  rR  r   ry   )rF  r!  rQ  rw   rR  r   r"  )r!  r"  rw   rQ  r   rR  rF  )
r   r   r   r.   rW  r   r   r"   r#   r  r   r  rv  expected_at_startexpected_descendings        r)   test_rank_optionsra  &  su   
((8
9Cxx-BIIK@H WWS\F=="""" WWS".."23F=="""" WWS"..%&#( F ==""""WWS4F!6RYY[I==*++++WWSL1F((#8ryy{K==,----	zG
I 
I
&."/	1
I 
I 
I 
Is    HH	c                  .   \         P                  ! . R
O4      p \         P                  ! . RO\         P                  ! 4       R7      p\        P                  ! V 4      pVP                  V4      '       g   Q h\        P                  ! V \        P                  ! 4       R7      pVP                  V4      '       g   Q h\        P                  ! V \        P                  ! R.R7      R7      pVP                  V4      '       g   Q h\        P                  ! V RR7      p\         P                  ! . RO\         P                  ! 4       R7      pVP                  V4      '       g   Q h\        P                  ! V RR7      p\         P                  ! . RO\         P                  ! 4       R7      pVP                  V4      '       g   Q h\        P                  ! \        RR7      ;_uu_ 4        \        P                  ! V R	R7       R R R 4       R #   + '       g   i     R # ; i)Nr  r  re   rV   rW   r|   r  r   XXXNrw   Nr   N)r1  r,  r1  333333?r1  ry   )re  r1  re  ro   re  )r1  re  r1  r,  r1  )
r   r   rk  r.   rank_quantiler   r   r"   r#   r  r^  s        r)   test_rank_quantile_optionsrg  G  sq   
((+
,Cxx1

EH c"F=="""" c2+A+A+CDF=="""" c2+A+A%&,( F ==""""c*=F!:N==*++++c\:F((#<2::<P==,----	z)A	B	B
. 
C	B	B	Bs    HH	c                     \         P                  ! . RO4      p \        P                  ! . RO4      p\        P
                  ! V 4      pVP                  4       V8X  g   Q h\        P
                  ! V RRR7      pVP                  4       V8X  g   Q h\        P
                  ! V \        P                  ! 4       R7      pVP                  4       V8X  g   Q h\        P                  ! . R	O4      p\        P
                  ! V RRR7      pVP                  4       V8X  g   Q h\        P
                  ! V \        P                  ! RRR7      R7      pVP                  4       V8X  g   Q hR # )
Nr  r\   )rX   r_   r  rV   r|   rd  )ł?g2m6<ri  łri  )rj  g2m6<?rj  ri  rj  )r   r   r"   r^  r.   rank_normalr  r   r   r  rv  s      r)   test_rank_normal_optionsrm  e  s    
((+
,C}}	23H ^^C F)))^^CKPF)))^^C)?)?)ABF)))}}	23H ^^C
lSF)))^^C$&$:$:*EQ%STF )))r3   c                  (   \         P                  ! \         P                  ! R \         P                  ! 4       4      \         P                  ! R\         P                  ! \         P                  ! R\         P
                  ! 4       4      .4      4      .4      p \        P                  ! ^4      p\        P                  ! R4      p\        P                  ! R4      p\        P                  ! R4      p\        P                  ! R4      p\        P                  ! R^/4      p\        P                  ! \         P                  ! ^4      4      p\        P                  ! \        P                  ! ^4      4      p\        P                  ! R4      p	\        P                  ! ^ 4      p
WW4WWWV
.	p. W8H  NW8g  NW8  NW9,          NW9,          NV( NVP                  4       NW,           NW,
          NW,          NW,          N\        P                  ! V4      N\        P                  ! W4      N\        P                  ! W4      N\        P                  ! W4      N\        P                  ! W4      N\        P                  ! W4      N\        P                   ! V4      N\        P"                  ! V4      N\        P$                  ! V4      N\        P&                  ! V4      N\        P(                  ! V4      N\        P*                  ! V4      N\        P,                  ! V4      N\        P.                  ! V4      N\        P0                  ! W"4      N\        P2                  ! V4      N\        P4                  ! V4      N\        P6                  ! V4      N\        P8                  ! V4      N\        P:                  ! V4      N\        P<                  ! V
4      N\        P>                  ! V4      N\        P@                  ! V4      N\        PB                  ! V4      N\        PD                  ! W4      N\        PF                  ! W4      N\        PH                  ! W4      N\        PJ                  ! V4      N\        PL                  ! V4      N\        PN                  ! W4      NVPQ                  \         PR                  ! 4       RR	7      Np\        P                  ! R 4      ^8  \        P                  ! R 4      ^8H  \        P                  ! R 4      ^8H  \        P                  ! R4      R
8H  \        P                  ! RR4      R
8H  .p\        P                  ! ^ 4      ^8  \        P                  ! ^ 4      ^8H  \        P                  ! ^ 4      ^8H  \        P                  ! R4      R
8H  \        P                  ! ^^ 4      R
8H  .pVVPU                  . RO4      \        P                  ! R 4      PW                  4       .pVPY                  4       pVV,          pVV,          pVV,          pRVRVRVRVRVRVRV /# )i64r   r   r  Tr   Nr   Frf  rc  r   literalscallsrefsnumeric_refsspecialschema)r   r   )rw   r   r  )-r   ru  rM   r   rJ  r   r.   r   r   r  negater   r  divider  powersqrtexpcossintanacosatanasinatan2sinhcoshtanhasinhacoshatanhr  signbit_wise_notbit_wise_andbit_wise_orbit_wise_xorr?  	is_finiterP  ri  r   isinr  copy)ru  r   r   r  rT  ro  rp  rq  rr  rn  r  literal_exprsexprs_with_callexprs_with_refexprs_with_numeric_refsspecial_cases	all_exprss                    r)   create_sample_expressionsr  }  s   YY
3RXXryy"((5"))+6786: ; <F 			!A
		#A
		$A
		(A
		$A
		3(A
		"))A,A
		"((1+A
		%A
		!A 1qQ/M7qv 7qv 7qu 7ae 7QU 7QB 7

 7u7e7%&U7,-E73599Q<7vva|7%'[[%678:		!7 {{1(7 +-((1.7 ;=''!*7 vvay	7 #%&&)	7 .0VVAY	7 9;q		7
 wwqz7
 $&771:7
 02wwqz7
 <>88A>7 wwqz7 $&771:7 02wwqz7 xx{7 %'HHQK7 24!7 vvay7 #%''!*7 /1ooa.@7 q,7 /1nnQ.B7 q,7 /1iil7 =?LLO7 {{1(7 vvbhhjuv57O  hhuo)288E?a+?hhuo*hh~.'9hhue,79N  "xx{Qq0@!xx{a/!xx/7:!xx1~8: 	
	y
!M ""$I III 	yM/=& r3   c                     \        4       R ,           F^  p\        V\        P                  4      '       g   Q hV P	                  V P                  V4      4      pVP                  V4      '       d   K^  Q h	  R# )r   N)r  r   r.   
Expressionr  r  r   )r
  exprrestoreds   &  r)   #test_expression_serialization_arrowr    s^    )+E22$.... &&}':':4'@A{{8$$$$ 3r3   c                  0   \        4       p V R ,          pV R,           FL  pVP                  V4      p\        P                  P	                  V4      pVP                  V4      '       d   KL  Q h	  V R,           F  pVP                  V4      p\        P                  P	                  V4      p\        V4      \        V4      8X  g   Q hVP                  V4      p\        P                  P	                  V4      pVP                  V4      '       d   K  Q h	  \        V R,          V R,          4       F  w  r'VP                  V4      p\        P                  P	                  V4      p\        V4      \        V4      8X  g   Q hVP                  V4      p\        P                  P	                  V4      pVP                  V4      '       d   K  Q h	  V R,           F|  pVP                  V4      p\        P                  P	                  V4      pVP                  V4      p\        P                  P	                  V4      pVP                  V4      '       d   K|  Q h	  V R,          ^ ,          pVP                  V4      p\        P                  P	                  V4      pVP                  \        P                  ! R^/4      4      '       g   Q h\        P                  ! ^4      p	V	P                  . RO4      pV	^8H  V	^8H  ,          V	^8H  ,          p
VP                  V4      p\        P                  P	                  V4      p\        V
4      \        V4      8X  g   Q hVP                  V4      p\        P                  P	                  V4      pVP                  V4      '       g   Q hR# )	ru  rp  rq  rr  rs  rt  r  Nr  )
r  to_substraitr.   r  from_substraitr   r  r   r   r  )exprsru  r  
serializedr   serialized_againdeserialized_again	expr_normrp  r   targets              r)   'test_expression_serialization_substraitr    s	    &'E8_F j!!&&v.
}}33J?{{<(((( " g&&v.
}}33J? < CI---'44V<]]99:JK""#56666  uV}eN.CD&&v.
}}33J?< C	N222'44V<]]99:JK""#56666 E i  &&v.
}}33J?'44V<]]99:JK""#56666 ! 	iA'J==//
;Lryy"a12222 			!A66)D1fa AF+F""6*J==//
;Lv;#l++++#008556FG12222r3   c                      \         P                  ! ^ 4      p \         P                  ! ^4      p\         P                  ! R4      p\         P                  ! R4      p\         P                  ! R4      p\         P                  ! R4      p\         P                  ! R^R4      p\         P                  ! R4      p\         P                  ! RR4      pW,          V8H   V( V8H   R\        P                  ! 4       3 F  p	VP                  V	4      V8H   K  	  VP                  ^^.4       VP                  R	R
.4       VP                  R	R
.4       VP                  R	R
.4       \        P                  ! \        4      ;_uu_ 4        VP                  ^4       RRR4       \        P                  ! \        P                  4      ;_uu_ 4        V\        4       8g   RRR4       R#   + '       g   i     LT; i  + '       g   i     R# ; i)r   TFr   rM   r  r   nestedr	   r   r   N)r  rM   )r.   r   rM   r   rR  ri  r  r"   r#   r$   rL  r!   )
r8  r  truefalser   rM   nested_mixed_typesnested_fieldnested_field2r  s
             r)   test_expression_constructionr    s`   99Q<D
))A,C99T?DIIeEYYx FHHWE$3/88/0LHHXw/MJ&	EUN
#

34 $ 
JJ1vUEN+uen%u~&	y	!	!

1 
" 
r	'	' 
(	' 
"	! 
(	'	's   ;GG,G)	,G=	c                     \         P                  ! R 4      p \         P                  ! R4      p\        P                  ! \        RR7      ;_uu_ 4        T ;'       d    T RRR4       \        P                  ! \        RR7      ;_uu_ 4        T ;'       g    T RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        V 4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        V '       *  RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Ll; i  + '       g   i     R# ; i)TFz"cannot be evaluated to python Truer   N)r.   r   r"   r#   r  r	   )r  r  s     r)   !test_expression_boolean_operatorsr  -  s    99T?DIIeE	z)M	N	N 
O 
z)M	N	N 
O 
z)M	N	NT
 
O 
z)M	N	N 
O	N 
O	N 
O	N 
O	N 
O	N	Ns0   D
D D3;ED	 D0	3E	E	c                     \         P                  ! R 4      p \        \         P                  ! V 4      4      R8X  g   Q h\        \         P                  ! V 4      4      R8X  g   Q h\        \         P                  ! V ^R7      4      R8X  g   Q h\        \         P
                  ! V ^4      4      R8X  g   Q h\        \         P
                  ! V \        P                  ! ^4      4      4      R8X  g   Q hRp\        P                  ! \        VR7      ;_uu_ 4        \         P
                  ! V \        4       RRR4       R#   + '       g   i     R# ; i)	rM   zhour(field)zround(field)r  z2round(field, {ndigits=1, round_mode=HALF_TO_EVEN})zadd(field, 1)z+only other expressions allowed as argumentsr   N)r.   rM   r  r   r  r   r   r   r"   r#   r$   r!   )rM   rM  s     r)   test_expression_call_functionr  ?  s    HHWE rwwu~-/// rxx>111rxxq)*<= = = rvveQ O333rvveRYYq\*+>>> 8C	y	,	,
uf 
-	,	,	,s   D99E
	c                  4   \         P                  ! R ^^./4      p \        P                  ! \         P                  P
                  4      ;_uu_ 4        \        P                  ! V \         P                  ! 4       4       RRR4       R#   + '       g   i     R# ; i)r   N)	r   r  r"   r#   rv  rw  r.   ri  r   )r  s    r)   test_cast_table_raisesr  U  sT    HHcAq6]#E	rvv,,	-	-
rxxz" 
.	-	-	-s   +BB	zstart,stop,expectedr  r4  fixedc                    VR 8X  dt   \         P                  ! . RO. RO. ROR.\         P                  ! \         P                  ! 4       ^4      4      P	                  \         P                  ! V! 4       ^4      4      pMa\         P                  ! . RO^^.^.R.\         P                  ! \         P                  ! 4       4      4      P	                  V! V! 4       4      4      pW`WR3pVfW   VR 8w  dP   Rp\
        P                  ! \         P                  VR7      ;_uu_ 4        \        P                  ! V!   RRR4       R# \        P                  ! V!  p	V	P	                  \         P                  ! \         P                  ! 4       V	P                  P                  4      4      P                  4       p
Y Uu. uF  q'       d   VRRV1,          MTNK  	  up8X  g   Q hR#   + '       g   i     R# ; iu upi )r  NTzZUnable to produce FixedSizeListArray from non-FixedSizeListArray without `stop` being set.r   r  r  rQ  NN)r   r   rV  r   ri  r"   r#   rL  r.   
list_slicer   	list_sizer  )rE   r  r  r  rn  r4  r   r(   rM  rv  pylistro  s   &&&&&&      r)   test_list_slice_output_fixedr  \  sj    Ghh	<$Gxx	1-//3tBHHZ\14M/N 	 hh	Aq6A35xx	*,,0D:<1H,I 	 t4'D|	W,B]]2??#66MM4  76 %RXXbggi#[[224 55>Y[ 	BAq!FdF)a/BBBB 766 Cs   G.G+G(	z
start,stopc                 B   VR 8X  dv   . RO. RO. ROR.p\         P                  ! V\         P                  ! \         P                  ! 4       ^4      4      P	                  \         P                  ! V! 4       ^4      4      pMc. RO^^.^.R.p\         P                  ! V\         P                  ! \         P                  ! 4       4      4      P	                  V! V! 4       4      4      pVR 8X  d   \         P                  p\
        P                  ! W`WRR7      pVP                  V! V! 4       4      8X  g   Q hVP	                  \         P                  ! \         P                  ! 4       4      4      P                  4       pV U	u. uF  qe   WW1,          MRNK  	  p
p	W8X  g   Q hR# u up	i )r  NFreturn_fixed_size_listr  r  r  )	r   r   rV  r   ri  r.   r  r   r  )rE   r  r  rn  r4  rV  r   rv  r  rT  r  s   &&&&&      r)   test_list_slice_output_variabler  |  sD    G<$?hhHHRWWY"$$(D*,)B$C 	 Aq6A3-hhtxx	*,,0D:<1H,I 	 GHH	]]3t279F;;)JL1111[["''),-779F HLLt!m/"=tHL Ms   8Freturn_fixed_sizer   c                  ~    \         P                  ! \         P                  ! R \         P                  ! 4       4      4      # colr   rV  rM   r   r   r3   r)   r  r    s    BHHRXXeRWWY/0r3   c                      \         P                  ! \         P                  ! R \         P                  ! 4       4      ^4      # r  r  r   r3   r)   r  r    s     BHHRXXeRWWY/3r3   c                  ~    \         P                  ! \         P                  ! R \         P                  ! 4       4      4      # r  )r   rk  rM   r   r   r3   r)   r  r    s    BMM"((5"'')45r3   c                 Z   \         P                  ! ^..V! 4       4      p\        P                  ! V^ ^V R7      pVP                  P                  ^ 4      P                  VP                  P                  ^ 4      P                  8X  g   Q hV f    VP                  VP                  8X  g   Q hR# R# )rw   r  N)r   r   r.   r  r   rM   r,   )r  r   r   outs   &&  r)   $test_list_slice_field_names_retainedr    s     ((QC5$&
!C
--Q:K
LC88>>!!!SXX^^A%6%;%;;;;  xx388### !r3   c            	         \         P                  ! ^..\         P                  ! \         P                  ! 4       ^4      4      p Rp\        P
                  ! \         P                  VR7      ;_uu_ 4        \        P                  ! V R^4       RRR4       \        P
                  ! \         P                  VR7      ;_uu_ 4        \        P                  ! V ^^4       RRR4       Rp\        P
                  ! \         P                  VR,           R7      ;_uu_ 4        \        P                  ! V ^ ^^ R7       RRR4       \        P
                  ! \         P                  VR,           R7      ;_uu_ 4        \        P                  ! V ^ ^RR7       RRR4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)	rw   zP`start`(.*) should be greater than or equal to 0 and not greater than `stop`(.*)r   Nz0`step` must be greater than or equal to 1, got: rr   )r  r  rx   )	r   r   rV  r   r"   r#   rL  r.   r  )r   rM  s     r)   test_list_slice_bad_parametersr    s   
((QC5"((2779a0
1C	+  
rc	2	2
c2q! 
3	rc	2	2
c1a  
3 =C	rcCi	8	8
c1aa( 
9	rcDj	9	9
c1ab) 
:	9 
3	2	2	2	2
 
9	8	9	9	9s0   2FF*F=1GF'	*F:	=G	G!	c                    . ROp\         P                  ! W R7      p\        P                  ! W1R7      p\        P                  ! V4      pVP
                  VP
                  8X  g   Q hVP                  V4      '       g   Q hR# )rw   r  r  N)rw   rw   rw   r   r   rw   rw   rw   rw   rw   r!  r!  r!  r!  r!  r!  r!  r!  r!  )r   r   r.   run_end_encoderun_end_decoder   r   )rn  run_end_encode_optsr:   r   encodeddecodeds   &&    r)   check_run_end_encode_decoder    s`    FF
((6
+CAG(G<<388###>>#r3   r   c                     \        W4       R # r   )r  )rn  r   s   &&r)   test_run_end_encoder    s    4  
3r3   c                  0   \         P                  ! . RO4      p \         P                  ! . RO4      p\         P                  P                  V ^R7      pVP	                  V4      '       g   Q h\         P                  ! . RO4      p \         P                  ! . RO4      p\         P                  P                  V ^R7      pVP	                  V4      '       g   Q h\         P                  ! . RO\         P
                  ! 4       R7      p \         P                  ! . R
O\         P
                  ! 4       R7      p\         P                  P                  V R	R7      pVP	                  V4      '       g   Q h\         P                  ! . RO\         P                  ! 4       R7      p \         P                  ! . RO\         P                  ! 4       R7      p\         P                  P                  V R	R7      pVP	                  V4      '       g   Q h\         P                  ! . RO\         P                  ! 4       R7      p \        P                  ! \         P                  RR7      ;_uu_ 4        \         P                  P                  V R	R7       RRR4       R#   + '       g   i     R# ; i)rw   NrT   r  overflowr   )rw   r   r!  Nr"  rF  )Nrw   rw   NNrw   )NNr   Nrw   Nrx   )rx   rx   NNrx   N)   r  NNr  N)r   r   rS  pairwise_diffr   r   r
   r"   r#   rL  pairwise_diff_checkedrl  s      r)   test_pairwise_diffr    s   
(((
)Cxx34HZZ%%c!%4F==""""
(((
)Cxx67HZZ%%c!%4F=="""" (((rwwy
9Cxx6RWWYGHZZ%%c"%5F=="""" (((rxxz
:Cxx9
KHZZ%%c"%5F=="""" (((rxxz
:C	r'
) 
)


((R(8
) 
) 
) 
)s   "JJ	c            	         R R.p \         P                  ! . R	O. R
O4      pVP                  4       / 8X  g   Q h\         P                  ! . R	O. R
OV 4      pVP                  4       R RR^
/8X  g   Q h\        VP                  4       4      R R.8X  g   Q h\         P                  ! . R	O. R
OV R7      pVP                  4       R RR^
/8X  g   Q h\        P
                  ! \        RR7      ;_uu_ 4        \         P                  ! . R	O. R
OV RR7      pRRR4       \        P
                  ! \        RR7      ;_uu_ 4        \         P                  ! . RO. R
OV R7      pRRR4       R#   + '       g   i     L\; i  + '       g   i     R# ; i)r  rY   N)	key_nameszUnexpected pivot key: depthr   rZ   )r  r[   z(Encountered more than one non-null value)rY   r  depth)r   Nr*  )rY   r  rY   )r.   pivot_widerr%  r  r"   r#   KeyErrorr  )r  rv  s     r)   test_pivot_widerr    s1   (#I^^8.IF<<>R^^8.%'F<<>gtXr::::GX#6666^^8.&/1F<<>gtXr::::	x'D	E	E <n*38?A 
F
 
z)S	T	T =~*35 
U	T 
F	E
 
U	T	Ts   ,E7E2E/	2F	c                  &   \         P                  ! . RO4      p \        P                  ! V RR4      pVP	                  4       . RO8X  g   Q h\        P                  ! V \        P
                  ! RRR7      R7      pVP	                  4       . RO8X  g   Q hR# )r   r,  g?)lower_limitupper_limitr  N)
r   r"  rs  rS  rF  r!  rR  r   rw   rQ  )
rS  r"  rS  rS  rF  r!  rR  r   r   rQ  )r   r   r.   	winsorizer  r   r  s     r)   test_winsorizer  !  st    
((2
3C\\#sC(F!????\\R((ScJLF!????r3   )TFFTT)r   r,  r0  re  r/  )r   r   Ndddee)r     br&  s   ddds   ee)s   abcs   bcds   cdes   defs   efg)r   r!  r"  r  )r  g       @g      @g      D@N)rw   r   (   )
r  r  is_ascii
is_decimalr  r  r  r  r  is_upper)rt  r:   )r,   r  r  )r  r3  r  )	integralsrealsr  r   r  )r  r  r&  rc   r!  r   r  )r  g      %@g      %)TF)r  r  g      @)r!  rw   r"  rQ  r"  rQ  rw   )r!  r   rF  rR  rF  rR  r   r]  )r   rw   r!  r"  r!  r"  rw   r  r  r  rw   r   ))r   N)r   rw   )r   r   r  )r   r"  )r   r   r  )collectionsr   rj  r/  	functoolsr   r   r7   r  r  rM  r"   r  r  r  numpyr   ImportErrorpandasr  r   r   pyarrow.computerS  r.   pyarrow.libr   r   pyarrow.substrait	substraitpasr  __dict__r  r  r   r   r   r   
issubclassr6   r   r   r   r
   r   r   rj  rk  numerical_arrow_typesr  r   rV  rk  rJ  all_array_typesr*   r2   rA   markfilterwarningsr   r   r   r   r   r   r   r  r  r  r  r  parametrizer'  r2  r4  r9  r=  r?  rH  rJ  rN  rW  r_  rb  r^  rh  rw  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  unknown_issue_is_alphautf8proc_issue_is_lowernumeric_info_missingdigit_info_missingr  r  r  r%  r2  r<  rB  rK  rO  rY  rb  rh  rl  rt  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r*  r.  r8  r;  r@  rH  rL  rN  rT  r\  rb  rm  date32date64rr  r|  r}  r~  r  r  decimal_type_traitsr  r  r  r  r  r  r  r  r  r  r  rs   r  r2  r:  r=  r?  rV  rf  rn  rt  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r#  r(  r-  r8  r=  r?  rH  rR  rZ  ra  rg  rm  r  r  r  r  r  r  r  r   r  r  r  r  r  r   float16r   r  r  r  r  )r,   r&   r>   s   000r)   <module>r     s   $ #   (    	   
    A#
 $BKK$5$5$7848\dt12 	D84 
 ""++"3"3"56.6KT3 2%%%  	3**+ C6.  GGIHHJHHJHHJIIKIIKJJLJJL	  -.eAhU1XuQxeAhuQxeAhuQ|eArl%&&',-01YYq\;<XXbggiAq6Aq6Aq64!RAB]]288:!i!Q2w GHYYbggi 3	"234	aa$aa 0$aa8H7J K#,40	9 BbBbBJ(
JFI5
3
 $ $=	%	> '<=1 >1* a(;R]]1a=P'QR'; S';T '<=1 >1, a(;R]]1a=P'QR&? S&?R9<"")46: *#	01	V]]#56	8
 &&--(:;ZNOWvtZ./- ::"'2"####,L.0###< D6&76(BJ;D   !&) ..
...#.%*.,1.	.... %.',..3. 
. . . . !&. (.. 06. 	. 	. 	. #	. %+	. -3	.
 .
 .
 .
 #.
 %+.
 -3. . . . #. %+. -3. . . . #. %+. -3. . . . #. %+. -3. . . . #. %+. -3. . . . #. %+. -3. . . . #. %+. -3. . . . #. %+. -3. . . . #. %+. -3. . . . #. %+. -3. . . . #. %+. -3.  !.  !.  !.  #!.  %+!.  -3!." #." #." #." ##." %+#." -3#.$ %.$ %.$ %.$ #%.$ %+%.$ -3%.& '.& '.& '.& #'.& %+'.& -3'.( ).( ).( ).( #).( %+).( -3).* +.* +.* +.* #+.* %++.* -3+., -., -., -., #-., %+-., -3-.. /.. /.. /.. #/.. %+/.. -3/.0 1.0 1.0 1.0 #1.0 %+1. 4
"$*,2
"$*,2    # %+ -3 	 	 	 #	 %+	 -3	
 
 
 
 #
 %+
 -3    # %+ -3    # %+ -3    # %+ -3    # %+ -3    # %+ -3    # %+ -4     ' )0  33
333$3&,3.43
333"3$*3,234:3 3 3 3 #3 %+3 -33 5;3 	3 	3 	3 #	3 %+	3 -3	3 5;	3
 3
 3
 3
 #3
 %+3
 -33
 5;3 3 3 3 #3 %+3 -33 5;3 3 3 3 #3 %+3 -33 5;3 3 3 3 #3 %+3 -33 5;3 3 3 3 #3 %+3 -33 5;3 3 3 3 #3 %+3 -33 5;3 3 3 3 #3 %+3 -33 5;3 3 3 3 #3 %+3 -33 5;3 3 3 3 #3 %+3 -33 5;3 3 3 3 #3 %,3 .53 3 3 3  '3 )03 293  !3  !3  !3   '!3  )0!3 ".
...".$*.,2.
...".$*.,2. . . . #. %+. -3. 	. 	. 	. #	. %+	. -3	.
 .
 .
 .
 #.
 %+.
 -3. . . . #. %+. -3. . . . #. %+. -3. . . . #. %+. -3. . . . #. %+. -3. . . . #. %+. -3. . . . #. %+.  $'99&"&'   +E F
 Wf$56F 7FF(C$P> 8 804#''E9< )?; <2"##L UDM2* 3*3 )?;# <#(#"#:	1 )?; <, )?;D < D,&#(,&021 1  / :;? <?< / :;!9 <!9H / :; 9 < 9F' ### )<=>- ?-8 L L$ < <6F"#:"#: '<=# >#( '<=# >#8',?	F$3N 		RYY['AB+ C+ '<= >< 2CE    4 CE  )bllAF(bllBG(r}}bI(r}}bIK  CCF.0 bjjl^=':-  /)>:<> >	  ?
/?/ > / bjjlBJJL%AsK)+>-  /;A/ L ;A|G82( NA  NAbPIf = =<1 !89	# :	# Y&  Y&xe8P  "E F 9 F  9F
(6A*'F&LR0Of8&.6!AHI =*(.V-$.,D "56}515 6 7 15h "56}516 6 7 16h /2}545 6 3 45n /2}545 6 3 45n3&5$"JA#$N6	+'6  "#"#$%$%'##1B/<*0HZ % % :3  :3z8$,# .y,>?QC!qc4 !QFQFQIt,-QC!tfd#$QId|dD\4891  (		288RZZ'HIrxx&HIC J J )C,  (  (		288RZZ'HIrxx&HI J J )4 ,.AB035"7 8$	8 C
$*& 
	















Q
Q
a
a  
rxxz*
w'
rxxz*	4!249<54@A@  	B
  	B  
C4.sm   AS  AS AS  =AS0AS0AS6AS6,AS6AS6S 	ASSASS	ASSASS 	AS-S,AS-