§
    €Ûg]¢  ã                   ó  — d dl Z d dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
mZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ ej        j        j        Zej        j        j         Z ej        j        j!        Z!ej        j        j"        Z#ej        j        j$        Z% G d„ d¦  «        Z& G d„ d	¦  «        Z' G d
„ d¦  «        Z( G d„ d¦  «        Z) G d„ d¦  «        Z* G d„ d¦  «        Z+ G d„ d¦  «        Z, G d„ d¦  «        Z-dS )é    N)ÚMaskedRecords)Úassert_equal)Úassert_Úassert_raises)Údrop_fieldsÚrename_fieldsÚget_fieldstructureÚrecursive_fill_fieldsÚfind_duplicatesÚmerge_arraysÚappend_fieldsÚstack_arraysÚjoin_byÚrepack_fieldsÚunstructured_to_structuredÚstructured_to_unstructuredÚapply_along_fieldsÚrequire_fieldsÚassign_fields_by_namec                   ó\   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ ZdS )ÚTestRecFunctionsc                 ó  — t          j        ddg¦  «        }t          j        g d¢¦  «        }t          j        ddgddt          fg¬¦  «        }t          j        d	d
gdt          fddt          fdt          fgfg¬¦  «        }||||f| _        d S ©Né   é   ©é
   é   é   ©ÚAç      ð?©ÚBç       @©r!   z|S3r$   ©Údtype©r   ©r   ç      @©é   ©é   ç      @ÚaÚbÚbaÚbb©ÚnpÚarrayÚfloatÚintÚdata©ÚselfÚxÚyÚzÚws        úW/granary/edev/quantum/lib/python3.11/site-packages/numpy/lib/tests/test_recfunctions.pyÚsetup_methodzTestRecFunctions.setup_method   s¢   € ÝŒH�a˜�XÑÔˆÝŒH�\�\�\Ñ"Ô"ˆÝŒH�i Ð+Ø(¨3µ¨,Ð7ð9ñ 9ô 9ˆåŒH�m ]Ð3Ø ¥#˜J¨°µe¨}¸tÅS¸kÐ.JÐ(KÐLðNñ Nô Nˆà˜˜1˜a�LˆŒ	ˆ	ˆ	ó    c                 ó°  — | j         \  }}}}t          ||fd¬¦  «        }t          |t          j        dt
          fdt
          fg¦  «        ¦  «         t          ||fd¬¦  «        }t          |t          j        dt
          fdt
          fg¦  «        ¦  «         t          ||fd¬¦  «        }t          |t          j        dt
          fddt          fg¦  «        ¦  «         t          ||fd¬¦  «        }t          |t          j        dt
          fdddt          fgfg¦  «        ¦  «         t          ||fd¬¦  «        }t          |t          j        dt
          fdt
          fdt          fd	t
          fg¦  «        ¦  «         t          ||fd¬¦  «        }t          |t          j        dt
          fddt
          fd
dt          fd	t
          fgfgfg¦  «        ¦  «         d S )NT©ÚflattenÚ Fr&   r$   r1   r3   r4   r2   )r:   Ú	zip_descrr   r6   r(   r9   r8   )r<   r@   r=   r>   r?   Útests         rA   Útest_zip_descrzTestRecFunctions.test_zip_descr    s  € à”y‰ˆˆAˆq�!õ ˜!˜Q˜¨Ð.Ñ.Ô.ˆÝ�TÝ”X ¥C˜y¨2­s¨)Ð4Ñ5Ô5ñ	7ô 	7ð 	7å˜!˜Q˜¨Ð/Ñ/Ô/ˆÝ�TÝ”X ¥C˜y¨2­s¨)Ð4Ñ5Ô5ñ	7ô 	7ð 	7õ ˜!˜Q˜¨Ð.Ñ.Ô.ˆÝ�TÝ”X ¥C˜y¨,¸½e¸ÐEÑFÔFñ	Hô 	Hð 	Hå˜!˜Q˜¨Ð/Ñ/Ô/ˆÝ�TÝ”X ¥C˜yØ " \°C½°<Ð$@ÐAðCñ Dô Dñ	Eô 	Eð 	Eõ
 ˜!˜Q˜¨Ð.Ñ.Ô.ˆÝ�TÝ”X ¥C˜yØ #¥S˜zØ $¥e˜}¨tµS¨kð;ñ <ô <ñ	=ô 	=ð 	=õ ˜!˜Q˜¨Ð/Ñ/Ô/ˆÝ�TÝ”X ¥C˜yØ " c­3 ZØ&)¨Tµ5¨M¸DÅ#¸;Ð+GÐ%Hð%Jð  KðLñ Mô Mñ	Nô 	Nð 	Nð 	Nð 	NrC   c                 ó  — t          j        ddgdt          fddt          fdt          fgfg¬¦  «        }t	          |d¦  «        }t          j        dd	gddt          fdt          fgfg¬¦  «        }t          ||¦  «         t	          |d¦  «        }t          j        d
dgdt          fg¬¦  «        }t          ||¦  «         t	          |dg¦  «        }t          j        ddgdt          fddt          fgfg¬¦  «        }t          ||¦  «         t	          |ddg¦  «        }t          j        d
dgdt          fg¬¦  «        }t          ||¦  «         t	          |ddg¦  «        }t          j        ddgg ¬¦  «        }t          ||¦  «         d S )Nr)   r,   r1   r2   r3   r4   r'   )r*   )r.   ©r   ©r-   )r   )r+   )r-   )r0   © )r6   r7   r9   r8   r   r   ©r<   r1   rI   Úcontrols       rA   Útest_drop_fieldsz!TestRecFunctions.test_drop_fieldsA   s¸  € åŒH�m ]Ð3Ø ¥#˜J¨°µe¨}¸tÅS¸kÐ.JÐ(KÐLðNñ Nô Nˆõ ˜1˜cÑ"Ô"ˆÝ”(˜K¨Ð5Ø#&¨$µ¨¸½s¸Ð(DÐ"EÐ!FðHñ Hô Hˆå�T˜7Ñ#Ô#Ð#õ ˜1˜cÑ"Ô"ˆÝ”(˜D $˜<°µc°
¨|Ð<Ñ<Ô<ˆÝ�T˜7Ñ#Ô#Ð#õ ˜1˜t˜hÑ'Ô'ˆÝ”(˜K¨Ð5Ø#&­ *¨s°d½C°[°MÐ.BÐ!CðEñ Eô Eˆå�T˜7Ñ#Ô#Ð#õ ˜1˜t T˜lÑ+Ô+ˆÝ”(˜D $˜<°µc°
¨|Ð<Ñ<Ô<ˆÝ�T˜7Ñ#Ô#Ð#õ ˜1˜s C˜jÑ)Ô)ˆÝ”(˜B ˜8¨2Ð.Ñ.Ô.ˆÝ�T˜7Ñ#Ô#Ð#Ð#Ð#rC   c           	      ó`  — t          j        ddddgffddddgffgd	t          fd
dt          fdt          dffgfg¬¦  «        }t	          |dddœ¦  «        }dt          fd
dt          fdt          dffgfg}|                     |¦  «        }t          |j        |¦  «         t          ||¦  «         d S )Nr   r   r+   ç      >@r-   r/   r0   g      N@r1   r2   r3   r4   r'   r!   ÚBB)r1   r4   )r6   r7   r9   r8   r   Úviewr   r(   )r<   r1   rI   ÚnewdtyperP   s        rA   Útest_rename_fieldsz#TestRecFunctions.test_rename_fieldsa   sÚ   € åŒH�q˜1˜s C˜j˜/Ð*¨Q°°S¸#°J°Ð,@ÐAØ ¥#˜JØ  D­% =°4½%À¸Ð2DÐ"EÐFðHðIñ Iô Iˆõ ˜Q c°Ð 6Ð 6Ñ7Ô7ˆØ�#�J ¨­e }°t½eÀQ¸ZÐ6HÐ&IÐ JÐKˆØ—&’&˜Ñ"Ô"ˆÝ�T”Z Ñ*Ô*Ð*Ý�T˜7Ñ#Ô#Ð#Ð#Ð#rC   c                 óü  — t          j        ddt          fg¦  «        }t          |¦  «        }t	          |d¦  «         t          j        dt
          fddt          fdt
          fgfg¦  «        }t          |¦  «        }t	          |d¦  «         t          j        dt
          fdg fg¦  «        }t          |¦  «        }t	          |d	¦  «         t          j        g ¦  «        }t          |¦  «        }t	          |d
¦  «         d S )Nr&   r$   ©r!   r$   r1   r2   r3   r4   )r1   )r2   )r3   r4   )r1   )r2   rN   rN   )r6   r(   r8   Ú	get_namesr   r9   ©r<   ÚndtyperI   s      rA   Útest_get_nameszTestRecFunctions.test_get_namesl   sé   € å”˜<¨#­u¨Ð6Ñ7Ô7ˆÝ˜Ñ Ô ˆÝ�T˜:Ñ&Ô&Ð&å”˜C¥˜:¨¨tµU¨m¸dÅC¸[Ð-IÐ'JÐKÑLÔLˆÝ˜Ñ Ô ˆÝ�TÐ5Ñ6Ô6Ð6å”˜C¥˜:¨¨R yÐ1Ñ2Ô2ˆÝ˜Ñ Ô ˆÝ�TÐ+Ñ,Ô,Ð,å”˜"‘”ˆÝ˜Ñ Ô ˆÝ�T˜2ÑÔÐÐÐrC   c                 óü  — t          j        ddt          fg¦  «        }t          |¦  «        }t	          |d¦  «         t          j        dt
          fddt          fdt
          fgfg¦  «        }t          |¦  «        }t	          |d¦  «         t          j        dt
          fdg fg¦  «        }t          |¦  «        }t	          |d	¦  «         t          j        g ¦  «        }t          |¦  «        }t	          |d
¦  «         d S )Nr&   r$   rY   r1   r2   r3   r4   )r1   r2   r3   r4   ©r1   r2   rN   )r6   r(   r8   Úget_names_flatr   r9   r[   s      rA   Útest_get_names_flatz$TestRecFunctions.test_get_names_flat~   sè   € å”˜<¨#­u¨Ð6Ñ7Ô7ˆÝ˜fÑ%Ô%ˆÝ�T˜:Ñ&Ô&Ð&å”˜C¥˜:¨¨tµU¨m¸dÅC¸[Ð-IÐ'JÐKÑLÔLˆÝ˜fÑ%Ô%ˆÝ�TÐ1Ñ2Ô2Ð2å”˜C¥˜:¨¨R yÐ1Ñ2Ô2ˆÝ˜fÑ%Ô%ˆÝ�T˜:Ñ&Ô&Ð&å”˜"‘”ˆÝ˜fÑ%Ô%ˆÝ�T˜2ÑÔÐÐÐrC   c           	      óV  — t          j        ddt          fg¦  «        }t          |¦  «        }t	          |g g dœ¦  «         t          j        dt
          fddt          fdgfg¦  «        }t          |¦  «        }t	          |g g dgdgdœ¦  «         t          j        dt
          fddt
          fdd	t
          fd
