§
    ƒÛgÎ×  ã                   ó�  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlm	Z	 d dl
mZ d dlmZmZmZ d dlmZmZmZmZ d dlZ edd¬¦  «        Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z G d„ de¦  «        Z  G d„ de¦  «        Z! G d„ de!e¦  «        Z" G d„ de!¦  «        Z# G d„ de#e¦  «        Z$ G d„ de$¦  «        Z% G d„ de#e¦  «        Z& G d„ d e'¦  «        Z( G d!„ d"e(e¦  «        Z) G d#„ d$e)¦  «        Z* G d%„ d&e*¦  «        Z+ G d'„ d(e(e¦  «        Z, G d)„ d*e ¦  «        Z- G d+„ d,e ¦  «        Z. G d-„ d.e¦  «        Z/ G d/„ d0e ¦  «        Z0 G d1„ d2e¦  «        Z1 G d3„ d4ee ¦  «        Z2 G d5„ d6ee¦  «        Z3 ej4         e5ed7¦  «        d8¦  «         G d9„ d:ee¦  «        ¦   «         Z6d;„ Z7e8d<k    r ej9        ¦   «          dS dS )=é    N)ÚTypingError)Únjit)ÚtypesÚutilsÚconfig)ÚMemoryLeakMixinÚTestCaseÚtagÚskip_if_32bitT)Ú_nrtÚnogilc                 ó0   — t          j        | ||f¦  «        S ©N©ÚnpÚconcatenate©ÚaÚbÚcs      úP/granary/edev/quantum/lib/python3.11/site-packages/numba/tests/test_dyn_array.pyÚnp_concatenate1r      s   € ÝŒ>˜1˜a ˜)Ñ$Ô$Ð$ó    c                 ó4   — t          j        | ||f|¬¦  «        S ©N©Úaxisr   ©r   r   r   r   s       r   Únp_concatenate2r      s   € ÝŒ>˜1˜a ˜)¨$Ð/Ñ/Ô/Ð/r   c                 ó0   — t          j        | ||f¦  «        S r   ©r   Ústackr   s      r   Ú	np_stack1r#      s   € ÝŒ8�Q˜˜1�IÑÔÐr   c                 ó4   — t          j        | ||f|¬¦  «        S r   r!   r   s       r   Ú	np_stack2r%      s   € ÝŒ8�Q˜˜1�I DÐ)Ñ)Ô)Ð)r   c                 ó0   — t          j        | ||f¦  «        S r   )r   Úhstackr   s      r   Ú	np_hstackr(      ó   € ÝŒ9�a˜˜A�YÑÔÐr   c                 ó0   — t          j        | ||f¦  «        S r   )r   Úvstackr   s      r   Ú	np_vstackr,   "   r)   r   c                 ó0   — t          j        | ||f¦  «        S r   )r   Ú	row_stackr   s      r   Únp_row_stackr/   %   s   € ÝŒ<˜˜A˜q˜	Ñ"Ô"Ð"r   c                 ó0   — t          j        | ||f¦  «        S r   )r   Údstackr   s      r   Ú	np_dstackr2   (   r)   r   c                 ó0   — t          j        | ||f¦  «        S r   )r   Úcolumn_stackr   s      r   Únp_column_stackr5   +   s   € ÝŒ?˜A˜q !˜9Ñ%Ô%Ð%r   c                   ó   — e Zd Zdd„ZdS )ÚBaseTestTc                 ót  — t          |¦  «        }|D ]¥} ||Ž } ||Ž }|                      |j        |j        ¦  «         |                      |j        |j        ¦  «         |                      ||¦  «         |r!t
          j                             ||¦  «         Œ…t
          j                             ||¦  «         Œ¦d S r   )	ÚnrtjitÚassertEqualÚsizeÚdtypeÚassertStridesEqualr   ÚtestingÚassert_equalÚassert_allclose)ÚselfÚpyfuncÚargslistÚexactÚcfuncÚargsÚexpectedÚrets           r   Úcheck_outputszBaseTest.check_outputs1   sÄ   € Ý�v‘”ˆØð 		:ð 		:ˆDØ�v˜t�}ˆHØ�%˜�,ˆCØ×Ò˜SœX x¤}Ñ5Ô5Ð5Ø×Ò˜SœY¨¬Ñ7Ô7Ð7Ø×#Ò# C¨Ñ2Ô2Ð2Øð :Ý”
×'Ò'¨°#Ñ6Ô6Ð6Ð6å”
×*Ò*¨8°SÑ9Ô9Ð9Ð9ð		:ð 		:r   N)T)Ú__name__Ú
__module__Ú__qualname__rI   © r   r   r7   r7   /   s(   € € € € € ð:ð :ð :ð :ð :ð :r   r7   c                   ó   — e Zd Zd„ ZdS )ÚNrtRefCtTestc                 óF   — |                       |j        j        |¦  «         d S r   )r:   ÚbaseÚrefcount)rA   ÚarrÚexpects      r   Úassert_array_nrt_refctz#NrtRefCtTest.assert_array_nrt_refct@   s#   € Ø×Ò˜œÔ*¨FÑ3Ô3Ð3Ð3Ð3r   N)rJ   rK   rL   rU   rM   r   r   rO   rO   ?   s#   € € € € € ð4ð 4ð 4ð 4ð 4r   rO   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ed„ ¦   «         Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestDynArrayc                 ó"  — t           d„ ¦   «         } |¦   «         }|                      |d¦  «         t          j                             d|¦  «         |                      |j        d¦  «         |                      |j        d¦  «         |                      |j        t          j        t          j	        ¦  «        ¦  «         |                      |j
        d¦  «         |                     d¦  «         t          j                             d|¦  «         ~d S )Nc                  ó8   — t          j        d¦  «        } d| d<   | S )NrM   é*   ©r   Úempty©rS   s    r   Úfooz'TestDynArray.test_empty_0d.<locals>.fooG   s   € å”(˜2‘,”,ˆCØˆC�‰GØˆJr   é   rZ   rM   é{   )r9   rU   r   r>   r?   r:   r;   Úshaper<   Úfloat64ÚstridesÚfill)rA   r^   rS   s      r   Útest_empty_0dzTestDynArray.test_empty_0dF   sð   € Ý	ð	ð 	ñ 
Œð	ð
 ˆc‰eŒeˆØ×#Ò# C¨Ñ+Ô+Ð+Ý
Œ
×Ò  CÑ(Ô(Ð(Ø×Ò˜œ 1Ñ%Ô%Ð%Ø×Ò˜œ BÑ'Ô'Ð'Ø×Ò˜œ¥B¤H­R¬ZÑ$8Ô$8Ñ9Ô9Ð9Ø×Ò˜œ bÑ)Ô)Ð)Ø�Š�‰ŒˆÝ
Œ
×Ò  SÑ)Ô)Ð)ØˆCˆCr   c                 ó’  — t           d„ ¦   «         }d} ||¦  «        }|                      |d¦  «         t          j                             t          j        |¦  «        |¦  «         |                      |j        |¦  «         |                      |j        |f¦  «         |                      |j	        t          j	        t          j
        ¦  «        ¦  «         |                      |j        t          j	        t          j
        ¦  «        j        f¦  «         |                     d¦  «         t          j                             d|¦  «         ~d S )Nc                 ó\   — t          j        | ¦  «        }t          | ¦  «        D ]}|||<   Œ|S r   )r   r\   Úrange)ÚnrS   Úis      r   r^   z'TestDynArray.test_empty_1d.<locals>.fooY   s4   € å”(˜1‘+”+ˆCÝ˜1‘X”Xð ð �Ø��A‘�àˆJr   é   r_   r`   )r9   rU   r   r>   r?   Úaranger:   r;   ra   r<   rb   rc   Úitemsizerd   )rA   r^   ri   rS   s       r   Útest_empty_1dzTestDynArray.test_empty_1dX   s  € Ý	ð	ð 	ñ 
Œð	ð ˆØˆc�!‰fŒfˆØ×#Ò# C¨Ñ+Ô+Ð+Ý
Œ
×Ò¥¤	¨!¡¤¨cÑ2Ô2Ð2Ø×Ò˜œ 1Ñ%Ô%Ð%Ø×Ò˜œ Q DÑ)Ô)Ð)Ø×Ò˜œ¥B¤H­R¬ZÑ$8Ô$8Ñ9Ô9Ð9Ø×Ò˜œ¥r¤xµ´
Ñ';Ô';Ô'DÐ&FÑGÔGÐGØ�Š�‰ŒˆÝ
Œ
×Ò  SÑ)Ô)Ð)ØˆCˆCr   c                 ó�  — d„ }t          |¦  «        }d}d} |||¦  «        } |||¦  «        }|                      |d¦  «         t          j                             ||¦  «         |                      |j        |j        ¦  «         |                      |j        |j        ¦  «         |                      |j        |j        ¦  «         ~d S )Nc                 ó¤   — t          j        | |ft           j        ¦  «        }t          | ¦  «        D ]}t          |¦  «        D ]}||z   |||f<   ŒŒ|S r   ©r   r\   Úint32rh   )Úmri   rS   rj   Újs        r   rB   z*TestDynArray.test_empty_2d.<locals>.pyfuncn   sb   € Ý”(˜A˜q˜6¥2¤8Ñ,Ô,ˆCÝ˜1‘X”Xð &ð &�Ý˜q™œð &ð &�AØ ! A¡�C˜˜1˜‘I�Ið&ð ˆJr   é   rk   r_   ©	r9   rU   r   r>   r?   r:   r;   ra   rc   )rA   rB   rE   rs   ri   Úexpected_arrÚgot_arrs          r   Útest_empty_2dzTestDynArray.test_empty_2dm   sÌ   € ð	ð 	ð 	õ �v‘”ˆØˆØˆØ�v˜a ‘|”|ˆØ�%˜˜1‘+”+ˆØ×#Ò# G¨QÑ/Ô/Ð/Ý
Œ
×Ò ¨gÑ6Ô6Ð6à×Ò˜Ô*¨G¬LÑ9Ô9Ð9Ø×Ò˜Ô+¨W¬]Ñ;Ô;Ð;Ø×Ò˜Ô-¨w¬Ñ?Ô?Ð?àˆGˆGr   c                 ó˜  — d„ }t          |¦  «        }d}d}d} ||||¦  «        } ||||¦  «        }|                      |d¦  «         t          j                             ||¦  «         |                      |j        |j        ¦  «         |                      |j        |j        ¦  «         |                      |j        |j        ¦  «         ~d S )Nc                 óÒ   — t          j        | ||ft           j        ¦  «        }t          | ¦  «        D ]4}t          |¦  «        D ]"}t          |¦  «        D ]}||z   |z   ||||f<   ŒŒ#Œ5|S r   rq   )rs   ri   ÚprS   rj   rt   Úks          r   rB   z*TestDynArray.test_empty_3d.<locals>.pyfunc…   s„   € Ý”(˜A˜q !˜9¥b¤hÑ/Ô/ˆCÝ˜1‘X”Xð 1ð 1�Ý˜q™œð 1ð 1�AÝ" 1™XœXð 1ð 1˜Ø'(¨1¡u¨q¡y˜˜A˜q !˜G™˜ð1ð1ð ˆJr   ru   rk   é   r_   rv   ©rA   rB   rE   rs   ri   r|   rw   rx   s           r   Útest_empty_3dzTestDynArray.test_empty_3d„   sÕ   € ð	ð 	ð 	õ �v‘”ˆØˆØˆØˆØ�v˜a  A‘”ˆØ�%˜˜1˜a‘.”.ˆØ×#Ò# G¨QÑ/Ô/Ð/Ý
Œ
×Ò ¨gÑ6Ô6Ð6à×Ò˜Ô*¨G¬LÑ9Ô9Ð9Ø×Ò˜Ô+¨W¬]Ñ;Ô;Ð;Ø×Ò˜Ô-¨w¬Ñ?Ô?Ð?àˆGˆGr   c                 ó˜  — d„ }t          |¦  «        }d}d}d} ||||¦  «        } ||||¦  «        }|                      |d¦  «         t          j                             ||¦  «         |                      |j        |j        ¦  «         |                      |j        |j        ¦  «         |                      |j        |j        ¦  «         ~d S )Nc                 ó°   — t          j        | |ft           j        ¦  «        }t          | ¦  «        D ]}t          |¦  «        D ]}||z   |||f<   ŒŒ||         S r   rq   )rs   ri   r|   rS   rj   rt   s         r   rB   z1TestDynArray.test_empty_2d_sliced.<locals>.pyfuncž   sf   € Ý”(˜A˜q˜6¥2¤8Ñ,Ô,ˆCÝ˜1‘X”Xð &ð &�Ý˜q™œð &ð &�AØ ! A¡�C˜˜1˜‘I�Ið&ð �q”6ˆMr   ru   rk   r~   r_   rv   r   s           r   Útest_empty_2d_slicedz!TestDynArray.test_empty_2d_sliced�   sÕ   € ð	ð 	ð 	õ �v‘”ˆØˆØˆØˆØ�v˜a  A‘”ˆØ�%˜˜1˜a‘.”.ˆØ×#Ò# G¨QÑ/Ô/Ð/Ý
Œ
×Ò ¨gÑ6Ô6Ð6à×Ò˜Ô*¨G¬LÑ9Ô9Ð9Ø×Ò˜Ô+¨W¬]Ñ;Ô;Ð;Ø×Ò˜Ô-¨w¬Ñ?Ô?Ð?àˆGˆGr   c                 ó0  ‡— t          j        dt           j        ¬¦  «        Št          j        ‰¦  «        }ˆfd„}t          |¦  «        } |¦   «         }|                      |dz   t          j        ‰¦  «        ¦  «         t           j                             ‰|¦  «         t           j                             ‰t          j        dt           j        ¬¦  «        ¦  «         t           j                             |t          j        dt           j        ¬¦  «        ¦  «         ~t          j
        ¦   «          |                      |dz   t          j        ‰¦  «        ¦  «         ~t          j
        ¦   «          |                      |t          j        ‰¦  «        ¦  «         d S )Nru   ©r<   c                  ó   •— ‰ S r   rM   ©Úys   €r   Úreturn_external_arrayzDTestDynArray.test_return_global_array.<locals>.return_external_array¹   s   ø€ ØˆHr   r_   )r   ÚonesÚfloat32ÚsysÚgetrefcountr9   r:   r>   r?   ÚgcÚcollect)rA   Ú	initrefctr‰   rE   Úoutrˆ   s        @r   Útest_return_global_arrayz%TestDynArray.test_return_global_arrayµ   sR  ø€ ÝŒG�A�RœZÐ(Ñ(Ô(ˆÝ”O AÑ&Ô&ˆ	ð	ð 	ð 	ð 	ð 	õ Ð,Ñ-Ô-ˆØˆe‰gŒgˆð 	×Ò˜ Q™­¬¸Ñ(:Ô(:Ñ;Ô;Ð;å
Œ
×Ò  3Ñ'Ô'Ð'Ý
Œ
×Ò ¥2¤7¨1µB´JÐ#?Ñ#?Ô#?Ñ@Ô@Ð@Ý
Œ
×Ò ¥R¤W¨Qµb´jÐ%AÑ%AÔ%AÑBÔBÐBàÝ
Œ
‰Œˆà×Ò˜ Q™­¬¸Ñ(:Ô(:Ñ;Ô;Ð;àÝ
Œ
‰Œˆà×Ò˜¥C¤O°AÑ$6Ô$6Ñ7Ô7Ð7Ð7Ð7r   c                 ó  ‡— t          j        dt           j        ¬¦  «        Šˆfd„}t          |¦  «        } |¦   «         }|                      |j        ¦  «         ‰dd …         }t           j                             ||¦  «         t           j                             |t          j        dt           j        ¬¦  «        ¦  «         t           j                             |t          j        dt           j        ¬¦  «        ¦  «         d S )Nru   r…   c                  ó   •— ‰ dd …         S ©Nr~   rM   r‡   s   €r   r‰   zKTestDynArray.test_return_global_array_sliced.<locals>.return_external_arrayÓ   s   ø€ Ø�Q�R�R”5ˆLr   r~   )r   rŠ   r‹   r9   ÚassertIsNonerQ   r>   r?   )rA   r‰   rE   r‘   Úyyrˆ   s        @r   Útest_return_global_array_slicedz,TestDynArray.test_return_global_array_slicedÐ   sà   ø€ ÝŒG�A�RœZÐ(Ñ(Ô(ˆð	ð 	ð 	ð 	ð 	õ Ð,Ñ-Ô-ˆØˆe‰gŒgˆØ×Ò˜#œ(Ñ#Ô#Ð#àˆqˆrˆrŒUˆÝ
Œ
×Ò  CÑ(Ô(Ð(Ý
Œ
×Ò ¥B¤G¨AµR´ZÐ$@Ñ$@Ô$@ÑAÔAÐAÝ
Œ
×Ò ¥R¤W¨Qµb´jÐ%AÑ%AÔ%AÑBÔBÐBÐBÐBr   c                 ón  — d„ }t          j        dt           j        ¬¦  «        }t          |¦  «        } ||¦  «        } ||¦  «        }t           j                             ||¦  «         t           j                             ||¦  «         |                      ||¦  «         |                      ||¦  «         d S )Nc                 ó   — | S r   rM   r‡   s    r   rB   z4TestDynArray.test_array_pass_through.<locals>.pyfuncà   s   € ØˆHr   ru   r…   )r   rŠ   r‹   r9   r>   r?   ÚassertIs)rA   rB   rS   rE   rG   Úgots         r   Útest_array_pass_throughz$TestDynArray.test_array_pass_throughß   s¬   € ð	ð 	ð 	õ Œg�a�rœzÐ*Ñ*Ô*ˆå�v‘”ˆØ�5˜‘:”:ˆØˆf�S‰kŒkˆå
Œ
×Ò ¨#Ñ.Ô.Ð.Ý
Œ
×Ò ¨#Ñ.Ô.Ð.Ø�Š�h Ñ$Ô$Ð$Ø�Š�h Ñ$Ô$Ð$Ð$Ð$r   c                 ó°  — d„ }t          j        dt           j        ¬¦  «        }t          j        |¦  «        }t          |¦  «        } ||¦  «        }|                      |dz   t          j        |¦  «        ¦  «          ||¦  «        }|                      |dz   t          j        |¦  «        ¦  «         t           j                             |||j	        dz           ¦  «         t           j                             ||¦  «         ~|                      |dz   t          j        |¦  «        ¦  «         ~|                      |t          j        |¦  «        ¦  «         d S )Nc                 ó&   — | | j         dz  d …         S r•   )r;   r‡   s    r   rB   z;TestDynArray.test_array_pass_through_sliced.<locals>.pyfuncï   s   € Ø�Q”V˜q‘[�\�\”?Ð"r   ru   r…   r_   r~   )
r   rŠ   r‹   rŒ   r�   r9   r:   r>   r?   r;   )rA   rB   rS   r�   rE   rœ   rG   s          r   Útest_array_pass_through_slicedz+TestDynArray.test_array_pass_through_slicedî   s0  € ð	#ð 	#ð 	#õ Œg�a�rœzÐ*Ñ*Ô*ˆå”O CÑ(Ô(ˆ	å�v‘”ˆØˆe�C‰jŒjˆØ×Ò˜ Q™­¬¸Ñ(<Ô(<Ñ=Ô=Ð=Ø�6˜#‘;”;ˆØ×Ò˜ Q™­¬¸Ñ(<Ô(<Ñ=Ô=Ð=å
Œ
×Ò ¨#¨c¬h¸!©mÔ*<Ñ=Ô=Ð=Ý
Œ
×Ò ¨#Ñ.Ô.Ð.àØ×Ò˜ Q™­¬¸Ñ(<Ô(<Ñ=Ô=Ð=ØØ×Ò˜¥C¤O°CÑ$8Ô$8Ñ9Ô9Ð9Ð9Ð9r   c                 ó:  — d„ }t          |¦  «        }t          j                             d¦  «        }t          j                             d¦  «        }t          j                              |||¦  «         |||¦  «        ¦  «         |                       |||¦  «        d¦  «         t          j                             d¦  «                             dd¦  «        }t          j                             d¦  «                             dd¦  «        }t          j                              |||¦  «         |||¦  «        ¦  «         |                       |||¦  «        d¦  «         t          j                             d¦  «                             ddd¦  «        }t          j                             d¦  «                             ddd¦  «        }t          j                              |||¦  «         |||¦  «        ¦  «         |                       |||¦  «        d¦  «         d S )Nc                 ód   — t          j        | j        ¦  «        }t          j        | ||¦  «         |S r   )r   r\   ra   Úadd)r   r   r‘   s      r   rB   z=TestDynArray.test_ufunc_with_allocated_output.<locals>.pyfunc  s,   € Ý”(˜1œ7Ñ#Ô#ˆCÝŒF�1�a˜ÑÔÐØˆJr   é
   r_   r~   é   éF   é   )r9   r   Úrandomr>   r?   rU   Úreshape)rA   rB   rE   Úarr_aÚarr_bs        r   Ú test_ufunc_with_allocated_outputz-TestDynArray.test_ufunc_with_allocated_output  sý  € ð	ð 	ð 	õ
 �v‘”ˆõ ”	× Ò  Ñ$Ô$ˆÝ”	× Ò  Ñ$Ô$ˆå
