ó
    �œ‘h;n  ã                   óò  • S SK r S SKrS SKrS SKrS SKJrJrJrJrJ	r	J
r
JrJrJrJrJrJrJrJr  S SKJr  S SKJrJrJrJr  \R4                  S:„  rS r " S S5      r " S	 S
5      r " S S5      r " S S5      r  " S S5      r! " S S5      r" " S S5      r# " S S5      r$ " S S5      r% " S S5      r& " S S5      r' " S S5      r( " S S 5      r) " S! S"5      r* " S# S$5      r+ " S% S&5      r,S' r-g)(é    N)Úapply_along_axisÚapply_over_axesÚarray_splitÚcolumn_stackÚdsplitÚdstackÚexpand_dimsÚhsplitÚkronÚput_along_axisÚsplitÚtake_along_axisÚtileÚvsplit)Ú	AxisError)Úassert_Úassert_array_equalÚassert_equalÚassert_raisesì        c                 óF   ^ • [         R                  " T 5      U 4S j5       nU$ )z9hack in keepdims behavior into a function taking an axis c                 óL   >• T" U 4SU0UD6nUc  Sn[         R                  " X1S9$ )NÚaxisr   ©r   )Únpr	   )Úar   ÚkwargsÚresÚfuncs       €ÚcC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\numpy/lib/tests/test_shape_base.pyÚwrappedÚ_add_keepdims.<locals>.wrapped   s0   ø€ á�1Ñ*˜4Ð* 6Ñ*ˆØ‰<ØˆDÜ�~Š~˜cÑ-Ð-ó    )Ú	functoolsÚwraps)r   r!   s   ` r    Ú_add_keepdimsr&      s%   ø€ ä‡_‚_�TÓô.ó ð.ð
 €Nr#   c                   ó,   • \ rS rSrS rS rS rS rSrg)ÚTestTakeAlongAxisé(   c                 óî  • SSK Jn  U" SSS5      n[        R                  [        R                  0 4[        [        R                  5      [        [        R                  5      0 4[        [        R                  5      [        [        R                  5      0 4/nU HY  u  pEn[        [        UR                  5      5      S/-    H-  nU" U4SU0UD6nU" U4SU0UD6n	[        U[        X)US95        M/     M[     g)	z,Test it translates from arg<func> to <func> r   ©Úrandé   é   é   Nr   r   )Únumpy.randomr,   r   ÚsortÚargsortr&   ÚminÚargminÚmaxÚargmaxÚlistÚrangeÚndimr   r   )
Úselfr,   r   Úfuncsr   Úargfuncr   r   Úa_funcÚai_funcs
             r    Útest_argequivalentÚ$TestTakeAlongAxis.test_argequivalent)   sÍ   € å%Ù��A�q‹Mˆô �W‰W”b—j‘j "Ð%Üœ2Ÿ6™6Ó"¤M´"·)±)Ó$<¸bÐAÜœ2Ÿ6™6Ó"¤M´"·)±)Ó$<¸bÐAð
ˆó &+Ñ!ˆ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                 óÈ  • [         R                  " S5      n[         R                  " S[         R                  S9n[        XSS9  [	        [
        [        U[         R                  " S5      SS9  [	        [        [        XR                  [        5      SS9  [	        [        [        XR                  [        5      SS9  [	        [        [        XSS9  [	        [
        [        XSS9  g)z3Test it errors when indices has too few dimensions )é
   rB   )rB   é   ©Údtypeé   r   rB   N)r   ÚonesÚintpr   r   Ú
ValueErrorÚarrayÚ
IndexErrorÚastypeÚboolÚfloatr   ©r:   r   Úais      r    Útest_invalidÚTestTakeAlongAxis.test_invalid;   s“   € ä�GŠG�HÓˆÜ�WŠW�W¤B§G¡GÑ,ˆô 	˜ AÒ&ô 	”j¤/°1´b·h²h¸q³kÈÒJä”j¤/°1·i±iÄ³oÈAÒNä”j¤/°1·i±iÄÓ6FÈQÒOä”i¤°!¸bÒAä”j¤/°1¸tÓDr#   c                 óÊ   • [         R                  " S5      n[         R                  " S[         R                  S9n[        XSS9n[	        UR
                  UR
                  5        g)zBTest everything is ok with empty results, even with inserted dims )r-   r.   r/   )r-   r   r/   rD   rF   r   N©r   rG   rH   r   r   Úshape©r:   r   rP   Úactuals       r    Ú
test_emptyÚTestTakeAlongAxis.test_emptyN   sB   € ä�GŠG�IÓˆÜ�WŠW�Y¤b§g¡gÑ.ˆä  ¨QÑ/ˆÜ�V—\‘\ 2§8¡8Õ,r#   c                 ó¶   • [         R                  " S5      n[         R                  " S[         R                  S9n[        XSS9n[	        UR
                  S5        g)úCTest that non-indexing dimensions are broadcast in both directions ©r-   r.   rF   ©rF   rC   r/   rD   rF   r   ©r-   rC   r/   NrT   rV   s       r    Útest_broadcastÚ TestTakeAlongAxis.test_broadcastV   s>   € ä�GŠG�IÓˆÜ�WŠW�Y¤b§g¡gÑ.ˆÜ  ¨QÑ/ˆÜ�V—\‘\ 9Õ-r#   © N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r?   rQ   rX   r_   Ú__static_attributes__ra   r#   r    r(   r(   (   s   † òMò$Eò&-õ.r#   r(   c                   ó&   • \ rS rSrS rS rS rSrg)ÚTestPutAlongAxisé^   c                 óN  • [         R                  " / SQ/ SQ/5      n[        [        UR                  5      5      S /-    Hc  nUR                  5       n[        [         R                  5      " X2S9n[        X4SUS9  [        [         R                  5      " X2S9n[        XT5        Me     g )N©rB   é   é   ©é<   r)   é2   r   i�ÿÿÿ)r   rJ   r7   r8   r9   Úcopyr&   r6   r   r4   r   )r:   Úa_baser   r   Úi_maxÚi_mins         r    Útest_replace_maxÚ!TestPutAlongAxis.test_replace_max_   s}   € Ü—’š<ªÐ6Ó7ˆäœ˜vŸ{™{Ó+Ó,°¨vÔ5ˆDà—‘“ˆAô "¤"§)¡)Ô,¨QÑ:ˆEÜ˜1 S¨tÒ4ô "¤"§)¡)Ô,¨QÑ:ˆEä˜Ö&ò 6r#   c                 óØ   • [         R                  " S5      n[         R                  " S[         R                  S9R	                  S5      S-  n[        XSSS9  [        [        XSS9S5        g	)
