§
    ƒÛgÅÕ  ã                   ó   — d dl mZ d dlmZ d dlZd dlZd dlmZm	Z	 d dl
mZmZmZmZ d dlmZ d dlmZ d dlmZmZ d d	lmZmZmZmZ  e	¦   «         Zd
e_         e	¦   «         Zd
e_        d„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0d„ Z1d„ Z2d„ Z3d „ Z4d!„ Z5d"„ Z6d#„ Z7ed0d$„¦   «         Z8d%„ Z9d&„ Z:d1d(„Z;d)„ Z<d*„ Z=d+„ Z>d,„ Z? G d-„ d.ee¦  «        Z@eAd/k    r ejB        ¦   «          dS dS )2é    )Úpartial)ÚpermutationsN)Úcompile_isolatedÚFlags)ÚjitÚnjitÚ
from_dtypeÚtypeof)Únumpy_version)ÚTypingError)ÚtypesÚerrors)ÚTestCaseÚMemoryLeakMixinÚCompilationCacheÚtagTc                 ó   ‡ — ˆ fd„}|S )aP  Decorator for generic check functions.
        Iterates over 'pyfuncs_to_use', calling 'func' with the iterated
        item as first argument. Example:

        @from_generic(numpy_array_reshape, array_reshape)
        def check_only_shape(pyfunc, arr, shape, expected_shape):
            # Only check Numba result to avoid Numpy bugs
            self.memory_leak_setup()
            got = generic_run(pyfunc, arr, shape)
            self.assertEqual(got.shape, expected_shape)
            self.assertEqual(got.size, arr.size)
            del got
            self.memory_leak_teardown()
    c                 ó   •‡ — ˆ ˆfd„}|S )Nc                  ó(   •‡ ‡— ˆ ˆˆfd„‰D ¦   «         S )Nc                 ó(   •— g | ]} ‰|g‰¢R i ‰¤Ž‘ŒS © r   )Ú.0ÚpyfuncÚargsÚfuncÚkwargss     €€€úY/granary/edev/quantum/lib/python3.11/site-packages/numba/tests/test_array_manipulation.pyú
<listcomp>zCfrom_generic.<locals>.decorator.<locals>.result.<locals>.<listcomp>'   s3   ø€ ÐOÐOÐO°f�D�D˜Ð1 $Ð1Ð1Ð1¨&Ð1Ð1ÐOÐOÐOó    r   )r   r   r   Úpyfuncs_to_uses   ``€€r   Úresultz/from_generic.<locals>.decorator.<locals>.result&   s%   øøø€ ØOÐOÐOÐOÐOÐOÀÐOÑOÔOÐOr   r   )r   r!   r    s   ` €r   Ú	decoratorzfrom_generic.<locals>.decorator%   s-   øø€ ð	Pð 	Pð 	Pð 	Pð 	Pð 	Pàˆr   r   )r    r"   s   ` r   Úfrom_genericr#      s$   ø€ ðð ð ð ð ð Ðr   c                 ó,   — |                       |¦  «        S ©N)Úreshape©ÚarrÚnewshapes     r   Úarray_reshaper*   ,   s   € Ø�;Š;�xÑ Ô Ð r   c                 ó,   — t          j        | |¦  «        S r%   )Únpr&   r'   s     r   Únumpy_array_reshaper-   0   s   € ÝŒ:�c˜8Ñ$Ô$Ð$r   c                 ó,   — t          j        | |¦  «        S r%   ©r,   Úbroadcast_to)r(   Úshapes     r   Únumpy_broadcast_tor2   4   s   € ÝŒ?˜3 Ñ&Ô&Ð&r   c                  ó   — t          j        | Ž S r%   )r,   Úbroadcast_shapes©r   s    r   Únumpy_broadcast_shapesr6   8   ó   € ÝÔ Ð%Ð%r   c                  ó   — t          j        | Ž S r%   )r,   Úbroadcast_arraysr5   s    r   Únumpy_broadcast_arraysr:   <   r7   r   c                 ó8   — t          j        | |¦  «        |         S r%   r/   )r(   r1   Úidxs      r   Únumpy_broadcast_to_indexingr=   @   s   € ÝŒ?˜3 Ñ&Ô& sÔ+Ð+r   c                 ó*   — |                       ¦   «         S r%   )Úflatten©Úas    r   Úflatten_arrayrB   D   ó   € Ø�9Š9‰;Œ;Ðr   c                 ó*   — |                       ¦   «         S r%   ©Úravelr@   s    r   Úravel_arrayrG   H   s   € Ø�7Š7‰9Œ9Ðr   c                 ó4   — |                       ¦   «         j        S r%   )rF   Úsizer@   s    r   Úravel_array_sizerJ   L   s   € Ø�7Š7‰9Œ9Œ>Ðr   c                 ó*   — t          j        | ¦  «        S r%   )r,   rF   r@   s    r   Únumpy_ravel_arrayrL   P   s   € ÝŒ8�A‰;Œ;Ðr   c                 ó*   — |                       ¦   «         S r%   ©Ú	transposer@   s    r   Útranspose_arrayrP   T   s   € Ø�;Š;‰=Œ=Ðr   c                 ó*   — t          j        | ¦  «        S r%   ©r,   rO   r@   s    r   Únumpy_transpose_arrayrS   X   s   € ÝŒ<˜‰?Œ?Ðr   c                 ó.   — t          j        | |¬¦  «        S ©N)ÚaxesrR   ©r(   rV   s     r   Ú numpy_transpose_array_axes_kwargrX   [   s   € ÝŒ<˜ $Ð'Ñ'Ô'Ð'r   c                 óR   — t          j        | |¬¦  «                             ¦   «         S rU   )r,   rO   ÚcopyrW   s     r   Ú%numpy_transpose_array_axes_kwarg_copyr[   _   s#   € ÝŒ<˜ $Ð'Ñ'Ô'×,Ò,Ñ.Ô.Ð.r   c                 ó,   — |                       |¦  «        S r%   rN   rW   s     r   Úarray_transpose_axesr]   c   s   € Ø�=Š=˜ÑÔÐr   c                 óP   — |                       |¦  «                             ¦   «         S r%   )rO   rZ   rW   s     r   Úarray_transpose_axes_copyr_   g   s    € Ø�=Š=˜ÑÔ×#Ò#Ñ%Ô%Ð%r   c                 ó  — t          j        t          j        | |z  dz  ¦  «        | d|f¦  «        }t          j        t          j        |dz  ¦  «        |df¦  «        }||j        z
  j        }t          j        |d¦  «        }|dz   }|S )Né   )é   r   é   rc   )r,   r&   ÚarangeÚTrO   )ÚmÚnÚr1Úr2Úr_difÚzs         r   Útranspose_issue_4708rl   k   sz   € Ý	Œ•B”I˜a !™e a™iÑ(Ô(¨1¨a°¨)Ñ	4Ô	4€BÝ	Œ•B”I˜a !™eÑ$Ô$ q¨! fÑ	-Ô	-€BØ�"”$‰YŒM€EÝŒL˜ 	Ñ*Ô*€EØ�‰	€AØ€Hr   c                 ó*   — |                       ¦   «         S r%   )Úsqueezer@   s    r   Úsqueeze_arrayro   t   rC   r   c                 ó,   — t          j        | |¦  «        S r%   )r,   Úexpand_dims)rA   Úaxiss     r   rq   rq   x   s   € ÝŒ>˜!˜TÑ"Ô"Ð"r   c                  ó   — t          j        | Ž S r%   )r,   Ú
atleast_1dr5   s    r   rt   rt   |   ó   € ÝŒ=˜$ÐÐr   c                  ó   — t          j        | Ž S r%   )r,   Ú
atleast_2dr5   s    r   rw   rw   €   ru   r   c                  ó   — t          j        | Ž S r%   )r,   Ú
atleast_3dr5   s    r   ry   ry   „   ru   r   c                 ó�   — | j         d         dz  f| j         dd …         z   }t          j        j                             | |¬¦  «        S )Nr   rb   rc   )Ústrides)r{   r,   ÚlibÚstride_tricksÚ
as_strided)rA   r{   s     r   Úas_strided1r   ˆ   sB   € àŒy˜Œ|˜qÑ Ð" Q¤Y¨q¨r¨r¤]Ñ2€GÝŒ6Ô×*Ò*¨1°gÐ*Ñ>Ô>Ð>r   c                 óÊ   — d}| j         d d…         | j         d         |z
  dz   |fz   }| j        | j        d         fz   }t          j        j                             | ||¬¦  «        S )Nra   éÿÿÿÿrc   )r1   r{   )r1   r{   r,   r|   r}   r~   )rA   Úwindowr1   r{   s       r   Úas_strided2rƒ   Ž   se   € à€FØŒG�C�R�CŒL˜AœG BœK¨&Ñ0°1Ñ4°fÐ=Ñ=€EØŒi˜1œ9 Rœ=Ð*Ñ*€GÝŒ6Ô×*Ò*¨1°EÀ7Ð*ÑKÔKÐKr   c                 óP   — t           j        j                             | ||¬¦  «        S )N)rr   )r,   r|   r}   Úsliding_window_view)ÚxÚwindow_shaperr   s      r   r…   r…   –   s"   € åŒ6Ô×3Ò3°A°|È$Ð3ÑOÔOÐOr   c                 ó2   — | j         f}| j        }d|||f<   d S )Nç      ð?)r†   Úy)r(   Úarr2dr†   rŠ   s       r   Ú	bad_indexrŒ   ›   s#   € ØŒˆ€AØŒ€Aà€Eˆ!ˆQˆ$�K€K€Kr   c                 ó   — | d         S )N)rc   g       @r   ©r(   s    r   Úbad_float_indexr�   ¢   s   € ð ˆvŒ;Ðr   Fc                 ó.   — t          j        | ||¦  «        S r%   )r,   Úfill_diagonal)r(   ÚvalÚwraps      r   Únumpy_fill_diagonalr”   ¨   s   € ÝÔ˜C  dÑ+Ô+Ð+r   c                 ó*   — t          j        | ¦  «        S r%   )r,   r1   rŽ   s    r   Únumpy_shaper–   ¬   s   € ÝŒ8�C‰=Œ=Ðr   c                 ó*   — t          j        | ¦  «        S r%   )r,   Úflatnonzeror@   s    r   Únumpy_flatnonzeror™   °   s   € ÝŒ>˜!ÑÔÐr   c                 ó*   — t          j        | ¦  «        S r%   )r,   Úargwherer@   s    r   Únumpy_argwhererœ   ´   s   € ÝŒ;�q‰>Œ>Ðr   c                 ó,   — t          j        | |¦  «        S r%   )r,   Úresize)rA   Ú	new_shapes     r   Únumpy_resizer    ·   s   € ÝŒ9�Q˜	Ñ"Ô"Ð"r   c                   óª  ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zedfd„Zd„ Zefd„Zefd„Zd„ Zd„ Zefd„Zd„ Zefd„Zd„ Zd„ Zd„ Zd„ Z d„ Z!d „ Z"d!„ Z#d"„ Z$d#„ Z%d$„ Z&d%„ Z'd&„ Z(d'„ Z)d(„ Z*d)„ Z+d*„ Z,d+„ Z-d,„ Z.d-„ Z/d.„ Z0e1d/„ ¦   «         Z2d0„ Z3d1„ Z4d2„ Z5d3„ Z6d4„ Z7d5„ Z8d6„ Z9d7„ Z:d8„ Z;d9„ Z<d:„ Z=d;„ Z>d<„ Z?d=„ Z@d>„ ZAˆ xZBS )?ÚTestArrayManipulationz4
    Check shape-changing operations on arrays.
    c                 ó|   •— t          t          | ¦  «                             ¦   «          t          ¦   «         | _        d S r%   )Úsuperr¢   ÚsetUpr   Úccache)ÚselfÚ	__class__s    €r   r¥   zTestArrayManipulation.setUpÀ   s1   ø€ ÝÕ# TÑ*Ô*×0Ò0Ñ2Ô2Ð2Ý&Ñ(Ô(ˆŒˆˆr   c                 ó,  ‡ ‡‡‡‡	— t           t          g}d„ Š	t          |¦  «        ˆ	ˆ fd„¦   «         Št          |¦  «        ˆ	ˆ fd„¦   «         Št          |¦  «        ˆ	ˆ fd„¦   «         }t          |¦  «        ˆ	ˆ fd„¦   «         Št          |¦  «        ˆ	ˆ fd„¦   «         }t          j        d¦  «        } ‰|d¦  «          ‰|d	¦  «          ‰|d