Œ
×Ò   u¨eÑ 4Ô 4Ø %  e¨UÑ 3Ô 3ñ	5ô 	5ð 	5ð 	×#Ò# E E¨%°Ñ$7Ô$7¸Ñ;Ô;Ð;õ ”	× Ò  Ñ$Ô$×,Ò,¨Q°Ñ2Ô2ˆÝ”	× Ò  Ñ$Ô$×,Ò,¨Q°Ñ2Ô2ˆå
Œ
×Ò   u¨eÑ 4Ô 4Ø %  e¨UÑ 3Ô 3ñ	5ô 	5ð 	5ð 	×#Ò# E E¨%°Ñ$7Ô$7¸Ñ;Ô;Ð;õ ”	× Ò  Ñ$Ô$×,Ò,¨Q°°1Ñ5Ô5ˆÝ”	× Ò  Ñ$Ô$×,Ò,¨Q°°1Ñ5Ô5ˆå
Œ
×Ò   u¨eÑ 4Ô 4Ø %  e¨UÑ 3Ô 3ñ	5ô 	5ð 	5ð 	×#Ò# E E¨%°Ñ$7Ô$7¸Ñ;Ô;Ð;Ð;Ð;r   c                 óš  ‡— d„ }t          |¦  «        Šd}t          j                             dd|¦  «        }|                     ¦   «         }t          j                              ||¦  «         ‰|¦  «        ¦  «         t          j                             ||¦  «         g }g }g }ˆfd„}t          d¦  «        D ]¢}	t          j                             dd|¦  «        }t          j        |¦  «        }
t          j
        |||
fd                     |	¦  «        ¬¦  «        }|                     |¦  «         |                     |¦  «         |                     |
¦  «         Œ£|D ]}|                     ¦   «          Œ|D ]}|                     ¦   «          Œt          ||¦  «        D ].\  }}
t          j                              ||¦  «        |
¦  «         Œ/dS )	z�
        This test exercises the array allocation in multithreaded usecase.
        This stress the freelist inside NRT.
        c                 óv  — t          j        | j        ¦  «        }t          |j        ¦  «        D ]}d||<   Œt          | d         ¦  «        D ]m}t          j        | j        ¦  «        }t          |j        ¦  «        D ]}| |         ||<   Œt          |j        ¦  «        D ]}||xx         ||         |z   z  cc<   ŒŒn|S )Nr   ©r   r\   r;   rh   )Úinpr‘   rj   Útmprt   s        r   rB   z/TestDynArray.test_allocation_mt.<locals>.pyfunc.  sÊ   € Ý”(˜3œ8Ñ$Ô$ˆCõ ˜3œ8‘_”_ð ð �Ø��A‘�å˜3˜qœ6‘]”]ð )ð )�å”h˜sœxÑ(Ô(�å˜sœx™œð $ð $�AØ  œV�C˜‘F�Få˜sœx™œð )ð )�AØ˜�F�F”F˜c !œf q™jÑ(�F�F‘F�Fð)ð ˆJr   r¤   r_   c                 ó(   •—  ‰| ¦  «        |d d …<   d S r   rM   )r°   r‘   rE   s     €r   Úwrappedz0TestDynArray.test_allocation_mt.<locals>.wrappedO  s   ø€ Ø�U˜3‘Z”ZˆC���‰FˆFˆFr   éd   ú	worker{0}©ÚtargetrF   ÚnameN)r9   r   r¨   ÚrandintÚcopyr>   r?   rh   Ú
empty_likeÚ	threadingÚThreadÚformatÚappendÚstartÚjoinÚzip)rA   rB   r;   rS   Ú
frozen_arrÚworkersÚinputsÚoutputsr³   rj   r‘   Úthreadr°   rE   s                @r   Útest_allocation_mtzTestDynArray.test_allocation_mt(  sì  ø€ ð	ð 	ð 	õ& �v‘”ˆØˆÝŒi×Ò  2 tÑ,Ô,ˆØ—X’X‘Z”Zˆ
å
Œ
×Ò   s¡¤¨U¨U°3©Z¬ZÑ8Ô8Ð8å
Œ
×Ò 
¨CÑ0Ô0Ð0àˆØˆØˆð	 ð 	 ð 	 ð 	 ð 	 õ �s‘”ð 	 ð 	 ˆAÝ”)×#Ò# A r¨4Ñ0Ô0ˆCÝ”- Ñ$Ô$ˆCÝÔ%¨WØ,/°¨:Ø+6×+=Ò+=¸aÑ+@Ô+@ðBñ Bô BˆFð �NŠN˜6Ñ"Ô"Ð"Ø�MŠM˜#ÑÔÐØ�NŠN˜3ÑÔÐÐð ð 	ð 	ˆFØ�LŠL‰NŒNˆNˆNð ð 	ð 	ˆFØ�KŠK‰MŒMˆMˆMõ ˜F GÑ,Ô,ð 	6ð 	6‰HˆC�ÝŒJ×#Ò# F F¨3¡K¤K°Ñ5Ô5Ð5Ð5ð	6ð 	6r   c                 ó  ‡— d„ }t          |¦  «        Šd}t          j        |t          ¬¦  «        }t	          j        |¦  «        }t          j        d¦  «        } |||¦  «        }t          j         	                    | ‰||¦  «        ¦  «         ~|  
                    |t	          j        |¦  «        ¦  «         g }g }g }	ˆfd„}
t          d¦  «        D ]–}t          j        |¦  «        }t          j        d¦  «        }t          j        |
|||fd                     |¦  «        ¬¦  «        }|                     |¦  «         |                     |¦  «         |	                     |¦  «         Œ—|D ]}|                     ¦   «          Œ|D ]}|                     ¦   «          Œt'          |	|¦  «        D ]/\  }}t          j         	                     |||¦  «        |¦  «         Œ0~~|  
                    |t	          j        |¦  «        ¦  «         d	S )
zE
        This test exercises the refct in multithreaded code
        c                 ó®   — t          j        |j        ¦  «        }t          |j        ¦  «        D ]}||         dz   ||<   Œt          | ¦  «        D ]}||}}Œ|S ©Nr_   r¯   )ri   r°   r‘   rj   s       r   rB   z*TestDynArray.test_refct_mt.<locals>.pyfuncn  sb   € Ý”(˜3œ8Ñ$Ô$ˆCÝ˜3œ8‘_”_ð $ð $�Ø˜Qœ !™��A‘�å˜1‘X”Xð $ð $�Ø �S��ØˆJr   r¤   r…   iè  c                 ó*   •—  ‰| |¦  «        |d d …<   d S r   rM   )ri   Úinputr‘   rE   s      €r   r³   z+TestDynArray.test_refct_mt.<locals>.wrapped‡  s   ø€ Ø�U˜1˜e‘_”_ˆC���‰FˆFˆFr   r´   rµ   r¶   N)r9   r   rl   ÚfloatrŒ   r�   r¨   Ú	randranger>   r?   r:   rh   r\   r¼   r½   r¾   r¿   rÀ   rÁ   rÂ   )rA   rB   r;   rÍ   Úexpected_refctÚswapctrG   rÄ   rÆ   Úswapctsr³   rj   r‘   rÇ   rE   s                 @r   Útest_refct_mtzTestDynArray.test_refct_mti  s0  ø€ ð
	ð 	ð 	õ �v‘”ˆØˆÝ”	˜$¥eÐ,Ñ,Ô,ˆÝœ¨Ñ/Ô/ˆÝÔ! $Ñ'Ô'ˆØ�6˜& %Ñ(Ô(ˆÝ
Œ
×Ò ¨%¨%°¸Ñ*>Ô*>Ñ?Ô?Ð?àØ×Ò˜­¬¸Ñ)?Ô)?Ñ@Ô@Ð@àˆØˆØˆð	%ð 	%ð 	%ð 	%ð 	%õ �s‘”ð 		#ð 		#ˆAÝ”(˜4‘.”.ˆCåÔ% dÑ+Ô+ˆFÝÔ%¨WØ,2°E¸3Ð+?Ø+6×+=Ò+=¸aÑ+@Ô+@ðBñ Bô BˆFð �NŠN˜6Ñ"Ô"Ð"Ø�NŠN˜3ÑÔÐØ�NŠN˜6Ñ"Ô"Ð"Ð"ð ð 	ð 	ˆFØ�LŠL‰NŒNˆNˆNð ð 	ð 	ˆFØ�KŠK‰MŒMˆMˆMõ ˜w¨Ñ0Ô0ð 	@ð 	@‰KˆF�CÝŒJ×#Ò# F F¨6°5Ñ$9Ô$9¸3Ñ?Ô?Ð?Ð?à�Wà×Ò˜­¬¸Ñ)?Ô)?Ñ@Ô@Ð@Ð@Ð@r   c                 óB  — t           d„ ¦   «         }|                      ¦   «          |                      t          ¦  «        5 } |t          j        j        dz  dz  ¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |j	        ¦  «        ¦  «         d S )Nc                 ó.   — t          j        | ¦  «         d S r   r[   )Úxs    r   r^   z1TestDynArray.test_invalid_size_array.<locals>.foo©  s   € åŒH�Q‰KŒKˆKˆKˆKr   é   r~   zAllocation failed)
r   Údisable_leak_checkÚassertRaisesÚMemoryErrorr   Úsize_tÚmaxvalÚassertInÚstrÚ	exception)rA   r^   Úraisess      r   Útest_invalid_size_arrayz$TestDynArray.test_invalid_size_array¦  sÞ   € õ 
ð	ð 	ñ 
Œð	ð 	×ÒÑ!Ô!Ð!à×Ò�{Ñ+Ô+ð 	/¨vØˆC•”Ô# qÑ(¨AÑ-Ñ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	�ŠÐ)­3¨vÔ/?Ñ+@Ô+@ÑAÔAÐAÐAÐAs   ¿!A,Á,A0Á3A0c                 ój  — d„ }t          |¦  «        }t          j                             d¦  «        }t          j                             d¦  «        }d}t          j        |¦  «        t          j        |¦  «        f} ||||¦  «         ||||¦  «        }}|                      |d         j        ¦  «         |                      |d         j        ¦  «         t          j                             ||¦  «         ~~|  	                    |t          j        |¦  «        t          j        |¦  «        f¦  «         d S )Nc                 ó6   — t          |¦  «        D ]}|| }} Œ| |fS )z5Swap array x and y for t number of times
            ©rh   ©rÖ   rˆ   Útrj   s       r   rB   z&TestDynArray.test_swap.<locals>.pyfunc·  s-   € õ ˜1‘X”Xð ð �Ø˜!�1��à�a�4ˆKr   r´   r   r_   )
