+
    &iū                     n   ^ RI t ^ RIt^ RIHt ^ RIHtHtHtH	t	H
t
HtHtHtHtHtHtHtHtHtHt ^ RIHt ^ RIHt ^ RIHtHt ]P8                  P:                  P<                  t]P8                  P:                  P@                  t ]P8                  P:                  PB                  t!]P8                  P:                  PD                  t#]P8                  P:                  PH                  t% ! R R4      t& ! R R	4      t' ! R
 R4      t( ! R R4      t) ! R R4      t* ! R R4      t+ ! R R4      t, ! R R4      t-R# )    N)append_fieldsapply_along_fieldsassign_fields_by_namedrop_fieldsfind_duplicatesget_fieldstructurejoin_bymerge_arraysrecursive_fill_fieldsrename_fieldsrepack_fieldsrequire_fieldsstack_arraysstructured_to_unstructuredunstructured_to_structured)MaskedRecords)assert_equal)assert_assert_raisesc                      a  ] tR t^!t o R tR tR tR tR tR t	R t
R tR	 t]P                  P                  R
R7      R 4       tR tR tRtV tR# )TestRecFunctionsc                ,   \         P                  ! ^^.4      p\         P                  ! . RO4      p\         P                  ! RR.RR\        3.R7      p\         P                  ! RR.R\        3RR\        3R\        3.3.R7      p\	        W3RR7      p\        V\         P                  ! R	\        3R	\        3.4      4       \	        W3R
R7      p\        V\         P                  ! R	\        3R	\        3.4      4       \	        W3RR7      p\        V\         P                  ! R	\        3RR\        3.4      4       \	        W3R
R7      p\        V\         P                  ! R	\        3R	RR\        3.3.4      4       \	        W3RR7      p\        V\         P                  ! R	\        3R\        3R\        3R\        3.4      4       \	        W3R
R7      p\        V\         P                  ! R	\        3R	R\        3RR\        3R\        3.3.3.4      4       R# )   BdtypeabbabbTflatten FN
         A      ?r          @r)   z|S3r            @            @)nparrayfloatint	zip_descrr   r   )selfxyzwtests   &     _/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numpy/lib/tests/test_recfunctions.pytest_zip_descrTestRecFunctions.test_zip_descr#   s   HHaXHH\"HHi+(3,79HHm]3 #Je}tSk.J(KLN !.TXXCy2s)45	7!/TXXCy2s)45	7 !.TXXCy,eEF	H!/TXXCy "\C<$@AC D	E
 !.TXXCy #Sz $e}tSk; <	= !/TXXCy "c3Z&)T5MD#;+G%H%J  KL M	N    c                   \         P                  ! RR.R\        3RR\        3R\        3.3.R7      p\	        VR4      p\         P                  ! R	R
.RR\        3R\        3.3.R7      p\        W#4       \	        VR4      p\         P                  ! RR.R\        3.R7      p\        W#4       \	        VR.4      p\         P                  ! RR.R\        3RR\        3.3.R7      p\        W#4       \	        VRR.4      p\         P                  ! RR.R\        3.R7      p\        W#4       \	        VRR.4      p\         P                  ! RR.. R7      p\        W#4       R# )r   r   r   r   r    r   Nr.   r2   )r/   )r4   r   r3   )r   )r1   )r3   )r6    )r7   r8   r:   r9   r   r   r<   r   rA   controls   &   rB   test_drop_fields!TestRecFunctions.test_drop_fieldsI   sQ   HHm]3 #Je}tSk.J(KLN 1c"((K5#&$s(D"E!FHT# 1c"((D$<c
|<T# 1th'((K5#&*sdC[M.B!CET# 1tTl+((D$<c
|<T# 1sCj)((B82.T#rE   c           	     B   \         P                  ! ^^RR.33^^RR.33.R\        3RR\        3R\        ^33.3.R	7      p\	        VRR
RR/4      pR
\        3RR\        3R\        ^33.3.pVP                  V4      p\        VP                  V4       \        W$4       R# )r   r1         >@r6   g      N@r   r   r   r    r   r)   BBN)r7   r8   r:   r9   r   viewr   r   )r<   r   rA   newdtyperK   s   &    rB   test_rename_fields#TestRecFunctions.test_rename_fieldsi   s    HHq1sCj/*QS#J,@A #J D%=4%2D"EFHI Qc4 67#Je}teQZ6H&I JK&&"TZZ*T#rE   c                   \         P                  ! RR\        3.4      p\        V4      p\	        VR4       \         P                  ! R\
        3RR\        3R\
        3.3.4      p\        V4      p\	        VR	4       \         P                  ! R\
        3R. 3.4      p\        V4      p\	        VR4       \         P                  ! . 4      p\        V4      p\	        VR
4       R# )r)   r   r   r   r   r    Nr-   r)   r   )r   )r   )r   r    rI   )r   )r   rI   )r7   r   r9   	get_namesr   r:   r<   ndtyperA   s   &  rB   test_get_namesTestRecFunctions.test_get_namest   s    <#u67 T:&C:tUmdC[-I'JKL T56C:Ry12 T+," T2rE   c                   \         P                  ! RR\        3.4      p\        V4      p\	        VR4       \         P                  ! R\
        3RR\        3R\
        3.3.4      p\        V4      p\	        VR	4       \         P                  ! R\
        3R. 3.4      p\        V4      p\	        VR