¦  «          ‰|d¦  «          ‰|d¦  «         t          j        d¦  «                             d¦  «        } ‰|d¦  «          ‰|d	¦  «          ‰|d
¦  «          ‰|d¦  «          ‰|d¦  «          ‰|d¦  «          ‰|d¦  «          ‰|d¦  «         t          j        d¦  «                             d¦  «        } ‰|d¦  «          ‰|d	¦  «          ‰|d
¦  «          ‰|d¦  «         t          j        d¦  «                             d¦  «        j        } ‰|d¦  «          ‰|d¦  «          ||d¦  «          ||d¦  «          ||d¦  «         t          j        d¦  «                             dd¦  «        } ‰|d¦  «          ‰|d¦  «          ‰|d¦  «          ‰|d¦  «          ‰|d¦  «          ‰|d¦  «          ||d¦  «          ||d¦  «         ˆˆˆfd„}t          j        g ¦  «        } ||¦  «          ||                     d ¦  «        ¦  «         ‰                      ¦   «          d S )!Nc                 ó†   — t          | t          |¦  «        t          |¦  «        f¦  «        }|                     ||¦  «        S r%   )r   r
   Úentry_point)r   r(   r1   Úcress       r   Úgeneric_runz=TestArrayManipulation.test_array_reshape.<locals>.generic_runÇ   s8   € Ý# F­V°C©[¬[½&À¹-¼-Ð,HÑIÔIˆDØ×#Ò# C¨Ñ/Ô/Ð/r   c                 ó¸   •—  | ||¦  «        }‰                      ¦   «           ‰| ||¦  «        }‰                     ||¦  «         ~‰                     ¦   «          d S r%   ©Úmemory_leak_setupÚassertPreciseEqualÚmemory_leak_teardown)r   r(   r1   ÚexpectedÚgotr­   r§   s        €€r   Úcheckz7TestArrayManipulation.test_array_reshape.<locals>.checkË   sj   ø€ à�v˜c 5Ñ)Ô)ˆHØ×"Ò"Ñ$Ô$Ð$Ø�+˜f c¨5Ñ1Ô1ˆCØ×#Ò# C¨Ñ2Ô2Ð2ØØ×%Ò%Ñ'Ô'Ð'Ð'Ð'r   c                 óê   •— ‰                      ¦   «           ‰| ||¦  «        }‰                     |j        |¦  «         ‰                     |j        |j        ¦  «         ~‰                     ¦   «          d S r%   )r°   ÚassertEqualr1   rI   r²   )r   r(   r1   Úexpected_shaper´   r­   r§   s        €€r   Úcheck_only_shapezBTestArrayManipulation.test_array_reshape.<locals>.check_only_shapeÔ   sw   ø€ ð ×"Ò"Ñ$Ô$Ð$Ø�+˜f c¨5Ñ1Ô1ˆCØ×Ò˜SœY¨Ñ7Ô7Ð7Ø×Ò˜SœX s¤xÑ0Ô0Ð0ØØ×%Ò%Ñ'Ô'Ð'Ð'Ð'r   c                 óÖ   •— ‰                      t          ¦  «        5 } ‰| ||¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                     t          |j        ¦  «        d¦  «         d S )Nzincompatible shape for array)ÚassertRaisesÚNotImplementedErrorr·   ÚstrÚ	exception©r   r(   r1   Úraisesr­   r§   s       €€r   Úcheck_err_shapezATestArrayManipulation.test_array_reshape.<locals>.check_err_shapeÞ   s°   ø€ à×"Ò"Õ#6Ñ7Ô7ð 0¸6Ø�˜F C¨Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0à×Ò�S Ô!1Ñ2Ô2Ø;ñ=ô =ð =ð =ð =ó   œ6¶:½:c                 óÖ   •— ‰                      t          ¦  «        5 } ‰| ||¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                     t          |j        ¦  «        d¦  «         d S )Nz)total size of new array must be unchanged©r»   Ú
ValueErrorr·   r½   r¾   r¿   s       €€r   Úcheck_err_sizez@TestArrayManipulation.test_array_reshape.<locals>.check_err_sizeå   s´   ø€ à×"Ò"¥:Ñ.Ô.ð 0°&Ø�˜F C¨Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0à×Ò�S Ô!1Ñ2Ô2ØHñJô Jð Jð Jð JrÂ   c                 óÖ   •— ‰                      t          ¦  «        5 } ‰| ||¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                     t          |j        ¦  «        d¦  «         d S )Nzmultiple negative shape valuesrÄ   r¿   s       €€r   Úcheck_err_multiple_negativezMTestArrayManipulation.test_array_reshape.<locals>.check_err_multiple_negativeì   s¯   ø€ à×"Ò"¥:Ñ.Ô.ð 0°&Ø�˜F C¨Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0à×Ò�S Ô!1Ñ2Ô2Ø=ñ?ô ?ð ?ð ?ð ?rÂ   é   )rÉ   )é   é   )é   ra   )rÌ   rc   ra   )rc   rÌ   rc   rc   ra   rc   ©rb   ra   rÊ   r   )é   )rÌ   rÊ   )rÊ   ra   rb   )rc   rÊ   rc   ra   rc   rb   rc   ©rË   rÊ   )rb   é   rÎ   é   r�   ©r�   )r�   rÑ   )rÑ   r�   rÑ   )rÑ   rÑ   r�   )r�   rÊ   )r�   éþÿÿÿrÑ   rÑ   )rÑ   rÑ   r�   r�   c                 ó2  •—  ‰| d¦  «          ‰| d¦  «          ‰| d¦  «          ‰| d¦  «          ‰| dd¦  «          ‰| dd¦  «          ‰| dd¦  «          ‰| d	d
¦  «          ‰| dd¦  «          ‰| d¦  «          ‰| d¦  «          ‰| d¦  «         d S )Nr   ©r   )rc   r   rb   )r   é7   rc   r   rb   r�   rÒ   ©r   r�   ©r   r   )rÊ   r�   )rÊ   r   )r�   r   rÊ   )r   r   rÊ   r   rc   ©rc   rb   r   )r(   rµ   rÆ   r¹   s    €€€r   Úcheck_emptyz=TestArrayManipulation.test_array_reshape.<locals>.check_empty  sî   ø€ ØˆE�#�q‰MŒMˆMØˆE�#�tÑÔÐØˆE�#�yÑ!Ô!Ð!ØˆE�#Ð'Ñ(Ô(Ð(àÐ˜S " dÑ+Ô+Ð+ØÐ˜S %¨Ñ.Ô.Ð.ØÐ˜S '¨6Ñ2Ô2Ð2ØÐ˜S '¨6Ñ2Ô2Ð2ØÐ˜S *¨iÑ8Ô8Ð8ØˆN˜3 Ñ#Ô#Ð#ØˆN˜3 Ñ"Ô"Ð"ØˆN˜3 Ñ'Ô'Ð'Ð'Ð'r   )ra   rb   r   )	r*   r-   r#   r,   rd   r&   re   ÚarrayÚdisable_leak_check)
r§   r    rÁ   rÈ   r(   rÚ   rµ   rÆ   r¹   r­   s
   `     @@@@r   Útest_array_reshapez(TestArrayManipulation.test_array_reshapeÄ   sA  øøøøø€ Ý'Õ)<Ð=ˆð	0ð 	0ð 	0õ 
�nÑ	%Ô	%ð	(ð 	(ð 	(ð 	(ð 	(ñ 
&Ô	%ð	(õ 
�nÑ	%Ô	%ð	(ð 	(ð 	(ð 	(ð 	(ñ 
&Ô	%ð	(õ 
�nÑ	%Ô	%ð	=ð 	=ð 	=ð 	=ð 	=ñ 
&Ô	%ð	=õ 
�nÑ	%Ô	%ð	Jð 	Jð 	Jð 	Jð 	Jñ 
&Ô	%ð	Jõ 
�nÑ	%Ô	%ð	?ð 	?ð 	?ð 	?ð 	?ñ 
&Ô	%ð	?õ Œi˜‰mŒmˆØˆˆc�5ÑÔÐØˆˆc�6ÑÔÐØˆˆc�6ÑÔÐØˆˆc�9ÑÔÐØˆˆcÐ%Ñ&Ô&Ð&ÝŒi˜‰mŒm×#Ò# IÑ.Ô.ˆØˆˆc�5ÑÔÐØˆˆc�6ÑÔÐØˆˆc�6ÑÔÐØˆˆc�9ÑÔÐØˆˆcÐ%Ñ&Ô&Ð&Øˆ�s˜BÑÔÐØˆ�s˜EÑ"Ô"Ð"Øˆ�s˜FÑ#Ô#Ð#ÝŒi˜‰mŒm×#Ò#Ð$6Ñ7Ô7ˆØˆˆc�5ÑÔÐØˆˆc�6ÑÔÐØˆˆc�6ÑÔÐØˆˆc�9ÑÔÐõ Œi˜‰mŒm×#Ò# IÑ.Ô.Ô0ˆØˆˆc�9ÑÔÐØˆˆcÐ(Ñ)Ô)Ð)Øˆ˜˜YÑ'Ô'Ð'Øˆ˜˜VÑ$Ô$Ð$Øˆ˜˜WÑ%Ô%Ð%õ Œi˜‰mŒm×#Ò# A aÑ(Ô(ˆØˆˆc�2‰ŒˆØˆˆc�5ÑÔÐØˆˆc�7ÑÔÐØˆˆc�:ÑÔÐØˆˆc�:ÑÔÐØˆ�s˜GÑ$Ô$Ð$Ø#Ð# C¨Ñ8Ô8Ð8Ø#Ð# C¨Ñ8Ô8Ð8ð	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(õ Œh�r‰lŒlˆØˆ�CÑÔÐØˆ�C—K’K 	Ñ*Ô*Ñ+Ô+Ð+ð 	×ÒÑ!Ô!Ð!Ð!Ð!r   c           	      ó2  ‡ ‡‡— t           t          t          t          g}ˆ fd„Št	          |¦  «        ˆˆ fd„¦   «         }t	          |¦  «        ˆˆ fd„¦   «         }t	          |¦  «        ˆˆ fd„¦   «         }t	          |¦  «        ˆˆ fd„¦   «         }t          j        d¦  «        t          j        d¦  «                             dd¦  «        t          j        d¦  «                             d	d
d¦  «        t          j        d¦  «                             dd	d
d¦  «        t          j        d¦  «                             ddd	¦  «        d d d
…d d d	…d d …f         g}t          t          |¦  «        ¦  «        D ]™} |||         d ¦  «         t          t          t          ||         j        ¦  «        ¦  «        ¦  «        D ]P}t          |¦  «        Št          ˆfd„|D ¦   «         ¦  «        }	 |||         |¦  «          |||         |	¦  «         ŒQŒšt	          t          g¦  «        d„ ¦   «         }
 |
d
d	¦  «          |
d	d
¦  «          |
dd¦  «         ‰                      ¦   «           ||d         d¦  «          ||d         d¦  «          ||d         d¦  «          ||d	         d¦  «          ||d         d¦  «          ||d	         d¦  «          ||d
         d¦  «          ||d         d¦  «          ||d         d¦  «          ||d         d¦  «          ||d         d¦  «          ||d         d¦  «          ||d	         d¦  «          ||d	         d¦  «          ||d
         d ¦  «          ||d
         d!¦  «         ‰                      t           ¦  «        5 }  t#          d"¬#¦  «        t$          ¦  «        t          j        ddg¦  «        f¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                      d$t+          |j        ¦  «        ¦  «         d S )%Nc                 óž   •— ‰j                              | t          |¦  «        t          |¦  «        f¦  «        }|                     ||¦  «        S r%   ©r¦   Úcompiler
   r«   )r   r(   rV   r¬   r§   s       €r   Úrunz<TestArrayManipulation.test_array_transpose_axes.<locals>.run:  óA   ø€ Ø”;×&Ò& vµ°s±´½VÀD¹\¼\Ð/JÑKÔKˆDØ×#Ò# C¨Ñ.Ô.Ð.r   c                 ó  •—  | ||¦  «        } ‰| ||¦  «        }‰                      ||¦  «         ‰                     |j        j        |j        j        ¦  «         ‰                     |j        j        |j        j        ¦  «         d S r%   )r±   r·   ÚflagsÚf_contiguousÚc_contiguous)r   r(   rV   r³   r´   râ   r§   s        €€r   rµ   z>TestArrayManipulation.test_array_transpose_axes.<locals>.check>  s•   ø€ à�v˜c 4Ñ(Ô(ˆHØ�#�f˜c 4Ñ(Ô(ˆCØ×#Ò# C¨Ñ2Ô2Ð2Ø×Ò˜SœYÔ3Ø%œ^Ô8ñ:ô :ð :à×Ò˜SœYÔ3Ø%œ^Ô8ñ:ô :ð :ð :ð :r   c                 óÖ   •— ‰                      t          ¦  «        5 } ‰| ||¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                     t          |j        ¦  «        d¦  «         d S )Nzrepeated axis in transposerÄ   ©r   r(   rV   rÀ   râ   r§   s       €€r   Úcheck_err_axis_repeatedzPTestArrayManipulation.test_array_transpose_axes.<locals>.check_err_axis_repeatedH  s¯   ø€ à×"Ò"¥:Ñ.Ô.ð '°&Ø��F˜C Ñ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'à×Ò�S Ô!1Ñ2Ô2Ø9ñ;ô ;ð ;ð ;ð ;rÂ   c                 óÖ   •— ‰                      t          ¦  «        5 } ‰| ||¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                     t          |j        ¦  «        d¦  «         d S )Nz2axis is out of bounds for array of given dimensionrÄ   ré   s       €€r   Úcheck_err_axis_oobzKTestArrayManipulation.test_array_transpose_axes.<locals>.check_err_axis_oobO  s´   ø€ à×"Ò"¥:Ñ.Ô.ð '°&Ø��F˜C Ñ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'à×Ò�S Ô!1Ñ2Ô2ØQñSô Sð Sð Sð SrÂ   c                 ó–   •— ‰                      t          t          f¦  «        5   ‰| ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r%   )r»   Ú	TypeErrorr   )r   r(   rV   râ   r§   s      €€r   Úcheck_err_invalid_argszOTestArrayManipulation.test_array_transpose_axes.<locals>.check_err_invalid_argsV  s”   ø€ à×"Ò"¥I­{Ð#;Ñ<Ô<ð 'ð 'Ø��F˜C Ñ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'ð 'ð 's   £>¾AÁArÉ   rÊ   rË   rb   ra   rc   é@   rÌ   c                 ó   •— g | ]}|‰z
  ‘ŒS r   r   )r   r†   Úndims     €r   r   zCTestArrayManipulation.test_array_transpose_axes.<locals>.<listcomp>g  s   ø€ Ð!9Ð!9Ð!9¨q ! d¡(Ð!9Ð!9Ð!9r   c                 ó�   —  | ||¦  «        } t          | ¦  «        ||¦  «        }t          j                             ||¦  «         d S r%   )r   r,   ÚtestingÚassert_equal)r   rf   rg   r³   r´   s        r   Úcheck_issue_4708zITestArrayManipulation.test_array_transpose_axes.<locals>.check_issue_4708k  sH   € à�v˜a ‘|”|ˆHØ•$�v‘,”,˜q !Ñ$Ô$ˆCõ ŒJ×#Ò# C¨Ñ2Ô2Ð2Ð2Ð2r   rÑ   Úfoo)r÷   g333333@)ç333333ó?rÑ   rØ   )rb   r   r   )ra   rb   rc   rc   r   ©rc   )rÓ   ©r   rb   )éýÿÿÿrb   ©r   rû   )ra   rc   rb   )éüÿÿÿrc   rb   )ra   rc   rb   rÑ   )ra   rc   rb   éûÿÿÿT©Únopythonz#np.transpose does not accept tuples)rX   r[   r]   r_   r#   r,   rd   r&   ÚrangeÚlenr   Útuplerò   rl   rÜ   r»   r   r   rS   rÛ   ÚassertInr½   r¾   )r§   r    rµ   rê   rì   rï   ÚarrsÚirV   Úneg_axesrö   Úerò   râ   s   `           @@r   Útest_array_transpose_axesz/TestArrayManipulation.test_array_transpose_axes4  s.  øøø€ Ý:Ý?Ý.Ý3ð5ˆð
	/ð 	/ð 	/ð 	/ð 	/õ 
�nÑ	%Ô	%ð	:ð 	:ð 	:ð 	:ð 	:ñ 
&Ô	%ð	:õ 
�nÑ	%Ô	%ð	;ð 	;ð 	;ð 	;ð 	;ñ 
&Ô	%ð	;õ 
�nÑ	%Ô	%ð	Sð 	Sð 	Sð 	Sð 	Sñ 
&Ô	%ð	Sõ 
�nÑ	%Ô	%ð	'ð 	'ð 	'ð 	'ð 	'ñ 
&Ô	%ð	'õ ”	˜"‘”Ý”	˜"‘”×%Ò% a¨Ñ+Ô+Ý”	˜"‘”×%Ò% a¨¨AÑ.Ô.Ý”	˜"‘”×%Ò% a¨¨A¨qÑ1Ô1Ý”	˜"‘”×%Ò% a¨¨AÑ.Ô.¨s¨s°¨s°3°3°Q°3°q°q°q¨yÔ9ð	;ˆõ •s˜4‘y”yÑ!Ô!ð 	)ð 	)ˆAàˆE�$�q”'˜4Ñ Ô Ð å$¥U­5°°a´´Ñ+>Ô+>Ñ%?Ô%?Ñ@Ô@ð )ð )�Ý˜4‘y”y�Ý Ð!9Ð!9Ð!9Ð!9°DÐ!9Ñ!9Ô!9Ñ:Ô:�Ø��d˜1”g˜tÑ$Ô$Ð$Ø��d˜1”g˜xÑ(Ô(Ð(Ð(ð	)õ 
Õ+Ð,Ñ	-Ô	-ð	3ð 	3ñ 
.Ô	-ð	3ð 	Ð˜˜AÑÔÐØÐ˜˜AÑÔÐØÐ˜˜AÑÔÐð 	×ÒÑ!Ô!Ð!àÐ˜t Aœw¨Ñ.Ô.Ð.ØÐ˜t Aœw¨Ñ1Ô1Ð1ØÐ˜t Aœw¨Ñ,Ô,Ð,ØÐ˜t Aœw¨Ñ1Ô1Ð1àÐ  Q¤¨Ñ0Ô0Ð0ØÐ  Q¤¨Ñ3Ô3Ð3ØÐ  Q¤¨Ñ6Ô6Ð6àÐ˜4 œ7 DÑ)Ô)Ð)ØÐ˜4 œ7 EÑ*Ô*Ð*ØÐ˜4 œ7 FÑ+Ô+Ð+ØÐ˜4 œ7 GÑ,Ô,Ð,ØÐ˜4 œ7 GÑ,Ô,Ð,ØÐ˜4 œ7 IÑ.Ô.Ð.ØÐ˜4 œ7 JÑ/Ô/Ð/ØÐ˜4 œ7 LÑ1Ô1Ð1ØÐ˜4 œ7 MÑ2Ô2Ð2à×Ò�{Ñ+Ô+ð 	K¨qØ5Ð�C˜ÐÑÔÕ4Ñ5Ô5µr´xÀÀAÀÑ7GÔ7GÐ6IÑJÔJÐJð	Kð 	Kð 	Kñ 	Kô 	Kð 	Kð 	Kð 	Kð 	Kð 	Kð 	Køøøð 	Kð 	Kð 	Kð 	Kà�ŠÐ;Ý˜AœKÑ(Ô(ñ	*ô 	*ð 	*ð 	*ð 	*s   Î=O$Ï$O(Ï+O(c                 ó¬   — t           }t          |¦  «        }d„ } |¦   «         D ]/\  }}|                       |||¦  «         |||¦  «        ¦  «         Œ0d S )Nc               3   ó¼  K  — t          j        ddgddgg¦  «        dfV — t          j        ddgddgg¦  «        dfV — t          j        ddgddgg¦  «        dfV — t          j        ddgddgg¦  «        dfV — t          j        ddgddgg¦  «        d	fV — t          j        ddgddgg¦  «        d
fV — t          j        dt          ¬¦  «        dfV — t          j        ddgddgg¦  «        dfV — t          j        ddgddgg¦  «        dfV — t          j        dt          ¬¦  «        dfV — t          j        g t          ¬¦  «        dfV — g d¢dfV — dV — d S )Nrc   rb   ra   rÊ   )rb   rÊ   )rÊ   rb   )rÊ   ra   rÕ   rú   ©rb   r   r   ©Údtype©rb   rc   ©rÊ   ©rc   ra   )r   rc   rb   ra   ©rb   ra   )rÊ   r  )r,   rÛ   ÚzerosÚfloatÚintr   r   r   Úinputsz=TestArrayManipulation.test_numpy_resize_basic.<locals>.inputs•  sÈ  è è € å”(˜Q ˜F Q¨ FÐ+Ñ,Ô,¨fÐ4Ð4Ð4Ð4Ý”(˜Q ˜F Q¨ FÐ+Ñ,Ô,¨fÐ4Ð4Ð4Ð4Ý”(˜Q ˜F Q¨ FÐ+Ñ,Ô,¨fÐ4Ð4Ð4Ð4Ý”(˜Q ˜F Q¨ FÐ+Ñ,Ô,¨dÐ2Ð2Ð2Ð2Ý”(˜Q ˜F Q¨ FÐ+Ñ,Ô,¨fÐ4Ð4Ð4Ð4Ý”(˜Q ˜F Q¨ FÐ+Ñ,Ô,¨fÐ4Ð4Ð4Ð4Ý”(˜1¥eÐ,Ñ,Ô,¨fÐ4Ð4Ð4Ð4å”(˜Q ˜F Q¨ FÐ+Ñ,Ô,¨dÐ2Ð2Ð2Ð2Ý”(˜Q ˜F Q¨ FÐ+Ñ,Ô,¨aÐ/Ð/Ð/Ð/Ý”(˜6­3Ð/Ñ/Ô/°Ð7Ð7Ð7Ð7Ý”(˜2¥uÐ-Ñ-Ô-¨vÐ5Ð5Ð5Ð5Ø�,�, Ð&Ð&Ð&Ð&ØˆOˆOˆOˆOˆOr   )r    r   r±   )r§   r   Úcfuncr  rA   rŸ   s         r   Útest_numpy_resize_basicz-TestArrayManipulation.test_numpy_resize_basic’  s{   € ÝˆÝ�V‘”ˆð	ð 	ð 	ð" #˜F™HœHð 	Oð 	O‰LˆAˆyØ×#Ò# F F¨1¨iÑ$8Ô$8¸%¸%ÀÀ9Ñ:MÔ:MÑNÔNÐNÐNð	Oð 	Or   c                 ó  — |                       ¦   «          t          t          ¦  «        }|                      t          ¦  «        5 } |dd¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         |                      t          ¦  «        5 } |t          j	        ddgddgg¦  «        d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         |                      t          ¦  «        5 } |t          j	        ddgddgg¦  «        d	¦  «         d d d ¦  «         n# 1 swxY w Y   |                      d
t          |j        ¦  «        ¦  «         |                      t          ¦  «        5 } |t          j	        ddgddgg¦  «        d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      d
t          |j        ¦  «        ¦  «         d S )NÚabcr  z#The argument "a" must be array-liker   rc   rb   ra   zBThe argument "new_shape" must be an integer or a tuple of integers)rÓ   ra   z0All elements of `new_shape` must be non-negativerý   )rÜ   r   r    r»   r   r  r½   r¾   r,   rÛ   rÅ   )r§   r  rÀ   s      r   Útest_numpy_resize_exceptionz1TestArrayManipulation.test_numpy_resize_exception©  sñ  € à×ÒÑ!Ô!Ð!å•\Ñ"Ô"ˆà×Ò�{Ñ+Ô+ð 	!¨vØˆE�%˜Ñ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!à�ŠÐ<Ý˜&Ô*Ñ+Ô+ñ	-ô 	-ð 	-ð ×Ò�{Ñ+Ô+ð 	2¨vØˆE•"”(˜Q˜q˜E 1 Q %˜=Ñ)Ô)¨5Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2à�Šð -å˜&Ô*Ñ+Ô+ñ	-ô 	-ð 	-ð ×Ò�zÑ*Ô*ð 	4¨fØˆE•"”(˜Q˜q˜E 1 Q %˜=Ñ)Ô)¨7Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4à�ŠÐIÝ˜&Ô*Ñ+Ô+ñ	-ô 	-ð 	-ð ×Ò�zÑ*Ô*ð 	/¨fØˆE•"”(˜Q˜q˜E 1 Q %˜=Ñ)Ô)¨2Ñ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/à�ŠÐIÝ˜&Ô*Ñ+Ô+ñ	-ô 	-ð 	-ð 	-ð 	-sH   ÁAÁA Á#A Â)%CÃCÃ!CÄ'%EÅEÅEÆ%%GÇGÇGc                 óh  ‡ ‡‡‡— t           Šˆˆ fd„Šˆˆˆ fd„Šˆfd„}t          j        d¦  «        } ||¦  «         t          j        d¦  «                             d¦  «        } ||¦  «          ||j        ¦  «          ||d d d…         ¦  «         t          j        d¦  «        } ||¦  «         d S )	Nc                 óž   •— ‰j                              ‰t          | ¦  «        t          |¦  «        f¦  «        }|                     | |¦  «        S r%   rà   )r(   rr   r¬   r   r§   s      €€r   râ   z3TestArrayManipulation.test_expand_dims.<locals>.runÇ  rã   r   c                 ó¶   •—  ‰| |¦  «        }‰                      ¦   «           ‰| |¦  «        }‰                     ||¦  «         ~‰                     ¦   «          d S r%   r¯   )r(   rr   r³   r´   r   râ   r§   s       €€€r   rµ   z5TestArrayManipulation.test_expand_dims.<locals>.checkË  sf   ø€ Ø�v˜c 4Ñ(Ô(ˆHØ×"Ò"Ñ$Ô$Ð$Ø�#�c˜4‘.”.ˆCØ×#Ò# C¨Ñ2Ô2Ð2ØØ×%Ò%Ñ'Ô'Ð'Ð'Ð'r   c                 óh   •— t          | j         dz
  | j        dz   ¦  «        D ]} ‰| |¦  «         Œd S )Nrc   )r  rò   )r(   rr   rµ   s     €r   Úcheck_all_axesz>TestArrayManipulation.test_expand_dims.<locals>.check_all_axesÓ  sI   ø€ Ý˜sœx˜i¨!™m¨S¬X¸©\Ñ:Ô:ð !ð !�Ø��c˜4Ñ Ô Ð Ð ð!ð !r   rÑ   rÉ   rÍ   r�   é*   )rq   r,   rd   r&   re   rÛ   )r§   r   r(   rµ   r   râ   s   `  @@@r   Útest_expand_dimsz&TestArrayManipulation.test_expand_dimsÄ  sþ   øøøø€ Ýˆð	/ð 	/ð 	/ð 	/ð 	/ð 	/ð	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð	!ð 	!ð 	!ð 	!ð 	!õ
 Œi˜‰lŒlˆØˆ�sÑÔÐåŒi˜‰mŒm×#Ò# IÑ.Ô.ˆØˆ�sÑÔÐØˆ�s”uÑÔÐØˆ�s˜4˜4˜R˜4”yÑ!Ô!Ð!åŒh�r‰lŒlˆØˆ�sÑÔÐÐÐr   c                 óî  — t           } t          d¬¦  «        |¦  «        }t          j        d¦  «        }|                      ¦   «         5 } |dd¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         |                      ¦   «         5 } ||d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         d S )NTrÿ   rÑ   Úhellora   z#First argument "a" must be an arrayz"Argument "axis" must be an integer)rq   r   r,   rd   ÚassertTypingErrorr  r½   r¾   )r§   r   r  r(   rÀ   s        r   Útest_expand_dims_exceptionsz1TestArrayManipulation.test_expand_dims_exceptionsã  s`  € ÝˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆÝŒi˜‰lŒlˆà×#Ò#Ñ%Ô%ð 	¨ØˆE�'˜1ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐ;½SÀÔAQÑ=RÔ=RÑSÔSÐSà×#Ò#Ñ%Ô%ð 	 ¨ØˆE�#�wÑÔÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 à�ŠÐ:½CÀÔ@PÑ<QÔ<QÑRÔRÐRÐRÐRs$   Á	A"Á"A&Á)A&Â)CÃCÃ	Cc                 ó  ‡ ‡‡‡— ˆ fd„Šˆˆˆfd„}ˆˆˆˆ fd„}t          j        d¦  «        }t          j        d¦  «        } ||¦  «          |||¦  «         t          j        d¦  «        }t          j        d¦  «        dz   }|d d d	…         }	 ||¦  «          ||||	¦  «         t          j        d¦  «                             d
¦  «        }
|
j        }|
d d d	…         } ||
¦  «          ||
||¦  «         t          j        d¦  «                             d¦  «        }|j        }|d d d	…         } ||¦  «          ||||¦  «         t          j        d¦  «                             d¦  «        } ||¦  «          |||||¦  «         d S )Nc                 ó¨   •— ‰                      | |¦  «         ‰                     |                      ¦   «         |                     ¦   «         ¦  «         d S r%   )ÚassertStridesEqualr±   r?   )r´   r³   r§   s     €r   Úcheck_resultz<TestArrayManipulation.check_atleast_nd.<locals>.check_resultò  sK   ø€ ð ×#Ò# C¨Ñ2Ô2Ð2Ø×#Ò# C§K¢K¡M¤M°8×3CÒ3CÑ3EÔ3EÑFÔFÐFÐFÐFr   c                 óD   •—  ‰ ‰| ¦  «         ‰| ¦  «        ¦  «         d S r%   r   )Úargr  r*  r   s    €€€r   Úcheck_singlez<TestArrayManipulation.check_atleast_nd.<locals>.check_singleù  s+   ø€ ØˆL˜˜˜s™œ V V¨C¡[¤[Ñ1Ô1Ð1Ð1Ð1r   c                  óÀ   •—  ‰| Ž } ‰| Ž }‰                      t          |¦  «        t          |¦  «        ¦  «         t          ||¦  «        D ]\  }} ‰||¦  «         Œd S r%   )r·   r  Úzip)	r   Úexpected_tupleÚ	got_tupler´   r³   r  r*  r   r§   s	        €€€€r   Úcheck_tuplez;TestArrayManipulation.check_atleast_nd.<locals>.check_tupleü  sy   ø€ Ø#˜V T˜]ˆNØ˜˜t˜ˆIØ×Ò�S ™^œ^­S°Ñ-@Ô-@ÑAÔAÐAÝ!$ Y°Ñ!?Ô!?ð ,ð ,‘��XØ�˜S (Ñ+Ô+Ð+Ð+ð,ð ,r   r!  y              @rÑ   rË   ù              ð?r�   r  rÉ   rÍ   é   )rb   rb   rb   rb   )r,   rÛ   rd   r&   re   )r§   r   r  r-  r2  Úa1Úa2Úb1Úb2Úb3Úc1Úc2Úc3Úd1Úd2Úd3r  r*  s   ```              @r   Úcheck_atleast_ndz&TestArrayManipulation.check_atleast_ndñ  sí  øøøø€ ð	Gð 	Gð 	Gð 	Gð 	Gð	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,õ ŒX�b‰\Œ\ˆÝŒX�b‰\Œ\ˆØˆ�RÑÔÐØˆ�B˜ÑÔÐåŒY�q‰\Œ\ˆÝŒY�q‰\Œ\˜BÑˆØ���"�ŒXˆØˆ�RÑÔÐØˆ�B˜˜BÑÔÐåŒY�q‰\Œ\×!Ò! &Ñ)Ô)ˆØŒTˆØ���"�ŒXˆØˆ�RÑÔÐØˆ�B˜˜BÑÔÐåŒY�r‰]Œ]×"Ò" 9Ñ-Ô-ˆØŒTˆØ���"�ŒXˆØˆ�RÑÔÐØˆ�B˜˜BÑÔÐåŒI�b‰MŒM×!Ò! ,Ñ/Ô/ˆØˆ�Q‰Œˆàˆ�B˜˜B Ñ#Ô#Ð#Ð#Ð#r   c                 ór   — t           } t          d¬¦  «        |¦  «        }|                      ||¦  «         d S ©NTrÿ   )rt   r   r@  ©r§   r   r  s      r   Útest_atleast_1dz%TestArrayManipulation.test_atleast_1d   ó=   € ÝˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆØ×Ò˜f eÑ,Ô,Ð,Ð,Ð,r   c                 ór   — t           } t          d¬¦  «        |¦  «        }|                      ||¦  «         d S rB  )rw   r   r@  rC  s      r   Útest_atleast_2dz%TestArrayManipulation.test_atleast_2d%  rE  r   c                 ór   — t           } t          d¬¦  «        |¦  «        }|                      ||¦  «         d S rB  )ry   r   r@  rC  s      r   Útest_atleast_3dz%TestArrayManipulation.test_atleast_3d*  rE  r   c                 óÜ   ‡ ‡‡— ˆˆ fd„Šˆˆˆ fd„}t          j        d¦  «        } ||¦  «          ||                     d¦  «        ¦  «          ||                     d¦  «        ¦  «         d S )Nc                 ó€   •— ‰j                              ‰t          | ¦  «        f¦  «        }|                     | ¦  «        S r%   rà   )r(   r¬   r   r§   s     €€r   râ   z3TestArrayManipulation.check_as_strided.<locals>.run0  s6   ø€ Ø”;×&Ò& vµ°s±´¨~Ñ>Ô>ˆDØ×#Ò# CÑ(Ô(Ð(r   c                 ó`   •—  ‰| ¦  «        } ‰| ¦  «        }‰                      ||¦  «         d S r%   ©r±   )r(   r³   r´   r   râ   r§   s      €€€r   rµ   z5TestArrayManipulation.check_as_strided.<locals>.check3  s9   ø€ Ø�v˜c‘{”{ˆHØ�#�c‘(”(ˆCØ×#Ò# C¨Ñ2Ô2Ð2Ð2Ð2r   rÉ   rÏ   )rÊ   rc   rË   )r,   rd   r&   )r§   r   rµ   r(   râ   s   ``  @r   Úcheck_as_stridedz&TestArrayManipulation.check_as_strided/  s    øøø€ ð	)ð 	)ð 	)ð 	)ð 	)ð 	)ð	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3õ
 Œi˜‰mŒmˆØˆˆc‰