r9   r   r¨   rŒ   r�   r–   rQ   r>   r?   r:   )	rA   rB   rE   rÖ   rˆ   ræ   r�   rT   rœ   s	            r   Ú	test_swapzTestDynArray.test_swapµ  s  € ð	ð 	ð 	õ �v‘”ˆåŒI×Ò˜SÑ!Ô!ˆÝŒI×Ò˜SÑ!Ô!ˆàˆå”O AÑ&Ô&­¬¸Ñ(:Ô(:Ð:ˆ	Ø�f˜Q  1‘o”o u u¨Q°°1¡~¤~�ˆØ×Ò˜#˜aœ&œ+Ñ&Ô&Ð&Ø×Ò˜#˜aœ&œ+Ñ&Ô&Ð&Ý
Œ
×Ò ¨Ñ,Ô,Ð,Ø�CØ×Ò˜¥S¤_°QÑ%7Ô%7½¼ÈÑ9KÔ9KÐ$LÑMÔMÐMÐMÐMr   c                 óh  — d„ }t          |¦  «        }t          j                             d¦  «        }t          j        |¦  «        } ||¦  «        \  }} ||¦  «        \  }}|                      ||¦  «         |                      ||¦  «         t          j                             ||¦  «         t          j                             ||¦  «         ~~|                      |t          j        |¦  «        ¦  «         |                      t          j        |¦  «        t          j        |¦  «        ¦  «         d S )Nc                 ó†   — t          j        | j        ¦  «        }t          |j        ¦  «        D ]}| |         dz   ||<   Œ| |fS rË   r¯   )rÖ   rˆ   rj   s      r   rB   z7TestDynArray.test_return_tuple_of_array.<locals>.pyfuncÑ  sF   € Ý”˜œÑ Ô ˆAÝ˜1œ6‘]”]ð  ð  �Ø˜”t˜a‘x��!‘�Ø�a�4ˆKr   r¥   )	r9   r   r¨   rŒ   r�   r›   r>   r?   r:   )	rA   rB   rE   rÖ   r�   Ú
expected_xÚ
expected_yÚgot_xÚgot_ys	            r   Útest_return_tuple_of_arrayz'TestDynArray.test_return_tuple_of_arrayÏ  s  € ð	ð 	ð 	õ �v‘”ˆåŒI×Ò˜QÑÔˆÝ”O AÑ&Ô&ˆ	Ø!' ¨¡¤Ñˆ
�JØ�u˜Q‘x”x‰ˆˆuØ�Š�a˜Ñ$Ô$Ð$Ø�Š�a˜ÑÔÐÝ
Œ
×Ò 
¨EÑ2Ô2Ð2Ý
Œ
×Ò 
¨EÑ2Ô2Ð2Ø˜Ø×Ò˜¥C¤O°AÑ$6Ô$6Ñ7Ô7Ð7à×Ò�œ¨Ñ4Ô4µc´oÀeÑ6LÔ6LÑMÔMÐMÐMÐMr   c                 óÀ  — d„ }t          |¦  «        }t          j                             d¦  «        } ||¦  «        \  }} ||¦  «        \  }}t          j                             ||¦  «         t          j                             ||¦  «         |                      dt          j        |¦  «        ¦  «         |                      dt          j        |¦  «        ¦  «         d S )Nc                 óŠ   — t          j        | j        ¦  «        }t          |j        ¦  «        D ]}| |         dz   ||<   Œ||f}|S rË   r¯   )rÖ   rˆ   rj   r‘   s       r   rB   z?TestDynArray.test_return_tuple_of_array_created.<locals>.pyfuncè  sK   € Ý”˜œÑ Ô ˆAÝ˜1œ6‘]”]ð  ð  �Ø˜”t˜a‘x��!‘�Ø�Q�$ˆCØˆJr   r¥   r~   )r9   r   r¨   r>   r?   r:   rŒ   r�   )rA   rB   rE   rÖ   rê   rë   rì   rí   s           r   Ú"test_return_tuple_of_array_createdz/TestDynArray.test_return_tuple_of_array_createdæ  sÌ   € ð	ð 	ð 	õ �v‘”ˆåŒI×Ò˜QÑÔˆØ!' ¨¡¤Ñˆ
�JØ�u˜Q‘x”x‰ˆˆuÝ
Œ
×Ò 
¨EÑ2Ô2Ð2Ý
Œ
×Ò 
¨EÑ2Ô2Ð2à×Ò˜�CœO¨EÑ2Ô2Ñ3Ô3Ð3à×Ò˜�CœO¨EÑ2Ô2Ñ3Ô3Ð3Ð3Ð3r   c                 ó´  ‡— t           d„ ¦   «         Šˆfd„}t          |¦  «        }t          j        d¦  «        }t          j        |¦  «        }|                      |t          j         ||¦  «        ¦  «        ¦  «         |                      |t          j         ||¦  «        ¦  «        ¦  «         |                      |t          j        |¦  «        ¦  «         dS )z_
        Dispatcher returns a new reference.
        It need to workaround it for now.
        c                 ó   — | S r   rM   )r‘   s    r   Úinnerz7TestDynArray.test_issue_with_return_leak.<locals>.inner   s   € àˆJr   c                 ó   •—  ‰| ¦  «        S r   rM   )rÖ   rô   s    €r   rB   z8TestDynArray.test_issue_with_return_leak.<locals>.pyfunc  s   ø€ Ø�5˜‘8”8ˆOr   r¤   N)r9   r   rl   rŒ   r�   r:   )rA   rB   rE   rS   Ú	old_refctrô   s        @r   Útest_issue_with_return_leakz(TestDynArray.test_issue_with_return_leakû  sÖ   ø€ õ
 
ð	ð 	ñ 
Œð	ð	ð 	ð 	ð 	ð 	õ �v‘”ˆåŒi˜‰mŒmˆÝ”O CÑ(Ô(ˆ	à×Ò˜¥C¤O°F°F¸3±K´KÑ$@Ô$@ÑAÔAÐAØ×Ò˜¥C¤O°E°E¸#±J´JÑ$?Ô$?Ñ@Ô@Ð@Ø×Ò˜¥C¤O°CÑ$8Ô$8Ñ9Ô9Ð9Ð9Ð9r   N)rJ   rK   rL   re   rn   ry   r€   rƒ   r’   r˜   r�   r    r¬   rÈ   rÓ   r   rá   rç   rî   rñ   r÷   rM   r   r   rW   rW   D   s1  € € € € € ðð ð ð$ð ð ð*ð ð ð.ð ð ð2ð ð ð08ð 8ð 8ð6Cð Cð Cð%ð %ð %ð:ð :ð :ð,"<ð "<ð "<ðH?6ð ?6ð ?6ðB;Að ;Að ;Aðz ðBð Bñ „]ðBðNð Nð Nð4Nð Nð Nð.4ð 4ð 4ð*:ð :ð :ð :ð :r   rW   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚConstructorBaseTestc                 ó`  — t          |¦  «        } |¦   «         } |¦   «         }|                      |d¦  «         |                      |j        |j        ¦  «         |                      |j        |j        ¦  «         |                      |j        |j        ¦  «         |                      |j        |j        ¦  «         |                      ||¦  «         t          j	        |¦  «        }| 
                    d¦  «         | 
                    d¦  «         t          j                             ||¦  «         d S )Nr_   r`   )r9   rU   r:   r;   ra   r<   rc   Úcheck_result_valuer   r»   rd   r>   r?   )rA   rB   rE   rG   rH   s        r   Úcheck_0dzConstructorBaseTest.check_0d  s  € Ý�v‘”ˆØ�6‘8”8ˆØˆe‰gŒgˆØ×#Ò# C¨Ñ+Ô+Ð+Ø×Ò˜œ 8¤=Ñ1Ô1Ð1Ø×Ò˜œ H¤NÑ3Ô3Ð3Ø×Ò˜œ H¤NÑ3Ô3Ð3Ø×Ò˜œ hÔ&6Ñ7Ô7Ð7Ø×Ò  XÑ.Ô.Ð.å”= Ñ%Ô%ˆØ�Š�cÑÔÐØ�Š�‰ŒˆÝ
Œ
×Ò  XÑ.Ô.Ð.Ð.Ð.r   c                 ó2  — t          |¦  «        }d} ||¦  «        } ||¦  «        }|                      |d¦  «         |                      |j        |j        ¦  «         |                      |j        |j        ¦  «         |                      |j        |j        ¦  «         |                      |j        |j        ¦  «         |                      ||¦  «         t          j	        |¦  «        }| 
                    d¦  «         | 
                    d¦  «         t          j                             ||¦  «         |                      t          ¦  «        5 } |d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j        ¦  «        d¦  «         d S )Nrk   r_   r`   éÿÿÿÿúnegative dimensions not allowed©r9   rU   r:   r;   ra   r<   rc   rû   r   r»   rd   r>   r?   rÙ   Ú
ValueErrorrÞ   rß   )rA   rB   rE   ri   rG   rH   Úcms          r   Úcheck_1dzConstructorBaseTest.check_1d#  s£  € Ý�v‘”ˆØˆØ�6˜!‘9”9ˆØˆe�A‰hŒhˆØ×#Ò# C¨Ñ+Ô+Ð+Ø×Ò˜œ 8¤=Ñ1Ô1Ð1Ø×Ò˜œ H¤NÑ3Ô3Ð3Ø×Ò˜œ H¤NÑ3Ô3Ð3Ø×Ò˜œ hÔ&6Ñ7Ô7Ð7Ø×Ò  XÑ.Ô.Ð.å”= Ñ%Ô%ˆØ�Š�cÑÔÐØ�Š�‰ŒˆÝ
Œ
×Ò  XÑ.Ô.Ð.à×Ò�zÑ*Ô*ð 	¨bØˆE�"‰IŒIˆIð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×Ò�˜Rœ\Ñ*Ô*Ð,MÑNÔNÐNÐNÐNs   ÅE$Å$E(Å+E(c                 ó>  — t          |¦  «        }d\  }} |||¦  «        } |||¦  «        }|                      |d¦  «         |                      |j        |j        ¦  «         |                      |j        |j        ¦  «         |                      |j        |j        ¦  «         |                      |j        |j        ¦  «         |                      ||¦  «         t          j	        |¦  «        }| 
                    d¦  «         | 
                    d¦  «         t          j                             ||¦  «         |                      t          ¦  «        5 } |dd¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j        ¦  «        d¦  «         d S )N©r~   rk   r_   r`   r~   rþ   rÿ   r   )rA   rB   rE   rs   ri   rG   rH   r  s           r   Úcheck_2dzConstructorBaseTest.check_2d8  s­  € Ý�v‘”ˆØ‰ˆˆ1Ø�6˜!˜Q‘<”<ˆØˆe�A�q‰kŒkˆØ×#Ò# C¨Ñ+Ô+Ð+Ø×Ò˜œ 8¤=Ñ1Ô1Ð1Ø×Ò˜œ H¤NÑ3Ô3Ð3Ø×Ò˜œ H¤NÑ3Ô3Ð3Ø×Ò˜œ hÔ&6Ñ7Ô7Ð7Ø×Ò  XÑ.Ô.Ð.å”= Ñ%Ô%ˆØ�Š�cÑÔÐØ�Š�‰ŒˆÝ
Œ
×Ò  XÑ.Ô.Ð.à×Ò�zÑ*Ô*ð 	¨bØˆE�!�R‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×Ò�˜Rœ\Ñ*Ô*Ð,MÑNÔNÐNÐNÐNs   ÅE*Å*E.Å1E.c                 óì   — t          |¦  «        }|                      t          ¦  «        5 } |¦   «          ddd¦  «         n# 1 swxY w Y   |                      dt	          |j        ¦  «        ¦  «         dS )zAChecks that pyfunc will error, not segfaulting due to array size.Nzarray is too big)r9   rÙ   r  rÝ   rÞ   rß   )rA   rB   rE   Úes       r   Úcheck_alloc_sizez$ConstructorBaseTest.check_alloc_sizeM  s®   € å�v‘”ˆØ×Ò�zÑ*Ô*ð 	¨aØˆE‰GŒGˆGð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠØÝ�”ÑÔñ	
ô 	
ð 	
ð 	
ð 	
s   ªAÁAÁAN)rJ   rK   rL   rü   r  r  r	  rM   r   r   rù   rù     sV   € € € € € ð/ð /ð /ð Oð Oð Oð*Oð Oð Oð*
ð 
ð 
ð 
ð 
r   rù   c                   ó~   ‡ — e Zd Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ xZS )ÚTestNdZerosc                 óx   •— t          t          | ¦  «                             ¦   «          t          j        | _        d S r   )Úsuperr  ÚsetUpr   ÚzerosrB   ©rA   Ú	__class__s    €r   r  zTestNdZeros.setUpZ  s,   ø€ Ý�k˜4Ñ Ô ×&Ò&Ñ(Ô(Ð(Ý”hˆŒˆˆr   c                 óF   — t           j                             ||¦  «         d S r   ©r   r>   r?   ©rA   rH   rG   s      r   rû   zTestNdZeros.check_result_value^  ó    € Ý
Œ
×Ò  XÑ.Ô.Ð.Ð.Ð.r   c                 óJ   ‡— | j         Šˆfd„}|                      |¦  «         d S )Nc                  ó   •—  ‰ d¦  «        S ©NrM   rM   )rB   s   €r   Úfuncz!TestNdZeros.test_0d.<locals>.funcc  s   ø€ Ø�6˜"‘:”:Ðr   )rB   rü   ©rA   r  rB   s     @r   Útest_0dzTestNdZeros.test_0da  s;   ø€ Ø”ˆð	ð 	ð 	ð 	ð 	à�Š�dÑÔÐÐÐr   c                 óJ   ‡— | j         Šˆfd„}|                      |¦  «         d S )Nc                 ó   •—  ‰| ¦  «        S r   rM   ©ri   rB   s    €r   r  z!TestNdZeros.test_1d.<locals>.funci  s   ø€ Ø�6˜!‘9”9Ðr   ©rB   r  r  s     @r   Útest_1dzTestNdZeros.test_1dg  s;   ø€ Ø”ˆð	ð 	ð 	ð 	ð 	à�Š�dÑÔÐÐÐr   c                 óJ   ‡— | j         Šˆfd„}|                      |¦  «         d S )Nc                 ó0   •—  ‰| t           j        ¦  «        S r   ©r   rr   r  s    €r   r  z'TestNdZeros.test_1d_dtype.<locals>.funco  s   ø€ Ø�6˜!�RœXÑ&Ô&Ð&r   r  r  s     @r   Útest_1d_dtypezTestNdZeros.test_1d_dtypem  s;   ø€ Ø”ˆð	'ð 	'ð 	'ð 	'ð 	'à�Š�dÑÔÐÐÐr   c                 óv   ‡‡— | j         Št          j        d¦  «        Šˆˆfd„}|                      |¦  «         d S )Nrr   c                 ó   •—  ‰| ‰¦  «        S r   rM   ©ri   Ú_dtyperB   s    €€r   r  z0TestNdZeros.test_1d_dtype_instance.<locals>.funcw  ó   ø€ Ø�6˜!˜VÑ$Ô$Ð$r   )rB   r   r<   r  ©rA   r  r(  rB   s     @@r   Útest_1d_dtype_instancez"TestNdZeros.test_1d_dtype_instances  sP   øø€ à”ˆÝ”˜'Ñ"Ô"ˆð	%ð 	%ð 	%ð 	%ð 	%ð 	%à�Š�dÑÔÐÐÐr   c                 ó†   ‡‡— | j         ŠdŠˆˆfd„}|                      |¦  «         ˆfd„}|                      |¦  «         d S )Nrr   c                 ó   •—  ‰| ‰¦  «        S r   rM   r'  s    €€r   r  z+TestNdZeros.test_1d_dtype_str.<locals>.func~  r)  r   c                 ó   •—  ‰| d¦  «        S )NÚ
complex128rM   r  s    €r   r  z+TestNdZeros.test_1d_dtype_str.<locals>.func‚  s   ø€ Ø�6˜!˜\Ñ*Ô*Ð*r   r  r*  s     @@r   Útest_1d_dtype_strzTestNdZeros.test_1d_dtype_str{  sq   øø€ Ø”ˆØˆð	%ð 	%ð 	%ð 	%ð 	%ð 	%à�Š�dÑÔÐð	+ð 	+ð 	+ð 	+ð 	+à�Š�dÑÔÐÐÐr   c                 ó†   ‡‡— | j         ŠdŠˆˆfd„}|                      |¦  «         ˆfd„}|                      |¦  «         d S )NÚi4c                 ó   •—  ‰| ‰¦  «        S r   rM   r'  s    €€r   r  z@TestNdZeros.test_1d_dtype_str_alternative_spelling.<locals>.funcŠ  r)  r   c                 ó   •—  ‰| d¦  «        S )NÚc8rM   r  s    €r   r  z@TestNdZeros.test_1d_dtype_str_alternative_spelling.<locals>.funcŽ  s   ø€ Ø�6˜!˜T‘?”?Ð"r   r  r*  s     @@r   Ú&test_1d_dtype_str_alternative_spellingz2TestNdZeros.test_1d_dtype_str_alternative_spelling†  sq   øø€ à”ˆØˆð	%ð 	%ð 	%ð 	%ð 	%ð 	%à�Š�dÑÔÐð	#ð 	#ð 	#ð 	#ð 	#à�Š�dÑÔÐÐÐr   c                 óR   ‡‡— | j         ŠdŠˆˆfd„}|                      |¦  «         d S )Nzi4, (2,3)f8c                 ó   •—  ‰| ‰¦  «        S r   rM   r'  s    €€r   r  z<TestNdZeros.test_1d_dtype_str_structured_dtype.<locals>.func–  r)  r   r  r*  s     @@r   Ú"test_1d_dtype_str_structured_dtypez.TestNdZeros.test_1d_dtype_str_structured_dtype’  sF   øø€ à”ˆØˆð	%ð 	%ð 	%ð 	%ð 	%ð 	%à�Š�dÑÔÐÐÐr   c                 ó*  ‡— | j         Št          ˆfd„¦   «         }|                      t          ¦  «        5 } |dd¦  «         d d d ¦  «         n# 1 swxY w Y   t	          |j        ¦  «        }d| j         j        › d�}|                      ||¦  «         d S )Nc                 ó   •—  ‰| |¦  «        S r   rM   ©ri   ÚdtrB   s     €r   r  z5TestNdZeros.test_1d_dtype_non_const_str.<locals>.func�  ó   ø€ à�6˜!˜R‘=”=Ð r   r¥   rr   úIf np.ú0 dtype is a string it must be a string constant.)rB   r   rÙ   r   rÞ   rß   rJ   rÝ   ©rA   r  rà   ÚexcstrÚmsgrB   s        @r   Útest_1d_dtype_non_const_strz'TestNdZeros.test_1d_dtype_non_const_strš  sð   ø€ Ø”ˆå	ð	!ð 	!ð 	!ð 	!ñ 
Œð	!ð ×Ò�{Ñ+Ô+ð 	¨vØˆD��GÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ �VÔ%Ñ&Ô&ˆð"˜œÔ,ð "ð "ð "ˆà�Š�c˜6Ñ"Ô"Ð"Ð"Ð"s   µAÁAÁAc                 ó  ‡— | j         Št          ˆfd„¦   «         }|                      t          ¦  «        5 } |d¦  «         d d d ¦  «         n# 1 swxY w Y   t	          |j        ¦  «        }|                      d|¦  «         d S )Nc                 ó   •—  ‰| d¦  «        S ©NÚABCDEFrM   r  s    €r   r  z3TestNdZeros.test_1d_dtype_invalid_str.<locals>.func¬  ó   ø€ à�6˜!˜XÑ&Ô&Ð&r   r¥   ú'Invalid NumPy dtype specified: 'ABCDEF')rB   r   rÙ   r   rÞ   rß   rÝ   ©rA   r  rà   rB  rB   s       @r   Útest_1d_dtype_invalid_strz%TestNdZeros.test_1d_dtype_invalid_str©  sÏ   ø€ Ø”ˆå	ð	'ð 	'ð 	'ð 	'ñ 
Œð	'ð ×Ò�{Ñ+Ô+ð 	¨vØˆD�‰GŒGˆGð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ �VÔ%Ñ&Ô&ˆØ�ŠÐ?ÀÑHÔHÐHÐHÐHs   µAÁAÁAc                 óJ   ‡— | j         Šˆfd„}|                      |¦  «         d S )Nc                 ó   •—  ‰| |f¦  «        S r   rM   ©rs   ri   rB   s     €r   r  z!TestNdZeros.test_2d.<locals>.func¸  s   ø€ Ø�6˜1˜a˜&‘>”>Ð!r   ©rB   r  r  s     @r   Útest_2dzTestNdZeros.test_2d¶  s;   ø€ Ø”ˆð	"ð 	"ð 	"ð 	"ð 	"à�Š�dÑÔÐÐÐr   c                 ó`  ‡— | j         Šˆfd„}|                      |¦  «         ˆfd„}|                      |¦  «         t          j        ret	          ˆfd„¦  «        }|                      t          ¦  «        5   |t          j        d¦  «        d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S d S )Nc                 óf   •—  ‰t          j        | ¦  «        t          j        |¦  «        f¦  «        S r   )r   Úint16rr   rO  s     €r   Úfunc1z/TestNdZeros.test_2d_shape_dtypes.<locals>.func1¿  s(   ø€ Ø�6�2œ8 A™;œ;­¬°©¬Ð4Ñ5Ô5Ð5r   c                 óf   •—  ‰t          j        | ¦  «        t          j        |¦  «        f¦  «        S r   )r   Úint64Úint8rO  s     €r   Úfunc2z/TestNdZeros.test_2d_shape_dtypes.<locals>.func2Ã  s(   ø€ Ø�6�2œ8 A™;œ;­¬°©
¬
Ð3Ñ4Ô4Ð4r   c                 ó   •—  ‰| |f¦  «        S r   rM   rO  s     €r   ú<lambda>z2TestNdZeros.test_2d_shape_dtypes.<locals>.<lambda>È  s   ø€ ¨¨°°1¨v©¬€ r   ì        r_   )	rB   r  r   Ú	IS_32BITSr9   rÙ   r  r   rW  )rA   rU  rY  rE   rB   s       @r   Útest_2d_shape_dtypesz TestNdZeros.test_2d_shape_dtypes¼  s   ø€ à”ˆð	6ð 	6ð 	6ð 	6ð 	6à�Š�eÑÔÐð	5ð 	5ð 	5ð 	5ð 	5à�Š�eÑÔÐåÔð 	2ÝÐ6Ð6Ð6Ð6Ñ7Ô7ˆEØ×"Ò"¥:Ñ.Ô.ð 2ð 2Ø�•b”h˜}Ñ-Ô-¨qÑ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2ð 2ð 2ð	2ð 	2s   Á5B!Â!B%Â(B%c                 óJ   ‡— | j         Šˆfd„}|                      |¦  «         d S )Nc                 ó6   •—  ‰| |ft           j        ¬¦  «        S ©Nr…   )r   Ú	complex64rO  s     €r   r  z-TestNdZeros.test_2d_dtype_kwarg.<locals>.funcÎ  s   ø€ Ø�6˜1˜a˜&­¬Ð5Ñ5Ô5Ð5r   rP  r  s     @r   Útest_2d_dtype_kwargzTestNdZeros.test_2d_dtype_kwargÌ  s;   ø€ Ø”ˆð	6ð 	6ð 	6ð 	6ð 	6à�Š�dÑÔÐÐÐr   c                 óJ   ‡— | j         Šˆfd„}|                      |¦  «         d S )Nc                 ó"   •—  ‰| |fd¬¦  «        S )Nrb  r…   rM   rO  s     €r   r  z1TestNdZeros.test_2d_dtype_str_kwarg.<locals>.funcÔ  s   ø€ Ø�6˜1˜a˜&¨Ð4Ñ4Ô4Ð4r   rP  r  s     @r   Útest_2d_dtype_str_kwargz#TestNdZeros.test_2d_dtype_str_kwargÒ  s;   ø€ Ø”ˆð	5ð 	5ð 	5ð 	5ð 	5à�Š�dÑÔÐÐÐr   c                 óJ   ‡— | j         Šˆfd„}|                      |¦  «         d S )Nc                 ó"   •—  ‰| |fd¬¦  «        S )Nr5  r…   rM   rO  s     €r   r  zFTestNdZeros.test_2d_dtype_str_kwarg_alternative_spelling.<locals>.funcÛ  s   ø€ Ø�6˜1˜a˜&¨Ð-Ñ-Ô-Ð-r   rP  r  s     @r   Ú,test_2d_dtype_str_kwarg_alternative_spellingz8TestNdZeros.test_2d_dtype_str_kwarg_alternative_spellingØ  s;   ø€ à”ˆð	.ð 	.ð 	.ð 	.ð 	.à�Š�dÑÔÐÐÐr   c                 ó  ‡— | j         Št          j        j        }ˆfd„}|                       |d|dz
  z  t
          j        ¦  «        ¦  «         |                       |d|dz
  z  dft
          j        ¦  «        ¦  «         d S )Nc                 ó   •‡ ‡— ˆˆˆ fd„S )Nc                  ó   •—  ‰‰‰ ¦  «        S r   rM   )r<   rB   ra   s   €€€r   r[  z?TestNdZeros.test_alloc_size.<locals>.gen_func.<locals>.<lambda>ã  s   ø€ ˜F˜F 5¨%Ñ0Ô0€ r   rM   )ra   r<   rB   s   ``€r   Úgen_funcz-TestNdZeros.test_alloc_size.<locals>.gen_funcâ  s   øøø€ Ø0Ð0Ð0Ð0Ð0Ð0Ð0r   r_   r~   r×   é@   )rB   r   ÚintpÚbitwidthr	  r   )rA   Úwidthrm  rB   s      @r   Útest_alloc_sizezTestNdZeros.test_alloc_sizeß  sŽ   ø€ Ø”ˆÝ”
