§
    2@ÄjÜ  ã                   ó   — 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	m
Z
mZ d dlmZ d dlmZmZ d dlmZmZ dd	iZd	d	d
œZd„ Ze	d„ ¦   «         Ze	d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"e	d„ ¦   «         Z#e	d„ ¦   «         Z$e	d„ ¦   «         Z%e	d„ ¦   «         Z&e	d„ ¦   «         Z'd„ Z(d„ Z)d„ Z*d „ Z+d!„ Z,d"„ Z-d#„ Z.e	d1d$„¦   «         Z/d%„ Z0d&„ Z1d2d(„Z2d)„ Z3d*„ Z4d+„ Z5d,„ Z6d-„ Z7 G d.„ d/ee¦  «        Z8e9d0k    r ej:        ¦   «          dS dS )3é    )Úpartial)ÚpermutationsN)ÚjitÚnjitÚ
from_dtypeÚtypeof)ÚTypingError)ÚtypesÚerrors)ÚTestCaseÚMemoryLeakMixinÚforceobjT)Ú_nrtÚnopythonc                 ó   ‡ — ˆ 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     €€€úTC:\Projects\Historical\venv\Lib\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+   +   s   € åŒ:�c˜8Ñ$Ô$Ð$r   c                 ó,   — t          j        | |¦  «        S r#   ©r*   Úbroadcast_to)r&   Úshapes     r   Únumpy_broadcast_tor0   0   s   € ÝŒ?˜3 Ñ&Ô&Ð&r   c                  ó   — t          j        | Ž S r#   )r*   Úbroadcast_shapes©r   s    r   Únumpy_broadcast_shapesr4   4   ó   € ÝÔ Ð%Ð%r   c                  ó   — t          j        | Ž S r#   )r*   Úbroadcast_arraysr3   s    r   Únumpy_broadcast_arraysr8   8   r5   r   c                 ó8   — t          j        | |¦  «        |         S r#   r-   )r&   r/   Úidxs      r   Únumpy_broadcast_to_indexingr;   <   s   € ÝŒ?˜3 Ñ&Ô& sÔ+Ð+r   c                 ó*   — |                       ¦   «         S r#   )Úflatten©Úas    r   Úflatten_arrayr@   @   ó   € Ø�9Š9‰;Œ;Ðr   c                 ó*   — |                       ¦   «         S r#   ©Úravelr>   s    r   Úravel_arrayrE   D   s   € Ø�7Š7‰9Œ9Ðr   c                 ó4   — |                       ¦   «         j        S r#   )rD   Úsizer>   s    r   Úravel_array_sizerH   H   s   € Ø�7Š7‰9Œ9Œ>Ðr   c                 ó*   — t          j        | ¦  «        S r#   )r*   rD   r>   s    r   Únumpy_ravel_arrayrJ   L   s   € ÝŒ8�A‰;Œ;Ðr   c                 ó*   — |                       ¦   «         S r#   ©Ú	transposer>   s    r   Útranspose_arrayrN   P   s   € Ø�;Š;‰=Œ=Ðr   c                 ó*   — t          j        | ¦  «        S r#   ©r*   rM   r>   s    r   Únumpy_transpose_arrayrQ   T   s   € ÝŒ<˜‰?Œ?Ðr   c                 ó.   — t          j        | |¬¦  «        S ©N)ÚaxesrP   ©r&   rT   s     r   Ú numpy_transpose_array_axes_kwargrV   X   s   € åŒ<˜ $Ð'Ñ'Ô'Ð'r   c                 óR   — t          j        | |¬¦  «                             ¦   «         S rS   )r*   rM   ÚcopyrU   s     r   Ú%numpy_transpose_array_axes_kwarg_copyrY   ]   s#   € åŒ<˜ $Ð'Ñ'Ô'×,Ò,Ñ.Ô.Ð.r   c                 ó,   — |                       |¦  «        S r#   rL   rU   s     r   Úarray_transpose_axesr[   b   s   € à�=Š=˜ÑÔÐr   c                 óP   — |                       |¦  «                             ¦   «         S r#   )rM   rX   rU   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   é   ra   )r*   r$   ÚarangeÚTrM   )ÚmÚnÚr1Úr2Úr_difÚzs         r   Útranspose_issue_4708rj   l   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_arrayrm   v   rA   r   c                 ó,   — t          j        | |¦  «        S r#   )r*   Úexpand_dims)r?   Úaxiss     r   ro   ro   z   s   € ÝŒ>˜!˜TÑ"Ô"Ð"r   c                  ó   — t          j        | Ž S r#   )r*   Ú
atleast_1dr3   s    r   rr   rr   ~   ó   € ÝŒ=˜$ÐÐr   c                  ó   — t          j        | Ž S r#   )r*   Ú
atleast_2dr3   s    r   ru   ru   ‚   rs   r   c                  ó   — t          j        | Ž S r#   )r*   Ú
atleast_3dr3   s    r   rw   rw   †   rs   r   c                 ó�   — | j         d         dz  f| j         dd …         z   }t          j        j                             | |¬¦  «        S )Nr   r`   ra   ©Ústrides)rz   r*   ÚlibÚstride_tricksÚ
as_strided)r?   rz   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 )Nr_   éÿÿÿÿra   )r/   rz   )r/   rz   r*   r{   r|   r}   )r?   Úwindowr/   rz   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)rp   )r*   r{   r|   Úsliding_window_view)ÚxÚwindow_shaperp   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)ra   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*   r/   r�   s    r   Únumpy_shaper•   ®   s   € ÝŒ8�C‰=Œ=Ðr   c                 ó*   — t          j        | ¦  «        S r#   )r*   rG   r�   s    r   Ú
numpy_sizer—   ±   s   € ÝŒ7�3‰<Œ<Ð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)r?   Ú	new_shapes     r   Únumpy_resizer¡   ¼   s   € ÝŒ9�Q˜	Ñ"Ô"Ð"r   c                   ó¦  — e 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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.„ Z0d/„ Z1e2d0„ ¦   «         Z3d1„ Z4d2„ Z5d3„ Z6d4„ Z7d5„ Z8d6„ Z9d7„ Z:d8„ Z;d9„ Z<d:„ Z=d;„ Z>d<„ Z?d=„ Z@d>„ ZAd?„ ZBd@S )AÚTestArrayManipulationz4
    Check shape-changing operations on arrays.
    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                 ó   —  | ||¦  «        S r#   r   )r   r&   r/   s      r   Úgeneric_runz=TestArrayManipulation.test_array_reshape.<locals>.generic_runÇ   s   € Ø�6˜#˜uÑ%Ô%Ð%r   c                 óÌ   •— |                       ||¦  «        }‰                     ¦   «           ‰| ||¦  «        }‰                     ||¦  «         ~‰                     ¦   «          d S r#   )Úpy_funcÚmemory_leak_setupÚassertPreciseEqualÚmemory_leak_teardown)r   r&   r/   ÚexpectedÚgotr¦   Úselfs        €€r   Úcheckz7TestArrayManipulation.test_array_reshape.<locals>.checkÊ   sl   ø€ à—~’~ c¨5Ñ1Ô1ˆHØ×"Ò"Ñ$Ô$Ð$Ø�+˜f c¨5Ñ1Ô1ˆCØ×#Ò# C¨Ñ2Ô2Ð2ØØ×%Ò%Ñ'Ô'Ð'Ð'Ð'r   c                 óê   •— ‰                      ¦   «           ‰| ||¦  «        }‰                     |j        |¦  «         ‰                     |j        |j        ¦  «         ~‰                     ¦   «          d S r#   )r©   ÚassertEqualr/   rG   r«   )r   r&   r/   Ú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&   r/   Ú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Ã   )é   é   )é   r_   )rÆ   ra   r_   )ra   rÆ   ra   ra   r_   ra   ©r`   r_   rÄ   r   )é   )rÆ   rÄ   )rÄ   r_   r`   )ra   rÄ   ra   r_   ra   r`   ra   ©rÅ   rÄ   )r`   é   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   )ra   r   r`   )r   é7   ra   r   r`   r€   rÌ   ©r   r€   ©r   r   )rÄ   r€   )rÄ   r   )r€   r   rÄ   )r   r   rÄ   r   ra   ©ra   r`   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   )r_   r`   r   )	r(   r+   r!   r*   rb   r$   rc   ÚarrayÚdisable_leak_check)
r®   r   r»   rÂ   r&   rÔ   r¯   rÀ   r³   r¦   s
   `     @@@@r   Útest_array_reshapez(TestArrayManipulation.test_array_reshapeÄ   sA  øøøøø€ Ý'Õ)<Ð=ˆð	&ð 	&ð 	&õ 
�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           	      ó  ‡ ‡— t           t          t          t          g}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        j        |j        j        ¦  «         ‰                     |j        j        |j        j        ¦  «         d S r#   )r¨   rª   r±   ÚflagsÚf_contiguousÚc_contiguous)r   r&   rT   r¬   r­   r®   s        €r   r¯   z>TestArrayManipulation.test_array_transpose_axes.<locals>.check9  s•   ø€ à—~’~ c¨4Ñ0Ô0ˆHØ�&˜˜dÑ#Ô#ˆ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&   rT   rº   r®   s       €r   Úcheck_err_axis_repeatedzPTestArrayManipulation.test_array_transpose_axes.<locals>.check_err_axis_repeatedC  s­   ø€ à×"Ò"¥:Ñ.Ô.ð "°&Ø��s˜DÑ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "à×Ò�S Ô!1Ñ2Ô2Ø9ñ;ô ;ð ;ð ;ð ;ó   œ5µ9¼9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_oobJ  s²   ø€ à×"Ò"¥:Ñ.Ô.ð "°&Ø��s˜DÑ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "à×Ò�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&   rT   r®   s      €r   Úcheck_err_invalid_argszOTestArrayManipulation.test_array_transpose_axes.<locals>.check_err_invalid_argsQ  s’   ø€ à×"Ò"¥I­{Ð#;Ñ<Ô<ð "ð "Ø��s˜DÑ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð "ð "s   £=½AÁArÃ   rÄ   rÅ   r`   r_   ra   é@   rÆ   c                 ó   •— g | ]}|‰z
  ‘ŒS r   r   )r   r…   Úndims     €r   r   zCTestArrayManipulation.test_array_transpose_axes.<locals>.<listcomp>b  s   ø€ Ð!9Ð!9Ð!9¨q ! d¡(Ð!9Ð!9Ð!9r   c                 óŠ   — |                       ||¦  «        } | ||¦  «        }t          j                             ||¦  «         d S r#   )r¨   r*   ÚtestingÚassert_equal)r   rd   re   r¬   r­   s        r   Úcheck_issue_4708zITestArrayManipulation.test_array_transpose_axes.<locals>.check_issue_4708f  sD   € à—~’~ a¨Ñ+Ô+ˆHØ�&˜˜A‘,”,ˆCõ ŒJ×#Ò# C¨Ñ2Ô2Ð2Ð2Ð2r   rË   Úfoo)rí   g333333@)ç333333ó?rË   rÒ   )r`   r   r   )r_   r`   ra   ra   r   ©ra   )rÍ   ©r   r`   )éýÿÿÿr`   ©r   rñ   )r_   ra   r`   )éüÿÿÿra   r`   )r_   ra   r`   rË   )r_   ra   r`   éûÿÿÿT©r   z#np.transpose does not accept tuples)rV   rY   r[   r]   r!   r*   rb   r$   ÚrangeÚlenr   Útuplerè   rj   rÖ   rµ   r	   r   rQ   rÕ   ÚassertInr·   r¸   )r®   r   r¯   rß   râ   rå   ÚarrsÚirT   Úneg_axesrì   Úerè   s   `           @r   Útest_array_transpose_axesz/TestArrayManipulation.test_array_transpose_axes3  sÿ  øø€ Ý:Ý?Ý.Ý3ð5ˆõ
 