t
          fgfgfg¦  «        }t          |¦  «        }g g dgdgddgddgdœ}t	          ||¦  «         t          j        g ¦  «        }t          |¦  «        }t	          |i ¦  «         d S )Nr&   r$   rY   r!   ÚBA©rT   z|S1)r!   r$   rc   rT   rT   ÚBBAÚBBB)r!   r$   rc   rT   re   rf   )r6   r(   r8   r	   r   r9   )r<   r\   rI   rP   s       rA   Útest_get_fieldstructurez(TestRecFunctions.test_get_fieldstructure�   sX  € õ ”˜<¨#­u¨Ð6Ñ7Ô7ˆÝ! &Ñ)Ô)ˆÝ�T ¨"Ð-Ð-Ñ.Ô.Ð.õ ”˜C¥˜:¨¨tµU¨m¸]Ð-KÐ'LÐMÑNÔNˆÝ! &Ñ)Ô)ˆÝ�T ¨"°S°GÀCÀ5ÐIÐIÑJÔJÐJõ ”˜C¥˜:Ø 4­ +Ø#'¨5µ#¨,¸Å¸Ð)EÐ"Fð"Hð IðJñ Kô Kˆõ " &Ñ)Ô)ˆØ ¨C¨5¸¸Ø ˜+¨s°D¨kð;ð ;ˆå�T˜7Ñ#Ô#Ð#õ ”˜"‘”ˆÝ! &Ñ)Ô)ˆÝ�T˜2ÑÔÐÐÐrC   c                 óò  — t          j        g d¢g d¢dt          fddt          fdgfg¬¦  «        }t	          |dd	¬
¦  «        }ddg}t          t          |d         ¦  «        |¦  «         t          |d         ||d                  ¦  «         t	          |dd	¬¦  «        }g d¢}t          t          |d         ¦  «        |¦  «         t          |d         ||d                  ¦  «         t	          |dd	¬¦  «        }g d¢}t          t          |d         ¦  «        |¦  «         t          |d         ||d                  ¦  «         t	          |dd	¬¦  «        }g d¢}t          t          |d         ¦  «        |¦  «         t          |d         ||d                  ¦  «         t	          |dd	¬¦  «        }g d¢}t          t          |d         ¦  «        |¦  «         t          |d         ||d                  ¦  «         d S )N)©r   ©r%   r$   )r   rj   ri   )r   )r"   r$   ri   )r   )r%   ÚC)©r   ©r   r   rl   rl   rl   )r   rm   )r   ©r   r   r!   r$   rc   rd   ©Úmaskr(   FT©Ú
ignoremaskÚreturn_indexr   r   éÿÿÿÿ)Úkeyrs   )r   r   r   é   r/   )r   r   r   r-   rT   )r   r   r   rv   r-   )Úmar7   r9   r8   r   r   ÚsortedrO   s       rA   Útest_find_duplicatesz%TestRecFunctions.test_find_duplicates«   s
  € åŒHð Fð Fð FðBð Bð Bà ¥#˜J¨°µe¨}¸mÐ.LÐ(MÐNð	Pñ Pô Pˆõ ˜q¨UÀÐFÑFÔFˆØ�a�&ˆÝ•V˜D œHÑ%Ô% wÑ/Ô/Ð/Ý�T˜!”W˜a  R¤œkÑ*Ô*Ð*å˜q c¸Ð=Ñ=Ô=ˆØ!�/�/ˆÝ•V˜D œHÑ%Ô% wÑ/Ô/Ð/Ý�T˜!”W˜a  R¤œkÑ*Ô*Ð*å˜q c¸Ð=Ñ=Ô=ˆØ�,�,ˆÝ•V˜D œHÑ%Ô% wÑ/Ô/Ð/Ý�T˜!”W˜a  R¤œkÑ*Ô*Ð*å˜q d¸Ð>Ñ>Ô>ˆØ�,�,ˆÝ•V˜D œHÑ%Ô% wÑ/Ô/Ð/Ý�T˜!”W˜a  R¤œkÑ*Ô*Ð*å˜q d¸Ð>Ñ>Ô>ˆØ!�/�/ˆÝ•V˜D œHÑ%Ô% wÑ/Ô/Ð/Ý�T˜!”W˜a  R¤œkÑ*Ô*Ð*Ð*Ð*rC   c                 óà  — dt           fg}t          j        g d¢g d¢¬¦  «                             |¦  «        }t	          |dd¬¦  «        }g d¢}t          t          |d         ¦  «        |¦  «         t          |d	         ||d                  ¦  «         t	          |d
