§
    ¡öÉgÓ«  ã                   ó   — 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        úm/var/www/html/nodeJS/PythonScripts/venv3.11/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_fields@   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_fields`   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_namesk   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>.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   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�"œ( 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ˆÝ•Ô   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ð	)ð 	)ð 	)ð	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õ ”(˜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_structuredx  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�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ðP'ð P'ð P'ðd%ð %ð %ðð ð ð ð 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_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_singleE  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   r2  )r   r   r3  )rt   r   rt   )©r   r   r   r4  )r   r   r   rœ   r!   r$   ro   r.  r/  s        rA   Útest_append_doublez#TestAppendFields.test_append_doubleN  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   )r4  r4  ©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_flexW  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   r7  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   r0  r5  r9  r<  rN   rC   rA   r)  r)  9  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_methodq  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_soloz  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   rD  r  r  rœ   r&   r$   ro   )©r!   r   rt   ©r$   r   rt   ©rt   rt   r   ©rt   rt   r   )©r   r   r   rI  r8  r8  r&  )rE  rF  rE  rF  rG  rH  )rI  rI  rI  rI  r8  r8  )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'   )rE  rF  rM  rO  rQ  ©rI  rI  r4  r4  r4  ©r(   rp   Úf3))r!   r   rt   rt   )r$   r   rt   rt   )r1   r˜   rN  rt   )r2   rô   rP  rt   )r‹   rS   rR  rt   )rt   rt   rt   r   )rt   rt   rt   r   )©r   r   r   r   rV  ©r   r   r   r   rW  rW  ©r   r   r   r   rX  )	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 )NrL  r&   r$   rk   r'   z???g     8�Àç    €‡ÃÀg    ðiøÀ)r!   r$   rk   ÚD)Údefaults))r!   r   r\  )r$   r   r\  rM  rO  rQ  rS  rT  )r:   r6   r7   r8   r   rw   r   rp   )r<   r  r?   rY  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'   r4  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  ra  ro   rb  r'   r4  )r9   rd  r8   rw   r7   r   r   rp   )r<   rf  r1   rg  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˜   rN  r2   rô   rP  r‹   rS   rR  rk   ó   Ar"   r   ó   Br%   ó   aó   bó   cFT)r:   rp   r(   )r6   r7   r8   r   rw   r(   r   rp   )r<   r?   rY  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  rB  rJ  rZ  r_  rh  rj  rr  rN   rC   rA   r>  r>  o  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   é<   r2  é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   ry  éi   r2  )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ƒ  r2  )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_subdtypeC  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   rv  r2  rt   ©r   é3   r‡  rt   ©r   é4   r‹  rt   ©rv   é5   r�  rt   ©r-   é6   r“  rt   ©r/   r‚  rƒ  rt   )r/   ry  rt   r2  ©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’  )rW  rW  rW  rW  rW  rW  ©r   r   r   r   rW  r·  rW  r·  rW  r·  rW  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_joinL  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±  )
rW  rW  rW  rW  rW  rW  rW  rW  rW  rW  r1   r2   r‹   rÏ   ro   r¸  r÷   s        rA   Útest_leftouter_joinzTestJoinBy.test_leftouter_joinh  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_ordery  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Ú  rq  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   rt  rt    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   rt  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   rv  rw  r2  rx  r1   r2   r‹   r'   ry  rz  rÏ   r{  )Ú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   rv  ry  r2  r2  )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   rv  rw  r   ræ  r1   r2   r‹   r'   ry  rz  r   )
)r   r   rv  ry  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                 ó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	  )-Ú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>  rt  rï  r	  rN   rC   rA   ú<module>r      s¼  ðà Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ø +Ð +Ð +Ð +Ð +Ð +Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0ð?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð
 ”Ô#Ô2€ØŒFÔÔ)€	Ø”Ô$Ô3€ØŒFÔÔ*€	ØŒFÔÔ*€	ðGð Gð Gð Gð Gñ Gô Gð GðT$ð $ð $ð $ð $ñ $ô $ð $ð.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   