Ë
    öU.jˆn  ã                   óö  — d dl Zd dlZd dlZd dlZd dl mZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZ d dlmZ d dlmZmZmZmZmZ ej6                  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)Ú	AxisError)Ú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       €úaC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\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           
      ó   — ddl m}  |ddd«      }t        j                  t        j                  t        «       ft        t        j                  «      t        t        j                  «      t        «       ft        t        j                  «      t        t        j                  «      t        «       fg}|D ][  \  }}}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é   é   é   Nr   r   )Únumpy.randomr+   r   ÚsortÚargsortÚdictr&   ÚminÚargminÚmaxÚargmaxÚlistÚrangeÚndimr   r   )
Úselfr+   r   Úfuncsr    Úargfuncr   r   Úa_funcÚai_funcs
             r!   Útest_argequivalentz$TestTakeAlongAxis.test_argequivalent    s×   € å%Ù��A�q‹Mˆô �W‰W”b—j‘j¤$£&Ð)Üœ2Ÿ6™6Ó"¤M´"·)±)Ó$<¼d»fÐEÜœ2Ÿ6™6Ó"¤M´"·)±)Ó$<¼d»fÐEð
ˆó &+Ñ!ˆD�'˜6ÜœU 1§6¡6›]Ó+¨t¨fÔ4�Ù˜aÑ5 dÐ5¨fÑ5�Ù! !Ñ9¨$Ð9°&Ñ9�Ü˜V¤_°Q¸ÀdÔ%KÕLñ 5ñ &+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        t        ||d¬«       t	        t
        t        ||d¬«       y)z4 Test it errors when indices has too few dimensions )é
   rA   )rA   é   ©Údtypeé   r   rA   N)r   ÚonesÚintpr   r   Ú
