§
    `Štjk  ã                   óL  — 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 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Úcolumn_stackÚdsplitÚdstackÚexpand_dimsÚhsplitÚkronÚput_along_axisÚsplitÚtake_along_axisÚtileÚvsplit)Ú	AxisError)Úassert_Úassert_array_equalÚassert_equalÚassert_raisesì        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/html/CA-Chatbot/venv/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        i ft          t          j        ¦  «        t          t          j        ¦  «        i ft          t          j        ¦  «        t          t          j	        ¦  «        i 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Úargsortr%   ÚminÚargminÚmaxÚargmaxÚlistÚrangeÚndimr   r   )
Úselfr*   r   Úfuncsr   Úargfuncr   r   Úa_funcÚai_funcs
             r    Útest_argequivalentz$TestTakeAlongAxis.test_argequivalent)   s&  € à%Ð%Ð%Ð%Ð%Ð%ØˆD��A�q‰MŒMˆõ ŒW•b”j "Ð%Ý�2œ6Ñ"Ô"¥Mµ"´)Ñ$<Ô$<¸bÐAÝ�2œ6Ñ"Ô"¥Mµ"´)Ñ$<Ô$<¸bÐAð
ˆð &+ð 	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 )é
   r?   )r?   é   ©Údtypeé   r   r?   N)r   ÚonesÚintpr   r   Ú
ValueErrorÚarrayÚ
IndexErrorÚastypeÚboolÚfloatr   ©r8   r   Úais      r    Útest_invalidzTestTakeAlongAxis.test_invalid;   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-   rA   rC   r   N©r   rD   rE   r   r   Úshape©r8   r   rM   Úactuals       r    Ú
test_emptyzTestTakeAlongAxis.test_emptyN   sU   € åŒG�IÑÔˆÝŒ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,   rC   ©rC   r@   r-   rA   rC   r   ©r+   r@   r-   NrP   rR   s       r    Útest_broadcastz TestTakeAlongAxis.test_broadcastV   sS   € åŒG�IÑÔˆÝŒW�Y¥b¤gÐ.Ñ.Ô.ˆÝ   B¨QÐ/Ñ/Ô/ˆÝ�V”\ 9Ñ-Ô-Ð-Ð-Ð-r"   N)Ú__name__Ú
__module__Ú__qualname__r=   rN   rT   rZ   © 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©r?   é   é   ©é<   é(   é2   r   i�ÿÿÿ)r   rG   r5   r6   r7   Úcopyr%   r4   r   r2   r   )r8   Úa_baser   r   Úi_maxÚi_mins         r    Útest_replace_maxz!TestPutAlongAxis.test_replace_max_   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 )
rV   rW   r?   rA   rX   r,   rd   rC   r   N)r   rD   ÚarangerE   Úreshaper   r   r   rL   s      r    rZ   zTestPutAlongAxis.test_broadcasto   sv   € åŒG�IÑÔˆÝŒ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 rb   re   r   rC   r@   r   ©r@   r@   r@   ©rC   rC   rC   Nzsingle dimension)	r   rG   ri   r   Úallr   rF   ÚstrÚ	exception)r8   rj   ÚindicesÚvaluesr   Úexcs         r    rN   zTestPutAlongAxis.test_invalidv   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]   rm   rZ   rN   r^   r"   r    r`   r`   ^   sA   € € € € € ð'ð 'ð 'ð 9ð 9ð 9ð8ð 8ð 8ð 8ð 8r"   r`   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©rd   r?   Údr   rC   ©r   rD   r   r   ÚlenrQ   ©r8   r   s     r    Útest_simplezTestApplyAlongAxis.test_simple‰   s`   € ÝŒG�H˜cÑ"Ô"ˆÝÝ�S ! QÑ'Ô'­¨Q©¬µ"´'¸!¼'À!¼*Ñ2EÔ2EÑ)Eñ	Gô 	Gð 	Gð 	Gð 	Gr"   c                 óÒ   — t          j        dd¦  «        }t          t          t          d|¦  «        t	          |¦  «        t          j        |j        d         ¦  «        z  ¦  «         d S )N)r?   ée   r~   r   rC   r   r�   s     r    Útest_simple101z!TestApplyAlongAxis.test_simple101Ž   s`   € ÝŒG�I˜sÑ#Ô#ˆÝÝ�S ! QÑ'Ô'­¨Q©¬µ"´'¸!¼'À!¼*Ñ2EÔ2EÑ)Eñ	Gô 	Gð 	Gð 	Gð 	G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‡   rc   é!   )é$   é'   é*   )é-   é0   é3   )r   ro   rp   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 )Nr@   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   rC   r@   r+   r,   é   )r   ÚndarrayrG   Úviewr   r   Ú
isinstancer   )r8   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>.MinimalSubclassrC   N)r[   r\   r]   Údatar^   r"   r    ÚMinimalSubclassr¥   «   s   € € € € € ØˆDˆDˆDr"   r§   c                 ó   — | j         S ©N)r¦   )rG   s    r    Úminimal_functionz:TestApplyAlongAxis.test_subclass.<locals>.minimal_function®   s
   € Ø”:Ðr"   ©r›   r+   r   rs   )r   rœ   Úzerosr�   r   r   rG   )r8   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   rD   r�   r   r�   r   rž   r   rG   )r8   Ú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 rC   T)Úkeepdims)r   r7   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¯   rC   )r+   r+   r+   r+   r+   r+   )r   rD   r�   r   r   rž   r   rG   )r8   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 xrC   Néÿÿÿÿ)r   r7   r�   )r·   r°   s    €r    Úf1to2z5TestApplyAlongAxis.test_axis_insertion.<locals>.f1to2Ì   sD   ø€ å˜œ Ñ#Ô#Ð#Ø�d�d˜�d”G˜a    D œkÑ)×/Ò/°Ñ4Ô4Ð4r"   é   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˜�d”)ÑÔð
