§
    -áUg`k  ã                   óP  — 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 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)Ú	AxisError)Ú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       €ú^/var/www/surfInsights/venv3-11/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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é   é   é   Nr   r   )Únumpy.randomr+   r   ÚsortÚargsortÚdictr&   ÚminÚargminÚmaxÚargmaxÚlistÚrangeÚndimr   r   )
Úselfr+   r   Úfuncsr    Úargfuncr   r   Úa_funcÚai_funcs
             r!   Útest_argequivalentz$TestTakeAlongAxis.test_argequivalent    s2  € à%Ð%Ð%Ð%Ð%Ð%ØˆD��A�q‰MŒMˆõ ŒW•b”j¥$¡&¤&Ð)Ý�2œ6Ñ"Ô"¥Mµ"´)Ñ$<Ô$<½d¹f¼fÐEÝ�2œ6Ñ"Ô"¥Mµ"´)Ñ$<Ô$<½d¹f¼fÐEð
ˆð &+ð 	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                 óB  — 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          t          ||d¬¦  «         t	          t
          t          ||d¬¦  «         dS )z4 Test it errors when indices has too few dimensions )é
   rA   )rA   é   ©Údtypeé   r   rA   N)r   ÚonesÚintpr   r   Ú
ValueErrorÚarrayÚ
IndexErrorÚastypeÚboolÚfloatr   ©r:   r   Úais      r!   Útest_invalidzTestTakeAlongAxis.test_invalid2   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å•i¥°!°R¸bÐAÑAÔAÐAå•j¥/°1°b¸tÐ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.   rC   rE   r   N©r   rF   rG   r   r   Úshape©r:   r   rO   Úactuals       r!   Ú
test_emptyzTestTakeAlongAxis.test_emptyE   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-   rE   ©rE   rB   r.   rC   rE   r   ©r,   rB   r.   NrR   rT   s       r!   Útest_broadcastz TestTakeAlongAxis.test_broadcastM   sS   € åŒW�YÑÔˆÝŒW�Y¥b¤gÐ.Ñ.Ô.ˆÝ   B¨QÐ/Ñ/Ô/ˆÝ�V”\ 9Ñ-Ô-Ð-Ð-Ð-r#   N)Ú__name__Ú
__module__Ú__qualname__r?   rP   rV   r\   © r#   r!   r(   r(      sV   € € € € € ðMð Mð Mð$Eð Eð Eð&-ð -ð -ð.ð .ð .ð .ð .r#   r(   c                   ó    — e Zd 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©rA   é   é   ©é<   é(   é2   r   i�ÿÿÿ)r   rI   r7   r8   r9   Úcopyr&   r6   r   r4   r   )r:   Úa_baser   r   Úi_maxÚi_mins         r!   Útest_replace_maxz!TestPutAlongAxis.test_replace_maxV   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 )
rX   rY   rA   rC   rZ   r-   rf   rE   r   N)r   rF   ÚarangerG   Úreshaper   r   r   rN   s      r!   r\   zTestPutAlongAxis.test_broadcastf   sv   € åŒW�YÑÔˆÝŒY�r¥¤Ð)Ñ)Ô)×1Ò1°)Ñ<Ô<¸qÑ@ˆÝ�q˜"˜b qÐ)Ñ)Ô)Ð)Ý•_ Q¨°Ð3Ñ3Ô3°RÑ8Ô8Ð8Ð8Ð8r#   c                 óþ  — t          j        g d¢g d¢g¦  «        }t          j        dgdgg¦  «        }t          j        dgdgg¦  «        }|                     ¦   «         }t          |||d¬¦  «         t          j        |g d¢g d¢gk    ¦  «        sJ ‚|                     ¦   «         }t          t          ¦  «        5 }t          |||d	¬¦  «         d	d	d	¦  «         n# 1 swxY w Y   d
t          |j        ¦  «        v sJ ‚d	S )z Test invalid inputs rd   rg   r   rE   rB   r   ©rB   rB   rB   ©rE   rE   rE   Nzsingle dimension)	r   rI   rk   r   Úallr   rH   ÚstrÚ	exception)r:   rl   ÚindicesÚvaluesr   Úexcs         r!   rP   zTestPutAlongAxis.test_invalidm   sA  € å”˜<˜<˜<¨¨¨Ð6Ñ7Ô7ˆÝ”(˜Q˜C ! ˜:Ñ&Ô&ˆÝ”˜A˜3  ˜*Ñ%Ô%ˆð �KŠK‰MŒMˆÝ�q˜' 6°Ð2Ñ2Ô2Ð2ÝŒv�a˜I˜I˜I y y yÐ1Ò1Ñ2Ô2Ð2Ð2Ð2ð �KŠK‰MŒMˆÝ�:Ñ&Ô&ð 	:¨#Ý˜1˜g v°DÐ9Ñ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:à!¥S¨¬Ñ%7Ô%7Ð7Ð7Ð7Ð7Ð7Ð7s   Â:CÃCÃ!CN)r]   r^   r_   ro   r\   rP   r`   r#   r!   rb   rb   U   sA   € € € € € ð'ð 'ð 'ð 9ð 9ð 9ð8ð 8ð 8ð 8ð 8r#   rb   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©rf   rA   Údr   rE   ©r   rF   r   r   ÚlenrS   ©r:   r   s     r!   Útest_simplezTestApplyAlongAxis.test_simple�   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)rA   ée   r€   r   rE   r�   rƒ   s     r!   Útest_simple101z!TestApplyAlongAxis.test_simple101†   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‰   re   é!   )é$   é'   é*   )é-   é0   é3   )r   rq   rr   r   r   Úsumrƒ   s     r!   Útest_3dzTestApplyAlongAxis.test_3d‹   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 )NrB   r`   )Ú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]   r^   r_   r`   r#   r!   Ú	MyNDArrayr™   ”   ó   € € € € € ØˆDr#   r›   r   rE   rB   r,   r-   é   )r   ÚndarrayrI   Ú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>.MinimalSubclassrE   N)r]   r^   r_   Údatar`   r#   r!   ÚMinimalSubclassr§   £   s   € € € € € ØˆDˆDˆDr#   r©   c                 ó   — | j         S ©N)r¨   )rI   s    r!   Úminimal_functionz:TestApplyAlongAxis.test_subclass.<locals>.minimal_function¦   s
   € Ø”:Ðr#   ©r�   r,   r   ru   )r   rž   ÚzerosrŸ   r   r   rI   )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   rF   rŸ   r   r’   r   r    r   rI   )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 rE   T)Úkeepdims)r   r9   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±   rE   )r,   r,   r,   r,   r,   r,   )r   rF   rŸ   r   r   r    r   rI   )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 xrE   Néÿÿÿÿ)r   r9   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«   r`   ©Ú.0ÚiÚa2drÀ   s     €€r!   ú