Œ
ˆ
Øˆˆc�kŠk˜&Ñ!Ô!Ñ"Ô"Ð"Øˆˆc�kŠk˜)Ñ$Ô$Ñ%Ô%Ð%Ð%Ð%r   c                 ón   — |                       t          ¦  «         |                       t          ¦  «         d S r%   )rN  r   rƒ   ©r§   s    r   Útest_as_stridedz%TestArrayManipulation.test_as_strided=  s0   € Ø×Ò�kÑ*Ô*Ð*Ø×Ò�kÑ*Ô*Ð*Ð*Ð*r   c                 ód  ‡ — ˆ fd„}t          j        d¦  «        }dD ]?}‰                      d|› �¦  «        5   ||d|¦  «         d d d ¦  «         n# 1 swxY w Y   Œ@t          j        d¦  «                             dd¦  «        }d	D ]?}‰                      d
|› �¦  «        5   ||d|¦  «         d d d ¦  «         n# 1 swxY w Y   Œ@dD ]?}‰                      d
|› �¦  «        5   ||d|¦  «         d d d ¦  «         n# 1 swxY w Y   Œ@t          j        d¦  «                             dddd¦  «        }dD ]?}‰                      d|› �¦  «        5   ||d|¦  «         d d d ¦  «         n# 1 swxY w Y   Œ@‰                      d¦  «        5   ||dd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó¦   •— t           j        j                             | ||d¬¦  «        }t          | ||¦  «        }‰                     ||¦  «         d S )NT)Ú	writeable)r,   r|   r}   r…   r±   )r(   r‡   rr   r³   r´   r§   s        €r   rµ   z=TestArrayManipulation.test_sliding_window_view.<locals>.checkB  s[   ø€ å”vÔ+×?Ò?Ø�\ 4°4ð @ñ ô ˆHõ & c¨<¸Ñ>Ô>ˆCØ×#Ò# C¨Ñ2Ô2Ð2Ð2Ð2r   rÉ   )Nr   r�   rÕ   z1d array, axis=rÑ   éÈ   é
   é   r×   z2d array, axis=)N©r   rc   ©rc   r   )rc   rÓ   )rÑ   rÌ   rÊ   rb   )rÙ   )rÓ   rû   z4d array, axis=©ra   rb   z2d array, repeated axes)rÑ   ra   ra   )r   rc   r   )r,   rd   ÚsubTestr&   )r§   rµ   Úarr1rr   Úarr2Úarr4s   `     r   Útest_sliding_window_viewz.TestArrayManipulation.test_sliding_window_viewA  sL  ø€ ð	3ð 	3ð 	3ð 	3ð 	3õ Œy˜‰}Œ}ˆØ'ð 	%ð 	%ˆDØ—’Ð6°Ð6Ð6Ñ7Ô7ð %ð %Ø��d˜A˜tÑ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %øõ Œy˜‰~Œ~×%Ò% b¨"Ñ-Ô-ˆØð 	%ð 	%ˆDØ—’Ð6°Ð6Ð6Ñ7Ô7ð %ð %Ø��d˜A˜tÑ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %øð 4ð 	*ð 	*ˆDØ—’Ð6°Ð6Ð6Ñ7Ô7ð *ð *Ø��d˜F DÑ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *øõ Œy˜‰~Œ~×%Ò% a¨¨A¨qÑ1Ô1ˆØ&ð 	*ð 	*ˆDØ—’Ð6°Ð6Ð6Ñ7Ô7ð *ð *Ø��d˜F DÑ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *øð �\Š\Ð3Ñ4Ô4ð 	.ð 	.ØˆE�$˜	 9Ñ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð 	.ð 	.sY   ·AÁA	ÁA	Â!B;Â;B?	ÃB?	Ã#C=Ã=D	ÄD	ÅE)Å)E-	Å0E-	Æ
F%Æ%F)Æ,F)c                 ó  ‡ — ˆ fd„}ˆ fd„}‰                       ¦   «          t          j        d¦  «        }t          j        d¦  «                             dd¦  «        }‰                      d¦  «        5   |d|d	d ¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                      d
¦  «        5   |d|dd ¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                      d¦  «        5   |d|dd ¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                      d¦  «        5   |d|dd ¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                      d¦  «        5   |d|dd ¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                      d¦  «        5   |d|dd¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                      d¦  «        5   |d|dd¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                      d¦  «        5   |d|dd¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                      d¦  «        5   |d|dd¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                      d¦  «        5   |d|dd ¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                      d!¦  «        5   |d|dd"¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                      d#¦  «        5   |d$|d ¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                      d%¦  «        5   |d$|d&¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                      d'¦  «        5   |d$|d(¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                      d)¦  «        5   |d*|dd&¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                      d+¦  «        5   |d*|dd(¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ),Nc                 óÎ   •— ‰                      t          ¦  «        5 }t          |Ž  d d d ¦  «         n# 1 swxY w Y   ‰                     | t	          |j        ¦  «        ¦  «         d S r%   )r»   rÅ   r…   r  r½   r¾   ©Úmsgr   rÀ   r§   s      €r   Ú_raiseszFTestArrayManipulation.test_sliding_window_view_errors.<locals>._raisesf  s™   ø€ Ø×"Ò"¥:Ñ.Ô.ð +°&Ý# TÐ*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +à�MŠM˜#�s 6Ô#3Ñ4Ô4Ñ5Ô5Ð5Ð5Ð5s   œ
2²6¹6c                 óØ   •— ‰                      t          j        ¦  «        5 }t          |Ž  d d d ¦  «         n# 1 swxY w Y   ‰                     | t          |j        ¦  «        ¦  «         d S r%   )r»   r   r   r…   r  r½   r¾   rb  s      €r   Ú_typing_errorzLTestArrayManipulation.test_sliding_window_view_errors.<locals>._typing_errork  sœ   ø€ Ø×"Ò"¥6Ô#5Ñ6Ô6ð +¸&Ý# TÐ*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +à�MŠM˜#�s 6Ô#3Ñ4Ô4Ñ5Ô5Ð5Ð5Ð5s   ¡
7·;¾;rÉ   rU  rV  rW  z1d window shape too largezwindow_shape cannot be largerrÎ   z2d window shape too large)rÊ   é   z1d window negative sizez&`window_shape` cannot contain negativer�   z2d window with a negative size)rÊ   rû   z1d array, 2d window shapez%matching length window_shape and axis)rV  rb   z$2d window shape, only one axis givenrc   z1d window shape, 2 axes givenrÑ   rØ   z1d array, second axiszArgument axis out of boundsrÊ   z1d array, axis -2rÓ   z2d array, fourth axis)rÊ   rÊ   ©r   ra   z2d array, axis -3rü   zwindow_shape=Nonez3window_shape must be an integer or tuple of integerzwindow_shape=floatçÍÌÌÌÌÌ@zwindow_shape=tuple(float))ri  z
axis=floatz1axis must be None, an integer or tuple of integerzaxis=tuple(float))rÜ   r,   rd   r&   r[  )r§   rd  rf  r\  r]  s   `    r   Útest_sliding_window_view_errorsz5TestArrayManipulation.test_sliding_window_view_errorse  sC	  ø€ ð	6ð 	6ð 	6ð 	6ð 	6ð
	6ð 	6ð 	6ð 	6ð 	6ð 	×ÒÑ!Ô!Ð!åŒy˜‰}Œ}ˆÝŒy˜‰~Œ~×%Ò% b¨"Ñ-Ô-ˆð �\Š\Ð5Ñ6Ô6ð 	Eð 	EØˆGÐ3°T¸2¸tÑDÔDÐDð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eà�\Š\Ð5Ñ6Ô6ð 	Jð 	JØˆGÐ3°T¸7ÀDÑIÔIÐIð	Jð 	Jð 	Jñ 	Jô 	Jð 	Jð 	Jð 	Jð 	Jð 	Jð 	Jøøøð 	Jð 	Jð 	Jð 	Jà�\Š\Ð3Ñ4Ô4ð 	Nð 	NØˆGÐ<¸dÀBÈÑMÔMÐMð	Nð 	Nð 	Nñ 	Nô 	Nð 	Nð 	Nð 	Nð 	Nð 	Nð 	Nøøøð 	Nð 	Nð 	Nð 	Nà�\Š\Ð:Ñ;Ô;ð 	Sð 	SØˆGÐ<¸dÀGÈTÑRÔRÐRð	Sð 	Sð 	Sñ 	Sô 	Sð 	Sð 	Sð 	Sð 	Sð 	Sð 	Søøøð 	Sð 	Sð 	Sð 	Sð �\Š\Ð5Ñ6Ô6ð 	Rð 	RØˆGÐ;¸TÀ7ÈDÑQÔQÐQð	Rð 	Rð 	Rñ 	Rô 	Rð 	Rð 	Rð 	Rð 	Rð 	Rð 	Røøøð 	Rð 	Rð 	Rð 	Rà�\Š\Ð@ÑAÔAð 	Oð 	OØˆGÐ;¸TÀ7ÈAÑNÔNÐNð	Oð 	Oð 	Oñ 	Oô 	Oð 	Oð 	Oð 	Oð 	Oð 	Oð 	Oøøøð 	Oð 	Oð 	Oð 	Oà�\Š\Ð9Ñ:Ô:ð 	Nð 	NØˆGÐ;¸TÀ1ÀfÑMÔMÐMð	Nð 	Nð 	Nñ 	Nô 	Nð 	Nð 	Nð 	Nð 	Nð 	Nð 	Nøøøð 	Nð 	Nð 	Nð 	Nð �\Š\Ð1Ñ2Ô2ð 	?ð 	?ØˆGÐ1°4¸¸AÑ>Ô>Ð>ð	?ð 	?ð 	?ñ 	?ô 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?øøøð 	?ð 	?ð 	?ð 	?à�\Š\Ð-Ñ.Ô.ð 	@ð 	@ØˆGÐ1°4¸¸BÑ?Ô?Ð?ð	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@à�\Š\Ð1Ñ2Ô2ð 	Ið 	IØˆGÐ1°4¸ÀÑHÔHÐHð	Ið 	Ið 	Iñ 	Iô 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Iøøøð 	Ið 	Ið 	Ið 	Ià�\Š\Ð-Ñ.Ô.ð 	Jð 	JØˆGÐ1°4¸ÀÑIÔIÐIð	Jð 	Jð 	Jñ 	Jô 	Jð 	Jð 	Jð 	Jð 	Jð 	Jð 	Jøøøð 	Jð 	Jð 	Jð 	Jð �\Š\Ð-Ñ.Ô.ð 	ð 	ØˆMØEÀtÈTñô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð �\Š\Ð.Ñ/Ô/ð 	ð 	ØˆMØEÀtÈSñô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð �\Š\Ð5Ñ6Ô6ð 	ð 	ØˆMØEÀtÈVñô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð �\Š\˜,Ñ'Ô'ð 	ð 	ØˆMØCÀTÈ1Ècñô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð �\Š\Ð-Ñ.Ô.ð 	ð 	ØˆMØCÀTÈ1Èfñô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   Á1BÂBÂBÂ,CÃCÃCÃ'DÄDÄ	DÄ"D=Ä=EÅEÅE8Å8E<Å?E<ÆF3Æ3F7Æ:F7ÇG.Ç.G2Ç5G2ÈH)È)H-È0H-É	I$É$I(É+I(ÊJÊJ#Ê&J#Ê?KËKË!KË:LÌLÌLÌ4MÍMÍMÍ.NÎNÎNÎ(OÏOÏ
OÏ#O?Ï?PÐPÚCc                 óª  — t          j        d¦  «                             dd¦  «        }|dk    r|j        }t          }t          |¦  «        }|dk    r|                     d¬¦  «        }|                      |j        |¦  «         t          ||f|¬¦  «        }|j
        } ||¦  «        } ||¦  «        }	t           j                             ||	¦  «         d S )Né	   ra   ÚFÚA)Úlayout©rå   )r,   rd   r&   re   rB   r
   rZ   r·   rp  r   r«   rô   rõ   )