Ô#ˆð	1ð 	1ð 	1ð 	1ð 	1ð 	×Ò˜h˜h q¨E°A©I¡~µr´wÑ?Ô?Ñ@Ô@Ð@Ø×Ò˜h˜h¨¨U°Q©Y©¸Ð';½R¼WÑEÔEÑFÔFÐFÐFÐFr   )rJ   rK   rL   r  rû   r  r   r$  r+  r0  r6  r9  rD  rL  rQ  r^  rc  rf  ri  rr  Ú__classcell__©r  s   @r   r  r  X  s2  ø€ € € € € ðð ð ð ð ð/ð /ð /ðð ð ðð ð ðð ð ðð ð ð	ð 	ð 	ð
ð 
ð 
ðð ð ð#ð #ð #ðIð Ið Iðð ð ð2ð 2ð 2ð ð ð ðð ð ðð ð ðGð Gð Gð Gð Gð Gð Gr   r  c                   óB   ‡ — e Zd Zˆ fd„Zej        ˆ fd„¦   «         Zˆ xZS )Ú
TestNdOnesc                 óx   •— t          t          | ¦  «                             ¦   «          t          j        | _        d S r   )r  rv  r  r   rŠ   rB   r  s    €r   r  zTestNdOnes.setUpë  s,   ø€ Ý�j˜$ÑÔ×%Ò%Ñ'Ô'Ð'Ý”gˆŒˆˆr   c                 óH   •— t          ¦   «                              ¦   «          d S r   )r  r9  r  s    €r   r9  z-TestNdOnes.test_1d_dtype_str_structured_dtypeï  s   ø€ å‰Œ×2Ò2Ñ4Ô4Ð4Ð4Ð4r   )rJ   rK   rL   r  ÚunittestÚexpectedFailurer9  rs  rt  s   @r   rv  rv  é  sa   ø€ € € € € ðð ð ð ð ð Ôð5ð 5ð 5ð 5ñ Ôð5ð 5ð 5ð 5ð 5r   rv  c                   ób   — 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S )Ú
TestNdFullc                 óF   — t           j                             ||¦  «         d S r   r  r  s      r   rû   zTestNdFull.check_result_valueö  r  r   c                 ó6   — d„ }|                       |¦  «         d S )Nc                  ó,   — t          j        dd¦  «        S )NrM   ç      @©r   ÚfullrM   r   r   r  z TestNdFull.test_0d.<locals>.funcú  s   € Ý”7˜2˜sÑ#Ô#Ð#r   )rü   ©rA   r  s     r   r  zTestNdFull.test_0dù  s)   € ð	$ð 	$ð 	$à�Š�dÑÔÐÐÐr   c                 ó6   — d„ }|                       |¦  «         d S )Nc                 ó,   — t          j        | d¦  «        S ©Nr€  r�  ©ri   s    r   r  z TestNdFull.test_1d.<locals>.funcÿ  s   € Ý”7˜1˜c‘?”?Ð"r   ©r  rƒ  s     r   r   zTestNdFull.test_1dþ  s)   € ð	#ð 	#ð 	#à�Š�dÑÔÐÐÐr   c                 ó6   — d„ }|                       |¦  «         d S )Nc                 óB   — t          j        | dt           j        ¦  «        S r†  )r   r‚  Úbool_r‡  s    r   r  z&TestNdFull.test_1d_dtype.<locals>.func  s   € Ý”7˜1˜c¥2¤8Ñ,Ô,Ð,r   rˆ  rƒ  s     r   r$  zTestNdFull.test_1d_dtype  s)   € ð	-ð 	-ð 	-à�Š�dÑÔÐÐÐr   c                 ód   ‡— t          j        d¦  «        Šˆfd„}|                      |¦  «         d S )NÚboolc                 ó0   •— t          j        | d‰¦  «        S r†  r�  ©ri   r<   s    €r   r  z/TestNdFull.test_1d_dtype_instance.<locals>.func
  s   ø€ Ý”7˜1˜c 5Ñ)Ô)Ð)r   )r   r<   r  ©rA   r  r<   s     @r   r+  z!TestNdFull.test_1d_dtype_instance  sC   ø€ Ý”˜Ñ Ô ˆð	*ð 	*ð 	*ð 	*ð 	*à�Š�dÑÔÐÐÐr   c                 ó6   — d„ }|                       |¦  «         d S )Nc                 ó.   — t          j        | dd¦  «        S ©Nr€  r‹  r�  r‡  s    r   r  z*TestNdFull.test_1d_dtype_str.<locals>.func  s   € Ý”7˜1˜c 7Ñ+Ô+Ð+r   rˆ  rƒ  s     r   r0  zTestNdFull.test_1d_dtype_str  s)   € ð	,ð 	,ð 	,à�Š�dÑÔÐÐÐr   c                 ó6   — d„ }|                       |¦  «         d S )Nc                 ó.   — t          j        | dd¦  «        S )Nr€  ú?r�  r‡  s    r   r  z?TestNdFull.test_1d_dtype_str_alternative_spelling.<locals>.func  s   € Ý”7˜1˜c 3Ñ'Ô'Ð'r   rˆ  rƒ  s     r   r6  z1TestNdFull.test_1d_dtype_str_alternative_spelling  s)   € ð	(ð 	(ð 	(à�Š�dÑÔÐÐÐr   c                 óü   — t           d„ ¦   «         }|                      t          ¦  «        5 } |ddd¦  «         d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        }d}|                      ||¦  «         d S )Nc                 ó.   — t          j        | ||¦  «        S r   r�  )ri   Úfvr=  s      r   r  z4TestNdFull.test_1d_dtype_non_const_str.<locals>.func  s   € å”7˜1˜b "Ñ%Ô%Ð%r   ©r¥   r€  rr   z:If np.full dtype is a string it must be a string constant.©r   rÙ   r   rÞ   rß   rÝ   ©rA   r  rà   rB  rC  s        r   rD  z&TestNdFull.test_1d_dtype_non_const_str  sÊ   € å	ð	&ð 	&ñ 
Œð	&ð ×Ò�{Ñ+Ô+ð 	%¨vØˆD��s˜GÑ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%õ �VÔ%Ñ&Ô&ˆð"ˆà�Š�c˜6Ñ"Ô"Ð"Ð"Ð"s   «AÁA	ÁA	c                 óö   — t           d„ ¦   «         }|                      t          ¦  «        5 } |dd¦  «         d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        }|                      d|¦  «         d S )Nc                 ó.   — t          j        | |d¦  «        S rG  r�  )ri   r™  s     r   r  z2TestNdFull.test_1d_dtype_invalid_str.<locals>.func)  s   € å”7˜1˜b (Ñ+Ô+Ð+r   rš  r€  rJ  r›  ©rA   r  rà   rB  s       r   rL  z$TestNdFull.test_1d_dtype_invalid_str'  s¿   € å	ð	,ð 	,ñ 
Œð	,ð ×Ò�{Ñ+Ô+ð 	¨vØˆD��s‰OŒOˆOð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ �VÔ%Ñ&Ô&ˆØ�ŠÐ?ÀÑHÔHÐHÐHÐHó   «AÁAÁAc                 ó6   — d„ }|                       |¦  «         d S )Nc                 ó0   — t          j        | |fd¦  «        S r†  r�  ©rs   ri   s     r   r  z TestNdFull.test_2d.<locals>.func4  s   € Ý”7˜A˜q˜6 3Ñ'Ô'Ð'r   ©r  rƒ  s     r   rQ  zTestNdFull.test_2d3  s)   € ð	(ð 	(ð 	(à�Š�dÑÔÐÐÐr   c                 ó6   — d„ }|                       |¦  «         d S )Nc                 óH   — t          j        | |fdt           j        ¬¦  «        S )Ny      ð?      @r…   )r   r‚  rb  r£  s     r   r  z,TestNdFull.test_2d_dtype_kwarg.<locals>.func9  s   € Ý”7˜A˜q˜6 8µ2´<Ð@Ñ@Ô@Ð@r   r¤  rƒ  s     r   rc  zTestNdFull.test_2d_dtype_kwarg8  s,   € ð	Að 	Að 	Aà�Š�dÑÔÐÐÐr   c                 ó–   — d„ }|                       |¦  «         d„ }|                       |¦  «         d„ }|                       |¦  «         d S )Nc                 óT   — t          j        | |ft          j        d¦  «        ¦  «        S rË   )r   r‚  rr   r£  s     r   r  z0TestNdFull.test_2d_dtype_from_type.<locals>.func?  s    € Ý”7˜A˜q˜6¥2¤8¨A¡;¤;Ñ/Ô/Ð/r   c                 óT   — t          j        | |ft          j        d¦  «        ¦  «        S rË   )r   r‚  r/  r£  s     r   r  z0TestNdFull.test_2d_dtype_from_type.<locals>.funcD  s"   € Ý”7˜A˜q˜6¥2¤=°Ñ#3Ô#3Ñ4Ô4Ð4r   c                 óH   — t          j        | |fdt           j        ¬¦  «        S )Nr_   r…   )r   r‚  rX  r£  s     r   r  z0TestNdFull.test_2d_dtype_from_type.<locals>.funcI  s   € Ý”7˜A˜q˜6 1­B¬GÐ4Ñ4Ô4Ð4r   r¤  rƒ  s     r   Útest_2d_dtype_from_typez"TestNdFull.test_2d_dtype_from_type=  sk   € ð	0ð 	0ð 	0à�Š�dÑÔÐð	5ð 	5ð 	5à�Š�dÑÔÐð	5ð 	5ð 	5à�Š�dÑÔÐÐÐr   c                 óD  — d„ }|                       |¦  «         d„ }|                       |¦  «         t          j        rct          d„ ¦  «        }|                      t
          ¦  «        5   |t          j        d¦  «        d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S d S )Nc                 óx   — t          j        t          j        | ¦  «        t          j        |¦  «        fd¦  «        S r†  )r   r‚  rT  rr   r£  s     r   rU  z.TestNdFull.test_2d_shape_dtypes.<locals>.func1O  s)   € Ý”7�BœH Q™KœK­¬°!©¬Ð5°sÑ;Ô;Ð;r   c                 óx   — t          j        t          j        | ¦  «        t          j        |¦  «        fd¦  «        S r†  )r   r‚  rW  rX  r£  s     r   rY  z.TestNdFull.test_2d_shape_dtypes.<locals>.func2S  s)   € Ý”7�BœH Q™KœK­¬°©¬Ð4°cÑ:Ô:Ð:r   c                 ó0   — t          j        | |fd¦  «        S r†  r�  r£  s     r   r[  z1TestNdFull.test_2d_shape_dtypes.<locals>.<lambda>X  s   € ­¬°°A°¸Ñ(<Ô(<€ r   r\  r_   )r  r   r]  r9   rÙ   r  r   rW  )rA   rU  rY  rE   s       r   r^  zTestNdFull.test_2d_shape_dtypesM  sþ   € ð	<ð 	<ð 	<à�Š�eÑÔÐð	;ð 	;ð 	;à�Š�eÑÔÐåÔð 	2ÝÐ<Ð<Ñ=Ô=ˆEØ×"Ò"¥:Ñ.Ô.ð 2ð 2Ø�•b”h˜}Ñ-Ô-¨qÑ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2ð 2ð 2ð	2ð 	2s   Á'BÂBÂBc                 óÆ   — t           j        j        }d„ }|                       |d|dz
  z  d¦  «        ¦  «         |                       |d|dz
  z  dfd¦  «        ¦  «         d S )Nc                 ó   ‡ ‡— ˆ ˆfd„S )Nc                  ó.   •— t          j        ‰ ‰¦  «        S r   r�  ©ra   Úvalues   €€r   r[  z>TestNdFull.test_alloc_size.<locals>.gen_func.<locals>.<lambda>_  s   ø€ �BœG E¨5Ñ1Ô1€ r   rM   r³  s   ``r   rm  z,TestNdFull.test_alloc_size.<locals>.gen_func^  s   øø€ Ø1Ð1Ð1Ð1Ð1Ð1r   r_   r~   r×   rn  )r   ro  rp  r	  )rA   rq  rm  s      r   rr  zTestNdFull.test_alloc_size\  sx   € Ý”
Ô#ˆð	2ð 	2ð 	2ð 	×Ò˜h˜h q¨E°A©I¡~°qÑ9Ô9Ñ:Ô:Ð:Ø×Ò˜h˜h¨¨U°Q©Y©¸Ð';¸QÑ?Ô?Ñ@Ô@Ð@Ð@Ð@r   N)rJ   rK   rL   rû   r  r   r$  r+  r0  r6  rD  rL  rQ  rc  r«  r^  rr  rM   r   r   r|  r|  ô  sî   € € € € € ð/ð /ð /ðð ð ð
ð ð ð
ð ð ð
ð ð ðð ð ð
ð ð ð#ð #ð #ð
Ið 
Ið 
Iðð ð ð
ð ð ð
ð ð ð 2ð 2ð 2ðAð Að Að Að Ar   r|  c                   ó   — e Zd Zd„ Zd„ ZdS )ÚConstructorLikeBaseTestc                 óª   — 	 |                      d¦  «         d S # t          t          f$ r( d|j        j        z  }|                      |¦  «         Y d S w xY w)NrZ   ó   x)rd   Ú	TypeErrorr  r<   rm   )rA   rS   Ú
fill_values      r   Úmutate_arrayz$ConstructorLikeBaseTest.mutate_arrayg  sd   € ð	!Ø�HŠH�R‰LŒLˆLˆLˆLøÝ�:Ð&ð 	!ð 	!ð 	!à ¤	Ô 2Ñ2ˆJØ�HŠH�ZÑ Ô Ð Ð Ð Ð ð	!øøøs   ‚ ™5AÁAc                 ó  ‡ ‡‡— ˆˆˆ fd„}t          j        ddd¦  «                             |¦  «        }t          ‰¦  «        ŠdD ]±}|dk    r|dd …                              d¦  «        }n|                     |¦  «        } ||¦  «         |j        dk    r ||d d d…         ¦  «         d	|j        d
<   ‰                      t          ¦  «        5  d|d<   d d d ¦  «         n# 1 swxY w Y    ||¦  «         Œ² ||d         ¦  «         d S )Nc                 ó   •—  ‰| ¦  «        } ‰| ¦  «        }‰                      |j        |j        ¦  «         ‰                      |j        |j        ¦  «         ‰                     ||¦  «         ‰                     ||¦  «         ‰                     |¦  «         ‰                     |¦  «         t          j                             ||¦  «         d S r   )	r:   r;   r<   r=   rû   r»  r   r>   r?   )rS   rG   rH   rE   rB   rA   s      €€€r   Ú	check_arrz5ConstructorLikeBaseTest.check_like.<locals>.check_arrp  sÃ   ø€ Ø�v˜c‘{”{ˆHØ�%˜‘*”*ˆCØ×Ò˜SœX x¤}Ñ5Ô5Ð5Ø×Ò˜SœY¨¬Ñ7Ô7Ð7Ø×#Ò# C¨Ñ2Ô2Ð2Ø×#Ò# C¨Ñ2Ô2Ð2à×Ò˜cÑ"Ô"Ð"Ø×Ò˜hÑ'Ô'Ð'ÝŒJ×#Ò# C¨Ñ2Ô2Ð2Ð2Ð2r   r   r¥   é   )r¿  r  ©r_   r~   rk   )rk   r_   r~   rM   rM   rþ   r~   FÚ	WRITEABLEr_   )	r   ÚlinspaceÚastyper9   r©   ÚndimÚflagsrÙ   r  )rA   rB   r<   r¾  Úorigra   rS   rE   s   ``     @r   Ú
check_likez"ConstructorLikeBaseTest.check_likeo  sw  øøø€ ð
	3ð 
	3ð 
	3ð 
	3ð 
	3ð 
	3ð 
	3õ Œ{˜1˜a Ñ#Ô#×*Ò*¨5Ñ1Ô1ˆÝ�v‘”ˆà:ð 	ð 	ˆEØ˜Š{ˆ{Ø˜2˜3˜3”i×'Ò'¨Ñ+Ô+��à—l’l 5Ñ)Ô)�ØˆI�c‰NŒNˆNàŒx˜!Š|ˆ|Ø�	˜#˜c˜c ˜cœ(Ñ#Ô#Ð#à%*ˆCŒI�kÑ"à×"Ò"¥:Ñ.Ô.ð ð Ø��A‘ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð àˆI�c‰NŒNˆNˆNð 	ˆ	�$�q”'ÑÔÐÐÐs   ÃC Ã C$	Ã'C$	N)rJ   rK   rL   r»  rÇ  rM   r   r   r¶  r¶  e  s2   € € € € € ð!ð !ð !ð!ð !ð !ð !ð !r   r¶  c                   ó`   ‡ — e Zd Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zˆ xZS )ÚTestNdEmptyLikec                 óx   •— t          t          | ¦  «                             ¦   «          t          j        | _        d S r   )r  rÉ  r  r   r»   rB   r  s    €r   r  zTestNdEmptyLike.setUp•  ó,   ø€ Ý�o˜tÑ$Ô$×*Ò*Ñ,Ô,Ð,Ý”mˆŒˆˆr   c                 ó   — d S r   rM   r  s      r   rû   z"TestNdEmptyLike.check_result_value™  s   € Øˆr   c                 ó`   ‡— | j         Šˆfd„}|                      |t          j        ¦  «         d S )Nc                 ó   •—  ‰| ¦  «        S r   rM   ©rS   rB   s    €r   r  z'TestNdEmptyLike.test_like.<locals>.funcž  ó   ø€ Ø�6˜#‘;”;Ðr   ©rB   rÇ  r   rb   r  s     @r   Ú	test_likezTestNdEmptyLike.test_likeœ  s?   ø€ Ø”ˆð	ð 	ð 	ð 	ð 	à�Š˜�bœjÑ)Ô)Ð)Ð)Ð)r   c                 ó¨   ‡— t          j        dt           j        fdt           j        fg¦  «        }| j        Šˆfd„}|                      ||¦  «         d S )Nr   r   c                 ó   •—  ‰| ¦  «        S r   rM   rÏ  s    €r   r  z2TestNdEmptyLike.test_like_structured.<locals>.func¥  rÐ  r   )r   r<   rT  r‹   rB   rÇ  )rA   r<   r  rB   s      @r   Útest_like_structuredz$TestNdEmptyLike.test_like_structured¢  s^   ø€ Ý”˜3¥¤˜/¨Cµ´Ð+<Ð=Ñ>Ô>ˆØ”ˆð	ð 	ð 	ð 	ð 	à�Š˜˜eÑ$Ô$Ð$Ð$Ð$r   c                 ó`   ‡— | j         Šˆfd„}|                      |t          j        ¦  «         d S )Nc                 ó0   •—  ‰| t           j        ¦  «        S r   r#  rÏ  s    €r   r  z-TestNdEmptyLike.test_like_dtype.<locals>.func«  s   ø€ Ø�6˜#�rœxÑ(Ô(Ð(r   rÑ  r  s     @r   Útest_like_dtypezTestNdEmptyLike.test_like_dtype©  s?   ø€ Ø”ˆð	)ð 	)ð 	)ð 	)ð 	)à�Š˜�bœjÑ)Ô)Ð)Ð)Ð)r   c                 óŒ   ‡‡— t          j        d¦  «        Š| j        Šˆˆfd„}|                      |t           j        ¦  «         d S )Nrr   c                 ó   •—  ‰| ‰¦  «        S r   rM   ©rS   r<   rB   s    €€r   r  z6TestNdEmptyLike.test_like_dtype_instance.<locals>.func²  ó   ø€ Ø�6˜#˜uÑ%Ô%Ð%r   )r   r<   rB   rÇ  rb   ©rA   r  r<   rB   s     @@r   Útest_like_dtype_instancez(TestNdEmptyLike.test_like_dtype_instance¯  sT   øø€ Ý”˜Ñ!Ô!ˆØ”ˆð	&ð 	&ð 	&ð 	&ð 	&ð 	&à�Š˜�bœjÑ)Ô)Ð)Ð)Ð)r   c                 óÀ   ‡‡— t          j        dt           j        fdt           j        fg¦  «        Š| j        Šˆˆfd„}|                      |t           j        ¦  «         d S )Nr   r   c                 ó   •—  ‰| ‰¦  «        S r   rM   rÛ  s    €€r   r  z8TestNdEmptyLike.test_like_dtype_structured.<locals>.func¹  rÜ  r   )r   r<   rT  r‹   rB   rÇ  rb   rÝ  s     @@r   Útest_like_dtype_structuredz*TestNdEmptyLike.test_like_dtype_structured¶  sf   øø€ Ý”˜3¥¤˜/¨Cµ´Ð+<Ð=Ñ>Ô>ˆØ”ˆð	&ð 	&ð 	&ð 	&ð 	&ð 	&à�Š˜�bœjÑ)Ô)Ð)Ð)Ð)r   c                 ó`   ‡— | j         Šˆfd„}|                      |t          j        ¦  «         d S )Nc                 ó2   •—  ‰| t           j        ¬¦  «        S ra  r#  rÏ  s    €r   r  z3TestNdEmptyLike.test_like_dtype_kwarg.<locals>.func¿  s   ø€ Ø�6˜#¥R¤XÐ.Ñ.Ô.Ð.r   rÑ  r  s     @r   Útest_like_dtype_kwargz%TestNdEmptyLike.test_like_dtype_kwarg½  s?   ø€ Ø”ˆð	/ð 	/ð 	/ð 	/ð 	/à�Š˜�bœjÑ)Ô)Ð)Ð)Ð)r   c                 ó`   ‡— | j         Šˆfd„}|                      |t          j        ¦  «         d S )Nc                 ó   •—  ‰| d¬¦  «        S )Nrr   r…   rM   rÏ  s    €r   r  z7TestNdEmptyLike.test_like_dtype_str_kwarg.<locals>.funcÅ  s   ø€ Ø�6˜# WÐ-Ñ-Ô-Ð-r   rÑ  r  s     @r   Útest_like_dtype_str_kwargz)TestNdEmptyLike.test_like_dtype_str_kwargÃ  s?   ø€ Ø”ˆð	.ð 	.ð 	.ð 	.ð 	.à�Š˜�bœjÑ)Ô)Ð)Ð)Ð)r   c                 ó`   ‡— | j         Šˆfd„}|                      |t          j        ¦  «         d S )Nc                 ó   •—  ‰| d¬¦  «        S )Nr2  r…   rM   rÏ  s    €r   r  zLTestNdEmptyLike.test_like_dtype_str_kwarg_alternative_spelling.<locals>.funcË  s   ø€ Ø�6˜# TÐ*Ñ*Ô*Ð*r   rÑ  r  s     @r   Ú.test_like_dtype_str_kwarg_alternative_spellingz>TestNdEmptyLike.test_like_dtype_str_kwarg_alternative_spellingÉ  s?   ø€ Ø”ˆð	+ð 	+ð 	+ð 	+ð 	+à�Š˜�bœjÑ)Ô)Ð)Ð)Ð)r   c                 óª  ‡— | j         Št          ˆfd„¦   «         }|                      t          ¦  «        5 } |t	          j        d¦  «        d¦  «         d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        }d| j         j        › d�}|  	                    ||¦  «         |  	                    d 
                    ‰j        ¦  «        |¦  «         d S )Nc                 ó   •—  ‰| |¦  «        S r   rM   r<  s     €r   r  z;TestNdEmptyLike.test_like_dtype_non_const_str.<locals>.funcÒ  r>  r   ru   rr   r?  r@  z'{}(array(float64, 1d, C), unicode_type))rB   r   rÙ   r   r   rŠ   rÞ   rß   rJ   rÝ   r¾   rA  s        @r   Útest_like_dtype_non_const_strz-TestNdEmptyLike.test_like_dtype_non_const_strÏ  s(  ø€ Ø”ˆå	ð	!ð 	!ð 	!ð 	!ñ 