<listcomp>z:TestApplyAlongAxis.test_axis_insertion.<locals>.<listcomp>Í   s:   ø€ ð 
ð 
ð 
Ø !ˆEˆE�#�a�a�a˜�c”(‰OŒOð
ð 
ð 
r#   rE   r¿   r   c                 ó:   •— g | ]} ‰‰|d d …f         ¦  «        ‘ŒS r«   r`   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«   r`   )rÄ   rÅ   Úa3drÀ   Újs     €€€r!   rÇ   zETestApplyAlongAxis.test_axis_insertion.<locals>.<listcomp>.<listcomp>à   s>   ø€ ð ð ð Ø&'���c˜!˜A˜A˜A˜a˜%”jÑ!Ô!ðð ð r#   r   r   )r   Ústackr8   rS   )rÄ   rÍ   rÌ   rÀ   s    @€€r!   rÇ   z:TestApplyAlongAxis.test_axis_insertion.<locals>.<listcomp>ß   s~   øø€ ð 
ð 
ð 
ð õ ŒHð ð ð ð ð ð Ý+0°´¸1´Ñ+>Ô+>ðñ ô àðñ ô ð
ð 
ð 
r#   rB   )
r   rq   rr   r   rÎ   r8   rS   rŸ   r   Útype)r:   r²   rU   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š   r`   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¾   rE   Nr¿   r.   r   )r   r9   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,   rE   rB   )r   rq   rr   r   r   r    r×   Úmasked_arrayr   r9   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 )NrE   r   r`   r¸   s    r!   Ú	sample_1dz7TestApplyAlongAxis.test_tuple_func1d.<locals>.sample_1dþ   s   € Ø�Q”4˜˜1œ�:Ðr#   rE   rB   r,   r-   )r   r   rI   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   rE   c                 óF   — t          t          | ¦  «        dk    ¦  «         dS )Nr   rE   )r   r‚   r¸   s    r!   Ú
empty_to_1z1TestApplyAlongAxis.test_empty.<locals>.empty_to_1  s   € Ý•C˜‘F”F˜a’KÑ Ô Ð Ø�1r#   )rA   r   rA   )r   Úemptyr   rH   r   r   rF   )r:   râ   r   rä   rU   s        r!   rV   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 )NrE   é   rB   é   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   >   rE   r-   rç   ré   >   rB   r.   rè   rê   >   r,   r�   r‹   rë   )r   rI   r   r   ÚndindexrS   rÏ   )r:   r€   rU   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]   r^   r_   r„   r‡   r“   r¤   r¯   r   rž   r³   r»   rÐ   rÔ   rÛ   rß   rV   rñ   r`   r#   r!   r}   r}   €   s  € € € € € ðEð Eð Eð
Eð Eð Eð
Gð Gð Gð
-ð -ð -ð$
ð 
ð 
ð %'¤Jð ?ð ?ð ?ð ?ð !#¤
ð Hð Hð Hð Hð ')¤jð #'ð #'ð #'ð #'ðJ2ð 2ð 2ð@ð @ð @ð<ð <ð <ðIð Ið Ið&=ð =ð =ð =ð =r#   r}   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é   rB   r,   r-   r   rh   é\   é|   )r   rq   rr   r   r’   r   rI   )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]   r^   r_   r„   r`   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©rB   r,   r-   r.   éûÿÿÿr-   rE   )r   rå   r8   r   r   rS   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   rE   rB   r   )rE   rE   rE   r,   r,   r,   )r   r¿   éþÿÿÿ)rE   r,   r,   r,   rE   rE   )r   r,   r.   )rE   r,   r,   rE   r,   rE   )r   éýÿÿÿrý   )rE   rE   r,   rE   r,   r,   )r   rå   r   rS   rƒ   s     r!   Útest_axis_tuplezTestExpandDims.test_axis_tuple6  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                 ó:  — d}t          j        |¦  «        }t          t          t          |d¦  «         t          t          t          |d¦  «         t          j        d¦  «        }t          t          t          |d¦  «         t          t          t          |d¦  «         d S )Nrü   éúÿÿÿr.   rŠ   )r   r  )r   r.   )r   rå   r   r   r   )r:   rþ   r   s      r!   Útest_axis_out_of_rangez%TestExpandDims.test_axis_out_of_range=  sy   € ØˆÝŒH�Q‰KŒKˆÝ•i¥¨a°Ñ4Ô4Ð4Ý•i¥¨a°Ñ3Ô3Ð3åŒH�YÑÔˆÝ•i¥¨a°Ñ9Ô9Ð9Ý•i¥¨a°Ñ8Ô8Ð8Ð8Ð8r#   c                 óh   — t          j        d¦  «        }t          t          t          |d¬¦  «         d S )NrŠ   ©rE   rE   r   )r   rå   r   rH   r   rƒ   s     r!   Útest_repeated_axisz!TestExpandDims.test_repeated_axisG  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 )	NrA   )rB   r.   r,   r   ©rÚ   rE   r   )rB   rE   r.   )r   rq   rr   r×   rI   r   r   r    ÚMaskedArrayr   rS   rÚ   )r:   r   Úexpandeds      r!   Útest_subclasseszTestExpandDims.test_subclassesK  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]   r^   r_   r   r  r  r  r  r`   r#   r!   rú   rú   -  sb   € € € € € ð.ð .ð .ðOð Oð Oð9ð 9ð 9ð?ð ?ð ?ð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 )NrA   r   )r   rq   r   rH   r   rƒ   s     r!   Útest_integer_0_splitz#TestArraySplit.test_integer_0_splitV  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 )NrA   rE   rB   r.   r,   r-   é   r�   é   é	   rç   )r   rq   r   Úcompare_resultsrI   ©r:   r   r   Údesireds       r!   Útest_integer_splitz!TestArraySplit.test_integer_splitZ  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 )NrA   r,   r   r   ©r   rA   r¿   rE   ©	r   rI   rq   r   r®   r  r   rD   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 )NrA   r,   r¿   r   r-   r  )r   rI   rq   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
        rA   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   rB   r-   )i   @rB   )r   Úbroadcast_tor   r8   r‚   r   rS   )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 )	NrA   )rE   r.   r  r¿   r   r   rE   r.   r  )r   rq   r   r  ©r:   r   ry   r   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 )NrA   )r   r.   r  r¿   r   r   r.   r  ©r   rq   r   rI   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 )NrA   )r   r.   r  rA   é   r¿   r   r   r.   r  r0  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]   r^   r_   r  r  r"  r$  r&  ÚpytestÚmarkÚskipifÚIS_64BITr+  r.  r1  r4  r`   r#   r!   r  r  U  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 )NrA   rB   r.   )r   rq   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 )NrA   r,   )r   rq   r   rH   r   rƒ   s     r!   Útest_unequal_splitzTestSplit.test_unequal_splitæ  s)   € ÝŒI�b‰MŒMˆÝ•j¥%¨¨AÑ.Ô.Ð.Ð.Ð.r#   N)r]   r^   r_   r<  r>  r`   r#   r!   r:  r:  Û  s2   € € € € € ð