�nÑ	%Ô	%ð	:ð 	:ð 	:ð 	:ñ 
&Ô	%ð	:õ 
�nÑ	%Ô	%ð	;ð 	;ð 	;ð 	;ñ 
&Ô	%ð	;õ 
�nÑ	%Ô	%ð	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 )Nra   r`   r_   rÄ   )r`   rÄ   )rÄ   r`   )rÄ   r_   rÏ   rð   ©r`   r   r   ©Údtype©r`   ra   ©rÄ   ©ra   r_   )r   ra   r`   r_   ©r`   r_   )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  r?   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   ra   r`   r_   zBThe argument "new_shape" must be an integer or a tuple of integers)rÍ   r_   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                 óz  ‡ ‡‡‡— t           Št          ‰¦  «        Šˆˆˆ fd„Šˆfd„}t          j        d¦  «        } ||¦  «         t          j        d¦  «                             d¦  «        } ||¦  «          ||j        ¦  «          ||d d d…         ¦  «         t          j        d¦  «        } ||¦  «         d S )Nc                 ó¶   •—  ‰| |¦  «        }‰                      ¦   «           ‰| |¦  «        }‰                     ||¦  «         ~‰                     ¦   «          d S r#   )r©   rª   r«   )r&   rp   r¬   r­   r  r   r®   s       €€€r   r¯   z5TestArrayManipulation.test_expand_dims.<locals>.checkÃ  sh   ø€ Ø�v˜c 4Ñ(Ô(ˆHØ×"Ò"Ñ$Ô$Ð$Ø�%˜˜TÑ"Ô"ˆCØ×#Ò# C¨Ñ2Ô2Ð2ØØ×%Ò%Ñ'Ô'Ð'Ð'Ð'r   c                 óh   •— t          | j         dz
  | j        dz   ¦  «        D ]} ‰| |¦  «         Œd S )Nra   )rö   rè   )r&   rp   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€   é*   )ro   r   r*   rb   r$   rc   rÕ   )r®   r  r&   r  r¯   r   s   `  @@@r   Útest_expand_dimsz&TestArrayManipulation.test_expand_dims¿  së   øøøø€ ÝˆÝ�V‘”ˆð	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð	!ð 	!ð 	!ð 	!ð 	!õ
 Œ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Ë   Úhellor_   z#First argument "a" must be an arrayz"Argument "axis" must be an integer)ro   r   r*   rb   Ú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Ç   é   )r`   r`   r`   r`   )r*   rÕ   rb   r$   rc   )r®   r   r  r!  r&  Ú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õ   )rr   r   r4  ©r®   r   r  s      r   Útest_atleast_1dz%TestArrayManipulation.test_atleast_1d  ó=   € ÝˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆØ×Ò˜f eÑ,Ô,Ð,Ð,Ð,r   c                 ór   — t           } t          d¬¦  «        |¦  «        }|                      ||¦  «         d S r6  )ru   r   r4  r7  s      r   Útest_atleast_2dz%TestArrayManipulation.test_atleast_2d  r9  r   c                 ór   — t           } t          d¬¦  «        |¦  «        }|                      ||¦  «         d S r6  )rw   r   r4  r7  s      r   Útest_atleast_3dz%TestArrayManipulation.test_atleast_3d"  r9  r   c                 óî   ‡ ‡‡— t          ‰¦  «        Šˆˆˆ fd„}t          j        d¦  «        } ||¦  «          ||                     d¦  «        ¦  «          ||                     d¦  «        ¦  «         d S )Nc                 ó`   •—  ‰| ¦  «        } ‰| ¦  «        }‰                      ||¦  «         d S r#   ©rª   )r&   r¬   r­   r  r   r®   s      €€€r   r¯   z5TestArrayManipulation.check_as_strided.<locals>.check*  s9   ø€ Ø�v˜c‘{”{ˆHØ�%˜‘*”*ˆCØ×#Ò# C¨Ñ2Ô2Ð2Ð2Ð2r   rÃ   rÉ   )rÄ   ra   rÅ   )r   r*   rb   r$   )r®   r   r¯   r&   r  s   ``  @r   Úcheck_as_stridedz&TestArrayManipulation.check_as_strided'  s�   øøø€ Ý�V‘”ˆð	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#   )rA  r~   r‚   ©r®   s    r   Útest_as_stridedz%TestArrayManipulation.test_as_strided4  s0   € Ø×Ò�kÑ*Ô*Ð*Ø×Ò�kÑ*Ô*Ð*Ð*Ð*r   c                 óü   — t           d„ ¦   «         }|                      t          j        ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   d}|                      |t          |j        ¦  «        ¦  «         d S )Nc                  óœ   — t          j        d¦  «                             d¦  «        } t           j        j                             | d ¬¦  «        S )NrÃ   rÉ   ry   )r*   rb   r$   r{   r|   r}   r�   s    r   rí   z>TestArrayManipulation.test_as_strided_stride_none.<locals>.foo:  s;   € å”)˜B‘-”-×'Ò'¨Ñ/Ô/ˆCÝ”6Ô'×2Ò2°3ÀÐ2ÑEÔEÐEr   zstrides argument cannot be None)r   rµ   r   r	   rù   r·   r¸   )r®   rí   rº   Úmsgs       r   Útest_as_strided_stride_nonez1TestArrayManipulation.test_as_strided_stride_none8  sÀ   € å	ð	Fð 	Fñ 
