§
    €Ûg…h  ã                   óD  — d dl Zd dlZd dlZd dl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 d dlmZmZmZmZmZ ej        dk    Z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# 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+ G d$„ d%¦  «        Z,d&„ Z-dS )'é    N)Úapply_along_axisÚapply_over_axesÚarray_splitÚsplitÚhsplitÚdsplitÚvsplitÚdstackÚcolumn_stackÚkronÚtileÚexpand_dimsÚtake_along_axisÚput_along_axis)Úassert_Úassert_equalÚassert_array_equalÚassert_raisesÚassert_warnsì        c                 óF   ‡ — t          j        ‰ ¦  «        ˆ fd„¦   «         }|S )z: hack in keepdims behavior into a function taking an axis c                 óN   •—  ‰| fd|i|¤Ž}|€d}t          j        ||¬¦  «        S )NÚaxisr   ©r   )Únpr   )Úar   ÚkwargsÚresÚfuncs       €úU/granary/edev/quantum/lib/python3.11/site-packages/numpy/lib/tests/test_shape_base.pyÚwrappedz_add_keepdims.<locals>.wrapped   s>   ø€ àˆd�1Ð*Ð*˜4Ð* 6Ð*Ð*ˆØˆ<ØˆDÝŒ~˜c¨Ð-Ñ-Ô-Ð-ó    )Ú	functoolsÚwraps)r   r!   s   ` r    Ú_add_keepdimsr%      s8   ø€ å„_�TÑÔð.ð .ð .ð .ñ Ôð.ð
 €Nr"   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestTakeAlongAxisc           
      óŠ  — ddl m}  |ddd¦  «        }t          j        t          j        t          ¦   «         ft          t          j        ¦  «        t          t          j        ¦  «        t          ¦   «         ft          t          j	        ¦  «        t          t          j
        ¦  «        t          ¦   «         ft          j        t          j        t          d¬¦  «        fg}|D ]d\  }}}t          t          |j        ¦  «        ¦  «        dgz   D ]8} ||fd	|i|¤Ž} ||fd	|i|¤Ž}	t!          |t#          ||	|¬
¦  «        ¦  «         Œ9ŒedS )z- Test it translates from arg<func> to <func> r   ©Úrandé   é   é   é   )ÚkthNr   r   )Únumpy.randomr*   r   ÚsortÚargsortÚdictr%   ÚminÚargminÚmaxÚargmaxÚ	partitionÚargpartitionÚlistÚrangeÚndimr   r   )
Úselfr*   r   Úfuncsr   Úargfuncr   r   Úa_funcÚai_funcs
             r    Útest_argequivalentz$TestTakeAlongAxis.test_argequivalent   sH  € à%Ð%Ð%Ð%Ð%Ð%ØˆD��A�q‰MŒMˆõ ŒW•b”j¥$¡&¤&Ð)Ý�2œ6Ñ"Ô"¥Mµ"´)Ñ$<Ô$<½d¹f¼fÐEÝ�2œ6Ñ"Ô"¥Mµ"´)Ñ$<Ô$<½d¹f¼fÐEÝŒ\�2œ?­D°Q¨K©K¬KÐ8ð	
ˆð &+ð 	Mð 	MÑ!ˆD�'˜6Ý�U 1¤6™]œ]Ñ+Ô+¨t¨fÑ4ð Mð M�Ø˜˜aÐ5Ð5 dÐ5¨fÐ5Ð5�Ø!˜' !Ð9Ð9¨$Ð9°&Ð9Ð9�Ý˜V¥_°Q¸ÀdÐ%KÑ%KÔ%KÑLÔLÐLÐLðMð	Mð 	Mr"   c                 ó  — t          j        d¦  «        }t          j        dt           j        ¬¦  «        }t          ||d¬¦  «         t	          t
          t          |t          j        d¦  «        d¬¦  «         t	          t          t          ||                     t          ¦  «        d¬¦  «         t	          t          t          ||                     t          ¦  «        d¬¦  «         t	          t           j        t          ||d¬¦  «         dS )z4 Test it errors when indices has too few dimensions )é
   rD   )rD   r.   ©Údtypeé   r   rD   N)r   ÚonesÚintpr   r   Ú
