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

    c                 ó0   — t        t        t        dd«       y r4  )r   rJ   r   r6  s    r    r7  zTestHsplit.test_non_iterable  ó   € Ü”j¤&¨!¨QÕ/r"   c                 ó|   — t        j                  d«      }	 t        |d«       t        d«       y # t        $ r Y y w xY w)NrG   r.   r   )r   rK   r   r   rJ   r{   s     r    rU  zTestHsplit.test_0D_array!  s6   € Ü�H‰H�Q‹Kˆð	Ü�1�aŒLÜ�A�JøÜò 	Ùð	ús   —/ ¯	;º;c                 ó¾   — t        j                  g d¢«      }t        |d«      }t        j                  ddg«      t        j                  ddg«      g}t        ||«       y ©N©rG   r.   r+   r,   r.   rG   r+   r,   ©r   rK   r   r
  r  s       r    rW  zTestHsplit.test_1D_array)  sI   € Ü�H‰H’\Ó"ˆÜ�Q˜‹lˆÜ—8‘8˜Q ˜FÓ#¤R§X¡X¨q°!¨fÓ%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        ||«       y re  rg  r  s       r    rY  zTestHsplit.test_2D_array/  se   € Ü�H‰H’lÚð ó !ˆä�Q˜‹lˆÜ—8‘8˜a ˜V a¨ VÐ,Ó-¬r¯x©x¸!¸Q¸À!ÀQÀÐ8HÓ/IÐJˆÜ˜˜WÕ%r"   N©r`   ra   rb   Ú__doc__r7  rU  rW  rY  rc   r"   r    r_  r_    s   „ ñò0òò&ó&r"   r_  c                   ó(   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zy)Ú
TestVsplitr`  c                 ó0   — t        t        t        dd«       y r4  )r   rJ   r	   r6  s    r    r7  zTestVsplit.test_non_iterable;  rb  r"   c                 óZ   — t        j                  d«      }t        t        t        |d«       y rR  )r   rK   r   rJ   r	   r{   s     r    rU  zTestVsplit.test_0D_array>  ó   € Ü�H‰H�Q‹KˆÜ”j¤&¨!¨QÕ/r"   c                 ó€   — t        j                  g d¢«      }	 t        |d«       t        d«       y # t        $ r Y y w xY w©Nrf  r.   r   )r   rK   r	   r   rJ   r{   s     r    rW  zTestVsplit.test_1D_arrayB  s7   € Ü�H‰H’\Ó"ˆð	Ü�1�aŒLÜ�A�JøÜò 	Ùð	ús   ™1 ±	=¼=c                 óÊ   — t        j                  g d¢g d¢g«      }t        |d«      }t        j                  g d¢g«      t        j                  g d¢g«      g}t        ||«       y ©Nrf  r.   )r   rK   r	   r
  r  s       r    rY  zTestVsplit.test_2D_arrayJ  sO   € Ü�H‰H’lÚð ó !ˆä�Q˜‹lˆÜ—8‘8š\˜NÓ+¬R¯X©X²|°nÓ-EÐFˆÜ˜˜WÕ%r"   Nri  rc   r"   r    rl  rl  7  s   „ ñò0ò0òó&r"   rl  c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú
TestDsplitc                 ó0   — t        t        t        dd«       y r4  )r   rJ   r   r6  s    r    r7  zTestDsplit.test_non_iterableT  rb  r"   c                 óZ   — t        j                  d«      }t        t        t        |d«       y rR  ©r   rK   r   rJ   r   r{   s     r    rU  zTestDsplit.test_0D_arrayW  ro  r"   c                 ó^   — t        j                  g d¢«      }t        t        t        |d«       y rs  rx  r{   s     r    rW  zTestDsplit.test_1D_array[  s   € Ü�H‰H’\Ó"ˆÜ”j¤&¨!¨QÕ/r"   c                 óˆ   — t        j                  g d¢g d¢g«      }	 t        |d«       t        d«       y # t        $ r Y y w xY wrq  )r   rK   r   r   rJ   r{   s     r    rY  zTestDsplit.test_2D_array_  sA   € Ü�H‰H’lÚð ó !ˆð	Ü�1�aŒLÜ�A�JøÜò 	Ùð	ús   �5 µ	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        ||«       y re  )r   rK   r   r
  r  s       r    Útest_3D_arrayzTestDsplit.test_3D_arrayh  sŸ   € Ü�H‰H’|Úð!âÚð!ð"ó #ˆô �Q˜‹lˆÜ—8‘8˜q !˜f q¨! fÐ-°°A°¸¸A¸Ð/?Ð@ÓAÜ—8‘8˜q !˜f q¨! fÐ-°°A°¸¸A¸Ð/?Ð@ÓAðCˆä˜˜WÕ%r"   N)r`   ra   rb   r7  rU  rW  rY  r|  rc   r"   r    ru  ru  R  s   „ ò0ò0ò0òó&r"   ru  c                   ó   — e Zd Zd„ Zy)ÚTestSqueezec                 óF  — 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                  «       y )
Nr   r)   rh   rD   rG   )rh   rD   rD   )rh   rD   rh   rw   g      ø?)
r0   r*   r   r   r¯   rs   r   r<   r¼   r–   )r=   r*   r   rð   Úcr   s         r    Ú
test_basiczTestSqueeze.test_basict  sÔ   € Ý%á��R˜˜Q Ó"ˆÙ��Q˜˜A˜rÓ"ˆÙ��A�r˜2ÓˆÜœ2Ÿ:™: a›=¬"¯*©*°Q¸Ó*EÔFÜœ2Ÿ:™: a›=¬"¯*©*°Q¸Ó*EÔFÜœ2Ÿ:™: a›=¬"¯*©*°Q¸Ó*AÔBð ˆeˆWˆIˆÜ�j‰j˜‹mˆÜ�S˜#ÔÜ�S—X‘X˜qÔ!Ü”T˜#“Y¤§
¡
Õ+r"   N©r`   ra   rb   r�  rc   r"   r    r~  r~  s  s   „ ó,r"   r~  c                   óÖ   — e Zd Zd„ Zd„ Zej                  j                  dej                  ej                  g«      d„ «       Zd„ Zej                  j                  dg d¢«      d„ «       Zy	)
Ú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                  ||«      |«       y )	NrG   r.   r+   r,   r•   r	  r%  r  )r   rK   r   r   )r=   r   rð   Úks       r    r�  zTestKron.test_basic‡  s  € ä�H‰H�Q‹KˆÜ�H‰H�q˜!�f˜q !˜fÐ%Ó&ˆÜ�H‰H�q˜!�f˜q !˜fÐ%Ó&ˆÜœ2Ÿ7™7 1 a›=¨!Ô,Ü�H‰H�q˜!�f˜q !˜fÐ%Ó&ˆÜ�H‰H�Q‹KˆÜœ2Ÿ7™7 1 a›=¨!Ô,ô �H‰H�a�S‹MˆÜ�H‰H�q˜!�f˜q !˜fÐ%Ó&ˆÜ�H‰H�q˜!�f˜q "˜gÐ&Ó'ˆÜœ2Ÿ7™7 1 a›=¨!Ô,Ü�H‰H�q˜!�f˜q !˜fÐ%Ó&ˆÜ�H‰H�a�S‹MˆÜœ2Ÿ7™7 1 a›=¨!Ô,ô �H‰H˜�s�e˜q˜c˜U�^Ó$ˆÜ�H‰H�q˜!�f˜q !˜fÐ%Ó&ˆÜ�H‰H˜˜1�v  1˜vÐ&¨!¨Q¨°!°Q°Ð(8Ð9Ó:ˆÜœ2Ÿ7™7 1 a›=¨!Ô,Ü�H‰H�q˜!�f˜q !˜fÐ%Ó&ˆÜ�H‰H˜�s�e˜q˜c˜U�^Ó$ˆÜ�H‰H˜˜1�v  1˜vÐ&¨!¨Q¨°!°Q°Ð(8Ð9Ó:ˆÜœ2Ÿ7™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        ||«      «      |«       y )Nc                   ó   — e Zd ZdZy)ú*TestKron.test_return_type.<locals>.myarrayg      ð?N)r`   ra   rb   Ú__array_priority__rc   r"   r    Úmyarrayr‰  ¥  s   „ Ø!$Ñr"   r‹  r.   )	r   r–   rH   rV   rF   r    r   r¼   r   )r=   r‹  r   rÈ   s       r    Útest_return_typezTestKron.test_return_type¤  s—   € ô	%”b—j‘jô 	%ô �G‰G�Q˜�F‹OˆÙ�Q—W‘W˜aŸg™g q§v¡vÓ.ˆÜ”Tœ$˜q !›*Ó%¤r§z¡zÔ2Ü”Tœ$˜r 2›,Ó'¨Ô1Ü”Tœ$˜q "›+Ó&¨Ô0Ü”Tœ$˜r 1›+Ó&¨Õ0r"   Úarray_classc                 óò   —  |t        j                  ddg«      «      } |t        j                  ddg«      «      } |t        j                  ddg«      «      }t        t        j                  ||«      |«       y )Nr+   r	  )r   rH   r   r   )r=   r�  r   rð   r†  s        r    Útest_kron_smokezTestKron.test_kron_smoke¯  sZ   € ñ œŸ™  A ›Ó(ˆÙœŸ™  A ›Ó(ˆÙœŸ™  A ›Ó(ˆäœ2Ÿ7™7 1 a›=¨!Õ,r"   c                 ód  — t         j                  j                  ddgddggddgddgg¬«      }t         j                  j                  t        j                  g d¢«      t        j                  t        j                  d«      t
        ¬«       ¬«      }t        |t        j                  ||«      «       y )	NrG   r.   r+   r,   r   rþ   )rG   r,   r,   é   rE   )r   rÈ   rK   ÚdiagÚidentityrN   r   r   )r=   r±   r†  s      r    Útest_kron_mazTestKron.test_kron_ma¹  sƒ   € Ü�E‰E�K‰K˜!˜Q˜ ! Q Ð(°°A°¸¸A¸Ð/?ˆKÓ@ˆÜ�E‰E�K‰KœŸ™¢Ó.Ü—h‘hœrŸ{™{¨1›~´TÔ:Ð:ð ó <ˆô 	˜1œbŸg™g a¨›mÕ,r"   zshape_a,shape_b))rû   rû   )r9  )r,   r-   r•   )©r.   r.   )r.   r.   r.   ))rG   r   rû   )©r.   r   r.   r•  ))r.   r   r   r.   r–  c                 óš  — t        j                  |«      }t        j                  |«      }dt        dt        |«      t        |«      z
  «      z  |z   }dt        dt        |«      t        |«      z
  «      z  |z   }t        j                  ||«      }t        j
                  ||«      }t        j                  |j                  |«      sJ d«       ‚y )N)rG   r   zUnexpected shape from kron)r   rH   r6   rz   Úmultiplyr   Úarray_equalrV   )	r=   Úshape_aÚshape_br   rð   Únormalised_shape_aÚnormalised_shape_bÚexpected_shaper†  s	            r    Útest_kron_shapezTestKron.test_kron_shapeÀ  s²   € ô �G‰G�GÓˆÜ�G‰G�GÓˆØ!¤C¨¬3¨w«<¼¸G»Ñ+DÓ$EÑEÈÑOÐØ!¤C¨¬3¨w«<¼¸G»Ñ+DÓ$EÑEÈÑOÐÜŸ™Ð%7Ð9KÓLˆä�G‰G�A�q‹MˆÜ�~‰~Ø—‘˜ô)ð 	GØ*Fó	Gñ )r"   N)r`   ra   rb   r�  rŒ  r'  r(  Úparametrizer   ÚasarrayÚmatr�  r”  rŸ  rc   r"   r    r„  r„  †  ss   „ ò-ò:	1ð ‡[�[×ÑØ˜Ÿ
™
 B§F¡FÐ+óñ-óð-ò-ð ‡[�[×ÑØò 
óñ	Góñ	Gr"   r„  c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)Ú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«       y )Nró   rG   r.   r+   r,   )r   rG   r.   r   rG   r.   r•  ©rG   r.   )rG   r.   rG   r.   )r+   r,   r+   r,   ©r.   rG   )r   rK   r   r   ©r=   r   rð   s      r    r�  zTestTile.test_basicÖ  s¼   € Ü�H‰H’YÓˆØ�ˆV�a˜�VÐˆÜ”T˜!˜Q“ZÒ!3Ô4Ü”T˜!˜V“_Ò'9Ò;MÐ&NÔOÜ”T˜!˜V“_Ò'9Ð&:Ô;Ü”T˜!˜Q“Z¢,²Ð!=Ô>Ü”T˜!˜V“_¨¨1 v°°1¨v¸¸1°vÀÀ1¸vÐ&FÔGÜ”T˜!˜V“_¢|²\Ú'3²\ð'Cõ 	Dr"   c                 óŽ   — t        j                  d«      }t        |d«      }|dz  }t        |t        j                  d«      «       y )Nr-   rG   r.   )r   rr   r   r   r¨  s      r    Ú(test_tile_one_repetition_on_array_gh4679z1TestTile.test_tile_one_repetition_on_array_gh4679á  s5   € Ü�I‰I�a‹LˆÜ��A‹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«       y )Nr.   r^   )r.   r   )r+   r.   r   )r   rK   r   rV   r   )r=   r   rð   r€  rx   s        r    rY   zTestTile.test_emptyç  s]   € Ü�H‰H�r�d�VÓˆÜ�H‰H�b˜"�XÓˆÜ��A‹J×ÑˆÜ��IÓ×$Ñ$ˆÜ�Q˜ÔÜ�Q˜	Õ"r"   c                 óÚ   — ddl m} g d¢}g d¢}|D ]X  } |dd|¬«      }|D ]F  }t        j                  ||j                  «      }t        ||«      }t        ||«      }	t        ||	«       ŒH ŒZ y )Nr   )Úrandint))r.   r¦  r§  r•  )r.   r+   r.   )r+   r.   ))r+   )r.   r+   )r+   r,   r+   )r+   r.   r+   )r,   r+   r.   r,   r•  rD   )Úsize)r0   r­  r   rH   rF   r   r   r   )
r=   r­  ÚrepsrV   rï   rð   Úrr   ÚlargeÚklarges
             r    Útest_kroncomparezTestTile.test_kroncompareï  so   € Ý(â@ˆÚJˆØò 	,ˆAÙ˜˜2 AÔ&ˆAØò ,�Ü—G‘G˜A˜qŸw™wÓ'�Ü˜Q ›
�Ü˜a ›�Ü˜U FÕ+ñ	,ñ	,r"   N)r`   ra   rb   r�  rª  rY   r³  rc   r"   r    r¤  r¤  Õ  s   „ ò	Dò&ò#ó,r"   r¤  c                   ó   — e Zd Zd„ Zy)Ú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   |«      «       y )N)rk   ri   )rg   ri   r•   r·   r.   rG   )r   rH   r   Úmay_share_memory)r=   rx   Úd2s      r    r�  zTestMayShareMemory.test_basicþ  s  € Ü�G‰G�HÓˆÜ�W‰W�[Ó!ˆÜ”×#Ñ# A qÓ)Ô*Ü”×#Ñ# A q©¨2¨¡wÓ/Ô0Ü”×#Ñ# A q©¨1¨¡vÓ.Ô/Ü”×#Ñ# A q¨©©T¨r¨T¨¡{Ó3Ô4ä”B×'Ñ'¨©$¨B¨$©°Ó4Ð4Ô5Ü”B×'Ñ'¨©#¨A¨#©°Ó3Ð3Ô4Ü”B×'Ñ'¨¨!©"©d°¨d¨(©°RÓ8Ð8Ô9Ü”×#Ñ# B q¡r©4¨R¨4 x¡L°"Ó5Õ6r"   Nr‚  rc   r"   r    rµ  rµ  ý  s   „ ó7r"   rµ  c                 óˆ   — t        | «      t        |«      k7  rt        d«      ‚t        | |«      D ]  \  }}t        ||«       Œ y)zCompare lists of arrays.z Iterables have different lengthsN)rz   rJ   Úzipr   )r   r  r±   Úys       r    r
  r
    sB   € ä
ˆ3ƒx”3�w“<ÒÜÐ;Ó<Ð<ä�C˜Ó!ò !‰ˆˆ1Ü˜1˜aÕ ñ!r"   ).Únumpyr   r#   Úsysr'  Únumpy.lib.shape_baser   r   r   r   r   r   r	   r
   r   r   r   r   r   r   Únumpy.testingr   r   r   r   r   Úmaxsizer*  r%   r'   re   ru   rä   rë   r  r,  r2  rO  r_  rl  ru  r~  r„  r¤  rµ  r
  rc   r"   r    ú<module>rÁ     sû   ðÛ Û Û 
Û ÷÷ ÷ ÷ ÷
õ ð
 �;‰;˜Ñ€ò÷1.ñ 1.÷h9ñ 9÷2c=ñ c=÷LCñ C÷%5ñ %5÷PC&ñ C&÷L/ñ /÷ ;ñ ;÷:"5ñ "5÷N&ñ &÷:&ñ &÷6&ñ &÷B,ñ ,÷&LGñ LG÷^%,ñ %,÷P7ñ 7ó !r"   