Œð	Fð ×Ò�vÔ1Ñ2Ô2ð 	°fØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 0ˆØ�Š�c�3˜vÔ/Ñ0Ô0Ñ1Ô1Ð1Ð1Ð1s   °AÁAÁA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†   rp   r¬   r­   r®   s        €r   r¯   z=TestArrayManipulation.test_sliding_window_view.<locals>.checkF  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   ra   ©ra   r   )ra   rÍ   )rË   rÆ   rÄ   r`   )rÓ   )rÍ   rñ   z4d array, axis=©r_   r`   z2d array, repeated axes)rË   r_   r_   )r   ra   r   )r*   rb   ÚsubTestr$   )r®   r¯   Úarr1rp   Úarr2Úarr4s   `     r   Útest_sliding_window_viewz.TestArrayManipulation.test_sliding_window_viewE  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¸   ©rG  r   rº   r®   s      €r   Ú_raiseszFTestArrayManipulation.test_sliding_window_view_errors.<locals>._raisesj  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¸   rY  s      €r   Ú_typing_errorzLTestArrayManipulation.test_sliding_window_view_errors.<locals>._typing_erroro  sœ   ø€ Ø×"Ò"¥6Ô#5Ñ6Ô6ð +¸&Ý# TÐ*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +à�MŠM˜#�s 6Ô#3Ñ4Ô4Ñ5Ô5Ð5Ð5Ð5s   ¡
7·;¾;rÃ   rL  rM  rN  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)rM  r`   z$2d window shape, only one axis givenra   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   r_   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))r_  z
axis=floatz1axis must be None, an integer or tuple of integerzaxis=tuple(float))rÖ   r*   rb   r$   rR  )r®   rZ  r\  rS  rT  s   `    r   Útest_sliding_window_view_errorsz5TestArrayManipulation.test_sliding_window_view_errorsi  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fi |¤Ž|¦  «        } ||¦  «        } ||¦  «        }t           j
                             ||¦  «         d S )Né	   r_   ÚFÚA)Úlayout)r*   rb   r$   rc   r@   r   rX   r±   rf  r   rê   rë   )	r®   rÚ   rf  r?   r   Ú
arraytype1r  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Ø+•�Z�MÐ+Ð+ UÐ+Ð+¨FÑ3Ô3ˆà�6˜!‘9”9ˆØˆe�A‰hŒhˆÝ
Œ
×Ò ¨#Ñ.Ô.Ð.Ð.Ð.r   c                 ó¬   — |                       t          ¬¦  «         |                       t          d¬¦  «         |                       t          d¬¦  «         d S )N©rÚ   rd  )rÚ   rf  re  )rh  Úno_pyobj_flagsrC  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fi ‰	¤Ž| ¦  «        } | |¦  «        } ||¦  «        }t          j                             ||¦  «         |j        j        |j        j        k    }|j        j        |j        j        k    }‰
                     ||dk    ¦  «         ‰
                     ||¦  «         d S )Nra  )	r   r±   rf  r   r*   rê   rë   ÚctypesÚdata)r   r?   Úassume_layoutrg  r  r¬   r­   Ú	py_copiedÚ	nb_copiedrÚ   r®   s            €€r   Úgeneric_checkz=TestArrayManipulation.test_ravel_array.<locals>.generic_checkÅ  sÖ   ø€ å ™œˆJØ×Ò˜ZÔ.°Ñ>Ô>Ð>Ø/•C˜˜Ð/Ð/¨Ð/Ð/°Ñ7Ô7ˆ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   rc  r_   ra  )rq  rd  ©Úorderé   r`   r   re  é$   )r   rE   rJ   r*   rb   r$   )r®   rÚ   rt  r¯   rv  rw  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fi |¤Ž|¦  «        } ||¦  «        } ||¦  «        }t           j                             ||¦  «         d S ©Nrc  r_   )r*   rb   r$   rH   r   r   rê   rë   ©r®   rÚ   r?   r   rg  r  r¬   r­   s           r   Útest_ravel_array_sizez+TestArrayManipulation.test_ravel_array_sizeæ  sˆ   € ÝŒI�a‰LŒL× Ò   AÑ&Ô&ˆå!ˆÝ˜A‘Y”Yˆ