&ð &ð &ð/ð /ð /ð /ð /r#   r:  c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestColumnStackc                 ó<   — t          t          t          d¦  «         d S ©NrE   )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©rE   rB   r,   )rB   r,   r-   rE   rB   r,   r-   ©r   rI   r   r   ©r:   r   rÿ   r¢   rU   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 )NrE   rB   r,   r-   rH  rI  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          j        t          d¬¦  «        5  t          d„ t	          d¦  «        D ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Núarrays to stack must be©Úmatchc              3   ó>   K  — | ]}t          j        d ¦  «        V — ŒdS ©r,   N©r   rq   ©rÄ   Ú_s     r!   ú	<genexpr>z1TestColumnStack.test_generator.<locals>.<genexpr>  s*   è è € Ð8Ð8¨!�œ 1™œÐ8Ð8Ð8Ð8Ð8Ð8r#   rB   )r5  ÚraisesrC  r   r8   rD  s    r!   Útest_generatorzTestColumnStack.test_generator  sŸ   € ÝŒ]�9Ð,EÐFÑFÔFð 	9ð 	9ÝÐ8Ð8­u°Q©x¬xÐ8Ñ8Ô8Ñ8Ô8Ð8ð	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ó   œ'AÁAÁAN)r]   r^   r_   rE  rJ  rL  rX  r`   r#   r!   r@  r@  ë  sP   € € € € € ð2ð 2ð 2ð'ð 'ð 'ð'ð 'ð 'ð9ð 9ð 9ð 9ð 9r#   r@  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 rB  )r   rC  r
   rD  s    r!   rE  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 ©NrE   rB   ©r   rI   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 r^  r_  r`  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 r^  r_  r`  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 r^  r_  r`  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          j        t          d¬¦  «        5  t          d„ t	          d¦  «        D ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrN  rO  c              3   ó>   K  — | ]}t          j        d ¦  «        V — ŒdS rR  rS  rT  s     r!   rV  z,TestDstack.test_generator.<locals>.<genexpr>*  s*   è è € Ð2Ð2 A•2”9˜Q‘<”<Ð2Ð2Ð2Ð2Ð2Ð2r#   rB   )r5  rW  rC  r
   r8   rD  s    r!   rX  zTestDstack.test_generator(  sŸ   € ÝŒ]�9Ð,EÐFÑFÔFð 	3ð 	3ÝÐ2Ð2­¨q©¬Ð2Ñ2Ô2Ñ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð 	3ð 	3rY  N)	r]   r^   r_   rE  ra  rc  re  rg  rX  r`   r#   r!   r[  r[    sn   € € € € € ð,ð ,ð ,ð)ð )ð )ð)ð )ð )ð)ð )ð )ð)ð )ð )ð3ð 3ð 3ð 3ð 3r#   r[  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 rB  )r   rH   r   rD  s    r!   rE  zTestHsplit.test_non_iterable3  ó   € Ý•j¥&¨!¨QÑ/Ô/Ð/Ð/Ð/r#   c                 ó�   — t          j        d¦  «        }	 t          |d¦  «         t          d¦  «         d S # t          $ r Y d S w xY w)NrE   rB   r   )r   rI   r   r   rH   rƒ   s     r!   ra  zTestHsplit.test_0D_array6  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©rE   rB   r,   r-   rB   rE   r,   r-   ©r   rI   r   r  r  s       r!   rc  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 rq  rs  r  s       r!   re  zTestHsplit.test_2D_arrayD  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]   r^   r_   Ú__doc__rE  ra  rc  re  r`   r#   r!   rk  rk  /  sZ   € € € € € ðð ð0ð 0ð 0ðð ð ð&ð &ð &ð&ð &ð &ð &ð &r#   rk  c                   ó*   — e Zd ZdZd„ Zd„ Zd„ Zd„ ZdS )Ú