r§   rå   rp  rA   r   Ú
arraytype1Úcrr  r³   r´   s
             r   Útest_flatten_arrayz(TestArrayManipulation.test_flatten_array©  sÉ   € ÝŒI�a‰LŒL× Ò   AÑ&Ô&ˆØ�SŠ=ˆ=Ø”ˆAåˆÝ˜A‘Y”Yˆ
Ø�SŠ=ˆ=à#Ÿš°˜Ñ4Ô4ˆJà×Ò˜Ô*¨FÑ3Ô3Ð3Ý˜f z m¸5ÐAÑAÔAˆØ”ˆà�6˜!‘9”9ˆØˆe�A‰hŒhˆÝ
Œ
×Ò ¨#Ñ.Ô.Ð.Ð.Ð.r   c                 ó¬   — |                       t          ¬¦  «         |                       t          d¬¦  «         |                       t          d¬¦  «         d S )Nrq  rn  )rå   rp  ro  )rt  Úno_pyobj_flagsrP  s    r   Útest_flatten_array_npmz,TestArrayManipulation.test_flatten_array_npm¼  sQ   € Ø×Ò¥nÐÑ5Ô5Ð5Ø×Ò¥n¸SÐÑAÔAÐAØ×Ò¥n¸SÐÑAÔAÐAÐAÐAr   c                 ó*  ‡ ‡‡‡— ˆˆ fd„}t          |t          ¦  «        Št          |t          ¦  «        Šˆˆfd„} |t          j        d¦  «                             dd¦  «        d¬¦  «          |t          j        d¦  «                             ddd¬¦  «        d¬¦  «          |t          j        d	¦  «                             ddd
¦  «        d d …d d …df         d¬¦  «          |t          j        d	¦  «                             d
dd¦  «        d¬¦  «          |t          j        d	¦  «                             d
ddd¬¦  «        d¬¦  «          |t          j        d¦  «                             d
ddd
¦  «        d d …d d …d d …df         d¬¦  «         d S )Nc                 óÄ  •— t          |¦  «        }‰                     |j        |¦  «         t          | |f‰
¬¦  «        }|j        } | |¦  «        } ||¦  «        }t
          j                             ||¦  «         |j        j	        |j        j	        k    }|j        j	        |j        j	        k    }	‰                     ||dk    ¦  «         ‰                     ||	¦  «         d S )Nrq  rk  )