Ø+•�Z�MÐ+Ð+ UÐ+Ð+¨FÑ3Ô3ˆà�6˜!‘9”9ˆØˆe�A‰hŒhˆÝ
Œ
×Ò ¨#Ñ.Ô.Ð.Ð.Ð.r   c                 ó<   — |                       t          ¬¦  «         d S ©Nrj  )r|  rk  rC  s    r   Útest_ravel_array_npmz*TestArrayManipulation.test_ravel_array_npmñ  s   € Ø×Ò¥NÐÑ3Ô3Ð3Ð3Ð3r   c                 ó<   — |                       t          ¬¦  «         d S r‚  )r€  rk  rC  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fi ‰¤Ž| ¦  «        } | |¦  «        } ||¦  «        }t           j                             ||¦  «         d S r~  )r*   rb   r$   r   r   rê   rë   )r   r?   rg  r  r¬   r­   rÚ   s         €r   r¯   z9TestArrayManipulation.test_transpose_array.<locals>.checkø  s„   ø€ å”	˜!‘”×$Ò$ Q¨Ñ*Ô*ˆAå ™œˆJØ/•C˜˜Ð/Ð/¨Ð/Ð/°Ñ7Ô7ˆEà�v˜a‘y”yˆHØ�%˜‘(”(ˆCÝŒJ×#Ò# H¨cÑ2Ô2Ð2Ð2Ð2r   )r!   rN   rQ   )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ˆ  rk  rC  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fi |¤Ž|¦  «        } ||¦  «        } ||¦  «        }t           j                             ||¦  «         d S )NrÃ   r`   ra   r_   rÄ   )r*   rb   r$   rm   r   r   rê   rë   r  s           r   Útest_squeeze_arrayz(TestArrayManipulation.test_squeeze_array  s‘   € ÝŒIÐ'Ñ(Ô(×0Ò0°°A°q¸!¸QÑ?Ô?ˆåˆÝ˜A‘Y”Yˆ
Ø+•�Z�MÐ+Ð+ UÐ+Ð+¨FÑ3Ô3ˆà�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 )Nrj  rl   )rµ   r   r	   rŒ  rk  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   )r?   r:   s     r   Únp_new_axis_getitemz@TestArrayManipulation.test_add_axis.<locals>.np_new_axis_getitem  s   € à�S”6ˆMr   c                 ó   — || |<   | S r#   r   )r?   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Å   é   ra   r`   r_   )r   r*   rb   r$   ÚsliceÚnewaxisÚEllipsisr¨   rê   rë   Ú
zeros_likerX   )r®   r’  r•  r?   Ú	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          ||f¦  «        t          ¦  «         d d d ¦  «         n# 1 swxY w Y   |  	                    dt          |j        ¦  «        ¦  «         d S )Nr…   r‰   r`   ra  zUnsupported array index type)r  r   r*   r  Úint32r
   ÚArrayr   r‹   rù   r·   r¸   )r®   rº   rg  Ú