ValueErrorÚarrayÚ
IndexErrorÚastypeÚboolÚfloatÚ	AxisError©r=   r   Úais      r    Útest_invalidzTestTakeAlongAxis.test_invalid1   sÊ   € åŒG�HÑÔˆÝŒW�W¥B¤GÐ,Ñ,Ô,ˆõ 	˜˜2 AÐ&Ñ&Ô&Ð&õ 	•j¥/°1µb´h¸q±k´kÈÐJÑJÔJÐJå•j¥/°1°b·i²iÅ±o´oÈAÐNÑNÔNÐNå•j¥/°1°b·i²iÅÑ6FÔ6FÈQÐOÑOÔOÐOå•b”l¥O°Q¸ÀÐDÑDÔDÐDÐDÐDr"   c                 óÆ   — t          j        d¦  «        }t          j        dt           j        ¬¦  «        }t          ||d¬¦  «        }t	          |j        |j        ¦  «         dS )zC Test everything is ok with empty results, even with inserted dims )r+   r,   r-   )r+   r   r-   rE   rG   r   N©r   rH   rI   r   r   Úshape©r=   r   rR   Úactuals       r    Ú
test_emptyzTestTakeAlongAxis.test_emptyB   sU   € åŒW�YÑÔˆÝŒW�Y¥b¤gÐ.Ñ.Ô.ˆå   B¨QÐ/Ñ/Ô/ˆÝ�V”\ 2¤8Ñ,Ô,Ð,Ð,Ð,r"   c                 ó¼   — t          j        d¦  «        }t          j        dt           j        ¬¦  «        }t          ||d¬¦  «        }t	          |j        d¦  «         dS )úD Test that non-indexing dimensions are broadcast in both directions ©r+   r,   rG   ©rG   r.   r-   rE   rG   r   ©r+   r.   r-   NrU   rW   s       r    Útest_broadcastz TestTakeAlongAxis.test_broadcastJ   sS   € åŒW�YÑÔˆÝŒW�Y¥b¤gÐ.Ñ.Ô.ˆÝ   B¨QÐ/Ñ/Ô/ˆÝ�V”\ 9Ñ-Ô-Ð-Ð-Ð-r"   N)Ú__name__Ú
__module__Ú__qualname__rB   rS   rY   r_   © r"   r    r'   r'      sV   € € € € € ðMð Mð Mð$Eð Eð Eð"-ð -ð -ð.ð .ð .ð .ð .r"   r'   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestPutAlongAxisc                 óˆ  — t          j        g d¢g d¢g¦  «        }t          t          |j        ¦  «        ¦  «        d gz   D ]�}|                     ¦   «         } t          t           j        ¦  «        ||¬¦  «        }t          ||d|¬¦  «          t          t           j	        ¦  «        ||¬¦  «        }t          ||¦  «         Œ‚d S )N)rD   é   é   )é<   é(   é2   r   i�ÿÿÿ)r   rK   r:   r;   r<   Úcopyr%   r7   r   r5   r   )r=   Úa_baser   r   Úi_maxÚi_mins         r    Útest_replace_maxz!TestPutAlongAxis.test_replace_maxS   sÇ   € Ý”˜<˜<˜<¨¨¨Ð6Ñ7Ô7ˆå�˜vœ{Ñ+Ô+Ñ,Ô,°¨vÑ5ð 	'ð 	'ˆDà—’‘”ˆAð -•M¥"¤)Ñ,Ô,¨Q°TÐ:Ñ:Ô:ˆEÝ˜1˜e S¨tÐ4Ñ4Ô4Ð4ð -•M¥"¤)Ñ,Ô,¨Q°TÐ:Ñ:Ô:ˆEå˜ Ñ&Ô&Ð&Ð&ð	'ð 	'r"   c                 ó   — t          j        d¦  «        }t          j        dt           j        ¬¦  «                             d¦  «        dz  }t          ||dd¬¦  «         t          t          ||d¬¦  «        d¦  «         d	S )
r[   r\   rD   rE   r]   r,   rh   rG   r   N)r   rH   ÚarangerI   Úreshaper   r   r   rQ   s      r    r_   zTestPutAlongAxis.test_broadcastc   sv   € åŒW�YÑÔˆÝŒY�r¥¤Ð)Ñ)Ô)×1Ò1°)Ñ<Ô<¸qÑ@ˆÝ�q˜"˜b qÐ)Ñ)Ô)Ð)Ý•_ Q¨°Ð3Ñ3Ô3°RÑ8Ô8Ð8Ð8Ð8r"   N)r`   ra   rb   rp   r_   rc   r"   r    re   re   R   s2   € € € € € ð'ð 'ð 'ð 9ð 9ð 9ð 9ð 9r"   re   c                   ó†   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zej	        fd„Z
ej	        fd„Zej	        fd„Zd	„ Zd
„ Zd„ Zd„ Zd„ ZdS )ÚTestApplyAlongAxisc                 óÒ   — t          j        dd¦  «        }t          t          t          d|¦  «        t	          |¦  «        t          j        |j        d         ¦  «        z  ¦  «         d S )N©rh   rD   Údr   rG   ©r   rH   r   r   ÚlenrV   ©r=   r   s     r    Útest_simplezTestApplyAlongAxis.test_simplel   s`   € ÝŒG�H˜cÑ"Ô"ˆÝÝ�S ! QÑ'Ô'­¨Q©¬µ´¸¼À¼
Ñ0CÔ0CÑ)Cñ	Eô 	Eð 	Eð 	Eð 	Er"   c                 óÒ   — t          j        dd¦  «        }t          t          t          d|¦  «        t	          |¦  «        t          j        |j        d         ¦  «        z  ¦  «         d S )N)rD   ée   rx   r   rG   ry   r{   s     r    Útest_simple101z!TestApplyAlongAxis.test_simple101q   s`   € ÝŒG�I˜sÑ#Ô#ˆÝÝ�S ! QÑ'Ô'­¨Q©¬µ´¸¼À¼
Ñ0CÔ0CÑ)Cñ	Eô 	Eð 	Eð 	Eð 	Er"   c                 ó¸   — t          j        d¦  «                             d¦  «        }t          t	          t           j        d|¦  «        g d¢g d¢g d¢g¦  «         d S )Né   ©r+   r+   r+   r   )r�   rg   é!   )é$   é'   é*   )é-   é0   é3   )r   rr   rs   r   r   Úsumr{   s     r    Útest_3dzTestApplyAlongAxis.test_3dv   se   € ÝŒI�b‰MŒM×!Ò! )Ñ,Ô,ˆÝÕ+­B¬F°A°qÑ9Ô9Ø(˜L˜L¨,¨,¨,¸¸¸ÐEñ	Gô 	Gð 	Gð 	Gð 	Gr"   c                 óè  — d„ } G d„ dt           j        ¦  «        }t          j        ddgddgg¦  «                             |¦  «        }t          j        ddgdd	gg¦  «                             |¦  «        }t	          |d|¦  «        }t          t          ||¦  «        ¦  «         t          ||¦  «         t	          |d|¦  «        }t          t          ||¦  «        ¦  «         t          ||¦  «         d S )
Nc                 ó   — | dz  S )Nr.   rc   )Úrows    r    Údoublez9TestApplyAlongAxis.test_preserve_subclass.<locals>.double|   s   € Ø˜‘7ˆNr"   c                   ó   — e Zd ZdS )ú<TestApplyAlongAxis.test_preserve_subclass.<locals>.MyNDArrayN©r`   ra   rb   rc   r"   r    Ú	MyNDArrayr‘      ó   € € € € € ØˆDr"   r“   r   rG   r.   r+   r,   é   )r   ÚndarrayrK   Úviewr   r   Ú
isinstancer   )r=   r�   r“   ÚmÚexpectedÚresults         r    Útest_preserve_subclassz)TestApplyAlongAxis.test_preserve_subclass{   s  € ð	ð 	ð 	ð	ð 	ð 	ð 	ð 	�œ
ñ 	ô 	ð 	õ ŒH�q˜!�f˜q !˜fÐ%Ñ&Ô&×+Ò+¨IÑ6Ô6ˆÝ”8˜a ˜V a¨ VÐ,Ñ-Ô-×2Ò2°9Ñ=Ô=ˆå! &¨!¨QÑ/Ô/ˆÝ•
˜6 9Ñ-Ô-Ñ.Ô.Ð.Ý˜6 8Ñ,Ô,Ð,å! &¨!¨QÑ/Ô/ˆÝ•
˜6 9Ñ-Ô-Ñ.Ô.Ð.Ý˜6 8Ñ,Ô,Ð,Ð,Ð,r"   c                 óð   —  G d„ dt           j        ¦  «        }d„ }t          j        d¦  «                             |¦  «        }t	          t          |d|¦  «        t          j        g d¢¦  «        ¦  «         d S )Nc                   ó   — e Zd ZdZdS )ú9TestApplyAlongAxis.test_subclass.<locals>.MinimalSubclassrG   N)r`   ra   rb   Údatarc   r"   r    ÚMinimalSubclassrŸ   Ž   s   € € € € € ØˆDˆDˆDr"   r¡   c                 ó   — | j         S ©N)r    )rK   s    r    Úminimal_functionz:TestApplyAlongAxis.test_subclass.<locals>.minimal_function‘   s
   € Ø”:Ðr"   ©r•   r+   r   )rG   rG   rG   )r   r–   Úzerosr—   r   r   rK   )r=   r¡   r¤   r   s       r    Útest_subclassz TestApplyAlongAxis.test_subclass�   s˜   € ð	ð 	ð 	ð 	ð 	�bœjñ 	ô 	ð 	ð	ð 	ð 	õ ŒH�VÑÔ×!Ò! /Ñ2Ô2ˆåÝÐ-¨q°!Ñ4Ô4µb´h¸y¸y¸yÑ6IÔ6Iñ	
ô 	
ð 	
ð 	
ð 	
r"   c                 ó2  — t          j        d¦  «                             |¦  «        }t          t           j        d|¦  «        }t          t          ||¦  «        ¦  «         t          |t          j        g d¢¦  «                             |¦  «        ¦  «         d S )Nr¥   r   ©r•   r•   r•   )	r   rH   r—   r   rŠ   r   r˜   r   rK   )r=   Úclsr   r   s       r    Útest_scalar_arrayz$TestApplyAlongAxis.test_scalar_arrayš   sz   € ÝŒG�F‰OŒO× Ò  Ñ%Ô%ˆÝ�rœv q¨!Ñ,Ô,ˆÝ•
˜3 Ñ$Ô$Ñ%Ô%Ð%Ý˜3¥¤¨¨¨Ñ 3Ô 3× 8Ò 8¸Ñ =Ô =Ñ>Ô>Ð>Ð>Ð>r"   c                 óî  — d„ }t          j        d¦  «                             |¦  «        }t          |d|¦  «        }t	          t          ||¦  «        ¦  «         t          |t          j        g d¢¦  «                             |¦  «        ¦  «         t          |d|¦  «        }t	          t          ||¦  «        ¦  «         t          |t          j        g d¢¦  «                             |¦  «        ¦  «         d S )Nc                 ó|   — t          | j        d¦  «         t          j        t          j        | d¬¦  «        ¦  «        S )z/ Sum x, returning a 0d array of the same class rG   T)Úkeepdims)r   r<   r   ÚsqueezerŠ   ©Úxs    r    Ú	sum_to_0dz3TestApplyAlongAxis.test_0d_array.<locals>.sum_to_0d¡   s3   € å˜œ Ñ#Ô#Ð#Ý”:�bœf Q°Ð6Ñ6Ô6Ñ7Ô7Ð7r"   r¥   r   r©   rG   )r+   r+   r+   r+   r+   r+   )r   rH   r—   r   r   r˜   r   rK   )r=   rª   r²   r   r   s        r    Útest_0d_arrayz TestApplyAlongAxis.test_0d_array    sá   € ð	8ð 	8ð 	8õ ŒG�F‰OŒO× Ò  Ñ%Ô%ˆÝ˜y¨!¨QÑ/Ô/ˆÝ•
˜3 Ñ$Ô$Ñ%Ô%Ð%Ý˜3¥¤¨¨¨Ñ 3Ô 3× 8Ò 8¸Ñ =Ô =Ñ>Ô>Ð>å˜y¨!¨QÑ/Ô/ˆÝ•
˜3 Ñ$Ô$Ñ%Ô%Ð%Ý˜3¥¤Ð);Ð);Ð);Ñ <Ô <× AÒ AÀ#Ñ FÔ FÑGÔGÐGÐGÐGr"   c                 óJ  ‡‡‡‡— ˆfd„Št          j        d¦  «                             d¦  «        Št          ‰d‰¦  «        }t          j        ˆˆfd„t          ‰j        d         ¦  «        D ¦   «         d¬¦  «                             ‰¦  «        }t          t          |¦  «        t          |¦  «        ¦  «         t          ||¦  «         t          ‰d‰¦  «        }t          j        ˆˆfd	„t          ‰j        d         ¦  «        D ¦   «         d¬¦  «                             ‰¦  «        }t          t          |¦  «        t          |¦  «        ¦  «         t          ||¦  «         t          j        d
¦  «                             d¦  «        Št          ‰d‰¦  «        }t          j        ˆˆfd„t          ‰j        d         ¦  «        D ¦   «         d¬¦  «                             ‰¦  «        }t          t          |¦  «        t          |¦  «        ¦  «         t          ||¦  «         d S )Nc                 ó„   •— t          | j        d¦  «         | ddd…         | dd…df         z                       ‰¦  «        S )ú/produces an asymmetric non-square matrix from xrG   Néÿÿÿÿ)r   r<   r—   )r±   rª   s    €r    Úf1to2z5TestApplyAlongAxis.test_axis_insertion.<locals>.f1to2¯   sD   ø€ å˜œ Ñ#Ô#Ð#Ø�d�d˜�d”G˜a    4 œjÑ(×.Ò.¨sÑ3Ô3Ð3r"   é   r¥   r   c                 ó:   •— g | ]} ‰‰d d …|f         ¦  «        ‘ŒS r£   rc   ©Ú.0ÚiÚa2dr¸   s     €€r    ú
<listcomp>z:TestApplyAlongAxis.test_axis_insertion.<locals>.<listcomp>¸   s:   ø€ ð 
ð 
ð 
Ø !ˆEˆE�#�a�a�a˜�c”(‰OŒOð
ð 
ð 
r"   rG   r·   r   c                 ó:   •— g | ]} ‰‰|d d …f         ¦  «        ‘ŒS r£   rc   r»   s     €€r    r¿   z:TestApplyAlongAxis.test_axis_insertion.<locals>.<listcomp>À   s:   ø€ ð 
ð 
ð 
Ø !ˆEˆE�#�a˜˜˜�c”(‰OŒOð
ð 
ð 
r"   éZ   )r•   r-   r+   c           	      óŠ   •‡— g | ]>Št          j        ˆˆˆfd „t          ‰j        d         ¦  «        D ¦   «         d¬¦  «        ‘Œ?S )c                 ó<   •— g | ]} ‰‰|d d …‰f         ¦  «        ‘ŒS r£   rc   )r¼   r½   Úa3dr¸   Újs     €€€r    r¿   zETestApplyAlongAxis.test_axis_insertion.<locals>.<listcomp>.<listcomp>Ë   s>   ø€ ð ð ð Ø&'���c˜!˜A˜A˜A˜a˜%”jÑ!Ô!ðð ð r"   r   r   )r   Ústackr;   rV   )r¼   rÅ   rÄ   r¸   s    @€€r    r¿   z:TestApplyAlongAxis.test_axis_insertion.<locals>.<listcomp>Ê   s~   øø€ ð 
ð 
ð 
ð õ ŒHð ð ð ð ð ð Ý+0°´¸1´Ñ+>Ô+>ðñ ô àðñ ô ð
ð 
ð 
r"   r.   )
r   rr   rs   r   rÆ   r;   rV   r—   r   Útype)r=   rª   rX   rš   r¾   rÄ   r¸   s    `  @@@r    Útest_axis_insertionz&TestApplyAlongAxis.test_axis_insertion®   sH  øøøø€ ð	4ð 	4ð 	4ð 	4ð 	4õ
 Œi˜‰nŒn×$Ò$ VÑ,Ô,ˆõ " %¨¨CÑ0Ô0ˆÝ”8ð 
ð 
ð 
ð 
ð 
Ý%*¨3¬9°Q¬<Ñ%8Ô%8ð
ñ 
ô 
àðñ ô ç’D˜‘I”Ið 	õ 	•T˜&‘\”\¥4¨¡>¤>Ñ2Ô2Ð2Ý�V˜XÑ&Ô&Ð&õ " %¨¨CÑ0Ô0ˆÝ”8ð 
ð 
ð 
ð 
ð 
Ý%*¨3¬9°Q¬<Ñ%8Ô%8ð
ñ 
ô 
àðñ ô ç’4˜‘9”9ð 	õ 	•T˜&‘\”\¥4¨¡>¤>Ñ2Ô2Ð2Ý�V˜XÑ&Ô&Ð&õ Œi˜ÑÔ×&Ò& yÑ1Ô1ˆå! %¨¨CÑ0Ô0ˆÝ”8ð 
ð 
ð 
ð 
ð 
õ ˜3œ9 Qœ<Ñ(Ô(ð	
ñ 
ô 
ð
 ðñ ô ÷
 ’D˜‘I”Ið 	õ 	•T˜&‘\”\¥4¨¡>¤>Ñ2Ô2Ð2Ý�V˜XÑ&Ô&Ð&Ð&Ð&r"   c                 ó´   —  G d„ dt           j        ¦  «        }|                      |¦  «         |                      |¦  «         |                      |¦  «         d S )Nc                   ó   — e Zd ZdS )úFTestApplyAlongAxis.test_subclass_preservation.<locals>.MinimalSubclassNr’   rc   r"   r    r¡   rË   Ô   r”   r"   r¡   )r   r–   r«   r³   rÈ   )r=   r¡   s     r    Útest_subclass_preservationz-TestApplyAlongAxis.test_subclass_preservationÓ   sp   € ð	ð 	ð 	ð 	ð 	�bœjñ 	ô 	ð 	à×Ò˜Ñ/Ô/Ð/Ø×Ò˜?Ñ+Ô+Ð+Ø× Ò  Ñ1Ô1Ð1Ð1Ð1r"   c                 óZ  — d„ }t          j        d¦  «                             d¦  «        }t          |d|¦  «        }t	          t          |t           j        j        ¦  «        ¦  «         t          |j	        d¦  «         t          |d d …d d …df         j         ||d d …df         ¦  «        j        ¦  «         t          |d d …d d …df         j         ||d d …df         ¦  «        j        ¦  «         t          |d d …d d …df         j         ||d d …df         ¦  «        j        ¦  «         d S )Nc                 óª   — t          | j        d¦  «         | ddd…         | dd…df         z  }t          j                             |dz  dk    |¦  «        S )r¶   rG   Nr·   r-   r   )r   r<   r   ÚmaÚmasked_where)r±   r   s     r    r¸   z8TestApplyAlongAxis.test_axis_insertion_ma.<locals>.f1to2Û   sT   € å˜œ Ñ#Ô#Ð#Ø�D�D�b�D”'˜A˜a˜b˜b ˜gœJÑ&ˆCÝ”5×%Ò% c¨!¡e¨Q¢h°Ñ4Ô4Ð4r"   r¹   r¥   r   r+   rG   r.   )r   rr   rs   r   r   r˜   rÏ   Úmasked_arrayr   r<   r   Úmask)r=   r¸   r   r   s       r    Útest_axis_insertion_maz)TestApplyAlongAxis.test_axis_insertion_maÚ   s%  € ð	5ð 	5ð 	5õ
 ŒI�c‰NŒN×"Ò" 6Ñ*Ô*ˆÝ˜u a¨Ñ+Ô+ˆÝ•
˜3¥¤Ô 2Ñ3Ô3Ñ4Ô4Ð4Ý�S”X˜qÑ!Ô!Ð!Ý˜3˜q˜q˜q    1˜uœ:œ?¨E¨E°!°A°A°A°a°C´&©M¬MÔ,>Ñ?Ô?Ð?Ý˜3˜q˜q˜q    1˜uœ:œ?¨E¨E°!°A°A°A°a°C´&©M¬MÔ,>Ñ?Ô?Ð?Ý˜3˜q˜q˜q    1˜uœ:œ?¨E¨E°!°A°A°A°a°C´&©M¬MÔ,>Ñ?Ô?Ð?Ð?Ð?r"   c           	      ó¸   — d„ }t          j        |dt          j        ddgddgg¦  «        ¦  «        }t          |t          j        ddgddgg¦  «        ¦  «         d S )Nc                 ó"   — | d         | d         fS )NrG   r   rc   r°   s    r    Ú	sample_1dz7TestApplyAlongAxis.test_tuple_func1d.<locals>.sample_1dé   s   € Ø�Q”4˜˜1œ�:Ðr"   rG   r.   r+   r,   )r   r   rK   r   )r=   rÖ   r   s      r    Útest_tuple_func1dz$TestApplyAlongAxis.test_tuple_func1dè   si   € ð	ð 	ð 	åÔ! )¨Qµ´¸1¸a¸&À1ÀaÀ&Ð9IÑ0JÔ0JÑKÔKˆÝ˜3¥¤¨1¨a¨&°1°a°&Ð)9Ñ :Ô :Ñ;Ô;Ð;Ð;Ð;r"   c                 óž  — d„ }t          j        d¦  «        }t          t          t           j        |d|¦  «         t          t          t           j        |d|¦  «         d„ }t          j        d¦  «        }t          j        |d|¦  «        }t          |t          j        d¦  «        ¦  «         t          t          t           j        |d|¦  «         d S )Nc                 ó$   — t          d¦  «         d S )NF)r   r°   s    r    Ú
never_callz1TestApplyAlongAxis.test_empty.<locals>.never_callð   s   € Ý�E‰NŒNˆNˆNˆNr"   )r   r   r   rG   c                 óF   — t          t          | ¦  «        dk    ¦  «         dS )Nr   rG   )r   rz   r°   s    r    Ú
empty_to_1z1TestApplyAlongAxis.test_empty.<locals>.empty_to_1ø   s   € Ý•C˜‘F”F˜a’KÑ Ô Ð Ø�1r"   )rD   r   rD   )r   Úemptyr   rJ   r   r   rH   )r=   rÚ   r   rÜ   rX   s        r    rY   zTestApplyAlongAxis.test_emptyî   s¿   € ð	ð 	ð 	õ ŒH�VÑÔˆÝ•j¥"Ô"5°zÀ1ÀaÑHÔHÐHÝ•j¥"Ô"5°zÀ1ÀaÑHÔHÐHð	ð 	ð 	õ ŒH�WÑÔˆÝÔ$ Z°°AÑ6Ô6ˆÝ�V�RœW R™[œ[Ñ)Ô)Ð)Ý•j¥"Ô"5°zÀ1ÀaÑHÔHÐHÐHÐHr"   c                 ó‚  — t          j        ddhddhddhgddhd	d
hddhgg¦  «        }t          j        d„ d|¦  «        }t          j        h d£h d£h d£g¦  «        }t          ||¦  «         t          j        |j        ¦  «        D ]8}t          t          ||         ¦  «        t          ||         ¦  «        ¦  «         Œ9d S )NrG   é   r.   é   r+   rƒ   r,   é,   r-   é7   r•   éB   c                 ó   — t          j        | Ž S r£   )ÚsetÚunion)r   s    r    ú<lambda>z>TestApplyAlongAxis.test_with_iterable_object.<locals>.<lambda>  s   € ­s¬y¸!¨}€ r"   r   >   rG   r,   rß   rá   >   r.   r-   rà   râ   >   r+   r•   rƒ   rã   )r   rK   r   r   ÚndindexrV   rÇ   )r=   rx   rX   rš   r½   s        r    Útest_with_iterable_objectz,TestApplyAlongAxis.test_with_iterable_object  sà   € åŒHØ�ˆW�q˜"�g  2˜wÐ'Ø�ˆW�q˜"�g  2˜wÐ'ð
ñ ô ˆõ Ô$Ð%<Ð%<¸aÀÑCÔCˆÝ”8˜^˜^˜^¨^¨^¨^¸^¸^¸^ÐLÑMÔMˆå�V˜XÑ&Ô&Ð&õ ”˜FœLÑ)Ô)ð 	=ð 	=ˆAÝ�˜f Qœi™œ­$¨x¸¬{Ñ*;Ô*;Ñ<Ô<Ð<Ð<ð	=ð 	=r"   N)r`   ra   rb   r|   r   r‹   rœ   r§   r   r–   r«   r³   rÈ   rÌ   rÓ   r×   rY   ré   rc   r"   r    ru   ru   k   s  € € € € € ðEð Eð Eð
Eð Eð Eð
Gð Gð Gð
-ð -ð -ð$
ð 
ð 
ð %'¤Jð ?ð ?ð ?ð ?ð !#¤
ð Hð Hð Hð Hð ')¤jð #'ð #'ð #'ð #'ðJ2ð 2ð 2ð@ð @ð @ð<ð <ð <ðIð Ið Ið&=ð =ð =ð =ð =r"   ru   c                   ó   — e Zd Zd„ ZdS )ÚTestApplyOverAxesc                 óä   — t          j        d¦  «                             ddd¦  «        }t          t           j        |ddg¦  «        }t          |t          j        dgdgdggg¦  «        ¦  «         d S )	Né   r.   r+   r,   r   ri   é\   é|   )r   rr   rs   r   rŠ   r   rK   )r=   r   Úaoa_as      r    r|   zTestApplyOverAxes.test_simple  sh   € ÝŒI�b‰MŒM×!Ò! ! Q¨Ñ*Ô*ˆÝ¥¤¨¨A¨q¨6Ñ2Ô2ˆÝ˜5¥"¤(¨b¨T°B°4¸#¸Ð,?Ð+@Ñ"AÔ"AÑBÔBÐBÐBÐBr"   N)r`   ra   rb   r|   rc   r"   r    rë   rë     s(   € € € € € ðCð Cð Cð Cð Cr"   rë   c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestExpandDimsc                 ó  — d}t          j        |¦  «        }t          dd¦  «        D ]Z}t          ||¦  «        }t	          |j        |         dk    ¦  «         t	          t          j        |¦  «        j        |k    ¦  «         Œ[d S )N©r.   r+   r,   r-   éûÿÿÿr,   rG   )r   rÝ   r;   r   r   rV   r¯   )r=   Úsr   r   Úbs        r    Útest_functionalityz!TestExpandDims.test_functionality  s~   € ØˆÝŒH�Q‰KŒKˆÝ˜"˜a‘L”Lð 	.ð 	.ˆDÝ˜A˜tÑ$Ô$ˆAÝ�A”G˜D”M QÒ&Ñ'Ô'Ð'Ý•B”J˜q‘M”MÔ'¨1Ò,Ñ-Ô-Ð-Ð-ð	.ð 	.r"   c                 ó6  — t          j        d¦  «        }t          j        |d¬¦  «        j        dk    sJ ‚t          j        |d¬¦  «        j        dk    sJ ‚t          j        |d¬¦  «        j        dk    sJ ‚t          j        |d	¬¦  «        j        d
k    sJ ‚d S )Nr‚   ©r   rG   r.   r   )rG   rG   rG   r+   r+   r+   )r   r·   éþÿÿÿ)rG   r+   r+   r+   rG   rG   )r   r+   r-   )rG   r+   r+   rG   r+   rG   )r   éýÿÿÿrõ   )rG   rG   r+   rG   r+   r+   )r   rÝ   r   rV   r{   s     r    Útest_axis_tuplezTestExpandDims.test_axis_tuple!  s§   € ÝŒH�YÑÔˆÝŒ~˜a iÐ0Ñ0Ô0Ô6Ð:LÒLÐLÐLÐLÝŒ~˜a kÐ2Ñ2Ô2Ô8Ð<NÒNÐNÐNÐNÝŒ~˜a iÐ0Ñ0Ô0Ô6Ð:LÒLÐLÐLÐLÝŒ~˜a kÐ2Ñ2Ô2Ô8Ð<NÒNÐNÐNÐNÐNÐNr"   c                 ób  — d}t          j        |¦  «        }t          t           j        t          |d¦  «         t          t           j        t          |d¦  «         t          j        d¦  «        }t          t           j        t          |d¦  «         t          t           j        t          |d¦  «         d S )Nrô   éúÿÿÿr-   r‚   )r   rÿ   )r   r-   )r   rÝ   r   rP   r   )r=   rö   r   s      r    Útest_axis_out_of_rangez%TestExpandDims.test_axis_out_of_range(  s�   € ØˆÝŒH�Q‰KŒKˆÝ•b”l¥K°°BÑ7Ô7Ð7Ý•b”l¥K°°AÑ6Ô6Ð6åŒH�YÑÔˆÝ•b”l¥K°°GÑ<Ô<Ð<Ý•b”l¥K°°FÑ;Ô;Ð;Ð;Ð;r"   c                 óh   — t          j        d¦  «        }t          t          t          |d¬¦  «         d S )Nr‚   ©rG   rG   r   )r   rÝ   r   rJ   r   r{   s     r    Útest_repeated_axisz!TestExpandDims.test_repeated_axis2  s.   € ÝŒH�YÑÔˆÝ•j¥+¨q°vÐ>Ñ>Ô>Ð>Ð>Ð>r"   c                 ó†  — t          j        d¦  «                             d¦  «        }t           j                             ||dz  dk    ¬¦  «        }t          j        |d¬¦  «        }t          t          |t           j        j        ¦  «        ¦  «         t          |j
        d¦  «         t          |j        j
        d¦  «         d S )	NrD   )r.   r-   r+   r   ©rÒ   rG   r   )r.   rG   r-   )r   rr   rs   rÏ   rK   r   r   r˜   ÚMaskedArrayr   rV   rÒ   )r=   r   Úexpandeds      r    Útest_subclasseszTestExpandDims.test_subclasses6  sš   € ÝŒI�b‰MŒM×!Ò! &Ñ)Ô)ˆÝŒE�KŠK˜  !¡ q¢ˆKÑ)Ô)ˆå”> !¨!Ð,Ñ,Ô,ˆÝ•