r
   r·   rp  r   r«   r,   rô   rõ   ÚctypesÚdata)r   rA   Úassume_layoutrr  rs  r  r³   r´   Ú	py_copiedÚ	nb_copiedrå   r§   s             €€r   Úgeneric_checkz=TestArrayManipulation.test_ravel_array.<locals>.generic_checkÂ  sÒ   ø€ å ™œˆJØ×Ò˜ZÔ.°Ñ>Ô>Ð>Ý! &¨:¨-¸uÐEÑEÔEˆBØ”NˆEà�v˜a‘y”yˆHØ�%˜‘(”(ˆCåŒJ×#Ò# H¨cÑ2Ô2Ð2àœœ¨(¬/Ô*>Ò>ˆIØœœ¨#¬*¬/Ò9ˆIØ×Ò˜Y¨¸Ò(<Ñ=Ô=Ð=Ø×Ò˜Y¨	Ñ2Ô2Ð2Ð2Ð2r   c                  ó(   •—  ‰| i |¤Ž  ‰| i |¤Ž d S r%   r   )r   r   Úcheck_functionÚcheck_methods     €€r   rµ   z5TestArrayManipulation.test_ravel_array.<locals>.checkÖ  s3   ø€ ØˆL˜$Ð) &Ð)Ð)Ð)ØˆN˜DÐ+ FÐ+Ð+Ð+Ð+Ð+r   rm  ra   rk  )r|  rn  ©Úorderé   rb   r   ro  é$   )r   rG   rL   r,   rd   r&   )r§   rå   r  rµ   r�  r‚  s   ``  @@r   Útest_ravel_arrayz&TestArrayManipulation.test_ravel_arrayÁ  s»  øøøø€ ð	3ð 	3ð 	3ð 	3ð 	3ð 	3õ" ˜}­kÑ:Ô:ˆÝ  Õ0AÑBÔBˆð	,ð 	,ð 	,ð 	,ð 	,ð 	,ð
 	ˆ�bŒi˜‰lŒl×"Ò" 1 aÑ(Ô(¸Ð<Ñ<Ô<Ð<Øˆ�bŒi˜‰lŒl×"Ò" 1 a¨sÐ"Ñ3Ô3À3ÐGÑGÔGÐGØˆ�bŒi˜‰mŒm×#Ò# A q¨!Ñ,Ô,¨Q¨Q¨Q°°°°1¨WÔ5ÀSÐIÑIÔIÐIð 	ˆ�bŒi˜‰mŒm×#Ò# A q¨!Ñ,Ô,¸CÐ@Ñ@Ô@Ð@Øˆ�bŒi˜‰mŒm×#Ò# A q¨!°3Ð#Ñ7Ô7ÀsÐKÑKÔKÐKØˆ�bŒi˜‰mŒm×#Ò# A q¨!¨QÑ/Ô/°°°°1°1°1°a°a°a¸°
Ô;È3ÐOÑOÔOÐOÐOÐOr   c                 ó"  — t          j        d¦  «                             dd¦  «        }t          }t	          |¦  «        }t          ||f|¬¦  «        }|j        } ||¦  «        } ||¦  «        }t           j                             ||¦  «         d S ©Nrm  ra   rq  )	r,   rd   r&   rJ   r
   r   r«   rô   rõ   ©	r§   rå   rA   r   rr  rs  r  r³   r´   s	            r   Útest_ravel_array_sizez+TestArrayManipulation.test_ravel_array_sizeä  s„   € ÝŒI�a‰LŒL× Ò   AÑ&Ô&ˆå!ˆÝ˜A‘Y”Yˆ
Ý˜f z m¸5ÐAÑAÔAˆØ”ˆà�6˜!‘9”9ˆØˆe�A‰hŒhˆÝ
Œ
×Ò ¨#Ñ.Ô.Ð.Ð.Ð.r   c                 ó<   — |                       t          ¬¦  «         d S ©Nrq  )r‡  rv  rP  s    r   Útest_ravel_array_npmz*TestArrayManipulation.test_ravel_array_npmð  s   € Ø×Ò¥NÐÑ3Ô3Ð3Ð3Ð3r   c                 ó<   — |                       t          ¬¦  «         d S r�  )r‹  rv  rP  s    r   Útest_ravel_array_size_npmz/TestArrayManipulation.test_ravel_array_size_npmó  s   € Ø×"Ò"­Ð"Ñ8Ô8Ð8Ð8Ð8r   c                 óh   ‡— t          t          t          g¦  «        ˆfd„¦   «         } |¦   «          d S )Nc                 ó  •— t          j        d¦  «                             dd¦  «        }t          |¦  «        }t	          | |f‰¬¦  «        }|j        } | |¦  «        } ||¦  «        }t           j                             ||¦  «         d S r‰  )r,   rd   r&   r
   r   r«   rô   rõ   )r   rA   rr  rs  r  r³   r´   rå   s          €r   rµ   z9TestArrayManipulation.test_transpose_array.<locals>.check÷  s€   ø€ å”	˜!‘”×$Ò$ Q¨Ñ*Ô*ˆAå ™œˆJÝ! &¨:¨-¸uÐEÑEÔEˆBØ”NˆEà�v˜a‘y”yˆHØ�%˜‘(”(ˆCÝŒJ×#Ò# H¨cÑ2Ô2Ð2Ð2Ð2r   )r#   rP   rS   )r§   rå   rµ   s    ` r   Útest_transpose_arrayz*TestArrayManipulation.test_transpose_arrayö  sG   ø€ Ý	•Õ(=Ð>Ñ	?Ô	?ð		3ð 		3ð 		3ð 		3ñ 
@Ô	?ð		3ð 	ˆ‰Œˆˆˆr   c                 ó<   — |                       t          ¬¦  «         d S r�  )r“  rv  rP  s    r   Útest_transpose_array_npmz.TestArrayManipulation.test_transpose_array_npm  s   € Ø×!Ò!­Ð!Ñ7Ô7Ð7Ð7Ð7r   c                 ó(  — t          j        d¦  «                             ddddd¦  «        }t          }t	          |¦  «        }t          ||f|¬¦  «        }|j        } ||¦  «        } ||¦  «        }t           j                             ||¦  «         d S )NrÉ   rb   rc   ra   rÊ   rq  )	r,   rd   r&   ro   r
   r   r«   rô   rõ   rŠ  s	            r   Útest_squeeze_arrayz(TestArrayManipulation.test_squeeze_array  s�   € ÝŒIÐ'Ñ(Ô(×0Ò0°°A°q¸!¸QÑ?Ô?ˆåˆÝ˜A‘Y”Yˆ
Ý˜f z m¸5ÐAÑAÔAˆØ”ˆà�6˜!‘9”9ˆØˆe�A‰hŒhˆÝ
Œ
×Ò ¨#Ñ.Ô.Ð.Ð.Ð.r   c                 óú   — |                       t          j        ¦  «        5 }|                      t          ¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         d S )Nrq  rn   )r»   r   r   r—  rv  r  r½   r¾   ©r§   rÀ   s     r   Útest_squeeze_array_npmz,TestArrayManipulation.test_squeeze_array_npm  s©   € Ø×Ò�vÔ1Ñ2Ô2ð 	:°fØ×#Ò#­.Ð#Ñ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð 	�Š�i¥ VÔ%5Ñ!6Ô!6Ñ7Ô7Ð7Ð7Ð7s    AÁAÁAc                 ó
  — t           d„ ¦   «         }t           d„ ¦   «         }t          j        d¦  «                             d¦  «        }t	          d ¦  «        t          j        ft          j        t	          d ¦  «        ft	          d¦  «        t          j        dft          j        dt	          d ¦  «        ft	          d¦  «        t          t          j        dfdt          j        t          ft          j        t	          d¦  «        t          j        dfdt          d t          j        ft          j        t	          d¦  «        t          t          j        dfdt          j        t          j        t          ft          j        dt          j        t          ft	          d¦  «        dt          j        d ft          j        dt          d fg}|j        }|}|j        }|}|D ]´}	 |||	¦  «        }
 |||	¦  «        }t          j         	                    |
|¦  «         t          j
        |¦  «        }||	         } ||                     ¦   «         |	|¦  «        }
 ||                     ¦   «         |	|¦  «        }t          j         	                    |
|¦  «         Œµd S )Nc                 ó   — | |         S r%   r   )rA   r<   s     r   Únp_new_axis_getitemz@TestArrayManipulation.test_add_axis.<locals>.np_new_axis_getitem  s   € à�S”6ˆMr   c                 ó   — || |<   | S r%   r   )rA   r<   Úitems      r   Únp_new_axis_setitemz@TestArrayManipulation.test_add_axis.<locals>.np_new_axis_setitem  s   € àˆAˆc‰FØˆHr   iH  )rÊ   rÑ   rË   é   rc   rb   ra   )r   r,   rd   r&   ÚsliceÚnewaxisÚEllipsisÚpy_funcrô   rõ   Ú
zeros_likerZ   )r§   r�  r   rA   Ú	idx_casesÚpyfunc_getitemÚcfunc_getitemÚpyfunc_setitemÚcfunc_setitemr<   r³   r´   Úa_emptyrŸ  s                 r   Útest_add_axisz#TestArrayManipulation.test_add_axis  s  € Ý	ð	ð 	ñ 
Œð	õ 
ð	ð 	ñ 
Œð	õ ŒI�mÑ$Ô$×,Ò,¨\Ñ:Ô:ˆå�4‰[Œ[�"œ*Ð%ÝŒZ�˜t™œÐ%Ý�1‰XŒX•r”z 1Ð%ÝŒZ˜�E $™KœKÐ(Ý�1‰XŒX•x¥¤¨QÐ/Ø•”
�HÐ%ÝŒZ�˜q™œ¥2¤:¨qÐ1Ø•˜$¥¤
Ð+ÝŒZ�˜q™œ¥8­R¬Z¸Ð;Ø•”
�BœJ­Ð1ÝŒZ˜�BœJ­Ð1Ý�1‰XŒX�q�"œ* dÐ+ÝŒZ˜�H dÐ+ð
ˆ	ð -Ô4ˆØ+ˆà,Ô4ˆØ+ˆàð 
	3ð 
	3ˆCØ%�~ a¨Ñ-Ô-ˆHØ�-  3Ñ'Ô'ˆCÝŒJ×#Ò# H¨cÑ2Ô2Ð2å”m AÑ&Ô&ˆGØ�S”6ˆDà%�~ g§l¢l¡n¤n°c¸4Ñ@Ô@ˆHØ�- §¢¡¤°°TÑ:Ô:ˆCÝŒJ×#Ò# H¨cÑ2Ô2Ð2Ð2ð
	3ð 
	3r   c                 ó   — |                       ¦   «         5 }t          t          j        dt          j        fdt          j        fg¦  «        ¦  «        }t          j        t
          j        dd¦  «        }t          t          ||ft          ¬¦  «         d d d ¦  «         n# 1 swxY w Y   |  
                    dt          |j        ¦  «        ¦  «         d S )Nr†   rŠ   rb   rk  rq  zUnsupported array index type)r%  r	   r,   r  Úint32r   ÚArrayr   rŒ   rv  r  r½   r¾   )r§   rÀ   rr  Ú
arraytype2s       r   Útest_bad_index_npmz(TestArrayManipulation.test_bad_index_npmF  sý   € Ø×#Ò#Ñ%Ô%ð 	3¨Ý#¥B¤H¨sµB´H¨oØ/2µB´H¨oð.?ñ %@ô %@ñ Aô AˆJåœ¥U¤[°!°SÑ9Ô9ˆJÝ�Y¨°ZÐ(@Ý#1ð3ñ 3ô 3ð 3ð		3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð 	�ŠÐ4µc¸&Ô:JÑ6KÔ6KÑLÔLÐLÐLÐLs   •A:BÂBÂ"Bc           	      ó  — |                       ¦   «         5 }t          t          t          j        t          j        dd¦  «        f¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         d S )Nrb   rk  z$Unsupported array index type float64)	r%  r   r�   r   r°  Úfloat64r  r½   r¾   r™  s     r   Útest_bad_float_index_npmz.TestArrayManipulation.test_bad_float_index_npmO  sÖ   € Ø×#Ò#Ñ%Ô%ð 	D¨Ý�_Ý#œk­%¬-¸¸CÑ@Ô@ÐBñDô Dð Dð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dð 	�ŠÐ<Ý˜&Ô*Ñ+Ô+ñ	-ô 	-ð 	-ð 	-ð 	-s   •5AÁAÁAc                 óä  ‡ ‡‡‡	— t           Š	 t          d¬¦  «        ‰	¦  «        Šd„ Šd„ }ˆfd„}ˆfd„}ˆˆ	ˆ fd„} |d¦  «        D ]} |¦   «         D ]} |||¦  «         ŒŒ |d¦  «        D ]} |¦   «         D ]} |||¦  «         ŒŒt          j        dgd	z  ¦  «                             dd¦  «        } ||d
¦  «          ||g d¢¦  «          ||t          j        g d¢¦  «        ¦  «         d S )NTrÿ   c              3   óv   K  — | | fV — d| z  | fV — | d| z  fV — d| z  dz   d| z  dz
  fV — | | | | fV — dV — d S )Nrb   rc   ©rc   rc   rc   r   )rg   s    r   Ú_shape_variationszITestArrayManipulation.test_fill_diagonal_basic.<locals>._shape_variationsZ  s}   è è € à�a�&ˆLˆLˆLà�q‘5˜!�*ÐÐÐà�a˜!‘e�*ÐÐÐà˜‘E˜A‘I  Q¡¨¡Ð,Ð,Ð,Ð,à�a˜˜A�,ÐÐÐàˆOˆOˆOˆOˆOr   c               3   óÒ  K  — dV — dV — t           j        V — t           j         V — dV — t          j        d¦  «        V — dV — ddgV — t          j        d¦  «                             dd	d
d¦  «        V — t          j        t          j        d¦  «                             d	d	¦  «        ¦  «        V — t          j        d¦  «                             d	d	¦  «        d d d…         V — d S )Nrc   g‰A`åÐ"	@TrÊ   r  rÌ   rm  é6   ra   rb   r�   )r,   ÚnanÚinfrd   r&   Úasfortranarrayr   r   r   Ú_val_variationszGTestArrayManipulation.test_fill_diagonal_basic.<locals>._val_variationsh  sï   è è € ØˆGˆGˆGØˆKˆKˆKÝ”&ˆLˆLˆLÝ”6�'ˆMˆMˆMØˆJˆJˆJÝ”)˜A‘,”,ÐÐÐØˆJˆJˆJØ�a�&ˆLˆLˆLÝ”)˜B‘-”-×'Ò'¨¨1¨a°Ñ3Ô3Ð3Ð3Ð3ÝÔ#¥B¤I¨a¡L¤L×$8Ò$8¸¸AÑ$>Ô$>Ñ?Ô?Ð?Ð?Ð?Ý”)˜A‘,”,×&Ò& q¨!Ñ,Ô,¨T¨T¨r¨TÔ2Ð2Ð2Ð2Ð2Ð2r   c              3   óÔ   •K  —  ‰| ¦  «        D ]X}t          j        |t           j        ¬¦  «        V — t          j        t          j        |t           j        ¬¦  «        ¦  «        V — ŒYd S )Nr  )r,   r  r´  r¾  Úones)rg   r1   r¹  s     €r   Ú#_multi_dimensional_array_variationsz[TestArrayManipulation.test_fill_diagonal_basic.<locals>._multi_dimensional_array_variationsv  sw   øè è € Ø*Ð*¨1Ñ-Ô-ð Jð J�Ý”h˜u­B¬JÐ7Ñ7Ô7Ð7Ð7Ð7ÝÔ'­¬°½R¼ZÐ(HÑ(HÔ(HÑIÔIÐIÐIÐIÐIðJð Jr   c              3   óÜ   •K  —  ‰| ¦  «        D ]\}t          j        t          d„ |D ¦   «         ¦  «        t           j        ¬¦  «        }t          d„ |D ¦   «         ¦  «        }||         V — Œ]d S )Nc                 ó   — g | ]}|d z  ‘ŒS ©rb   r   ©r   r†   s     r   r   zwTestArrayManipulation.test_fill_diagonal_basic.<locals>._multi_dimensional_array_variations_strided.<locals>.<listcomp>~  s   € Ð%;Ð%;Ð%;° a¨!¡eÐ%;Ð%;Ð%;r   r  c              3   ó>   K  — | ]}t          d |dz  d¦  «        V — ŒdS )r   rb   N)r¢  rÆ  s     r   ú	<genexpr>zvTestArrayManipulation.test_fill_diagonal_basic.<locals>._multi_dimensional_array_variations_strided.<locals>.<genexpr>  s2   è è € ÐAÐA°a�u Q¨¨A©¨qÑ1Ô1ÐAÐAÐAÐAÐAÐAr   )r,   r  r  r´  )rg   r1   ÚtmpÚslicerr¹  s       €r   Ú+_multi_dimensional_array_variations_stridedzcTestArrayManipulation.test_fill_diagonal_basic.<locals>._multi_dimensional_array_variations_strided|  s‡   øè è € Ø*Ð*¨1Ñ-Ô-ð "ð "�Ý”h�uÐ%;Ð%;°UÐ%;Ñ%;Ô%;Ñ<Ô<ÅBÄJÐOÑOÔO�ÝÐAÐA¸5ÐAÑAÔAÑAÔA�Ø˜&”kÐ!Ð!Ð!Ð!ð"ð "r   c                 óÈ   •— dD ]]}|                       ¦   «         }|                       ¦   «         }|€i }nd|i} ‰||fi |¤Ž  ‰||fi |¤Ž ‰                     ||¦  «         Œ^d S )N)NTFr“   )rZ   r±   )	r(   r’   r“   rA   ÚbÚparamsr  r   r§   s	         €€€r   Ú_check_fill_diagonalzLTestArrayManipulation.test_fill_diagonal_basic.<locals>._check_fill_diagonal‚  s˜   ø€ Ø)ð .ð .�Ø—H’H‘J”J�Ø—H’H‘J”J�à�<Ø�F�Fà$ d˜^�Fà��q˜#Ð(Ð( Ð(Ð(Ð(Ø��a˜Ð'Ð' Ð'Ð'Ð'Ø×'Ò'¨¨1Ñ-Ô-Ð-Ð-ð.ð .r   ra   rm  F)FTF©TFT)r”   r   r,   rÛ   r&   )
r§   r¿  rÂ  rË  rÏ  r(   r’   r¹  r  r   s
   `      @@@r   Útest_fill_diagonal_basicz.TestArrayManipulation.test_fill_diagonal_basicV  s·  øøøø€ Ý$ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆð	ð 	ð 	ð	3ð 	3ð 	3ð	Jð 	Jð 	Jð 	Jð 	Jð	"ð 	"ð 	"ð 	"ð 	"ð	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 7Ð6°qÑ9Ô9ð 	/ð 	/ˆCØ&�Ñ(Ô(ð /ð /�Ø$Ð$ S¨#Ñ.Ô.Ð.Ð.ð/ð ?Ð>¸qÑAÔAð 	/ð 	/ˆCØ&�Ñ(Ô(ð /ð /�Ø$Ð$ S¨#Ñ.Ô.Ð.Ð.ð/õ Œh˜�v ‘zÑ"Ô"×*Ò*¨1¨aÑ0Ô0ˆØÐ˜S %Ñ(Ô(Ð(ØÐ˜SÐ"6Ð"6Ð"6Ñ7Ô7Ð7ØÐ˜S¥"¤(Ð+>Ð+>Ð+>Ñ"?Ô"?Ñ@Ô@Ð@Ð@Ð@r   c                 ó6  ‡ ‡— t           } t          d¬¦  «        |¦  «        Šd}‰                      ¦   «          t          j        g ¦  «        t          j        d¦  «        fD ]X}‰                      t          ¦  «        5 } ‰||¦  «         d d d ¦  «         n# 1 swxY w Y   dt          |j	        ¦  «        v sJ ‚ŒY‰                      t          ¦  «        5 }t          j        d¦  «        } ‰||¦  «         ‰                      dt          |j	        ¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   ˆˆ fd„}t          j        d	t          j        ¬