arraytype2s       r   Útest_bad_index_npmz(TestArrayManipulation.test_bad_index_npmE  s÷   € Ø×#Ò#Ñ%Ô%ð 	6¨Ý#¥B¤H¨sµB´H¨oØ/2µB´H¨oð.?ñ %@ô %@ñ Aô AˆJåœ¥U¤[°!°SÑ9Ô9ˆJØ*�D�*˜jÐ)Ñ*Ô*­9Ñ5Ô5Ð5ð		6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6ð
 	�ŠÐ4µc¸&Ô:JÑ6KÔ6KÑLÔLÐLÐLÐLs   •A;BÂB Â#B c           	      ó&  — |                       ¦   «         5 } t          t          j        t          j        dd¦  «        f¦  «        t
          ¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         d S )Nr`   ra  z$Unsupported array index type float64)	r  r   r
   r¤  Úfloat64rŽ   rù   r·   r¸   rŽ  s     r   Útest_bad_float_index_npmz.TestArrayManipulation.test_bad_float_index_npmM  sÒ   € Ø×#Ò#Ñ%Ô%ð 	I¨Ø7�D•%”+�eœm¨Q°Ñ4Ô4Ð6Ñ7Ô7½ÑHÔHÐHð	Ið 	Ið 	Iñ 	Iô 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Iøøøð 	Ið 	Ið 	Ið 	Ià�ŠÐ<Ý˜&Ô*Ñ+Ô+ñ	-ô 	-ð 	-ð 	-ð 	-s   •=AÁ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 )Nr`   ra   ©ra   ra   ra   r   )re   s    r   Ú_shape_variationszITestArrayManipulation.test_fill_diagonal_basic.<locals>._shape_variationsW  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 )Nra   g‰A`åÐ"	@TrÄ   r  rÆ   rc  é6   r_   r`   r€   )r*   ÚnanÚinfrb   r$   Úasfortranarrayr   r   r   Ú_val_variationszGTestArrayManipulation.test_fill_diagonal_basic.<locals>._val_variationse  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)re   r/   r­  s     €r   Ú#_multi_dimensional_array_variationsz[TestArrayManipulation.test_fill_diagonal_basic.<locals>._multi_dimensional_array_variationss  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 ©r`   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   r`   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¨  )re   r/   ÚtmpÚslicerr­  s       €r   Ú+_multi_dimensional_array_variations_stridedzcTestArrayManipulation.test_fill_diagonal_basic.<locals>._multi_dimensional_array_variations_stridedy  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’   )rX   rª   )	r&   r‘   r’   r?   Ú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   r_   rc  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_basicS  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õ   ra   rË   z'The first argument must be at least 2-D)r_   r_   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]Ñ^Ô^Ð^Ð^Ð^rà   ©r_   r_   r  çffffff