d¬¦  «        }g d¢}t          t          |d         ¦  «        |¦  «         t          |d	         ||d                  ¦  «         d S )Nr1   )r   r   r   r   r   rv   rv   )r   r   r   r   r   r   r   ©rp   Trq   )r   r   rv   r-   rt   r   F)r   r   r   rv   r-   é   )r9   rw   r7   rU   r   r   rx   )r<   r\   r1   rI   rP   s        rA   Útest_find_duplicates_ignoremaskz0TestRecFunctions.test_find_duplicates_ignoremaskÌ   sõ   € à��*�ˆÝŒHÐ*Ð*Ð*Ø/Ð/Ð/ð1ñ 1ô 1ß15²°f±´ð 	
å˜q¨TÀÐEÑEÔEˆØ�,�,ˆÝ•V˜D œHÑ%Ô% wÑ/Ô/Ð/Ý�T˜!”W˜a  R¤œkÑ*Ô*Ð*å˜q¨UÀÐFÑFÔFˆØ$Ð$Ð$ˆÝ•V˜D œHÑ%Ô% wÑ/Ô/Ð/Ý�T˜!”W˜a  R¤œkÑ*Ô*Ð*Ð*Ð*rC   c                 óò  — t          j        dd¬¦  «        }t          j        d|¬¦  «        }t          t	          |¦  «        t          j        d¦  «        ¦  «         t          t	          |¦  «        j        d¦  «         t          t	          t	          |¦  «        d¬¦  «        |¦  «         t          j        t           j        |f¦  «        }t          t	          |¦  «        j        t           j        u ¦  «         d S )Nzu1,f4,i8T©Úalignr   r'   é   )	r6   r(   Úzerosr   r   ÚitemsizeÚrecordr   Útype)r<   Údtr1   s      rA   Útest_repack_fieldsz#TestRecFunctions.test_repack_fieldsÛ   sÉ   € ÝŒX�j¨Ð-Ñ-Ô-ˆÝŒH�Q˜bÐ!Ñ!Ô!ˆå•] 2Ñ&Ô&­¬°Ñ(<Ô(<Ñ=Ô=Ð=Ý•] 1Ñ%Ô%Ô.°Ñ3Ô3Ð3Ý•]¥=°Ñ#4Ô#4¸DÐAÑAÔAÀ2ÑFÔFÐFõ ŒX•r”y "�oÑ&Ô&ˆÝ•˜bÑ!Ô!Ô&­"¬)Ð3Ñ4Ô4Ð4Ð4Ð4rC   c           	      ó"  — t          j        dg d¢¬¦  «        }t          |¦  «        }t          |t          j        dd¬¦  «        ¦  «         t          j        g d¢g d¢¬¦  «        }t          j        t          |dd	g         ¦  «        d
¬¦  «        }t          |t          j        g d¢¦  «        ¦  «         t          j        t          |dg         ¦  «        d
¬¦  «        }t          |t          j        g d¢¦  «        ¦  «         t          j        d¦  «                             d¦  «        }t          ||j	        ¦  «        }t          j        ddddgfddddgfddddgfddddgfgdd d!d"gfd#g¬¦  «        }t          ||¦  «         t          j        g d¢g d¢¬¦  «        }t          t          t           j        |¦  «        t          j        g d$¢¦  «        ¦  «         t          t          t           j        |dd	g         ¦  «        t          j        g d¢¦  «        ¦  «         t          j        g d¢g d%¢¬¦  «        }t          |¦  «        }t          ||j	        ¦  «        }t          |j        |u ¦  «         t          |j        |u ¦  «         t          j        d&d'd(gddgd)d*ggfd+d,dgd-d.gd/d0ggfgg d1¢¬¦  «        }t          |¦  «        }t          ||j	        ¦  «        }t          |j        |u ¦  «         t          |j        |u ¦  «         t          j	        dt          fd2t          fg¦  «        }	t          j	        d3|	fd |	fd4|	fg¦  «        }
t          j        d|
¦  «        }t          |t          ¬¦  «        }t          |t          j        d5t          ¬¦  «        ¦  «         d6„ }d7„ }d>d8„} | | |t           j        t           j        ¦  «        d(¦  «        ¦  «        }t           ||¦  «        d9t           j        |f¦  «          | | |t           j        d'¦  «        d'¦  «        ¦  «        }t           ||¦  «        d:t           j        |f¦  «          |t           j        ¦  «        }t           ||¦  «        d;t           j        |f¦  «          |t           j         | |t           j        d'¦  «        d'¦  «        ¦  «        }t           ||¦  «        d<t           j        |f¦  «          |¦   «         }t          t           t          t          j        d(|¦  «        ¦  «         t          t"          t          t          j        d(|¦  «        t           j        ¬¦  «         t          t"          t          t          j        d=t           j        ¬¦  «        ¦  «         d S )?Nr-   )©r1   Úi4)r2   zf4,u2)ÚcÚf4r   r'   )r-   r/   Úf8))r   r   r/   )r-   r/   é   )rŽ   é   é   )r   r�   é   )©r=   rŠ   )r>   rŒ   )r?   r�   r=   r?   rt   )Úaxis)r+   g      @ç      "@ç      &@)r"   ç      @ç      @ç      $@r   r   )r"   r   r+   r–   r/   )r0   rŽ   ç       @r”   r   )r•   r‘   g      *@g      ,@é   )g      0@é   g      2@g      3@r‰   r2   )Úf0rŒ   )Úf1Úu2)r‹   rŒ   ©r   )gUUUUUU@gUUUUUU@gUUUUUU!@r•   )r’   )r>   rŠ   )r?   rŠ   r   r   rv   r|   rŽ   r�   é	   r�   r‘   r�   é   ))Úx0rŠ   )Úx1)rŠ   r   )Úx2)rŠ   ©r   r   r>   r1   r‹   )r   r|   c                 ó.   — t          j        | |f¦  «        S ©N)r6   r(   )r†   Úshapes     rA   ÚsubarrayzBTestRecFunctions.test_structured_to_unstructured.<locals>.subarray   s   € Ý”8˜R ˜KÑ(Ô(Ð(rC   c                  óX   — t          j        d„ t          | ¦  «        D ¦   «         ¦  «        S )Nc                 óB   — g | ]\  }}d                       |¦  «        |f‘ŒS )zx{})Úformat)Ú.0Úir†   s      rA   ú
<listcomp>zXTestRecFunctions.test_structured_to_unstructured.<locals>.structured.<locals>.<listcomp>$  s+   € ÐOÐOÐO±u°q¸"˜eŸlšl¨1™oœo¨rÐ2ÐOÐOÐOrC   )r6   r(   Ú	enumerate)Údtss    rA   Ú
structuredzDTestRecFunctions.test_structured_to_unstructured.<locals>.structured#  s'   € Ý”8ÐOÐOÅ	È#ÁÄÐOÑOÔOÑPÔPÐPrC   c                 ó–   — t          j        d| ¦  «        }t          ||¬¦  «        }t          || ¦  «        }|j        |j        |j        fS )NrN   r'   )r6   r‚   r   r   r¨   r(   )r†   r(   ÚarrÚretÚbackarrs        rA   ÚinspectzATestRecFunctions.test_structured_to_unstructured.<locals>.inspect&  sG   € Ý”(˜2˜rÑ"Ô"ˆCÝ,¨S¸Ð>Ñ>Ô>ˆCÝ0°°bÑ9Ô9ˆGØ”9˜cœi¨¬Ð6Ð6rC   )r|   rM   rL   )r/   )rv   r   r§   )r6   r‚   r   r   r7   ÚmeanÚarangeÚreshaper   r(   r   r   Úbaser9   Úint32r   Ú
ValueErrorÚNotImplementedError)r<   r1   Úoutr2   r‹   ÚwantÚdÚddÚdddÚpointÚtriangler´   Úresr©   r²   r·   r†   s                    rA   Útest_structured_to_unstructuredz0TestRecFunctions.test_structured_to_unstructuredç   sÊ  € ÝŒH�QÐKÐKÐKÐLÑLÔLˆÝ(¨Ñ+Ô+ˆÝ�S�"œ( 5°Ð5Ñ5Ô5Ñ6Ô6Ð6åŒHÐEÐEÐEØBÐBÐBðDñ Dô DˆåŒgÕ0°°C¸°:´Ñ?Ô?ÀbÐIÑIÔIˆÝ�S�"œ(Ð#;Ð#;Ð#;Ñ<Ô<Ñ=Ô=Ð=ÝŒgÕ0°°C°5´Ñ:Ô:ÀÐDÑDÔDˆÝ�S�"œ(Ð#;Ð#;Ð#;Ñ<Ô<Ñ=Ô=Ð=åŒI�b‰MŒM×!Ò! %Ñ(Ô(ˆÝ(¨¨A¬GÑ4Ô4ˆÝŒx˜1˜i¨2°¨Ð4Ø˜i¨2°¨Ð4Ø˜i¨#¨s¨Ð4Ø˜i¨#¨s¨Ð4ð6ð (Ø  <°Ð">Ð?Ø-ð/ð	0ñ 0ô 0ˆõ 	�S˜$ÑÔÐåŒHÐEÐEÐEØBÐBÐBðDñ Dô DˆåÕ'­¬°Ñ3Ô3Ý”XÐ>Ð>Ð>Ñ?Ô?ñ	Aô 	Að 	AåÕ'­¬°°C¸°:´Ñ?Ô?Ý”XÐ6Ð6Ð6Ñ7Ô7ñ	9ô 	9ð 	9õ ŒHÐEÐEÐEØBÐBÐBðDñ Dô Dˆå'¨Ñ*Ô*ˆÝ(¨¨Q¬WÑ5Ô5ˆÝ�”˜1�ÑÔÐÝ�”˜A�ÑÔÐõ ŒH�q˜1˜q˜' a¨! H°°A¨hÐ#7Ð8Ø˜1˜b˜' R¨ H¨r°2¨hÐ#7Ð8ð:ð4ð 4ð 4ð5ñ 5ô 5ˆõ (¨Ñ*Ô*ˆÝ(¨¨Q¬WÑ5Ô5ˆÝ�”˜1�ÑÔÐÝ�”˜A�ÑÔÐõ ”˜3¥˜* s­C jÐ1Ñ2Ô2ˆÝ”8˜c 5˜\¨C°¨<¸#¸u¸ÐFÑGÔGˆÝŒh�r˜8Ñ$Ô$ˆÝ(¨µCÐ8Ñ8Ô8ˆÝ�S�"œ( 7µ#Ð6Ñ6Ô6Ñ7Ô7Ð7ð	)ð 	)ð 	)ð	Qð 	Qð 	Qð	7ð 	7ð 	7ð 	7ð ˆZ˜˜  ­B¬Hµb´hÑ!?Ô!?ÀÑCÔCÑDÔDˆÝ�W�W˜R‘[”[ 4­¬°2Ð"6Ñ7Ô7Ð7àˆZ˜˜  ­"¬(°AÑ!6Ô!6¸Ñ:Ô:Ñ;Ô;ˆÝ�W�W˜R‘[”[ 4­¬°2Ð"6Ñ7Ô7Ð7àˆZ�œÑ!Ô!ˆÝ�W�W˜R‘[”[ 4­¬°2Ð"6Ñ7Ô7Ð7àˆZ�œ ( (¨8¨8µB´H¸aÑ+@Ô+@À!Ñ"DÔ"DÑEÔEˆÝ�W�W˜R‘[”[ 4­¬°2Ð"6Ñ7Ô7Ð7àˆZ‰\Œ\ˆÝ•jÕ"<½b¼hÀqÈ"¹o¼oÑNÔNÐNõ 	Õ)Õ+EÝ+-¬8°A°r©?¬?Å"Ä(ð	Lñ 	Lô 	Lð 	LåÕ)Õ+EÝ+-¬8°EÅÄÐ+JÑ+JÔ+Jñ	Lô 	Lð 	Lð 	Lð 	LrC   c                 óÞ   — t          j        d¦  «        }dt          fdt          fg}t          j        |¦  «        }t	          ||¬¦  «        }t	          ||¬¦  «        }t          ||¦  «         d S )N)r   r   r=   r>   r'   )r6   r‚   r8   r(   r   r   )r<   r1   Útest_dtype_argsÚ
test_dtypeÚfield1Úfield2s         rA   Útest_unstructured_to_structuredz0TestRecFunctions.test_unstructured_to_structuredA  sl   € åŒH�WÑÔˆØ¥˜<¨#­u¨Ð6ˆÝ”X˜oÑ.Ô.ˆ
Ý+¨A°_ÐEÑEÔEˆÝ+¨A°ZÐ@Ñ@Ô@ˆÝ�V˜VÑ$Ô$Ð$Ð$Ð$rC   c                 ó   — t          j        dg d¢¬¦  «        }ddg}t          t          ||¦  «        t          j        d|¦  «        ¦  «         t          j        ddg|¬¦  «        }t          ||d¬	¦  «         t          |t          j        d
dg|j        ¬¦  «        ¦  «         t          ||¦  «         t          |t          j        ddg|j        ¬¦  «        ¦  «         t          j        ddddgfg¬¦  «        }ddgfg}t          t          ||¦  «        t          j        d|¦  «        ¦  «         t          j        ddg|¬¦  «        }t          ||d¬	¦  «         t          |t          j        ddg|j        ¬¦  «        ¦  «         t          ||¦  «         t          |t          j        ddg|j        ¬¦  «        ¦  «         t          j        d¦  «        t          j        d¦  «        }}t          ||¦  «         t          |d         d¦  «         d S )Nr   )r‰   ©r2   r�   ©r‹   Úu1r'   ©r2   rŒ   rÐ   ©r   r   )rv   r-   F)Úzero_unassigned)r   r   r   )r   rv   r-   )r   r   r   )r   rv   r-   r1   rÏ   )rŸ   )©rv   )rÓ   )©r   rv   ))r   r   ))r   rv   rv   r   rN   )r6   Úonesr   r   r7   r   r(   )r<   r1   Únewdtr2   s       rA   Útest_field_assignment_by_namez.TestRecFunctions.test_field_assignment_by_nameJ  sý  € ÝŒG�AÐDÐDÐDÐEÑEÔEˆØ˜kÐ*ˆå•^ A uÑ-Ô-­r¬w°q¸%Ñ/@Ô/@ÑAÔAÐAåŒH�e˜U�^¨5Ð1Ñ1Ô1ˆÝ˜a °EÐ:Ñ:Ô:Ð:Ý�Q�œ '¨'Ð!2¸!¼'ÐBÑBÔBÑCÔCÐCÝ˜a Ñ#Ô#Ð#Ý�Q�œ '¨'Ð!2¸!¼'ÐBÑBÔBÑCÔCÐCõ ŒG�A˜s [°+Ð$>Ð?Ð@ÐAÑAÔAˆØ˜�}Ð%Ð&ˆÝ•^ A uÑ-Ô-­r¬w°q¸%Ñ/@Ô/@ÑAÔAÐAÝŒH�g˜wÐ'¨uÐ5Ñ5Ô5ˆÝ˜a °EÐ:Ñ:Ô:Ð:Ý�Q�œ (¨HÐ!5¸Q¼WÐEÑEÔEÑFÔFÐFÝ˜a Ñ#Ô#Ð#Ý�Q�œ (¨HÐ!5¸Q¼WÐEÑEÔEÑFÔFÐFõ Œx˜‰{Œ{�BœH Q™KœKˆ1ˆÝ˜a Ñ#Ô#Ð#Ý�Q�r”U˜AÑÔÐÐÐrC   N)Ú__name__Ú
__module__Ú__qualname__rB   rJ   rQ   rW   r]   ra   rg   ry   r}   r‡   rÇ   rÍ   rÙ   rN   rC   rA   r   r      sä   € € € € € ð!ð !ð !ðNð Nð NðB$ð $ð $ð@	$ð 	$ð 	$ðð ð ð$ð ð ð$ð ð ð6+ð +ð +ðB+ð +ð +ð
5ð 
5ð 
5ðXLð XLð XLðt%ð %ð %ðð ð ð ð rC   r   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestRecursiveFillFieldsc                 ó  — t          j        ddgdt          fdt          fg¬¦  «        }t          j        d|j        ¬¦  «        }t          ||¦  «        }t          j        g d¢dt          fdt          fg¬¦  «        }t          ||¦  «         d S )N©r   r˜   ©r   ç      4@r!   r$   r'   rÕ   ©rà   rá   )r   ç        )r6   r7   r9   r8   r‚   r(   r
   r   ©r<   r1   r2   rI   rP   s        rA   Útest_simple_flexiblez,TestRecursiveFillFields.test_simple_flexibleh  s’   € åŒH�h Ð)°3½°*¸sÅE¸lÐ1KÐLÑLÔLˆÝŒH�T ¤Ð)Ñ)Ô)ˆÝ$ Q¨Ñ*Ô*ˆÝ”(Ð8Ð8Ð8Ø#&­ *¨sµE¨lÐ!;ð=ñ =ô =ˆå�T˜7Ñ#Ô#Ð#Ð#Ð#rC   c                 ó(  — t          j        ddgddgdt          fdt          fg¬¦  «        }t          j        d|j        ¬	¦  «        }t          ||¦  «        }t          j        g d
¢g d¢dt          fdt          fg¬¦  «        }t          ||¦  «         d S )Nrà   rá   ©r   r   rn   r!   r$   ro   rÕ   r'   rã   )rè   rn   rm   )rw   r7   r9   r8   r‚   r(   r
   r   rå   s        rA   Útest_masked_flexiblez,TestRecursiveFillFields.test_masked_flexibleq  s«   € åŒH�h Ð)°¸Ð0@Ø ¥#˜J¨­e¨Ð5ð7ñ 7ô 7ˆåŒH�T ¤Ð)Ñ)Ô)ˆÝ$ Q¨Ñ*Ô*ˆÝ”(Ð8Ð8Ð8Ø 8Ð 8Ð 8Ø#&­ *¨sµE¨lÐ!;ð=ñ =ô =ˆõ 	�T˜7Ñ#Ô#Ð#Ð#Ð#rC   N)rÚ   rÛ   rÜ   ræ   ré   rN   rC   rA   rÞ   rÞ   f  s2   € € € € € ð$ð $ð $ð	$ð 	$ð 	$ð 	$ð 	$rC   rÞ   c                   óJ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ ZdS )ÚTestMergeArraysc           	      ó"  — t          j        ddg¦  «        }t          j        g d¢¦  «        }t          j        ddgddt          fg¬¦  «        }t          j        d	d
