o
    :‘ði­  ã                   @   sà   d Z ddlmZ ddlmZ ddlZddlmZ ddl	m
Z d'dd„Zd'd	d
„Zd'dd„Zd'dd„Zd'dd„Zd'dd„Zd'dd„Zd'dd„Zd'dd„Zd'dd„Zd'dd„Zd'dd„Zd'dd „Zd'd!d"„Zd'd#d$„Zd'd%d&„ZdS )(zGThese tests are based on the doctests from `numpy/lib/recfunctions.py`.é    )ÚAny)Úassert_typeN)ÚrecfunctionsÚreturnc                  C   sh   t jddgdt jfdt jfgd�} t jtdƒf| jd�}t | |¡}t	|t j
tt t jt j f ƒ d S )N)é   g      $@)é   g      4@ÚAÚB©Údtypeé   )ÚnpÚarrayÚint64Úfloat64ÚzerosÚintr   ÚrfnÚrecursive_fill_fieldsr   ÚndarrayÚtupleÚvoid)ÚaÚbÚout© r   úh/root/parts/websockify/install/lib/python3.10/site-packages/numpy/typing/tests/data/pass/recfunctions.pyÚtest_recursive_fill_fields   s   þ$r   c                  C   ón   t  tjddtfgd�j¡} t  tjddtfdtfgd�j¡} t dtfddtfdtfgfg¡}t  |¡} d S ©	N)r   r   r
   r	   r   r   Úb_aÚb_b)r   Ú	get_namesr   Úemptyr   r   Úfloat©ÚnamesÚadtyper   r   r   Útest_get_names   ó   ""r(   c                  C   r   r   )r   Úget_names_flatr   r#   r   r   r$   r%   r   r   r   Útest_get_names_flat   r)   r+   c                  C   s<   t  ddddgfg¡} tt | ¡tttt jt f  ƒ d S )N)r   ú<i4r   )r    z<f8)r!   r,   )r   r   r   r   Úflatten_descrr   Ústrr   ©Úndtyper   r   r   Útest_flatten_descr'   s   &r1   c               	   C   sN   t  dtfddtfddtfdtfgfgfg¡} tt | ¡tttt f ƒ d S )Nr   r	   ÚB_AÚB_BÚB_B_AÚB_B_B)	r   r   r   r   r   Úget_fieldstructureÚdictr.   Úlistr/   r   r   r   Útest_get_fieldstructure,   s
   þ r9   c                   C   sN   t t t tdƒftj¡t tdƒftj¡f¡tjt	t tj
tj f ƒ d S )Nr   r   )r   r   Úmerge_arraysr   Úonesr   Úint_r   Úrecarrayr   r   r   r   r   r   r   Útest_merge_arrays4   s   þûr>   c                  C   sº   dt jfddt jfdt jfgfg} t jtdƒf| d�}tt |d¡t jt	t t j
t j f ƒ ttj|ddd�t jjt	t t j
t j f ƒ tt |d¡t jjt	t t j
t j f ƒ d S )	Nr   r   r    r!   r   r
   T)Ú
asrecarray)r   r   Údoubler;   r   r   r   Údrop_fieldsr   r   r   r   Úrecr=   Úrec_drop_fields©r0   r   r   r   r   Útest_drop_fields>   s   "
þþ
þrE   c                  C   sh   dt jfddt jfdt jfgfg} t jtdƒf| d�}tt |ddd	œ¡t jt	t t j
t j f ƒ d S )
Nr   r   r    r!   r   r
   r   r3   )r   r!   )r   r   r@   r;   r   r   r   Úrename_fieldsr   r   r   r   rD   r   r   r   Útest_rename_fieldsP   s   "þrG   c                  C   sx   t jddd�} tt | ¡t jt j ƒ tt |  d¡¡t jƒ tt t jtdƒf| d�¡t j	t
t t jt j f ƒ d S )Nzu1, <i8, <f8T)Úalignr   r   r
   )r   r   r   r   Úrepack_fieldsr   Útyper;   r   r   r   )Údtr   r   r   Útest_repack_fieldsZ   s   þrL   c                  C   s,   t jdg d¢d�} tt | ¡tjt ƒ d S )Né   ©©r   Úi4)r   zf4,u2)ÚcÚf4r   r
   )r   r   r   r   Ústructured_to_unstructuredÚnptÚNDArrayr   ©r   r   r   r   Útest_structured_to_unstructurede   s   rW   c                  C   sB   t  g d¢¡} t jdt jd� d¡}tt || ¡tj	t j
 ƒ d S )NrN   é   r
   )rM   é   )r   r   ÚarangeÚint32Úreshaper   r   Úunstructured_to_structuredrT   rU   r   )rK   r   r   r   r   r]   j   s   r]   c                  C   ó@   t jdg d¢d�} tt t j| ¡t jtt t j	t j
 f ƒ d S ©NrM   ))ÚxrP   )ÚyrR   )ÚzÚf8r
   ©r   r;   r   r   Úapply_along_fieldsÚmeanr   r   r   r   r   ©r   r   r   r   Útest_apply_along_fieldsp   ó
   þrh   c                  C   r^   r_   rd   rg   r   r   r   Útest_assign_fields_by_namex   ri   rj   c                  C   sB   t jdg d¢d�} tt | ddg¡t jtt t jt j	 f ƒ d S )NrM   )rO   )r   rc   ©rQ   Úu1r
   )r   rR   rk   )
r   r;   r   r   Úrequire_fieldsr   r   r   r   r   rV   r   r   r   Útest_require_fields€   s
   þrn   c                  C   s¬   t  tdƒft j¡} tt | ¡t jtt t j	t j f ƒ t  
tdƒfddtfg¡}t  
tdƒfddt jfdt jfg¡}tt ||f¡t jjttdf t j	t j f ƒ d S )Nr   )r   z|S3r	   ÚC.)r   r   r   r[   r   r   Ústack_arraysr   r   r   r;   r$   r   ÚmaÚMaskedArrayr   )r`   rb   Úzzr   r   r   Útest_stack_arraysˆ   s   þ$þrt   c                  C   s–   t  dtfg¡} t jjdg d¢d� | ¡}tt |¡t jj	t
t jt j f ƒ ttj|ddd�tt jj	t
t jt j f t jt
t jt j f f ƒ d S )Nr   é   )r   r   r   r   r   r   r   )ÚmaskT)Ú
ignoremaskÚreturn_index)r   r   r   rq   r;   Úviewr   r   Úfind_duplicatesrr   r   r   r   r   r<   rD   r   r   r   Útest_find_duplicates—   s   $ÿÿþr{   )r   N)Ú__doc__Útypingr   Útyping_extensionsr   Únumpyr   Únumpy.typingrT   Ú	numpy.libr   r   r   r(   r+   r1   r9   r>   rE   rG   rL   rW   r]   rh   rj   rn   rt   r{   r   r   r   r   Ú<module>   s,    



	
	