@)ra   r`   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‘   r?   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ï   ©r_   ra   r¹  ©ra   r`   r_   r_   r  r  r`   rÓ   rð   r  r  ©r`   r`   )r0   r   r*   rÕ   rµ  rb   rª   )r®   r   r  rp  Úinput_arrayr/   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)r0   r   r*   rÕ   rª   ÚassertFalserÚ   )r®   r   r  r  r/   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  ©ra   ra   zDinput operand has more dimensions than allowed by the axis remappingrÒ  r€   z4all elements of broadcast shape must be non-negativerÌ   )r€   r`   ©gš™™™™™ñ?gš™™™™™@z7The second argument "shape" must be a tuple of integersr  z-The first argument "array" must be array-liker_   )r`   r?   z*object cannot be interpreted as an integer)r0   r   r*   r  r	   r¿   rÖ   rµ   rù   r·   r¸   )	r®   r   r  rp  r&   Útarget_shapeÚerrrG  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 )Nr?   r  r-   r   r   r   Ú_broadcast_to_1zMTestArrayManipulation.test_broadcast_to_corner_cases.<locals>._broadcast_to_13  s   € å”? 3¨Ñ/Ô/Ð/r   )r   r¨   rª   )r®   râ  r¬   r­   s       r   Útest_broadcast_to_corner_casesz4TestArrayManipulation.test_broadcast_to_corner_cases2  sW   € Ý	ð	0ð 	0ñ 
Œð	0ð #×*Ò*Ñ,Ô,ˆØˆoÑÔˆØ×Ò ¨#Ñ.Ô.Ð.Ð.Ð.r   c                 óL  — t           } t          d¬¦  «        |¦  «        }t          j        dt          j        ¬¦  «        }d} |||¦  «        }d|d<   |                      |                     ¦   «         d¦  «         |                      |                     ¦   «         d¦  «         d S )	NTrõ   r`   r  rÒ  rM  r   rN  )r0   r   r*   r  r£  r±   Úsum)r®   r   r  rÓ  r/   Ú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õ   r`   rÒ  rï   )r;   r   r*   rµ  rª   )	r®   r   r  rp  rÓ  r/   r:   r¬   r­   s	            r   Útest_broadcast_to_indexingz0TestArrayManipulation.test_broadcast_to_indexingF  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*   r.   rG   r/   rz   )r&   Úrets     r   rí   z@TestArrayManipulation.test_broadcast_to_array_attrs.<locals>.fooT  s(   € å”/ # vÑ.Ô.ˆCØ˜œ #¤)¨S¬[Ð8Ð8r   r_   )r   r*   rb   r¨   rª   )r®   rí   r&   r¬   r­   s        r   Útest_broadcast_to_array_attrsz3TestArrayManipulation.test_broadcast_to_array_attrsQ  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Û  )r_   rÄ   ))rÅ   r–  ©rË   rÅ   ra   rï  )rË   ra   r–  rð  r  ©r_   ra   rP  rÒ   rO  rÏ   rï   rÐ  r`   rQ  )r4   r   ÚassertIsInstancerø   rª   )r®   r   r  rp  Úinput_shaper¬   r­   s          r   Útest_broadcast_shapesz+TestArrayManipulation.test_broadcast_shapes_  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  ©ra   r_   rÄ   ©r`   r_   r_   )rÓ   rñ  rQ  )rM  rË   r`   ú=shape mismatch: objects cannot be broadcast to a single shape©r4   r   rÖ   rµ   r¿   rù   r·   r¸   )r®   r   r  rp  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Ó   r`   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î   r?   )ra   r   z#must be either an int or tuple[int])r4   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#   r@  ©r…   r¬   r­   r  r   r®   s      €€€r   r¯   z/TestArrayManipulation.test_shape.<locals>.checkÂ  ó9   ø€ Ø�v˜a‘y”yˆHØ�%˜‘(”(ˆCØ×#Ò# C¨Ñ2Ô2Ð2Ð2Ð2r   ©r   rï   r  )rÄ   rË   rÅ   ra   Fr`   r_   rÄ   rï   rÑ  r?   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 ]!}t          j        |¦  «        } ||¦  «         Œ"dddt          j        d¦  «        t          j        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#   r@  r  s      €€€r   r¯   z.TestArrayManipulation.test_size.<locals>.checkÚ  r  r   r  ra   Fg…ëQ¸	@rÄ   gX9´Èv¾@r?   z*The argument to np.size must be array-like)r—   r   r*   r	  Úint8rÍ  rµ   r	   rù   r·   r¸   r
  s   `    @@r   Ú	test_sizezTestArrayManipulation.test_sizeÖ  sW  øøø€ ÝˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆð	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 0ð 	ð 	ˆAÝ”(˜1‘+”+ˆCØˆE�#‰JŒJˆJˆJð �U˜D¥"¤'¨!¡*¤*­b¬j¸Ñ.?Ô.?Ð@ð 	ð 	ˆAØˆE�!‰HŒHˆHˆHà×Ò�{Ñ+Ô+ð 	¨vØˆE�#‰JŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	�ŠÐBÝ˜&Ô*Ñ+Ô+ñ	-ô 	-ð 	-ð 	-ð 	-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   r`   rd  rx  rÈ   ra   r'  )r*   rb   ÚfullrÕ   ÚrandomÚrandnÚabsr$   ©r?   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  r?   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Ë   r`   r   r  ra   )g      ð¿r  rˆ   r  r  rÄ   g      à?r  rd  rx  rÈ   )r*   rb   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   ra   r`   r_   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 r6  )rš   r   r'  rª   ©r®   r   r  r?   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 r6  )r�   r   r'  rª   r)  s         r   Útest_argwhere_array_likez.TestArrayManipulation.test_argwhere_array_like6  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>D  s    € Ð6Ð6Ð6 A•B”H˜Q‘K”KÐ6Ð6Ð6r   c                 ó   — g | ]	}|j         ‘Œ