Œð	!ð ×Ò�{Ñ+Ô+ð 	&¨vØˆD•”˜‘”˜WÑ%Ô%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&õ �VÔ%Ñ&Ô&ˆð"˜œÔ,ð "ð "ð "ˆà�Š�c˜6Ñ"Ô"Ð"Ø�ŠØ5×<Ò<¸V¼_ÑMÔMØñ	ô 	ð 	ð 	ð 	s   µA Á A$Á'A$c                 ó,  ‡— | j         Št          ˆfd„¦   «         }|                      t          ¦  «        5 } |t	          j        d¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        }|                      d|¦  «         d S )Nc                 ó   •—  ‰| d¦  «        S rG  rM   r  s    €r   r  z9TestNdEmptyLike.test_like_dtype_invalid_str.<locals>.funcä  rI  r   ru   rJ  )	rB   r   rÙ   r   r   rŠ   rÞ   rß   rÝ   rK  s       @r   Útest_like_dtype_invalid_strz+TestNdEmptyLike.test_like_dtype_invalid_strá  sÚ   ø€ Ø”ˆå	ð	'ð 	'ð 	'ð 	'ñ 
Œð	'ð ×Ò�{Ñ+Ô+ð 	¨vØˆD•”˜‘”ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ �VÔ%Ñ&Ô&ˆØ�ŠÐ?ÀÑHÔHÐHÐHÐHs   µAÁA#Á&A#)rJ   rK   rL   r  rû   rÒ  rÕ  rØ  rÞ  rá  rä  rç  rê  rí  rð  rs  rt  s   @r   rÉ  rÉ  “  sä   ø€ € € € € ð$ð $ð $ð $ð $ðð ð ð*ð *ð *ð%ð %ð %ð*ð *ð *ð*ð *ð *ð*ð *ð *ð*ð *ð *ð*ð *ð *ð*ð *ð *ðð ð ð$Ið Ið Ið Ið Ið Ið Ir   rÉ  c                   ó8   ‡ — e Zd Zˆ fd„Zd„ Zˆ fd„Zˆ fd„Zˆ xZS )ÚTestNdZerosLikec                 óx   •— t          t          | ¦  «                             ¦   «          t          j        | _        d S r   )r  rò  r  r   Ú
zeros_likerB   r  s    €r   r  zTestNdZerosLike.setUpñ  rË  r   c                 óF   — t           j                             ||¦  «         d S r   r  r  s      r   rû   z"TestNdZerosLike.check_result_valueõ  r  r   c                 óV   •— t          t          | ¦  «                             ¦   «          d S r   )r  rò  rÕ  r  s    €r   rÕ  z$TestNdZerosLike.test_like_structuredø  s%   ø€ Ý�o˜tÑ$Ô$×9Ò9Ñ;Ô;Ð;Ð;Ð;r   c                 óV   •— t          t          | ¦  «                             ¦   «          d S r   )r  rò  rá  r  s    €r   rá  z*TestNdZerosLike.test_like_dtype_structuredû  s%   ø€ Ý�o˜tÑ$Ô$×?Ò?ÑAÔAÐAÐAÐAr   )rJ   rK   rL   r  rû   rÕ  rá  rs  rt  s   @r   rò  rò  ï  s‚   ø€ € € € € ð$ð $ð $ð $ð $ð/ð /ð /ð<ð <ð <ð <ð <ðBð Bð Bð Bð Bð Bð Bð Bð Br   rò  c                   óf   ‡ — e Zd Zˆ fd„Zej        ˆ fd„¦   «         Zej        ˆ fd„¦   «         Zˆ xZS )ÚTestNdOnesLikec                 ó†   •— t          t          | ¦  «                             ¦   «          t          j        | _        d| _        d S rË   )r  rù  r  r   Ú	ones_likerB   Úexpected_valuer  s    €r   r  zTestNdOnesLike.setUp  s6   ø€ Ý�n˜dÑ#Ô#×)Ò)Ñ+Ô+Ð+Ý”lˆŒØˆÔÐÐr   c                 óV   •— t          t          | ¦  «                             ¦   «          d S r   )r  rù  rÕ  r  s    €r   rÕ  z#TestNdOnesLike.test_like_structured  s%   ø€ å�n˜dÑ#Ô#×8Ò8Ñ:Ô:Ð:Ð:Ð:r   c                 óV   •— t          t          | ¦  «                             ¦   «          d S r   )r  rù  rá  r  s    €r   rá  z)TestNdOnesLike.test_like_dtype_structured  s%   ø€ å�n˜dÑ#Ô#×>Ò>Ñ@Ô@Ð@Ð@Ð@r   )	rJ   rK   rL   r  ry  rz  rÕ  rá  rs  rt  s   @r   rù  rù  ÿ  s“   ø€ € € € € ð ð  ð  ð  ð  ð Ôð;ð ;ð ;ð ;ñ Ôð;ð ÔðAð Að Að Añ ÔðAð Að Að Að Ar   rù  c                   ód   — e Zd Zd„ Zd„ Zej        d„ ¦   «         Zd„ Zd„ Z	d„ Z
d„ Zd„ Zd	„ Zd
„ ZdS )ÚTestNdFullLikec                 óF   — t           j                             ||¦  «         d S r   r  r  s      r   rû   z!TestNdFullLike.check_result_value  r  r   c                 óL   — d„ }|                       |t          j        ¦  «         d S )Nc                 ó,   — t          j        | d¦  «        S )Nç      @©r   Ú	full_liker]   s    r   r  z&TestNdFullLike.test_like.<locals>.func  ó   € Ý”<  SÑ)Ô)Ð)r   ©rÇ  r   rb   rƒ  s     r   rÒ  zTestNdFullLike.test_like  s-   € ð	*ð 	*ð 	*à�Š˜�bœjÑ)Ô)Ð)Ð)Ð)r   c                 ó”   — t          j        dt           j        fdt           j        fg¦  «        }d„ }|                      ||¦  «         d S )Nr   r   c                 ó,   — t          j        | d¦  «        S r†  r  r]   s    r   r  z1TestNdFullLike.test_like_structured.<locals>.func  r  r   )r   r<   rT  r‹   rÇ  )rA   r<   r  s      r   rÕ  z#TestNdFullLike.test_like_structured  sL   € å”˜3¥¤˜/¨Cµ´Ð+<Ð=Ñ>Ô>ˆð	*ð 	*ð 	*à�Š˜˜eÑ$Ô$Ð$Ð$Ð$r   c                 óL   — d„ }|                       |t          j        ¦  «         d S )Nc                 óB   — t          j        | dt           j        ¦  «        S r†  ©r   r  r‹  r]   s    r   r  z,TestNdFullLike.test_like_dtype.<locals>.func$  s   € Ý”<  S­"¬(Ñ3Ô3Ð3r   r  rƒ  s     r   rØ  zTestNdFullLike.test_like_dtype#  s-   € ð	4ð 	4ð 	4à�Š˜�bœjÑ)Ô)Ð)Ð)Ð)r   c                 óz   ‡— t          j        d¦  «        Šˆfd„}|                      |t           j        ¦  «         d S )Nr�  c                 ó0   •— t          j        | d‰¦  «        S r†  r  )rS   r<   s    €r   r  z5TestNdFullLike.test_like_dtype_instance.<locals>.func*  s   ø€ Ý”<  S¨%Ñ0Ô0Ð0r   )r   r<   rÇ  rb   r�  s     @r   rÞ  z'TestNdFullLike.test_like_dtype_instance(  sG   ø€ Ý”˜Ñ Ô ˆð	1ð 	1ð 	1ð 	1ð 	1à�Š˜�bœjÑ)Ô)Ð)Ð)Ð)r   c                 óL   — d„ }|                       |t          j        ¦  «         d S )Nc                 óD   — t          j        | dt           j        ¬¦  «        S )Nr€  r…   r  r]   s    r   r  z2TestNdFullLike.test_like_dtype_kwarg.<locals>.func/  s   € Ý”<  Sµ´Ð9Ñ9Ô9Ð9r   r  rƒ  s     r   rä  z$TestNdFullLike.test_like_dtype_kwarg.  s-   € ð	:ð 	:ð 	:à�Š˜�bœjÑ)Ô)Ð)Ð)Ð)r   c                 óL   — d„ }|                       |t          j        ¦  «         d S )Nc                 ó.   — t          j        | dd¦  «        S r“  r  r]   s    r   r  z6TestNdFullLike.test_like_dtype_str_kwarg.<locals>.func4  s   € Ý”<  S¨'Ñ2Ô2Ð2r   r  rƒ  s     r   rç  z(TestNdFullLike.test_like_dtype_str_kwarg3  s-   € ð	3ð 	3ð 	3à�Š˜�bœjÑ)Ô)Ð)Ð)Ð)r   c                 óL   — d„ }|                       |t          j        ¦  «         d S )Nc                 ó0   — t          j        | dd¬¦  «        S )Nr€  r–  r…   r  r]   s    r   r  zKTestNdFullLike.test_like_dtype_str_kwarg_alternative_spelling.<locals>.func9  s   € Ý”<  S°Ð4Ñ4Ô4Ð4r   r  rƒ  s     r   rê  z=TestNdFullLike.test_like_dtype_str_kwarg_alternative_spelling8  s-   € ð	5ð 	5ð 	5à�Š˜�bœjÑ)Ô)Ð)Ð)Ð)r   c                 ó   — t           d„ ¦   «         }|                      t          ¦  «        5 } |t          j        d¦  «        dd¦  «         d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        }d}|                      ||¦  «         d S )Nc                 ó.   — t          j        | ||¦  «        S r   r  )rS   r™  r=  s      r   r  z@TestNdFullLike.test_like_dtype_non_const_str_kwarg.<locals>.func?  s   € å”<  R¨Ñ,Ô,Ð,r   rk   r€  rr   z?If np.full_like dtype is a string it must be a string constant.©r   rÙ   r   r   rŠ   rÞ   rß   rÝ   rœ  s        r   Ú#test_like_dtype_non_const_str_kwargz2TestNdFullLike.test_like_dtype_non_const_str_kwarg=  sÒ   € å	ð	-ð 	-ñ 
Œð	-ð ×Ò�{Ñ+Ô+ð 	,¨vØˆD•”˜‘”˜c 7Ñ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,õ �VÔ%Ñ&Ô&ˆð"ˆà�Š�c˜6Ñ"Ô"Ð"Ð"Ð"s   « AÁAÁAc                 ó  — t           d„ ¦   «         }|                      t          ¦  «        5 } |t          j        d¦  «        d¦  «         d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        }|                      d|¦  «         d S )Nc                 ó.   — t          j        | |d¦  «        S rG  r  )rS   r™  s     r   r  z8TestNdFullLike.test_like_dtype_invalid_str.<locals>.funcM  s   € å”<  R¨Ñ2Ô2Ð2r   ru   g333333@rJ  r  rŸ  s       r   rð  z*TestNdFullLike.test_like_dtype_invalid_strK  sÊ   € å	ð	3ð 	3ñ 
Œð	3ð ×Ò�{Ñ+Ô+ð 	"¨vØˆD•”˜‘”˜SÑ!Ô!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"õ �VÔ%Ñ&Ô&ˆØ�ŠÐ?ÀÑHÔHÐHÐHÐHs   «AÁAÁAN)rJ   rK   rL   rû   rÒ  ry  rz  rÕ  rØ  rÞ  rä  rç  rê  r  rð  rM   r   r   r   r     s¿   € € € € € ð/ð /ð /ð*ð *ð *ð Ôð%ð %ñ Ôð%ð*ð *ð *ð
*ð *ð *ð*ð *ð *ð
*ð *ð *ð
*ð *ð *ð
#ð #ð #ð
Ið 
Ið 
Ið 
Ið 
Ir   r   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestNdIdentityc                 ó4   — |                       |dg¦  «         d S )N©rk   ©rI   ©rA   rB   s     r   Úcheck_identityzTestNdIdentity.check_identityZ  s    € Ø×Ò˜6 D 6Ñ*Ô*Ð*Ð*Ð*r   c                 ó6   — d„ }|                       |¦  «         d S )Nc                 ó*   — t          j        | ¦  «        S r   ©r   Úidentityr‡  s    r   r  z*TestNdIdentity.test_identity.<locals>.func^  s   € Ý”;˜q‘>”>Ð!r   )r"  rƒ  s     r   Útest_identityzTestNdIdentity.test_identity]  s+   € ð	"ð 	"ð 	"à×Ò˜DÑ!Ô!Ð!Ð!Ð!r   c                 ó°   ‡— t           j        t           j        t           j        t          j        d¦  «        dfD ]Šˆfd„}|                      |¦  «         Œd S )Nr�  r‹  c                 ó.   •— t          j        | ‰¦  «        S r   r%  r�  s    €r   r  z0TestNdIdentity.test_identity_dtype.<locals>.funce  s   ø€ Ý”{ 1 eÑ,Ô,Ð,r   )r   rb  rT  r‹  r<   r"  r�  s     @r   Útest_identity_dtypez"TestNdIdentity.test_identity_dtypeb  sj   ø€ Ý”l¥B¤H­b¬h½¼ÀÑ8HÔ8HØðð 	&ð 	&ˆEð-ð -ð -ð -ð -à×Ò Ñ%Ô%Ð%Ð%ð		&ð 	&r   c                 óú   — t           d„ ¦   «         }|                      t          ¦  «        5 } |dd¦  «         d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        }d}|                      ||¦  «         d S )Nc                 ó,   — t          j        | |¦  «        S r   r%  )ri   r=  s     r   r  z@TestNdIdentity.test_like_dtype_non_const_str_kwarg.<locals>.funck  s   € å”;˜q "Ñ%Ô%Ð%r   ru   rr   z>If np.identity dtype is a string it must be a string constant.r›  rœ  s        r   r  z2TestNdIdentity.test_like_dtype_non_const_str_kwargi  sÈ   € å	ð	&ð 	&ñ 
Œð	&ð ×Ò�{Ñ+Ô+ð 	¨vØˆD��GÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ �VÔ%Ñ&Ô&ˆð"ˆà�Š�c˜6Ñ"Ô"Ð"Ð"Ð"r   N)rJ   rK   rL   r"  r'  r*  r  rM   r   r   r  r  X  sP   € € € € € ð+ð +ð +ð"ð "ð "ð
&ð &ð &ð#ð #ð #ð #ð #r   r  c                   ó8   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )	Ú	TestNdEyec                 ó<   — d„ }|                       |ddg¦  «         d S )Nc                 ó*   — t          j        | ¦  «        S r   ©r   Úeyer‡  s    r   r  z"TestNdEye.test_eye_n.<locals>.func|  s   € Ý”6˜!‘9”9Ðr   ©r_   r  r   rƒ  s     r   Ú
test_eye_nzTestNdEye.test_eye_n{  s1   € ð	ð 	ð 	à×Ò˜4 $¨ Ñ.Ô.Ð.Ð.Ð.r   c                 óˆ   — d t           j        t          j        d¦  «        fD ]}|fd„}|                      |ddg¦  «         Œ d S )Nr_   c                 ó.   — t          j        | |¬¦  «        S ra  r1  r�  s     r   r  z(TestNdEye.test_eye_n_dtype.<locals>.funcƒ  s   € Ý”v˜a uÐ-Ñ-Ô-Ð-r   r3  r  )r   r/  rb  rI   )rA   r=  r  s      r   Útest_eye_n_dtypezTestNdEye.test_eye_n_dtype€  s`   € à�œ­¬°Q©¬Ð8ð 	3ð 	3ˆBØ ð .ð .ð .ð .à×Ò˜t d¨D \Ñ2Ô2Ð2Ð2ð	3ð 	3r   c                 ó<   — d„ }|                       |g d¢¦  «         d S )Nc                 ó,   — t          j        | |¦  «        S r   r1  ©ri   rs   s     r   r  z$TestNdEye.test_eye_n_m.<locals>.funcˆ  s   € Ý”6˜!˜Q‘<”<Ðr   )©r_   r~   ©rk   r~   )r   rk   r   rƒ  s     r   Útest_eye_n_mzTestNdEye.test_eye_n_m‡  s4   € ð	 ð 	 ð 	 à×Ò˜4Ð!9Ð!9Ð!9Ñ:Ô:Ð:Ð:Ð:r   c                 ó6   — |                       |g d¢¦  «         d S )N))r_   r~   r   )rk   ru   r_   )rk   ru   rþ   )ru   rk   éþÿÿÿ)ru   rk   éûÿÿÿ)ru   rk   r¥   r   rƒ  s     r   Úcheck_eye_n_m_kzTestNdEye.check_eye_n_m_kŒ  s5   € Ø×Ò˜4ð "-ð "-ð "-ñ 	.ô 	.ð 	.ð 	.ð 	.r   c                 ó6   — d„ }|                       |¦  «         d S )Nc                 ó.   — t          j        | ||¦  «        S r   r1  ©ri   rs   r}   s      r   r  z&TestNdEye.test_eye_n_m_k.<locals>.func•  s   € Ý”6˜!˜Q ‘?”?Ð"r   ©rA  rƒ  s     r   Útest_eye_n_m_kzTestNdEye.test_eye_n_m_k”  s+   € ð	#ð 	#ð 	#à×Ò˜TÑ"Ô"Ð"Ð"Ð"r   c                 ó6   — d„ }|                       |¦  «         d S )Nc                 óF   — t          j        | ||t           j        ¬¦  «        S ©N)ÚNÚMr}   r<   )r   r2  rT  rD  s      r   r  z,TestNdEye.test_eye_n_m_k_dtype.<locals>.funcš  s   € Ý”6˜A  a­r¬xÐ8Ñ8Ô8Ð8r   rE  rƒ  s     r   Útest_eye_n_m_k_dtypezTestNdEye.test_eye_n_m_k_dtype™  s+   € ð	9ð 	9ð 	9à×Ò˜TÑ"Ô"Ð"Ð"Ð"r   c                 ód   ‡— t          j        d¦  «        Šˆfd„}|                      |¦  «         d S )NrT  c                 ó4   •— t          j        | ||‰¬¦  «        S rI  r1  )ri   rs   r}   r<   s      €r   r  z5TestNdEye.test_eye_n_m_k_dtype_instance.<locals>.func   s   ø€ Ý”6˜A  a¨uÐ5Ñ5Ô5Ð5r   )r   r<   rA  r�  s     @r   Útest_eye_n_m_k_dtype_instancez'TestNdEye.test_eye_n_m_k_dtype_instancež  sE   ø€ Ý”˜Ñ!Ô!ˆð	6ð 	6ð 	6ð 	6ð 	6à×Ò˜TÑ"Ô"Ð"Ð"Ð"r   N)
rJ   rK   rL   r4  r7  r=  rA  rF  rL  rO  rM   r   r   r.  r.  y  s}   € € € € € ð/ð /ð /ð
3ð 3ð 3ð;ð ;ð ;ð
.ð .ð .ð#ð #ð #ð
#ð #ð #ð
#ð #ð #ð #ð #r   r.  c                   ó>   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	S )
Ú
TestNdDiagc                 óÈ  — t          j        g d¢¦  «        }t          j        g d¢g¦  «        }t          j        |¦  «        }|||g| _        t          j        d¦  «                             dd¦  «        }t          j        d¦  «                             dd¦  «        }||g| _        d„ }|| _        t          |¦  «        | _	        dd„}|| _
        t          |¦  «        | _        d S )	NrÀ  é   rk   ru   c                 ó*   — t          j        | ¦  «        S r   ©r   Údiag)Úqs    r   r  zTestNdDiag.setUp.<locals>.func¯  s   € Ý”7˜1‘:”:Ðr   r   c                 ó.   — t          j        | |¬¦  «        S )N©r}   rU  )rW  r}   s     r   Ú
func_kwargz$TestNdDiag.setUp.<locals>.func_kwarg´  s   € Ý”7˜1 �?‘?”?Ð"r   )r   )r   ÚarrayÚ	transposeÚvectorsrl   r©   Ú	matriciesÚpyr9   ÚjitÚpy_kwÚjit_kw)rA   ÚvÚhvÚvvÚa3x4Úa4x3r  rZ  s           r   r  zTestNdDiag.setUp§  sÜ   € ÝŒH�Y�Y�YÑÔˆÝŒX�y�y�y�kÑ"Ô"ˆÝŒ\˜"ÑÔˆØ˜2˜r�{ˆŒÝŒy˜‰}Œ}×$Ò$ Q¨Ñ*Ô*ˆÝŒy˜‰}Œ}×$Ò$ Q¨Ñ*Ô*ˆØ ˜ˆŒð	ð 	ð 	àˆŒÝ˜$‘<”<ˆŒð	#ð 	#ð 	#ð 	#àˆŒ
Ý˜ZÑ(Ô(ˆŒˆˆr   c                 óæ   —  ||i |¤Ž} ||i |¤Ž}|                       |j        |j        ¦  «         |                       |j        |j        ¦  «         t          j                             ||¦  «         d S r   )r:   r;   r<   r   r>   r?   )rA   rB   ÚnrtfuncrF   ÚkwargsrG   Úcomputeds          r   Ú
check_diagzTestNdDiag.check_diag¹  s|   € Ø�6˜4Ð* 6Ð*Ð*ˆØ�7˜DÐ+ FÐ+Ð+ˆØ×Ò˜œ¨¬Ñ6Ô6Ð6Ø×Ò˜œ¨¬Ñ8Ô8Ð8å
Œ
×Ò ¨(Ñ3Ô3Ð3Ð3Ð3r   c                 ó\   — | j         D ]#}|                      | j        | j        |¦  «         Œ$d S r   )r]  rl  r_  r`  ©rA   Úds     r   Útest_diag_vect_createz TestNdDiag.test_diag_vect_createÂ  s:   € Ø”ð 	2ð 	2ˆAØ�OŠO˜DœG T¤X¨qÑ1Ô1Ð1Ð1ð	2ð 	2r   c                 ó†   — t          dd¦  «        D ]/}| j        D ]%}|                      | j        | j        ||¬¦  «         Œ&Œ0d S )Niöÿÿÿr¤   rY  )rh   r]  rl  ra  rb  ©rA   r}   ro  s      r   Útest_diag_vect_create_kwargz&TestNdDiag.test_diag_vect_create_kwargÇ  sa   € Ý�s˜B‘”ð 	Að 	AˆAØ”\ð Að A�Ø—’ ¤
¨D¬K¸¸a�Ñ@Ô@Ð@Ð@ðAð	Að 	Ar   c                 ó\   — | j         D ]#}|                      | j        | j        |¦  «         Œ$d S r   )r^  rl  r_  r`  rn  s     r   Útest_diag_extractzTestNdDiag.test_diag_extractÍ  s:   € Ø”ð 	2ð 	2ˆAØ�OŠO˜DœG T¤X¨qÑ1Ô1Ð1Ð1ð	2ð 	2r   c                 ó†   — t          dd¦  «        D ]/}| j        D ]%}|                      | j        | j        ||¬¦  «         Œ&Œ0d S )Néüÿÿÿru   rY  )rh   r^  rl  ra  rb  rr  s      r   Útest_diag_extract_kwargz"TestNdDiag.test_diag_extract_kwargÒ  sa   € Ý�r˜1‘”ð 	Að 	AˆAØ”^ð Að A�Ø—’ ¤
¨D¬K¸¸a�Ñ@Ô@Ð@Ð@ðAð	Að 	Ar   c                 óö  — t          j        dggg¦  «        }t          | j        ¦  «        }|                      t
          ¦  «        5   |¦   «          d d d ¦  «         n# 1 swxY w Y   |                      t          ¦  «        5   ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          ¦  «        5  t          | j        ¦  «        } ||d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nç      ð?rk   rY  )r   r[  r9   r_  rÙ   r¹  r   ra  )rA   ro  rE   Údfuncs       r   Útest_error_handlingzTestNdDiag.test_error_handlingØ  sª  € ÝŒH˜�t�f�XÑÔˆÝ�t”w‘”ˆð ×Ò�yÑ)Ô)ð 	ð 	ØˆE‰GŒGˆGð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð ×Ò�{Ñ+Ô+ð 	ð 	ØˆE�!‰HŒHˆHð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×Ò�{Ñ+Ô+ð 	ð 	Ý˜4œ:Ñ&Ô&ˆEØˆE�!�qˆM‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s6   ÁAÁA!Á$A!ÂBÂBÂ!BÂ?"C.Ã.C2Ã5C2c                 ó°   — t          | j        ¦  «        }d}|                      t          |¦  «        5 } |d ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz'.*The argument "v" must be array-like.*)r9   r_  ÚassertRaisesRegexr   )rA   rE   rC  rà   s       r   Útest_bad_shapezTestNdDiag.test_bad_shapeç  s˜   € Ý�t”w‘”ˆØ7ˆØ×#Ò#¥K°Ñ5Ô5ð 	¸ØˆE�$‰KŒKˆKð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ²AÁAÁAN)rJ   rK   rL   r  rl  rp  rs  ru  rx  r|  r  rM   r   r   rQ  rQ  ¥  s’   € € € € € ð)ð )ð )ð$4ð 4ð 4ð2ð 2ð 2ð
