
    h,                         d Z ddlmZmZ ddlZddlmZ ddlm	Z
 ddZddZddZddZdd	Zdd
ZddZddZddZddZddZddZddZddZddZddZy)zGThese tests are based on the doctests from `numpy/lib/recfunctions.py`.    )Anyassert_typeN)recfunctionsc                     t        j                  ddgdt         j                  fdt         j                  fg      } t        j                  t        d      f| j                        }t        j                  | |      }t        |t         j                  t        t
           t         j                  t         j                     f          y )N)   g      $@)   g      4@ABdtype   )nparrayint64float64zerosintr   rfnrecursive_fill_fieldsr   ndarraytuplevoid)abouts      ND:\jyotish\venv\Lib\site-packages\numpy/typing/tests/data/pass/recfunctions.pytest_recursive_fill_fieldsr   
   s     hh	IRXXbjj 12A 	#a&!''*A

#
#Aq
)CRZZc
BHHRWW,= =>?    c                     t        j                  t        j                  ddt        fg      j
                        } t        j                  t        j                  ddt        fdt        fg      j
                        } t        j
                  dt        fddt        fdt        fgfg      }t        j                  |      } y 	N)r   r	   r   r
   r   r   b_ab_b)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                     t        j                  t        j                  ddt        fg      j
                        } t        j                  t        j                  ddt        fdt        fg      j
                        } t        j
                  dt        fddt        fdt        fgfg      }t        j                  |      } y r    )r   get_names_flatr   r$   r   r   r%   r&   s     r   test_get_names_flatr,      s    rxxc3ZLAGGHErxxc3Z#u4NOUUVEXXSzC5#,)E#FGHFv&Er   c                      t        j                  ddddgfg      } t        t        j                  |       t
        t
        t        t         j                  f             y )N)r   <i4r   )r!   z<f8)r"   r.   )r   r   r   r   flatten_descrr   strndtypes    r   test_flatten_descrr3   &   sF    XX|cNN+K%LMNF!!&)5sBHH}1E+FGr   c            	          t        j                  dt        fddt        fddt        fdt        fgfgfg      } t        t	        j
                  |       t        t        t        t           f          y )Nr	   r
   B_AB_BB_B_AB_B_B)	r   r   r   r   r   get_fieldstructuredictr0   listr1   s    r   test_get_fieldstructurer<   +   sc    XX	c
	s|ewnwn%EFGH F &&v.S$s)^0DEr   c            
      p   t        t        j                  t        j                  t        d      ft        j                        t        j                  t        d      ft        j                        f      t        j                  t        t
           t        j                  t        j                     f          y )Nr   r   )r   r   merge_arraysr   onesr   int_r   recarrayr   r   r    r   r   test_merge_arraysrC   3   sq    GGSVIrww'GGSVIrzz*
 	 	E#J 112r   c                     dt         j                  fddt         j                  fdt         j                  fgfg} t        j                  t	        d      f|       }t        t        j                  |d      t         j                  t        t           t         j                  t         j                     f          t        t        j                  |dd      t         j                  j                  t        t           t         j                  t         j                     f          t        t        j                  |d      t         j                  j                  t        t           t         j                  t         j                     f          y )	Nr   r   r!   r"   r   r   T)
asrecarray)r   r   doubler?   r   r   r   drop_fieldsr   r   r   r   recrA   rec_drop_fieldsr2   r   s     r   test_drop_fieldsrK   =   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   dt         j                  fddt         j                  fdt         j                  fgfg} t        j                  t	        d      f|       }t        t        j                  |ddd	      t         j                  t        t           t         j                  t         j                     f          y )
Nr   r   r!   r"   r   r   r	   r6   )r   r"   )r   r   rF   r?   r   r   r   rename_fieldsr   r   r   r   rJ   s     r   test_rename_fieldsrN   O   s    BHHoubii&85"((:K%LMNF
Q	(A!3u56


5:rxx001r   c            	         t        j                  dd      } t        t        j                  |       t         j                  t         j
                            t        t        j                  | j                  d            t         j
                         t        t        j                  t        j                  t        d      f|             t         j                  t        t           t         j                  t         j
                     f          y )Nzu1, <i8, <f8T)alignr   r   r   )r   r   r   r   repack_fieldsr   typer?   r   r   r   )dts    r   test_repack_fieldsrT   Y   s    HH^4@B!!"%rxx'89!!"''!*-rww7"''3q6)267


5:rxx001r   c                      t        j                  dg d      } t        t        j                  |       t
        j                  t                  y )N   r   i4)r   zf4,u2)cf4r   r   )r   r   r   r   structured_to_unstructurednptNDArrayr   r   s    r   test_structured_to_unstructuredr`   d   s1    
GHA..q13;;s3CDr   c                     t        j                  g d      } t        j                  dt         j                        j	                  d      }t        t        j                  ||       t        j                  t         j                            y )NrW      r   )rV      )r   r   arangeint32reshaper   r   unstructured_to_structuredr]   r^   r   )rS   r   s     r   rg   rg   i   sT    HH%RSB
		"BHH%--f5A..q"5s{{2777KLr   c                     t        j                  dg d      } t        t        j                  t         j
                  |       t         j                  t        t           t         j                  t         j                     f          y NrV   ))xrY   )yr[   )zf8r   r   r?   r   r   apply_along_fieldsmeanr   r   r   r   r   r   s    r   test_apply_along_fieldsrr   o   Q    
@AArww*


5:rxx001r   c                     t        j                  dg d      } t        t        j                  t         j
                  |       t         j                  t        t           t         j                  t         j                     f          y ri   rn   rq   s    r   test_assign_fields_by_nameru   w   rs   r   c                      t        j                  dg d      } t        t        j                  | ddg      t         j
                  t        t           t         j                  t         j                     f          y )NrV   )rX   )r   rm   rZ   u1r   )r   r[   rw   )
r   r?   r   r   require_fieldsr   r   r   r   r   r_   s    r   test_require_fieldsrz      sR    
@AA1{K89


5:rxx001r   c                     t        j                  t        d      ft         j                        } t	        t        j                  |       t         j                  t        t           t         j                  t         j                     f          t        j                  t        d      fddt        fg      }t        j                  t        d      fddt         j                  fdt         j                  fg      }t	        t        j                  ||f      t         j                  j                  t        t        df   t         j                  t         j                      f          y )Nr   )r	   z|S3r
   C.)r   r   r   re   r   r   stack_arraysr   r   r   r?   r%   r   maMaskedArrayr   r   )rj   rl   zzs      r   test_stack_arraysr      s    
#a&BHH%A


5:rxx112
 	Q	L3,78A	#a&\C+<sBJJ>OP	QB!R!
%S/288BGG+<<=r   c            	         t        j                  dt        fg      } t         j                  j	                  dg d      j                  |       }t        t        j                  |      t         j                  j                  t        t         j                  t         j                     f          t        t        j                  |dd      t        t         j                  j                  t        t         j                  t         j                     f   t         j                  t        t         j                  t         j                     f   f          y )Nr      )r   r   r   r   r   r   r   )maskT)
ignoremaskreturn_index)r   r   r   r~   r?   viewr   r   find_duplicatesr   r   r   r   r   r@   rJ   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   )returnN)__doc__typingr   r   numpyr   numpy.typingr]   	numpy.libr   r   r   r)   r,   r3   r<   rC   rK   rN   rT   r`   rg   rr   ru   rz   r   r   rB   r   r   <module>r      si    M #   )@"'H
F$E
Mr   