S r   ©r/   ©r   r?   s     r   r   zOTestArrayManipulation.broadcast_arrays_assert_correct_shape.<locals>.<listcomp>G  ó   € Ð*Ð*Ð*˜1ˆqŒwÐ*Ð*Ð*r   ©r8   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Ð  rO  r^  rP  )r_   r   r  rñ  rÉ  )r8   r   r:  )r®   r   r  rp  r/   r7  Úinput_shapes2Úinput_shapes3s           r   Ú'test_broadcast_arrays_same_input_shapesz=TestArrayManipulation.test_broadcast_arrays_same_input_shapesJ  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Û  rP  rÒ   rO  r€   ©r:  ©r®   rp  r7  r²   s       r   Ú9test_broadcast_arrays_two_compatible_by_ones_input_shapeszOTestArrayManipulation.test_broadcast_arrays_two_compatible_by_ones_input_shapesh  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Ò   rO  rP  r€   r@  rA  s       r   ÚDtest_broadcast_arrays_two_compatible_by_prepending_ones_input_shapeszZTestArrayManipulation.test_broadcast_arrays_two_compatible_by_prepending_ones_input_shapes‚  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ï   ra   r`   rÓ   r¹  c                 ó   — g | ]	}|j         ‘Œ
S r   r3  r4  s     r   r   zLTestArrayManipulation.test_broadcast_arrays_scalar_input.<locals>.<listcomp>­  s   € Ð.Ð.Ð.˜q�1”7Ð.Ð.Ð.r   r6  )	r®   r   r  rp  r8  r²   r9  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   r3  r4  s     r   r   zKTestArrayManipulation.test_broadcast_arrays_tuple_input.<locals>.<listcomp>¶  r5  r   )r8   r   rª   ©r®   r   r  r9  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õ   r`   r  r  c                 ó   — g | ]	}|j         ‘Œ
S r   r3  r4  s     r   r   zOTestArrayManipulation.test_broadcast_arrays_non_array_input.<locals>.<listcomp>¾  r5  r   )r8   r   r*   Úintpr  rª   rJ  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)r8   r   rÖ   rµ   r	   r*   rb   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õ   r_   r  zhello worldzArgument "1" must be array-like)r8   r   rÖ   rµ   r	   r*   r  rÌ  rù   r·   r¸   )r®   r   r  rº   r&   r1  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   r/  r0  s     r   r   zdTestArrayManipulation.test_broadcast_arrays_incompatible_shapes_raise_valueerror.<locals>.<listcomp>ê  s    € Ð;Ð;Ð;°¥¤¨¡¤Ð;Ð;Ð;r   rù  )r8   r   rÖ   rµ   r¿   rù   r·   r¸   )r®   r   r  rp  r7  r/   rº   r8  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   ra   r€   )r/   r*   r.   Úswapaxesr=   r$   ©r…   r‰   ÚrÚcr?   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¬  ©r`   r`   r`   ©r_   r_   r_   r`   ©r   r*   rÕ   rê   Úassert_array_equal)r®   r`  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 rY  )r/   r*   r.   rZ  rD   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¬  ra  rb  r`   rc  )r®   rj  r   r  re  rf  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 )Nrc  rÉ  rd  rx  Fc                 ó.   — |                       ¦   «         }|S r#   rC   )r?   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*   rb   r$   rX   rÚ   rK  r   Ú
assertTrue)	r®   Úa_cÚa_frn  r   r  Úret_cÚret_frG  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   N)CÚ__name__Ú
__module__Ú__qualname__Ú__doc__r×   rþ   r  r  r  r  r4  r8  r;  r=  rA  rD  rH  rV  r`  Úenable_pyobj_flagsrh  rl  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   r#  Ústaticmethodr'  r*  r,  r:  r>  rB  rD  rG  rK  rO  rQ  rS  rV  rg  rk  rt  r   r   r   r£   r£   À   s2  € € € € € ðð ðm"ð m"ð m"ð^X*ð X*ð X*ðtOð Oð Oð.-ð -ð -ð6ð ð ð8Sð Sð Sð-$ð -$ð -$ð^-ð -ð -ð
-ð -ð -ð
-ð -ð -ð
&ð &ð &ð+ð +ð +ð2ð 2ð 2ð".ð ".ð ".ðHAð Að AðH (:À#ð /ð /ð /ð /ð$Bð Bð Bð
 &8ð  Pð  Pð  Pð  PðD +=ð 	/ð 	/ð 	/ð 	/ð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-ð -ð -ð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ð 4r   r£   Ú__main__r#   )F);Ú	functoolsr   Ú	itertoolsr   Únumpyr*   ÚunittestÚnumbar   r   r   r   Únumba.core.errorsr	   Ú