ValueErrorÚarrayÚ
IndexErrorÚastypeÚboolÚfloatr   ©r:   r   Úais      r!   Útest_invalidzTestTakeAlongAxis.test_invalid2   s�   € ä�G‰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ä”i¤°!°R¸bÕAä”j¤/°1°b¸tÖ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.   rC   rE   r   N©r   rF   rG   r   r   Úshape©r:   r   rO   Úactuals       r!   Ú
test_emptyzTestTakeAlongAxis.test_emptyE   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-   rE   ©rE   rB   r.   rC   rE   r   ©r,   rB   r.   NrR   rT   s       r!   Útest_broadcastz TestTakeAlongAxis.test_broadcastM   s@   € ä�W‰W�YÓˆÜ�W‰W�Y¤b§g¡gÔ.ˆÜ   B¨QÔ/ˆÜ�V—\‘\ 9Õ-r#   N)Ú__name__Ú
__module__Ú__qualname__r?   rP   rV   r\   © r#   r!   r(   r(      s   „ òMò$Eò&-ó.r#   r(   c                   ó   — e Zd 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©rA   é   é   ©é<   é(   é2   r   i�ÿÿÿ)r   rI   r7   r8   r9   Úcopyr&   r6   r   r4   r   )r:   Úa_baser   r   Úi_maxÚi_mins         r!   Útest_replace_maxz!TestPutAlongAxis.test_replace_maxV   s‰   € Ü—‘š<ªÐ6Ó7ˆäœ˜vŸ{™{Ó+Ó,°¨vÔ5ˆDà—‘“ˆAð -”M¤"§)¡)Ó,¨Q°TÔ:ˆEÜ˜1˜e S¨tÕ4ð -”M¤"§)¡)Ó,¨Q°TÔ:ˆEä˜ Õ&ñ 6r#   c                 óê   — t        j                  d«      }t        j                  dt         j                  ¬«      j	                  d«      dz  }t        ||dd¬«       t        t        ||d¬«      d«       y	)
rX   rY   rA   rC   rZ   r-   rf   rE   r   N)r   rF   ÚarangerG   Úreshaper   r   r   rN   s      r!   r\   zTestPutAlongAxis.test_broadcastf   sU   € ä�W‰W�YÓˆÜ�Y‰Y�r¤§¡Ô)×1Ñ1°)Ó<¸qÑ@ˆÜ�q˜"˜b qÕ)Ü”_ Q¨°Ô3°RÕ8r#   c                 óÔ  — t        j                  g d¢g d¢g«      }t        j                  dgdgg«      }t        j                  dgdgg«      }|j                  «       }t        |||d¬«       t        j                  |g d¢g d¢gk(  «      sJ ‚|j                  «       }t        t        «      5 }t        |||d	¬«       d	d	d	«       d
t        j                  «      v sJ ‚y	# 1 sw Y   Œ#xY w)z Test invalid inputs rd   rg   r   rE   rB   r   ©rB   rB   rB   ©rE   rE   rE   Nzsingle dimension)	r   rI   rk   r   Úallr   rH   ÚstrÚ	exception)r:   rl   ÚindicesÚvaluesr   Úexcs         r!   rP   zTestPutAlongAxis.test_invalidm   sÂ   € ä—‘š<ªÐ6Ó7ˆÜ—(‘(˜Q˜C ! ˜:Ó&ˆÜ—‘˜A˜3  ˜*Ó%ˆð �K‰K‹MˆÜ�q˜' 6°Õ2Ü�v‰v�ašI¢yÐ1Ñ1Ô2Ð2Ð2ð �K‰K‹MˆÜœ:Ô&¨#Ü˜1˜g v°DÕ9÷ 'à!¤S¨¯©Ó%7Ñ7Ð7Ñ7÷ 'Ð&ús   Â,CÃC'N)r]   r^   r_   ro   r\   rP   r`   r#   r!   rb   rb   U   s   „ ò'ò 9ó8r#   rb   c                   ó¢   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zej                  fd„Z
ej                  fd„Zej                  fd„Zd	„ Zd
„ Zd„ Zd„ Zd„ Zy)ÚTestApplyAlongAxisc                 ó¾   — t        j                  dd«      }t        t        t        d|«      t	        |«      t        j                  |j
                  d   «      z  «       y )N©rf   rA   Údr   rE   ©r   rF   r   r   ÚlenrS   ©r:   r   s     r!   Útest_simplezTestApplyAlongAxis.test_simple�   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)rA   ée   r€   r   rE   r�   rƒ   s     r!   Útest_simple101z!TestApplyAlongAxis.test_simple101†   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‰   re   é!   )é$   é'   é*   )é-   é0   é3   )r   rq   rr   r   r   Úsumrƒ   s     r!   Útest_3dzTestApplyAlongAxis.test_3d‹   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 )NrB   r`   )Úrows    r!   Údoublez9TestApplyAlongAxis.test_preserve_subclass.<locals>.double‘   s   € Ø˜‘7ˆNr#   c                   ó   — e Zd Zy)ú<TestApplyAlongAxis.test_preserve_subclass.<locals>.MyNDArrayN©r]   r^   r_   r`   r#   r!   Ú	MyNDArrayr™   ”   ó   „ Ør#   r›   r   rE   rB   r,   r-   é   )r   ÚndarrayrI   Úviewr   r   Ú
