+
    i                         R t ^ RIHtHt ^ RIt^ RIHt ^ RIH	t
 R R ltR R ltR R	 ltR
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR  R! ltR" R# ltR# )$zGThese tests are based on the doctests from `numpy/lib/recfunctions.py`.)Anyassert_typeN)recfunctionsc                    V ^8  d   QhRR/#    returnN )formats   "K/usr/lib/python3/dist-packages/numpy/typing/tests/data/pass/recfunctions.py__annotate__r   
   s     @ @D @    c                     \         P                  ! RR.R\         P                  3R\         P                  3.R7      p \         P                  ! \        ^4      3V P                  R7      p\        P                  ! W4      p\        V\         P                  \        \
        ,          \         P                  \         P                  ,          3,          4       R# )   ABdtypeN)r   g      $@)r   g      4@)nparrayint64float64zerosintr   rfnrecursive_fill_fieldsr   ndarraytuplevoid)abouts      r   test_recursive_fill_fieldsr"   
   s     hh	IRXXbjj 12A 	#a&!''*A

#
#A
)CRZZc
BHHRWW,= =>?r   c                    V ^8  d   QhRR/# r   r	   )r
   s   "r   r   r      s     " " "r   c                     \         P                  ! \        P                  ! R	R\        3.R7      P
                  4      p \         P                  ! \        P                  ! R	R\        3R\        3.R7      P
                  4      p \        P
                  ! R\        3RR\        3R\        3.3.4      p\         P                  ! V4      p R# 
r   r   r   r   r   r    b_ab_bN)r   )r   	get_namesr   emptyr   r   floatnamesadtypes     r   test_get_namesr.      s    MM"((4c
|<BBCEMM"((4c
S%L/IJPPQEXXSzC5#,)E#FGHFMM&!Er   c                    V ^8  d   QhRR/# r   r	   )r
   s   "r   r   r      s     ' 'T 'r   c                     \         P                  ! \        P                  ! R	R\        3.R7      P
                  4      p \         P                  ! \        P                  ! R	R\        3R\        3.R7      P
                  4      p \        P
                  ! R\        3RR\        3R\        3.3.4      p\         P                  ! V4      p R# r%   )r   get_names_flatr   r)   r   r   r*   r+   s     r   test_get_names_flatr2      s    rxxc3ZLAGGHErxxc3Z#u4NOUUVEXXSzC5#,)E#FGHFv&Er   c                    V ^8  d   QhRR/# r   r	   )r
   s   "r   r   r   &   s     H HD Hr   c                      \         P                  ! RRRR.3.4      p \        \        P                  ! V 4      \
        \
        \        \         P                  3,          ,          4       R# )r   r    N)r   <i4)r&   z<f8)r'   r5   )r   r   r   r   flatten_descrr   strndtypes    r   test_flatten_descrr:   &   sF    XX|cNN+K%LMNF!!&)5sBHH}1E+FGr   c                    V ^8  d   QhRR/# r   r	   )r
   s   "r   r   r   +   s     F F Fr   c            	          \         P                  ! R \        3RR\        3RR\        3R\        3.3.3.4      p \        \        P
                  ! V 4      \        \        \        \        ,          3,          4       R# )r   r   B_AB_BB_B_AB_B_BN)	r   r   r   r   r   get_fieldstructuredictr7   listr8   s    r   test_get_fieldstructurerD   +   sc    XX	c
	s|ewnwn%EFGH F &&v.S$s)^0DEr   c                    V ^8  d   QhRR/# r   r	   )r
   s   "r   r   r   3   s      4 r   c            
         \        \        P                  ! \        P                  ! \        ^4      3\        P                  4      \        P                  ! \        ^4      3\        P                  4      34      \        P                  \        \
        ,          \        P                  \        P                  ,          3,          4       R# )r   N)r   r   merge_arraysr   onesr   int_r   recarrayr   r   r   r	   r   r   test_merge_arraysrK   3   sq    GGSVIrww'GGSVIrzz*
 	 	E#J 112r   c                    V ^8  d   QhRR/# r   r	   )r
   s   "r   r   r   =   s      $ r   c                  b   R \         P                  3RR\         P                  3R\         P                  3.3.p \         P                  ! \	        ^4      3V R7      p\        \        P                  ! VR 4      \         P                  \        \        ,          \         P                  \         P                  ,          3,          4       \        \        P                  ! VR RR7      \         P                  P                  \        \        ,          \         P                  \         P                  ,          3,          4       \        \        P                  ! VR 4      \         P                  P                  \        \        ,          \         P                  \         P                  ,          3,          4       R# )r   r    r&   r'   r   T)