gdt          fddt          fdt          fdg fgfg¬¦  «        }||||f| _        d S )Nr   r   r   r    r#   r&   r$   r'   ©r   )r   r+   rN   ©r-   )r/   r0   rN   r1   r2   r3   r4   Úbcr5   r;   s        rA   rB   zTestMergeArrays.setup_method€  s¯   € ÝŒH�a˜�XÑÔˆÝŒH�\�\�\Ñ"Ô"ˆÝŒHØ˜	Ð"¨<¸#½u¸Ð*FðHñ Hô HˆåŒHØÐ 1Ð2Ø��:  t­U m°d½C°[À4ÈÀ*Ð%MÐNÐOðQñ Qô Qˆð ˜˜1˜a�LˆŒ	ˆ	ˆ	rC   c                 ó`  — | j         \  }}}}t          |¦  «        }t          j        ddgdt          fg¬¦  «        }t          ||¦  «         t          |f¦  «        }t          ||¦  «         t          |d¬¦  «        }t          ||¦  «         t          |d¬¦  «        }t          ||¦  «         d S )NrL   rŸ   rœ   r'   FrE   T)r:   r   r6   r7   r9   r   ©r<   Ú_r=   r?   rI   rP   s         rA   Ú	test_solozTestMergeArrays.test_soloŠ  s³   € à”y‰ˆˆAˆq�!å˜A‰ŒˆÝ”(˜D $˜<°µs°¨}Ð=Ñ=Ô=ˆÝ�T˜7Ñ#Ô#Ð#Ý˜Q˜DÑ!Ô!ˆÝ�T˜7Ñ#Ô#Ð#å˜A uÐ-Ñ-Ô-ˆÝ�T˜1ÑÔÐÝ˜A tÐ,Ñ,Ô,ˆÝ�T˜1ÑÔÐÐÐrC   c                 ó  — | j         d         }t          |d¬¦  «        }t          ||¦  «         t          |d¬¦  «        }t          j        ddgdt
          fdt          fd	t
          fg¬
¦  «        }t          ||¦  «         d S )Nr   FrE   T)r   r   r+   )r-   r/   r0   r1   r3   r4   r'   )r:   r   r   r6   r7   r9   r8   ©r<   r@   rI   rP   s       rA   Útest_solo_w_flattenz#TestMergeArrays.test_solo_w_flatten™  s�   € àŒI�aŒLˆÝ˜A uÐ-Ñ-Ô-ˆÝ�T˜1ÑÔÐå˜A tÐ,Ñ,Ô,ˆÝ”(˜K¨Ð5Ø#&­ *¨tµU¨m¸dÅC¸[Ð!IðKñ Kô Kˆå�T˜7Ñ#Ô#Ð#Ð#Ð#rC   c                 ó„  — | j         \  }}}}t          ||fd¬¦  «        }t          j        g d¢dt          fdt          fg¬¦  «        }t          ||¦  «         t          ||fd¬¦  «        }t          j        g d¢g d¢dt          fdt          fg¬	¦  «        }t          ||¦  «         t          |j        |j        ¦  «         d S )
NF©Úusemask©)r   r   )r   r   )rt   r   rœ   r�   r'   T©rm   rm   rn   ro   )r:   r   r6   r7   r9   r   rw   rp   ©r<   rò   r=   r>   rI   rP   s         rA   Útest_standardzTestMergeArrays.test_standard¤  sâ   € ð ”y‰ˆˆAˆq�!Ý˜Q ˜F¨EÐ2Ñ2Ô2ˆÝ”(Ð7Ð7Ð7Ø#'­ +°µc¨{Ð!;ð=ñ =ô =ˆå�T˜7Ñ#Ô#Ð#å˜Q ˜F¨DÐ1Ñ1Ô1ˆÝ”(Ð7Ð7Ð7Ø 8Ð 8Ð 8Ø#'­ +°µc¨{Ð!;ð=ñ =ô =ˆõ 	�T˜7Ñ#Ô#Ð#Ý�T”Y ¤Ñ-Ô-Ð-Ð-Ð-rC   c                 óT  — | j         \  }}}}t          ||fd¬¦  «        }t          j        ddgdt          fddt
          fg¬¦  «        }t          ||¦  «         t          ||fd	¬¦  «        }t          j        d
dgdt          fdddt
          fgfg¬¦  «        }t          ||¦  «         d S )NTrE   )r   r!   r"   )r   r$   r%   rœ   r&   r$   r'   F)r   r    )r   r#   r�   ©r:   r   r6   r7   r9   r8   r   rñ   s         rA   Útest_flattenzTestMergeArrays.test_flatten´  sÕ   € à”y‰ˆˆAˆq�!Ý˜Q ˜F¨DÐ1Ñ1Ô1ˆÝ”(˜L¨,Ð7Ø#'­ +¨|¸cÅ5¸\Ð!JðLñ Lô Lˆå�T˜7Ñ#Ô#Ð#å˜Q ˜F¨EÐ2Ñ2Ô2ˆÝ”(˜N¨NÐ;Ø#'­ +Ø#'¨,¸½e¸Ð)EÐ"Fð"HðIñ Iô Iˆõ 	�T˜7Ñ#Ô#Ð#Ð#Ð#rC   c                 ó   — | j         \  }}}}t          ||fd¬¦  «        }t          j        ddgdt          fdt          fdt
          fdt          fg¬	¦  «        }t          ||¦  «         t          ||fd
¬¦  «        }dt          fddt          fddt
          fdt          fdg fgfgfg}t          j        ddg|¬	¦  «        }t          ||¦  «         d S )NTrE   )r   r   r   r+   )r   r-   r/   r0   rœ   r1   r3   r4   r'   Fr�   r2   rï   )r"   rí   )r   rî   rÿ   )r<   r@   r=   rò   rI   rP   Úcontroldtypes          rA   Útest_flatten_wflexiblez&TestMergeArrays.test_flatten_wflexibleÂ  s	  € à”y‰ˆˆAˆq�!Ý˜Q ˜F¨DÐ1Ñ1Ô1ˆÝ”(˜N¨NÐ;Ø#'­ +Ø#&­ *¨tµU¨m¸dÅC¸[ð"JðKñ Kô Kˆõ 	�T˜7Ñ#Ô#Ð#å˜Q ˜F¨EÐ2Ñ2Ô2ˆØ�s˜Ø!%¨­c¨
Ø),°µe¨}¸tÅS¸kÈDÐRTÈ:Ð.VÐ(Wð(Yð !Zð[ˆõ ”(Ð3Ð5KÐLØ!-ð/ñ /ô /ˆå�T˜7Ñ#Ô#Ð#Ð#Ð#rC   c                 óz  — | j         \  }}}}t          j        g d¢g d¢¬¦  «        }t          ||fd¬¦  «        }t          j        g d¢g d¢dt          fd	t          fg¬
¦  «        }t          ||¦  «         t          ||fdd¬¦  «        }t          ||¦  «         t          t          |t          ¦  «        ¦  «         d S )N©r   r   rv   ©r   r   r   r{   Trø   )©r   r   r¥   )rt   rv   )rè   rm   rn   rœ   r�   ro   )rù   Ú
asrecarray)	r:   rw   r7   r   r9   r   r   Ú
isinstancer   )r<   rò   r=   ÚmxrI   rP   s         rA   Útest_wmasked_arraysz#TestMergeArrays.test_wmasked_arraysÓ  sÓ   € à”y‰ˆˆAˆq�!ÝŒX�i�i�i i i iÐ0Ñ0Ô0ˆÝ˜Q ˜G¨TÐ2Ñ2Ô2ˆÝ”(Ð4Ð4Ð4Ø 8Ð 8Ð 8Ø#'­ +°µc¨{Ð!;ð=ñ =ô =ˆõ 	�T˜7Ñ#Ô#Ð#Ý˜Q ˜G¨T¸dÐCÑCÔCˆÝ�T˜7Ñ#Ô#Ð#Ý•
˜4¥Ñ/Ô/Ñ0Ô0Ð0Ð0Ð0rC   c                 ó$  — t          t          j        ddg¦  «                             dt          fg¦  «        t          j        g d¢¦  «        f¦  «        }t          j        g d¢g d¢dt          fdt          fg¬¦  «        }t          ||¦  «         d S )	Nr   r   r1   )r˜   râ   rS   )rà   rá   )rt   rS   rû   r�   ro   )r   r6   r7   rU   r9   rw   r8   r   )r<   rI   rP   s      rA   Útest_w_singlefieldz"TestMergeArrays.test_w_singlefieldà  s›   € å�RœX q¨! fÑ-Ô-×2Ò2°S½#°J°<Ñ@Ô@ÝœX o o oÑ6Ô6ð8ñ :ô :ˆå”(Ð:Ð:Ð:Ø 8Ð 8Ð 8Ø#&­ *¨tµU¨mÐ!<ð>ñ >ô >ˆõ 	�T˜7Ñ#Ô#Ð#Ð#Ð#rC   c                 óò   — | j         d         }t          |t          j        g d¢¦  «                             dt
          fg¦  «        f¦  «         t          j        g d¢ddt          fdt
          fg¬¦  «         d S )Nrt   r   rk   )©r!   r"   r   ©r$   r%   r   )z-1rt   r   r&   r$   r'   )r:   r   r6   r7   rU   r9   r8   )r<   r?   s     rA   Útest_w_shorter_flexz#TestMergeArrays.test_w_shorter_flexé  sˆ   € àŒI�bŒMˆõ 	�a�œ , , ,Ñ/Ô/×4Ò4°s½C°j°\ÑBÔBÐCÑDÔDÐDÝ