TestVsplitrl  c                 ó>   — t          t          t          dd¦  «         d S rB  )r   rH   r	   rD  s    r!   rE  zTestVsplit.test_non_iterableP  rn  r#   c                 óf   — t          j        d¦  «        }t          t          t          |d¦  «         d S r^  )r   rI   r   rH   r	   rƒ   s     r!   ra  zTestVsplit.test_0D_arrayS  ó)   € ÝŒ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©Nrr  rB   r   )r   rI   r	   r   rH   rƒ   s     r!   rc  zTestVsplit.test_1D_arrayW  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 ©Nrr  rB   )r   rI   r	   r  r  s       r!   re  zTestVsplit.test_2D_array_  sr   € ÝŒH�l�l�lØ�,�,ð ñ !ô !ˆå�Q˜‰lŒlˆÝ”8˜\˜\˜\˜NÑ+Ô+­R¬X°|°|°|°nÑ-EÔ-EÐFˆÝ˜˜WÑ%Ô%Ð%Ð%Ð%r#   Nru  r`   r#   r!   rx  rx  L  sZ   € € € € € ðð ð0ð 0ð 0ð0ð 0ð 0ðð ð ð&ð &ð &ð &ð &r#   rx  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 rB  )r   rH   r   rD  s    r!   rE  zTestDsplit.test_non_iterablei  rn  r#   c                 óf   — t          j        d¦  «        }t          t          t          |d¦  «         d S r^  ©r   rI   r   rH   r   rƒ   s     r!   ra  zTestDsplit.test_0D_arrayl  r{  r#   c                 ój   — t          j        g d¢¦  «        }t          t          t          |d¦  «         d S r  r„  rƒ   s     r!   rc  zTestDsplit.test_1D_arrayp  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r}  )r   rI   r   r   rH   rƒ   s     r!   re  zTestDsplit.test_2D_arrayt  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 rq  )r   rI   r   r  r  s       r!   Útest_3D_arrayzTestDsplit.test_3D_array}  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]   r^   r_   rE  ra  rc  re  rˆ  r`   r#   r!   r�  r�  g  s_   € € € € € ð0ð 0ð 0ð0ð 0ð 0ð0ð 0ð 0ðð ð ð&ð &ð &ð &ð &r#   r�  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*   rf   rA   rE   )rf   rA   rA   )rf   rA   rf   r   g      ø?)
r/   r+   r   r   r·   rr   r   r9   rÏ   rž   )r:   r+   r   rÿ   Úcr   s         r!   Ú
test_basiczTestSqueeze.test_basic‰  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]   r^   r_   r�  r`   r#   r!   rŠ  rŠ  ˆ  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 )	NrE   rB   r,   r-   r�   r  r3  r  )r   rI   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]   r^   r_   Ú__array_priority__r`   r#   r!   Úmyarrayr•  º  s   € € € € € Ø!$ÐÐÐr#   r—  rB   )	r   rž   rF   rS   rD   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   rF   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 )	NrE   rB   r,   r-   r   r  )rE   r-   r-   é   rC   )r   r×   rI   ÚdiagÚidentityrL   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
  )rG  )r-   r.   r�   )©rB   rB   rt   ))rE   r   r
  )©rB   r   rB   r¡  ))rB   r   r   rB   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)rE   r   zUnexpected shape from kron)r   rF   r5   r‚   Úmultiplyr   Úarray_equalrS   )	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]   r^   r_   r�  r˜  r5  r6  Úparametrizer   ÚasarrayÚasmatrixr›  r   r«  r`   r#   r!   r�  r�  ›  sÆ   € € € € € ð-ð -ð -ð:	1ð 	1ð 	1ð „[×ÒØ˜œ
 B¤KÐ0ñô ð-ð -ñô ð-ð-ð -ð -ð „[×ÒØð 
ð 
ð 
ñô ð	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  rE   rB   r,   r-   )r   rE   rB   r   rE   rB   r¡  ©rE   rB   )rE   rB   rE   rB   )r,   r-   r,   r-   ©rB   rE   )r   rI   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.   rE   rB   )r   rq   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 )NrB   r[   )rB   r   )r,   rB   r   )r   rI   r   rS   r   )r:   r   rÿ   rŒ  r€   s        r!   rV   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))rB   r²  r³  r¡  )rB   r,   rB   )r,   rB   ))r,   )rB   r,   )r,   r-   r,   )r,   rB   r,   )r-   r,   rB   r-   r¡  rA   )Úsize)r/   r¹  r   rF   rD   r   r   r   )
r:   r¹  ÚrepsrS   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]   r^   r_   r�  r¶  rV   r¿  r`   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)rj   rh   )re   rh   r�   r¿   rB   rE   )r   rF   r   Úmay_share_memory)r:   r€   Ú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Ž  r`   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)r‚   rH   Úzipr   )r   r  r¹   Úys       r!   r  r  "  sb   € å
ˆ3�x„x•3�w‘<”<ÒÐÝÐ;Ñ<Ô<Ð<å�C˜Ñ!Ô!ð !ð !‰ˆˆ1Ý˜1˜aÑ Ô Ð Ð ð!ð !r#   )/Únumpyr   r$   Úsysr5  r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   Únumpy.exceptionsr   Únumpy.testingr   r   r   r   r   Úmaxsizer8  r&   r(   rb   r}   ró   rú   r  r:  r@  r[  rk  rx  r�  rŠ  r�  r°  rÁ  r  r`   r#   r!   ú<module>rÍ     s  ðØ Ð Ð Ð Ø Ð Ð Ð Ø 
€
€
€
Ø €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð
 'Ð &Ð &Ð &Ð &Ð &ðð ð ð ð ð ð ð ð ð ð ð ð ð ð
 Œ;˜Ò€ðð ð ð3.ð 3.ð 3.ð 3.ð 3.ñ 3.ô 3.ð 3.ðl'8ð '8ð '8ð '8ð '8ñ '8ô '8ð '8ðVc=ð 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/ð /ð /ð /ð /ñ /ô /ð /ð 9ð 9ð 9ð 9ð 9ñ 9ô 9ð 9ð:"3ð "3ð "3ð "3ð "3ñ "3ô "3ð "3ð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#   