4       \         P                  ! . 4      p\        V4      p\	        VR4       R# )r)   r   r   r   r   r    Nr-   rV   )r   r   r   r    r   r   rI   )r7   r   r9   get_names_flatr   r:   rX   s   &  rB   test_get_names_flat$TestRecFunctions.test_get_names_flat   s    <#u67f%T:&C:tUmdC[-I'JKLf%T12C:Ry12f%T:&"f%T2rE   c                (   \         P                  ! RR\        3.4      p\        V4      p\	        VR . R. /4       \         P                  ! R \
        3RR\        3R.3.4      p\        V4      p\	        VR . R. RR.RR./4       \         P                  ! R \
        3RR\
        3RR\
        3R\
        3.3.3.4      p\        V4      pR . R. RR.RR.RRR.RRR./p\	        W#4       \         P                  ! . 4      p\        V4      p\	        V/ 4       R# )	r)   r   BArP   BBABBBNr-   rP   z|S1)r7   r   r9   r   r   r:   )r<   rY   rA   rK   s   &   rB   test_get_fieldstructure(TestRecFunctions.test_get_fieldstructure   s3    <#u67!&)TCS"-. C:tUm]-K'LMN!&)TCS"dSGTC5IJ C:4+#'5#,)E"F"H IJ K "&)CTC5$3+usDk;T# "!&)T2rE   c                p   \         P                  ! . RO. ROR\        3RR\        3R.3.R7      p\	        VRRR7      p^ ^.p\        \        VR,          4      V4       \        V^ ,          WR,          ,          4       \	        VRRR	7      p. ROp\        \        VR,          4      V4       \        V^ ,          WR,          ,          4       \	        VRRR	7      p. ROp\        \        VR,          4      V4       \        V^ ,          WR,          ,          4       \	        VRRR	7      p. ROp\        \        VR,          4      V4       \        V^ ,          WR,          ,          4       \	        VRRR	7      p. ROp\        \        VR,          4      V4       \        V^ ,          WR,          ,          4       R
# )r0   r   r)   rb   rP   maskr   FT
ignoremaskreturn_index)keyrm   N)r0   r,   r   )r   rp   ro   )r   )r*   r   ro   )r0   )r,   C)r   r   r   rr   rr   rr   )r   rs   )r   r   r   re   )r   r   r0      r5   )r   r   r0   r3   )r   r   r0   rv   r3   )mar8   r:   r9   r   r   sortedrJ   s   &   rB   test_find_duplicates%TestRecFunctions.test_find_duplicates   s_   HH FB #Je}m.L(MN	P qUFa&VDH%w/T!WaRk*qc=!VDH%w/T!WaRk*qc=VDH%w/T!WaRk*qd>VDH%w/T!WaRk*qd>!VDH%w/T!WaRk*rE   c                   R \         3.p\        P                  ! . RO. ROR7      P                  V4      p\	        VRRR7      p. ROp\        \        VR	,          4      V4       \        V^ ,          W#R	,          ,          4       \	        VRRR7      p. R
Op\        \        VR	,          4      V4       \        V^ ,          W#R	,          ,          4       R# )r   rj   Trk   FN)r   r   r   r0   r0   rv   rv   )r   r   r   r   r   r   r   )r   r   rv   r3   ru   )r   r   r0   rv   r3      )r:   rw   r8   rQ   r   r   rx   )r<   rY   r   rA   rK   s   &    rB   test_find_duplicates_ignoremask0TestRecFunctions.test_find_duplicates_ignoremask   s    *HH*/115f 	
qTEVDH%w/T!WaRk*qUF$VDH%w/T!WaRk*rE   c                   \         P                  ! R RR7      p\         P                  ! ^VR7      p\        \	        V4      \         P                  ! R 4      4       \        \	        V4      P
                  ^4       \        \	        \	        V4      RR7      V4       \         P                  ! \         P                  V34      p\        \	        V4      P                  \         P                  J 4       R# )zu1,f4,i8Talignr   N)	r7   r   zerosr   r   itemsizerecordr   type)r<   dtr   s   &  rB   test_repack_fields#TestRecFunctions.test_repack_fields   s    XXj-HHQb!]2&(<=]1%..3]=#4DA2F XXryy"o&b!&&"))34rE   z"memmap is thread-unsafe (gh-29126))reasonc           	        \         P                  ! ^. ROR7      p\        V4      p\        V\         P                  ! RRR7      4       \         P                  ! . R O. R!OR7      p\         P
                  ! \        VRR.,          4      R"R	7      p\        V\         P                  ! . R#O4      4       \         P
                  ! \        VR.,          4      R"R	7      p\        V\         P                  ! . R$O4      4       \         P                  ! ^4      P                  R4      p\        WRP                  4      p\         P                  ! ^ R%R
R.3^R&RR.3^
R'RR.3^R(RR.3.RRR)R*.3R+.R7      p\        W64       \         P                  ! . R O. R!OR7      p\        \        \         P
                  V4      \         P                  ! . R,O4      4       \        \        \         P
                  VRR.,          4      \         P                  ! . R#O4      4       \         P                  ! . R O. R-OR7      p\        V4      p\        WP                  4      p	\        \         P                  ! W4      4       \        \         P                  ! W4      4       \        VRR.,          4      p