ŒÐ?Ð?Ð?Ø$ s­E l°S½#°JÐ?ð	Añ 	Aô 	Að 	Að 	Að 	ArC   c           	      óð   — | j         \  }}}}t          |d         |d         |d         fd¬¦  «        }t          j        dgdt          fdt          fddd	t
          fgfg¬
¦  «        }t          ||¦  «         d S )Nr   Frø   )r   r   ©r!   r   rœ   r�   Úf2r&   r$   r'   rÿ   )r<   rò   r=   r>   r?   rI   rP   s          rA   Útest_singlerecordz!TestMergeArrays.test_singlerecordø  s’   € Ø”y‰ˆˆAˆq�!Ý˜Q˜qœT 1 Q¤4¨¨1¬Ð.¸Ð>Ñ>Ô>ˆÝ”(Ð-Ð.Ø#'­ +Ø#'­ +Ø#'¨,¸½e¸Ð)EÐ"Fð"HðIñ Iô Iˆõ 	�T˜7Ñ#Ô#Ð#Ð#Ð#rC   N)rÚ   rÛ   rÜ   rB   ró   rö   rý   r   r  r  r  r  r  rN   rC   rA   rë   rë   }  s­   € € € € € ð!ð !ð !ðð ð ð	$ð 	$ð 	$ð.ð .ð .ð $ð $ð $ð$ð $ð $ð"1ð 1ð 1ð$ð $ð $ðAð Að Að$ð $ð $ð $ð $rC   rë   c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestAppendFieldsc                 ó  — t          j        ddg¦  «        }t          j        g d¢¦  «        }t          j        ddgddt          fg¬¦  «        }t          j        d	d
gdt          fddt          fdt          fgfg¬¦  «        }||||f| _        d S r   r5   r;   s        rA   rB   zTestAppendFields.setup_method  ó¥   € ÝŒH�a˜�XÑÔˆÝŒH�\�\�\Ñ"Ô"ˆÝŒHØ˜	Ð"¨<¸#½u¸Ð*FðHñ Hô HˆåŒH�m ]Ð3Ø ¥#˜J¨°µe¨}¸tÅS¸kÐ.JÐ(KÐLðNñ Nô Nˆà˜˜1˜a�LˆŒ	ˆ	ˆ	rC   c                 ó¼   — | j         \  }}}}t          |dg d¢¬¦  «        }t          j        g d¢g d¢dt          fdt          fg¬¦  «        }t          ||¦  «         d S )Nr!   r   ©r:   rú   rû   rœ   ro   ©r:   r   rw   r7   r9   r   ©r<   rò   r=   rI   rP   s        rA   Útest_append_singlez#TestAppendFields.test_append_single  sy   € à”y‰ˆˆAˆq�!Ý˜Q ¨,¨,¨,Ð7Ñ7Ô7ˆÝ”(Ð7Ð7Ð7Ø 8Ð 8Ð 8Ø#'­ +°µS¨zÐ!:ð=ñ =ô =ˆõ 	�T˜7Ñ#Ô#Ð#Ð#Ð#rC   c                 óÔ   — | j         \  }}}}t          |dg d¢ddgg¬¦  «        }t          j        g d¢g d¢dt          fd	t          fd
t          fg¬¦  «        }t          ||¦  «         d S )NrY   r   éd   éÈ   r  ))r   r   r   )r   r   r!  )rt   r   rt   )©r   r   r   r"  )r   r   r   rœ   r!   r$   ro   r  r  s        rA   Útest_append_doublez#TestAppendFields.test_append_double  s‹   € à”y‰ˆˆAˆq�!Ý˜Q 
°,°,°,ÀÀcÀ
Ð1KÐLÑLÔLˆÝ”(ÐEÐEÐEØ AÐ AÐ AØ#'­ +°µS¨z¸CÅ¸:Ð!FðIñ Iô Iˆõ 	�T˜7Ñ#Ô#Ð#Ð#Ð#rC   c                 óÀ   — | j         d         }t          |dg d¢¬¦  «        }t          j        g d¢g d¢ddt          fdt
          fg¬	¦  «        }t          ||¦  «         d S )
Nrt   rk   r   r  )r  r  )rt   ç      ð¿r   )r"  r"  ©r   r   r   r&   r$   ro   )r:   r   rw   r7   r8   r9   r   )r<   r?   rI   rP   s       rA   Útest_append_on_flexz$TestAppendFields.test_append_on_flex   sz   € àŒI�bŒMˆÝ˜Q ¨,¨,¨,Ð7Ñ7Ô7ˆÝ”(ÐHÐHÐHØ AÐ AÐ AØ".°µe°¸sÅC¸jÐ!IðLñ Lô Lˆõ 	�T˜7Ñ#Ô#Ð#Ð#Ð#rC   c           	      óä   — | j         d         }t          |dg d¢¬¦  «        }t          j        g d¢g d¢dt          fdd	t
          fd
t          fgfdt          fg¬¦  «        }t          ||¦  «         d S )Nr   rk   r   r  ))r   r*   r   )r-   r.   r   )rt   )rt   r%  r   )©r   rm   r   r)  )r   r  r   r1   r2   r3   r4   ro   )r:   r   rw   r7   r9   r8   r   rõ   s       rA   Útest_append_on_nestedz&TestAppendFields.test_append_on_nested)  sœ   € àŒI�aŒLˆÝ˜Q ¨,¨,¨,Ð7Ñ7Ô7ˆÝ”(ð 1ð 1ð 1ð!Nð !Nð !Nà#&­ *Ø#&¨$µ¨¸½s¸Ð(DÐ"EØ#&­ *ð".ð0ñ 0ô 0ˆõ 	�T˜7Ñ#Ô#Ð#Ð#Ð#rC   N)rÚ   rÛ   rÜ   rB   r  r#  r'  r*  rN   rC   rA   r  r    s_   € € € € € ð!ð !ð !ð$ð $ð $ð$ð $ð $ð$ð $ð $ð$ð $ð $ð $ð $rC   r  c                   óD   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
S )ÚTestStackArraysc                 ó  — t          j        ddg¦  «        }t          j        g d¢¦  «        }t          j        ddgddt          fg¬¦  «        }t          j        d	d
gdt          fddt          fdt          fgfg¬¦  «        }||||f| _        d S r   r5   r;   s        rA   rB   zTestStackArrays.setup_method:  r  rC   c                 óà   — | j         \  }}}}t          |f¦  «        }t          ||¦  «         t          ||u ¦  «         t          |¦  «        }t          ||¦  «         t          ||u ¦  «         d S r§   )r:   r   r   r   )r<   rò   r=   rI   s       rA   ró   zTestStackArrays.test_soloC  su   € à”y‰ˆˆAˆq�!Ý˜Q˜DÑ!Ô!ˆÝ�T˜1ÑÔÐÝ�˜�	ÑÔÐå˜A‰ŒˆÝ�T˜1ÑÔÐÝ�˜�	ÑÔÐÐÐrC   c                 ót  — | j         \  }}}}t          ||fd¬¦  «        }t          j        g d¢¦  «        }t	          ||¦  «         t          ||fd¬¦  «        }t          j        g d¢¦  «        }t	          ||¦  «         t          ||fd¬¦  «        }t          j        g d¢¦  «        }t	          ||¦  «         d S )NFrø   )r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   )r:   r   r6   r7   r   rü   s         rA   Útest_unnamed_fieldsz#TestStackArrays.test_unnamed_fieldsN  sÈ   € à”y‰ˆˆAˆq�!å˜Q ˜F¨EÐ2Ñ2Ô2ˆÝ”(˜<˜<˜<Ñ(Ô(ˆÝ�T˜7Ñ#Ô#Ð#å˜Q ˜F¨EÐ2Ñ2Ô2ˆÝ”(Ð-Ð-Ð-Ñ.Ô.ˆÝ�T˜7Ñ#Ô#Ð#å˜Q ˜F¨EÐ2Ñ2Ô2ˆÝ”(Ð-Ð-Ð-Ñ.Ô.ˆÝ�T˜7Ñ#Ô#Ð#Ð#Ð#rC   c                 óV  — | j         \  }}}}t          ||f¦  «        }t          j        g d¢g d¢dt          fddt
          fg¬¦  «        }t          ||¦  «         t          |j        |j        ¦  «         t          ||f¦  «        }t          j        g d¢g d¢ddt
          fd	t          fg¬¦  «        }t          ||¦  «         t          |j        |j        ¦  «         t          |||f¦  «        }t          j        g d
¢g d¢ddt
          fd	t          fg¬¦  «        }t          ||¦  «         d S )N))r   rt   rt   )r   rt   rt   )rt   r!   r   )rt   r$   r   )©r   r   r   r2  r  r  rœ   r&   r$   ro   )©r!   r   rt   ©r$   r   rt   ©rt   rt   r   ©rt   rt   r   )©r   r   r   r7  r&  r&  r  )r3  r4  r3  r4  r5  r6  )r7  r7  r7  r7  r&  r&  )r:   r   rw   r7   r9   r8   r   rp   rñ   s         rA   Útest_unnamed_and_named_fieldsz-TestStackArrays.test_unnamed_and_named_fields^  s‡  € à”y‰ˆˆAˆq�!å˜Q ˜FÑ#Ô#ˆÝ”(ð 8ð 8ð 8ð!7ð !7ð !7à#'­ +¨|¸cÅ5¸\Ð!Jð	Lñ Lô Lˆõ
 	�T˜7Ñ#Ô#Ð#Ý�T”Y ¤Ñ-Ô-Ð-å˜Q ˜FÑ#Ô#ˆÝ”(ð 8ð 8ð 8ð!7ð !7ð !7à".°µe°¸tÅS¸kÐ!Jð	Lñ Lô Lˆõ
 	�T˜7Ñ#Ô#Ð#Ý�T”Y ¤Ñ-Ô-Ð-å˜Q  1˜IÑ&Ô&ˆÝ”(ð 8ð 8ð 8ð!7ð !7ð !7ð #/°µe°¸tÅS¸kÐ!JðLñ Lô Lˆõ 	�T˜7Ñ#Ô#Ð#Ð#Ð#rC   c                 ó"  — | j         \  }}}}t          j        g d¢ddt          fdt          fg¬¦  «        }t	          ||f¦  «        }t          j        g d¢ddt          fdt          fgg d¢¬¦  «        }t          ||¦  «         t          |j        |j        ¦  «         t	          |||f¦  «        }ddt          fdt          fd	t          fg}t          j        g d