r[   r\   rB   rD   r]   r.   rm   rF   r   N)r   rG   ÚarangerH   Úreshaper   r   r   rO   s      r    r_   ÚTestPutAlongAxis.test_broadcasto   sQ   € ä�GŠG�IÓˆÜ�YŠY�r¤§¡Ñ)×1Ñ1°)Ó<¸qÑ@ˆÜ�q˜b qÒ)Ü”_ Q°Ñ3°RÕ8r#   c                 óä  • [         R                  " / SQ/ SQ/5      n[         R                  " S/S//5      n[         R                  " S/S//5      nUR                  5       n[        XBUSS9  [         R                  " U/ SQ/ SQ/:H  5      (       d   eUR                  5       n[        [        5       n[        XBUS	S9  S	S	S	5        S
[        WR                  5      ;   d   eg	! , (       d  f       N*= f)zTest invalid inputs rk   rn   r   rF   rC   r   ©rC   rC   rC   ©rF   rF   rF   Nzsingle dimension)	r   rJ   rq   r   Úallr   rI   ÚstrÚ	exception)r:   rr   ÚindicesÚvaluesr   Úexcs         r    rQ   ÚTestPutAlongAxis.test_invalidv   sÁ   € ä—’š<ªÐ6Ó7ˆÜ—(’(˜Q˜C ! ˜:Ó&ˆÜ—’˜A˜3  ˜*Ó%ˆð �K‰K‹MˆÜ�q 6°Ò2Ü�vŠv�ašI¢yÐ1Ñ1×2Ñ2Ð2Ð2ð �K‰K‹MˆÜœ:Ô&¨#Ü˜1 v°DÒ9÷ 'à!¤S¨¯©Ó%7Ó7Ð7Ñ7÷ 'Õ&ús   Â1C!Ã!
C/ra   N)rb   rc   rd   re   ru   r_   rQ   rf   ra   r#   r    rh   rh   ^   s   † ò'ò 9õ8r#   rh   c                   ó°   • \ rS rSrS rS rS rS rS r\	R                  4S jr\	R                  4S jr\	R                  4S	 jrS
 rS rS rS rS rSrg)ÚTestApplyAlongAxiséˆ   c                 óÂ   • [         R                  " SS5      n[        [        [        SU5      [	        U5      [         R                  " UR
                  S   5      -  5        g )N©rm   rB   Údr   rF   ©r   rG   r   r   ÚlenrU   ©r:   r   s     r    Útest_simpleÚTestApplyAlongAxis.test_simple‰   sC   € Ü�GŠG�H˜cÓ"ˆÜÜœS ! QÓ'¬¨Q«´"·'²'¸!¿'¹'À!¹*Ó2EÑ)Eõ	Gr#   c                 óÂ   • [         R                  " SS5      n[        [        [        SU5      [	        U5      [         R                  " UR
                  S   5      -  5        g )N)rB   ée   rŠ   r   rF   r‹   r�   s     r    Útest_simple101Ú!TestApplyAlongAxis.test_simple101Ž   sC   € Ü�GŠG�I˜sÓ#ˆÜÜœS ! QÓ'¬¨Q«´"·'²'¸!¿'¹'À!¹*Ó2EÑ)Eõ	Gr#   c                 óª   • [         R                  " S5      R                  S5      n[        [	        [         R
                  SU5      / SQ/ SQ/ SQ/5        g )Né   ©r-   r-   r-   r   )r•   rl   é!   )é$   é'   é*   )é-   é0   é3   )r   rx   ry   r   r   Úsumr�   s     r    Útest_3dÚTestApplyAlongAxis.test_3d“   s=   € Ü�IŠI�b‹M×!Ñ! )Ó,ˆÜÔ+¬B¯F©F°A°qÓ9Ú(ª,ºÐEõ	Gr#   c                 ó˜  • S n " S S[         R                  5      n[         R                  " SS/SS//5      R                  U5      n[         R                  " SS/SS	//5      R                  U5      n[	        USU5      n[        [        XR5      5        [        XT5        [	        USU5      n[        [        XR5      5        [        XT5        g )