Að Að Að2ð 2ð 2ð
Að Að Aðð ð ðð ð ð ð r   rQ  c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestLinspacec                 ó<   — d„ }|                       |g d¢¦  «         d S )Nc                 ó,   — t          j        | |¦  «        S r   ©r   rÂ  r:  s     r   rB   z,TestLinspace.test_linspace_2.<locals>.pyfuncð  s   € Ý”;˜q !Ñ$Ô$Ð$r   ))r   ru   )r_   r´   )ç      Àç      @)ù       €      Àù       @      @)r~   r_   )ù      ð?      à?ù              ø?r   r!  s     r   Útest_linspace_2zTestLinspace.test_linspace_2ï  sD   € ð	%ð 	%ð 	%à×Ò˜6ð4ð 4ð 4ñ	5ô 	5ð 	5ð 	5ð 	5r   c                 ó<   — d„ }|                       |g d¢¦  «         d S )Nc                 ó.   — t          j        | ||¦  «        S r   r„  ©ri   rs   r|   s      r   rB   z,TestLinspace.test_linspace_3.<locals>.pyfunc÷  s   € Ý”;˜q ! QÑ'Ô'Ð'r   ))r   ru   é	   )r_   ru   rk   )r…  r†  r×   )r‡  rˆ  r§   )r~   r_   r   )r‰  rŠ  r¥   )r_   g}Ã”%­I²Tr_   r   r!  s     r   Útest_linspace_3zTestLinspace.test_linspace_3ö  sD   € ð	(ð 	(ð 	(à×Ò˜6ð>ð >ð >ñ	?ô 	?ð 	?ð 	?ð 	?r   c                 óž   — t           d„ ¦   «         }d\  }}}|                       ||||¦  «        |                     |||¦  «        ¦  «         d S )Nc                 ó.   — t          j        | ||¦  «        S r   r„  rŽ  s      r   r^   z0TestLinspace.test_linspace_accuracy.<locals>.foo  s   € å”;˜q ! QÑ'Ô'Ð'r   )g        rz  r´   )r9   ÚassertPreciseEqualÚpy_func)rA   r^   ri   rs   r|   s        r   Útest_linspace_accuracyz#TestLinspace.test_linspace_accuracyþ  sb   € õ 
ð	(ð 	(ñ 
Œð	(ð  ‰ˆˆ1ˆaØ×Ò   A q¨!¡¤¨c¯kªk¸!¸QÀÑ.BÔ.BÑCÔCÐCÐCÐCr   N)rJ   rK   rL   r‹  r�  r•  rM   r   r   r�  r�  í  sF   € € € € € ð5ð 5ð 5ð?ð ?ð ?ðDð Dð Dð Dð Dr   r�  c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestNpyEmptyKeywordc                 óî   ‡— ˆfd„}g d¢}t          |¦  «        }|D ]X} ||¦  «        } ||¦  «        }|                      |j        |j        ¦  «         |                      |j        |j        ¦  «         ŒYd S )Nc                 ó0   •— t          j        | ‰¬¦  «        S ra  r[   ©ra   r<   s    €r   rB   z7TestNpyEmptyKeyword._test_with_dtype_kw.<locals>.pyfunc  s   ø€ Ý”8˜E¨Ð/Ñ/Ô/Ð/r   ©r_   r¥   r�  ©r9   r:   r<   ra   ©rA   r<   rB   ÚshapesrE   ÚsrG   rœ   s    `      r   Ú_test_with_dtype_kwz'TestNpyEmptyKeyword._test_with_dtype_kw
  sœ   ø€ ð	0ð 	0ð 	0ð 	0ð 	0ð ��ˆå�v‘”ˆØð 	8ð 	8ˆAØ�v˜a‘y”yˆHØ�%˜‘(”(ˆCØ×Ò˜Xœ^¨S¬YÑ7Ô7Ð7Ø×Ò˜Xœ^¨S¬YÑ7Ô7Ð7Ð7ð		8ð 	8r   c                 ó¢   — t           j        t           j        t           j        t          j        d¦  «        fD ]}|                      |¦  «         Œd S ©Nrb  )r   rr   r‹   rb  r<   r   ©rA   r<   s     r   Útest_with_dtype_kwsz'TestNpyEmptyKeyword.test_with_dtype_kws  sK   € Ý”h¥¤
­B¬L½"¼(À;Ñ:OÔ:OÐPð 	,ð 	,ˆEØ×$Ò$ UÑ+Ô+Ð+Ð+ð	,ð 	,r   c                 óî   ‡— ˆfd„}g d¢}t          |¦  «        }|D ]X} ||¦  «        } ||¦  «        }|                      |j        |j        ¦  «         |                      |j        |j        ¦  «         ŒYd S )Nc                 ó0   •— t          j        | ‰¬¦  «        S )Nrš  r[   rš  s    €r   rB   zATestNpyEmptyKeyword._test_with_shape_and_dtype_kw.<locals>.pyfunc  s   ø€ Ý”8 %¨uÐ5Ñ5Ô5Ð5r   r›  rœ  r�  s    `      r   Ú_test_with_shape_and_dtype_kwz1TestNpyEmptyKeyword._test_with_shape_and_dtype_kw  sœ   ø€ ð	6ð 	6ð 	6ð 	6ð 	6ð ��ˆå�v‘”ˆØð 	8ð 	8ˆAØ�v˜a‘y”yˆHØ�%˜‘(”(ˆCØ×Ò˜Xœ^¨S¬YÑ7Ô7Ð7Ø×Ò˜Xœ^¨S¬YÑ7Ô7Ð7Ð7ð		8ð 	8r   c                 ó¢   — t           j        t           j        t           j        t          j        d¦  «        fD ]}|                      |¦  «         Œd S r¢  )r   rr   r‹   rb  r<   r§  r£  s     r   Útest_with_shape_and_dtype_kwsz1TestNpyEmptyKeyword.test_with_shape_and_dtype_kws(  sK   € Ý”h¥¤
­B¬L½"¼(À;Ñ:OÔ:OÐPð 	6ð 	6ˆEØ×.Ò.¨uÑ5Ô5Ð5Ð5ð	6ð 	6r   c                 ó¤   — d„ }t          |¦  «        }|                      t          ¦  «        5   |¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nc                  ó(   — t          j        ¦   «         S r   r[   rM   r   r   rB   z6TestNpyEmptyKeyword.test_empty_no_args.<locals>.pyfunc.  s   € Ý”8‘:”:Ðr   )r9   rÙ   r   )rA   rB   rE   s      r   Útest_empty_no_argsz&TestNpyEmptyKeyword.test_empty_no_args,  s£   € ð	ð 	ð 	õ �v‘”ˆð ×Ò�{Ñ+Ô+ð 	ð 	ØˆE‰GŒGˆGð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ­AÁA	ÁA	N)rJ   rK   rL   r   r¤  r§  r©  r¬  rM   r   r   r—  r—  	  s_   € € € € € ð8ð 8ð 8ð,ð ,ð ,ð8ð 8ð 8ð6ð 6ð 6ð
ð 
ð 
ð 
ð 
r   r—  c                   óP   — 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S )ÚTestNpArrayc                 ó  — d„ }t          |¦  «        } |d¦  «        }|                      |t          j        dt          j        ¬¦  «        ¦  «          |d¦  «        }|                      |t          j        d¦  «        ¦  «         d S )Nc                 ó*   — t          j        | ¦  «        S r   ©r   r[  ©Úargs    r   rB   z#TestNpArray.test_0d.<locals>.pyfunc<  ó   € Ý”8˜C‘=”=Ð r   rZ   r…   r†  )r9   r“  r   r[  ro  ©rA   rB   rE   rœ   s       r   r  zTestNpArray.test_0d;  sƒ   € ð	!ð 	!ð 	!õ �v‘”ˆØˆe�B‰iŒiˆØ×Ò ¥R¤X¨b½¼Ð%@Ñ%@Ô%@ÑAÔAÐAØˆe�C‰jŒjˆØ×Ò ¥R¤X¨c¡]¤]Ñ3Ô3Ð3Ð3Ð3r   c                 ó<   — d„ }|                       |ddg¦  «         d S )Nc                 óB   — t          j        | t           j        ¬¦  «        S ra  )r   r[  rT  r²  s    r   rB   z.TestNpArray.test_0d_with_dtype.<locals>.pyfuncF  ó   € Ý”8˜C¥r¤xÐ0Ñ0Ô0Ð0r   )rZ   )r  r   r!  s     r   Útest_0d_with_dtypezTestNpArray.test_0d_with_dtypeE  s3   € ð	1ð 	1ð 	1ð 	×Ò˜6 E¨6 ?Ñ3Ô3Ð3Ð3Ð3r   c                 óh  — d„ }t          |¦  «        } |g d¢¦  «        }|                      |t          j        g d¢¦  «        ¦  «          |d¦  «        }|                      |t          j        g d¢¦  «        ¦  «          |d¦  «        }|                      |t          j        d¦  «        ¦  «         d S )Nc                 ó*   — t          j        | ¦  «        S r   r±  r²  s    r   rB   z#TestNpArray.test_1d.<locals>.pyfuncL  r´  r   )r~   rk   rZ   )rz  y              @rZ   rM   )r9   r“  r   ro  r[  rb   rµ  s       r   r   zTestNpArray.test_1dK  s¹   € ð	!ð 	!ð 	!õ �v‘”ˆàˆe�J�J�JÑÔˆØ×Ò ¥R¤W¨Z¨Z¨ZÑ%8Ô%8Ñ9Ô9Ð9àˆe�OÑ$Ô$ˆØ×Ò ¥R¤X¨o¨o¨oÑ%>Ô%>Ñ?Ô?Ð?àˆe�B‰iŒiˆØ×Ò ¥R¤Z°¡^¤^Ñ4Ô4Ð4Ð4Ð4r   c                 óL   — d„ }|                       |ddgfddgfddg¦  «         d S )Nc                 óB   — t          j        | t           j        ¬¦  «        S ra  )r   r[  r‹   r²  s    r   rB   z.TestNpArray.test_1d_with_dtype.<locals>.pyfunc[  s   € Ý”8˜C¥r¤zÐ2Ñ2Ô2Ð2r   r~   rZ   r  rz  ©)r_   r  rZ   ©rM   r   r!  s     r   Útest_1d_with_dtypezTestNpArray.test_1d_with_dtypeZ  sT   € ð	3ð 	3ð 	3ð 	×Ò˜6Ø ˜W˜JØ! 3˜Z˜MØ+Ø!ðñ	ô 	ð 	ð 	ð 	r   c                 óL   — d„ }|                       |ddgfddgfddg¦  «         d S )Nc                 ó.   — t          j        | d¬¦  «        S )Nr‹   r…   r±  r²  s    r   rB   z2TestNpArray.test_1d_with_str_dtype.<locals>.pyfuncf  s   € Ý”8˜C yÐ1Ñ1Ô1Ð1r   r~   rZ   r  rz  r¾  r¿  r   r!  s     r   Útest_1d_with_str_dtypez"TestNpArray.test_1d_with_str_dtypee  sT   € ð	2ð 	2ð 	2ð 	×Ò˜6Ø ˜W˜JØ! 3˜Z˜MØ+Ø!ðñ	ô 	ð 	ð 	ð 	r   c                 óú   — t           d„ ¦   «         }|                      t          ¦  «        5 } |dd¦  «         d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        }d}|                      ||¦  «         d S )Nc                 ó.   — t          j        | |¬¦  «        S ra  r±  )r³  r=  s     r   r  z:TestNpArray.test_1d_with_non_const_str_dtype.<locals>.funcr  s   € å”8˜C rÐ*Ñ*Ô*Ð*r   )r¥   rk   rr   z;If np.array dtype is a string it must be a string constant.r›  rœ  s        r   Ú test_1d_with_non_const_str_dtypez,TestNpArray.test_1d_with_non_const_str_dtypep  sÈ   € å	ð	+ð 	+ñ 
Œð	+ð ×Ò�{Ñ+Ô+ð 	"¨vØˆD�˜Ñ!Ô!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"õ �VÔ%Ñ&Ô&ˆð"ˆà�Š�c˜6Ñ"Ô"Ð"Ð"Ð"r   c                 óê  — d„ }t          |¦  «        } |ddg¦  «        }|                      |t          j        ddgddgg¦  «        ¦  «          |dd	g¦  «        }|                      |t          j        dd
gddgg¦  «        ¦  «          |ddgddgf¦  «        }|                      |t          j        ddgddgg¦  «        ¦  «          |ddgddgf¦  «        }|                      |t          j        ddgddgg¦  «        ¦  «          |d¦  «        }|                      |t          j        ddgddgg¦  «        ¦  «          |d¦  «        }|                      |t          j        d¦  «        ¦  «         d S )Nc                 ó*   — t          j        | ¦  «        S r   r±  r²  s    r   rB   z#TestNpArray.test_2d.<locals>.pyfunc  r´  r   r;  ©rk   ru   r_   r~   rk   ru   ©r_   r†  ©rk   r€  r†  r€  r  ))ç      ø?r~   )r  r€  rÌ  )rM   rM   )r9   r“  r   ro  rb   rµ  s       r   rQ  zTestNpArray.test_2d~  s¢  € ð	!ð 	!ð 	!õ �v‘”ˆàˆe�V˜VÐ$Ñ%Ô%ˆØ×Ò ¥R¤W¨q°!¨f°q¸!°fÐ-=Ñ%>Ô%>Ñ?Ô?Ð?Øˆe�X˜xÐ(Ñ)Ô)ˆØ×Ò ¥R¤Z°!°S°¸A¸s¸8Ð0DÑ%EÔ%EÑFÔFÐFàˆe�a˜�V˜a ˜VÐ$Ñ%Ô%ˆØ×Ò ¥R¤W¨q°!¨f°q¸!°fÐ-=Ñ%>Ô%>Ñ?Ô?Ð?Øˆe�a˜�V˜c 3˜ZÐ(Ñ)Ô)ˆØ×Ò ¥R¤Z°!°Q°¸#¸s¸Ð0DÑ%EÔ%EÑFÔFÐFàˆeÐ*Ñ+Ô+ˆØ×Ò ¥R¤Z°#°q°¸CÀ¸:Ð0FÑ%GÔ%GÑHÔHÐHØˆe�H‰oŒoˆØ×Ò ¥R¤Z°Ñ%9Ô%9Ñ:Ô:Ð:Ð:Ð:r   c                 ó    — d„ }t          |¦  «        } |ddg¦  «        }|                      |t          j        ddgddgg¦  «        ¦  «         d S )Nc                 óB   — t          j        | t           j        ¬¦  «        S ra  )r   r[  rr   r²  s    r   rB   z.TestNpArray.test_2d_with_dtype.<locals>.pyfunc”  r¸  r   rÊ  rË  r_   r~   rk   ru   )r9   r“  r   rr   rµ  s       r   Útest_2d_with_dtypezTestNpArray.test_2d_with_dtype“  se   € ð	1ð 	1ð 	1õ �v‘”ˆØˆe�X˜xÐ(Ñ)Ô)ˆØ×Ò ¥R¤X°°1¨v¸¸1°vÐ.>Ñ%?Ô%?Ñ@Ô@Ð@Ð@Ð@r   c                 ót  ‡ — d„ }t          |¦  «        }t          j        ˆ fd„¦   «         } |d¦  «        5   |t          j        dg¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y    |d¦  «        5   |t          j        d¦  «        t          j        d¦  «        gf¦  «         d d d ¦  «         n# 1 swxY w Y    |d¦  «        5  t          j        d	d
g¦  «        }t          j        d|¬¦  «        d         } |dt          j        d¦  «        |ff¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó*   — t          j        | ¦  «        S r   r±  r²  s    r   rB   z'TestNpArray.test_raises.<locals>.pyfunc�  r´  r   c              3   óÈ   •K  — ‰                      t          ¦  «        5 }d V — d d d ¦  «         n# 1 swxY w Y   ‰                     | t          |j        ¦  «        ¦  «         d S r   )rÙ   r   rÝ   rÞ   rß   )rC  rà   rA   s     €r   Úcheck_raisesz-TestNpArray.test_raises.<locals>.check_raises¢  s›   øè è € à×"Ò"¥;Ñ/Ô/ð °6Ø���ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à�MŠM˜#�s 6Ô#3Ñ4Ô4Ñ5Ô5Ð5Ð5Ð5s   ž/¯3¶3z;array(float64, 1d, C) not allowed in a homogeneous sequencerz  zOtype Tuple(int64, reflected list(int64)<iv=None>) does not have a regular shaper_   r~   zrcannot convert Tuple(int64, Record(a[type=int32;offset=0],b[type=float32;offset=4];8;False)) to a homogeneous type)r   r2  )r   Úf4r…   r   r;  )r9   Ú
contextlibÚcontextmanagerr   r[  rW  r<   r  )rA   rB   rE   rÓ  ÚstÚvals   `     r   Útest_raiseszTestNpArray.test_raises›  s2  ø€ ð	!ð 	!ð 	!õ �v‘”ˆå	Ô	"ð	6ð 	6ð 	6ð 	6ñ 
#Ô	"ð	6ð
 ˆ\ð 2ñ 4ô 4ð 	"ð 	"àˆE•"”(˜B˜4‘.”.Ñ!Ô!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð ˆ\ð :ñ <ô <ð 	0ð 	0àˆE•2”8˜A‘;”;¥¤¨!¡¤ Ð.Ñ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð ˆ\ðKñô ð 	0ð 	0õ ”˜;¨Ð4Ñ5Ô5ˆBÝ”(˜1 BÐ'Ñ'Ô'¨Ô*ˆCØˆE�6�BœH Q™KœK¨Ð-Ð.Ñ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0s6   ¶A!Á!A%Á(A%Á73B6Â6B:Â=B:ÃAD-Ä-D1Ä4D1c                 ó¨   — t           d„ ¦   «         }d}|                      t          |¦  «        5 } |d ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó*   — t          j        | ¦  «        S r   r±  )Úobjs    r   r  z(TestNpArray.test_bad_array.<locals>.func¹  s   € å”8˜C‘=”=Ð r   z,.*The argument "object" must be array-like.*©r   r~  r   ©rA   r  rC  rà   s       r   Útest_bad_arrayzTestNpArray.test_bad_array¸  s¦   € Ý	ð	!ð 	!ñ 
Œð	!ð =ˆØ×#Ò#¥K°Ñ5Ô5ð 	¸ØˆD�‰JŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ®AÁAÁAc                 óª   — t           d„ ¦   «         }d}|                      t          |¦  «        5 } |dd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó,   — t          j        | |¦  «        S r   r±  )rÜ  r=  s     r   r  z(TestNpArray.test_bad_dtype.<locals>.funcÂ  s   € å”8˜C Ñ$Ô$Ð$r   z>.*The argument "dtype" must be a data-type if it is provided.*r¥   ru   rÝ  rÞ  s       r   Útest_bad_dtypezTestNpArray.test_bad_dtypeÁ  s©   € Ý	ð	%ð 	%ñ 
Œð	%ð OˆØ×#Ò#¥K°Ñ5Ô5ð 	¸ØˆD��A‰JŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ®AÁAÁAN)rJ   rK   rL   r  r¹  r   rÀ  rÃ  rÆ  rQ  rÏ  rÙ  rß  râ  rM   r   r   r®  r®  9  s¼   € € € € € ð4ð 4ð 4ð4ð 4ð 4ð5ð 5ð 5ð	ð 	ð 	ð	ð 	ð 	ð#ð #ð #ð;ð ;ð ;ð*Að Að Að0ð 0ð 0ð:ð ð ðð ð ð ð r   r®  c                   óJ   — e Zd ZdZd„ Zej        d„ ¦   «         Zd„ Zd„ Z	d„ Z
dS )ÚTestNpConcatenatez%
    Tests for np.concatenate().
    c                 óÖ   — t          j        d¦  «                             d¦  «        }|dz   }|dz                        d¬¦  «        }|dz   d d d…         }|dz   dd d d…f         }|||||fS ©Né   )ru   rk   r~   r¤   ÚF)Úorderrþ   .©r   rl   r©   rº   ©rA   r   r   r   ro  r  s         r   Ú
_3d_arrayszTestNpConcatenate._3d_arraysÐ  óx   € ÝŒI�b‰MŒM×!Ò! )Ñ,Ô,ˆØ�‰FˆØ�‰V�MŠM ˆMÑ$Ô$ˆØ�‰V�T�T�r�TŒNˆØ�‰V�S˜˜˜2˜�XÔˆØ�!�Q˜˜1ˆ}Ðr   c              #   óÌ   K  — |                       t          ¦  «        5 }d V — d d d ¦  «         n# 1 swxY w Y   |                      d|z  t          |j        ¦  «        ¦  «         d S )Nz*input sizes over dimension %d do not match©rÙ   r  rÝ   rÞ   rß   )rA   r   rà   s      r   Úassert_invalid_sizes_over_dimz/TestNpConcatenate.assert_invalid_sizes_over_dimØ  s«   è è € à×Ò�zÑ*Ô*ð 	¨fØˆEˆEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐBÀTÑIÝ˜&Ô*Ñ+Ô+ñ	-ô 	-ð 	-ð 	-ð 	-ó   �.®2µ2c           	      óð  ‡ ‡‡	‡
— t           Š
t          ‰
¦  «        Šˆˆ
ˆ fd„Š	ˆ	fd„}‰                      ¦   «         \  }}}}} ||||¦  «          ||||¦  «          ||j        |j        |j        ¦  «          ||j        |j        |j        ¦  «          ||j        |j        |j        ¦  «          ||j        |j        |j        ¦  «          ‰	|dd …         ||d d d…         d¬¦  «          ‰	||d d …dd …f         |d¬¦  «          ‰	|||d d …d d …dd …f         d¬¦  «          |||                     t
          j        ¦  «        |¦  «         ‰                      ¦   «          dD ]E}‰                      d¦  «        5   ‰|dd …         |||¦  «         d d d ¦  «         n# 1 swxY w Y   ŒFd	D ]I}‰                      d¦  «        5   ‰||d d …dd …f         ||¦  «         d d d ¦  «         n# 1 swxY w Y   ŒJd S )
Nc                 ó„   •— |d|z   fD ]6} ‰| |||¬¦  «        } ‰| |||¬¦  «        }‰	                      ||¦  «         Œ7d S )Néýÿÿÿr   ©r“  )
r   r   r   r   ÚaxrG   rœ   rE   rB   rA   s
          €€€r   Úcheckz(TestNpConcatenate.test_3d.<locals>.checkã  sn   ø€ Ø˜R $™YÐ'ð 7ð 7�Ø!˜6 ! Q¨°Ð3Ñ3Ô3�Ø�e˜A˜q !¨"Ð-Ñ-Ô-�Ø×'Ò'¨¨XÑ6Ô6Ð6Ð6ð7ð 7r   c                 óH   •— t          d¦  «        D ]} ‰| |||¦  «         Œd S )Nrk   rä   )r   r   r   r   r÷  s       €r   Úcheck_all_axesz1TestNpConcatenate.test_3d.<locals>.check_all_axesé  s;   ø€ Ý˜a™œð %ð %�Ø��a˜˜A˜tÑ$Ô$Ð$Ð$ð%ð %r   r_   rþ   r   r   r~   )r_   r~   r?  rþ   )r   r~   rô  rþ   )	r   r9   rì  ÚTrÃ  r   rb   rØ   rð  )rA   rù  r   r   r   ro  r  r   rE   r÷  rB   s   `       @@@r   Útest_3dzTestNpConcatenate.test_3dß  s   øøøø€ Ý ˆÝ�v‘”ˆð	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð	%ð 	%ð 	%ð 	%ð 	%ð ŸšÑ)Ô)‰ˆˆ1ˆa��Að 	ˆ�q˜!˜QÑÔÐàˆ�q˜!˜QÑÔÐàˆ�q”s˜AœC ¤Ñ%Ô%Ð%àˆ�q”s˜AœC ¤Ñ%Ô%Ð%àˆ�q”s˜AœC ¤Ñ%Ô%Ð%ð 	ˆ�q”s˜AœC ¤Ñ%Ô%Ð%ð 	ˆˆa���Œe�Q˜˜$˜$˜B˜$œ aÐ(Ñ(Ô(Ð(Øˆˆa��1�1�1�Q�R�R�4”˜! !Ð$Ñ$Ô$Ð$Øˆˆa��A�a�a�a˜˜˜˜!˜"˜"�f”I AÐ&Ñ&Ô&Ð&ð 	ˆ�q˜!Ÿ(š(¥2¤:Ñ.Ô.°Ñ2Ô2Ð2ð 	×ÒÑ!Ô!Ð!ð #ð 	)ð 	)ˆDØ×3Ò3°AÑ6Ô6ð )ð )Ø��a˜˜˜”e˜Q  4Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )øà"ð 	+ð 	+ˆDØ×3Ò3°AÑ6Ô6ð +ð +Ø��a˜˜1˜1˜1˜Q˜R˜R˜4œ ! TÑ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +øð	+ð 	+s$   Å;FÆF"	Æ%F"	ÇG*Ç*G.	Ç1G.	c                 ó€  ‡ ‡‡— t           Št          ‰¦  «        Šˆˆˆ fd„}‰                      ¦   «         \  }}}}} ||||¦  «          ||||¦  «          ||j        |j        |j        ¦  «          ||j        |j        |j        ¦  «          ||j        |j        |j        ¦  «          ||j        |j        |j        ¦  «          ||dd …         ||d d d…         ¦  «         ‰                      ¦   «          ‰                      d¦  «        5   ‰||d d …dd …f         |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 óh   •—  ‰| ||¦  «        } ‰| ||¦  «        }‰                      ||¦  «         d S r   rõ  )r   r   r   rG   rœ   rE   rB   rA   s        €€€r   r÷  z0TestNpConcatenate.test_3d_no_axis.<locals>.check  sA   ø€ Ø�v˜a  A‘”ˆHØ�%˜˜1˜a‘.”.ˆCØ×#Ò# C¨Ñ2Ô2Ð2Ð2Ð2r   r_   rþ   )r   r9   rì  rú  rØ   rð  )	rA   r÷  r   r   r   ro  r  rE   rB   s	   `      @@r   Útest_3d_no_axisz!TestNpConcatenate.test_3d_no_axis  s»  øøø€ Ý ˆÝ�v‘”ˆð	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð
 ŸšÑ)Ô)‰ˆˆ1ˆa��Að 	ˆˆa��A‰Œˆàˆˆa��A‰ŒˆàˆˆaŒc�1”3˜œÑÔÐàˆˆaŒc�1”3˜œÑÔÐàˆˆaŒc�1”3˜œÑÔÐð 	ˆˆaŒc�1”3˜œÑÔÐð 	ˆˆa���Œe�Q˜˜$˜$˜B˜$œÑ Ô Ð ð 	×ÒÑ!Ô!Ð!ð ×/Ò/°Ñ2Ô2ð 	!ð 	!ØˆE�!�Q�q�q�q˜˜˜�t”W˜aÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	!ð 	!s   ÄD3Ä3D7Ä:D7c                 ó  — t           }t          |¦  «        }t          j        d¦  «        }|                     d¦  «        }|                     t          j        dt          j        fg¦  «        ¦  «        }t          j        d¦  «        }|  	                    ¦   «         5 } ||||¦  «         d d d ¦  «         n# 1 swxY w Y   |  
                    dt          |j        ¦  «        ¦  «         |  	                    ¦   «         5 } ||||¦  «         d d d ¦  «         n# 1 swxY w Y   |  
                    dt          |j        ¦  «        ¦  «         |  	                    ¦   «         5 } ||||¦  «         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 )