¦  «        }t          j        } |||¦  «         dt          j        g} |||¦  «         t          j        g d¢t          j        ¬
¦  «        } |||¦  «         t          j        d	t          j        ¬
¦  «        }g d¢} |||¦  «         d} |||¦  «         t          j        dg¦  «        } |||¦  «         d S )NTrÿ   rc   rÑ   z'The first argument must be at least 2-D)ra   ra   rÊ   z/All dimensions of input must be of equal lengthc                 óÔ   •— ‰                      t          ¦  «        5 } ‰| |¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                     dt          |j        ¦  «        ¦  «         d S )Nz'Unable to safely conform val to a.dtyperÄ   )r(   r’   rÀ   r  r§   s      €€r   Ú_assert_raiseszPTestArrayManipulation.test_fill_diagonal_exception_cases.<locals>._assert_raises³  s    ø€ Ø×"Ò"¥:Ñ.Ô.ð  °&Ø��c˜3‘”�ð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  à×ÒÐFÍÈFÔL\ÑH]ÔH]Ñ^Ô^Ð^Ð^Ð^s   œ5µ9¼9©ra   ra   r  çffffff
@)rc   rb   g    _ B)gffffffö?gÍÌÌÌÌÌ@ç}Ã”%­I²Ôgp=½Ø´Tr×  )r”   r   rÜ   r,   rÛ   rÁ  r»   r   r½   r¾   rÅ   r  r·   r¯  r¼  r½  Úint64Úfloat32)r§   r   r’   rA   rÀ   rÔ  r(   r  s   `      @r   Ú"test_fill_diagonal_exception_casesz8TestArrayManipulation.test_fill_diagonal_exception_casesž  sÃ  øø€ Ý$ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆØˆð 	×ÒÑ!Ô!Ð!õ ”˜"‘”�rœw q™zœzÐ)ð 	Vð 	VˆAØ×"Ò"¥;Ñ/Ô/ð °6Ø��a˜‘”�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à<ÅÀFÔDTÑ@UÔ@UÐUÐUÐUÐUÐUð ×Ò�zÑ*Ô*ð 	g¨fÝ”˜Ñ#Ô#ˆAØˆE�!�S‰MŒMˆMØ×ÒÐNÕPSÐTZÔTdÑPeÔPeÑfÔfÐfð	gð 	gð 	gñ 	gô 	gð 	gð 	gð 	gð 	gð 	gð 	gøøøð 	gð 	gð 	gð 	gð	_ð 	_ð 	_ð 	_ð 	_ð 	_õ
 Œh�v¥R¤XÐ.Ñ.Ô.ˆÝŒfˆØˆ�s˜CÑ Ô Ð à•B”FˆmˆØˆ�s˜CÑ Ô Ð åŒh�|�|�|­2¬8Ð4Ñ4Ô4ˆØˆ�s˜CÑ Ô Ð åŒh�v¥R¤ZÐ0Ñ0Ô0ˆØ Ð Ð ˆØˆ�s˜CÑ Ô Ð àˆØˆ�s˜CÑ Ô Ð åŒh˜�xÑ Ô ˆØˆ�s˜CÑ Ô Ð Ð Ð s%   Á=BÂB	ÂB	ÃA	D)Ä)D-Ä0D-c                 ó8  — t           } t          d¬¦  «        |¦  «        }t          j        d¦  «        dgt          j        d¦  «        dgt          j        d¦  «        dgt          j        d¦  «        dgt          j        d¦  «        dgt          j        d¦  «        d	gt          j        d
¦  «        dgt          j        d
¦  «        dgt          j        d
¦  «        dgt          j        d¦  «        dgt          j        d¦  «        dgt          j        d¦  «        dgt          j        d¦  «        dgt          j        d¦  «        dgt          j        d¦  «        dgddgddgg}|D ]3\  }} |||¦  «        } |||¦  «        }|                      ||¦  «         Œ4d S )NTrÿ   r   rÕ   rù   ©ra   rc   rÅ  ©rc   rb   ra   ra   r  r  rb   rÙ   rú   r  r  ©rb   rb   )r2   r   r,   rÛ   rÁ  rd   r±   )r§   r   r  r{  Úinput_arrayr1   r³   r´   s           r   Útest_broadcast_toz'TestArrayManipulation.test_broadcast_toÌ  sƒ  € Ý#ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆõ
 ŒX�a‰[Œ[˜$ÐÝŒX�a‰[Œ[˜$ÐÝŒX�a‰[Œ[˜$ÐÝŒW�Q‰ZŒZ˜ÐÝŒW�Q‰ZŒZ˜ÐÝŒW�Q‰ZŒZ˜Ð#ÝŒY�q‰\Œ\˜4Ð ÝŒY�q‰\Œ\˜6Ð"ÝŒY�q‰\Œ\˜6Ð"åŒW�Q‰ZŒZ˜ˆOÝŒW�Q‰ZŒZ˜ˆOÝŒW�Q‰ZŒZ˜ˆOõ ŒW�Q‰ZŒZ˜ÐÝŒW�V‰_Œ_˜fÐ%ÝŒW�V‰_Œ_˜fÐ%à�ˆKà�VÐð-
ˆð0 #'ð 	3ð 	3ÑˆK˜Ø�v˜k¨5Ñ1Ô1ˆHØ�%˜ UÑ+Ô+ˆCØ×#Ò# C¨Ñ2Ô2Ð2Ð2ð	3ð 	3r   c                 ó  — t           } t          d¬¦  «        |¦  «        }t          j        d¦  «        ddg}d}|D ]P} |||¦  «        } |||¦  «        }|                      ||¦  «         |                      |j        d         ¦  «         ŒQd S )NTrÿ   é{   r   Ú	WRITEABLE)r2   r   r,   rÛ   r±   ÚassertFalserå   )r§   r   r  r  r1   r(   r³   r´   s           r   Útest_broadcast_to_0d_arrayz0TestArrayManipulation.test_broadcast_to_0d_arrayï  s±   € Ý#ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆõ ŒH�S‰MŒMØØð
ˆð ˆØð 	5ð 	5ˆCØ�v˜c 5Ñ)Ô)ˆHØ�%˜˜UÑ#Ô#ˆCØ×#Ò# H¨cÑ2Ô2Ð2à×Ò˜SœY {Ô3Ñ4Ô4Ð4Ð4ð	5ð 	5r   c                 óp  — t           } t          d¬¦  «        |¦  «        }t          j        d¦  «        dt          dgt          j        d¦  «        dt          dgt          j        d¦  «        dt          dgddt          dgddt          dgt          j        d¦  «        dt
          d	gt          j        d¦  «        d
t
          d	gt          j        d¦  «        dt
          d	gt          j        d¦  «        dt
          d	gt          j        d¦  «        dt
          dgt          j        d¦  «        dt
          dgt          j        d¦  «        dt
          dgt          j        d¦  «        dt
          dgt          j        d¦  «        dt
          dgt          j        d¦  «        dt          dgddt          dgddt          dgg}|                      ¦   «          |D ]h\  }}}}|                      |¦  «        5 } |||¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |t          |j
        ¦  «        ¦  «         Œid S )NTrÿ   rÕ   r   z/Cannot broadcast a non-scalar to a scalar arrayrù   rÜ  )râ  z=operands could not be broadcast together with remapped shapesrÅ  r  rÙ   r  ©rc   rc   zDinput operand has more dimensions than allowed by the axis remappingrÞ  r�   z4all elements of broadcast shape must be non-negativerÒ   )r�   rb   ©gš™™™™™ñ?gš™™™™™@z7The second argument "shape" must be a tuple of integersr$  z-The first argument "array" must be array-likera   )rb   rA   z*object cannot be interpreted as an integer)r2   r   r,   r  r   rÅ   rÜ   r»   r  r½   r¾   )	r§   r   r  r{  r(   Útarget_shapeÚerrrc  rÀ   s	            r   Útest_broadcast_to_raisesz.TestArrayManipulation.test_broadcast_to_raises  s|  € Ý#ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆõ
 ŒX�d‰^Œ^˜R¥Ø>ð@åŒX�d‰^Œ^˜R¥Ø>ð@åŒX�d‰^Œ^˜R¥Ø>ð@à�•[Ø>ð@à�R�Ø>ð@åŒX�d‰^Œ^˜T¥:ØLðNåŒX�d‰^Œ^˜T¥:ØLðNåŒX�d‰^Œ^˜T¥:ØLðNåŒX�fÑÔ˜v¥zØLðNåŒX�fÑÔ˜t¥ZØSðUåŒX�fÑÔ˜t¥ZØSðUåŒX�d‰^Œ^˜R¥ØCðEåŒX�d‰^Œ^˜U¥JØCðEåŒX�fÑÔ˜w­
ØCðEåŒX�fÑÔ˜z­;ØFðHà�d�KØ<ð>à��+Ø9ð;ðC#
ˆðH 	×ÒÑ!Ô!Ð!Ø+/ð 	6ð 	6Ñ'ˆC�˜s CØ×"Ò" 3Ñ'Ô'ð )¨6Ø��c˜<Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )à�MŠM˜#�s 6Ô#3Ñ4Ô4Ñ5Ô5Ð5Ð5ð	6ð 	6s   Ç)HÈH	È	H	c                 óŽ   — t           d„ ¦   «         }|                     ¦   «         } |¦   «         }|                      ||¦  «         d S )Nc                  ó,   — t          j        dd¦  «        S )NrA   r  r/   r   r   r   Ú_broadcast_to_1zMTestArrayManipulation.test_broadcast_to_corner_cases.<locals>._broadcast_to_16  s   € å”? 3¨Ñ/Ô/Ð/r   )r   r¥  r±   )r§   rî  r³   r´   s       r   Útest_broadcast_to_corner_casesz4TestArrayManipulation.test_broadcast_to_corner_cases5  sW   € Ý	ð	0ð 	0ñ 
Œð	0ð #×*Ò*Ñ,Ô,ˆØˆoÑÔˆØ×Ò ¨#Ñ.Ô.Ð.Ð.Ð.r   c                 óL  — t           } t          d¬¦  «        |¦  «        }t          j        dt          j        ¬¦  «        }d} |||¦  «        }d|d<   |                      |                     ¦   «         d¦  «         |                      |                     ¦   «         d¦  «         d S )	NTrÿ   rb   r  rÞ  rV  r   rW  )r2   r   r,   r  r¯  r·   Úsum)r§   r   r  rß  r1   Úviews         r   Útest_broadcast_to_change_viewz3TestArrayManipulation.test_broadcast_to_change_view>  sš   € Ý#ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆÝ”h˜q­¬Ð1Ñ1Ô1ˆØˆØˆu�[ %Ñ(Ô(ˆØˆ�A‰à×Ò˜ŸšÑ*Ô*¨BÑ/Ô/Ð/Ø×Ò˜Ÿš™œ RÑ(Ô(Ð(Ð(Ð(r   c                 óè   — t           } t          d¬¦  «        |¦  «        }t          j        d¦  «        ddgg}|D ]6\  }}} ||||¦  «        } ||||¦  «        }|                      ||¦  «         Œ7d S )NTrÿ   rb   rÞ  rù   )r=   r   r,   rÁ  r±   )	r§   r   r  r{  rß  r1   r<   r³   r´   s	            r   Útest_broadcast_to_indexingz0TestArrayManipulation.test_broadcast_to_indexingI  s›   € Ý,ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆåŒW�Q‰ZŒZ˜ Ð&ð
ˆð (,ð 	3ð 	3Ñ#ˆK˜ Ø�v˜k¨5°#Ñ6Ô6ˆHØ�%˜ U¨CÑ0Ô0ˆCØ×#Ò# C¨Ñ2Ô2Ð2Ð2ð	3ð 	3r   c                 óº   — t           d„ ¦   «         }t          j        d¦  «        }|                     |¦  «        } ||¦  «        }|                      ||¦  «         d S )Nc                 óV   — t          j        | d¦  «        }||j        |j        |j        fS )Nr  )r,   r0   rI   r1   r{   )r(   Úrets     r   r÷   z@TestArrayManipulation.test_broadcast_to_array_attrs.<locals>.fooW  s(   € å”/ # vÑ.Ô.ˆCØ˜œ #¤)¨S¬[Ð8Ð8r   ra   )r   r,   rd   r¥  r±   )r§   r÷   r(   r³   r´   s        r   Útest_broadcast_to_array_attrsz3TestArrayManipulation.test_broadcast_to_array_attrsT  sf   € õ 
ð	9ð 	9ñ 
Œð	9õ Œi˜‰lŒlˆà—;’;˜sÑ#Ô#ˆØˆc�#‰hŒhˆØ×Ò ¨#Ñ.Ô.Ð.Ð.Ð.r   c                 ób  — t           } t          d¬¦  «        |¦  «        }dgddgdgdgdgddgg d¢d	gd
dgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgg}|D ]=} ||Ž } ||Ž }|                      |t          ¦  «         |                      ||¦  «         Œ>d S )NTrÿ   r   ©r¡  rÙ   rç  )ra   rÊ   ))rË   r¡  ©rÑ   rË   rc   rû  )rÑ   rc   r¡  rü  r  ©ra   rc   rY  rØ   rX  rÕ   rù   rÜ  rb   rZ  )r6   r   ÚassertIsInstancer  r±   )r§   r   r  r{  Úinput_shaper³   r´   s          r   Útest_broadcast_shapesz+TestArrayManipulation.test_broadcast_shapesb  sI  € Ý'ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆð ˆDØ�ˆHØˆFØˆIØˆHØ�VÐØ0Ð0Ð0ØˆKØ�VÐØ�VÐØ�VÐØ�VÐØ�VÐØ�VÐØ�VÐØ�ˆJØ�6ˆNØ�6ˆNØ�6ˆNØ�ˆLØ�TˆNØ�6ˆNØ�6ˆNØ�ˆLØ�ˆLØ�4ˆLØ�ˆKð9
ˆð<  ð 	3ð 	3ˆKØ�v˜{Ð+ˆHØ�%˜Ð%ˆCØ×!Ò! #¥uÑ-Ô-Ð-Ø×#Ò# H¨cÑ2Ô2Ð2Ð2ð		3ð 	3r   c                 ó^  — t           } t          d¬¦  «        |¦  «        }|                      ¦   «          ddgddgg d¢dd	gg d
¢ddgg}|D ]a}|                      t          ¦  «        5 } ||Ž  d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         Œbd S )NTrÿ   rÜ  r  r  rÅ  ©rÜ  rÜ  r  ©rc   ra   rÊ   ©rb   ra   ra   )rÙ   rý  rZ  )rV  rÑ   rb   ú=shape mismatch: objects cannot be broadcast to a single shape©r6   r   rÜ   r»   rÅ   r  r½   r¾   )r§   r   r  r{  rÿ  rÀ   s         r   Útest_broadcast_shapes_raisesz2TestArrayManipulation.test_broadcast_shapes_raisesŒ  s'  € Ý'ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆà×ÒÑ!Ô!Ð!ð
 �4ˆLØ�TˆNØÐÐØ˜	Ð"Ø-Ð-Ð-Ø�ˆKð
ˆð  ð 	1ð 	1ˆKØ×"Ò"¥:Ñ.Ô.ð $°&Ø��{Ð#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð �MŠMÐYÝ˜fÔ.Ñ/Ô/ñ1ô 1ð 1ð 1ð		1ð 	1s   Á'A9Á9A=	Â A=	c                 ó<  — t           } t          d¬¦  «        |¦  «        }|                      ¦   «          |                      t          ¦  «        5 } |ddd¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         d S )NTrÿ   rÙ   rb   rÓ   z#negative dimensions are not allowedr  )r§   r   r  rÀ   s       r   Ú(test_broadcast_shapes_negative_dimensionz>TestArrayManipulation.test_broadcast_shapes_negative_dimension£  sÕ   € Ý'ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆà×ÒÑ!Ô!Ð!Ø×Ò�zÑ*Ô*ð 	%¨fØˆE�&˜1 Ñ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	�ŠÐ;½SÀÔAQÑ=RÔ=RÑSÔSÐSÐSÐSs   ÁA)Á)A-Á0A-c                 ó>  — t           } t          d¬¦  «        |¦  «        }|                      ¦   «          g d¢}|D ]a}|                      t          ¦  «        5 } ||Ž  d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         Œbd S )NTrÿ   ))rÙ   )r$  )g333333@)Ústring©rø   rA   )rc   r  z#must be either an int or tuple[int])r6   r   rÜ   r»   r   r  r½   r¾   )r§   r   r  ÚinpsÚinprÀ   s         r   Ú"test_broadcast_shapes_invalid_typez8TestArrayManipulation.test_broadcast_shapes_invalid_type­  sù   € Ý'ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆà×ÒÑ!Ô!Ð!ð
ð 
ð 
ˆð ð 	Xð 	XˆCØ×"Ò"¥;Ñ/Ô/ð °6Ø��s��ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �MŠMÐ?ÅÀVÔEUÑAVÔAVÑWÔWÐWÐWð		Xð 	Xs   ÁA)Á)A-	Á0A-	c                 ó¦  ‡ ‡‡— t           Š t          d¬¦  «        ‰¦  «        Šˆˆˆ fd„}dD ]!}t          j        |¦  «        } ||¦  «         Œ"dddgddgdd	ggd
dfD ]} ||¦  «         Œ‰                      t
          ¦  «        5 } ‰d¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                      dt          |j        ¦  «        ¦  «         d S )NTrÿ   c                 ó`   •—  ‰| ¦  «        } ‰| ¦  «        }‰                      ||¦  «         d S r%   rM  )r†   r³   r´   r  r   r§   s      €€€r   rµ   z/TestArrayManipulation.test_shape.<locals>.checkÅ  s9   ø€ Ø�v˜a‘y”yˆHØ�%˜‘(”(ˆCØ×#Ò# C¨Ñ2Ô2Ð2Ð2Ð2r   )r   rù   r  )rÊ   rÑ   rË   rc   Frb   ra   rÊ   rù   rÝ  rA   z+The argument to np.shape must be array-like)	r–   r   r,   Úemptyr»   r   r  r½   r¾   )r§   rµ   Útr(   rÀ   r  r   s   `    @@r   Ú
test_shapez TestArrayManipulation.test_shapeÁ  sV  øøø€ ÝˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆð	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 0ð 	ð 	ˆAÝ”(˜1‘+”+ˆCØˆE�#‰JŒJˆJˆJð �U˜Q˜D A q 7¨A¨q¨6Ð"2°D¸)ÐDð 	ð 	ˆAØˆE�#‰JŒJˆJˆJà×Ò�{Ñ+Ô+ð 	¨vØˆE�#‰JŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	�ŠÐCÝ˜&Ô*Ñ+Ô+ñ	-ô 	-ð 	-ð 	-ð 	-s   ÂBÂB"Â%B"c                 óÄ   ‡ — t           } t          d¬¦  «        |¦  «        }ˆ fd„} |¦   «         D ].} ||¦  «        } ||¦  «        }‰                      ||¦  «         Œ/d S )NTrÿ   c               3   ó¾  •K  — t          j        dd¦  «        V — t          j        dd¬¦  «        V — t          j        g ¦  «        V — ‰j                             d¦  «        } d| t          j        | ¦  «        dk    <   | V — |                      ddd¦  «        V — |                      d	d
d¬¦  «        V — |                      dd¦  «        dd d
…         V — | dz  V — d S )Nrþ   rÑ   r   ©Ú
fill_valueéd   ç        çš™™™™™É?rÊ   é2   rb   rn  rƒ  rÎ   rc   r3  )r,   rd   ÚfullrÛ   ÚrandomÚrandnÚabsr&   ©rA   r§   s    €r   Úa_variationszBTestArrayManipulation.test_flatnonzero_basic.<locals>.a_variationsÝ  sò   øè è € Ý”)˜B Ñ"Ô"Ð"Ð"Ð"Ý”'˜!¨Ð*Ñ*Ô*Ð*Ð*Ð*Ý”(˜2‘,”,ÐÐÐØ”×!Ò! #Ñ&Ô&ˆAØ!$ˆA�bŒf�Q‰iŒi˜#ŠoÑØˆGˆGˆGØ—)’)˜A˜q !Ñ$Ô$Ð$Ð$Ð$Ø—)’)˜B ¨�)Ñ-Ô-Ð-Ð-Ð-Ø—)’)˜B Ñ"Ô" 1 4 a 4Ô(Ð(Ð(Ð(Ø�b‘&ˆLˆLˆLˆLˆLr   )r™   r   r±   ©r§   r   r  r"  rA   r³   r´   s   `      r   Útest_flatnonzero_basicz,TestArrayManipulation.test_flatnonzero_basicÙ  s�   ø€ Ý"ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆð
	ð 
	ð 
	ð 
	ð 
	ð �‘”ð 	3ð 	3ˆAØ�v˜a‘y”yˆHØ�%˜‘(”(ˆCØ×#Ò# H¨cÑ2Ô2Ð2Ð2ð	3ð 	3r   c                 óÄ   ‡ — t           } t          d¬¦  «        |¦  «        }ˆ fd„} |¦   «         D ].} ||¦  «        } ||¦  «        }‰                      ||¦  «         Œ/d S )NTrÿ   c               3   ó*  •K  — t          j        dd¦  «        dk    V — t          j        dd¬¦  «        V — t          j        dd¬¦  «        V — t          j        g ¦  «        V — t          j        g d¢¦  «        V — ‰j                             d¦  «        } | d	k    V — |                      ddd
¦  «        dk    V — |                      ddd¬¦  «        dk    V — |                      dd
¦  «        dd d…         dk    V — | | dz
  k    V — | |  k    V — d S )Nrþ   rÑ   rb   r   r  rc   )g      ð¿r  r‰   r  r  rÊ   g      à?r  rn  rƒ  rÎ   )r,   rd   r  rÛ   r  r  r&   r!  s    €r   r"  z?TestArrayManipulation.test_argwhere_basic.<locals>.a_variationsò  sB  øè è € Ý”)˜B Ñ"Ô" QÒ&Ð&Ð&Ð&Ý”'˜!¨Ð*Ñ*Ô*Ð*Ð*Ð*Ý”'˜!¨Ð*Ñ*Ô*Ð*Ð*Ð*Ý”(˜2‘,”,ÐÐÐÝ”(Ð+Ð+Ð+Ñ,Ô,Ð,Ð,Ð,Ø”×!Ò! #Ñ&Ô&ˆAØ�c’'ˆMˆMˆMØ—)’)˜A˜q !Ñ$Ô$ sÒ*Ð*Ð*Ð*Ø—)’)˜B ¨�)Ñ-Ô-°Ò3Ð3Ð3Ð3Ø—)’)˜B Ñ"Ô" 1 4 a 4Ô(¨3Ò.Ð.Ð.Ð.Ø�q˜1‘u’*ÐÐÐØ�q�b’&ˆLˆLˆLˆLˆLr   )rœ   r   r±   r#  s   `      r   Útest_argwhere_basicz)TestArrayManipulation.test_argwhere_basicî  s�   ø€ ÝˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆð	ð 	ð 	ð 	ð 	ð �‘”ð 	3ð 	3ˆAØ�v˜a‘y”yˆHØ�%˜‘(”(ˆCØ×#Ò# H¨cÑ2Ô2Ð2Ð2ð	3ð 	3r   c               #   óš   K  — dV — dV — ddgddgfV — dV — t           j        V — dV — dV — dV — d	V — d
V — dV — d V — dV — dV — d S )N)rè  )rÖ  gš™™™™™@)g      @gffffff@)r  r‰   r  g      Àr   rc   rb   ra   r   FTrÐ  y       @      ð?Úa_stringÚ )r,   r¼  r   r   r   Úarray_like_variationsz+TestArrayManipulation.array_like_variations  s¦   è è € à2Ð2Ð2Ð2Ø#Ð#Ð#Ð#Ø�1ˆv˜˜1�vÐÐÐÐØˆˆˆÝŒfˆˆˆØˆˆˆØˆˆˆØˆˆˆØˆ
ˆ
ˆ
Ø!Ð!Ð!Ð!Øˆˆˆàˆ
ˆ
ˆ
ØÐÐÐØˆˆˆˆˆr   c                 óÌ   — t           } t          d¬¦  «        |¦  «        }|                      ¦   «         D ].} ||¦  «        } ||¦  «        }|                      ||¦  «         Œ/d S rB  )r™   r   r+  r±   ©r§   r   r  rA   r³   r´   s         r   Útest_flatnonzero_array_likez1TestArrayManipulation.test_flatnonzero_array_like  sy   € Ý"ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆà×+Ò+Ñ-Ô-ð 	3ð 	3ˆAØ�v˜a‘y”yˆHØ�%˜‘(”(ˆCØ×#Ò# H¨cÑ2Ô2Ð2Ð2ð	3ð 	3r   c                 óÌ   — t           } t          d¬¦  «        |¦  «        }|                      ¦   «         D ].} ||¦  «        } ||¦  «        }|                      ||¦  «         Œ/d S rB  )rœ   r   r+  r±   r-  s         r   Útest_argwhere_array_likez.TestArrayManipulation.test_argwhere_array_like!  sy   € ÝˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆØ×+Ò+Ñ-Ô-ð 	3ð 	3ˆAØ�v˜a‘y”yˆHØ�%˜‘(”(ˆCØ×#Ò# H¨cÑ2Ô2Ð2Ð2ð	3ð 	3r   c                 óÒ   — t           } t          d¬¦  «        |¦  «        }d„ |D ¦   «         } ||Ž }|gt          |¦  «        z  }d„ |D ¦   «         }|                      ||¦  «         d S )NTrÿ   c                 ó6   — g | ]}t          j        |¦  «        ‘ŒS r   ©r,   r  ©r   Úss     r   r   zOTestArrayManipulation.broadcast_arrays_assert_correct_shape.<locals>.<listcomp>/  s    € Ð6Ð6Ð6 A•B”H˜Q‘K”KÐ6Ð6Ð6r   c                 ó   — g | ]	}|j         ‘Œ
S r   ©r1   ©r   rA   s     r   r   zOTestArrayManipulation.broadcast_arrays_assert_correct_shape.<locals>.<listcomp>2  ó   € Ð*Ð*Ð*˜1ˆqŒwÐ*Ð*Ð*r   ©r:   r   r  r±   )	r§   Úinput_shapesr¸   r   r  ÚinarraysÚ	outarraysr³   r´   s	            r   Ú%broadcast_arrays_assert_correct_shapez;TestArrayManipulation.broadcast_arrays_assert_correct_shape)  s„   € õ (ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆà6Ð6¨Ð6Ñ6Ô6ˆØ�E˜8Ð$ˆ	Ø"Ð#¥c¨(¡m¤mÑ3ˆØ*Ð* 	Ð*Ñ*Ô*ˆØ×Ò ¨#Ñ.Ô.Ð.Ð.Ð.r   c                 óô   — t           } t          d¬¦  «        |¦  «        }g d¢}|D ]P}|g}|                      ||¦  «         ||g}|                      ||¦  «         |||g}|                      ||¦  «         ŒQd S )NTrÿ   )	rù   rÜ  rX  rh  rY  )ra   r   r  rý  rÕ  )r:   r   r>  )r§   r   r  r{  r1   r;  Úinput_shapes2Úinput_shapes3s           r   Ú'test_broadcast_arrays_same_input_shapesz=TestArrayManipulation.test_broadcast_arrays_same_input_shapes5  s´   € õ (ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆð
ð 
ð 
ˆð ð 		Mð 		MˆEØ!˜7ˆLà×6Ò6°|ÀUÑKÔKÐKà" E˜NˆMØ×6Ò6°}ÀeÑLÔLÐLà" E¨5Ð1ˆMØ×6Ò6°}ÀeÑLÔLÐLÐLð		Mð 		Mr   c                 ó  — ddgdgddgdgddgdgddgdgddgdgddgdgddgdgddgdgd	dgdgdd	gdgddgdgddgdgdd	gd	gg}|D ]:\  }}|                       ||¦  «         |                       |d d d
…         |¦  «         Œ;d S )Nrù   rÜ  r  rÕ  rý  rç  rY  rØ   rX  r�   ©r>  ©r§   r{  r;  r¸   s       r   Ú9test_broadcast_arrays_two_compatible_by_ones_input_shapeszOTestArrayManipulation.test_broadcast_arrays_two_compatible_by_ones_input_shapesS  s  € ð �Dˆ\˜4Ð Ø�fÐ˜vÐ&Ø�fÐ˜vÐ&Ø�fÐ˜vÐ&Ø�fÐ˜vÐ&Ø�fÐ˜vÐ&Ø�fÐ˜vÐ&Ø�fÐ˜vÐ&Ø�fÐ˜vÐ&Ø�fÐ˜vÐ&Ø�fÐ˜vÐ&Ø�fÐ˜vÐ&Ø�fÐ˜vÐ&ð
ˆð -1ð 	[ð 	[Ñ(ˆL˜.Ø×6Ò6°|À^ÑTÔTÐTà×6Ò6°|ÀDÀDÀbÀDÔ7IÈ>ÑZÔZÐZÐZð	[ð 	[r   c                 óL  — ddgdgddgdgddgdgddgdgddgdgddgdgddgdgddgdgddgdgddgdgddgdgdd	gd	gdd
gd	gdd	gd	gdd	gd	gddgdgdd
gd
gddgdgddgdgdd
gd
gg}|D ]:\  }}|                       ||¦  «         |                       |d d d…         |¦  «         Œ;d S )Nr   rÜ  rÕ  rý  rù   rç  r  rÕ   rØ   rX  rY  r�   rD  rE  s       r   ÚDtest_broadcast_arrays_two_compatible_by_prepending_ones_input_shapeszZTestArrayManipulation.test_broadcast_arrays_two_compatible_by_prepending_ones_input_shapesm  sY  € ð �$ˆZ˜ÐØ�Fˆ^˜VÐ$Ø�Fˆ^˜VÐ$Ø�Fˆ^˜VÐ$Ø�&ˆ\˜6Ð"Ø�dˆ^˜VÐ$Ø�Fˆ^˜VÐ$Ø�Fˆ^˜VÐ$Ø�&ˆ\˜6Ð"Ø�&ˆ\˜6Ð"Ø�$ˆZ˜ÐØ�Fˆ^˜VÐ$Ø�Fˆ^˜VÐ$Ø�Fˆ^˜VÐ$Ø�&ˆ\˜6Ð"Ø�dˆ^˜VÐ$Ø�Fˆ^˜VÐ$Ø�Fˆ^˜VÐ$Ø�&ˆ\˜6Ð"Ø�&ˆ\˜6Ð"ð)
ˆð, -1ð 	[ð 	[Ñ(ˆL˜.Ø×6Ò6°|À^ÑTÔTÐTà×6Ò6°|ÀDÀDÀbÀDÔ7IÈ>ÑZÔZÐZÐZð	[ð 	[r   c                 óì   — t           } t          d¬¦  «        |¦  «        }ddgdgddgdgddgdgg}|D ]?\  }} ||Ž }d	„ |D ¦   «         }|gt          |¦  «        z  }|                      ||¦  «         Œ@d S )
NTrÿ   Frù   rc   rb   rÙ   rÅ  c                 ó   — g | ]	}|j         ‘Œ
S r   r7  r8  s     r   r   zLTestArrayManipulation.test_broadcast_arrays_scalar_input.<locals>.<listcomp>˜  s   € Ð.Ð.Ð.˜q�1”7Ð.Ð.Ð.r   r:  )	r§   r   r  r{  r<  r¸   r=  r´   r³   s	            r   Ú"test_broadcast_arrays_scalar_inputz8TestArrayManipulation.test_broadcast_arrays_scalar_inputŽ  s¶   € Ý'ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆà�Eˆ]˜DÐ!Ø�ˆV�TˆNØ�aˆ[˜$Ðð
ˆð
 )-ð 	3ð 	3Ñ$ˆH�nØ˜˜xÐ(ˆIØ.Ð. IÐ.Ñ.Ô.ˆCØ&Ð'­#¨h©-¬-Ñ7ˆHØ×#Ò# H¨cÑ2Ô2Ð2Ð2ð		3ð 	3r   c                 óª   — t           } t          d¬¦  «        |¦  «        } |dd¦  «        }ddg}d„ |D ¦   «         }|                      ||¦  «         d S )NTrÿ   )râ  iÈ  )i  rÅ  c                 ó   — g | ]	}|j         ‘Œ
S r   r7  r8  s     r   r   zKTestArrayManipulation.test_broadcast_arrays_tuple_input.<locals>.<listcomp>¡  r9  r   )r:   r   r±   ©r§   r   r  r=  r³   r´   s         r   Ú!test_broadcast_arrays_tuple_inputz7TestArrayManipulation.test_broadcast_arrays_tuple_inputœ  sj   € Ý'ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆØ�E˜* fÑ-Ô-ˆ	Ø˜$�<ˆØ*Ð* 	Ð*Ñ*Ô*ˆØ×Ò ¨#Ñ.Ô.Ð.Ð.Ð.r   c                 ó
  — t           } t          d¬¦  «        |¦  «        } |t          j        d¦  «        t          j        dt          j        ¬¦  «        ¦  «        }ddg}d„ |D ¦   «         }|                      ||¦  «         d S )NTrÿ   rb   r  r  c                 ó   — g | ]	}|j         ‘Œ