\        V
^^.^^.^^.^^
..4       \        \         P                  ! W4      4       \         P                  ! ^^^.^^.^^..3^^	^
.^^.^^..3.. R.OR7      p\        V4      p\        WP                  4      p	\        \         P                  ! W4      4       \        \         P                  ! W4      4       VRRR"1,          p\        V4      p\        V. R/O. R0O.4       V. R1O,          p\        V4      p
\        V
. R2O. R3O.4       \         P                  ! ^^^.^^.^^..^ 3^^	^
.^^.^^..^@3.. R4OR7      p\        V. R5O,          4      p\        \         P                  ! W4      4       \        V. R0O. R/O.4       \         P                  ! R\        3R\        3.4      p\         P                  ! RV3RV3RV3.4      p\         P                  ! ^
V4      p\        V\        R7      p\        V\         P                  ! R6\        R7      4       R pR pR7R lpV! V! V! \         P                  \         P                  4      ^4      4      p\        V! V4      R8\         P                  V34       V! V! V! \         P                  ^4      ^4      4      p\        V! V4      R9\         P                  V34       V! \         P                  4      p\        V! V4      R:\         P                  V34       V! \         P                  V! V! \         P                  ^4      ^4      4      p\        V! V4      R;\         P                  V34       V! 4       p\        \         \        \         P                  ! ^V4      4       \        \"        \        \         P                  ! ^V4      \         P                  R7       \        \"        \        \         P                  ! R<\         P                  R7      4       \         P                  ! R=R>.RR?.R7      p\        VRR7      pVP%                  \         P&                  4      p\        VRR7      p\        VRR7      p	\        \         P                  ! Wx4      4       \        \)        V4      \         P&                  J 4       \        \)        V	4      \         P&                  J 4       \        VV4       \        V	V4       \         P*                  ! VR,          RVP                  VP,                  R7      pVVR&   \        VRR7      p\        VRR7      p	\        \         P                  ! Wx4      4       \        \)        V4      \         P*                  J 4       \        \)        V	4      \         P*                  J 4       \        VV4       \        V	V4       R# )@r3   r   r   cr   f8r=   r>   r?   )axisr1         "@      @       @g      *@g      ,@g      2@g      3@Nc                 0    \         P                  ! W34      # N)r7   r   )r   shapes   &&rB   subarrayBTestRecFunctions.test_structured_to_unstructured.<locals>.subarrayC  s    88RK((rE   c                  ~    \         P                  ! \        V 4       UUu. uF  w  rR V 2V3NK  	  upp4      # u uppi )r=   )r7   r   	enumerate)dtsir   s   *  rB   
structuredDTestRecFunctions.test_structured_to_unstructured.<locals>.structuredF  s3    88	#Guq!gr]GHHGs   9
c                     \         P                  ! RV 4      p\        W!R 7      p\        W04      pVP                  VP
                  VP
                  3# )r   rI   )r7   r   r   r   r   r   )r   r   arrretbackarrs   &&   rB   inspectATestRecFunctions.test_structured_to_unstructured.<locals>.inspectI  s?    ((2r"C,S>C09G99cii66rE   T)copyFmemmapzw+)moder   r   :NNNr   i4)r   )r   zf4,u2)r   f4r0   )r3   r5   ))r   r0   r5   )r3   r5      )r         )r%   r      )r=   r   )r>   r   )r?   r   ru   )r1   g      @r         &@)r*   r         @      $@)r*   r0   )r6   r   )r   r   )g      0@   )f0r   )f1u2)r   r   r0   )gUUUUUU@gUUUUUU@gUUUUUU!@r   )r   )r>   r   )r?   r   )x0r   x1)r   r0   x2)r   r0   r0   )r   	   r%   r   r         )r   r0   rv   r3   r5   r}   r   )r   r   r   )r3   r5   r}   r   r0   rv   r   )r   r   r   r   r   r%   r   )r   r   r   )ignoredu1)r   r   r   )r%   r}   r   )r}   rH   rG   )r5   )rv   r   r   r0   rv   r3   )r   r   )r7   r   r   r   r8   meanarangereshaper   r   r   r   shares_memoryr:   int32r   