¢|g d¢¬¦  «        }t          ||¦  «         t          |j        |j        ¦  «         d S )N©©r1   r˜   ç      Y@©r2   râ   ç      i@©r‹   rS   ç     Àr@r&   r$   rk   r'   )r3  r4  r;  r=  r?  ©r7  r7  r"  r"  r"  ©r(   rp   Úf3))r!   r   rt   rt   )r$   r   rt   rt   )r1   r˜   r<  rt   )r2   râ   r>  rt   )r‹   rS   r@  rt   )rt   rt   rt   r   )rt   rt   rt   r   )©r   r   r   r   rD  ©r   r   r   r   rE  rE  ©r   r   r   r   rF  )	r:   r6   r7   r8   r   rw   r   rp   r9   )r<   rò   r=   r?   ÚzzrI   rP   r\   s           rA   Útest_matching_named_fieldsz*TestStackArrays.test_matching_named_fields~  s_  € à”y‰ˆˆAˆq�!ÝŒXÐLÐLÐLØ)¨Cµ¨<¸#½u¸ÐFðHñ Hô Hˆå˜Q ˜GÑ$Ô$ˆÝ”(ð Uð Uð Uð #/°µe°¸sÅE¸lÐ!Kð!Bð !Bð !Bð	Cñ Cô Cˆõ 	�T˜7Ñ#Ô#Ð#Ý�T”Y ¤Ñ-Ô-Ð-å˜Q  A˜JÑ'Ô'ˆØ ¥e ¨sµE¨l¸TÅ3¸KÐHˆÝ”(ð >ð >ð >ð "(ð!=ð !=ð !=ð>ñ >ô >ˆõ 	�T˜7Ñ#Ô#Ð#Ý�T”Y ¤Ñ-Ô-Ð-Ð-Ð-rC   c                 ó„  — | j         \  }}}}t          j        g d¢ddt          fdt          fg¬¦  «        }dddd	d
œ}t	          ||f|¬¦  «        }t          j        g d¢ddt          fdt          fgg d¢¬¦  «        }t          ||¦  «         t          |j         |j         ¦  «         t          |j        |j        ¦  «         d S )Nr:  r&   r$   rk   r'   z???g     8�Àç    €‡ÃÀg    ðiøÀ)r!   r$   rk   ÚD)Údefaults))r!   r   rJ  )r$   r   rJ  r;  r=  r?  rA  rB  )r:   r6   r7   r8   r   rw   r   rp   )r<   rò   r?   rG  rL  rI   rP   s          rA   Útest_defaultszTestStackArrays.test_defaultsš  sý   € à”y‰ˆˆAˆq�!ÝŒXÐLÐLÐLØ)¨Cµ¨<¸#½u¸ÐFðHñ Hô Hˆà U°¸gÐFÐFˆÝ˜Q ˜G¨hÐ7Ñ7Ô7ˆÝ”(ð Uð Uð Uð #/°µe°¸sÅE¸lÐ!Kð!Bð !Bð !Bð	Cñ Cô Cˆõ 	�T˜7Ñ#Ô#Ð#Ý�T”Y ¤Ñ-Ô-Ð-Ý�T”Y ¤Ñ-Ô-Ð-Ð-Ð-rC   c                 óþ  — dt           fdt          fdt          fg}t          j        dgdg|¬¦  «        }dt           fdt          fdt          fg}t          j        dg|¬¦  «        }t          j        ddgdd	g|¬¦  «        }t          ||fd
¬¦  «        }t          ||¦  «         t          |j        |j        ¦  «         t          t          ¦  «        5  t          ||fd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr!   r$   rk   r  ©r   r   r   ro   ©r-   r/   r|   r'   r"  T)ÚautoconvertF)
r9   Úboolr8   rw   r7   r   r   rp   r   Ú	TypeError)r<   Úadtyper1   Úbdtyper2   rP   rI   s          rA   Útest_autoconversionz#TestStackArrays.test_autoconversion«  sL  € à��*˜s¥D˜k¨Cµ¨<Ð8ˆÝŒH�i�[¨	 {¸&ÐAÑAÔAˆØ��*˜s¥E˜l¨Sµ%¨LÐ9ˆÝŒH�i�[¨Ð/Ñ/Ô/ˆÝ”(˜I yÐ1¸ÀIÐ8NØ!'ð)ñ )ô )ˆå˜Q ˜F°Ð5Ñ5Ô5ˆÝ�T˜7Ñ#Ô#Ð#Ý�T”Y ¤Ñ-Ô-Ð-Ý�9Ñ%Ô%ð 	4ð 	4Ý˜!˜Q˜¨UÐ3Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð 	4ð 	4s   ÃC2Ã2C6Ã9C6c                 óz  — dt           fdt          fdt          fg}t          j        dgdg|¬¦  «        }dt           fdt          fdt          fg}t          j        dg|¬¦  «        }t          ||f¦  «        }t          j        ddgdd	g|¬¦  «        }t          ||¦  «         t          |j        |j        ¦  «         d S )
N)r1   r!   )r2   r$   )r‹   rk   r  rO  ro   rP  r'   r"  )r9   rR  r8   rw   r7   r   r   rp   )r<   rT  r1   rU  r2   rI   rP   s          rA   Útest_checktitlesz TestStackArrays.test_checktitles¹  sÊ   € à�sÐ# jµ$Ð%7¸*ÅeÐ9LÐMˆÝŒH�i�[¨	 {¸&ÐAÑAÔAˆØ�sÐ# jµ$Ð%7¸*ÅeÐ9LÐMˆÝŒH�i�[¨Ð/Ñ/Ô/ˆÝ˜Q ˜FÑ#Ô#ˆÝ”(˜I yÐ1¸ÀIÐ8NØ!'ð)ñ )ô )ˆå�T˜7Ñ#Ô#Ð#Ý�T”Y ¤Ñ-Ô-Ð-Ð-Ð-rC   c           
      óþ  — t          j        ddgddt          dfg¬¦  «        }t          j        ddgd	fd
dgdfddgdfgddt          dfdt          fg¬¦  «        }t          ||f¦  «        }t	          j        ddgdfddgdfddgd	fddgdfddgdfgddgdfddgdfddgdfddgdfddgdfg|j        ¬¦  «        }t          |j        |j        ¦  «         t          ||¦  «         t          |j        |j        ¦  «         d S )Nr  )r$   r   r&   r$   rL   r'   r1   r˜   r<  r2   râ   r>  r‹   rS   r@  rk   ó   Ar"   r   ó   Br%   ó   aó   bó   cFT)r:   rp   r(   )r6   r7   r8   r   rw   r(   r   rp   )r<   r?   rG  rÆ   Úexpecteds        rA   Útest_subdtypezTestStackArrays.test_subdtypeÅ  s|  € ÝŒHØ�hð
à ¥e¨TÐ 2Ð3ð5ñ 5ô 5ˆõ ŒXØ�3�%˜Ð  s e¨TÐ 2°S¸3¸%ÀÐ4Fð
à ¥e¨TÐ 2°S½%°LÐAðCñ Cô Cˆõ ˜A˜r˜7Ñ#Ô#ˆÝ”8à˜�u˜aÐ Ø˜�u˜aÐ Ø˜�v˜uÐ%Ø˜�v˜uÐ%Ø˜�v˜uÐ%ð'ð ˜˜ $Ð'Ø˜˜ $Ð'Ø˜˜ Ð'Ø˜˜ Ð'Ø˜˜ Ð'ðð ”(ð
ñ 
ô 
ˆõ  	�S”Y ¤Ñ/Ô/Ð/Ý�S˜(Ñ#Ô#Ð#Ý�S”X˜xœ}Ñ-Ô-Ð-Ð-Ð-rC   N)rÚ   rÛ   rÜ   rB   ró   r0  r8  rH  rM  rV  rX  r`  rN   rC   rA   r,  r,  8  sœ   € € € € € ð!ð !ð !ð	ð 	ð 	ð$ð $ð $ð $ð $ð $ð@.ð .ð .ð8.ð .ð .ð"4ð 4ð 4ð
.ð 
.ð 
.ð.ð .ð .ð .ð .rC   r,  c                   óV   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ ZdS )Ú
TestJoinByc                 ó$  — t          j        t          t          t          j        d¦  «        t          j        dd¦  «        t          j        dd¦  «        ¦  «        ¦  «        dt
          fdt
          fdt
          fg¬	¦  «        | _        t          j        t          t          t          j        d
d¦  «        t          j        dd¦  «        t          j        dd¦  «        ¦  «        ¦  «        dt
          fdt
          fdt
          fg¬	¦  «        | _        d S )Nr   é2   é<   r   én   r1   r2   r‹   r'   r/   rš   éA   éK   rÁ   ©r6   r7   ÚlistÚzipr¹   r9   r1   r2   ©r<   s    rA   rB   zTestJoinBy.setup_methodä  sì   € Ý”�$�s¥2¤9¨R¡=¤=µ"´)¸BÀÑ2CÔ2CÝ#%¤9¨S°#Ñ#6Ô#6ñ 8ô  8ñ 9ô 9à"%¥s ¨cµ3¨Z¸#½s¸Ð DðFñ Fô FˆŒõ ”�$�s¥2¤9¨Q°Ñ#3Ô#3µR´Y¸rÀ2Ñ5FÔ5FÝ#%¤9¨S°#Ñ#6Ô#6ñ 8ô  8ñ 9ô 9à"%¥s ¨cµ3¨Z¸#½s¸Ð DðFñ Fô FˆŒˆˆrC   c           	      óè   — | j         | j        }}t          d||d¬¦  «        }t          j        g d¢dt
          fdt
          fdt
          fdt
          fdt
          fg¬	¦  «        }t          ||¦  «         d S )
Nr1   Úinner)Újointype))r/   é7   rg  éi   r   )r|   é8   éB   éj   ée   )rŽ   é9   éC   ék   éf   )r�   é:   éD   él   ég   )r    é;   éE   ém   éh   Úb1Úb2r‹   rÁ   r'   ©r1   r2   r   r6   r7   r9   r   rå   s        rA   Útest_inner_joinzTestJoinBy.test_inner_joinì  s‰   € àŒv�t”vˆ1ˆå�s˜A˜q¨7Ð3Ñ3Ô3ˆÝ”(ð 3ð 3ð 3ð $'­ *¨tµS¨k¸DÅ#¸;Ø#&­ *¨sµC¨jð":ð;ñ ;ô ;ˆõ
 	�T˜7Ñ#Ô#Ð#Ð#Ð#rC   c                 ó´   — | j         | j        }}t          d||¦  «         t          j        g d¢dt
          fdt
          fdt
          fdt
          fg¬¦  «         d S )Nr_   ))r/   rp  rq  r   )r|   rr  rt  ru  )rŽ   rv  rx  ry  )r�   rz  r|  r}  )r    r~  r€  r�  r1   r2   r‹   rÁ   r'   )r1   r2   r   r6   r7   r9   ©r<   r1   r2   s      rA   Ú	test_joinzTestJoinBy.test_joinø  sv   € ØŒv�t”vˆ1ˆõ 	�
˜A˜qÑ!Ô!Ð!Ý
Œð %ð %ð %ð �s˜ c­3 ZØ�s˜ c­3 Zð1ð	2ñ 	2ô 	2ð 	2ð 	2ð 	2rC   c                 ó,  — t          j        dgdt          fg¬¦  «        }t          j        dt          j        g d¢¦  «        fgdt          fdg¬¦  «        }t          d||¦  «        }t	          ||                     t          j        ¦  «        ¦  «         d S )NrL   ru   r'   r   r  )ÚvalueÚuint16rv   )r6   r7   r9   r   r   rU   rw   ÚMaskedArray)r<   ÚfooÚbarrÆ   s       rA   Útest_join_subdtypezTestJoinBy.test_join_subdtype  s˜   € åŒh˜�vØ$¥c˜l˜^ð-ñ -ô -ˆåŒh˜�BœH W W WÑ-Ô-Ð.Ð/Ø$¥c˜lÐ,BÐCðEñ Eô Eˆå�e˜S #Ñ&Ô&ˆÝ�S˜#Ÿ(š(¥2¤>Ñ2Ô2Ñ3Ô3Ð3Ð3Ð3rC   c           	      óÜ   — | j         | j        }}t          d||d¦  «        }t          j        g d¢g d¢dt
          fdt
          fdt
          fdt
          fg¬	¦  «        }t          ||¦  «         d S )
Nr_   Úouter)©r   rd  r   rt   ©r   é3   ru  rt   ©r   é4   ry  rt   ©rv   é5   r}  rt   ©r-   é6   r�  rt   ©r/   rp  rq  rt   )r/   rg  rt   r   ©r|   rr  rt  rt   )r|   rs  rt   ru  ©rŽ   rv  rx  rt   )rŽ   rw  rt   ry  ©r�   rz  r|  rt   )r�   r{  rt   r}  ©r    r~  r€  rt   )r    r  rt   r�  )r   éF   rt   rq  )r�   éG   rt   rt  )r‘   éH   rt   rx  )r�   éI   rt   r|  )r¡   éJ   rt   r€  )rE  rE  rE  rE  rE  rE  ©r   r   r   r   rE  r¥  rE  r¥  rE  r¥  rE  r¥  r¥  r¥  r¥  r¥  r¥  r1   r2   r‹   rÁ   ro   ©r1   r2   r   rw   r7   r9   r   rå   s        rA   Útest_outer_joinzTestJoinBy.test_outer_join  s’   € ØŒv�t”vˆ1ˆå�z 1 a¨Ñ1Ô1ˆÝ”(ð 	Bð 	Bð 	Bð	!=ð 	!=ð 	!=ð $'­ *¨sµC¨jØ#&­ *¨sµC¨jð":ð);ñ ;ô ;ˆõ, 	�T˜7Ñ#Ô#Ð#Ð#Ð#rC   c           	      óÜ   — | j         | j        }}t          d||d¦  «        }t          j        g d¢g d¢dt
          fdt
          fdt
          fdt
          fg¬	¦  «        }t          ||¦  «         d S )
Nr_   Ú	leftouter)
r’  r“  r•  r—  r™  r›  rœ  r�  rž  rŸ  )
rE  rE  rE  rE  rE  rE  rE  rE  rE  rE  r1   r2   r‹   rÁ   ro   r¦  rå   s        rA   Útest_leftouter_joinzTestJoinBy.test_leftouter_join1  s’   € ØŒv�t”vˆ1ˆå�z 1 a¨Ñ5Ô5ˆÝ”(ð @ð @ð @ð
!=ð !=ð !=ð
 $'­ *¨sµC¨j¸3Å¸*ÀsÍCÀjÐ!Qð
Sñ 
Sô 
Sˆõ 	�T˜7Ñ#Ô#Ð#Ð#Ð#rC   c                 óÊ   — t          j        dg d¢¬¦  «        }t          j        dg d¢¬¦  «        }t          ddg||dd¬	¦  «        }t	          |j        j        g d
¢¦  «         d S )Nrv   ©r‰   rÒ   rÐ   r'   ©rÐ   rÒ   r‰   r‹   r2   rn  F)ro  rù   )r2   r‹   Úa1Úa2)r6   r‚   r×   r   r   r(   Únames)r<   r1   r2   Újs       rA   Útest_different_field_orderz%TestJoinBy.test_different_field_orderB  su   € åŒH�QÐEÐEÐEÐFÑFÔFˆÝŒG�AÐDÐDÐDÐEÑEÔEˆå�S˜#�J  1¨wÀÐFÑFÔFˆÝ�Q”W”]Ð$:Ð$:Ð$:Ñ;Ô;Ð;Ð;Ð;rC   c                 ó¤   — t          j        dg d¢¬¦  «        }t          j        dg d¢¬¦  «        }t          t          t
          g d¢||¦  «         d S )Nrv   r¬  r'   r­  )r1   r2   r2   )r6   r‚   r×   r   r½   r   r‡  s      rA   Útest_duplicate_keyszTestJoinBy.test_duplicate_keysJ  sX   € ÝŒH�QÐEÐEÐEÐFÑFÔFˆÝŒG�AÐDÐDÐDÐEÑEÔEˆÝ•j¥'¨?¨?¨?¸A¸qÑAÔAÐAÐAÐArC   c                 ó6  — t          j        ddg¦  «        }t          j        ddg¦  «        }t          j        g d¢¦  «        }t          j        ddg|¬¦  «        }t          j        dd	g|¬¦  «        }t          d
||¦  «        }t	          |j        |¦  «         d S )N)ru   ÚS5©rŠ  ú<f4©ru   ÚS10)r¹  ©Úvalue1r¸  )Úvalue2r¸  ©ÚSarahr™   ©ÚJohnr0   r'   ©r¿  r˜   ©rÁ  r—   ru   ©r6   r(   r7   r   r   ©r<   Úa_dtypeÚb_dtypeÚexpected_dtyper1   r2   rÆ   s          rA   Ú#test_same_name_different_dtypes_keyz.TestJoinBy.test_same_name_different_dtypes_keyO  s®   € Ý”(˜MÐ+;Ð<Ñ=Ô=ˆÝ”(˜NÐ,<Ð=Ñ>Ô>ˆÝœð #Bð #Bð #Bñ Cô Cˆõ ŒH�o }Ð5¸WÐEÑEÔEˆÝŒH�o }Ð5¸WÐEÑEÔEˆÝ�e˜Q Ñ"Ô"ˆå�S”Y Ñ/Ô/Ð/Ð/Ð/rC   c                 ó6  — t          j        ddg¦  «        }t          j        ddg¦  «        }t          j        g d¢¦  «        }t          j        ddg|¬¦  «        }t          j        dd	g|¬¦  «        }t          d
||¦  «        }t	          |j        |¦  «         d S )Nr¹  r·  )rŠ  ú<f8))ru   z|S10r»  )r½  rË  r¾  rÀ  r'   rÂ  rÃ  ru   rÄ  rÅ  s          rA   Útest_same_name_different_dtypesz*TestJoinBy.test_same_name_different_dtypes[  s®   € å”(˜NÐ,<Ð=Ñ>Ô>ˆÝ”(˜NÐ,<Ð=Ñ>Ô>ˆÝœð #Cð #Cð #Cñ Dô Dˆõ ŒH�o }Ð5¸WÐEÑEÔEˆÝŒH�o }Ð5¸WÐEÑEÔEˆÝ�e˜Q Ñ"Ô"ˆå�S”Y Ñ/Ô/Ð/Ð/Ð/rC   c                 ó  — t          j        dt          dfdg¦  «        }t          j        g d¢t           j        fg d¢dfg|¬¦  «        }t          j        dt          dfdg¦  «        }t          j        g d¢dfg d	¢dfg|¬¦  «        }t          j        dt          dfddg¦  «        }t          j        g d¢t           j        dfg|¬¦  «        }t          d||¦  «        }t          |j        |¦  «         t          ||¦  «         d S )
NÚposrv   )Úfr¸  )r   r   r   r  rä   r'   )Úgr¸  )rv   r   r   )r6   r(   r9   r7   Úpir   r   )r<   rÆ  r1   rÇ  r2   rÈ  r_  rÆ   s           rA   Útest_subarray_keyzTestJoinBy.test_subarray_keyh  s  € Ý”(˜U¥C¨˜O¨\Ð:Ñ;Ô;ˆÝŒH�y�y�y¥"¤%Ð(¨9¨9¨9°cÐ*:Ð;À7ÐKÑKÔKˆå”(˜U¥C¨˜O¨\Ð:Ñ;Ô;ˆÝŒH�y�y�y !�n y y y°#Ð&6Ð7¸wÐGÑGÔGˆåœ E­3° ?°LÀ,Ð"OÑPÔPˆÝ”8˜i˜i˜i­¬°Ð2Ð3¸>ÐJÑJÔJˆå�e˜Q Ñ"Ô"ˆÝ�S”Y Ñ/Ô/Ð/Ý�S˜(Ñ#Ô#Ð#Ð#Ð#rC   c                 óX  — t          j        dd¬¦  «        }d|_        t          t	          |j        ¦  «        d¦  «         t          j        ddg|¦  «        }t          j        dd	g|¦  «        }t          d
||¦  «        }t          j        g d¢¦  «        }t          |j        |¦  «         d S )Nzi1,f4Tr   )ÚkÚvrv   rÖ   )rv   r   r  r¥   rÔ  ))rÔ  Úi1)Úv1rŒ   )Úv2rŒ   )	r6   r(   r°  r   ÚlenÚdescrr7   r   r   )r<   r†   r1   r2   rÆ   rÈ  s         rA   Útest_padded_dtypezTestJoinBy.test_padded_dtypev  s®   € ÝŒX�g TÐ*Ñ*Ô*ˆØˆŒÝ•�B”H‘”˜qÑ!Ô!Ð!åŒH�f˜fÐ% rÑ*Ô*ˆÝŒH�f˜fÐ% rÑ*Ô*ˆÝ�c˜1˜aÑ Ô ˆõ œð #
ð #
ð #
ñ ô ˆõ 	�S”Y Ñ/Ô/Ð/Ð/Ð/rC   N)rÚ   rÛ   rÜ   rB   r…  rˆ  r�  r§  rª  r²  r´  rÉ  rÌ  rÒ  rÛ  rN   rC   rA   rb  rb  ã  sÎ   € € € € € ðFð Fð Fð
$ð 
$ð 
$ð2ð 2ð 2ð(4ð 4ð 4ð$ð $ð $ð8$ð $ð $ð"<ð <ð <ðBð Bð Bð

0ð 
0ð 
0ð0ð 0ð 0ð$ð $ð $ð0ð 0ð 0ð 0ð 0rC   rb  c                   ó<   — e Zd Zed„ ¦   «         Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestJoinBy2c                 ó"  — t          j        t          t          t          j        d¦  «        t          j        dd¦  «        t          j        dd¦  «        ¦  «        ¦  «        dt
          fdt
          fdt
          fg¬	¦  «        | _        t          j        t          t          t          j        d¦  «        t          j        d
d¦  «        t          j        dd¦  «        ¦  «        ¦  «        dt
          fdt
          fdt
          fg¬	¦  «        | _        d S )Nr   rd  re  r   rf  r1   r2   r‹   r'   rg  rh  rÁ   ri  )Úclss    rA   rB   zTestJoinBy2.setup_methodˆ  sè   € å”��c¥"¤)¨B¡-¤-µ´¸2¸rÑ1BÔ1BÝ"$¤)¨C°Ñ"5Ô"5ñ7ô 7ñ 8ô 8à!$¥c 