S r   r7  r8  s     r   r   zOTestArrayManipulation.test_broadcast_arrays_non_array_input.<locals>.<listcomp>©  r9  r   )r:   r   r,   Úintpr  r±   rN  s         r   Ú%test_broadcast_arrays_non_array_inputz;TestArrayManipulation.test_broadcast_arrays_non_array_input¤  s„   € Ý'ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆØ�E�"œ' !™*œ*¥b¤h¨v½R¼WÐ&EÑ&EÔ&EÑFÔFˆ	Ø˜FÐ#ˆØ*Ð* 	Ð*Ñ*Ô*ˆØ×Ò ¨#Ñ.Ô.Ð.Ð.Ð.r   c                 óŒ  — t           } t          d¬¦  «        |¦  «        }|                      ¦   «          |                      t          ¦  «        5 }t          j        d¦  «                             d¦  «        }d} |||¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |j
        ¦  «        ¦  «         d S )NTrÿ   rË   r  zMismatch of argument types)r:   r   rÜ   r»   r   r,   rd   r&   r  r½   r¾   )r§   r   r  rÀ   r(   rÍ  s         r   Ú/test_broadcast_arrays_invalid_mixed_input_typeszETestArrayManipulation.test_broadcast_arrays_invalid_mixed_input_types¬  sð   € Ý'ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆà×ÒÑ!Ô!Ð!à×Ò�{Ñ+Ô+ð 	¨vÝ”)˜A‘,”,×&Ò& vÑ.Ô.ˆCØˆAØˆE�#�q‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	�ŠÐ2µC¸Ô8HÑ4IÔ4IÑJÔJÐJÐJÐJs   Á6BÂBÂBc                 ó~  — t           } t          d¬¦  «        |¦  «        }|                      ¦   «          |                      t          ¦  «        5 }t          j        dt
          j        ¬¦  «        }d} |||¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |j
        ¦  «        ¦  «         d S )NTrÿ   ra   r  zhello worldzArgument "1" must be array-like)r:   r   rÜ   r»   r   r,   r  rØ  r  r½   r¾   )r§   r   r  rÀ   r(   r5  s         r   Ú#test_broadcast_arrays_invalid_inputz9TestArrayManipulation.test_broadcast_arrays_invalid_input¸  së   € Ý'ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆà×ÒÑ!Ô!Ð!à×Ò�{Ñ+Ô+ð 	¨vÝ”(˜1¥B¤HÐ-Ñ-Ô-ˆCØˆAØˆE�#�q‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	�ŠÐ7½¸VÔ=MÑ9NÔ9NÑOÔOÐOÐOÐOs   Á/B
Â
BÂBc                 óŠ  — t           } t          d¬¦  «        |¦  «        }|                      ¦   «          ddgddgg d¢dd	gg}|D ]}}||d d d
…         fD ]m}|                      t          ¦  «        5 }d„ |D ¦   «         } ||Ž  d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         ŒnŒ~d S )NTrÿ   rÜ  r  r  rÅ  r  r  r  r�   c                 ó6   — g | ]}t          j        |¦  «        ‘ŒS r   r3  r4  s     r   r   zdTestArrayManipulation.test_broadcast_arrays_incompatible_shapes_raise_valueerror.<locals>.<listcomp>Õ  s    € Ð;Ð;Ð;°¥¤¨¡¤Ð;Ð;Ð;r   r  )r:   r   rÜ   r»   rÅ   r  r½   r¾   )r§   r   r  r{  r;  r1   rÀ   r<  s           r   Ú:test_broadcast_arrays_incompatible_shapes_raise_valueerrorzPTestArrayManipulation.test_broadcast_arrays_incompatible_shapes_raise_valueerrorÄ  sN  € å'ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆà×ÒÑ!Ô!Ð!ð �4ˆLØ�TˆNØÐÐØ˜	Ð"ð	
ˆð !ð 	5ð 	5ˆLØ&¨°T°T°r°TÔ(:Ð;ð 5ð 5�à×&Ò&¥zÑ2Ô2ð %°fØ;Ð;°UÐ;Ñ;Ô;�HØ�E˜8Ð$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð —’Ð]Ý! &Ô"2Ñ3Ô3ñ5ô 5ð 5ð 5ð5ð	5ð 	5s   Á0BÂBÂBc                 ó  — d„ }|} t          d¬¦  «        |¦  «        } |t          j        g d¢g d¢g d¢g¦  «        d¦  «        } |t          j        g d¢g d¢g d¢g¦  «        d¦  «        }t          j                             ||¦  «         d S )Nc                 óþ   — | j         \  }}t          j        | |||f¦  «        }t          j        |dd¦  «        }|                     ¦   «         }t          j        |d|f¦  «        }|d d|z
  …         ||dz
  d …d d …f<   |S ©Nr   rc   r�   )r1   r,   r0   Úswapaxesr?   r&   ©r†   rŠ   ÚrÚcrA   rÍ  ÚccÚds           r   Úunfold_flattenzITestArrayManipulation.test_readonly_after_flatten.<locals>.unfold_flattenÜ  sƒ   € Ø”7‰DˆAˆqÝ”  A q¨! 9Ñ-Ô-ˆAÝ”˜A˜q !Ñ$Ô$ˆAØ—’‘”ˆBÝ”