isinstancer   )r:   r—   r›   ÚmÚexpectedÚresults         r!   Útest_preserve_subclassz)TestApplyAlongAxis.test_preserve_subclass�   s³   € ò	ô	œŸ
™
ô 	ô �H‰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>.MinimalSubclassrE   N)r]   r^   r_   Údatar`   r#   r!   ÚMinimalSubclassr§   £   s   „ Ø‰Dr#   r©   c                 ó   — | j                   S ©N)r¨   )rI   s    r!   Úminimal_functionz:TestApplyAlongAxis.test_subclass.<locals>.minimal_function¦   s   € Ø—:‘:Ðr#   ©r�   r,   r   ru   )r   rž   ÚzerosrŸ   r   r   rI   )r:   r©   r¬   r   s       r!   Útest_subclassz TestApplyAlongAxis.test_subclass¢   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   rF   rŸ   r   r’   r   r    r   rI   )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 rE   T)Úkeepdims)r   r9   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±   rE   )r,   r,   r,   r,   r,   r,   )r   rF   rŸ   r   r   r    r   rI   )r:   r²   rº   r   r   s        r!   Útest_0d_arrayz TestApplyAlongAxis.test_0d_arrayµ   s˜   € ò	8ô �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 xrE   Néÿÿÿÿ)r   r9   rŸ   )r¹   r²   s    €r!   Úf1to2z5TestApplyAlongAxis.test_axis_insertion.<locals>.f1to2Ä   s9   ø€ ä˜Ÿ™ Ô#Ø‘d˜�d‘G˜a ¡ 4 ™jÑ(×.Ñ.¨sÓ3Ð3r#   é   r­   r   rE   r¿   r   éZ   )r�   r.   r,   rB   )
r   rq   rr   r   Ústackr8   rS   rŸ   r   Útype)	r:   r²   rÀ   Úa2drU   Ú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ó
Ù%8 ‰E�#’a˜�c‘(�OÐ%8ñ
àôç‘D˜“Ið 	ô 	”T˜&“\¤4¨£>Ô2Ü�V˜XÔ&ô " %¨¨CÓ0ˆÜ—8‘8Ü%*¨3¯9©9°Q©<Ô%8ó
Ù%8 ‰E�#�aš�c‘(�OÐ%8ñ
àôç‘4˜“9ð 	ô 	”T˜&“\¤4¨£>Ô2Ü�V˜XÔ&ô �i‰i˜Ó×&Ñ& yÓ1ˆä! %¨¨CÓ0ˆÜ—8‘8ô ˜3Ÿ9™9 Q™<Ô(ô	
ñ )�ô �H‰HÜ+0°·±¸1±Ô+>óÙ+> a‘�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š   r`   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¾   rE   Nr¿   r.   r   )r   r9   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,   rE   rB   )r   rq   rr   r   r   r    rÐ   Úmasked_arrayr   r9   r   Úmask)r:   rÀ   r   r   s       r!   Útest_axis_insertion_maz)TestApplyAlongAxis.test_axis_insertion_maï   sÔ   € ò	5ô
 �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 )NrE   r   r`   r¸   s    r!   Ú	sample_1dz7TestApplyAlongAxis.test_tuple_func1d.<locals>.sample_1dþ   s   € Ø�Q‘4˜˜1™�:Ðr#   rE   rB   r,   r-   )r   r   rI   r   )r:   r×   r   s      r!   Útest_tuple_func1dz$TestApplyAlongAxis.test_tuple_func1dý   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   rE   c                 ó2   — t        t        | «      dk(  «       y)Nr   rE   )r   r‚   r¸   s    r!   Ú
empty_to_1z1TestApplyAlongAxis.test_empty.<locals>.empty_to_1  s   € Ü”C˜“F˜a‘KÔ Ør#   )rA   r   rA   )r   Úemptyr   rH   r   r   rF   )r:   rÛ   r   rÝ   rU   s        r!   rV   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 )NrE   é   rB   é   r,   r‹   r-   é,   r.   é7   r�   éB   c                 ó&   — t        j                  | Ž S r«   )ÚsetÚunion)r   s    r!   Ú<lambda>z>TestApplyAlongAxis.test_with_iterable_object.<locals>.<lambda>  s   € ¬s¯y©y¸!©}r#   r   >   rE   r-   rà   râ   >   rB   r.   rá   rã   >   r,   r�   r‹   rä   )r   rI   r   r   ÚndindexrS   rÄ   )r:   r€   rU   r¢   rÆ   s        r!   Útest_with_iterable_objectz,TestApplyAlongAxis.test_with_iterable_object  s«   € ä�H‰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]   r^   r_   r„   r‡   r“   r¤   r¯   r   rž   r³   r»   rÉ   rÍ   rÔ   rØ   rV   rê   r`   r#   r!   r}   r}   €   se   „ òEò
Eò
Gò
-ò$
ð %'§J¡Jó ?ð !#§
¡
ó Hð ')§j¡jó #'òJ2ò@ò<òIó&=r#   r}   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é   rB   r,   r-   r   rh   é\   é|   )r   rq   rr   r   r’   r   rI   )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]   r^   r_   r„   r`   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©rB   r,   r-   r.   éûÿÿÿr-   rE   )r   rÞ   r8   r   r   rS   r·   )r:   Úsr   r   Úbs        r!   Útest_functionalityz!TestExpandDims.test_functionality.  s`   € ØˆÜ�H‰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   rE   rB   r   )rE   rE   rE   r,   r,   r,   )r   r¿   éþÿÿÿ)rE   r,   r,   r,   rE   rE   )r   r,   r.   )rE   r,   r,   rE   r,   rE   )r   éýÿÿÿrö   )rE   rE   r,   rE   r,   r,   )r   rÞ   r   rS   rƒ   s     r!   Útest_axis_tuplezTestExpandDims.test_axis_tuple6  s�   € Ü�H‰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        t        |d«       t        t        t        |d«       t        j                  d«      }t        t        t        |d«       t        t        t        |d«       y )Nrõ   éúÿÿÿr.   rŠ   )r   r   )r   r.   )r   rÞ   r   r   r   )r:   r÷   r   s      r!   Útest_axis_out_of_rangez%TestExpandDims.test_axis_out_of_range=  sZ   € ØˆÜ�H‰H�Q‹KˆÜ”i¤¨a°Ô4Ü”i¤¨a°Ô3ä�H‰H�YÓˆÜ”i¤¨a°Ô9Ü”i¤¨a°Õ8r#   c                 ó\   — t        j                  d«      }t        t        t        |d¬«       y )NrŠ   ©rE   rE   r   )r   rÞ   r   rH   r   rƒ   s     r!   Útest_repeated_axisz!TestExpandDims.test_repeated_axisG  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 )	NrA   )rB   r.   r,   r   ©rÓ   rE   r   )rB   rE   r.   )r   rq   rr   rÐ   rI   r   r   r    ÚMaskedArrayr   rS   rÓ   )r:   r   Úexpandeds      r!   Útest_subclasseszTestExpandDims.test_subclassesK  sƒ   € Ü�I‰I�b‹M×!Ñ! &Ó)ˆÜ�E‰E�K‰K˜  !¡ q¡ˆKÓ)ˆä—>‘> !¨!Ô,ˆÜ”
˜8¤R§U¡U×%6Ñ%6Ó7Ô8Ü�X—^‘^ YÔ/Ü�X—]‘]×(Ñ(¨)Õ4r#   N)r]   r^   r_   rù   rþ   r  r  r	  r`   r#   r!   ró   ró   -  s   „ ò.òOò9ò?ó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 )NrA   r   )r   rq   r   rH   r   rƒ   s     r!   Útest_integer_0_splitz#TestArraySplit.test_integer_0_splitV  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 )NrA   rE   rB   r.   r,   r-   é   r�   é   é	   rà   )r   rq   r   Úcompare_resultsrI   ©r:   r   r   Údesireds       r!   Útest_integer_splitz!TestArraySplit.test_integer_splitZ  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 )NrA   r,   r   r   ©r   rA   r¿   rE   ©	r   rI   rq   r   r®   r  r   rD   rÄ   ©r:   r   r   Útgts       r!   Útest_integer_split_2D_rowsz)TestArraySplit.test_integer_split_2D_rows—  s  € Ü�H‰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 )NrA   r,   r¿   r   r-   r  )r   rI   rq   r   r  r  s       r!   Útest_integer_split_2D_colsz)TestArraySplit.test_integer_split_2D_cols¦  s´   € Ü�H‰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
        rA   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   rB   r-   )i   @rB   )r   Úbroadcast_tor   r8   r‚   r   rS   )r:   r   r   Úchunkr  rÆ   s         r!   Ú,test_integer_split_2D_rows_greater_max_int32z;TestArraySplit.test_integer_split_2D_rows_greater_max_int32¹  si   € ä�O‰O˜Q˜C Ó.ˆÜ˜!˜QÓˆÜ—‘   \Ó2ˆØˆg˜‰kˆÜ”s˜3“x–ˆAÜ˜˜Q™Ÿ™ s¨1¡v§|¡|Õ4ñ !r#   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 )	NrA   )rE   r.   r  r¿   r   r   rE   r.   r  )r   rq   r   r  ©r:   r   ry   r   r  s        r!   Útest_index_split_simplez&TestArraySplit.test_index_split_simpleÂ  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 )NrA   )r   r.   r  r¿   r   r   r.   r  ©r   rq   r   rI   r  r&  s        r!   Útest_index_split_low_boundz)TestArraySplit.test_index_split_low_boundÊ  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 )NrA   )r   r.   r  rA   é   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]   r^   r_   r  r  r  r  r  ÚpytestÚmarkÚskipifÚIS_64BITr$  r'  r*  r-  r`   r#   r!   r  r  U  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 )NrA   rB   r.   )r   rq   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 )NrA   r,   )r   rq   r   rH   r   rƒ   s     r!   Útest_unequal_splitzTestSplit.test_unequal_splitæ  s   € Ü�I‰I�b‹MˆÜ”j¤%¨¨AÕ.r#   N)r]   r^   r_   r5  r7  r`   r#   r!   r3  r3  Û  s   „ ò