Né   )rk   r¥   rÖ   rZ   z8all the input arrays must have same number of dimensionsz(input arrays must have compatible dtypesz.zero-dimensional arrays cannot be concatenatedr_   ú%expecting a non-empty tuple of arrays)r   r9   r   rl   r©   rÃ  r<   rX  r[  ÚassertTypingErrorrÝ   rÞ   rß   )rA   rB   rE   r   r   r   ro  rà   s           r   Útest_typing_errorsz$TestNpConcatenate.test_typing_errors5  sØ  € Ý ˆÝ�v‘”ˆåŒI�b‰MŒMˆØ�IŠI�fÑÔˆØ�HŠH•R”X ¥R¤W˜~Ð.Ñ/Ô/Ñ0Ô0ˆÝŒH�R‰LŒLˆð ×#Ò#Ñ%Ô%ð 	¨ØˆE�!�Q˜‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐPÝ˜&Ô*Ñ+Ô+ñ	-ô 	-ð 	-ð ×#Ò#Ñ%Ô%ð 	¨ØˆE�!�Q˜‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐ@Ý˜&Ô*Ñ+Ô+ñ	-ô 	-ð 	-ð ×#Ò#Ñ%Ô%ð 	¨ØˆE�!�Q˜‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐFÝ˜&Ô*Ñ+Ô+ñ	-ô 	-ð 	-ð ×#Ò#Ñ%Ô%ð 	¨ØˆE�!�Q˜‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐ=½sÀ6ÔCSÑ?TÔ?TÑUÔUÐUÐUÐUsH   ÂB6Â6B:Â=B:Ã=DÄDÄDÅE8Å8E<Å?E<Æ?GÇGÇ GN)rJ   rK   rL   Ú__doc__rì  rÕ  rÖ  rð  rû  rþ  r  rM   r   r   rä  rä  Ë  s€   € € € € € ðð ðð ð ð Ôð-ð -ñ Ôð-ð0+ð 0+ð 0+ðd"!ð "!ð "!ðHVð Vð Vð Vð Vr   rä  r"   z"this Numpy doesn't have np.stack()c                   ó€   — e Zd ZdZd„ Zej        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S )ÚTestNpStackz
    Tests for np.stack().
    c                 óÖ   — t          j        d¦  «                             d¦  «        }|dz   }|dz                        d¬¦  «        }|dz   d d d…         }|dz   dd d d…f         }|||||fS ræ  rê  rë  s         r   rì  zTestNpStack._3d_arrays\  rí  r   c              #   óÆ   K  — |                       t          ¦  «        5 }d V — d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         d S )Nz)all input arrays must have the same shaperï  )rA   rà   s     r   Úassert_invalid_sizesz TestNpStack.assert_invalid_sizesd  s¦   è è € à×Ò�zÑ*Ô*ð 	¨fØˆEˆEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐAÝ˜&Ô*Ñ+Ô+ñ	-ô 	-ð 	-ð 	-ð 	-rñ  c                 óÎ   —  ||Ž } ||Ž }|                       |j        |j        ¦  «         |                      |                     ¦   «         |                     ¦   «         ¦  «         d S r   )r:   ra   r“  Úflatten)rA   rB   rE   rF   rG   rœ   s         r   Úcheck_stackzTestNpStack.check_stackk  sd   € Ø�6˜4�=ˆØˆe�Tˆlˆð
 	×Ò˜œ H¤NÑ3Ô3Ð3Ø×Ò §¢¡¤¨x×/?Ò/?Ñ/AÔ/AÑBÔBÐBÐBÐBr   c                 óÆ  ‡ ‡‡‡‡