˜8¥R¤UÔ%6Ñ7Ô7Ñ8Ô8Ð8Ý�X”^ YÑ/Ô/Ð/Ý�X”]Ô(¨)Ñ4Ô4Ð4Ð4Ð4r"   N)r`   ra   rb   rø   rý   r   r  r  rc   r"   r    rò   rò     sb   € € € € € ð.ð .ð .ðOð Oð Oð<ð <ð <ð?ð ?ð ?ð5ð 5ð 5ð 5ð 5r"   rò   c                   óŠ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zej	         
                    e d¬¦  «        d„ ¦   «         Zd	„ Zd
„ Zd„ ZdS )ÚTestArraySplitc                 óf   — t          j        d¦  «        }t          t          t          |d¦  «         d S )NrD   r   )r   rr   r   rJ   r   r{   s     r    Útest_integer_0_splitz#TestArraySplit.test_integer_0_splitA  s)   € ÝŒI�b‰MŒMˆÝ•j¥+¨q°!Ñ4Ô4Ð4Ð4Ð4r"   c                 óR  — t          j        d¦  «        }t          |d¦  «        }t          j        d¦  «        g}t          ||¦  «         t          |d¦  «        }t          j        d¦  «        t          j        dd¦  «        g}t          ||¦  «         t          |d¦  «        }t          j        d¦  «        t          j        dd¦  «        t          j        dd¦  «        g}t          ||¦  «         t          |d¦  «        }t          j        d¦  «        t          j        dd¦  «        t          j        dd	¦  «        t          j        d	d¦  «        g}t          ||¦  «         t          |d¦  «        }t          j        d¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd	¦  «        t          j        d	d¦  «        g}t          ||¦  «         t          |d¦  «        }t          j        d¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd	¦  «        t          j        d	d
¦  «        t          j        d
d¦  «        g}t          ||¦  «         t          |d¦  «        }t          j        d¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd	¦  «        t          j        d	d
¦  «        t          j        d
d¦  «        g}t          ||¦  «         t          |d	¦  «        }t          j        d¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd	¦  «        t          j        d	d
¦  «        t          j        d
d¦  «        g}t          ||¦  «         t          |d
¦  «        }t          j        d¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd	¦  «        t          j        d	d
¦  «        t          j        d
d¦  «        g	}t          ||¦  «         t          |d¦  «        }t          j        d¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd	¦  «        t          j        d	d
¦  «        t          j        d
d¦  «        g
}t          ||¦  «         t          |d¦  «        }t          j        d¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd	¦  «        t          j        d	d
¦  «        t          j        d
d¦  «        t          j        g ¦  «        g}t          ||¦  «         d S )NrD   rG   r.   r-   r+   r,   é   r•   é   é	   rß   )r   rr   r   Úcompare_resultsrK   ©r=   r   r   Údesireds       r    Útest_integer_splitz!TestArraySplit.test_integer_splitE  sê  € ÝŒI�b‰MŒMˆÝ˜!˜QÑÔˆÝ”9˜R‘=”=�/ˆÝ˜˜WÑ%Ô%Ð%å˜!˜QÑÔˆÝ”9˜Q‘<”<¥¤¨1¨bÑ!1Ô!1Ð2ˆÝ˜˜WÑ%Ô%Ð%å˜!˜QÑÔˆÝ”9˜Q‘<”<¥¤¨1¨a¡¤µ"´)¸A¸rÑ2BÔ2BÐCˆÝ˜˜WÑ%Ô%Ð%å˜!˜QÑÔˆÝ”9˜Q‘<”<¥¤¨1¨a¡¤µ"´)¸A¸q±/´/Ý”9˜Q Ñ#Ô#ð%ˆå˜˜WÑ%Ô%Ð%å˜!˜QÑÔˆÝ”9˜Q‘<”<¥¤¨1¨a¡¤µ"´)¸A¸q±/´/Ý”9˜Q ‘?”?¥B¤I¨a°Ñ$4Ô$4ð6ˆå˜˜WÑ%Ô%Ð%å˜!˜QÑÔˆÝ”9˜Q‘<”<¥¤¨1¨a¡¤µ"´)¸A¸q±/´/Ý”9˜Q ‘?”?¥B¤I¨a°¡O¤OµR´Y¸qÀ"Ñ5EÔ5EðGˆå˜˜WÑ%Ô%Ð%å˜!˜QÑÔˆÝ”9˜Q‘<”<¥¤¨1¨a¡¤µ"´)¸A¸q±/´/Ý”9˜Q ‘?”?¥B¤I¨a°¡O¤OµR´Y¸qÀ!±_´_Ý”9˜Q Ñ#Ô#ð%ˆõ 	˜˜WÑ%Ô%Ð%å˜!˜QÑÔˆÝ”9˜Q‘<”<¥¤¨1¨a¡¤µ"´)¸A¸q±/´/Ý”9˜Q ‘?”?¥B¤I¨a°¡O¤OµR´Y¸qÀ!±_´_Ý”9˜Q ‘?”?¥B¤I¨a°Ñ$4Ô$4ð6ˆõ 	˜˜WÑ%Ô%Ð%å˜!˜QÑÔˆÝ”9˜Q‘<”<¥¤¨1¨a¡¤µ"´)¸A¸q±/´/Ý”9˜Q ‘?”?¥B¤I¨a°¡O¤OµR´Y¸qÀ!±_´_Ý”9˜Q ‘?”?¥B¤I¨a°¡O¤OµR´Y¸qÀ"Ñ5EÔ5EðGˆõ 	˜˜WÑ%Ô%Ð%å˜!˜RÑ Ô ˆÝ”9˜Q‘<”<¥¤¨1¨a¡¤µ"´)¸A¸q±/´/Ý”9˜Q ‘?”?¥B¤I¨a°¡O¤OµR´Y¸qÀ!±_´_Ý”9˜Q ‘?”?¥B¤I¨a°¡O¤OµR´Y¸qÀ!±_´_Ý”9˜Q Ñ#Ô#ð%ˆõ 	˜˜WÑ%Ô%Ð%å˜!˜RÑ Ô ˆÝ”9˜Q‘<”<¥¤¨1¨a¡¤µ"´)¸A¸q±/´/Ý”9˜Q ‘?”?¥B¤I¨a°¡O¤OµR´Y¸qÀ!±_´_Ý”9˜Q ‘?”?¥B¤I¨a°¡O¤OµR´Y¸qÀ!±_´_Ý”9˜Q Ñ#Ô#¥R¤X¨b¡\¤\ð3ˆõ 	˜˜WÑ%Ô%Ð%Ð%Ð%r"   c                 ó6  — t          j        t          j        d¦  «        t          j        d¦  «        g¦  «        }t          |dd¬¦  «        }t          j        t          j        d¦  «        g¦  «        t          j        t          j        d¦  «        g¦  «        t          j        d¦  «        g}t          ||¦  «         t          |j        j        |d         j        j        u ¦  «         t          |ddgd¬¦  «        }t          j        d¦  «        t          j        t          j        d¦  «        g¦  «        t          j        t          j        d¦  «        g¦  «        g}t          ||¦  «         t          |j        j        |d         j        j        u ¦  «         d S )NrD   r+   r   r   ©r   rD   r·   rG   ©	r   rK   rr   r   r¦   r  r   rF   rÇ   ©r=   r   r   Útgts       r    Útest_integer_split_2D_rowsz)TestArraySplit.test_integer_split_2D_rows‚  s<  € ÝŒH•b”i ‘m”m¥R¤Y¨r¡]¤]Ð3Ñ4Ô4ˆÝ˜!˜Q QÐ'Ñ'Ô'ˆÝŒx�œ 2™œ˜Ñ(Ô(­"¬(µB´I¸b±M´M°?Ñ*CÔ*CÝ”8˜GÑ$Ô$ð&ˆå˜˜SÑ!Ô!Ð!Ý�””  B¤¤Ô 2Ð2Ñ3Ô3Ð3õ ˜!˜a ˜V¨!Ð,Ñ,Ô,ˆÝŒx˜Ñ Ô ¥"¤(­B¬I°b©M¬M¨?Ñ";Ô";ÝŒx�œ 2™œ˜Ñ(Ô(ð*ˆå˜˜SÑ!Ô!Ð!Ý�””  B¤¤Ô 2Ð2Ñ3Ô3Ð3Ð3Ð3r"   c           	      ó   — t          j        t          j        d¦  «        t          j        d¦  «        g¦  «        }t          |dd¬¦  «        }t          j        t          j        d¦  «        t          j        d¦  «        g¦  «        t          j        t          j        dd¦  «        t          j        dd¦  «        g¦  «        t          j        t          j        dd¦  «        t          j        dd¦  «        g¦  «        g}t	          ||¦  «         d S )NrD   r+   r·   r   r,   r  )r   rK   rr   r   r  r  s       r    Útest_integer_split_2D_colsz)TestArraySplit.test_integer_split_2D_cols‘  sÌ   € ÝŒH•b”i ‘m”m¥R¤Y¨r¡]¤]Ð3Ñ4Ô4ˆÝ˜!˜Q RÐ(Ñ(Ô(ˆÝ”8�RœY q™\œ\­2¬9°Q©<¬<Ð8Ñ9Ô9Ý”8�RœY q¨!™_œ_­b¬i¸¸1©o¬oÐ>Ñ?Ô?Ý”8�RœY q¨"Ñ-Ô-­r¬y¸¸BÑ/?Ô/?Ð@ÑAÔAðCˆõ 	˜˜WÑ%Ô%Ð%Ð%Ð%r"   c                 óÒ  — t          j        t          j        d¦  «        t          j        d¦  «        g¦  «        }t          |d¦  «        }t          j        t          j        d¦  «        g¦  «        t          j        t          j        d¦  «        g¦  «        t          j        d¦  «        g}t          ||¦  «         t          |j        j        |d         j        j        u ¦  «         dS )z2 This will fail if we change default axis
        rD   r+   r  r·   Nr  r  s       r    Útest_integer_split_2D_defaultz,TestArraySplit.test_integer_split_2D_default™  s®   € õ ŒH•b”i ‘m”m¥R¤Y¨r¡]¤]Ð3Ñ4Ô4ˆÝ˜!˜QÑÔˆÝŒx�œ 2™œ˜Ñ(Ô(­"¬(µB´I¸b±M´M°?Ñ*CÔ*CÝ”8˜GÑ$Ô$ð&ˆå˜˜SÑ!Ô!Ð!Ý�””  B¤¤Ô 2Ð2Ñ3Ô3Ð3Ð3Ð3r"   zNeeds 64bit platform)Úreasonc                 ó  — t          j        dgd¦  «        }t          |d¦  «        }t          j        dgd¦  «        }|gdz  }t          t	          |¦  «        ¦  «        D ](}t          ||         j        ||         j        ¦  «         Œ)d S )Nr   )r   r.   r,   )i   @r.   )r   Úbroadcast_tor   r;   rz   r   rV   )r=   r   r   Úchunkr  r½   s         r    Ú,test_integer_split_2D_rows_greater_max_int32z;TestArraySplit.test_integer_split_2D_rows_greater_max_int32¤  s†   € åŒO˜Q˜C Ñ.Ô.ˆÝ˜!˜QÑÔˆÝ”   \Ñ2Ô2ˆØˆg˜‰kˆÝ•s˜3‘x”x‘”ð 	5ð 	5ˆAÝ˜˜Qœœ s¨1¤v¤|Ñ4Ô4Ð4Ð4ð	5ð 	5r"   c                 ó  — t          j        d¦  «        }g d¢}t          ||d¬¦  «        }t          j        dd¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd¦  «        g}t          ||¦  «         d S )	NrD   )rG   r-   r  r·   r   r   rG   r-   r  )r   rr   r   r  ©r=   r   Úindicesr   r  s        r    Útest_index_split_simplez&TestArraySplit.test_index_split_simple­  s}   € ÝŒI�b‰MŒMˆØ�)�)ˆÝ˜!˜W¨2Ð.Ñ.Ô.ˆÝ”9˜Q ‘?”?¥B¤I¨a°¡O¤OµR´Y¸qÀ!±_´_Ý”9˜Q Ñ#Ô#ð%ˆå˜˜WÑ%Ô%Ð%Ð%Ð%r"   c                 ó  — t          j        d¦  «        }g d¢}t          ||d¬¦  «        }t          j        g ¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd¦  «        g}t	          ||¦  «         d S )NrD   )r   r-   r  r·   r   r   r-   r  ©r   rr   r   rK   r  r%  s        r    Útest_index_split_low_boundz)TestArraySplit.test_index_split_low_boundµ  s{   € ÝŒI�b‰MŒMˆØ�)�)ˆÝ˜!˜W¨2Ð.Ñ.Ô.ˆÝ”8˜B‘<”<¥¤¨1¨a¡¤µ"´)¸A¸q±/´/Ý”9˜Q Ñ#Ô#ð%ˆå˜˜WÑ%Ô%Ð%Ð%Ð%r"   c                 óh  — t          j        d¦  «        }g d¢}t          ||d¬¦  «        }t          j        g ¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        dd¦  «        t          j        g ¦  «        t          j        g ¦  «        g}t	          ||¦  «         d S )NrD   )r   r-   r  rD   é   r·   r   r   r-   r  r)  r%  s        r    Útest_index_split_high_boundz*TestArraySplit.test_index_split_high_bound½  s’   € ÝŒI�b‰MŒMˆØ#Ð#Ð#ˆÝ˜!˜W¨2Ð.Ñ.Ô.ˆÝ”8˜B‘<”<¥¤¨1¨a¡¤µ"´)¸A¸q±/´/Ý”9˜Q Ñ#Ô#¥R¤X¨b¡\¤\µ2´8¸B±<´<ðAˆå˜˜WÑ%Ô%Ð%Ð%Ð%r"   N)r`   ra   rb   r  r  r  r  r  ÚpytestÚmarkÚskipifÚIS_64BITr#  r'  r*  r-  rc   r"   r    r
  r
  @  sÂ   € € € € € ð5ð 5ð 5ð;&ð ;&ð ;&ðz4ð 4ð 4ð&ð &ð &ð4ð 4ð 4ð „[×Ò˜H˜Ð-CÐÑDÔDð5ð 5ñ EÔDð5ð&ð &ð &ð&ð &ð &ð&ð &ð &ð &ð &r"   r
  c                   ó   — e Zd Zd„ Zd„ ZdS )Ú	TestSplitc                 óÀ   — t          j        d¦  «        }t          |d¦  «        }t          j        d¦  «        t          j        dd¦  «        g}t          ||¦  «         d S )NrD   r.   r-   )r   rr   r   r  r  s       r    Útest_equal_splitzTestSplit.test_equal_splitË  sP   € ÝŒI�b‰MŒMˆÝ�A�q‰kŒkˆÝ”9˜Q‘<”<¥¤¨1¨bÑ!1Ô!1Ð2ˆÝ˜˜WÑ%Ô%Ð%Ð%Ð%r"   c                 óf   — t          j        d¦  «        }t          t          t          |d¦  «         d S )NrD   r+   )r   rr   r   rJ   r   r{   s     r    Útest_unequal_splitzTestSplit.test_unequal_splitÑ  s)   € ÝŒI�b‰MŒMˆÝ•j¥%¨¨AÑ.Ô.Ð.Ð.Ð.r"   N)r`   ra   rb   r5  r7  rc   r"   r    r3  r3  Æ  s2   € € € € € ð
&ð &ð &ð/ð /ð /ð /ð /r"   r3  c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestColumnStackc                 ó<   — t          t          t          d¦  «         d S ©NrG   )r   Ú	TypeErrorr   ©r=   s    r    Útest_non_iterablez!TestColumnStack.test_non_iterable×  s   € Ý•i¥¨qÑ1Ô1Ð1Ð1Ð1r"   c                 óÜ   — t          j        d¦  «        }t          j        d¦  «        }t          j        ddgddgddgg¦  «        }t          j        ||f¦  «        }t          ||¦  «         d S )N©rG   r.   r+   )r.   r+   r,   rG   r.   r+   r,   ©r   rK   r   r   ©r=   r   r÷   rš   rX   s        r    Útest_1D_arrayszTestColumnStack.test_1D_arraysÚ  su   € åŒH�YÑÔˆÝŒH�YÑÔˆÝ”8˜a ˜VØ ˜VØ ˜Vð%ñ &ô &ˆõ ” ! Q Ñ(Ô(ˆÝ�V˜XÑ&Ô&Ð&Ð&Ð&r"   c                 óô   — t          j        dgdgdgg¦  «        }t          j        dgdgdgg¦  «        }t          j        ddgddgddgg¦  «        }t          j        ||f¦  «        }t          ||¦  «         d S )NrG   r.   r+   r,   rA  rB  s        r    Útest_2D_arrayszTestColumnStack.test_2D_arraysä  s�   € åŒH�q�c˜A˜3  �_Ñ%Ô%ˆÝŒH�q�c˜A˜3  �_Ñ%Ô%ˆÝ”8˜a ˜VØ ˜VØ ˜Vð%ñ &ô &ˆõ ” ! Q Ñ(Ô(ˆÝ�V˜XÑ&Ô&Ð&Ð&Ð&r"   c                 ó¬   — t          t          ¦  «        5  t          d„ t          d¦  «        D ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc              3   ó>   K  — | ]}t          j        d ¦  «        V — ŒdS ©r+   N©r   rr   ©r¼   Ú_s     r    ú	<genexpr>z1TestColumnStack.test_generator.<locals>.<genexpr>ð  s*   è è € Ð9Ð9¨1�"œ) A™,œ,Ð9Ð9Ð9Ð9Ð9Ð9r"   r.   )r   ÚFutureWarningr   r;   r=  s    r    Útest_generatorzTestColumnStack.test_generatorî  s—   € Ý�-Ñ(Ô(ð 	;ð 	;ÝÐ9Ð9µ°a±´Ð9Ñ9Ô9Ñ:Ô:Ð:ð	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;ð 	;ð 	;ó   •'A	Á	AÁAN)r`   ra   rb   r>  rC  rE  rN  rc   r"   r    r9  r9  Ö  sP   € € € € € ð2ð 2ð 2ð'ð 'ð 'ð'ð 'ð 'ð;ð ;ð ;ð ;ð ;r"   r9  c                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )Ú
TestDstackc                 ó<   — t          t          t          d¦  «         d S r;  )r   r<  r
   r=  s    r    r>  zTestDstack.test_non_iterableô  s   € Ý•i¥¨Ñ+Ô+Ð+Ð+Ð+r"   c                 óÈ   — t          j        d¦  «        }t          j        d¦  «        }t          ||g¦  «        }t          j        ddggg¦  «        }t          ||¦  «         d S ©NrG   r.   ©r   rK   r
   r   ©r=   r   r÷   r   r  s        r    Útest_0D_arrayzTestDstack.test_0D_array÷  sX   € ÝŒH�Q‰KŒKˆÝŒH�Q‰KŒKˆÝ�a˜�V‰nŒnˆÝ”(˜a ˜V˜H˜:Ñ&Ô&ˆÝ˜3 Ñ(Ô(Ð(Ð(Ð(r"   c                 óÌ   — t          j        dg¦  «        }t          j        dg¦  «        }t          ||g¦  «        }t          j        ddggg¦  «        }t          ||¦  «         d S rT  rU  rV  s        r    Útest_1D_arrayzTestDstack.test_1D_arrayþ  s\   € ÝŒH�a�S‰MŒMˆÝŒH�a�S‰MŒMˆÝ�a˜�V‰nŒnˆÝ”(˜a ˜V˜H˜:Ñ&Ô&ˆÝ˜3 Ñ(Ô(Ð(Ð(Ð(r"   c                 óà   — t          j        dgdgg¦  «        }t          j        dgdgg¦  «        }t          ||g¦  «        }t          j        ddggddggg¦  «        }t          ||¦  «         d S rT  rU  rV  s        r    Útest_2D_arrayzTestDstack.test_2D_array  su   € ÝŒH�q�c˜A˜3�ZÑ Ô ˆÝŒH�q�c˜A˜3�ZÑ Ô ˆÝ�a˜�V‰nŒnˆÝ”(˜a ˜V˜H¨¨1 x jÐ1Ñ2Ô2ˆÝ˜3 Ñ(Ô(Ð(Ð(Ð(r"   c                 óÖ   — t          j        ddg¦  «        }t          j        ddg¦  «        }t          ||g¦  «        }t          j        ddgddggg¦  «        }t          ||¦  «         d S rT  rU  rV  s        r    Útest_2D_array2zTestDstack.test_2D_array2  sl   € ÝŒH�a˜�VÑÔˆÝŒH�a˜�VÑÔˆÝ�a˜�V‰nŒnˆÝ”(˜a ˜V a¨ VÐ,Ð-Ñ.Ô.ˆÝ˜3 Ñ(Ô(Ð(Ð(Ð(r"   c                 ó¬   — t          t          ¦  «        5  t          d„ t          d¦  «        D ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc              3   ó>   K  — | ]}t          j        d ¦  «        V — ŒdS rH  rI  rJ  s     r    rL  z,TestDstack.test_generator.<locals>.<genexpr>  s*   è è € Ð3Ð3 Q•B”I˜a‘L”LÐ3Ð3Ð3Ð3Ð3Ð3r"   r.   )r   rM  r
   r;   r=  s    r    rN  zTestDstack.test_generator  s—   € Ý�-Ñ(Ô(ð 	5ð 	5ÝÐ3Ð3­%°©(¬(Ð3Ñ3Ô3Ñ4Ô4Ð4ð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5ð 	5ð 	5rO  N)	r`   ra   rb   r>  rW  rY  r[  r]  rN  rc   r"   r    rQ  rQ  ó  sn   € € € € € ð,ð ,ð ,ð)ð )ð )ð)ð )ð )ð)ð )ð )ð)ð )ð )ð5ð 5ð 5ð 5ð 5r"   rQ  c                   ó*   — e Zd ZdZd„ Zd„ Zd„ Zd„ ZdS )Ú
TestHsplitú&Only testing for integer splits.

    c                 ó>   — t          t          t          dd¦  «         d S r;  )r   rJ   r   r=  s    r    r>  zTestHsplit.test_non_iterable  ó   € Ý•j¥&¨!¨QÑ/Ô/Ð/Ð/Ð/r"   c                 ó�   — t          j        d¦  «        }	 t          |d¦  «         t          d¦  «         d S # t          $ r Y d S w xY w)NrG   r.   r   )r   rK   r   r   rJ   r{   s     r    rW  zTestHsplit.test_0D_array!  sR   € ÝŒH�Q‰KŒKˆð	Ý�1�a‰LŒLˆLÝ�A‰JŒJˆJˆJˆJøÝð 	ð 	ð 	ØˆDˆDð	øøøs   –7 ·
AÁAc                 óÊ   — t          j        g d¢¦  «        }t          |d¦  «        }t          j        ddg¦  «        t          j        ddg¦  «        g}t          ||¦  «         d S ©N©rG   r.   r+   r,   r.   rG   r+   r,   ©r   rK   r   r  r  s       r    rY  zTestHsplit.test_1D_array)  s^   € ÝŒH�\�\�\Ñ"Ô"ˆÝ�Q˜‰lŒlˆÝ”8˜Q ˜FÑ#Ô#¥R¤X¨q°!¨fÑ%5Ô%5Ð6ˆÝ˜˜WÑ%Ô%Ð%Ð%Ð%r"   c                 óâ   — t          j        g d¢g d¢g¦  «        }t          |d¦  «        }t          j        ddgddgg¦  «        t          j        ddgddgg¦  «        g}t          ||¦  «         d S rg  ri  r  s       r    r[  zTestHsplit.test_2D_array/  s€   € ÝŒH�l�l�lØ�,�,ð ñ !ô !ˆå�Q˜‰lŒlˆÝ”8˜a ˜V a¨ VÐ,Ñ-Ô-­r¬x¸!¸Q¸À!ÀQÀÐ8HÑ/IÔ/IÐJˆÝ˜˜WÑ%Ô%Ð%Ð%Ð%r"   N©r`   ra   rb   Ú__doc__r>  rW  rY  r[  rc   r"   r    ra  ra    sZ   € € € € € ðð ð0ð 0ð 0ðð ð ð&ð &ð &ð&ð &ð &ð &ð &r"   ra  c                   ó*   — e Zd ZdZd„ Zd„ Zd„ Zd„ ZdS )Ú
TestVsplitrb  c                 ó>   — t          t          t          dd¦  «         d S r;  )r   rJ   r	   r=  s    r    r>  zTestVsplit.test_non_iterable;  rd  r"   c                 óf   — t          j        d¦  «        }t          t          t          |d¦  «         d S rT  )r   rK   r   rJ   r	   r{   s     r    rW  zTestVsplit.test_0D_array>  ó)   € ÝŒH�Q‰KŒKˆÝ•j¥&¨!¨QÑ/Ô/Ð/Ð/Ð/r"   c                 ó”   — t          j        g d¢¦  «        }	 t          |d¦  «         t          d¦  «         d S # t          $ r Y d S w xY w©Nrh  r.   r   )r   rK   r	   r   rJ   r{   s     r    rY  zTestVsplit.test_1D_arrayB  sX   € ÝŒH�\�\�\Ñ"Ô"ˆð	Ý�1�a‰LŒLˆLÝ�A‰JŒJˆJˆJˆJøÝð 	ð 	ð 	ØˆDˆDð	øøøs   ˜9 ¹
AÁAc                 óÖ   — t          j        g d¢g d¢g¦  «        }t          |d¦  «        }t          j        g d¢g¦  «        t          j        g d¢g¦  «        g}t          ||¦  «         d S ©Nrh  r.   )r   rK   r	   r  r  s       r    r[  zTestVsplit.test_2D_arrayJ  sr   € ÝŒH�l�l�lØ�,�,ð ñ !ô !ˆå�Q˜‰lŒlˆÝ”8˜\˜\˜\˜NÑ+Ô+­R¬X°|°|°|°nÑ-EÔ-EÐFˆÝ˜˜WÑ%Ô%Ð%Ð%Ð%r"   Nrk  rc   r"   r    rn  rn  7  sZ   € € € € € ðð ð0ð 0ð 0ð0ð 0ð 0ðð ð ð&ð &ð &ð &ð &r"   rn  c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )Ú
TestDsplitc                 ó>   — t          t          t          dd¦  «         d S r;  )r   rJ   r   r=  s    r    r>  zTestDsplit.test_non_iterableT  rd  r"   c                 óf   — t          j        d¦  «        }t          t          t          |d¦  «         d S rT  ©r   rK   r   rJ   r   r{   s     r    rW  zTestDsplit.test_0D_arrayW  rq  r"   c                 ój   — t          j        g d¢¦  «        }t          t          t          |d¦  «         d S ru  rz  r{   s     r    rY  zTestDsplit.test_1D_array[  s/   € ÝŒH�\�\�\Ñ"Ô"ˆÝ•j¥&¨!¨QÑ/Ô/Ð/Ð/Ð/r"   c                 óœ   — t          j        g d¢g d¢g¦  «        }	 t          |d¦  «         t          d¦  «         d S # t          $ r Y d S w xY wrs  )r   rK   r   r   rJ   r{   s     r    r[  zTestDsplit.test_2D_array_  sh   € ÝŒH�l�l�lØ�,�,ð ñ !ô !ˆð	Ý�1�a‰LŒLˆLÝ�A‰JŒJˆJˆJˆJøÝð 	ð 	ð 	ØˆDˆDð	øøøs   œ= ½
AÁ
Ac                 ó  — t          j        g d¢g d¢gg d¢g d¢gg¦  «        }t          |d¦  «        }t          j        ddgddggddgddggg¦  «        t          j        ddgddggddgddggg¦  «        g}t          ||¦  «         d S rg  )r   rK   r   r  r  s       r    Útest_3D_arrayzTestDsplit.test_3D_arrayh  sÂ   € ÝŒH�|�|�|Ø�<�<ð!à�<�<Ø�<�<ð!ð"ñ #ô #ˆõ �Q˜‰lŒlˆÝ”8˜q !˜f q¨! fÐ-°°A°¸¸A¸Ð/?Ð@ÑAÔAÝ”8˜q !˜f q¨! fÐ-°°A°¸¸A¸Ð/?Ð@ÑAÔAðCˆå˜˜WÑ%Ô%Ð%Ð%Ð%r"   N)r`   ra   rb   r>  rW  rY  r[  r~  rc   r"   r    rw  rw  R  s_   € € € € € ð0ð 0ð 0ð0ð 0ð 0ð0ð 0ð 0ðð ð ð&ð &ð &ð &ð &r"   rw  c                   ó   — e Zd Zd„ ZdS )ÚTestSqueezec                 ór  — ddl m}  |ddddd¦  «        } |ddddd¦  «        } |dddd¦  «        }t          t          j        |¦  «        t          j        |d¦  «        ¦  «         t          t          j        |¦  «        t          j        |d¦  «        ¦  «         t          t          j        |¦  «        t          j        |d¦  «        ¦  «         d	ggg}t          j        |¦  «        }t          |d	¦  «         t          |j        d¦  «         t          t          |¦  «        t          j	        ¦  «         d S )
Nr   r)   rh   rD   rG   )rh   rD   rD   )rh   rD   rh   rw   g      ø?)
r0   r*   r   r   r¯   rs   r   r<   rÇ   r–   )r=   r*   r   r÷   Úcr   s         r    Ú
test_basiczTestSqueeze.test_basict  s  € Ø%Ð%Ð%Ð%Ð%Ð%àˆD��R˜˜Q Ñ"Ô"ˆØˆD��Q˜˜A˜rÑ"Ô"ˆØˆD��A�r˜2ÑÔˆÝ�2œ: a™=œ=­"¬*°Q¸Ñ*EÔ*EÑFÔFÐFÝ�2œ: a™=œ=­"¬*°Q¸Ñ*EÔ*EÑFÔFÐFÝ�2œ: a™=œ=­"¬*°Q¸Ñ*AÔ*AÑBÔBÐBð ˆeˆWˆIˆÝŒj˜‰mŒmˆÝ�S˜#ÑÔÐÝ�S”X˜qÑ!Ô!Ð!Ý•T˜#‘Y”Y¥¤
Ñ+Ô+Ð+Ð+Ð+r"   N©r`   ra   rb   rƒ  rc   r"   r    r€  r€  s  s#   € € € € € ð,ð ,ð ,ð ,ð ,r"   r€  c                   óÌ   — e Zd Zd„ Zd„ Zej                             dej	        ej
        g¦  «        d„ ¦   «         Zd„ Zej                             dg d¢¦  «        d„ ¦   «         Zd	S )