¨Sµ#¨J¸½c¸
ÐCðEñ Eô EˆŒõ ”��c¥"¤)¨B¡-¤-µ´¸2¸rÑ1BÔ1BÝ"$¤)¨C°Ñ"5Ô"5ñ7ô 7ñ 8ô 8à!$¥c 
¨Sµ#¨J¸½c¸
ÐCðEñ Eô EˆŒˆˆrC   c           	      óì   — | j         | j        }}t          d||ddd¬¦  «        }t          j        g d¢dt
          fdt
          fdt
          fd	t
          fd
t
          fg¬¦  «        }t          ||¦  «         d S )Nr1   rG   Ú2rn  ©Ú	r1postfixÚ	r2postfixro  ©
)r   rd  rg  r   r   )r   r”  rs  ru  ru  )r   r–  rw  ry  ry  )rv   r˜  r{  r}  r}  )r-   rš  r  r�  r�  )r/   rp  r   rq  rq  )r|   rr  r¡  rt  rt  )rŽ   rv  r¢  rx  rx  )r�   rz  r£  r|  r|  )r    r~  r¤  r€  r€  r2   rƒ  r‹   rÁ   r'   r„  rå   s        rA   Útest_no_r1postfixzTestJoinBy2.test_no_r1postfix‘  sš   € àŒv�t”vˆ1ˆåØ��A ¨s¸WðFñ Fô Fˆå”(ð Jð Jð Jð
 $'­ *¨sµC¨j¸4Å¸+Ø#&­ *¨sµC¨jð":ð;ñ ;ô ;ˆõ 	�T˜7Ñ#Ô#Ð#Ð#Ð#rC   c           	      óZ   — t          t          t          d| j        | j        dd¬¦  «         d S )Nr1   rG   )rã  rä  )r   r½   r   r1   r2   rl  s    rA   Útest_no_postfixzTestJoinBy2.test_no_postfix   s6   € Ý•j¥'¨3°´¸¼Ø "¨bð	2ñ 	2ô 	2ð 	2ð 	2ð 	2rC   c           	      óì   — | j         | j        }}t          d||ddd¬¦  «        }t          j        g d¢dt
          fdt
          fdt
          fd	t
          fd
t
          fg¬¦  «        }t          ||¦  «         d S )Nr1   Ú1rG   rn  râ  rå  r‚  r2   r‹   rÁ   r'   r„  rå   s        rA   Útest_no_r2postfixzTestJoinBy2.test_no_r2postfix¤  sš   € àŒv�t”vˆ1ˆåØ��A °¸WðFñ Fô Fˆå”(ð Jð Jð Jð
 $'­ *¨tµS¨k¸CÅ¸:Ø#&­ *¨sµC¨jð":ð;ñ ;ô ;ˆõ 	�T˜7Ñ#Ô#Ð#Ð#Ð#rC   c                 óä  — t          j        t          t          t          j        ddgd¦  «        t          j        t          j        d¦  «        d¦  «        t          j        dd¦  «        t          j        dd¦  «        ¦  «        ¦  «        dt          fd	t          fd
t          fdt          fg¬¦  «        }t          j        t          t          t          j        ddgd¦  «        t          j        t          j        d¦  «        d¦  «        t          j        dd¦  «        t          j        dd¦  «        ¦  «        ¦  «        dt          fd	t          fd
t          fdt          fg¬¦  «        }t          j        g d¢dt          fd	t          fdt          fdt          fdt          fdt          fg¬¦  «        }t          d	dg||ddd¬¦  «        }t          |j
        |j
        ¦  «         t          ||¦  «         d S )Nr   r�   r/   r   rd  re  r   rÔ  r1   r2   r‹   r'   rg  rh  r   )
)r   r   rd  rg  r   r   )r�   r   r”  rs  r�   r   )r   r   r–  rw  r‘   r   )r�   r   r˜  r{  r�   rv   )r   r   rš  r  r¡   r-   )r�   r   rp  r   rš   r/   )r   rv   rr  r¡  é   r|   )r�   rv   rv  r¢  r›   rŽ   )r   r-   rz  r£  é   r�   )r�   r-   r~  r¤  é   r    r‚  rƒ  Úc1Úc2rê  rá  rn  râ  )r6   r7   rj  rk  ÚtileÚrepeatr¹   r9   r   r   r(   )r<   r1   r2   rP   rI   s        rA   Útest_two_keys_two_varsz"TestJoinBy2.test_two_keys_two_vars³  sß  € ÝŒH•T�#�bœg r¨2 h°Ñ2Ô2µB´I½b¼iÈ¹l¼lÈAÑ4NÔ4NÝ œi¨¨BÑ/Ô/µ´¸2¸rÑ1BÔ1BñDô Dñ Eô Eà ¥#˜J¨­c¨
°S½#°JÀÅcÀ
ÐKðMñ Mô Mˆõ ŒH•T�#�bœg r¨2 h°Ñ2Ô2µB´I½b¼iÈ¹l¼lÈAÑ4NÔ4NÝ œi¨¨BÑ/Ô/µ´¸1¸bÑ1AÔ1AñCô Cñ Dô Dà ¥#˜J¨­c¨
°S½#°JÀÅcÀ
ÐKðMñ Mô Mˆõ ”(ð Lð Lð Lð
 $'­ *¨sµC¨j¸4Å¸+Ø#'­ +°µc¨{¸TÅ3¸Kð"IðJñ Jô Jˆõ Ø�#ˆJ˜˜1¨°sÀWðNñ Nô Nˆå�T”Z ¤Ñ/Ô/Ð/Ý�T˜7Ñ#Ô#Ð#Ð#Ð#rC   N)	rÚ   rÛ   rÜ   ÚclassmethodrB   ræ  rè  rë  rô  rN   rC   rA   rÝ  rÝ  ‡  sl   € € € € € ØðEð Eñ „[ðEð$ð $ð $ð2ð 2ð 2ð$ð $ð $ð$ð $ð $ð $ð $rC   rÝ  c                   ó   — e Zd ZdZd„ Zd„ ZdS )ÚTestAppendFieldsObjz;
    Test append_fields with arrays containing objects
    c                 óR   — ddl m} t           |ddd¦  «        ¬¦  «        | _        d S )Nr   )ÚdateiÐ  r   )Úobj)Údatetimerù  Údictr:   )r<   rù  s     rA   rB   z TestAppendFieldsObj.setup_methodÎ  s8   € Ø!Ð!Ð!Ð!Ð!Ð!Ý˜T˜T $¨¨1Ñ-Ô-Ð.Ñ.Ô.ˆŒ	ˆ	ˆ	rC   c                 ód  — | j         d         }t          j        |df|dfgdt          fdt          fg¬¦  «        }t          j        ddgt
          ¬¦  «        }t          |d	|d
¬¦  «        }t          j        |ddf|ddfgdt          fdt          fd	t
          fg¬¦  «        }t          ||¦  «         dS )z7Test append_fields when the base array contains objectsrú  r"   r%   r!   r$   r'   r   r   rk   F)r:   rù   N)r:   r6   r7   Úobjectr8   r9   r   r   )r<   rú  r=   r>   rI   rP   s         rA   Útest_append_to_objectsz*TestAppendFieldsObj.test_append_to_objectsÒ  sÉ   € àŒi˜ÔˆÝŒH�s˜B�i # r Ð+Ø!¥6˜]¨Sµ%¨LÐ9ð;ñ ;ô ;ˆåŒH�b˜"�X¥SÐ)Ñ)Ô)ˆÝ˜Q ¨!°UÐ;Ñ;Ô;ˆÝ”(˜S # r˜N¨S°#°r¨NÐ;Ø#&­ -°#µu°ÀÅS¸zÐ!JðLñ Lô Lˆå�T˜7Ñ#Ô#Ð#Ð#Ð#rC   N)rÚ   rÛ   rÜ   Ú__doc__rB   rÿ  rN   rC   rA   r÷  r÷  È  s<   € € € € € ðð ð
/ð /ð /ð	$ð 	$ð 	$ð 	$ð 	$rC   r÷  ).ÚpytestÚnumpyr6   Únumpy.marw   Únumpy.ma.mrecordsr   Únumpy.ma.testutilsr   Únumpy.testingr   r   Únumpy.lib.recfunctionsr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   ÚlibÚrecfunctionsÚ_get_fieldspecÚget_fieldspecrZ   r`   Ú
_zip_descrrH   Ú
_zip_dtypeÚ	zip_dtyper   rÞ   rë   r  r,  rb  rÝ  r÷  rN   rC   rA   ú<module>r     sÅ  ðØ €€€à Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ø +Ð +Ð +Ð +Ð +Ð +Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0ð?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð
 ”Ô#Ô2€ØŒFÔÔ)€	Ø”Ô$Ô3€ØŒFÔÔ*€	ØŒFÔÔ*€	ðOð Oð Oð Oð Oñ Oô Oð Oðd
$ð $ð $ð $ð $ñ $ô $ð $ð.B$ð B$ð B$ð B$ð B$ñ B$ô B$ð B$ðJ3$ð 3$ð 3$ð 3$ð 3$ñ 3$ô 3$ð 3$ðlh.ð h.ð h.ð h.ð h.ñ h.ô h.ð h.ðVa0ð a0ð a0ð a0ð a0ñ a0ô a0ð a0ðH?$ð ?$ð ?$ð ?$ð ?$ñ ?$ô ?$ð ?$ðB$ð $ð $ð $ð $ñ $ô $ð $ð $ð $rC   