— ˆˆˆ fd„Š
ˆ
ˆfd„}‰                       ¦   «         \  }}}}}	 ||||¦  «          ||||¦  «          ||j        |j        |j        ¦  «          ||j        |j        |j        ¦  «          ||j        |j        |j        ¦  «          ||j        |	j        |j        ¦  «          |||                     t          j        ¦  «        |¦  «         d S )Nc                 óB   •— ‰                      ‰‰| ||f|z   ¦  «         d S r   )r  )r   r   r   rF   rE   rB   rA   s       €€€r   r÷  z#TestNpStack.check_3d.<locals>.checkv  s,   ø€ Ø×Ò˜V U¨Q°°1¨I¸Ñ,<Ñ=Ô=Ð=Ð=Ð=r   c                 ó>   •—  ‰¦   «         D ]} ‰| |||¦  «         Œd S r   rM   )r   r   r   rF   r÷  Úgenerate_starargss       €€r   rù  z,TestNpStack.check_3d.<locals>.check_all_axesy  s>   ø€ Ø)Ð)Ñ+Ô+ð %ð %�Ø��a˜˜A˜tÑ$Ô$Ð$Ð$ð%ð %r   )rì  rú  rÃ  r   rb   )rA   rB   rE   r  rù  r   r   r   ro  r  r÷  s   ````      @r   Úcheck_3dzTestNpStack.check_3du  s  øøøøø€ ð	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð	%ð 	%ð 	%ð 	%ð 	%ð 	%ð ŸšÑ)Ô)‰ˆˆ1ˆa��Að 	ˆ�q˜!˜QÑÔÐàˆ�q˜!˜QÑÔÐàˆ�q”s˜AœC ¤Ñ%Ô%Ð%àˆ�q”s˜AœC ¤Ñ%Ô%Ð%àˆ�q”s˜AœC ¤Ñ%Ô%Ð%àˆ�q”s˜AœC ¤Ñ%Ô%Ð%ð 	ˆ�q˜!Ÿ(š(¥2¤:Ñ.Ô.°Ñ2Ô2Ð2Ð2Ð2r   c                 ó8  — |                       ¦   «          |                      ¦   «          |                      ¦   «         \  }}}}}|                      ¦   «         5  t	           |¦   «         ¦  «        } ||d d…         ||g|¢R Ž  d d d ¦  «         d S # 1 swxY w Y   d S )Nrþ   )Úassert_no_memory_leakrØ   rì  r	  Únext)	rA   rE   r  r   r   r   ro  r  rF   s	            r   Úcheck_runtime_errorsz TestNpStack.check_runtime_errors�  sò   € à×"Ò"Ñ$Ô$Ð$Ø×ÒÑ!Ô!Ð!ð ŸšÑ)Ô)‰ˆˆ1ˆa��AØ×&Ò&Ñ(Ô(ð 	'ð 	'ÝÐ)Ð)Ñ+Ô+Ñ,Ô,ˆDØˆE�!�C�R�C”&˜!˜QÐ& Ð&Ð&Ð&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð 	'ð 	's   Á+BÂBÂBc                 ó’   — t           }t          |¦  «        }d„ }|                      |||¦  «         |                      ||¦  «         dS )z(
        stack(3d arrays, axis)
        c               3   óH   K  — t          d¦  «        D ]} | fV — d| z   fV — Œd S )Nrk   rô  rä   r   s    r   r  z.TestNpStack.test_3d.<locals>.generate_starargs¡  sE   è è € Ý˜a™œð #ð #�Ø�g���Ø˜D‘y�lÐ"Ð"Ð"Ð"ð#ð #r   N)r%   r9   r  r  ©rA   rB   rE   r  s       r   rû  zTestNpStack.test_3dš  sY   € õ ˆÝ�v‘”ˆð	#ð 	#ð 	#ð
 	�Š�f˜eÐ%6Ñ7Ô7Ð7Ø×!Ò! %Ð):Ñ;Ô;Ð;Ð;Ð;r   c                 ó’   — t           }t          |¦  «        }d„ }|                      |||¦  «         |                      ||¦  «         dS )z"
        stack(3d arrays)
        c               3   ó   K  — dV — d S r  rM   rM   r   r   r  z6TestNpStack.test_3d_no_axis.<locals>.generate_starargs°  ó   è è € ØˆGˆGˆGˆGˆGr   N)r#   r9   r  r  r  s       r   rþ  zTestNpStack.test_3d_no_axis©  sY   € õ ˆÝ�v‘”ˆð	ð 	ð 	ð 	�Š�f˜eÐ%6Ñ7Ô7Ð7Ø×!Ò! %Ð):Ñ;Ô;Ð;Ð;Ð;r   c                 óÞ   — t           }t          |¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }|                      |||||f¦  «         dS )z"
        stack(0d arrays)
        rZ   ù       €      ÀTN)r#   r9   r   r[  r  ©rA   rB   rE   r   r   r   s         r   r  zTestNpStack.test_0d¶  s_   € õ ˆÝ�v‘”ˆåŒH�R‰LŒLˆÝŒH�S‰MŒMˆÝŒH�T‰NŒNˆà×Ò˜ ¨¨A¨q¨	Ñ2Ô2Ð2Ð2Ð2r   c                 óæ   — d„ }|                       |||¦  «         t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }|                      |||||f¦  «         dS )zC
        3d and 0d tests for hstack(), vstack(), dstack().
        c               3   ó   K  — dV — d S r  rM   rM   r   r   r  z4TestNpStack.check_xxstack.<locals>.generate_starargsÇ  r  r   rZ   r  TN)r  r   r[  r  )rA   rB   rE   r  r   r   r   s          r   Úcheck_xxstackzTestNpStack.check_xxstackÃ  su   € ð	ð 	ð 	ð 	�Š�f˜eÐ%6Ñ7Ô7Ð7åŒH�R‰LŒLˆÝŒH�S‰MŒMˆÝŒH�T‰NŒNˆØ×Ò˜ ¨¨A¨q¨	Ñ2Ô2Ð2Ð2Ð2r   c                 ó¾  — t           }t          |¦  «        }|                      ||¦  «         t          j        d¦  «        }t          j        d¦  «        dz   }|                      |||||f¦  «         t          j        d¦  «                             d¦  «        }t          j        d¦  «                             d¦  «        dz   }|                      |||||f¦  «         d S )Nr¥   r¿  r¤   r  r×   )r~   ru   r´   )r(   r9   r!  r   rl   r  r©   ©rA   rB   rE   r   r   s        r   Útest_hstackzTestNpStack.test_hstackÑ  sÄ   € ÝˆÝ�v‘”ˆà×Ò˜6 5Ñ)Ô)Ð)åŒI�a‰LŒLˆÝŒI�a‰LŒL˜2ÑˆØ×Ò˜ ¨¨A¨q¨	Ñ2Ô2Ð2åŒI�a‰LŒL× Ò  Ñ(Ô(ˆÝŒI�a‰LŒL× Ò  Ñ(Ô(¨3Ñ.ˆØ×Ò˜ ¨¨A¨q¨	Ñ2Ô2Ð2Ð2Ð2r   c                 ó®  — t           t          fD ]Å}t          |¦  «        }|                      ||¦  «         t	          j        d¦  «        }|dz   }|                      |||||f¦  «         t	          j        d¦  «                             d¦  «        }t	          j        d¦  «                             d¦  «        dz   }|                      |||||f¦  «         ŒÆd S )Nr¥   r¤   r¿  r<  r×   )ru   r~   r´   )r,   r/   r9   r!  r   rl   r  r©   r#  s        r   Útest_vstackzTestNpStack.test_vstackß  sÓ   € õ !¥,Ð/ð 	7ð 	7ˆFÝ˜6‘N”NˆEà×Ò˜v uÑ-Ô-Ð-å”	˜!‘”ˆAØ�B‘ˆAØ×Ò˜V U¨Q°°1¨IÑ6Ô6Ð6å”	˜!‘”×$Ò$ VÑ,Ô,ˆAÝ”	˜!‘”×$Ò$ VÑ,Ô,¨sÑ2ˆAØ×Ò˜V U¨Q°°1¨IÑ6Ô6Ð6Ð6ð	7ð 	7r   c                 óP  — t           }t          |¦  «        }|                      ||¦  «         t          j        d¦  «        }|dz   }|                      |||||f¦  «         t          j        d¦  «                             d¦  «        }|dz   }|                      |||||f¦  «         d S )Nr¥   r¤   rS  rÉ  r´   )r2   r9   r!  r   rl   r  r©   r#  s        r   Útest_dstackzTestNpStack.test_dstackð  s¤   € ÝˆÝ�v‘”ˆà×Ò˜6 5Ñ)Ô)Ð)åŒI�a‰LŒLˆØ�‰FˆØ×Ò˜ ¨¨A¨q¨	Ñ2Ô2Ð2åŒI�b‰MŒM×!Ò! &Ñ)Ô)ˆØ�‰GˆØ×Ò˜ ¨¨A¨q¨	Ñ2Ô2Ð2Ð2Ð2r   c                 ór  — t           }t          |¦  «        }t          j        d¦  «        }|dz   }t          j        d¦  «                             d¦  «        }|                      |||||f¦  «         |                      ¦   «          |                      ¦   «          t          j        d¦  «        }|  	                    ¦   «         5   ||||f¦  «         d d d ¦  «         n# 1 swxY w Y   |                     d¦  «        }|  	                    ¦   «         5   ||||f¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nru   r¤   rS  ©ru   rk   rZ   )r_   r_   r_   )
r5   r9   r   rl   r©   r  r  rØ   r[  r  r  s         r   Útest_column_stackzTestNpStack.test_column_stackþ  s°  € Ý ˆÝ�v‘”ˆåŒI�a‰LŒLˆØ�‰FˆÝŒI�b‰MŒM×!Ò! &Ñ)Ô)ˆØ×Ò˜ ¨¨A¨q¨	Ñ2Ô2Ð2ð 	×"Ò"Ñ$Ô$Ð$Ø×ÒÑ!Ô!Ð!õ ŒH�R‰LŒLˆØ×#Ò#Ñ%Ô%ð 	ð 	ØˆE�1�a˜�)ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�IŠI�iÑ Ô ˆØ×#Ò#Ñ%Ô%ð 	ð 	ØˆE�1�a˜�)ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s$   ÃCÃC Ã#C ÄD,Ä,D0Ä3D0c                 óz  — t           t          t          t          t          fD ]™}t          |¦  «        }t          j        d¦  «                             d¦  «        }|  	                    ¦   «         5 } ||d|¦  «         d d d ¦  «         n# 1 swxY w Y   |  
                    dt          |j        ¦  «        ¦  «         Œšd S )NrS  r*  r_   r  )r#   r(   r,   r2   r5   r9   r   rl   r©   r  rÝ   rÞ   rß   )rA   rB   rE   r   rà   s        r   Útest_bad_arrayszTestNpStack.test_bad_arrays  sê   € Ý ¥)­Y½	Å?ÐSð 	Zð 	ZˆFÝ˜6‘N”NˆEÝ”	˜"‘”×%Ò% fÑ-Ô-ˆAð ×'Ò'Ñ)Ô)ð ¨VØ��a˜˜A‘”�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à�MŠMÐAÅ3ÀvÔGWÑCXÔCXÑYÔYÐYÐYð	Zð 	Zs   Á-BÂB	ÂB	N)rJ   rK   rL   r  rì  rÕ  rÖ  r	  r  r  r  rû  rþ  r  r!  r$  r&  r(  r+  r-  rM   r   r   r  r  V  s  € € € € € ðð ðð ð ð Ôð-ð -ñ Ôð-ðCð Cð Cð3ð 3ð 3ð4	'ð 	'ð 	'ð<ð <ð <ð<ð <ð <ð3ð 3ð 3ð3ð 3ð 3ð3ð 3ð 3ð7ð 7ð 7ð"3ð 3ð 3ðð ð ð*Zð Zð Zð Zð Zr   r  c                  ó`  ‡‡‡‡‡— d„ Št          ‰¦  «        Št          j                             d¦  «        Št          j                             d¦  «        ŠdŠˆˆˆˆfd„} ˆˆˆˆfd„}t          j        | ¦  «        }t          j        |¦  «        }t          |¦  «         t          |¦  «         d S )Nc                 ó6   — t          |¦  «        D ]}|| }} Œ| |fS )z1Swap array x and y for t number of times
        rä   rå   s       r   rB   z%benchmark_refct_speed.<locals>.pyfunc  s-   € õ �q‘”ð 	ð 	ˆAØ�aˆqˆAˆAØ�!ˆtˆr   r´   i'  c                  ó"   •—  ‰ ‰‰‰¦  «         d S r   rM   )rB   ræ   rÖ   rˆ   s   €€€€r   Úbench_pyfuncz+benchmark_refct_speed.<locals>.bench_pyfunc,  s   ø€ Øˆˆq�!�Q‰Œˆˆˆr   c                  ó"   •—  ‰ ‰‰‰¦  «         d S r   rM   )rE   ræ   rÖ   rˆ   s   €€€€r   Úbench_cfuncz*benchmark_refct_speed.<locals>.bench_cfunc/  s   ø€ Øˆˆa��A‰Œˆˆˆr   )r9   r   r¨   r   Ú	benchmarkÚprint)	r1  r3  Úpython_timeÚ
numba_timerE   rB   ræ   rÖ   rˆ   s	       @@@@@r   Úbenchmark_refct_speedr8    sä   øøøøø€ ðð ð õ �6‰NŒN€Eå
Œ	×Ò˜ÑÔ€AÝ
Œ	×Ò˜ÑÔ€AØ€Aðð ð ð ð ð ð ð ðð ð ð ð ð ð ð õ ”/ ,Ñ/Ô/€KÝ” Ñ-Ô-€JÝ	ˆ+ÑÔÐÝ	ˆ*ÑÔÐÐÐr   Ú__main__):rÕ  rŒ   Únumpyr   r¨   Úrer¼   rŽ   Únumba.core.errorsr   Únumbar   Ú
numba.corer   r   r   Únumba.tests.supportr   r	   r
   r   ry  r9   r   r   r#   r%   r(   r,   r/   r2   r5   r7   rO   rW   rù   r  rv  r|  Úobjectr¶  rÉ  rò  rù  r   r  r.  rQ  r�  r—  r®  rä  Ú
skipUnlessÚhasattrr  r8  rJ   ÚmainrM   r   r   ú<module>rD     sº  ðØ Ð Ð Ð Ø 
€
€
€
Ø Ð Ð Ð Ø €€€Ø 	€	€	€	Ø Ð Ð Ð Ø 	€	€	€	à )Ð )Ð )Ð )Ð )Ð )Ø Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ø MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MØ €€€ð 
ˆ�4˜tÐ	$Ñ	$Ô	$€ð%ð %ð %ð0ð 0ð 0ðð ð ð*ð *ð *ð ð  ð  ð ð  ð  ð#ð #ð #ð ð  ð  ð&ð &ð &ð:ð :ð :ð :ð :ˆxñ :ô :ð :ð 4ð 4ð 4ð 4ð 4�?ñ 4ô 4ð 4ð
J:ð J:ð J:ð J:ð J:�< ñ J:ô J:ð J:ðZD
ð D
ð D
ð D
ð D
˜,ñ D
ô D
ð D
ðNNGð NGð NGð NGð NGÐ% xñ NGô NGð NGðb5ð 5ð 5ð 5ð 5�ñ 5ô 5ð 5ðnAð nAð nAð nAð nAÐ$ hñ nAô nAð nAðb+ð +ð +ð +ð +˜fñ +ô +ð +ð\YIð YIð YIð YIð YIÐ-¨xñ YIô YIð YIðxBð Bð Bð Bð B�oñ Bô Bð Bð Að Að Að Að A�_ñ Aô Að Að$DIð DIð DIð DIð DIÐ,¨hñ DIô DIð DIðN#ð #ð #ð #ð #�Xñ #ô #ð #ðB)#ð )#ð )#ð )#ð )#�ñ )#ô )#ð )#ðXFð Fð Fð Fð F�ñ Fô Fð FðPDð Dð Dð Dð D�8ñ Dô Dð Dð8-ð -ð -ð -ð -˜(ñ -ô -ð -ð`Oð Oð Oð Oð O�/ 8ñ Oô Oð OðdHVð HVð HVð HVð HV˜¨ñ HVô HVð HVðV €Ô�W�W˜R Ñ)Ô)Ð+OÑPÔPðDZð DZð DZð DZð DZ�/ 8ñ DZô DZñ QÔPðDZðNð ð ð4 ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   