ÚTestKronc                 óÞ  — t          j        d¦  «        }t          j        ddgddgg¦  «        }t          j        ddgddgg¦  «        }t          t          j        ||¦  «        |¦  «         t          j        ddgddgg¦  «        }t          j        d¦  «        }t          t          j        ||¦  «        |¦  «         t          j        dg¦  «        }t          j        ddgddgg¦  «        }t          j        ddgddgg¦  «        }t          t          j        ||¦  «        |¦  «         t          j        ddgddgg¦  «        }t          j        dg¦  «        }t          t          j        ||¦  «        |¦  «         t          j        dggdggg¦  «        }t          j        ddgddgg¦  «        }t          j        ddgddggddgddggg¦  «        }t          t          j        ||¦  «        |¦  «         t          j        ddgddgg¦  «        }t          j        dggdggg¦  «        }t          j        ddgddggddgddggg¦  «        }t          t          j        ||¦  «        |¦  «         d S )	NrG   r.   r+   r,   r•   r  r,  r  )r   rK   r   r   )r=   r   r÷   Úks       r    rƒ  zTestKron.test_basic‡  sR  € åŒH�Q‰KŒKˆÝŒH�q˜!�f˜q !˜fÐ%Ñ&Ô&ˆÝŒH�q˜!�f˜q !˜fÐ%Ñ&Ô&ˆÝ�2œ7 1 a™=œ=¨!Ñ,Ô,Ð,ÝŒH�q˜!�f˜q !˜fÐ%Ñ&Ô&ˆÝŒH�Q‰KŒKˆÝ�2œ7 1 a™=œ=¨!Ñ,Ô,Ð,õ ŒH�a�S‰MŒMˆÝŒH�q˜!�f˜q !˜fÐ%Ñ&Ô&ˆÝŒH�q˜!�f˜q "˜gÐ&Ñ'Ô'ˆÝ�2œ7 1 a™=œ=¨!Ñ,Ô,Ð,ÝŒH�q˜!�f˜q !˜fÐ%Ñ&Ô&ˆÝŒH�a�S‰MŒMˆÝ�2œ7 1 a™=œ=¨!Ñ,Ô,Ð,õ ŒH˜�s�e˜q˜c˜U�^Ñ$Ô$ˆÝŒH�q˜!�f˜q !˜fÐ%Ñ&Ô&ˆÝŒH˜˜1�v  1˜vÐ&¨!¨Q¨°!°Q°Ð(8Ð9Ñ:Ô:ˆÝ�2œ7 1 a™=œ=¨!Ñ,Ô,Ð,ÝŒH�q˜!�f˜q !˜fÐ%Ñ&Ô&ˆÝŒH˜�s�e˜q˜c˜U�^Ñ$Ô$ˆÝŒH˜˜1�v  1˜vÐ&¨!¨Q¨°!°Q°Ð(8Ð9Ñ:Ô:ˆÝ�2œ7 1 a™=œ=¨!Ñ,Ô,Ð,Ð,Ð,r"   c                 ó  —  G d„ dt           j        ¦  «        }t          j        ddg¦  «        } ||j        |j        |j        ¦  «        }t          t          t          ||¦  «        ¦  «        t           j        ¦  «         t          t          t          ||¦  «        ¦  «        |¦  «         t          t          t          ||¦  «        ¦  «        |¦  «         t          t          t          ||¦  «        ¦  «        |¦  «         d S )Nc                   ó   — e Zd ZdZdS )ú*TestKron.test_return_type.<locals>.myarrayg      ð?N)r`   ra   rb   Ú__array_priority__rc   r"   r    Úmyarrayr‹  ¥  s   € € € € € Ø!$ÐÐÐr"   r�  r.   )	r   r–   rH   rV   rF   r    r   rÇ   r   )r=   r�  r   rÏ   s       r    Útest_return_typezTestKron.test_return_type¤  sâ   € ð	%ð 	%ð 	%ð 	%ð 	%•b”jñ 	%ô 	%ð 	%õ ŒG�Q˜�F‰OŒOˆØˆW�Q”W˜aœg q¤vÑ.Ô.ˆÝ•T�$˜q !™*œ*Ñ%Ô%¥r¤zÑ2Ô2Ð2Ý•T�$˜r 2™,œ,Ñ'Ô'¨Ñ1Ô1Ð1Ý•T�$˜q "™+œ+Ñ&Ô&¨Ñ0Ô0Ð0Ý•T�$˜r 1™+œ+Ñ&Ô&¨Ñ0Ô0Ð0Ð0Ð0r"   Úarray_classc                 ó  —  |t          j        ddg¦  «        ¦  «        } |t          j        ddg¦  «        ¦  «        } |t          j        ddg¦  «        ¦  «        }t          t          j        ||¦  «        |¦  «         d S )Nr+   r  )r   rH   r   r   )r=   r�  r   r÷   rˆ  s        r    Útest_kron_smokezTestKron.test_kron_smoke¯  su   € ð ˆK�œ  A ™œÑ(Ô(ˆØˆK�œ  A ™œÑ(Ô(ˆØˆK�œ  A ™œÑ(Ô(ˆå�2œ7 1 a™=œ=¨!Ñ,Ô,Ð,Ð,Ð,r"   c                 óh  — t           j                             ddgddggddgddgg¬¦  «        }t           j                             t          j        g d¢¦  «        t          j        t          j        d¦  «        t
          ¬¦  «         ¬¦  «        }t          |t          j        ||¦  «        ¦  «         d S )	NrG   r.   r+   r,   r   r  )rG   r,   r,   é   rE   )r   rÏ   rK   ÚdiagÚidentityrN   r   r   )r=   r±   rˆ  s      r    Útest_kron_mazTestKron.test_kron_ma¹  sœ   € ÝŒE�KŠK˜!˜Q˜ ! Q Ð(°°A°¸¸A¸Ð/?ˆKÑ@Ô@ˆÝŒE�KŠK�œ   Ñ.Ô.Ý”h�rœ{¨1™~œ~µTÐ:Ñ:Ô:Ð:ð ñ <ô <ˆõ 	˜1�bœg a¨™mœmÑ,Ô,Ð,Ð,Ð,r"   zshape_a,shape_b))r  r  )r@  )r,   r-   r•   )©r.   r.   )r.   r.   r.   ))rG   r   r  )©r.   r   r.   r—  ))r.   r   r   r.   r˜  c                 ó¾  — t          j        |¦  «        }t          j        |¦  «        }dt          dt          |¦  «        t          |¦  «        z
  ¦  «        z  |z   }dt          dt          |¦  «        t          |¦  «        z
  ¦  «        z  |z   }t          j        ||¦  «        }t          j        ||¦  «        }t          j        |j        |¦  «        s
J d¦   «         ‚d S )N)rG   r   zUnexpected shape from kron)r   rH   r6   rz   Úmultiplyr   Úarray_equalrV   )	r=   Úshape_aÚshape_br   r÷   Únormalised_shape_aÚnormalised_shape_bÚexpected_shaperˆ  s	            r    Útest_kron_shapezTestKron.test_kron_shapeÀ  sÝ   € õ ŒG�GÑÔˆÝŒG�GÑÔˆØ!¥C¨­3¨w©<¬<½¸G¹¼Ñ+DÑ$EÔ$EÑEÈÑOÐØ!¥C¨­3¨w©<¬<½¸G¹¼Ñ+DÑ$EÔ$EÑEÈÑOÐÝœÐ%7Ð9KÑLÔLˆåŒG�A�q‰MŒMˆÝŒ~Ø”˜ñ)ô )ð 	Gð 	GØ*Fñ	Gô 	Gð 	Gð 	Gð 	Gr"   N)r`   ra   rb   rƒ  rŽ  r.  r/  Úparametrizer   ÚasarrayÚmatr‘  r–  r¡  rc   r"   r    r†  r†  †  sÆ   € € € € € ð-ð -ð -ð:	1ð 	1ð 	1ð „[×ÒØ˜œ
 B¤FÐ+ñô ð-ð -ñô ð-ð-ð -ð -ð „[×ÒØð 
ð 
ð 
ñô ð	Gð 	Gñô ð	Gð 	Gð 	Gr"   r†  c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestTilec                 óü  — t          j        g d¢¦  «        }ddgddgg}t          t          |d¦  «        g d¢¦  «         t          t          |d¦  «        g d¢g d¢g¦  «         t          t          |d¦  «        g d¢g¦  «         t          t          |d¦  «        g d	¢g d
¢g¦  «         t          t          |d¦  «        ddgddgddgddgg¦  «         t          t          |d¦  «        g d	¢g d
¢g d	¢g d
¢g¦  «         d S )Nrú   rG   r.   r+   r,   )r   rG   r.   r   rG   r.   r—  ©rG   r.   )rG   r.   rG   r.   )r+   r,   r+   r,   ©r.   rG   )r   rK   r   r   ©r=   r   r÷   s      r    rƒ  zTestTile.test_basicÖ  s3  € ÝŒH�Y�Y�YÑÔˆØ�ˆV�a˜�VÐˆÝ•T˜!˜Q‘Z”ZÐ!3Ð!3Ð!3Ñ4Ô4Ð4Ý•T˜!˜V‘_”_Ð'9Ð'9Ð'9Ð;MÐ;MÐ;MÐ&NÑOÔOÐOÝ•T˜!˜V‘_”_Ð'9Ð'9Ð'9Ð&:Ñ;Ô;Ð;Ý•T˜!˜Q‘Z”Z , , ,°°°Ð!=Ñ>Ô>Ð>Ý•T˜!˜V‘_”_¨¨1 v°°1¨v¸¸1°vÀÀ1¸vÐ&FÑGÔGÐGÝ•T˜!˜V‘_”_ | | |°\°\°\Ø'3 | |°\°\°\ð'Cñ 	Dô 	Dð 	Dð 	Dð 	Dr"   c                 óœ   — t          j        d¦  «        }t          |d¦  «        }|dz  }t          |t          j        d¦  «        ¦  «         d S )Nr-   rG   r.   )r   rr   r   r   rª  s      r    Ú(test_tile_one_repetition_on_array_gh4679z1TestTile.test_tile_one_repetition_on_array_gh4679á  sC   € ÝŒI�a‰LŒLˆÝ��A‰JŒJˆØ	ˆQ‰ˆÝ�Q�œ	 !™œÑ%Ô%Ð%Ð%Ð%r"   c                 óò   — t          j        g gg¦  «        }t          j        g g g¦  «        }t          |d¦  «        j        }t          |d¦  «        j        }t	          |d¦  «         t	          |d¦  «         d S )Nr.   r^   )r.   r   )r+   r.   r   )r   rK   r   rV   r   )r=   r   r÷   r‚  rx   s        r    rY   zTestTile.test_emptyç  sp   € ÝŒH�r�d�VÑÔˆÝŒH�b˜"�XÑÔˆÝ��A‰JŒJÔˆÝ��IÑÔÔ$ˆÝ�Q˜ÑÔÐÝ�Q˜	Ñ"Ô"Ð"Ð"Ð"r"   c                 óæ   — ddl m} g d¢}g d¢}|D ]_} |dd|¬¦  «        }|D ]L}t          j        ||j        ¦  «        }t          ||¦  «        }t          ||¦  «        }	t          ||	¦  «         ŒMŒ`d S )Nr   )Úrandint))r.   r¨  r©  r—  )r.   r+   r.   )r+   r.   ))r+   )r.   r+   )r+   r,   r+   )r+   r.   r+   )r,   r+   r.   r,   r—  rD   )Úsize)r0   r¯  r   rH   rF   r   r   r   )
r=   r¯  ÚrepsrV   rö   r÷   Úrr   ÚlargeÚklarges
             r    Útest_kroncomparezTestTile.test_kroncompareï  s­   € Ø(Ð(Ð(Ð(Ð(Ð(à@Ð@Ð@ˆØJÐJÐJˆØð 	,ð 	,ˆAØ�˜˜2 AÐ&Ñ&Ô&ˆAØð ,ð ,�Ý”G˜A˜qœwÑ'Ô'�Ý˜Q ™
œ
�Ý˜a ™œ�Ý˜U FÑ+Ô+Ð+Ð+ð	,ð	,ð 	,r"   N)r`   ra   rb   rƒ  r¬  rY   rµ  rc   r"   r    r¦  r¦  Õ  sS   € € € € € ð	Dð 	Dð 	Dð&ð &ð &ð#ð #ð #ð,ð ,ð ,ð ,ð ,r"   r¦  c                   ó   — e Zd Zd„ ZdS )ÚTestMayShareMemoryc           
      ó  — t          j        d¦  «        }t          j        d¦  «        }t          t          j        ||¦  «        ¦  «         t          t          j        ||d d d…         ¦  «        ¦  «         t          t          j        ||d d d…         ¦  «        ¦  «         t          t          j        ||dd …d d d…f         ¦  «        ¦  «         t          t          j        |d d d…         |¦  «         ¦  «         t          t          j        |d d d…         |¦  «         ¦  «         t          t          j        |dd …d d d…f         |¦  «         ¦  «         t          t          j        |dd …d d d…f         |¦  «        ¦  «         d S )N)rk   ri   )rg   ri   r•   r·   r.   rG   )r   rH   r   Úmay_share_memory)r=   rx   Úd2s      r    rƒ  zTestMayShareMemory.test_basicþ  se  € ÝŒG�HÑÔˆÝŒW�[Ñ!Ô!ˆÝ•Ô# A qÑ)Ô)Ñ*Ô*Ð*Ý•Ô# A q¨¨¨2¨¤wÑ/Ô/Ñ0Ô0Ð0Ý•Ô# A q¨¨¨1¨¤vÑ.Ô.Ñ/Ô/Ð/Ý•Ô# A q¨¨¨¨T¨T¨r¨T¨¤{Ñ3Ô3Ñ4Ô4Ð4å•BÔ'¨¨$¨$¨B¨$¬°Ñ4Ô4Ð4Ñ5Ô5Ð5Ý•BÔ'¨¨#¨#¨A¨#¬°Ñ3Ô3Ð3Ñ4Ô4Ð4Ý•BÔ'¨¨!¨"¨"¨d¨d°¨d¨(¬°RÑ8Ô8Ð8Ñ9Ô9Ð9Ý•Ô# B q r r¨4¨4¨R¨4 x¤L°"Ñ5Ô5Ñ6Ô6Ð6Ð6Ð6r"   Nr„  rc   r"   r    r·  r·  ý  s#   € € € € € ð7ð 7ð 7ð 7ð 7r"   r·  c                 ó°   — t          | ¦  «        t          |¦  «        k    rt          d¦  «        ‚t          | |¦  «        D ]\  }}t          ||¦  «         ŒdS )zCompare lists of arrays.z Iterables have different lengthsN)rz   rJ   Úzipr   )r   r  r±   Úys       r    r  r    sb   € å
ˆ3�x„x•3�w‘<”<ÒÐÝÐ;Ñ<Ô<Ð<å�C˜Ñ!Ô!ð !ð !‰ˆˆ1Ý˜1˜aÑ Ô Ð Ð ð!ð !r"   ).Únumpyr   r#   Úsysr.  Únumpy.lib.shape_baser   r   r   r   r   r   r	   r
   r   r   r   r   r   r   Únumpy.testingr   r   r   r   r   Úmaxsizer1  r%   r'   re   ru   rë   rò   r
  r3  r9  rQ  ra  rn  rw  r€  r†  r¦  r·  r  rc   r"   r    ú<module>rÃ     sû  ðØ Ð Ð Ð Ø Ð Ð Ð Ø 
€
€
€
Ø €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð ð ð ð ð ð ð
 Œ;˜Ò€ðð ð ð1.ð 1.ð 1.ð 1.ð 1.ñ 1.ô 1.ð 1.ðh9ð 9ð 9ð 9ð 9ñ 9ô 9ð 9ð2c=ð c=ð c=ð c=ð c=ñ c=ô c=ð c=ðLCð Cð Cð Cð Cñ Cô Cð Cð%5ð %5ð %5ð %5ð %5ñ %5ô %5ð %5ðPC&ð C&ð C&ð C&ð C&ñ C&ô C&ð C&ðL/ð /ð /ð /ð /ñ /ô /ð /ð ;ð ;ð ;ð ;ð ;ñ ;ô ;ð ;ð:"5ð "5ð "5ð "5ð "5ñ "5ô "5ð "5ðN&ð &ð &ð &ð &ñ &ô &ð &ð:&ð &ð &ð &ð &ñ &ô &ð &ð6&ð &ð &ð &ð &ñ &ô &ð &ðB,ð ,ð ,ð ,ð ,ñ ,ô ,ð ,ð&LGð LGð LGð LGð LGñ LGô LGð LGð^%,ð %,ð %,ð %,ð %,ñ %,ô %,ð %,ðP7ð 7ð 7ð 7ð 7ñ 7ô 7ð 7ð !ð !ð !ð !ð !r"   