numba.corer
   r   Únumba.tests.supportr   r   ry  rk  r!   r(   r+   r0   r4   r8   r;   r@   rE   rH   rJ   rN   rQ   rV   rY   r[   r]   rj   rm   ro   rr   ru   rw   r~   r‚   r„   r‹   rŽ   r“   r•   r—   rš   r�   r¡   r£   ru  Úmainr   r   r   ú<module>r…     s†  ðØ Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð à €€€Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ø )Ð )Ð )Ð )Ð )Ð )Ø $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9à  $Ð'Ð à¨DÐ1Ð1€ðð ð ð, ð!ð !ñ „ð!ð ð%ð %ñ „ð%ð'ð 'ð 'ð&ð &ð &ð&ð &ð &ð,ð ,ð ,ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ð ð(ð (ñ „ð(ð ð/ð /ñ „ð/ð ðð ñ „ðð ð&ð &ñ „ð&ð ðð ñ „ððð ð ð#ð #ð #ð ð  ð  ð ð  ð  ð ð  ð  ð?ð ?ð ?ðLð Lð Lð ðPð Pð Pñ „ðPðð ð ðð ð ð,ð ,ð ,ð ,ðð ð ðð ð ðð ð ðð ð ð#ð #ð #ðp4ð p4ð p4ð p4ð p4˜O¨Xñ p4ô p4ð p4ðf+ ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   