&ó/r#   r3  c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚTestColumnStackc                 ó.   — t        t        t        d«       y ©NrE   )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©rE   rB   r,   )rB   r,   r-   rE   rB   r,   r-   ©r   rI   r   r   ©r:   r   rø   r¢   rU   s        r!   Útest_1D_arrayszTestColumnStack.test_1D_arraysï  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 )NrE   rB   r,   r-   rA  rB  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   rq   ©Ú.0Ú_s     r!   Ú	<genexpr>z1TestColumnStack.test_generator.<locals>.<genexpr>  s   è ø€ Ð8©x¨!œŸ™ 1Ÿ©xùó   ‚!rB   )r.  Úraisesr<  r   r8   r=  s    r!   Útest_generatorzTestColumnStack.test_generator  s0   € Ü�]‰]œ9Ð,EÖFÜÑ8¬u°Q¬xÓ8Ô8÷ G×FÑFúó   œAÁA
N)r]   r^   r_   r>  rC  rE  rS  r`   r#   r!   r9  r9  ë  s   „ ò2ò'ò'ó9r#   r9  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 r;  )r   r<  r
   r=  s    r!   r>  zTestDstack.test_non_iterable	  s   € Ü”i¤¨Õ+r#   c                 ó¼   — t        j                  d«      }t        j                  d«      }t        ||g«      }t        j                  ddggg«      }t        ||«       y ©NrE   rB   ©r   rI   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 rY  rZ  r[  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 rY  rZ  r[  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 rY  rZ  r[  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)NrG  rH  c              3   óF   K  — | ]  }t        j                  d «      –— Œ y­wrK  rL  rM  s     r!   rP  z,TestDstack.test_generator.<locals>.<genexpr>*  s   è ø€ Ð2© A”2—9‘9˜Q—<©ùrQ  rB   )r.  rR  r<  r
   r8   r=  s    r!   rS  zTestDstack.test_generator(  s0   € Ü�]‰]œ9Ð,EÖFÜÑ2¬¨q¬Ó2Ô2÷ G×FÑFúrT  N)	r]   r^   r_   r>  r\  r^  r`  rb  rS  r`   r#   r!   rV  rV    s    „ ò,ò)ò)ò)ò)ó3r#   rV  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 r;  )r   rH   r   r=  s    r!   r>  zTestHsplit.test_non_iterable3  ó   € Ü”j¤&¨!¨QÕ/r#   c                 ó|   — t        j                  d«      }	 t        |d«       t        d«       y # t        $ r Y y w xY w)NrE   rB   r   )r   rI   r   r   rH   rƒ   s     r!   r\  zTestHsplit.test_0D_array6  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©rE   rB   r,   r-   rB   rE   r,   r-   ©r   rI   r   r  r  s       r!   r^  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 rl  rn  r  s       r!   r`  zTestHsplit.test_2D_arrayD  se   € Ü�H‰H’lÚð ó !ˆä�Q˜‹lˆÜ—8‘8˜a ˜V a¨ VÐ,Ó-¬r¯x©x¸!¸Q¸À!ÀQÀÐ8HÓ/IÐJˆÜ˜˜WÕ%r#   N©r]   r^   r_   Ú__doc__r>  r\  r^  r`  r`   r#   r!   rf  rf  /  s   „ ñò0òò&ó&r#   rf  c                   ó(   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zy)Ú