asrecarrayN)r   r   doublerH   r   r   r   drop_fieldsr   r   r   r   recrJ   rec_drop_fieldsr9   r   s     r   test_drop_fieldsrT   =   s    BHHoubii&85"((:K%LMNF
Q	(A3


5:rxx001 340
c
BHHRWW$556 As#
c
BHHRWW$556r   c                    V ^8  d   QhRR/# r   r	   )r
   s   "r   r   r   O   s      D r   c            	         R \         P                  3RR\         P                  3R\         P                  3.3.p \         P                  ! \	        ^4      3V R7      p\        \        P                  ! VR RRR/4      \         P                  \        \        ,          \         P                  \         P                  ,          3,          4       R# )r   r    r&   r'   r   r   r>   N)r   r   rO   rH   r   r   r   rename_fieldsr   r   r   r   rS   s     r   test_rename_fieldsrX   O   s    BHHoubii&85"((:K%LMNF
Q	(A!c3u56


5:rxx001r   c                    V ^8  d   QhRR/# r   r	   )r
   s   "r   r   r   Y   s      D r   c            	      H   \         P                  ! R RR7      p \        \        P                  ! V 4      \         P                  \         P
                  ,          4       \        \        P                  ! V P                  ^ 4      4      \         P
                  4       \        \        P                  ! \         P                  ! \        ^4      3V R7      4      \         P                  \        \        ,          \         P                  \         P
                  ,          3,          4       R# )zu1, <i8, <f8T)alignr   N)r   r   r   r   repack_fieldsr   typerH   r   r   r   )dts    r   test_repack_fieldsr_   Y   s    HH^4@B!!"%rxx'89!!"''!*-rww7"''3q6)267


5:rxx001r   c                    V ^8  d   QhRR/# r   r	   )r
   s   "r   r   r   d   s     E E Er   c                      \         P                  ! ^. ROR7      p \        \        P                  ! V 4      \
        P                  \        ,          4       R# )   r   Nr   i4)r    zf4,u2)cf4r   )r   r   r   r   structured_to_unstructurednptNDArrayr   r   s    r   test_structured_to_unstructuredrl   d   s1    
GHA..q13;;s3CDr   c                    V ^8  d   QhRR/# r   r	   )r
   s   "r   r   r   i   s     M MD Mr   c                  &   \         P                  ! . RO4      p \         P                  ! ^\         P                  R7      P	                  R4      p\        \        P                  ! W4      \        P                  \         P                  ,          4       R# )r   r   Nrc   )rb      )r   r   arangeint32reshaper   r   unstructured_to_structuredri   rj   r   )r^   r   s     r   rs   rs   i   sR    HH%RSB
		"BHH%--f5A..q5s{{2777KLr   c                    V ^8  d   QhRR/# r   r	   )r
   s   "r   r   r   o   s       r   c                  *   \         P                  ! ^. ROR7      p \        \        P                  ! \         P
                  V 4      \         P                  \        \        ,          \         P                  \         P                  ,          3,          4       R# rb   r   N))xre   )yrg   )zf8r   rH   r   r   apply_along_fieldsmeanr   r   r   r   r   r    s    r   test_apply_along_fieldsr   o   Q    
@AArww*


5:rxx001r   c                    V ^8  d   QhRR/# r   r	   )r
   s   "r   r   r   w   s      D r   c                  *   \         P                  ! ^. ROR7      p \        \        P                  ! \         P
                  V 4      \         P                  \        \        ,          \         P                  \         P                  ,          3,          4       R# rv   r{   r~   s    r   test_assign_fields_by_namer   w   r   r   c                    V ^8  d   QhRR/# r   r	   )r
   s   "r   r   r      s      T r   c                     \         P                  ! ^. ROR7      p \        \        P                  ! V RR.4      \         P
                  \        \        ,          \         P                  \         P                  ,          3,          4       R# )rb   r   Nrf   u1)rd   )r    rz   r   )r    rg   )
r   rH   r   r   require_fieldsr   r   r   r   r   rk   s    r   test_require_fieldsr      sR    
@AA1{K89


5:rxx001r   c                    V ^8  d   QhRR/# r   r	   )r
   s   "r   r   r      s      4 r   c                     \         P                  ! \        ^4      3\         P                  4      p \	        \
        P                  ! V 4      \         P                  \        \        ,          \         P                  \         P                  ,          3,          4       \         P                  ! \        ^4      3RR\        3.4      p\         P                  ! \        ^4      3RR\         P                  3R\         P                  3.4      p\	        \
        P                  ! W34      \         P                  P                  \        \        R3,          \         P                  \         P                   ,          3,          4       R# )r   r   C.N)r   z|S3)r   r   r   rq   r   r   stack_arraysr   r   r   rH   r*   r   maMaskedArrayr   r   )rw   ry   zzs      r   test_stack_arraysr      s    
#a&BHH%A


5:rxx112
 	Q	L3,78A	#a&\C+<sBJJ>OP	QB!!
%S/288BGG+<<=r   c                    V ^8  d   QhRR/# r   r	   )r
   s   "r   r   r      s      d r   c            	         \         P                  ! R \        3.4      p \         P                  P	                  ^. ROR7      P                  V 4      p\        \        P                  ! V4      \         P                  P                  \        \         P                  \         P                  ,          3,          4       \        \        P                  ! VRRR7      \        \         P                  P                  \        \         P                  \         P                  ,          3,          \         P                  \        \         P                  \         P                  ,          3,          3,          4       R# )r   )maskT)
ignoremaskreturn_indexN)    r   r   r   r   r   r   )r   r   r   r   rH   viewr   r   find_duplicatesr   r   r   r   r   rI   rS   s     r   test_find_duplicatesr      s    XXSzl#F


10
166v>A##A&(9(9#rxx?P:P(QRA$TBEEc288BGG#445JJsBHHRWW--.0	
r   )__doc__typingr   r   numpyr   numpy.typingri   	numpy.libr   r   r"   r.   r2   r:   rD   rK   rT   rX   r_   rl   rs   r   r   r   r   r   r	   r   r   <module>r      si    M #   )@"'H
F$E
Mr   