§
    u! h´¯  ã                   ó   — d dl Zd dl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 d dlmZ d dlmZ d dl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)Ú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                   ó\   — 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        ú[c:\xampp_lite_8_4\www\timesheet\venv\Lib\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_fieldsM   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_fieldsm   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_namesx   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          t          j        ||¦  «        ¦  «         t          t          j        |	|¦  «        ¦  «         t          |d	dg         ¦  «        }
t          |
dd&gd'dgd(d'gd)dgg¦  «         t          t          j        |
|¦  «        ¦  «         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          t          j        ||¦  «        ¦  «         t          t          j        |	|¦  «        ¦  «         |d d d
…         }t          |¦  «        }t          |g d2¢g d3¢g¦  «         |g d4¢         }t          |¦  «        }
t          |
g d5¢g d6¢g¦  «         t          j        d&d*d+gddgd,d'ggd7fd-d.dgd(d)gd/d0ggd8fgg d9¢¬¦  «        }t          |g d:¢         ¦  «        }t          t          j        ||¦  «        ¦  «         t          |g d3¢g d2¢g¦  «         t          j	        dt          fd;t          fg¦  «        }t          j	        d<|fd |fd=|fg¦  «        }t          j        d|¦  «        }t          |t          ¬¦  «        }t          |t          j        d>t          ¬¦  «        ¦  «         d?„ }d@„ }dPdA„} | | |t           j        t           j        ¦  «        d+¦  «        ¦  «        }t           ||¦  «        dBt           j        |f¦  «          | | |t           j        d*¦  «        d*¦  «        ¦  «        }t           ||¦  «        dCt           j        |f¦  «          |t           j        ¦  «        }t           ||¦  «        dDt           j        |f¦  «          |t           j         | |t           j        d*¦  «        d*¦  «        ¦  «        }t           ||¦  «        dEt           j        |f¦  «          |¦   «         }t          t           t          t          j        d+|¦  «        ¦  «         t          t"          t          t          j        d+|¦  «        t           j        ¬¦  «         t          t"          t          t          j        dFt           j        ¬¦  «        ¦  «         t          j        dGdHgddIg¬¦  «        }t          |dJ¬K¦  «        }|                     t           j        ¦  «        }t          |dL¬K¦  «        }t          |dJ¬K¦  «        }	t          t          j        ||¦  «        ¦  «         t          t)          |¦  «        t           j        u ¦  «         t          t)          |	¦  «        t           j        u ¦  «         t          ||¦  «         t          |	|¦  «         t          j        |dMz  dN|j	        |j        ¬O¦  «        }||d d …<   t          |dL¬K¦  «        }t          |dJ¬K¦  «        }	t          t          j        ||¦  «        ¦  «         t          t)          |¦  «        t           j        u ¦  «         t          t)          |	¦  «        t           j        u ¦  «         t          ||¦  «         t          |	|¦  «         d S )QNr-   )©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Ž   r�   r‘   r   rv   r|   r�   é	   r�   é   )©Úx0rŠ   ©Úx1)rŠ   r   ©Úx2)rŠ   ©r   r   )r�   r    r   r�   r‘   r�   r¡   )r   r   rv   r-   r/   r|   rŽ   )r§   r¥   r£   )r-   r/   r|   rŽ   r   rv   r   )r�   r‘   r�   r¡   r    r   r�   é    é@   )r¢   r¤   r¦   )ÚignoredÚu1)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>.subarrayF  s   € Ý”8˜R ˜KÑ(Ô(Ð(rC   c                  óX   — t          j        d„ t          | ¦  «        D ¦   «         ¦  «        S )Nc                 ó"   — g | ]\  }}d |› �|f‘ŒS )r=   rN   )Ú.0Úir†   s      rA   ú
<listcomp>zXTestRecFunctions.test_structured_to_unstructured.<locals>.structured.<locals>.<listcomp>J  s&   € ÐGÐGÐG©u¨q°"˜g !˜g˜g r˜]ÐGÐGÐGrC   )r6   r(   Ú	enumerate)Údtss    rA   Ú
structuredzDTestRecFunctions.test_structured_to_unstructured.<locals>.structuredI  s'   € Ý”8ÐGÐG½	À#¹¼ÐGÑGÔGÑHÔHÐHrC   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>.inspectL  sG   € Ý”(˜2˜rÑ"Ô"ˆCÝ,¨S¸Ð>Ñ>Ô>ˆCÝ0°°bÑ9Ô9ˆGØ”9˜cœi¨¬Ð6Ð6rC   )r|   rM   rL   )r/   )rv   r   ©r   r   ©rv   r-   )r2   rŠ   T)ÚcopyFÚmemmapzw+)Úmoder(   r¯   r®   )r6   r‚   r   r   r7   ÚmeanÚarangeÚreshaper   r(   r   r   Úshares_memoryr9   Úint32r   Ú
ValueErrorÚNotImplementedErrorrU   Úrecarrayr…   rÁ   r¯   )r<   Útmp_pathr1   Úoutr2   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                           rA   Útest_structured_to_unstructuredz0TestRecFunctions.test_structured_to_unstructuredó   sK	  € ÝŒH�QÐKÐKÐKÐLÑLÔLˆÝ(¨Ñ+Ô+ˆÝ�S�"œ( 6°Ð6Ñ6Ô6Ñ7Ô7Ð7åŒHÐEÐEÐEØBÐBÐBðDñ Dô DˆåŒgÕ0°°C¸°:´Ñ?Ô?ÀbÐIÑIÔIˆÝ�S�"œ(Ð#7Ð#7Ð#7Ñ8Ô8Ñ9Ô9Ð9ÝŒgÕ0°°C°5´Ñ:Ô:ÀÐDÑDÔDˆÝ�S�"œ(Ð#7Ð#7Ð#7Ñ8Ô8Ñ9Ô9Ð9åŒ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ÐCÐCÐCÑDÔDñ	Fô 	Fð 	FåÕ'­¬°°C¸°:´Ñ?Ô?Ý”XÐ3Ð3Ð3Ñ4Ô4ñ	6ô 	6ð 	6õ ŒHÐEÐEÐEØBÐBÐBðDñ Dô Dˆå'¨Ñ*Ô*ˆÝ(¨¨Q¬WÑ5Ô5ˆÝ•Ô   QÑ'Ô'Ñ(Ô(Ð(Ý•Ô   aÑ(Ô(Ñ)Ô)Ð)õ 3°1°c¸3°Z´=ÑAÔAˆÝ�] a¨ V¨a°¨V°b¸!°W¸rÀ2¸hÐ$GÑHÔHÐHÝ•Ô  °Ñ2Ô2Ñ3Ô3Ð3õ Œ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ˆÝ•Ô   QÑ'Ô'Ñ(Ô(Ð(Ý•Ô   aÑ(Ô(Ñ)Ô)Ð)ð �$�$�B�$”ˆÝ+¨EÑ2Ô2ˆÝ�VÐ8Ð8Ð8Ø3Ð3Ð3ð5ñ 	6ô 	6ð 	6ð Ð+Ð+Ð+Ô,ˆÝ2°<Ñ@Ô@ˆÝ�]Ð%:Ð%:Ð%:Ø%?Ð%?Ð%?ð%Añ 	Bô 	Bð 	Bõ ŒH�q˜1˜q˜' Q¨ F¨Q°¨FÐ#3°RÐ8Ø˜1˜b˜' R¨ H¨r°2¨hÐ#7¸Ð<ð>ðGð Gð GðHñ Hô Hˆõ (¨Ð*<Ð*<Ð*<Ô(=Ñ>Ô>ˆÝ•Ô   QÑ'Ô'Ñ(Ô(Ð(Ý�RÐ/Ð/Ð/Ø4Ð4Ð4ð6ñ 	7ô 	7ð 	7õ ”˜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ð	)ð 	)ð 	)ð	Ið 	Ið 	Ið	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°FÅ"Ä(Ð+KÑ+KÔ+Kñ	Mô 	Mð 	Mõ ”(˜F FÐ+°KÀÐ3MÐNÑNÔNˆÝ0°¸tÐDÑDÔDˆð �LŠL�œÑ%Ô%ˆå'¨°Ð6Ñ6Ô6ˆÝ(¨°Ð6Ñ6Ô6ˆÝ•Ô   BÑ'Ô'Ñ(Ô(Ð(Ý•�R‘”�BœKÐ'Ñ(Ô(Ð(Ý•�S‘	”	�Rœ[Ð(Ñ)Ô)Ð)Ý�R˜Ñ%Ô%Ð%Ý�S˜+Ñ&Ô&Ð&õ ŒI�h Ñ)ØØ#œMØ#œMð+ñ +ô +ˆð ˆˆ!ˆ!ˆ!‰Ý'¨°Ð6Ñ6Ô6ˆÝ(¨°Ð6Ñ6Ô6ˆÝ•Ô   BÑ'Ô'Ñ(Ô(Ð(Ý•�R‘”�BœIÐ%Ñ&Ô&Ð&Ý•�S‘	”	�RœYÐ&Ñ'Ô'Ð'Ý�R˜Ñ%Ô%Ð%Ý�S˜+Ñ&Ô&Ð&Ð&Ð&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_structured„  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‹   r¬   r'   ©r2   rŒ   rã   r¾   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_name�  sþ  € ÝŒG�AÐDÐDÐDÐEÑEÔEˆØ˜kÐ*ˆå•^ A uÑ-Ô-­r¬w°q¸%Ñ/@Ô/@ÑAÔAÐAåŒH�f˜fÐ%¨UÐ3Ñ3Ô3ˆÝ˜a °EÐ:Ñ:Ô:Ð:Ý�Q�œ )¨YÐ!7¸q¼wÐGÑGÔGÑHÔHÐHÝ˜a Ñ#Ô#Ð#Ý�Q�œ )¨YÐ!7¸q¼wÐGÑGÔGÑHÔHÐHõ ŒG�A˜s [°+Ð$>Ð?Ð@ÐAÑAÔAˆØ˜�}Ð%Ð&ˆÝ•^ A uÑ-Ô-­r¬w°q¸%Ñ/@Ô/@ÑAÔAÐAÝŒH�g˜wÐ'¨uÐ5Ñ5Ô5ˆÝ˜a °EÐ:Ñ:Ô:Ð:Ý�Q�œ )¨YÐ!7¸q¼wÐGÑGÔGÑHÔHÐHÝ˜a Ñ#Ô#Ð#Ý�Q�œ )¨YÐ!7¸q¼wÐGÑGÔGÑHÔHÐHõ Œ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ðO'ð O'ð O'ðb%ð %ð %ðð ð ð ð 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_flexible«  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_flexible´  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ï   ©  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_methodG  ó¥   € ÝŒ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_singleP  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   r1  )r   r   r2  )rt   r   rt   )©r   r   r   r3  )r   r   r   rœ   r!   r$   ro   r-  r.  s        rA   Útest_append_doublez#TestAppendFields.test_append_doubleY  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   )r3  r3  ©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_flexb  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   r6  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_nestedk  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/  r4  r8  r;  rN   rC   rA   r(  r(  D  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_solo…  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_fields�  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   rC  r  r  rœ   r&   r$   ro   )©r!   r   rt   ©r$   r   rt   ©rt   rt   r   ©rt   rt   r   )©r   r   r   rH  r7  r7  r%  )rD  rE  rD  rE  rF  rG  )rH  rH  rH  rH  r7  r7  )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'   )rD  rE  rL  rN  rP  ©rH  rH  r3  r3  r3  ©r(   rp   Úf3))r!   r   rt   rt   )r$   r   rt   rt   )r1   r˜   rM  rt   )r2   ró   rO  rt   )r‹   rS   rQ  rt   )rt   rt   rt   r   )rt   rt   rt   r   )©r   r   r   r   rU  ©r   r   r   r   rV  rV  ©r   r   r   r   rW  )	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 )NrK  r&   r$   rk   r'   z???g     8�Àç    €‡ÃÀg    ðiøÀ)r!   r$   rk   ÚD)Údefaults))r!   r   r[  )r$   r   r[  rL  rN  rP  rR  rS  )r:   r6   r7   r8   r   rw   r   rp   )r<   r  r?   rX  r]  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'   r3  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  r`  ro   ra  r'   r3  )r9   rc  r8   rw   r7   r   r   rp   )r<   re  r1   rf  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˜   rM  r2   ró   rO  r‹   rS   rQ  rk   ó   Ar"   r   ó   Br%   ó   aó   bó   cFT)r:   rp   r(   )r6   r7   r8   r   rw   r(   r   rp   )r<   r?   rX  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  rA  rI  rY  r^  rg  ri  rq  rN   rC   rA   r=  r=  z  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   é<   r1  é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   rx  éi   r1  )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/   r�  r‚  r1  )r|   rƒ  r…  r†  )rŽ   r‡  r‰  rŠ  )r�   r‹  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_subdtypeM  s˜   € åŒh˜�vØ$¥c˜l˜^ð-ñ -ô -ˆåŒh˜�BœH Y Y YÑ/Ô/Ð0Ð1Ø$¥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   ru  r1  rt   ©r   é3   r†  rt   ©r   é4   rŠ  rt   ©rv   é5   rŽ  rt   ©r-   é6   r’  rt   ©r/   r�  r‚  rt   )r/   rx  rt   r1  ©r|   rƒ  r…  rt   )r|   r„  rt   r†  ©rŽ   r‡  r‰  rt   )rŽ   rˆ  rt   rŠ  ©r�   r‹  r�  rt   )r�   rŒ  rt   rŽ  ©r    r�  r‘  rt   )r    r�  rt   r’  )r   éF   rt   r‚  )r�   éG   rt   r…  )r‘   éH   rt   r‰  )r�   éI   rt   r�  )r¡   éJ   rt   r‘  )rV  rV  rV  rV  rV  rV  ©r   r   r   r   rV  r¶  rV  r¶  rV  r¶  rV  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_joinV  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°  )
rV  rV  rV  rV  rV  rV  rV  rV  rV  rV  r1   r2   r‹   rÎ   ro   r·  rö   s        rA   Útest_leftouter_joinzTestJoinBy.test_leftouter_joinr  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   r  F)r€  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_orderƒ  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_keys‹  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_key�  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Ù  rp  r×   s           rA   Útest_subarray_keyzTestJoinBy.test_subarray_key©  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_dtype·  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   rs  rs  %  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   rs  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   ru  rv  r1  rw  r1   r2   r‹   r'   rx  ry  rÎ   rz  )Ú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   Ú2r  ©Ú	r1postfixÚ	r2postfixr€  ©
)r   ru  rx  r1  r1  )r   r¥  r„  r†  r†  )r   r§  rˆ  rŠ  rŠ  )rv   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´  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   r}  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   r  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   ru  rv  r   rå  r1   r2   r‹   r'   rx  ry  r   )
)r   r   ru  rx  r   r   )r�   r   r¥  r„  r�   r   )r   r   r§  rˆ  r‘   r   )r�   r   r©  rŒ  r�   rv   )r   r   r«  r�  r¡   r-   )r�   r   r�  r±  rš   r/   )r   rv   rƒ  r²  é   r|   )r�   rv   r‡  r³  r›   rŽ   )r   r-   r‹  r´  é   r�   )r�   r-   r�  rµ  é   r    r“  r”  Úc1Úc2rû  rò  r  ró  )r6   r7   r{  r|  Ú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                 ó:   — ddl m} d |ddd¦  «        i| _        d S )Nr   )ÚdateÚobjiÐ  r   )Údatetimer
  r:   )r<   r
  s     rA   rB   z TestAppendFieldsObj.setup_method  s2   € Ø!Ð!Ð!Ð!Ð!Ð!Ø˜D˜D  q¨!Ñ,Ô,Ð-ˆŒ	ˆ	ˆ	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  )-Únumpyr6   Ú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_fieldspecrZ   r`   Ú
_zip_descrrH   Ú
_zip_dtypeÚ	zip_dtyper   rï   rü   r(  r=  rs  rî  r  rN   rC   rA   ú<module>r     s¼  ðà Ð Ð Ð Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð" ,Ð +Ð +Ð +Ð +Ð +Ø +Ð +Ð +Ð +Ð +Ð +Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0à”Ô#Ô2€ØŒFÔÔ)€	Ø”Ô$Ô3€ØŒFÔÔ*€	ØŒFÔÔ*€	ðFð Fð Fð Fð Fñ Fô Fð FðR$ð $ð $ð $ð $ñ $ô $ð $ð.A$ð A$ð A$ð A$ð A$ñ A$ô A$ð A$ðH3$ð 3$ð 3$ð 3$ð 3$ñ 3$ô 3$ð 3$ðlh.ð h.ð h.ð h.ð h.ñ h.ô h.ð h.ðV`0ð `0ð `0ð `0ð `0ñ `0ô `0ð `0ðF?$ð ?$ð ?$ð ?$ð ?$ñ ?$ô ?$ð ?$ðB$ð $ð $ð $ð $ñ $ô $ð $ð $ð $rC   