TestVsplitrg  c                 ó0   — t        t        t        dd«       y r;  )r   rH   r	   r=  s    r!   r>  zTestVsplit.test_non_iterableP  ri  r#   c                 óZ   — t        j                  d«      }t        t        t        |d«       y rY  )r   rI   r   rH   r	   rƒ   s     r!   r\  zTestVsplit.test_0D_arrayS  ó   € Ü�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©Nrm  rB   r   )r   rI   r	   r   rH   rƒ   s     r!   r^  zTestVsplit.test_1D_arrayW  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 ©Nrm  rB   )r   rI   r	   r  r  s       r!   r`  zTestVsplit.test_2D_array_  sO   € Ü�H‰H’lÚð ó !ˆä�Q˜‹lˆÜ—8‘8š\˜NÓ+¬R¯X©X²|°nÓ-EÐFˆÜ˜˜WÕ%r#   Nrp  r`   r#   r!   rs  rs  L  s   „ ñò0ò0òó&r#   rs  c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú
TestDsplitc                 ó0   — t        t        t        dd«       y r;  )r   rH   r   r=  s    r!   r>  zTestDsplit.test_non_iterablei  ri  r#   c                 óZ   — t        j                  d«      }t        t        t        |d«       y rY  ©r   rI   r   rH   r   rƒ   s     r!   r\  zTestDsplit.test_0D_arrayl  rv  r#   c                 ó^   — t        j                  g d¢«      }t        t        t        |d«       y rz  r  rƒ   s     r!   r^  zTestDsplit.test_1D_arrayp  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rx  )r   rI   r   r   rH   rƒ   s     r!   r`  zTestDsplit.test_2D_arrayt  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 rl  )r   rI   r   r  r  s       r!   Útest_3D_arrayzTestDsplit.test_3D_array}  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]   r^   r_   r>  r\  r^  r`  rƒ  r`   r#   r!   r|  r|  g  s   „ ò0ò0ò0òó&r#   r|  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*   rf   rA   rE   )rf   rA   rA   )rf   rA   rf   r   g      ø?)
r/   r+   r   r   r·   rr   r   r9   rÄ   rž   )r:   r+   r   rø   Úcr   s         r!   Ú
test_basiczTestSqueeze.test_basic‰  sÔ   € Ý%á��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]   r^   r_   rˆ  r`   r#   r!   r…  r…  ˆ  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 )	NrE   rB   r,   r-   r�   r  r,  r  )r   rI   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]   r^   r_   Ú__array_priority__r`   r#   r!   Úmyarrayr�  º  s   „ Ø!$Ñr#   r’  rB   )	r   rž   rF   rS   rD   r¨   r   rÄ   r   )r:   r’  r   rÐ   s       r!   Útest_return_typezTestKron.test_return_type¹  s—   € ô	%”b—j‘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   rF   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 )	NrE   rB   r,   r-   r   r  )rE   r-   r-   é   rC   )r   rÐ   rI   ÚdiagÚidentityrL   r   r   )r:   r¹   r�  s      r!   Útest_kron_mazTestKron.test_kron_maÎ  sƒ   € Ü�E‰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  )r@  )r-   r.   r�   )©rB   rB   rt   ))rE   r   r  )©rB   r   rB   rœ  ))rB   r   r   rB   r�  c                 óš  — t        j                  |«      }t        j                  |«      }dt        dt        |«      t        |«      z
  «      z  |z   }dt        dt        |«      t        |«      z
  «      z  |z   }t        j                  ||«      }t        j
                  ||«      }t        j                  |j                  |«      sJ d«       ‚y )N)rE   r   zUnexpected shape from kron)r   rF   r5   r‚   Úmultiplyr   Úarray_equalrS   )	r:   Úshape_aÚshape_br   rø   Únormalised_shape_aÚnormalised_shape_bÚexpected_shaper�  s	            r!   Útest_kron_shapezTestKron.test_kron_shapeÕ  s²   € ô �G‰G�GÓˆÜ�G‰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]   r^   r_   rˆ  r“  r.  r/  Úparametrizer   ÚasarrayÚasmatrixr–  r›  r¦  r`   r#   r!   r‹  r‹  ›  ss   „ ò-ò:	1ð ‡[�[×ÑØ˜Ÿ
™
 B§K¡KÐ0óñ-óð-ò-ð ‡[�[×ÑØò 
óñ	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û   rE   rB   r,   r-   )r   rE   rB   r   rE   rB   rœ  ©rE   rB   )rE   rB   rE   rB   )r,   r-   r,   r-   ©rB   rE   )r   rI   r   r   ©r:   r   rø   s      r!   rˆ  zTestTile.test_basicë  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.   rE   rB   )r   rq   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 )NrB   r[   )rB   r   )r,   rB   r   )r   rI   r   rS   r   )r:   r   rø   r‡  r€   s        r!   rV   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))rB   r­  r®  rœ  )rB   r,   rB   )r,   rB   ))r,   )rB   r,   )r,   r-   r,   )r,   rB   r,   )r-   r,   rB   r-   rœ  rA   )Úsize)r/   r´  r   rF   rD   r   r   r   )
r:   r´  ÚrepsrS   r÷   rø   Úrr   ÚlargeÚklarges
             r!   Útest_kroncomparezTestTile.test_kroncompare  se   € Ý(â@ˆÚJˆÛˆAÙ˜˜2 AÔ&ˆAÛ�Ü—G‘G˜A˜qŸw™wÓ'�Ü˜Q ›
�Ü˜a ›�Ü˜U FÕ+ñ	 ñ r#   N)r]   r^   r_   rˆ  r±  rV   rº  r`   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)rj   rh   )re   rh   r�   r¿   rB   rE   )r   rF   r   Úmay_share_memory)r:   r€   Ú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‰  r`   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)r‚   rH   Úzipr   )r   r  r¹   Úys       r!   r  r  "  s=   € ä
ˆ3ƒx”3�w“<ÒÜÐ;Ó<Ð<ä�C˜Ö!‰ˆˆ1Ü˜1˜aÕ ñ "r#   )/Únumpyr   r$   Úsysr.  r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   Únumpy.exceptionsr   Únumpy.testingr   r   r   r   r   Úmaxsizer1  r&   r(   rb   r}   rì   ró   r  r3  r9  rV  rf  rs  r|  r…  r‹  r«  r¼  r  r`   r#   r!   Ú<module>rÈ     s  ðÛ Û Û 
Û ÷÷ ÷ ÷ õ
 '÷õ ð
 �;‰;˜Ñ€ò÷3.ñ 3.÷l'8ñ '8÷Vc=ñ c=÷LCñ C÷%5ñ %5÷PC&ñ C&÷L/ñ /÷ 9ñ 9÷:"3ñ "3÷N&ñ &÷:&ñ &÷6&ñ &÷B,ñ ,÷&LGñ LG÷^%,ñ %,÷P7ñ 7ó !r#   