˜2  A˜wÑ'Ô'ˆAØ˜W˜q 1™u˜Wœ:ˆAˆa�!‰eˆfˆf�a�a�aˆi‰LØˆHr   Trÿ   r¸  ©rb   rb   rb   ©ra   ra   ra   rb   ©r   r,   rÛ   rô   Úassert_array_equal)r§   rd  r   r  Úres_nbÚres_pys         r   Útest_readonly_after_flattenz1TestArrayManipulation.test_readonly_after_flattenÚ  s®   € ð	ð 	ð 	ð  ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆð �•r”x   ¨I¨I¨I°y°y°yÐ AÑBÔBÀAÑFÔFˆØ��œ ) ) )¨Y¨Y¨Y¸	¸	¸	Ð!BÑCÔCÀQÑGÔGˆå
Œ
×%Ò% f¨fÑ5Ô5Ð5Ð5Ð5r   c                 ó  — d„ }|} t          d¬¦  «        |¦  «        } |t          j        g d¢g d¢g d¢g¦  «        d¦  «        } |t          j        g d¢g d¢g d¢g¦  «        d¦  «        }t          j                             ||¦  «         d S )Nc                 óþ   — | j         \  }}t          j        | |||f¦  «        }t          j        |dd¦  «        }|                     ¦   «         }t          j        |d|f¦  «        }|d d|z
  …         ||dz
  d …d d …f<   |S r]  )r1   r,   r0   r^  rF   r&   r_  s           r   Úunfold_ravelzETestArrayManipulation.test_readonly_after_ravel.<locals>.unfold_ravelð  sƒ   € Ø”7‰DˆAˆqÝ”  A q¨! 9Ñ-Ô-ˆAÝ”˜A˜q !Ñ$Ô$ˆAØ—’‘”ˆBÝ”
˜2  A˜wÑ'Ô'ˆAØ˜W˜q 1™u˜Wœ:ˆAˆa�!‰eˆfˆf�a�a�aˆi‰LØˆHr   Trÿ   r¸  re  rf  rb   rg  )r§   rn  r   r  ri  rj  s         r   Útest_readonly_after_ravelz/TestArrayManipulation.test_readonly_after_ravelî  s®   € ð	ð 	ð 	ð ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆð �•r”x   ¨I¨I¨I°y°y°yÐ AÑBÔBÀAÑFÔFˆØ��œ ) ) )¨Y¨Y¨Y¸	¸	¸	Ð!BÑCÔCÀQÑGÔGˆå
Œ
×%Ò% f¨fÑ5Ô5Ð5Ð5Ð5r   c                 óî  — |                       ¦   «          t          j        d¦  «                             d¦  «                             ¦   «         }|                     d¬¦  «        }d|j        _        d|j        _        d„ }|} t          d¬¦  «        |¦  «        } ||¦  «        } ||¦  «        }d	}|                      |j        j         |¦  «         d
}|                      |j        j        |¦  «         d S )Nrm  rÕ  rn  rƒ  Fc                 ó.   — |                       ¦   «         }|S r%   rE   )rA   r!   s     r   Útry_ravel_w_copyzKTestArrayManipulation.test_mutability_after_ravel.<locals>.try_ravel_w_copy  s   € Ø—W’W‘Y”YˆFØˆMr   Trÿ   zCNo copy was performed, so the resulting array must not be writeablez?A copy was performed, yet the resulting array is not modifiable)	rÜ   r,   rd   r&   rZ   rå   rT  r   Ú
assertTrue)	r§   Úa_cÚa_frr  r   r  Úret_cÚret_frc  s	            r   Útest_mutability_after_ravelz1TestArrayManipulation.test_mutability_after_ravel  sõ   € ð 	×ÒÑ!Ô!Ð!ÝŒi˜‰lŒl×"Ò" 6Ñ*Ô*×/Ò/Ñ1Ô1ˆØ�hŠh˜SˆhÑ!Ô!ˆØ#ˆŒ	ÔØ#ˆŒ	Ôð	ð 	ð 	ð "ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆà��c‘
”
ˆØ��c‘
”
ˆð6ˆà�Š˜EœKÔ1Ð1°3Ñ7Ô7Ð7àOˆØ�Š˜œÔ-¨sÑ3Ô3Ð3Ð3Ð3r   )CÚ__name__Ú
__module__Ú__qualname__Ú__doc__r¥   rÝ   r	  r  r  r"  r&  r@  rD  rG  rI  rN  rQ  r_  rj  Úenable_pyobj_flagsrt  rw  r‡  r‹  rŽ  r�  r“  r•  r—  rš  r­  r²  rµ  rÑ  rÚ  rà  rå  rë  rï  ró  rõ  rù  r   r  r	  r  r  r$  r'  Ústaticmethodr+  r.  r0  r>  rB  rF  rH  rK  rO  rS  rU  rW  rZ  rk  ro  rx  Ú__classcell__)r¨   s   @r   r¢   r¢   »   s8  ø€ € € € € ðð ð)ð )ð )ð )ð )ðn"ð n"ð n"ð`\*ð \*ð \*ð|Oð Oð Oð.-ð -ð -ð6ð ð ð>Sð Sð Sð-$ð -$ð -$ð^-ð -ð -ð
-ð -ð -ð
-ð -ð -ð
&ð &ð &ð+ð +ð +ð".ð ".ð ".ðHAð Að AðH (:À#ð /ð /ð /ð /ð&Bð Bð Bð
 &8ð !Pð !Pð !Pð !PðF +=ð 
/ð 
/ð 
/ð 
/ð4ð 4ð 4ð9ð 9ð 9ð *<ð ð ð ð ð8ð 8ð 8ð (:ð 
/ð 
/ð 
/ð 
/ð8ð 8ð 8ð*3ð *3ð *3ðXMð Mð Mð-ð -ð -ðFAð FAð FAðP,!ð ,!ð ,!ð\!3ð !3ð !3ðF5ð 5ð 5ð,.6ð .6ð .6ð`/ð /ð /ð	)ð 	)ð 	)ð	3ð 	3ð 	3ð/ð /ð /ð(3ð (3ð (3ðT1ð 1ð 1ð.Tð Tð TðXð Xð Xð(-ð -ð -ð03ð 3ð 3ð*3ð 3ð 3ð. ðð ñ „\ðð$3ð 3ð 3ð3ð 3ð 3ð
/ð 
/ð 
/ðMð Mð Mð<[ð [ð [ð4[ð [ð [ðB3ð 3ð 3ð/ð /ð /ð/ð /ð /ð
Kð 
Kð 
Kð
Pð 
Pð 
Pð5ð 5ð 5ð,6ð 6ð 6ð(6ð 6ð 6ð(4ð 4ð 4ð 4ð 4ð 4ð 4r   r¢   Ú__main__r%   )F)CÚ	functoolsr   Ú	itertoolsr   Únumpyr,   ÚunittestÚnumba.core.compilerr   r   Únumbar   r   r	   r
   Únumba.np.numpy_supportr   Únumba.core.errorsr   Ú
numba.corer   r   Únumba.tests.supportr   r   r   r   r}  Úenable_pyobjectrv  Únrtr#   r*   r-   r2   r6   r:   r=   rB   rG   rJ   rL   rP   rS   rX   r[   r]   r_   rl   ro   rq   rt   rw   ry   r   rƒ   r…   rŒ   r�   r”   r–   r™   rœ   r    r¢   ry  Úmainr   r   r   ú<module>rŽ     sƒ  ðØ Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð à €€€Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø )Ð )Ð )Ð )Ð )Ð )Ø $Ð $Ð $Ð $Ð $Ð $Ð $Ð $ð&ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð �U‘W”WÐ Ø%)Ð Ô "à�‘”€Ø€Ô ðð ð ð,!ð !ð !ð%ð %ð %ð'ð 'ð 'ð&ð &ð &ð&ð &ð &ð,ð ,ð ,ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ð(ð (ð (ð/ð /ð /ðð ð ð&ð &ð &ðð ð ðð ð ð#ð #ð #ð ð  ð  ð ð  ð  ð ð  ð  ð?ð ?ð ?ðLð Lð Lð ðPð Pð Pñ „ðPðð ð ðð ð ð,ð ,ð ,ð ,ðð ð ðð ð ðð ð ð#ð #ð #ð`4ð `4ð `4ð `4ð `4˜O¨Xñ `4ô `4ð `4ðF+ ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   