Nc                 ó   • U S-  $ )NrC   ra   )Úrows    r    ÚdoubleÚ9TestApplyAlongAxis.test_preserve_subclass.<locals>.double™   s   € Ø˜‘7ˆNr#   c                   ó   • \ rS rSrSrg)Ú<TestApplyAlongAxis.test_preserve_subclass.<locals>.MyNDArrayéœ   ra   N©rb   rc   rd   re   rf   ra   r#   r    Ú	MyNDArrayr§   œ   ó   † Úr#   rª   r   rF   rC   r-   r.   é   )r   ÚndarrayrJ   Úviewr   r   Ú
isinstancer   )r:   r¤   rª   ÚmÚexpectedÚresults         r    Útest_preserve_subclassÚ)TestApplyAlongAxis.test_preserve_subclass˜   s«   € ò	ô	œŸ
™
ô 	ô �HŠH�q˜!�f˜q !˜fÐ%Ó&×+Ñ+¨IÓ6ˆÜ—8’8˜a ˜V a¨ VÐ,Ó-×2Ñ2°9Ó=ˆä! &¨!¨QÓ/ˆÜ”
˜6Ó-Ô.Ü˜6Ô,ä! &¨!¨QÓ/ˆÜ”
˜6Ó-Ô.Ü˜6Õ,r#   c                 óà   •  " S S[         R                  5      nS n[         R                  " S5      R                  U5      n[	        [        USU5      [         R                  " / SQ5      5        g )Nc                   ó   • \ rS rSrSrSrg)Ú9TestApplyAlongAxis.test_subclass.<locals>.MinimalSubclassé«   rF   ra   N)rb   rc   rd   re   Údatarf   ra   r#   r    ÚMinimalSubclassr·   «   s   † Ø‹Dr#   rº   c                 ó   • U R                   $ ©N)r¹   )rJ   s    r    Úminimal_functionÚ:TestApplyAlongAxis.test_subclass.<locals>.minimal_function®   s   € Ø—:‘:Ðr#   ©r¬   r-   r   r}   )r   r­   Úzerosr®   r   r   rJ   )r:   rº   r½   r   s       r    Útest_subclassÚ TestApplyAlongAxis.test_subclassª   sR   € ô	œbŸj™jô 	ò	ô �HŠH�VÓ×!Ñ! /Ó2ˆäÜÐ-¨q°!Ó4´b·h²hºyÓ6Iõ	
r#   c                 ó  • [         R                  " S5      R                  U5      n[        [         R                  SU5      n[        [        X15      5        [        U[         R                  " / SQ5      R                  U5      5        g )Nr¿   r   ©r¬   r¬   r¬   )	r   rG   r®   r   rž   r   r¯   r   rJ   )r:   Úclsr   r   s       r    Útest_scalar_arrayÚ$TestApplyAlongAxis.test_scalar_array·   sW   € Ü�GŠG�F‹O× Ñ  Ó%ˆÜœrŸv™v q¨!Ó,ˆÜ”
˜3Ó$Ô%Ü˜3¤§¢ªÓ 3× 8Ñ 8¸Ó =Õ>r#   c                 óœ  • S n[         R                  " S5      R                  U5      n[        USU5      n[	        [        XA5      5        [        U[         R                  " / SQ5      R                  U5      5        [        USU5      n[	        [        XA5      5        [        U[         R                  " / SQ5      R                  U5      5        g )Nc                 ó€   • [        U R                  S5        [        R                  " [        R                  " U SS95      $ )z.Sum x, returning a 0d array of the same class rF   T)Úkeepdims)r   r9   r   Úsqueezerž   ©Úxs    r    Ú	sum_to_0dÚ3TestApplyAlongAxis.test_0d_array.<locals>.sum_to_0d¾   s*   € ä˜Ÿ™ Ô#Ü—:’:œbŸfšf Q°Ñ6Ó7Ð7r#   r¿   r   rÄ   rF   )r-   r-   r-   r-   r-   r-   )r   rG   r®   r   r   r¯   r   rJ   )r:   rÅ   rÎ   r   r   s        r    Útest_0d_arrayÚ 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                 ó”  ^• U4S jn[         R                  " S5      R                  S5      n[        USU5      n[         R                  " [        UR                  S   5       Vs/ s H  oR" US S 2U4   5      PM     snSS9R                  T5      n[        [        U5      [        U5      5        [        XF5        [        USU5      n[         R                  " [        UR                  S   5       Vs/ s H  oR" X5S S 24   5      PM     snSS9R                  T5      n[        [        U5      [        U5      5        [        XF5        [         R                  " S5      R                  S	5      n[        USU5      n[         R                  " [        UR                  S
   5       VVs/ s HK  n[         R                  " [        UR                  S   5       Vs/ s H  oR" XuS S 2U4   5      PM     snSS9PMM     snnSS9R                  T5      n[        [        U5      [        U5      5        [        XF5        g s  snf s  snf s  snf s  snnf )Nc                 ór   >• [        U R                  S5        U SSS2   U SS2S4   -  R                  T5      $ )ú/produces an asymmetric non-square matrix from xrF   Néÿÿÿÿ)r   r9   r®   )rÍ   rÅ   s    €r    Úf1to2Ú5TestApplyAlongAxis.test_axis_insertion.<locals>.f1to2Ì   s9   ø€ ä˜Ÿ™ Ô#Ø‘d˜�d‘G˜a ¡ D ™kÑ)×/Ñ/°Ó4Ð4r#   é   r¿   r   rF   rÕ   r   éZ   )r¬   r/   r-   rC   )
r   rx   ry   r   Ústackr8   rU   r®   r   Útype)	r:   rÅ   rÖ   Úa2drW   Úir±   Úa3dÚjs	    `       r    Útest_axis_insertionÚ&TestApplyAlongAxis.test_axis_insertionË   sý  ø€ õ	5ô
 �iŠi˜Ó×&Ñ& vÓ.ˆô " %¨¨CÓ0ˆÜ—8’8Ü&+¨C¯I©I°a©LÔ&9ó
Ú&9 ˆE�#’a˜�d‘)ÖÑ&9ñ
àñç‘D˜“Ið 	ô 	”T˜&“\¤4¨£>Ô2Ü�VÔ&ô " %¨¨CÓ0ˆÜ—8’8Ü&+¨C¯I©I°a©LÔ&9ó
Ú&9 ˆE�#š�d‘)ÖÑ&9ñ
àñç‘4˜“9ð 	ô 	”T˜&“\¤4¨£>Ô2Ü�VÔ&ô �iŠi˜	Ó"×*Ñ*¨9Ó5ˆä! %¨¨CÓ0ˆÜ—8’8ô ˜3Ÿ9™9 Q™<Ô(ô	
ò )�ô �HŠHÜ-2°3·9±9¸Q±<Ô-@óÚ-@¨��cšQ ˜'‘lÖ#Ñ-@ñàôñ )ò	
ð
 ñ÷
 ‘D˜“Ið 	ô 	”T˜&“\¤4¨£>Ô2Ü�VÕ&ùò3
ùò
ùòùó
s$   Á$H5Ã1H:Æ#0I
ÇH?Ç+
I
È?I
c                 óœ   •  " S S[         R                  5      nU R                  U5        U R                  U5        U R	                  U5        g )Nc                   ó   • \ rS rSrSrg)ÚFTestApplyAlongAxis.test_subclass_preservation.<locals>.MinimalSubclasséñ   ra   Nr©   ra   r#   r    rº   rä   ñ   r«   r#   rº   )r   r­   rÆ   rÐ   rà   )r:   rº   s     r    Útest_subclass_preservationÚ-TestApplyAlongAxis.test_subclass_preservationð   s<   € ô	œbŸj™jô 	à×Ñ˜Ô/Ø×Ñ˜?Ô+Ø× Ñ  Õ1r#   c                 ó>  • S n[         R                  " S5      R                  S5      n[        USU5      n[	        [        U[         R                  R                  5      5        [        UR                  S5        [        US S 2S S 2S4   R                  U" US S 2S4   5      R                  5        [        US S 2S S 2S4   R                  U" US S 2S4   5      R                  5        [        US S 2S S 2S4   R                  U" US S 2S4   5      R                  5        g )Nc                 óž   • [        U R                  S5        U SSS2   U SS2S4   -  n[        R                  R	                  US-  S:H  U5      $ )rÔ   rF   NrÕ   r/   r   )r   r9   r   ÚmaÚmasked_where)rÍ   r   s     r    rÖ   Ú8TestApplyAlongAxis.test_axis_insertion_ma.<locals>.f1to2ø   sK   € ä˜Ÿ™ Ô#Ø‘D�b�D‘'˜A˜a™b $˜h™KÑ'ˆCÜ—5‘5×%Ñ% c¨A¡g°¡l°CÓ8Ð8r#   rØ   r¿   r   r-   rF   rC   )r   rx   ry   r   r   r¯   rê   Úmasked_arrayr   r9   r   Úmask)r:   rÖ   r   r   s       r    Útest_axis_insertion_maÚ)TestApplyAlongAxis.test_axis_insertion_ma÷   sÛ   € ò	9ô
 �IŠI�eÓ×$Ñ$ VÓ,ˆÜ˜u a¨Ó+ˆÜ”
˜3¤§¡× 2Ñ 2Ó3Ô4Ü�S—X‘X˜qÔ!Ü˜3šq¢! Q˜w™<×,Ñ,©e°A²a¸°d±G«n×.AÑ.AÔBÜ˜3šq¢! Q˜w™<×,Ñ,©e°A²a¸°d±G«n×.AÑ.AÔBÜ˜3šq¢! Q˜w™<×,Ñ,©e°A²a¸°d±G«n×.AÑ.AÕBr#   c           	      óº   • S n[         R                  " US[         R                  " SS/SS//5      5      n[        U[         R                  " SS/SS//5      5        g )Nc                 ó   • U S   U S   4$ )NrF   r   ra   rÌ   s    r    Ú	sample_1dÚ7TestApplyAlongAxis.test_tuple_func1d.<locals>.sample_1d  s   € Ø�Q‘4˜˜1™�:Ðr#   rF   rC   r-   r.   )r   r   rJ   r   )r:   ró   r   s      r    Útest_tuple_func1dÚ$TestApplyAlongAxis.test_tuple_func1d  sQ   € ò	ä×!Ò! )¨Q´·²¸1¸a¸&À1ÀaÀ&Ð9IÓ0JÓKˆÜ˜3¤§¢¨1¨a¨&°1°a°&Ð)9Ó :Õ;r#   c                 óž  • S n[         R                  " S5      n[        [        [         R                  USU5        [        [        [         R                  USU5        S n[         R                  " S5      n[         R                  " USU5      n[        U[         R                  " S5      5        [        [        [         R                  USU5        g )Nc                 ó   • [        S5        g )NF)r   rÌ   s    r    Ú
never_callÚ1TestApplyAlongAxis.test_empty.<locals>.never_call  s	   € Ü�E�Nr#   )r   r   r   rF   c                 ó2   • [        [        U 5      S:H  5        g)Nr   rF   )r   rŒ   rÌ   s    r    Ú
empty_to_1Ú1TestApplyAlongAxis.test_empty.<locals>.empty_to_1  s   € Ü”C˜“F˜a‘KÔ Ør#   )rB   r   rB   )r   Úemptyr   rI   r   r   rG   )r:   rù   r   rü   rW   s        r    rX   Ú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                 óp  • [         R                  " SS1SS1SS1/SS1S	S
1SS1//5      n[         R                  " S SU5      n[         R                  " 1 Sk1 Sk1 Sk/5      n[        X#5        [         R                  " UR
                  5       H%  n[        [        X$   5      [        X4   5      5        M'     g )NrF   é   rC   é   r-   r—   r.   é,   r/   é7   r¬   éB   c                 ó(   • [         R                  " U 6 $ r¼   )ÚsetÚunion)r   s    r    Ú<lambda>Ú>TestApplyAlongAxis.test_with_iterable_object.<locals>.<lambda>$  s   € ¬s¯yªy¸!©}r#   r   >   rF   r.   r  r  >   rC   r/   r  r  >   r-   r¬   r—   r  )r   rJ   r   r   ÚndindexrU   rÛ   )r:   rŠ   rW   r±   rÝ   s        r    Útest_with_iterable_objectÚ,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Ô&ô —’˜FŸL™LÖ)ˆAÜœ˜f™i›¬$¨x©{Ó*;Ö<ò *r#   ra   N)rb   rc   rd   re   rŽ   r’   rŸ   r³   rÁ   r   r­   rÆ   rÐ   rà   ræ   rï   rõ   rX   r  rf   ra   r#   r    r†   r†   ˆ   se   † òGò
Gò
Gò
-ò$
ð %'§J¡Jô ?ð !#§
¡
ô Hð ')§j¡jô #'òJ2òCò<òIõ&=r#   r†   c                   ó   • \ rS rSrS rSrg)ÚTestApplyOverAxesi.  c                 óÚ   • [         R                  " S5      R                  SSS5      n[        [         R                  USS/5      n[        U[         R                  " S/S/S///5      5        g )	Né   rC   r-   r.   r   ro   é\   é|   )r   rx   ry   r   rž   r   rJ   )r:   r   Úaoa_as      r    rŽ   ÚTestApplyOverAxes.test_simple/  sW   € Ü�IŠI�b‹M×!Ñ! ! Q¨Ó*ˆÜ¤§¡¨¨A¨q¨6Ó2ˆÜ˜5¤"§(¢(¨b¨T°B°4¸#¸Ð,?Ð+@Ó"AÕBr#   ra   N)rb   rc   rd   re   rŽ   rf   ra   r#   r    r  r  .  s   † õCr#   r  c                   ó2   • \ rS rSrS rS rS rS rS rSr	g)	ÚTestExpandDimsi5  c                 óþ   • Sn[         R                  " U5      n[        SS5       HU  n[        X#5      n[	        UR
                  U   S:H  5        [	        [         R                  " U5      R
                  U:H  5        MW     g )N©rC   r-   r.   r/   éûÿÿÿr.   rF   )r   rþ   r8   r	   r   rU   rË   )r:   Úsr   r   Úbs        r    Útest_functionalityÚ!TestExpandDims.test_functionality6  s^   € ØˆÜ�HŠH�Q‹KˆÜ˜"˜a–LˆDÜ˜AÓ$ˆAÜ�A—G‘G˜D‘M QÑ&Ô'Ü”B—J’J˜q“M×'Ñ'¨1Ñ,Ö-ò !r#   c                 óX  • [         R                  " S5      n[         R                  " USS9R                  S:X  d   e[         R                  " USS9R                  S:X  d   e[         R                  " USS9R                  S:X  d   e[         R                  " US	S9R                  S
:X  d   eg )Nr–   ©r   rF   rC   r   )rF   rF   rF   r-   r-   r-   )r   rÕ   éþÿÿÿ)rF   r-   r-   r-   rF   rF   )r   r-   r/   )rF   r-   r-   rF   r-   rF   )r   éýÿÿÿr  )rF   rF   r-   rF   r-   r-   )r   rþ   r	   rU   r�   s     r    Útest_axis_tupleÚ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                 ó  • Sn[         R                  " U5      n[        [        [        US5        [        [        [        US5        [         R                  " S5      n[        [        [        US5        [        [        [        US5        g )Nr  éúÿÿÿr/   r–   )r   r&  )r   r/   )r   rþ   r   r   r	   )r:   r  r   s      r    Útest_axis_out_of_rangeÚ%TestExpandDims.test_axis_out_of_rangeE  sZ   € ØˆÜ�HŠH�Q‹KˆÜ”i¤¨a°Ô4Ü”i¤¨a°Ô3ä�HŠH�YÓˆÜ”i¤¨a°Ô9Ü”i¤¨a°Õ8r#   c                 óX   • [         R                  " S5      n[        [        [        USS9  g )Nr–   ©rF   rF   r   )r   rþ   r   rI   r	   r�   s     r    Útest_repeated_axisÚ!TestExpandDims.test_repeated_axisO  s   € Ü�HŠH�YÓˆÜ”j¤+¨q°vÓ>r#   c                 ó„  • [         R                  " S5      R                  S5      n[         R                  R	                  XS-  S:H  S9n[         R
                  " USS9n[        [        U[         R                  R                  5      5        [        UR                  S5        [        UR                  R                  S5        g )	NrB   )rC   r/   r-   r   ©rî   rF   r   )rC   rF   r/   )r   rx   ry   rê   rJ   r	   r   r¯   ÚMaskedArrayr   rU   rî   )r:   r   Úexpandeds      r    Útest_subclassesÚTestExpandDims.test_subclassesS  s�   € Ü�IŠI�b‹M×!Ñ! &Ó)ˆÜ�E‰E�K‰K˜ A¡¨¡
ˆKÐ+ˆä—>’> !¨!Ñ,ˆÜ”
˜8¤R§U¡U×%6Ñ%6Ó7Ô8Ü�X—^‘^ YÔ/Ü�X—]‘]×(Ñ(¨)Õ4r#   ra   N)
rb   rc   rd   re   r  r#  r'  r+  r1  rf   ra   r#   r    r  r  5  s   † ò.òOò9ò?õ5r#   r  c                   óŽ   • \ rS rSrS rS rS rS rS r\	R                  R                  \(       + SS9S	 5       rS
 rS rS rSrg)ÚTestArraySpliti]  c                 ó\   • [         R                  " S5      n[        [        [        US5        g )NrB   r   )r   rx   r   rI   r   r�   s     r    Útest_integer_0_splitÚ#TestArraySplit.test_integer_0_split^  s   € Ü�IŠI�b‹MˆÜ”j¤+¨q°!Õ4r#   c                 ó–  • [         R                  " S5      n[        US5      n[         R                  " S5      /n[        X#5        [        US5      n[         R                  " S5      [         R                  " SS5      /n[        X#5        [        US5      n[         R                  " S5      [         R                  " SS5      [         R                  " SS5      /n[        X#5        [        US5      n[         R                  " S5      [         R                  " SS5      [         R                  " SS	5      [         R                  " S	S5      /n[        X#5        [        US5      n[         R                  " S5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS	5      [         R                  " S	S5      /n[        X#5        [        US5      n[         R                  " S5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS	5      [         R                  " S	S
5      [         R                  " S
S5      /n[        X#5        [        US5      n[         R                  " S5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS	5      [         R                  " S	S
5      [         R                  " S
S5      /n[        X#5        [        US	5      n[         R                  " S5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS	5      [         R                  " S	S
5      [         R                  " S
S5      /n[        X#5        [        US
5      n[         R                  " S5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS	5      [         R                  " S	S
5      [         R                  " S
S5      /	n[        X#5        [        US5      n[         R                  " S5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS	5      [         R                  " S	S
5      [         R                  " S
S5      /
n[        X#5        [        US5      n[         R                  " S5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS	5      [         R                  " S	S
5      [         R                  " S
S5      [         R                  " / 5      /n[        X#5        g )NrB   rF   rC   r/   r-   r.   é   r¬   é   é	   r  )r   rx   r   Úcompare_resultsrJ   ©r:   r   r   Údesireds       r    Útest_integer_splitÚ!TestArraySplit.test_integer_splitb  sa  € Ü�IŠI�b‹MˆÜ˜!˜QÓˆÜ—9’9˜R“=�/ˆÜ˜Ô%ä˜!˜QÓˆÜ—9’9˜Q“<¤§¢¨1¨bÓ!1Ð2ˆÜ˜Ô%ä˜!˜QÓˆÜ—9’9˜Q“<¤§¢¨1¨a£´"·)²)¸A¸rÓ2BÐCˆÜ˜Ô%ä˜!˜QÓˆÜ—9’9˜Q“<¤§¢¨1¨a£´"·)²)¸A¸q³/Ü—9’9˜Q Ó#ð%ˆä˜Ô%ä˜!˜QÓˆÜ—9’9˜Q“<¤§¢¨1¨a£´"·)²)¸A¸q³/Ü—9’9˜Q “?¤B§I¢I¨a°Ó$4ð6ˆä˜Ô%ä˜!˜QÓˆÜ—9’9˜Q“<¤§¢¨1¨a£´"·)²)¸A¸q³/Ü—9’9˜Q “?¤B§I¢I¨a°£O´R·Y²Y¸qÀ"Ó5EðGˆä˜Ô%ä˜!˜QÓˆÜ—9’9˜Q“<¤§¢¨1¨a£´"·)²)¸A¸q³/Ü—9’9˜Q “?¤B§I¢I¨a°£O´R·Y²Y¸qÀ!³_Ü—9’9˜Q Ó#ð%ˆô 	˜Ô%ä˜!˜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ˆô 	˜Ô%ä˜!˜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ˆô 	˜Ô%ä˜!˜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Ó ˆÜ—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ˆô 	˜Õ%r#   c                 ól  • [         R                  " [         R                  " S5      [         R                  " S5      /5      n[        USSS9n[         R                  " [         R                  " S5      /5      [         R                  " [         R                  " S5      /5      [         R                  " S5      /n[        X#5        [        UR                  R                  US   R                  R                  L 5        [        USS/SS9n[         R                  " S5      [         R                  " [         R                  " S5      /5      [         R                  " [         R                  " S5      /5      /n[        X#5        [        UR                  R                  US   R                  R                  L 5        g )NrB   r-   r   r   ©r   rB   rÕ   rF   ©	r   rJ   rx   r   rÀ   r<  r   rE   rÛ   ©r:   r   r   Útgts       r    Útest_integer_split_2D_rowsÚ)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Ó$ð&ˆä˜Ô!Ü�—‘—‘  B¡§¡× 2Ñ 2Ð2Ô3ô ˜!˜a ˜V¨!Ñ,ˆÜ�xŠx˜Ó ¤"§(¢(¬B¯IªI°b«M¨?Ó";Ü�xŠxœŸš 2›˜Ó(ð*ˆä˜Ô!Ü�—‘—‘  B¡§¡× 2Ñ 2Ð2Õ3r#   c           	      ó6  • [         R                  " [         R                  " S5      [         R                  " S5      /5      n[        USSS9n[         R                  " [         R                  " S5      [         R                  " S5      /5      [         R                  " [         R                  " SS5      [         R                  " SS5      /5      [         R                  " [         R                  " SS5      [         R                  " SS5      /5      /n[	        X#5        g )NrB   r-   rÕ   r   r.   r9  )r   rJ   rx   r   r<  r=  s       r    Útest_integer_split_2D_colsÚ)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ˆô 	˜Õ%r#   c                 óø  • [         R                  " [         R                  " S5      [         R                  " S5      /5      n[        US5      n[         R                  " [         R                  " S5      /5      [         R                  " [         R                  " S5      /5      [         R                  " S5      /n[        X#5        [        UR                  R                  US   R                  R                  L 5        g)z1This will fail if we change default axis
        rB   r-   rB  rÕ   NrC  rD  s       r    Útest_integer_split_2D_defaultÚ,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Ó$ð&ˆä˜Ô!Ü�—‘—‘  B¡§¡× 2Ñ 2Ð2Õ3r#   zNeeds 64bit platform)Úreasonc                 ó  • [         R                  " S/S5      n[        US5      n[         R                  " S/S5      nU/S-  n[        [	        U5      5       H'  n[        X%   R                  XE   R                  5        M)     g )Nr   )r   rC   r.   )i   @rC   )r   Úbroadcast_tor   r8   rŒ   r   rU   )r:   r   r   ÚchunkrE  rÝ   s         r    Ú,test_integer_split_2D_rows_greater_max_int32Ú;TestArraySplit.test_integer_split_2D_rows_greater_max_int32Á  se   € ä�OŠO˜Q˜C Ó.ˆÜ˜!˜QÓˆÜ—’   \Ó2ˆØˆg˜‰kˆÜ”s˜3“x–ˆAÜ˜™Ÿ™ s¡v§|¡|Ö4ò !r#   c                 ó  • [         R                  " S5      n/ SQn[        XSS9n[         R                  " SS5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS5      /n[        X45        g )	NrB   )rF   r/   r9  rÕ   r   r   rF   r/   r9  )r   rx   r   r<  ©r:   r   r�   r   r>  s        r    Útest_index_split_simpleÚ&TestArraySplit.test_index_split_simpleÊ  sb   € Ü�IŠI�b‹MˆÚˆÜ˜!¨2Ñ.ˆÜ—9’9˜Q “?¤B§I¢I¨a°£O´R·Y²Y¸qÀ!³_Ü—9’9˜Q Ó#ð%ˆä˜Õ%r#   c                 ó  • [         R                  " S5      n/ SQn[        XSS9n[         R                  " / 5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS5      /n[	        X45        g )NrB   )r   r/   r9  rÕ   r   r   r/   r9  ©r   rx   r   rJ   r<  rU  s        r    Útest_index_split_low_boundÚ)TestArraySplit.test_index_split_low_boundÒ  s`   € Ü�IŠI�b‹MˆÚˆÜ˜!¨2Ñ.ˆÜ—8’8˜B“<¤§¢¨1¨a£´"·)²)¸A¸q³/Ü—9’9˜Q Ó#ð%ˆä˜Õ%r#   c                 óh  • [         R                  " S5      n/ SQn[        XSS9n[         R                  " / 5      [         R                  " SS5      [         R                  " SS5      [         R                  " SS5      [         R                  " / 5      [         R                  " / 5      /n[	        X45        g )NrB   )r   r/   r9  rB   é   rÕ   r   r   r/   r9  rY  rU  s        r    Útest_index_split_high_boundÚ*TestArraySplit.test_index_split_high_boundÚ  su   € Ü�IŠI�b‹MˆÚ#ˆÜ˜!¨2Ñ.ˆÜ—8’8˜B“<¤§¢¨1¨a£´"·)²)¸A¸q³/Ü—9’9˜Q Ó#¤R§X¢X¨b£\´2·8²8¸B³<ðAˆä˜Õ%r#   ra   N)rb   rc   rd   re   r6  r?  rF  rI  rL  ÚpytestÚmarkÚskipifÚIS_64BITrR  rV  rZ  r^  rf   ra   r#   r    r4  r4  ]  sW   † ò5ò;&òz4ò&ò4ð ‡[�[×Ñ˜HœÐ-CÐÐDñ5ó Eð5ò&ò&õ&r#   r4  c                   ó    • \ rS rSrS rS rSrg)Ú	TestSplitiã  c                 ó¸   • [         R                  " S5      n[        US5      n[         R                  " S5      [         R                  " SS5      /n[        X#5        g )NrB   rC   r/   )r   rx   r   r<  r=  s       r    Útest_equal_splitÚTestSplit.test_equal_splitè  s?   € Ü�IŠI�b‹MˆÜ�A�q‹kˆÜ—9’9˜Q“<¤§¢¨1¨bÓ!1Ð2ˆÜ˜Õ%r#   c                 ó\   • [         R                  " S5      n[        [        [        US5        g )NrB   r-   )r   rx   r   rI   r   r�   s     r    Útest_unequal_splitÚTestSplit.test_unequal_splitî  s   € Ü�IŠI�b‹MˆÜ”j¤%¨¨AÕ.r#   ra   N)rb   rc   rd   re   rg  rj  rf   ra   r#   r    re  re  ã  s   † ò
&õ/r#   re  c                   ó,   • \ rS rSrS rS rS rS rSrg)ÚTestColumnStackió  c                 ó.   • [        [        [        S5        g ©NrF   )r   Ú	TypeErrorr   ©r:   s    r    Útest_non_iterableÚ!TestColumnStack.test_non_iterableô  s   € Ü”i¤¨qÕ1r#   c                 óÞ   • [         R                  " S5      n[         R                  " S5      n[         R                  " SS/SS/SS//5      n[         R                  " X45      n[        XC5        g )N©rF   rC   r-   )rC   r-   r.   rF   rC   r-   r.   ©r   rJ   r   r   ©r:   r   r  r±   rW   s        r    Útest_1D_arraysÚTestColumnStack.test_1D_arrays÷  s_   € ä�HŠH�YÓˆÜ�HŠH�YÓˆÜ—8’8˜a ˜VØ ˜VØ ˜Vð%ó &ˆô —’ ! Ó(ˆÜ�VÕ&r#   c                 óö   • [         R                  " S/S/S//5      n[         R                  " S/S/S//5      n[         R                  " SS/SS/SS//5      n[         R                  " X45      n[        XC5        g )NrF   rC   r-   r.   rv  rw  s        r    Útest_2D_arraysÚTestColumnStack.test_2D_arrays  sw   € ä�HŠH�q�c˜A˜3  �_Ó%ˆÜ�HŠH�q�c˜A˜3  �_Ó%ˆÜ—8’8˜a ˜VØ ˜VØ ˜Vð%ó &ˆô —’ ! Ó(ˆÜ�VÕ&r#   c                 ó    • [         R                  " [        SS9   [        S [	        S5       5       5        S S S 5        g ! , (       d  f       g = f)Núarrays to stack must be©Úmatchc              3   óN   #   • U  H  n[         R                  " S 5      v •  M     g7f©r-   N©r   rx   ©Ú.0Ú_s     r    Ú	<genexpr>Ú1TestColumnStack.test_generator.<locals>.<genexpr>  s   é € Ð8ªx¨!œŸš 1Ÿ˜ªxùó   ‚#%rC   )r`  Úraisesrp  r   r8   rq  s    r    Útest_generatorÚTestColumnStack.test_generator  s0   € Ü�]Š]œ9Ð,EÓFÜÑ8¬u°Q¬xÓ8Ô8÷ G×FÖFúó	   š?¿
Ara   N)	rb   rc   rd   re   rr  rx  r{  r‹  rf   ra   r#   r    rm  rm  ó  s   † ò2ò'ò'õ9r#   rm  c                   ó8   • \ rS rSrS rS rS rS rS rS r	Sr
g	)
Ú
TestDstacki  c                 ó.   • [        [        [        S5        g ro  )r   rp  r   rq  s    r    rr  ÚTestDstack.test_non_iterable  s   € Ü”i¤¨Õ+r#   c                 ó¾   • [         R                  " S5      n[         R                  " S5      n[        X/5      n[         R                  " SS///5      n[        X45        g ©NrF   rC   ©r   rJ   r   r   ©r:   r   r  r   r>  s        r    Útest_0D_arrayÚTestDstack.test_0D_array  sE   € Ü�HŠH�Q‹KˆÜ�HŠH�Q‹KˆÜ�a�V‹nˆÜ—(’(˜a ˜V˜H˜:Ó&ˆÜ˜3Õ(r#   c                 óÂ   • [         R                  " S/5      n[         R                  " S/5      n[        X/5      n[         R                  " SS///5      n[        X45        g r“  r”  r•  s        r    Útest_1D_arrayÚTestDstack.test_1D_array  sI   € Ü�HŠH�a�S‹MˆÜ�HŠH�a�S‹MˆÜ�a�V‹nˆÜ—(’(˜a ˜V˜H˜:Ó&ˆÜ˜3Õ(r#   c                 óÖ   • [         R                  " S/S//5      n[         R                  " S/S//5      n[        X/5      n[         R                  " SS//SS///5      n[        X45        g r“  r”  r•  s        r    Útest_2D_arrayÚTestDstack.test_2D_array"  s`   € Ü�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                 óÌ   • [         R                  " SS/5      n[         R                  " SS/5      n[        X/5      n[         R                  " SS/SS///5      n[        X45        g r“  r”  r•  s        r    Útest_2D_array2ÚTestDstack.test_2D_array2)  sW   € Ü�HŠH�a˜�VÓˆÜ�HŠH�a˜�VÓˆÜ�a�V‹nˆÜ—(’(˜a ˜V a¨ VÐ,Ð-Ó.ˆÜ˜3Õ(r#   c                 ó    • [         R                  " [        SS9   [        S [	        S5       5       5        S S S 5        g ! , (       d  f       g = f)Nr~  r  c              3   óN   #   • U  H  n[         R                  " S 5      v •  M     g7fr‚  rƒ  r„  s     r    r‡  Ú,TestDstack.test_generator.<locals>.<genexpr>2  s   é € Ð2ª A”2—9’9˜Q—<�<ªùr‰  rC   )r`  rŠ  rp  r   r8   rq  s    r    r‹  ÚTestDstack.test_generator0  s0   € Ü�]Š]œ9Ð,EÓFÜÑ2¬¨q¬Ó2Ô2÷ G×FÖFúr�  ra   N)rb   rc   rd   re   rr  r–  r™  rœ  rŸ  r‹  rf   ra   r#   r    r�  r�    s    † ò,ò)ò)ò)ò)õ3r#   r�  c                   ó0   • \ rS rSrSrS rS rS rS rSr	g)	Ú
TestHspliti7  ú&Only testing for integer splits.

    c                 ó0   • [        [        [        SS5        g ro  )r   rI   r
   rq  s    r    rr  ÚTestHsplit.test_non_iterable;  ó   € Ü”j¤&¨!¨QÕ/r#   c                 ó€   • [         R                  " S5      n [        US5        [        S5        g ! [         a     g f = f)NrF   rC   r   )r   rJ   r
   r   rI   r�   s     r    r–  ÚTestHsplit.test_0D_array>  s6   € Ü�HŠH�Q‹Kˆð	Ü�1�aŒLÜ�A�JøÜó 	Ùð	ús   ˜0 °
=¼=c                 óÂ   • [         R                  " / SQ5      n[        US5      n[         R                  " SS/5      [         R                  " SS/5      /n[        X#5        g ©N©rF   rC   r-   r.   rC   rF   r-   r.   ©r   rJ   r
   r<  r=  s       r    r™  ÚTestHsplit.test_1D_arrayF  sG   € Ü�HŠH’\Ó"ˆÜ�Q˜‹lˆÜ—8’8˜Q ˜FÓ#¤R§X¢X¨q°!¨fÓ%5Ð6ˆÜ˜Õ%r#   c                 óÚ   • [         R                  " / SQ/ SQ/5      n[        US5      n[         R                  " SS/SS//5      [         R                  " SS/SS//5      /n[        X#5        g r®  r°  r=  s       r    rœ  ÚTestHsplit.test_2D_arrayL  sc   € Ü�HŠH’lÚð ó !ˆä�Q˜‹lˆÜ—8’8˜a ˜V a¨ VÐ,Ó-¬r¯xªx¸!¸Q¸À!ÀQÀÐ8HÓ/IÐJˆÜ˜Õ%r#   ra   N©
rb   rc   rd   re   Ú__doc__rr  r–  r™  rœ  rf   ra   r#   r    r¦  r¦  7  s   † ñò0òò&õ&r#   r¦  c                   ó0   • \ rS rSrSrS rS rS rS rSr	g)	Ú
TestVsplitiT  r§  c                 ó0   • [        [        [        SS5        g ro  )r   rI   r   rq  s    r    rr  ÚTestVsplit.test_non_iterableX  rª  r#   c                 ó\   • [         R                  " S5      n[        [        [        US5        g r“  )r   rJ   r   rI   r   r�   s     r    r–  ÚTestVsplit.test_0D_array[  ó   € Ü�HŠH�Q‹KˆÜ”j¤&¨!¨QÕ/r#   c                 ó„   • [         R                  " / SQ5      n [        US5        [        S5        g ! [         a     g f = f©Nr¯  rC   r   )r   rJ   r   r   rI   r�   s     r    r™  ÚTestVsplit.test_1D_array_  s7   € Ü�HŠH’\Ó"ˆð	Ü�1�aŒLÜ�A�JøÜó 	Ùð	ús   š2 ²
?¾?c                 óÎ   • [         R                  " / SQ/ SQ/5      n[        US5      n[         R                  " / SQ/5      [         R                  " / SQ/5      /n[        X#5        g ©Nr¯  rC   )r   rJ   r   r<  r=  s       r    rœ  ÚTestVsplit.test_2D_arrayg  sM   € Ü�HŠH’lÚð ó !ˆä�Q˜‹lˆÜ—8’8š\˜NÓ+¬R¯XªX²|°nÓ-EÐFˆÜ˜Õ%r#   ra   Nr´  ra   r#   r    r·  r·  T  s   † ñò0ò0òõ&r#   r·  c                   ó2   • \ rS rSrS rS rS rS rS rSr	g)	Ú
TestDsplitio  c                 ó0   • [        [        [        SS5        g ro  )r   rI   r   rq  s    r    rr  ÚTestDsplit.test_non_iterableq  rª  r#   c                 ó\   • [         R                  " S5      n[        [        [        US5        g r“  ©r   rJ   r   rI   r   r�   s     r    r–  ÚTestDsplit.test_0D_arrayt  r¼  r#   c                 ó`   • [         R                  " / SQ5      n[        [        [        US5        g rÁ  rÈ  r�   s     r    r™  ÚTestDsplit.test_1D_arrayx  s   € Ü�HŠH’\Ó"ˆÜ”j¤&¨!¨QÕ/r#   c                 óŒ   • [         R                  " / SQ/ SQ/5      n [        US5        [        S5        g ! [         a     g f = fr¾  )r   rJ   r   r   rI   r�   s     r    rœ  ÚTestDsplit.test_2D_array|  sA   € Ü�HŠH’lÚð ó !ˆð	Ü�1�aŒLÜ�A�JøÜó 	Ùð	ús   ž6 ¶
AÁAc                 ó
  • [         R                  " / SQ/ SQ// SQ/ SQ//5      n[        US5      n[         R                  " SS/SS//SS/SS///5      [         R                  " SS/SS//SS/SS///5      /n[        X#5        g r®  )r   rJ   r   r<  r=  s       r    Útest_3D_arrayÚ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ˆä˜Õ%r#   ra   N)
rb   rc   rd   re   rr  r–  r™  rœ  rÏ  rf   ra   r#   r    rÄ  rÄ  o  s   † ò0ò0ò0òõ&r#   rÄ  c                   ó   • \ rS rSrS rSrg)ÚTestSqueezei�  c                 óT  • SSK Jn  U" SSSSS5      nU" SSSSS5      nU" SSSS5      n[        [        R                  " U5      [        R
                  " US5      5        [        [        R                  " U5      [        R
                  " US5      5        [        [        R                  " U5      [        R
                  " US5      5        S	///n[        R                  " U5      n[        US	5        [        UR                  S5        [        [        U5      [        R                  5        g )
Nr   r+   rm   rB   rF   )rm   rB   rB   )rm   rB   rm   r‰   g      ø?)
r0   r,   r   r   rË   ry   r   r9   rÛ   r­   )r:   r,   r   r  Úcr   s         r    Ú
test_basicÚ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#   ra   N©rb   rc   rd   re   rÕ  rf   ra   r#   r    rÒ  rÒ  �  s   † õ,r#   rÒ  c                   óÞ   • \ rS rSrS rS r\R                  R                  S\	R                  \	R                  /5      S 5       rS r\R                  R                  S/ SQ5      S	 5       rS
rg)ÚTestKroni£  c                 óø  • [         R                  " S5      n[         R                  " SS/SS//5      n[         R                  " SS/SS//5      n[        [         R                  " X5      U5        [         R                  " SS/SS//5      n[         R                  " S5      n[        [         R                  " X5      U5        [         R                  " S/5      n[         R                  " SS/SS//5      n[         R                  " SS/SS//5      n[        [         R                  " X5      U5        [         R                  " SS/SS//5      n[         R                  " S/5      n[        [         R                  " X5      U5        [         R                  " S//S///5      n[         R                  " SS/SS//5      n[         R                  " SS/SS//SS/SS///5      n[        [         R                  " X5      U5        [         R                  " SS/SS//5      n[         R                  " S//S///5      n[         R                  " SS/SS//SS/SS///5      n[        [         R                  " X5      U5        g )	NrF   rC   r-   r.   r¬   r;  r]  r:  )r   rJ   r   r   )r:   r   r  Úks       r    rÕ  ÚTestKron.test_basic¤  s  € ä�HŠH�Q‹KˆÜ�HŠH�q˜!�f˜q !˜fÐ%Ó&ˆÜ�HŠH�q˜!�f˜q !˜fÐ%Ó&ˆÜœ2Ÿ7š7 1›=¨!Ô,Ü�HŠH�q˜!�f˜q !˜fÐ%Ó&ˆÜ�HŠH�Q‹KˆÜœ2Ÿ7š7 1›=¨!Ô,ô �HŠH�a�S‹MˆÜ�HŠH�q˜!�f˜q !˜fÐ%Ó&ˆÜ�HŠH�q˜!�f˜q "˜gÐ&Ó'ˆÜœ2Ÿ7š7 1›=¨!Ô,Ü�HŠH�q˜!�f˜q !˜fÐ%Ó&ˆÜ�HŠH�a�S‹MˆÜœ2Ÿ7š7 1›=¨!Ô,ô �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›=¨!Ô,Ü�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›=¨!Õ,r#   c                 óÂ  •  " S S[         R                  5      n[         R                  " SS/5      nU" UR                  UR                  UR
                  5      n[        [        [        X"5      5      [         R                  5        [        [        [        X35      5      U5        [        [        [        X#5      5      U5        [        [        [        X25      5      U5        g )Nc                   ó   • \ rS rSrSrSrg)Ú*TestKron.test_return_type.<locals>.myarrayiÂ  g      ð?ra   N)rb   rc   rd   re   Ú__array_priority__rf   ra   r#   r    Úmyarrayrß  Â  s   † Ø!$Ór#   rá  rC   )	r   r­   rG   rU   rE   r¹   r   rÛ   r   )r:   rá  r   rê   s       r    Útest_return_typeÚ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›,Ó'¨Ô1Ü”Tœ$˜q›+Ó&¨Ô0Ü”Tœ$˜r›+Ó&¨Õ0r#   Úarray_classc                 óø   • U" [         R                  " SS/5      5      nU" [         R                  " SS/5      5      nU" [         R                  " SS/5      5      n[        [         R                  " X#5      U5        g )Nr-   r;  )r   rG   r   r   )r:   rä  r   r  rÛ  s        r    Útest_kron_smokeÚTestKron.test_kron_smokeÌ  sX   € ñ œŸš  A ›Ó(ˆÙœŸš  A ›Ó(ˆÙœŸš  A ›Ó(ˆäœ2Ÿ7š7 1›=¨!Õ,r#   c                 óX  • [         R                  R                  SS/SS//SS/SS//S9n[         R                  R                  [         R                  " / SQ5      [         R                  " [         R                  " S5      [
        S9) S9n[        U[         R                  " X5      5        g )	NrF   rC   r-   r.   r   r.  )rF   r.   r.   é   rD   )r   rê   rJ   ÚdiagÚidentityrM   r   r   )r:   rÍ   rÛ  s      r    Útest_kron_maÚ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*  )ru  )r.   r/   r¬   )©rC   rC   r|   ))rF   r   r*  )©rC   r   rC   rî  ))rC   r   r   rC   rï  c                 óª  • [         R                  " U5      n[         R                  " U5      nS[        S[        U5      [        U5      -
  5      -  U-   nS[        S[        U5      [        U5      -
  5      -  U-   n[         R                  " XV5      n[         R
                  " X45      n[         R                  " UR                  U5      (       d   S5       eg )N)rF   r   zUnexpected shape from kron)r   rG   r5   rŒ   Úmultiplyr   Úarray_equalrU   )	r:   Úshape_aÚshape_br   r  Únormalised_shape_aÚnormalised_shape_bÚexpected_shaperÛ  s	            r    Útest_kron_shapeÚTestKron.test_kron_shapeÝ  s²   € ô �GŠG�GÓˆÜ�GŠG�GÓˆØ!¤C¨¬3¨w«<¼#¸g»,Ñ+FÓ$GÑGÈ'ÑQÐØ!¤C¨¬3¨w«<¼#¸g»,Ñ+FÓ$GÑGÈ'ÑQÐÜŸšÐ%7ÓLˆä�GŠG�A‹MˆÜ�~Š~Ø—‘˜÷)ñ )ð 	GØ*Fó	Gñ )r#   ra   N)rb   rc   rd   re   rÕ  râ  r`  ra  Úparametrizer   ÚasarrayÚasmatrixræ  rì  rø  rf   ra   r#   r    rÙ  rÙ  £  ss   † ò-ò:	1ð ‡[�[×ÑØ˜Ÿ
™
 B§K¡KÐ0óñ-óð-ò-ð ‡[�[×ÑØò 
óñ	Góó	Gr#   rÙ  c                   ó,   • \ rS rSrS rS rS rS rSrg)ÚTestTileiò  c                 óž  • [         R                  " / SQ5      nSS/SS//n[        [        US5      / SQ5        [        [        US5      / SQ/ SQ/5        [        [        US5      / SQ/5        [        [        US5      / S	Q/ S
Q/5        [        [        US5      SS/SS/SS/SS//5        [        [        US5      / S	Q/ S
Q/ S	Q/ S
Q/5        g )Nr   rF   rC   r-   r.   )r   rF   rC   r   rF   rC   rî  ©rF   rC   )rF   rC   rF   rC   )r-   r.   r-   r.   ©rC   rF   )r   rJ   r   r   ©r:   r   r  s      r    rÕ  Ú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                 ó’   • [         R                  " S5      n[        US5      nUS-  n[        U[         R                  " S5      5        g )Nr/   rF   rC   )r   rx   r   r   r  s      r    Ú(test_tile_one_repetition_on_array_gh4679Ú1TestTile.test_tile_one_repetition_on_array_gh4679þ  s5   € Ü�IŠI�a‹LˆÜ��A‹JˆØ	ˆQ‰ˆÜ�QœŸ	š	 !›Õ%r#   c                 óì   • [         R                  " / //5      n[         R                  " / / /5      n[        US5      R                  n[        US5      R                  n[	        US5        [	        US5        g )NrC   r^   )rC   r   )r-   rC   r   )r   rJ   r   rU   r   )r:   r   r  rÔ  rŠ   s        r    rX   ÚTestTile.test_empty  s]   € Ü�HŠH�r�d�VÓˆÜ�HŠH�b˜"�XÓˆÜ��A‹J×ÑˆÜ��IÓ×$Ñ$ˆÜ�Q˜ÔÜ�Q˜	Õ"r#   c                 óÖ   • SSK Jn  / SQn/ SQnU HU  nU" SSUS9nU HD  n[        R                  " XeR                  5      n[        XV5      n[        Xu5      n	[        X‰5        MF     MW     g )Nr   )Úrandint))rC   r   r  rî  )rC   r-   rC   )r-   rC   ))r-   )rC   r-   )r-   r.   r-   )r-   rC   r-   )r.   r-   rC   r.   rî  rB   )Úsize)r0   r
  r   rG   rE   r   r   r   )
r:   r
  ÚrepsrU   r  r  Úrr   ÚlargeÚklarges
             r    Útest_kroncompareÚTestTile.test_kroncompare  s]   € Ý(â@ˆÚJˆÛˆAÙ˜˜2 AÑ&ˆAÛ�Ü—G’G˜AŸw™wÓ'�Ü˜Q›
�Ü˜a›�Ü˜UÖ+ó	 ò r#   ra   N)	rb   rc   rd   re   rÕ  r  rX   r  rf   ra   r#   r    rþ  rþ  ò  s   † ò	Dò&ò#õ,r#   rþ  c                   ó   • \ rS rSrS rSrg)ÚTestMayShareMemoryi  c           
      óÞ  • [         R                  " S5      n[         R                  " S5      n[        [         R                  " X5      5        [        [         R                  " XS S S2   5      5        [        [         R                  " XS S S2   5      5        [        [         R                  " XSS 2S S S24   5      5        [        [         R                  " US S S2   U5      (       + 5        [        [         R                  " US S S2   U5      (       + 5        [        [         R                  " USS 2S S S24   U5      (       + 5        [        [         R                  " USS 2S S S24   U5      5        g )N)rp   ro   )rl   ro   r¬   rÕ   rC   rF   )r   rG   r   Úmay_share_memory)r:   rŠ   Úd2s      r    rÕ  ÚTestMayShareMemory.test_basic  s  € Ü�GŠG�HÓˆÜ�WŠW�[Ó!ˆÜ”×#Ò# AÓ)Ô*Ü”×#Ò# A©¨2¨¡wÓ/Ô0Ü”×#Ò# A©¨1¨¡vÓ.Ô/Ü”×#Ò# A¨©©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#   ra   Nr×  ra   r#   r    r  r    s   † õ7r#   r  c                 ó@   • [        XSS9 H  u  p#[        X#5        M     g)zCompare lists of arrays.F)ÚstrictN)Úzipr   )r   r>  rÍ   Úys       r    r<  r<  *  s   € ä�C¨Ô/‰ˆÜ˜1Ö ò 0r#   ).r$   Úsysr`  Únumpyr   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   Únumpy.exceptionsr   Únumpy.testingr   r   r   r   Úmaxsizerc  r&   r(   rh   r†   r  r  r4  re  rm  r�  r¦  r·  rÄ  rÒ  rÙ  rþ  r  r<  ra   r#   r    Ú<module>r!     sû   ðÛ Û 
ã ã ÷÷ ÷ ÷ õ  'ß RÓ Rà�;‰;˜Ñ€ò÷3.ñ 3.÷l'8ñ '8÷T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#   