ð 
ð 
r"   rC   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˜˜˜�d”)ÑÔð
ð 
ð 
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˜!˜Q˜Q˜Q ˜'”lÑ#Ô#ðð ð r"   r   r   )r   Ústackr6   rQ   )rÂ   rË   rÊ   r¾   s    @€€r    rÅ   z:TestApplyAlongAxis.test_axis_insertion.<locals>.<listcomp>ç   s~   øø€ ð 
ð 
ð 
ð õ ŒHð ð ð ð ð ð Ý-2°3´9¸Q´<Ñ-@Ô-@ðñ ô àðñ ô ð
ð 
ð 
r"   r@   )
r   ro   rp   r   rÌ   r6   rQ   r�   r   Útype)r8   r°   rS   r    rÄ   rÊ   r¾   s    `  @@@r    Útest_axis_insertionz&TestApplyAlongAxis.test_axis_insertionË   sJ  øøøø€ ð	5ð 	5ð 	5ð 	5ð 	5õ
 Œi˜ÑÔ×&Ò& vÑ.Ô.ˆõ " %¨¨CÑ0Ô0ˆÝ”8ð 
ð 
ð 
ð 
ð 
Ý&+¨C¬I°a¬LÑ&9Ô&9ð
ñ 
ô 
àðñ ô ç’D˜‘I”Ið 	õ 	•T˜&‘\”\¥4¨¡>¤>Ñ2Ô2Ð2Ý�V˜XÑ&Ô&Ð&õ " %¨¨CÑ0Ô0ˆÝ”8ð 
ð 
ð 
ð 
ð 
Ý&+¨C¬I°a¬LÑ&9Ô&9ð
ñ 
ô 
àðñ ô ç’4˜‘9”9ð 	õ 	•T˜&‘\”\¥4¨¡>¤>Ñ2Ô2Ð2Ý�V˜XÑ&Ô&Ð&õ Œi˜	Ñ"Ô"×*Ò*¨9Ñ5Ô5ˆå! %¨¨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Î   )r8   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¼   rC   Nr½   r-   r   )r   r7   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 $˜hœKÑ'ˆCÝ”5×%Ò% c¨A¡g°¢l°CÑ8Ô8Ð8r"   r¿   r«   r   r+   rC   r@   )r   ro   rp   r   r   rž   rÕ   Úmasked_arrayr   r7   r   Úmask)r8   r¾   r   r   s       r    Útest_axis_insertion_maz)TestApplyAlongAxis.test_axis_insertion_ma÷   s*  € ð	9ð 	9ð 	9õ
 ŒI�eÑÔ×$Ò$ VÑ,Ô,ˆÝ˜u a¨Ñ+Ô+ˆÝ•
˜3¥¤Ô 2Ñ3Ô3Ñ4Ô4Ð4Ý�S”X˜qÑ!Ô!Ð!Ý˜3˜q˜q˜q ! ! ! Q˜wœ<Ô,¨e¨e°A°a°a°a¸°d´G©n¬nÔ.AÑBÔBÐBÝ˜3˜q˜q˜q ! ! ! Q˜wœ<Ô,¨e¨e°A°a°a°a¸°d´G©n¬nÔ.AÑBÔBÐBÝ˜3˜q˜q˜q ! ! ! Q˜wœ<Ô,¨e¨e°A°a°a°a¸°d´G©n¬nÔ.AÑBÔBÐBÐBÐBr"   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 )NrC   r   r^   r¶   s    r    Ú	sample_1dz7TestApplyAlongAxis.test_tuple_func1d.<locals>.sample_1d  s   € Ø�Q”4˜˜1œ�:Ðr"   rC   r@   r+   r,   )r   r   rG   r   )r8   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   rC   c                 óF   — t          t          | ¦  «        dk    ¦  «         dS )Nr   rC   )r   r€   r¶   s    r    Ú
empty_to_1z1TestApplyAlongAxis.test_empty.<locals>.empty_to_1  s   € Ý•C˜‘F”F˜a’KÑ Ô Ð Ø�1r"   )r?   r   r?   )r   Úemptyr   rF   r   r   rD   )r8   rà   r   râ   rS   s        r    rT   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 )NrC   é   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   >   rC   r,   rå   rç   >   r@   r-   ræ   rè   >   r+   r›   r‰   ré   )r   rG   r   r   ÚndindexrQ   rÍ   )r8   r~   rS   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Ý   rT   rï   r^   r"   r    r{   r{   ˆ   s  € € € € € ðGð Gð Gð
Gð Gð Gð
Gð Gð Gð
-ð -ð -ð$
ð 
ð 
ð %'¤Jð ?ð ?ð ?ð ?ð !#¤
ð Hð Hð Hð Hð ')¤jð #'ð #'ð #'ð #'ðJ2ð 2ð 2ðCð Cð Cð<ð <ð <ð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é   r@   r+   r,   r   rf   é\   é|   )r   ro   rp   r   r�   r   rG   )r8   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©r@   r+   r,   r-   éûÿÿÿr,   rC   )r   rã   r6   r	   r   rQ   rµ   )r8   Úsr   r   Úbs        r    Útest_functionalityz!TestExpandDims.test_functionality6  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   rC   r@   r   )rC   rC   rC   r+   r+   r+   )r   r½   éþÿÿÿ)rC   r+   r+   r+   rC   rC   )r   r+   r-   )rC   r+   r+   rC   r+   rC   )r   éýÿÿÿrû   )rC   rC   r+   rC   r+   r+   )r   rã   r	   rQ   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                 ó:  — 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	   )r8   rü   r   s      r    Útest_axis_out_of_rangez%TestExpandDims.test_axis_out_of_rangeE  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ˆ   ©rC   rC   r   )r   rã   r   rF   r	   r�   s     r    Útest_repeated_axisz!TestExpandDims.test_repeated_axisO  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 )	Nr?   )r@   r-   r+   r   ©rØ   rC   r   )r@   rC   r-   )r   ro   rp   rÕ   rG   r	   r   rž   ÚMaskedArrayr   rQ   rØ   )r8   r   Úexpandeds      r    Útest_subclasseszTestExpandDims.test_subclassesS  sš   € ÝŒI�b‰MŒM×!Ò! &Ñ)Ô)ˆÝŒE�KŠK˜  A¡¨¢
ˆ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ø   5  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 )Nr?   r   )r   ro   r   rF   r   r�   s     r    Útest_integer_0_splitz#TestArraySplit.test_integer_0_split^  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 )Nr?   rC   r@   r-   r+   r,   é   r›   é   é	   rå   )r   ro   r   Úcompare_resultsrG   ©r8   r   r   Údesireds       r    Útest_integer_splitz!TestArraySplit.test_integer_splitb  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 )Nr?   r+   r   r   ©r   r?   r½   rC   ©	r   rG   ro   r   r¬   r  r   rB   rÍ   ©r8   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 )Nr?   r+   r½   r   r,   r  )r   rG   ro   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
        r?   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   r6   r€   r   rQ   )r8   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 )	Nr?   )rC   r-   r  r½   r   r   rC   r-   r  )r   ro   r   r  ©r8   r   rw   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 )Nr?   )r   r-   r  r½   r   r   r-   r  ©r   ro   r   rG   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 )Nr?   )r   r-   r  r?   é   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[   r\   r]   r  r  r   r"  r$  ÚpytestÚmarkÚskipifÚIS_64BITr)  r,  r/  r2  r^   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 )Nr?   r@   r-   )r   ro   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 )Nr?   r+   )r   ro   r   rF   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    r8  r8  ã  s2   € € € € € ð
&ð &ð &ð/ð /ð /ð /ð /r"   r8  c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestColumnStackc                 ó<   — t          t          t          d¦  «         d S ©NrC   )r   Ú	TypeErrorr   ©r8   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©rC   r@   r+   )r@   r+   r,   rC   r@   r+   r,   ©r   rG   r   r   ©r8   r   rý   r    rS   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 )NrC   r@   r+   r,   rF  rG  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   ro   ©rÂ   Ú_s     r    ú	<genexpr>z1TestColumnStack.test_generator.<locals>.<genexpr>  s*   è è € Ð8Ð8¨!�œ 1™œÐ8Ð8Ð8Ð8Ð8Ð8r"   r@   )r3  ÚraisesrA  r   r6   rB  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]   rC  rH  rJ  rV  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 r@  )r   rA  r   rB  s    r    rC  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 ©NrC   r@   ©r   rG   r   r   ©r8   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 )NrL  rM  c              3   ó>   K  — | ]}t          j        d ¦  «        V — ŒdS rP  rQ  rR  s     r    rT  z,TestDstack.test_generator.<locals>.<genexpr>2  s*   è è € Ð2Ð2 A•2”9˜Q‘<”<Ð2Ð2Ð2Ð2Ð2Ð2r"   r@   )r3  rU  rA  r   r6   rB  s    r    rV  zTestDstack.test_generator0  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ð 	3rW  N)	r[   r\   r]   rC  r_  ra  rc  re  rV  r^   r"   r    rY  rY    sn   € € € € € ð,ð ,ð ,ð)ð )ð )ð)ð )ð )ð)ð )ð )ð)ð )ð )ð3ð 3ð 3ð 3ð 3r"   rY  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   rF   r
   rB  s    r    rC  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)NrC   r@   r   )r   rG   r
   r   rF   r�   s     r    r_  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©rC   r@   r+   r,   r@   rC   r+   r,   ©r   rG   r
   r  r  s       r    ra  zTestHsplit.test_1D_arrayF  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 ro  rq  r  s       r    rc  zTestHsplit.test_2D_arrayL  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__rC  r_  ra  rc  r^   r"   r    ri  ri  7  sZ   € € € € € ðð ð0ð 0ð 0ðð ð ð&ð &ð &ð&ð &ð &ð &ð &r"   ri  c                   ó*   — e Zd ZdZd„ Zd„ Zd„ Zd„ ZdS )Ú
TestVsplitrj  c                 ó>   — t          t          t          dd¦  «         d S r@  )r   rF   r   rB  s    r    rC  zTestVsplit.test_non_iterableX  rl  r"   c                 óf   — t          j        d¦  «        }t          t          t          |d¦  «         d S r\  )r   rG   r   rF   r   r�   s     r    r_  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©Nrp  r@   r   )r   rG   r   r   rF   r�   s     r    ra  zTestVsplit.test_1D_array_  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 ©Nrp  r@   )r   rG   r   r  r  s       r    rc  zTestVsplit.test_2D_arrayg  sr   € ÝŒH�l�l�lØ�,�,ð ñ !ô !ˆå�Q˜‰lŒlˆÝ”8˜\˜\˜\˜NÑ+Ô+­R¬X°|°|°|°nÑ-EÔ-EÐFˆÝ˜˜WÑ%Ô%Ð%Ð%Ð%r"   Nrs  r^   r"   r    rv  rv  T  sZ   € € € € € ðð ð0ð 0ð 0ð0ð 0ð 0ðð ð ð&ð &ð &ð &ð &r"   rv  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   rF   r   rB  s    r    rC  zTestDsplit.test_non_iterableq  rl  r"   c                 óf   — t          j        d¦  «        }t          t          t          |d¦  «         d S r\  ©r   rG   r   rF   r   r�   s     r    r_  zTestDsplit.test_0D_arrayt  ry  r"   c                 ój   — t          j        g d¢¦  «        }t          t          t          |d¦  «         d S r}  r‚  r�   s     r    ra  zTestDsplit.test_1D_arrayx  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   rG   r   r   rF   r�   s     r    rc  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 ro  )r   rG   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]   rC  r_  ra  rc  r†  r^   r"   r    r  r  o  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)   rd   r?   rC   )rd   r?   r?   )rd   r?   rd   r}   g      ø?)
r.   r*   r   r   rµ   rp   r   r7   rÍ   rœ   )r8   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 )	NrC   r@   r+   r,   r›   r  r1  r  )r   rG   r   r   )r8   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•  r@   )	r   rœ   rD   rQ   rB   r¦   r   rÍ   r   )r8   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   rD   r   r   )r8   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 )	NrC   r@   r+   r,   r   r  )rC   r,   r,   é   rA   )r   rÕ   rG   ÚdiagÚidentityrJ   r   r   )r8   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  )rE  )r,   r-   r›   )©r@   r@   rr   ))rC   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)rC   r   zUnexpected shape from kron)r   rD   r3   r€   Úmultiplyr   Úarray_equalrQ   )	r8   Ú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¹,¼,Ñ+FÑ$GÔ$GÑGÈ'ÑQÐØ!¥C¨­3¨w©<¬<½#¸g¹,¼,Ñ+FÑ$GÔ$GÑGÈ'ÑQÐÝœÐ%7Ð9KÑLÔLˆåŒG�A�q‰MŒMˆÝŒ~Ø”˜ñ)ô )ð 	Gð 	GØ*Fñ	Gô 	Gð )ð 	Gð 	Gr"   N)r[   r\   r]   r‹  r–  r3  r4  Ú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   rC   r@   r+   r,   )r   rC   r@   r   rC   r@   rŸ  ©rC   r@   )rC   r@   rC   r@   )r+   r,   r+   r,   ©r@   rC   )r   rG   r   r   ©r8   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-   rC   r@   )r   ro   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@   rY   )r@   r   )r+   r@   r   )r   rG   r   rQ   r   )r8   r   rý   rŠ  r~   s        r    rT   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Ÿ  r?   )Úsize)r.   r·  r   rD   rB   r   r   r   )
r8   r·  ÚrepsrQ   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´  rT   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)rh   rf   )rc   rf   r›   r½   r@   rC   )r   rD   r   Úmay_share_memory)r8   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                 óV   — t          | |d¬¦  «        D ]\  }}t          ||¦  «         ŒdS )zCompare lists of arrays.F)ÚstrictN)Úzipr   )r   r  r·   Úys       r    r  r  *  sA   € å�C˜¨Ð/Ñ/Ô/ð !ð !‰ˆˆ1Ý˜1˜aÑ Ô Ð Ð ð!ð !r"   ).r#   Úsysr3  Únumpyr   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   Únumpy.exceptionsr   Únumpy.testingr   r   r   r   Úmaxsizer6  r%   r'   r`   r{   rñ   rø   r  r8  r>  rY  ri  rv  r  rˆ  rŽ  r®  r¿  r  r^   r"   r    ú<module>rÌ     sì  ðØ Ð Ð Ð Ø 
€
€
€
à €€€à Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð  'Ð &Ð &Ð &Ð &Ð &Ø RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RàŒ;˜Ò€ðð ð ð3.ð 3.ð 3.ð 3.ð 3.ñ 3.ô 3.ð 3.ðl'8ð '8ð '8ð '8ð '8ñ '8ô '8ð '8ðT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"   