ValueErrorNotImplementedErrorrQ   recarrayr   r   r   )r<   tmp_pathr   outr   r   wantdddddddd_attrib_revd_revdd_revd_attrib_revpointtriangler   resr   r   r   r   d_plaindd_expecteds   &&                      rB   test_structured_to_unstructured0TestRecFunctions.test_structured_to_unstructured   s   HHQKL(+S"((667HHEBDgg0C:?bIS"((#789gg0C5:DS"((#789IIbM!!&)(GG4xx1i24i24i#s4i#s46 ( <">?-/	0 	SHHEBD'3XXCD	F'C:?XX34	6 HHEBD'*(WW5  '(  () 31c3Z=A]aVaVb!Wr2h$GH  23 HHq1q'a!HAh#781b'RHr2h#78:45 (*(WW5  '(  () $B$+E2V835 	6 +,2<@]%:%?%A 	B HHq1q'QFQF#3R81b'RHr2h#7<>GH (*<(=>  '(R/46 	7 3*sCj1288c5\C<#uFGhhr8$(C8S"((7#67	)	I	7 BHHbhh!?CDWR[42"67"((A!6:;WR[42"67!WR[42"67(8BHHa+@!"DEWR[42"67\j"<bhhq"oN 	)+E+-88Ar?"((	L)+E+-88F"((+K	M ((FF+K3MN0tD LL%'6(6  '(RBKK'(S	R[[()R%S+& IIh)#MM#MM+ !'6(6  '(RBII%&S	RYY&'R%S+&rE   c                    \         P                  ! R4      pR\        3R\        3.p\         P                  ! V4      p\	        WR7      p\	        WR7      p\        WE4       R# )r&   r=   r>   r   N)r&   r0   )r7   r   r9   r   r   r   )r<   r   test_dtype_args
test_dtypefield1field2s   &     rB   test_unstructured_to_structured0TestRecFunctions.test_unstructured_to_structured  sL    HHW<#u6XXo.
+AE+A@V$rE   c                   \         P                  ! ^. ROR7      pR	R.p\        \        W4      \         P                  ! ^V4      4       \         P                  ! R
R.VR7      p\        WRR7       \        V\         P                  ! RR.VP                  R7      4       \        W4       \        V\         P                  ! RR.VP                  R7      4       \         P                  ! ^RRR.3.R7      pRR.3.p\        \        W4      \         P                  ! ^V4      4       \         P                  ! RR.VR7      p\        WRR7       \        V\         P                  ! RR.VP                  R7      4       \        W4       \        V\         P                  ! RR.VP                  R7      4       \         P                  ! ^4      \         P                  ! ^ 4      r1\        W14       \        VR,          ^4       R# )r0   r   r   F)zero_unassignedNr   r   r   r   )r   r   r   r   r   r   r   )r   r   r0   )r   rv   r3   )r   r   r0   )r   rv   r3   )r   )rv   )r   )r   rv   ))r   r0   ))r   rv   rI   )r7   onesr   r   r8   r   r   )r<   r   newdtr   s   &   rB   test_field_assignment_by_name.TestRecFunctions.test_field_assignment_by_name  st   GGADEk*^A-rwwq%/@AHHff%U3aE:Q)Y!7qwwGHa#Q)Y!7qwwGH GGAs[+$>?@A}%&^A-rwwq%/@AHHgw'u5aE:Q)Y!7qwwGHa#Q)Y!7qwwGH xx{BHHQK1a#QrUArE   rI   N)__name__
__module____qualname____firstlineno__rC   rL   rS   rZ   r_   rf   ry   r~   r   pytestmarkthread_unsafer   r   r   __static_attributes____classdictcell____classdict__s   @rB   r   r   !   sp     $NL$@	$$$6+B+
5 [[&JKO' LO'b% rE   r   c                   ,   a  ] tR tRt o R tR tRtV tR# )TestRecursiveFillFieldsi  c                   \         P                  ! RR.R\        3R\        3.R7      p\         P                  ! RVP
                  R7      p\        W4      p\         P                  ! . ROR\        3R\        3.R7      p\        W44       R# )	r   r)   r   r   Nr   r   r0         4@r   r   r   )r           )r7   r8   r:   r9   r   r   r   r   r<   r   r   rA   rK   s   &    rB   test_simple_flexible,TestRecursiveFillFields.test_simple_flexible  sk    HHh)3*sEl1KLHHT)$Q*((8#&*sEl!;=T#rE   c                "   \         P                  ! RR.RR	.R\        3R\        3.R7      p\         P                  ! R
VP
                  R7      p\        W4      p\         P                  ! . RO. ROR\        3R\        3.R7      p\        W44       R# )r   r)   r   ri   r   Nr   r   r   r   rt   r   r   )r  rt   rs   )rw   r8   r:   r9   r   r   r   r   r  s   &    rB   test_masked_flexible,TestRecursiveFillFields.test_masked_flexible  sz    HHh)0@ #Je57HHT)$Q*((8 8#&*sEl!;= 	T#rE   rI   N)r   r   r   r   r  r  r   r   r   s   @rB   r   r     s     $	$ 	$rE   r   c                   \   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tRtV tR# )TestMergeArraysi  c           	        \         P                  ! ^^.4      p\         P                  ! . RO4      p\         P                  ! R	R
.RR\        3.R7      p\         P                  ! RR.R\        3RR\        3R\        3R. 3.3.R7      pWAW#3# )r   r   r   r   r   r   r    bcr$   r(   r+   r-   r   )r0   r1   rI   r3   )r5   r6   rI   r7   r8   r9   r:   r<   r=   r>   r?   r@   s   &    rB   _create_arraysTestMergeArrays._create_arrays  s    HHaXHH\"HH	"<#u*FHHH 12:tUmdC[4*%MNOQ QzrE   c                (   V P                  4       w  rr\        V4      p\        P                  ! RR.R\        3.R7      p\        WE4       \        V34      p\        WE4       \        VRR7      p\        WC4       \        VRR7      p\        WC4       R# )	r   r   r   Fr!   TNrG   r   )r  r
   r7   r8   r:   r   r<   _r=   r?   rA   rK   s   &     rB   	test_soloTestMergeArrays.test_solo  s{    ((*
aA((D$<s}=T#QD!T#Au-TAt,TrE   c                    V P                  4       ^ ,          p\        VRR7      p\        W!4       \        VRR7      p\        P                  ! R	R
.R\
        3R\        3R\
        3.R7      p\        W#4       R# )r   Fr!   Tr   r   r    r   N)r   r0   r1   )r3   r5   r6   )r  r
   r   r7   r8   r:   r9   r<   r@   rA   rK   s   &   rB   test_solo_w_flatten#TestMergeArrays.test_solo_w_flatten  si    !!$Au-TAt,((K5#&*tUmdC[!IKT#rE   c                v   V P                  4       w  rr1\        W#3R R7      p\        P                  ! . ROR\        3R\        3.R7      p\        WE4       \        W#3RR7      p\        P                  ! . RO. R	OR\        3R\        3.R7      p\        WE4       \        VP                  VP                  4       R# )
Fusemaskr   r   r   Tri   N)r   r%   )r0   r&   )ru   r'   rs   rs   rt   )r  r
   r7   r8   r:   r   rw   rj   r<   r  r=   r>   rA   rK   s   &     rB   test_standardTestMergeArrays.test_standard  s     ((*
aQFE2((7#'+c{!;=T#QFD1((7 8#'+c{!;= 	T#TYY-rE   c                :   V P                  4       w  rr\        W#3R R7      p\        P                  ! RR	.R\        3R
R\
        3.R7      p\        WE4       \        W#3RR7      p\        P                  ! RR.R\        3RR
R\
        3.3.R7      p\        WE4       R# )Tr!   r   r   r   Fr   N)r   r)   r*   )r0   r   r,   r-   )r   r(   )r0   r+   r  r
   r7   r8   r:   r9   r   r  s   &     rB   test_flattenTestMergeArrays.test_flatten  s    ((*
aQFD1((L,7#'+|c5\!JLT#QFE2((NN;#'+#',e)E"F"HI 	T#rE   c                   V P                  4       w  r p\        W!3R R7      p\        P                  ! RR.R\        3R\        3R\
        3R\        3.R7      p\        WE4       \        W!3RR7      pR\        3RR\
        3R\        3R	. 3.3.pR\        3R
V3.p\        P                  ! RR.VR7      p\        WE4       R# )Tr!   r   r   r   r    r   Fr   r  r   N)r   r   r0   r1   )r0   r3   r5   r6   )r*   r  )r0   r  r%  )r<   r@   r=   r  rA   rK   f1_descrcontroldtypes   &       rB   test_flatten_wflexible&TestMergeArrays.test_flatten_wflexible  s    ((*
aQFD1((NN;#'+#&*tUmdC["JK 	T#QFE2#Je}tSkD":&N OPsdH%56((35KL!-/T#rE   c                Z   V P                  4       ^,          p\        P                  ! . R	O. R
OR7      p\        W3RR7      p\        P                  ! . RO. ROR\        3R\        3.R7      p\        W44       \        W3RRR7      p\        W44       \        \        V\        4      4       R# )r   r|   Tr  r   r   ri   )r  
asrecarrayNr   r0   rv   r   r   r   )r   r   r   )ru   rv   )r  rs   rt   )	r  rw   r8   r
   r:   r   r   
isinstancer   )r<   r=   mxrA   rK   s   &    rB   test_wmasked_arrays#TestMergeArrays.test_wmasked_arrays  s    !!$XXii0QGT2((4 8#'+c{!;= 	T#QGTdCT#
4/0rE   c                   \        \        P                  ! ^^.4      P                  R\        3.4      \        P                  ! . RO4      34      p\
        P                  ! . RO. ROR\        3R\        3.R7      p\        W4       R# )r   r   r   ri   N)r   r   rO   )r   r   )ru   rO   r   )r
   r7   r8   rQ   r:   rw   r9   r   )r<   rA   rK   s   &  rB   test_w_singlefield"TestMergeArrays.test_w_singlefield  sk    RXXq!f-22S#J<@XXo68 :((: 8#&*tUm!<> 	T#rE   c                    V P                  4       R,          p\        V\        P                  ! . RO4      P	                  R\
        3.4      34       \        P                  ! . RORR\        3R\
        3.R7       R# )	r   rq   r   r   Nru   r$   )r)   r*   r%   r   r,   r&   )z-1ru   r&   r-   )r  r
   r7   r8   rQ   r:   r9   )r<   r?   s   & rB   test_w_shorter_flex#TestMergeArrays.test_w_shorter_flex(  s`    !"% 	a,/44sCj\BCD
?$sElS#J?	ArE   c           	         V P                  4       w  rr4\        V^ ,          V^ ,          V^ ,          3RR7      p\        P                  ! R	.R\        3R\        3RR
R\
        3.3.R7      p\        WV4       R# )r   Fr  r   r   f2r   r   N)r   r%   r)   r   r-   r%  )r<   r  r=   r>   r?   rA   rK   s   &      rB   test_singlerecord!TestMergeArrays.test_singlerecord6  sw    ((*
aQqT1Q41.>((-.#'+#'+#',e)E"F"HI 	T#rE   rI   N)r   r   r   r   r  r  r  r"  r&  r+  r4  r7  r<  rA  r   r   r   s   @rB   r
  r
    s=     	$. $$ 1$A$ $rE   r
  c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	TestAppendFieldsi@  c                   \         P                  ! ^^.4      p\         P                  ! . RO4      p\         P                  ! RR	.R
R\        3.R7      p\         P                  ! RR.R\        3RR\        3R\        3.3.R7      pWAW#3# r   r   r   r   r   r   r    r$   r(   r+   r-   r.   r2   r  r  s   &    rB   r  TestAppendFields._create_arraysC      HHaXHH\"HH	"<#u*FHHHm]3 #Je}tSk.J(KLNQzrE   c                    V P                  4       ^,          p\        VR. ROR7      p\        P                  ! . RO. ROR\        3R\        3.R7      p\        W#4       R# )	r   r)   datar   ri   Nr$   r  r   r  r   rw   r8   r:   r   r<   r=   rA   rK   s   &   rB   test_append_single#TestAppendFields.test_append_singleL  sQ    !!$Q,7((7 8#'+Sz!:= 	T#rE   c                    V P                  4       ^,          p\        VR. RO^d^..R7      p\        P                  ! . R	O. R
OR\        3R\        3R\        3.R7      p\        W#4       R# )r   r)   r   rJ  r   ri   NrV   r$   ))r   r%   d   )r0   r&      )ru   r'   ru   )r   r   r   rS  )r   r   r   rL  rM  s   &   rB   test_append_double#TestAppendFields.test_append_doubleU  sa    !!$Q
,c
1KL((E A#'+SzC:!FI 	T#rE   c                    V P                  4       R,          p\        VR. ROR7      p\        P                  ! . RO. R	OR
R\        3R\
        3.R7      p\        W#4       R# )r   rq   rJ  r   ri   Nru   r$   )r:  r;  )ru         r'   )rS  rS  r   r   r   r-   )r  r   rw   r8   r9   r:   r   )r<   r?   rA   rK   s   &   rB   test_append_on_flex$TestAppendFields.test_append_on_flex^  sT    !"%Q,7((H A".esCj!IL 	T#rE   c           	         V P                  4       ^ ,          p\        VR. R	OR7      p\        P                  ! . R
O. ROR\        3RR\
        3R\        3.3R\        3.R7      p\        W#4       R# )r   rq   rJ  r   r   r   r    ri   Nr$   ))r   r/   r%   )r3   r4   r&   )ru   )ru   rW  r'   )r   rs   r   r\  )r   r1  r   )r  r   rw   r8   r:   r9   r   r  s   &   rB   test_append_on_nested&TestAppendFields.test_append_on_nestedg  sn    !!$Q,7(( 1!N#&*#&$s(D"E#&*".0 	T#rE   rI   N)r   r   r   r   r  rN  rT  rY  r]  r   r   r   s   @rB   rD  rD  @  s#     $$$$ $rE   rD  c                   V   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tRtV tR# )TestStackArraysiv  c                   \         P                  ! ^^.4      p\         P                  ! . RO4      p\         P                  ! RR	.R
R\        3.R7      p\         P                  ! RR.R\        3RR\        3R\        3.3.R7      pWAW#3# rF  r  r  s   &    rB   r  TestStackArrays._create_arraysx  rH  rE   c                    V P                  4       ^,          p\        V34      p\        W!4       \        W!J 4       \        V4      p\        W!4       \        W!J 4       R# )r   N)r  r   r   r   )r<   r=   rA   s   &  rB   r  TestStackArrays.test_solo  sN    !!$QD!T	AT	rE   c                R   V P                  4       w  rr1\        W"3R R7      p\        P                  ! . RO4      p\	        WE4       \        W#3R R7      p\        P                  ! . RO4      p\	        WE4       \        W23R R7      p\        P                  ! . RO4      p\	        WE4       R# )Fr  N)r   r0   r   r0   )r   r0   r%   r&   r'   )r%   r&   r'   r   r0   )r  r   r7   r8   r   r!  s   &     rB   test_unnamed_fields#TestStackArrays.test_unnamed_fields  s    ((*
aQFE2((<(T#QFE2((-.T#QFE2((-.T#rE   c                @   V P                  4       w  rr\        W#34      p\        P                  ! . RO. ROR\        3RR\
        3.R7      p\        WE4       \        VP                  VP                  4       \        W234      p\        P                  ! . R	O. R
ORR\
        3R\        3.R7      p\        WE4       \        VP                  VP                  4       \        W3V34      p\        P                  ! . RO. RORR\
        3R\        3.R7      p\        WE4       R# )r   r   r   ri   r?  N))r   ru   ru   )r0   ru   ru   )ru   r)   r   )ru   r   r0   )r   r   r   ri  r0  r0  r-   )r)   r   ru   r   r0   ru   ru   ru   r   ru   ru   r0   )r   r   r   rn  rX  rX  )rj  rk  rj  rk  rl  rm  )rn  rn  rn  rn  rX  rX  )r  r   rw   r8   r:   r9   r   rj   r  s   &     rB   test_unnamed_and_named_fields-TestStackArrays.test_unnamed_and_named_fields  s    ((*
aQF#(( 8!7#'+|c5\!J	L
 	T#TYY-QF#(( 8!7".etSk!J	L
 	T#TYY-Q1I&(( 8!7 #/etSk!JL 	T#rE   c                   V P                  4       w  rr\        P                  ! . RORR\        3R\        3.R7      p\	        W434      p\
        P                  ! . R	ORR\        3R\        3.. R
OR7      p\        WV4       \        VP                  VP                  4       \	        W4V34      pRR\        3R\        3R\        3.p\
        P                  ! . ROV. ROR7      p\        WV4       \        VP                  VP                  4       R# )r   r   rq   r   r   rj   f3Nr   r         Y@r   r         i@r   rO        r@r-   )rj  rk  ru  rw  ry  rn  rn  rS  rS  rS  ))r)   r   ru   ru   )r   r0   ru   ru   )r   r   rv  ru   )r   r   rx  ru   )r   rO   rz  ru   )ru   ru   ru   r   )ru   ru   ru   r0   )r   r   r   r   r|  r   r   r   r   r}  r}  r   r   r   r   r~  )	r  r7   r8   r9   r   rw   r   rj   r:   )r<   r  r=   r?   zzrA   rK   rY   s   &       rB   test_matching_named_fields*TestStackArrays.test_matching_named_fields  s    ((*
aXXL)C<#uFHQG$(( U #/esEl!K!B	C 	T#TYY-QAJ'esElT3KH(( > "(!=> 	T#TYY-rE   c                   V P                  4       R
,          p\        P                  ! . RORR\        3R\        3.R7      pRRRRRRRR/p\	        W3VR7      p\
        P                  ! . RORR\        3R\        3.. ROR7      p\        WE4       \        VP                  VP                  4       \        VP                  VP                  4       R	# )r   r)   r   rq   r   z???D)defaultsrr  Nru   rt  r-   g     8    g    i))r)   r   r  )r   r0   r  ru  rw  ry  r{  )	r  r7   r8   r9   r   rw   r   rK  rj   )r<   r?   r  r  rA   rK   s   &     rB   test_defaultsTestStackArrays.test_defaults  s    !"%XXL)C<#uFHUCgFQGh7(( U #/esEl!K!B	C 	T#TYY-TYY-rE   c                   R \         3R\        3R\        3.p\        P                  ! R	.R
.VR7      pR \         3R\        3R\        3.p\        P                  ! R.VR7      p\        P                  ! R	R.R
R.VR7      p\        W$3RR7      p\        We4       \        VP                  VP                  4       \        \        4      ;_uu_ 4        \        W$3RR7       RRR4       R#   + '       g   i     R# ; i)r)   r   rq   ri   r   T)autoconvertFNr/  r   r   r   r3   r5   r}   rS  )
r:   boolr9   rw   r8   r   r   rj   r   	TypeError)r<   adtyper   bdtyper   rK   rA   s   &      rB   test_autoconversion#TestStackArrays.test_autoconversion  s    *sDkC<8HHi[	{&A*sElS%L9HHi[/((Iy1I8N!')QF5T#TYY-9%%!U3 &%%%s   C))C:	c                r   R\         3R\        3R\        3.p\        P                  ! R.R.VR7      pR\         3R\        3R\        3.p\        P                  ! R	.VR7      p\        W$34      p\        P                  ! RR	.RR
.VR7      p\        WV4       \        VP                  VP                  4       R# )r   ri   r   N)r   r)   )r   r   )r   rq   r/  r  r  rS  )r:   r  r9   rw   r8   r   r   rj   )r<   r  r   r  r   rA   rK   s   &      rB   test_checktitles TestStackArrays.test_checktitles  s    s#j$%7*e9LMHHi[	{&As#j$%7*e9LMHHi[/QF#((Iy1I8N!')T#TYY-rE   c           
        \         P                  ! RR.RR\        R3.R7      p\         P                  ! RR.R3RR.R3R	R
.R3.RR\        R3R\        3.R7      p\        W34      p\        P                  ! RR.^ 3RR.^ 3RR.R3RR.R3RR
.R3.RR.R3RR.R3RR.R3RR.R3RR.R3.VP
                  R7      p\        VP
                  VP
                  4       \        W44       \        VP                  VP                  4       R# )r)   r   r   r   r   rv  r   r   rx  r   rO   rz  rq      Ar*      Br,      a   b   cFT)rK  rj   r   Nr@  )r   r0   r-   rG   )r7   r8   r9   r   rw   r   r   rj   )r<   r?   r  r   expecteds   &    rB   test_subdtypeTestStackArrays.test_subdtype  sM   HHh
eT 235 XX3%seT 2S3%4F
eT 2S%LAC A7#88ua ua vu%vu%vu%' &&''' ((
  	SYY/S#SXXx}}-rE   rI   N)r   r   r   r   r  r  rf  ro  r  r  r  r  r  r   r   r   s   @rB   r`  r`  v  s8     	$ $@.8."4
.. .rE   r`  c                   h   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tRtV tR# )
TestJoinByi!  c                   \         P                  ! \        \        \         P                  ! ^
4      \         P                  ! ^2^<4      \         P                  ! ^d^n4      4      4      R\
        3R\
        3R\
        3.R7      p\         P                  ! \        \        \         P                  ! ^^4      \         P                  ! ^A^K4      \         P                  ! ^d^n4      4      4      R\
        3R\
        3R\
        3.R7      pW3# )r%   r   r   r   r   r   )r7   r8   listzipr   r:   r<   r   r   s   &  rB   r  TestJoinBy._create_arrays"  s    HHT#biimRYYr2->#%99S##68 9"%sc3Z#s DF HHT#bii2.		"b0A#%99S##68 9"%sc3Z#s DF trE   c           	         V P                  4       w  r\        R WRR7      p\        P                  ! . R	OR \        3R\        3R\        3R\        3R\        3.R7      p\        W44       R# )
r   inner)jointypeb1b2r   r   r   N))r5   7   A   i   rQ  )r}   8   B   j   e   )r   9   C   k   f   )r   :   D   l   g   )r   ;   E   m   h   )r  r	   r7   r8   r:   r   r  s   &    rB   test_inner_joinTestJoinBy.test_inner_join+  sd    ""$sA73(( 3 $'*tSkD#;#&*sCj":;
 	T#rE   c                    V P                  4       w  r\        RW4       \        P                  ! . ROR \        3R\        3R\        3R\        3.R7       R# )r   r   r   r   r   Nr]   ))r5   r  r  rQ  )r}   r  r  r  )r   r  r  r  )r   r  r  r  )r   r  r  r  )r  r	   r7   r8   r:   r  s   &  rB   	test_joinTestJoinBy.test_join6  sP    ""$ 	
A!
 % sc3Zsc3Z1	2rE   c                    \         P                  ! R.R\        3.R7      p\         P                  ! ^\         P                  ! . RO4      3.R\        3R.R7      p\        RW4      p\	        W2P                  \        P                  4      4       R# )r   rn   r   NrG   r/  )valueuint16rv   )r7   r8   r:   r	   r   rQ   rw   MaskedArray)r<   foobarr   s   &   rB   test_join_subdtypeTestJoinBy.test_join_subdtypeG  sm    hhv$cl^-hhBHHY/01$cl,BCEeS&S((2>>23rE   c           	         V P                  4       w  r\        RWR4      p\        P                  ! . RO. R	OR \        3R\        3R\        3R\        3.R7      p\        W44       R# )
r   r   outerr   r   ri   Nr]   )r   2   rQ  ru   r   3   r  ru   r0   4   r  ru   rv   5   r  ru   r3   6   r  ru   r5   r  r  ru   )r5   r  ru   rQ  r}   r  r  ru   )r}   r  ru   r  r   r  r  ru   )r   r  ru   r  r   r  r  ru   )r   r  ru   r  r   r  r  ru   )r   r  ru   r  )r%   F   ru   r  )r   G   ru   r  )r   H   ru   r  )r   I   ru   r  )r   J   ru   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	   rw   r8   r:   r   r  s   &    rB   test_outer_joinTestJoinBy.test_outer_joinP  sd    ""$z11(( 	B	!= $'*sCj#&*sCj":);, 	T#rE   c           	         V P                  4       w  r\        RWR4      p\        P                  ! . RO. R	OR \        3R\        3R\        3R\        3.R7      p\        W44       R# )
r   r   	leftouterr   r   ri   Nr]   )
r  r  r  r  r  r  r  r  r  r  )
r}  r}  r}  r}  r}  r}  r}  r}  r}  r}  r  r  s   &    rB   test_leftouter_joinTestJoinBy.test_leftouter_joink  sb    ""$z15(( @
!=
 $'*sCj3*sCj!Q
S 	T#rE   c                    \         P                  ! ^. ROR7      p\         P                  ! ^. R	OR7      p\        RR.WRRR7      p\	        VP
                  P                  . R
O4       R# )rv   r   r   r   r  F)r  r  Nr   r   r   r   r   r   )r   r   a1a2)r7   r   r   r	   r   r   names)r<   r   r   js   &   rB   test_different_field_order%TestJoinBy.test_different_field_order{  sK    HHQEFGGADES#JwFQWW]]$:;rE   c                    \         P                  ! ^. ROR7      p\         P                  ! ^. ROR7      p\        \        \
        . ROW4       R# )rv   r   Nr  r  )r   r   r   )r7   r   r   r   r   r	   r  s   &  rB   test_duplicate_keysTestJoinBy.test_duplicate_keys  s2    HHQEFGGADEj'?AArE   c                B   \         P                  ! RR.4      p\         P                  ! RR.4      p\         P                  ! . RO4      p\         P                  ! RR.VR7      p\         P                  ! R	R
.VR7      p\        R WE4      p\	        VP                  V4       R# )rn   r   N)rn   S5r  <f4rn   S10)r  value1r  )value2r  Sarahr   Johnr6   r  r   r   r   r7   r   r8   r	   r   r<   a_dtypeb_dtypeexpected_dtyper   r   r   s   &      rB   #test_same_name_different_dtypes_key.TestJoinBy.test_same_name_different_dtypes_key  s    ((M+;<=((N,<=> #B C HHo}5WEHHo}5WEeQ"SYY/rE   c                B   \         P                  ! RR.4      p\         P                  ! RR.4      p\         P                  ! . RO4      p\         P                  ! RR.VR7      p\         P                  ! R	R
.VR7      p\        R WE4      p\	        VP                  V4       R# )rn   r   Nr  r  )r  <f8))rn   z|S10r  )r  r  r  r  r  r  r  r  s   &      rB   test_same_name_different_dtypes*TestJoinBy.test_same_name_different_dtypes  s    ((N,<=>((N,<=> #C D HHo}5WEHHo}5WEeQ"SYY/rE   c                   \         P                  ! R \        ^3R.4      p\         P                  ! . RO\         P                  3. ROR3.VR7      p\         P                  ! R \        ^3R.4      p\         P                  ! . RO^3. ROR3.VR7      p\         P                  ! R \        ^3RR.4      p\         P                  ! . RO\         P                  ^3.VR7      p\        R W$4      p\        VP                  V4       \        Wv4       R# )	posr  r   N)fr  )r   r   r   r/  )gr  )rv   r0   r   )r7   r   r:   r8   pir	   r   )r<   r  r   r  r   r  r  r   s   &       rB   test_subarray_keyTestJoinBy.test_subarray_key  s    ((UCO\:;HHy"%%(9c*:;7K((UCO\:;HHy!ny#&67wGE3?L,"OP88i23>JeQ"SYY/S#rE   c                Z   \         P                  ! R RR7      pRVn        \        \	        VP
                  4      ^4       \         P                  ! RR.V4      p\         P                  ! RR	.V4      p\        RW#4      p\         P                  ! . R
O4      p\        VP                  V4       R# )zi1,f4Tr   kN)r  vr   )rv   r0   r1  r   ))r  i1)v1r   )v2r   )	r7   r   r  r   lendescrr8   r	   r   )r<   r   r   r   r   r  s   &     rB   test_padded_dtypeTestJoinBy.test_padded_dtype  s    XXgT*BHHq!HHff%r*HHff%r*c1   #
  	SYY/rE   rI   N)r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   s   @rB   r  r  !  sG     	$2"4$6$ <B

00$0 0rE   r  c                   H   a  ] tR tRt o ]R 4       tR tR tR tR t	Rt
V tR# )	TestJoinBy2i  c                   \         P                  ! \        \        \         P                  ! ^
4      \         P                  ! ^2^<4      \         P                  ! ^d^n4      4      4      R\
        3R\
        3R\
        3.R7      V n        \         P                  ! \        \        \         P                  ! ^
4      \         P                  ! ^A^K4      \         P                  ! ^d^n4      4      4      R\
        3R\
        3R\
        3.R7      V n        R# )r%   r   r   r   r   r   N)r7   r8   r  r  r   r:   r   r   )clss   &rB   setup_methodTestJoinBy2.setup_method  s    c"))B-2r1B"$))C"57 8!$c
S#Jc
CE c"))B-2r1B"$))C"57 8!$c
S#Jc
CErE   c           	         V P                   V P                  r!\        R WRRRR7      p\        P                  ! . ROR \
        3R\
        3R\
        3R\
        3R\
        3.R	7      p\        W44       R
# )r   r#   2r  	r1postfix	r2postfixr  r   r  r   r   r   N
)r   r  r  rQ  rQ  )r   r  r  r  r  )r0   r  r  r  r  )rv   r  r  r  r  )r3   r  r  r  r  )r5   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   r	   r7   r8   r:   r   r  s   &    rB   test_no_r1postfixTestJoinBy2.test_no_r1postfix  sl    vvtvv1sWF(( J
 $'*sCj4+#&*sCj":; 	T#rE   c           
     b    \        \        \        R V P                  V P                  RRR7       R# )r   r#   )r(  r)  N)r   r   r	   r   r   )r<   s   &rB   test_no_postfixTestJoinBy2.test_no_postfix  s!    j'3 "b	2rE   c           	         V P                   V P                  r!\        R WRRRR7      p\        P                  ! . ROR \
        3R\
        3R\
        3R\
        3R\
        3.R	7      p\        W44       R
# )r   1r#   r  r'  r  r   r   r   r   Nr*  r+  r  s   &    rB   test_no_r2postfixTestJoinBy2.test_no_r2postfix  sl    vvtvv1WF(( J
 $'*tSkC:#&*sCj":; 	T#rE   c                   \         P                  ! \        \        \         P                  ! ^
^.^4      \         P
                  ! \         P                  ! ^4      ^4      \         P                  ! ^2^<4      \         P                  ! ^
^4      4      4      R\        3R\        3R\        3R\        3.R7      p\         P                  ! \        \        \         P                  ! ^
^.^4      \         P
                  ! \         P                  ! ^4      ^4      \         P                  ! ^A^K4      \         P                  ! ^ ^
4      4      4      R\        3R\        3R\        3R\        3.R7      p\         P                  ! . ROR\        3R\        3R\        3R\        3R\        3R	\        3.R7      p\        RR.WR
RRR7      p\        VP                  VP                  4       \        WC4       R# )r%   r  r   r   r   r   r  r  c1c2r2  r&  r  r'  N)
)r%   r   r  r  r%   r   )r   r   r  r  r   r   )r%   r   r  r  r   r0   )r   r   r  r  r   rv   )r%   r0   r  r  r   r3   )r   r0   r  r     r5   )r%   rv   r  r     r}   )r   rv   r  r  r   r   )r%   r3   r  r     r   )r   r3   r  r     r   )r7   r8   r  r  tilerepeatr   r:   r	   r   r   )r<   r   r   rK   rA   s   &    rB   test_two_keys_two_vars"TestJoinBy2.test_two_keys_two_vars  sw   HHT#bggr2h2BIIbiilA4N iiB/2r1BD E #Jc
S#Jc
KM HHT#bggr2h2BIIbiilA4N iiB/1b1AC D #Jc
S#Jc
KM (( L
 $'*sCj4+#'+c{T3K"IJ #JsWNTZZ/T#rE   rI   N)r   r   r   r   classmethodr#  r,  r/  r3  r>  r   r   r   s   @rB   r   r     s2     E E$2$$ $rE   r   c                   *   a  ] tR tRt o RtR tRtV tR# )TestAppendFieldsObji  z3
Test append_fields with arrays containing objects
c                X   ^ RI Hp V! R^^4      p\        P                  ! VR3VR3.R\        3R\
        3.R7      p\        P                  ! ^
^.\        R7      p\        VRVR	R
7      p\        P                  ! VR^
3VR^3.R\        3R\
        3R\        3.R7      p\        WV4       R# )z7Test append_fields when the base array contains objects)datei  r*   r,   r)   r   r   rq   F)rK  r  N)	datetimerD  r7   r8   objectr9   r:   r   r   )r<   rD  objr=   r>   rA   rK   s   &      rB   test_append_to_objects*TestAppendFieldsObj.test_append_to_objects  s    !4AHHsBi#r+!6]S%L9;HHb"XS)Q!U;((S#rNS#rN;#&-#uSz!JLT#rE   rI   N)r   r   r   r   __doc__rH  r   r   r   s   @rB   rB  rB    s     

$ 
$rE   rB  ).r   numpyr7   numpy.marw   numpy.lib.recfunctionsr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   numpy.ma.mrecordsr   numpy.ma.testutilsr   numpy.testingr   r   librecfunctions_get_fieldspecget_fieldspecrW   r^   
_zip_descrr;   
_zip_dtype	zip_dtyper   r   r
  rD  r`  r  r   rB  rI   rE   rB   <module>rX     s          " , + 0##22FF))	$$33FF**	FF**	B BJ$ $.@$ @$F3$ 3$lh. h.V\0 \0~?$ ?$D$ $rE   