§
    2@Äjó¨  ã                   ó²  — 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m	Z	 d dl
mZmZ d dlmZmZmZ d dlZd dlmZ d dlmZ d„ Zd„ Zd	„ Zd
„ Zd„ Z G d„ deej        ¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z  G d„ deej        ¦  «        Z!e"dk    r ej#        ¦   «          dS dS )é    N)ÚnjitÚ	vectorize)ÚMemoryLeakMixinÚTestCase)ÚTypingErrorÚNumbaNotImplementedErrorÚNumbaExperimentalFeatureWarning)Údufunc)Ú
from_dtypec                 ó   — | |z   S ©N© ©Úa0Úa1s     úQC:\Projects\Historical\venv\Lib\site-packages\numba/tests/npyufunc/test_dufunc.pyÚpyuaddr      ó   € Ø�‰7€Nó    c                 ó   — | |z
  S r   r   r   s     r   Úpysubr      r   r   c                 ó   — | |z  S r   r   r   s     r   Úpymultr      r   r   c                 ó   — | |z  S r   r   r   s     r   Úpydivr      s   € Ø�‰8€Or   c                 ó   — | |k     r| n|S r   r   r   s     r   Úpyminr   "   s   € Ø�b’�ˆ2ˆ2˜bÐ r   c                   ó8   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )	Ú
TestDUFuncc                 óJ   — t          j        |t          d¬¦  «        ¬¦  «        S )NT)Únopython)Útargetoptions)r
   ÚDUFuncÚdict)ÚselfÚpyfuncs     r   Únopython_dufunczTestDUFunc.nopython_dufunc(   s"   € ÝŒ}˜Vµ4ÀÐ3FÑ3FÔ3FÐGÑGÔGÐGr   c           	      óð  — |                       t          ¦  «        }|                      |j        ¦  «         d|_        |                      |j        ¦  «         |                      t          ¦  «        5  d|_        d d d ¦  «         n# 1 swxY w Y   |                      t          ¦  «        5   |t          j	        ddd¦  «        t          j	        ddd¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NTFr   é   é
   é   )
r'   r   ÚassertFalseÚ_frozenÚ
assertTrueÚassertRaisesÚ
ValueErrorÚ	TypeErrorÚnpÚlinspace©r%   Úduadds     r   Útest_frozenzTestDUFunc.test_frozen+   s\  € Ø×$Ò$¥VÑ,Ô,ˆØ×Ò˜œÑ'Ô'Ð'ØˆŒØ�Š˜œÑ&Ô&Ð&Ø×Ò�zÑ*Ô*ð 	"ð 	"Ø!ˆEŒMð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"à×Ò�yÑ)Ô)ð 	<ð 	<ØˆE•"”+˜a  "Ñ%Ô%¥r¤{°1°Q°rÑ':Ô':Ñ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<ð 	<ð 	<s$   Á0BÂBÂBÂ)5C+Ã+C/Ã2C/c                 ó–   — |                       t          ¦  «        }|                      t          dd¦  «         |dd¦  «        ¦  «         d S )Nr)   r+   )r'   r   ÚassertEqualr4   s     r   Útest_scalarzTestDUFunc.test_scalar5   sC   € Ø×$Ò$¥VÑ,Ô,ˆØ×Ò�  !™œ e e¨A¨a¡j¤jÑ1Ô1Ð1Ð1Ð1r   c                 ó´  ‡— |                       t          ¦  «        Št          ˆfd„¦   «         }t          j        ddd¦  «        }|d d…         }|dd …         }t          j        d¦  «        } ||||¦  «         t          j                             ||z   |¦  «         |                     d¦  «        }|                     d¦  «        }t          j        d¦  «        } ||||¦  «         t          j                             ||z   |¦  «         |d d…         }	t          j        d¦  «        }
 |||	|
¦  «         t          j                             ||	z   |
¦  «         d S )Nc                 ó"   •—  ‰| ||¦  «         d S r   r   )r   r   Úo0r5   s      €r   Únpmaddz(TestDUFunc.test_npm_call.<locals>.npmadd<   s   ø€ àˆE�"�b˜"ÑÔÐÐÐr   r   çffffffþ?é   r*   ©r+   é   rA   )	r'   r   r   r2   r3   ÚzerosÚtestingÚassert_array_equalÚreshape)r%   r=   ÚXÚX0ÚX1Úout0ÚY0ÚY1Úout1ÚY2Úout2r5   s              @r   Útest_npm_callzTestDUFunc.test_npm_call9   sR  ø€ Ø×$Ò$¥VÑ,Ô,ˆå	ð	ð 	ð 	ð 	ñ 
Œð	åŒK˜˜#˜bÑ!Ô!ˆØˆs�ˆsŒVˆØˆrˆsˆsŒVˆÝŒx˜‰|Œ|ˆØˆˆr�2�tÑÔÐÝ
Œ
×%Ò% b¨2¡g¨tÑ4Ô4Ð4Ø�ZŠZ˜ÑÔˆØ�ZŠZ˜ÑÔˆÝŒx˜‰ŒˆØˆˆr�2�tÑÔÐÝ
Œ
×%Ò% b¨2¡g¨tÑ4Ô4Ð4Ø���ŒVˆÝŒx˜‰ŒˆØˆˆr�2�tÑÔÐÝ
Œ
×%Ò% b¨2¡g¨tÑ4Ô4Ð4Ð4Ð4r   c                 óz  ‡— |                       t          ¦  «        Št          ˆfd„¦   «         }t          j        ddd¦  «        }|d d…         }|dd …         } |||¦  «        }t          j                             ||z   |¦  «         |                     d¦  «        }|                     d¦  «        } |||¦  «        }t          j                             ||z   |¦  «         |d d…         }	 |||	¦  «        }
t          j                             ||	z   |
¦  «          |dd	¦  «        }|                      |d
¦  «         d S )Nc                 ó   •—  ‰| |¦  «        S r   r   )r   r   r5   s     €r   r=   z8TestDUFunc.test_npm_call_implicit_output.<locals>.npmaddR   s   ø€ à�5˜˜R‘=”=Ð r   r   r>   r?   r*   r@   rA   ç      ð?ç       @g      @)	r'   r   r   r2   r3   rC   rD   rE   r8   )r%   r=   rF   rG   rH   rI   rJ   rK   rL   rM   rN   Úout3r5   s               @r   Útest_npm_call_implicit_outputz(TestDUFunc.test_npm_call_implicit_outputO   sA  ø€ Ø×$Ò$¥VÑ,Ô,ˆå	ð	!ð 	!ð 	!ð 	!ñ 
Œð	!åŒK˜˜#˜bÑ!Ô!ˆØˆs�ˆsŒVˆØˆrˆsˆsŒVˆØˆv�b˜"‰~Œ~ˆÝ
Œ
×%Ò% b¨2¡g¨tÑ4Ô4Ð4Ø�ZŠZ˜ÑÔˆØ�ZŠZ˜ÑÔˆØˆv�b˜"‰~Œ~ˆÝ
Œ
×%Ò% b¨2¡g¨tÑ4Ô4Ð4Ø���ŒVˆØˆv�b˜"‰~Œ~ˆÝ
Œ
×%Ò% b¨2¡g¨tÑ4Ô4Ð4Øˆv�b˜‰}Œ}ˆØ×Ò˜˜rÑ"Ô"Ð"Ð"Ð"r   c                 ót  — |                       t          ¦  «        }|                      |j        d¦  «         |                      |j        d¦  «         |                      |j        |j        |j        z   ¦  «         |                      |j        d¦  «         |                      |j        g ¦  «         |                      |j        d ¦  «          |dd¦  «         |                      |j        d¦  «         |                      |j        t          |j        ¦  «        ¦  «         |  
                    |j        ¦  «         d S )Nr+   r)   r   )r'   r   r8   ÚninÚnoutÚnargsÚntypesÚtypesÚidentityÚlenÚassertIsNoneÚ	signaturer4   s     r   Útest_ufunc_propszTestDUFunc.test_ufunc_propsd   s  € Ø×$Ò$¥VÑ,Ô,ˆØ×Ò˜œ AÑ&Ô&Ð&Ø×Ò˜œ QÑ'Ô'Ð'Ø×Ò˜œ e¤i°%´*Ñ&<Ñ=Ô=Ð=Ø×Ò˜œ qÑ)Ô)Ð)Ø×Ò˜œ bÑ)Ô)Ð)Ø×Ò˜œ¨Ñ.Ô.Ð.Øˆˆa�‰ŒˆØ×Ò˜œ qÑ)Ô)Ð)Ø×Ò˜œ¥s¨5¬;Ñ'7Ô'7Ñ8Ô8Ð8Ø×Ò˜%œ/Ñ*Ô*Ð*Ð*Ð*r   c                 óH  ‡— |                       t          ¦  «        Š ‰dd¦  «         ‰j        ‰j        ‰j        ‰j        ‰j        dœ}ˆfd„}|                     ¦   «         D ]?\  }}t           ||¦  «        ¦  «        }|  	                    | |¦   «         d|› �¦  «         Œ@d S )Nr)   r+   )rW   rX   rY   r\   r_   c                 ón   •— d| › d�}i }t          t          j        |¦  «        d‰i|¦  «         |d         S )Nz>
                def impl():
                    return duadd.z
            r5   Úimpl)ÚexecÚtextwrapÚdedent)ÚattrÚfnÚlr5   s      €r   Úget_attr_fnz4TestDUFunc.test_ufunc_props_jit.<locals>.get_attr_fn}   sN   ø€ ðà"&ðð ð ˆBð ˆAÝ•” Ñ$Ô$ w°Ð&6¸Ñ:Ô:Ð:Ø�V”9Ðr   z!Attribute differs from original: )
r'   r   rW   rX   rY   r\   r_   Úitemsr   r8   )r%   Ú
attributesrj   rg   ÚvalÚcfuncr5   s         @r   Útest_ufunc_props_jitzTestDUFunc.test_ufunc_props_jitq   sá   ø€ Ø×$Ò$¥VÑ,Ô,ˆØˆˆa�‰Œˆà"œYØ#œjØ$œ{ð #(¤.Ø#(¤?ð4ð 4ˆ
ð	ð 	ð 	ð 	ð 	ð $×)Ò)Ñ+Ô+ð 	Ið 	I‰IˆD�#Ý˜˜ TÑ*Ô*Ñ+Ô+ˆEØ×Ò˜S % %¡'¤'ØGÀÐGÐGñIô Ið Ið Ið	Ið 	Ir   N)
Ú__name__Ú
__module__Ú__qualname__r'   r6   r9   rO   rU   r`   ro   r   r   r   r   r   &   s…   € € € € € ðHð Hð Hð<ð <ð <ð2ð 2ð 2ð5ð 5ð 5ð,#ð #ð #ð*+ð +ð +ðIð Ið Ið Ið Ir   r   c                   óB   — e Zd Zej        dd„¦   «         Zd„ Zd„ Zd„ ZdS )ÚTestDUFuncMethodsBaseNc                 ó"  ‡‡— |dv sJ ‚|dk    rY‰j         dk    r t          |¬¦  «        ˆfd„¦  «        Šn t          |¬¦  «        ˆfd„¦  «        Št          dˆfd„	¦   «         }|S |d	k    rK‰j         dk    rt          d
¦  «        ‚ t          |¬¦  «        ˆfd„¦  «        Št          dˆfd„	¦   «         }|S ‰j         dk    r t          |¬¦  «        ˆfd„¦  «        Šn t          |¬¦  «        ˆfd„¦  «        Št          ˆfd„¦   «         }|S )N)ÚreduceÚreduceatÚatrv   r+   ©r\   c                 ó   •—  ‰| |¦  «        S r   r   ©ÚaÚbÚufuncs     €r   ú<lambda>z5TestDUFuncMethodsBase._generate_jit.<locals>.<lambda>š   ó   ø€ ÀÀÀaÈÁÄ€ r   c                 ó   •—  ‰| ¦  «        S r   r   ©r|   r~   s    €r   r   z5TestDUFuncMethodsBase._generate_jit.<locals>.<lambda>œ   ó   ø€ ¸U¸UÀ1¹X¼X€ r   r   c                 ó4   •— ‰                      | ||¬¦  «        S ©N©ÚaxisÚinitial©rv   ©Úarrayr‡   rˆ   Úvecs      €r   rh   z/TestDUFuncMethodsBase._generate_jit.<locals>.fnž   s   ø€ à—z’z %¨d¸G�zÑDÔDÐDr   rw   ú,reduceat only supported for binary functionsc                 ó   •—  ‰| |¦  «        S r   r   r{   s     €r   r   z5TestDUFuncMethodsBase._generate_jit.<locals>.<lambda>¥   ó   ø€ ¸E¸EÀ!ÀQ¹K¼K€ r   c                 ó6   •— ‰                      | ||||¦  «        S r   ©rw   )r‹   Úindicesr‡   ÚdtypeÚoutrŒ   s        €r   rh   z/TestDUFuncMethodsBase._generate_jit.<locals>.fn§   s   ø€ à—|’| E¨7°D¸%ÀÑEÔEÐEr   c                 ó   •—  ‰| |¦  «        S r   r   r{   s     €r   r   z5TestDUFuncMethodsBase._generate_jit.<locals>.<lambda>­   r€   r   c                 ó   •—  ‰| ¦  «        S r   r   r‚   s    €r   r   z5TestDUFuncMethodsBase._generate_jit.<locals>.<lambda>¯   rƒ   r   c                  ó   •—  ‰j         | Ž S r   ©rx   )ÚargsrŒ   s    €r   rh   z/TestDUFuncMethodsBase._generate_jit.<locals>.fn±   s   ø€ à�s”v˜t�}Ð$r   ©r   N)r   NN)rW   r   r   r0   )r%   r~   Úkindr\   rh   rŒ   s    `   @r   Ú_generate_jitz#TestDUFuncMethodsBase._generate_jit•   s¢  øø€ àÐ3Ð3Ð3Ð3Ð3Ø�8ÒÐØŒy˜AŠ~ˆ~Ø2•i¨Ð2Ñ2Ô2Ð3KÐ3KÐ3KÐ3KÑLÔL��à2•i¨Ð2Ñ2Ô2Ð3EÐ3EÐ3EÐ3EÑFÔF�åðEð Eð Eð Eð Eñ ŒTðEàˆIØ�ZÒÐØŒy˜AŠ~ˆ~Ý Ð!OÑPÔPÐPØ.•) XÐ.Ñ.Ô.Ð/GÐ/GÐ/GÐ/GÑHÔHˆCåðFð Fð Fð Fð Fñ ŒTðFàˆIàŒy˜AŠ~ˆ~Ø2•i¨Ð2Ñ2Ô2Ð3KÐ3KÐ3KÐ3KÑLÔL��à2•i¨Ð2Ñ2Ô2Ð3EÐ3EÐ3EÐ3EÑFÔF�åð%ð %ð %ð %ñ ŒTð%àˆIr   c                 ó2   — |                       |d|¬¦  «        S )Nrv   ry   ©rœ   ©r%   r~   r\   s      r   Ú_reducezTestDUFuncMethodsBase._reduce¶   s   € Ø×!Ò! %¨¸HÐ!ÑEÔEÐEr   c                 ó2   — |                       |d|¬¦  «        S )Nrw   ry   rž   rŸ   s      r   Ú	_reduceatzTestDUFuncMethodsBase._reduceat¹   s   € Ø×!Ò! %¨¸hÐ!ÑGÔGÐGr   c                 ó.   — |                       |d¦  «        S )Nrx   rž   )r%   r~   s     r   Ú_atzTestDUFuncMethodsBase._at¼   s   € Ø×!Ò! %¨Ñ.Ô.Ð.r   r   )	rp   rq   rr   Ú	functoolsÚcacherœ   r    r¢   r¤   r   r   r   rt   rt   “   sh   € € € € € à„_ðð ð ñ „_ðð@Fð Fð FðHð Hð Hð/ð /ð /ð /ð /r   rt   c                   óØ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zej        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zej        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestDUFuncAtc                 ó°   — |                      ¦   «         }|                      ¦   «         } |j        |g|¢R Ž   ||g|¢R Ž  |                      ||¦  «         d S r   )Úcopyrx   ÚassertPreciseEqual)r%   rh   r~   r|   r™   ÚexpectedÚgots          r   Ú_compare_outputzTestDUFuncAt._compare_outputÁ   se   € Ø—6’6‘8”8ˆØ�fŠf‰hŒhˆØˆŒ�Ð!˜DÐ!Ð!Ð!Ð!Ø
ˆˆ3ˆ�ˆˆˆˆØ×Ò ¨#Ñ.Ô.Ð.Ð.Ð.r   c                 ój  ‡— t          j        dt          ¬¦  «        }|                      t           j        ¦  «        }|                      t           j        ¦  «        } t          ¦   «         d„ ¦  «        Št          ˆfd„¦   «         }|                      |t           j        |g d¢d¦  «         d}|  	                    t          |¦  «        5   ||                     ¦   «         g d¢d ¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |t           j        |                     ¦   «         g d¢¦  «         t          j        g d	¢¦  «        }|                      |t           j        |                     ¦   «         g d¢|¦  «         d
}|  	                    t          |¦  «        5   ||                     ¦   «         g d¢g d¢¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          ¦  «        5   ||                     ¦   «         g d¢ddgdg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr*   ©r“   c                 ó*   — t          j        | ¦  «        S r   ©r2   Únegative©r|   s    r   r   z8TestDUFuncAt.test_numpy_ufunc_at_basic.<locals>.<lambda>Ñ   s   € ­R¬[¸©^¬^€ r   c                 ó2   •— ‰                      | ||¦  «        S r   r˜   )r|   r’   r}   Únegative_vecs      €r   Únegative_jit_2z>TestDUFuncAt.test_numpy_ufunc_at_basic.<locals>.negative_jit_2Ó   s   ø€ à—?’? 1 g¨qÑ1Ô1Ð1r   ©r+   rA   r+   r)   zsecond operand needed for ufunc)r+   rA   é   ©éd   r»   r»   z+second operand provided when ufunc is unary©r)   r+   r¹   r+   )r2   ÚarangeÚintr¤   Úaddr³   r   r   r®   ÚassertRaisesRegexr   rª   r‹   r/   )r%   r|   Úadd_atÚnegative_atr·   Úerr_msgr}   r¶   s          @r   Útest_numpy_ufunc_at_basicz&TestDUFuncAt.test_numpy_ufunc_at_basicÈ   sÏ  ø€ õ ŒI�b¥Ð$Ñ$Ô$ˆà—’�"œ&Ñ!Ô!ˆØ—h’h�rœ{Ñ+Ô+ˆà"•y‘{”{Ð#;Ð#;Ñ<Ô<ˆå	ð	2ð 	2ð 	2ð 	2ñ 
Œð	2ð 	×Ò˜V¥R¤V¨Q°	°	°	¸1Ñ=Ô=Ð=ð 4ˆØ×#Ò#¥K°Ñ9Ô9ð 	.ð 	.ØˆF�1—6’6‘8”8˜Y˜Y˜Y¨Ñ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð 	×Ò˜[­"¬+°q·v²v±x´xÀÀÀÑKÔKÐKåŒH�_�_�_Ñ%Ô%ˆØ×Ò˜V¥R¤V¨Q¯VªV©X¬X°y°y°yÀ!ÑDÔDÐDð @ˆØ×#Ò#¥K°Ñ9Ô9ð 	;ð 	;ØˆN˜1Ÿ6š6™8œ8 Y Y Y°	°	°	Ñ:Ô:Ð:ð	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;ð ×Ò�{Ñ+Ô+ð 	5ð 	5ØˆF�1—6’6‘8”8˜Y˜Y˜Y¨!¨Q¨°¨Ñ4Ô4Ð4ð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5ð 	5ð 	5s6   Ã"C5Ã5C9Ã<C9Æ $GÇGÇGÇ5&H(È(H,È/H,c           
      óR  — t           j        d         }t           j        t           j        t           j        f}|D �]W}	 t          t          j        |¦  «        ¦  «         n# t          $ r Y Œ2w xY w|D �]}t          j        d|¬¦  «        }t          j	        t          j        dt           j
        ¬¦  «        t          j        ddt           j
        ¬¦  «        g¦  «        }|j                             d¦  «        }|                      |¦  «        } ||||¦  «         t          j        |¦  «        }	|t           j        u rdx|	d	<   |	d<   ŒÕ|	d	xx         d|t           j        u r|n| z  z  cc<   |	dxx         d|t           j        u r|n| z  z  cc<   �Œ�ŒY|                      ||	¦  «         d S )
NÚComplexr*   r°   é   é   é   y              ð?éÿÿÿÿr)   )r2   Ú	typecodesr¿   ÚsubtractÚmultiplyr   r“   r   ÚonesÚconcatenateÚintpÚfullÚtyper¤   Ú	ones_liker«   )
r%   rË   ÚufuncsÚtypecoder~   r|   ÚindxÚvalueÚufunc_atr¬   s
             r   Útest_ufunc_at_inner_loopz%TestDUFuncAt.test_ufunc_at_inner_loopì   sº  € Ý”L Ô+ˆ	Ý”&�"œ+¥r¤{Ð3ˆØ!ð 	Oñ 	OˆHðÝ�2œ8 HÑ-Ô-Ñ.Ô.Ð.Ð.øÝ+ð ð ð Ø�ðøøøð  ð Oñ O�Ý”G˜B hÐ/Ñ/Ô/�Ý”~¥r¤w¨q½¼Ð'@Ñ'@Ô'@Ý')¤w¨r°1½B¼GÐ'DÑ'DÔ'Dð'Fñ Gô G�àœŸš RÑ(Ô(�ØŸ8š8 E™?œ?�Ø�˜˜D %Ñ(Ô(Ð(Ýœ<¨™?œ?�Ø�BœKÐ'Ð'Ø02Ð2�H˜Q‘K (¨1¡+ +à˜Q�K�K”K 1°½"¼&°°¨¨ÀuÀfÑ#MÑM�K�K‘KØ˜Q�K�K”K 2°%½2¼6°/°/¨¨ÈÀvÑ#NÑN�K�K‘K‘KñOð 	×Ò  8Ñ,Ô,Ð,Ð,Ð,s   ¼!AÁ
A+Á*A+c           
      ó  — t          j        dt          ¬¦  «        }|                      t           j        ¦  «        }|                      |t           j        |t          d ¦  «        t          j        dt          ¬¦  «        ¦  «         d S )NrA   r°   )r2   rB   r¾   r¤   r¿   r®   ÚslicerÎ   ©r%   ÚarrrÁ   s      r   Útest_ufunc_at_ellipsisz#TestDUFuncAt.test_ufunc_at_ellipsis  so   € õ Œh�q¥Ð$Ñ$Ô$ˆØ—’�"œ&Ñ!Ô!ˆØ×Ò˜V¥R¤V¨Sµ%¸±+´+ÝœW Q­cÐ2Ñ2Ô2ñ	4ô 	4ð 	4ð 	4ð 	4r   c                 óü   — t          j        dt           j        ¬¦  «        }t          j        d¦  «        }|                      t           j        ¦  «        } |||¦  «         t          j        |g d¢k    ¦  «        sJ ‚d S )NrA   r°   )rÊ   rÊ   rÊ   rÊ   rÊ   )r2   rÎ   Úint32r½   r¤   r³   Úall)r%   rÝ   rÖ   rx   s       r   Útest_ufunc_at_negativez#TestDUFuncAt.test_ufunc_at_negative  so   € ÝŒg�a�rœxÐ(Ñ(Ô(ˆÝŒy˜‰|Œ|ˆØ�XŠX•b”kÑ"Ô"ˆØ
ˆˆ3�‰ŒˆÝŒv�cÐ1Ð1Ð1Ò1Ñ2Ô2Ð2Ð2Ð2Ð2Ð2r   c                 ól  — t          j        dt           j        ¬¦  «        }t          j        dt          ¬¦  «        }d|d<   d|d<   d|dd …<   t          j        dt          ¬¦  «        }|                      t           j        ¦  «        } ||||¦  «         |d         |                     ¦   «         k    sJ ‚d S )	Ni   r°   r*   r   rA   r)   r»   i    )r2   rB   Úint16Úfloatr¤   r¿   Úsum)r%   r’   r}   r|   rÁ   s        r   Útest_ufunc_at_largez TestDUFuncAt.test_ufunc_at_large  s£   € å”(˜4¥r¤xÐ0Ñ0Ô0ˆÝŒH�T¥Ð'Ñ'Ô'ˆØˆˆ!‰Øˆˆ!‰Øˆˆ$ˆ%ˆ%‰ÝŒH�Q�eÐ$Ñ$Ô$ˆØ—’�"œ&Ñ!Ô!ˆØˆˆq�'˜1ÑÔÐØ�Œt�q—u’u‘w”wŠˆˆˆˆˆr   c                 ó>  — t          j        d¦  «        }t          j        d¦  «        }|                      t           j        ¦  «        }t          j        t          |¦  «        t           j        ¬¦  «        } ||||¦  «         |d         t          |¦  «        k    sJ ‚d S )Nr*   i † r°   r   )r2   rB   rÎ   r¤   r¿   r]   Úuint8)r%   rÝ   ÚvaluesrÁ   Úindexs        r   Útest_cast_index_fastpathz%TestDUFuncAt.test_cast_index_fastpath!  s€   € ÝŒh�r‰lŒlˆÝ”˜‘”ˆØ—’�"œ&Ñ!Ô!ˆå”�˜V™œ­B¬HÐ5Ñ5Ô5ˆØˆˆs�E˜6Ñ"Ô"Ð"Ø�1Œv�˜V™œÒ$Ð$Ð$Ð$Ð$Ð$r   c           	      óÂ  — t          j        d¦  «        t          j        d¦  «        t          j        d¦  «        df}|D ]Ÿ}t          j        d¦  «        }t          j        t          j        d¦  «        d¦  «        }|                      t           j        ¦  «        } ||||¦  «         t           j         	                    |t          j
        |d|z  ¦  «        ¦  «         Œ d S )Nr)   r   rR   iè  r+   )r2   rÎ   Úfloat64rB   Úrepeatr½   r¤   r¿   rC   rD   Ú	full_like)r%   rê   r×   rÝ   rë   rÁ   s         r   Ú#test_ufunc_at_scalar_value_fastpathz0TestDUFuncAt.test_ufunc_at_scalar_value_fastpath*  s½   € Ý”'˜!‘*”*�bœg b™kœk­2¬:°b©>¬>¸2Ð>ˆØð 	Mð 	MˆEÝ”(˜4‘.”.ˆCå”I�bœi¨™oœo¨qÑ1Ô1ˆEØ—X’X�bœfÑ%Ô%ˆFØˆF�3˜˜uÑ%Ô%Ð%ÝŒJ×)Ò)¨#­r¬|¸CÀÀUÁÑ/KÔ/KÑLÔLÐLÐLð	Mð 	Mr   c                 ó.
  — t          j        d¦  «                             dd¦  «        }t          j        g d¢g d¢g d¢g¦  «        }|                      t           j        ¦  «        } ||t          d ¦  «        t          j        g d¢¦  «        f|¦  «         |                      |t          j        g d¢g d¢g d	¢g¦  «        ¦  «         t          j        d
¦  «                             ddd¦  «        }t          j        g d¢¦  «        } ||t          d ¦  «        t          d ¦  «        t          j        g d¢¦  «        f|¦  «         |                      |t          j        g d¢g d¢g d¢gg d¢g d¢g d¢gg d¢g d¢g d¢gg¦  «        ¦  «         t          j        d¦  «                             dd¦  «        }t          j        g d¢g d¢g d¢g¦  «        } ||t          j        g d¢¦  «        t          d ¦  «        f|¦  «         |                      |t          j        g d¢g d¢g d¢g¦  «        ¦  «         t          j        d
¦  «                             ddd¦  «        }t          j        g d¢¦  «        } ||t          d ¦  «        t          j        g d¢¦  «        t          d ¦  «        f|¦  «         |                      |t          j        g d¢g d¢g d¢gg d¢g d¢g d¢gg d¢g d¢g d¢gg¦  «        ¦  «         t          j        d¦  «                             dd¦  «        }t          j        g d¢¦  «        } ||dt          j        g d¢¦  «        f|¦  «         |                      |t          j        g d¢g d ¢g d!¢g¦  «        ¦  «         t          j        d
¦  «                             ddd¦  «        }t          j        g d¢¦  «        } ||t          j        g d¢¦  «        dt          d ¦  «        f|¦  «         |                      |t          j        g d¢g d ¢g d!¢gg d"¢g d#¢g d$¢gg d%¢g d&¢g d'¢gg¦  «        ¦  «         t          j        d
¦  «                             ddd¦  «        }t          j        g d¢¦  «        }|                      t           j        ¦  «        } ||t          d ¦  «        t          d ¦  «        t          d ¦  «        f|¦  «         |                      |t          j        g d(¢g d)¢g d¢gg d*¢g d+¢g d¢gg d%¢g d,¢g d¢gg¦  «        ¦  «         d S )-Né	   r¹   rº   )éÈ   rô   rô   )é,  rõ   rõ   ©r)   r+   r)   )r   éÉ   éf   )r¹   é”  éÍ   )rÇ   i_  é4  é   )r»   rô   rõ   )r   i‘  éÊ   )rÇ   i—  éÐ   )ró   éš  éÓ   )é   é�  éÖ   )é   i   éÙ   )rÈ   i£  éÜ   )é   é¦  éß   )é   i©  éâ   ©r   r)   r+   )i“  rù   i•  )éÎ   éÏ   rþ   )éË   rù   i]  )éj   r  rû   )ró   r*   é   )éÔ   r  if  )és   éØ   i=  )rÈ   é   r?   )éÝ   r  io  )é|   éá   iF  r   ©r¹   rÉ   rA   )rÇ   é   é   )éÑ   rÿ   ic  )r  é   é   )r  é   é   )év   éÛ   i@  )r  é   é   )r
  é   é   )r»   r÷   i.  )ég   éÌ   i1  )ém   éÒ   i7  )ép   éÕ   i:  )éy   éÞ   iC  )	r2   r½   rE   r‹   r¤   r¿   rÛ   Úasarrayr«   )r%   r|   r}   rÁ   s       r   Útest_ufunc_at_multiDz!TestDUFuncAt.test_ufunc_at_multiD4  s±  € ÝŒI�a‰LŒL× Ò   AÑ&Ô&ˆÝŒH�o�o�o   ¸¸¸ÐHÑIÔIˆØ—’�"œ&Ñ!Ô!ˆØˆˆq•5˜‘;”;¥¤
¨9¨9¨9Ñ 5Ô 5Ð6¸Ñ:Ô:Ð:Ø×Ò ¥2¤8Øˆ]ˆ]˜M˜M˜M¨=¨=¨=Ð9ñ$;ô $;ñ 	<ô 	<ð 	<õ ŒI�b‰MŒM×!Ò! ! Q¨Ñ*Ô*ˆÝŒH�_�_�_Ñ%Ô%ˆØˆˆq•5˜‘;”;¥ d¡¤­R¬Z¸	¸	¸	Ñ-BÔ-BÐCÀQÑGÔGÐGØ×Ò ¥2¤8Ø"/ - -Ø"/ - -Ø"/ - -ð"1ð #0 - -Ø"0 . .Ø"0 . .ð"2ð #1 . .Ø"0 . .Ø"0 . .ð"2ð
!3ñ$4ô $4ñ 	5ô 	5ð 	5õ ŒI�a‰LŒL× Ò   AÑ&Ô&ˆÝŒH�o�o�o   ¸¸¸ÐHÑIÔIˆØˆˆq•2”:˜i˜i˜iÑ(Ô(­%°©+¬+Ð6¸Ñ:Ô:Ð:Ø×Ò ¥2¤:ØˆYˆY˜˜˜¨¨¨Ð9ñ$;ô $;ñ 	<ô 	<ð 	<õ ŒI�b‰MŒM×!Ò! ! Q¨Ñ*Ô*ˆÝŒH�_�_�_Ñ%Ô%ˆØˆˆq•5˜‘;”;¥¤
¨9¨9¨9Ñ 5Ô 5µu¸T±{´{ÐCÀQÑGÔGÐGØ×Ò ¥2¤:Ø"- + +Ø"1 / /Ø"1 / /ð"3ð #/ , ,Ø"1 / /Ø"1 / /ð"3ð #/ , ,Ø"1 / /Ø"1 / /ð"3ð
!4ñ$5ô $5ñ 	6ô 	6ð 	6õ ŒI�a‰LŒL× Ò   AÑ&Ô&ˆÝŒH�_�_�_Ñ%Ô%ˆØˆˆq�1•b”j   Ñ+Ô+Ð,¨aÑ0Ô0Ð0Ø×Ò ¥2¤:Øˆ]ˆ]˜I˜I˜I y y yÐ1ñ$3ô $3ñ 	4ô 	4ð 	4õ ŒI�b‰MŒM×!Ò! ! Q¨Ñ*Ô*ˆÝŒH�_�_�_Ñ%Ô%ˆØˆˆq•2”:˜i˜i˜iÑ(Ô(¨!­U°4©[¬[Ð9¸1Ñ=Ô=Ð=Ø×Ò ¥2¤:Ø"- + +Ø"- + +Ø"- + +ð"/ð #2 / /Ø"/ - -Ø"/ - -ð"1ð #2 / /Ø"/ - -Ø"/ - -ð"1ð
!2ñ$3ô $3ñ 	4ô 	4ð 	4õ ŒI�b‰MŒM×!Ò! ! Q¨Ñ*Ô*ˆÝŒH�_�_�_Ñ%Ô%ˆØ—’�"œ&Ñ!Ô!ˆØˆˆq•5˜‘;”;¥ d¡¤­U°4©[¬[Ð9¸1Ñ=Ô=Ð=Ø×Ò ¥2¤:Ø"1 / /Ø"1 / /Ø"1 / /ð"3ð #2 / /Ø"1 / /Ø"1 / /ð"3ð #2 / /Ø"1 / /Ø"1 / /ð"3ð
!4ñ$5ô $5ñ 	6ô 	6ð 	6ð 	6ð 	6r   c                 ój  — t          j        d¦  «        }|                      t           j        ¦  «        } ||dd¦  «         |                      |t          j        d¦  «        ¦  «         |                      t          ¦  «        5   ||dd¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d¦  «        } ||dd¦  «         |                      |t          j        g d¢¦  «        ¦  «         |                      t          ¦  «        5   ||g d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r)   r¹   )r)   r)   r+   )	r2   r‹   r¤   r¿   r«   r/   r   r½   r0   )r%   r|   rÁ   r}   s       r   Útest_ufunc_at_0DzTestDUFuncAt.test_ufunc_at_0D‰  s   € ÝŒH�Q‰KŒKˆØ—’�"œ&Ñ!Ô!ˆØˆˆq�"�aÑÔÐØ×Ò ¥2¤8¨A¡;¤;Ñ/Ô/Ð/à×Ò�{Ñ+Ô+ð 	ð 	ØˆF�1�a˜‰OŒOˆOð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ ŒI�a‰LŒLˆØˆˆq�!�Q‰ŒˆØ×Ò ¥2¤8¨I¨I¨IÑ#6Ô#6Ñ7Ô7Ð7ð ×Ò�zÑ*Ô*ð 	ð 	ØˆF�1�b˜!ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s$   ÂBÂB!Â$B!ÄD(Ä(D,Ä/D,c                 óÞ   — t          j        d¦  «        }|                      t           j        ¦  «        } ||g d¢d¦  «         |                      |t          j        g d¢¦  «        ¦  «         d S )Nr*   )r)   r+   r¹   r+   g      @)
r   r)   i>  é.   rÉ   rA   rÇ   r  r  ró   )r2   r½   r¤   Úpowerr«   r‹   )r%   r|   Úpower_ats      r   Útest_ufunc_at_dtypesz!TestDUFuncAt.test_ufunc_at_dtypes›  sg   € åŒI�b‰MŒMˆØ—8’8�BœHÑ%Ô%ˆØˆ��L�L�L #Ñ&Ô&Ð&Ø×Ò ¥2¤8Ð,NÐ,NÐ,NÑ#OÔ#OÑPÔPÐPÐPÐPr   c                 óð   — t          j        d¦  «        }|dz  dk    }|                      t           j        ¦  «        } |||g d¢¦  «         |                      |t          j        g d¢¦  «        ¦  «         d S )Nr*   r+   r   )r   r+   rÉ   rÇ   r  )
r)   r)   r)   r¹   r)   rA   r)   r  r)   ró   )r2   r½   r¤   Úequalr«   r‹   )r%   r|   rë   Úequal_ats       r   Útest_ufunc_at_booleanz"TestDUFuncAt.test_ufunc_at_boolean¢  st   € åŒI�b‰MŒMˆØ�A‘˜’
ˆØ—8’8�BœHÑ%Ô%ˆàˆ��E˜?˜?˜?Ñ+Ô+Ð+Ø×Ò ¥2¤8Ð,JÐ,JÐ,JÑ#KÔ#KÑLÔLÐLÐLÐLr   c                 óø   — t          j        dd¬¦  «        }|                      t           j        ¦  «        } ||g d¢¦  «         |                      |t          j        g d¢t           j        ¬¦  «        ¦  «         d S )Nr*   Úu4r°   r¸   )
r   r)   r+   r¹   rÉ   l   úÿ rÇ   r  r  ró   )r2   r½   r¤   Úinvertr«   r‹   Úuint32)r%   r|   Ú	invert_ats      r   Útest_ufunc_at_boolean2z#TestDUFuncAt.test_ufunc_at_boolean2«  s’   € åŒI�b Ð%Ñ%Ô%ˆØ—H’H�RœYÑ'Ô'ˆ	Øˆ	�!�Y�Y�YÑÔÐØ×Ò ¥2¤8ð -6ð -6ð -6Ý=?¼Yð$Hñ $Hô $Hñ 	Iô 	Ið 	Ið 	Ið 	Ir   c                 ó
  — t          j        d¦  «        }|d d …d f         d d …dd…f         }|                      t           j        ¦  «        } ||ddgd¦  «         |                      |t          j        d¦  «        ¦  «         d S )NrÉ   r   r)   r¹   )r2   r½   r¤   r¿   r«   )r%   Úorigr|   rÁ   s       r   Útest_ufunc_at_advancedz#TestDUFuncAt.test_ufunc_at_advanced³  s€   € åŒy˜‰|Œ|ˆØ����D�ŒM˜!˜!˜!˜Q˜q˜S˜&Ô!ˆØ—’�"œ&Ñ!Ô!ˆØˆˆq�1�a�&˜!ÑÔÐØ×Ò ¥b¤i°¡l¤lÑ3Ô3Ð3Ð3Ð3r   c                 óz  — t          j        g d¢t          j        d¦  «                             ¦   «         ¦  «        }t          j        g d¢t          j        d¦  «                             ¦   «         ¦  «        }|                      t           j        ¦  «        } |||d¦  «         |                      |g d¢¦  «         d S )Nrö   Úi©r)   r+   r¹   rÉ   Úfr¹   )r)   r  rÇ   rÉ   )r2   r‹   r“   Únewbyteorderr¤   r¿   r«   )r%   rë   rê   rÁ   s       r   Útest_ufunc_at_advanced_2z%TestDUFuncAt.test_ufunc_at_advanced_2»  s�   € õ ”˜˜˜¥B¤H¨S¡M¤M×$>Ò$>Ñ$@Ô$@ÑAÔAˆÝ”˜,˜,˜,­¬°©¬×(BÒ(BÑ(DÔ(DÑEÔEˆØ—’�"œ&Ñ!Ô!ˆØˆˆv�u˜aÑ Ô Ð Ø×Ò ¨¨¨Ñ5Ô5Ð5Ð5Ð5r   c                 ób  — t          j        ddgt          ¬¦  «        }|                      t           j        ¦  «        }|                      t          ¦  «        5   ||ddgd¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |t          j        ddgt          ¬¦  «        ¦  «         d S )Nr|   r)   r°   r   )r2   r‹   Úobjectr¤   r¿   r/   r   r«   )r%   rê   rÁ   s      r   Útest_ufunc_at_advanced_3z%TestDUFuncAt.test_ufunc_at_advanced_3Ä  sÝ   € å”˜3 ˜(­&Ð1Ñ1Ô1ˆØ—’�"œ&Ñ!Ô!ˆØ×Ò�{Ñ+Ô+ð 	&ð 	&ØˆF�6˜A˜q˜6 1Ñ%Ô%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&à×Ò ­¬°#°q°ÅÐ(HÑ(HÔ(HÑIÔIÐIÐIÐIs   ÁA3Á3A7Á:A7c                 óè   — |                       t          j        ¦  «        }|                      t          ¦  «        5   |t          j        d¦  «        dg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr*   r)   )r¤   r2   Úmodfr/   r   r½   )r%   Úmodf_ats     r   Útest_ufunc_at_advanced_4z%TestDUFuncAt.test_ufunc_at_advanced_4Ì  s©   € à—(’(�2œ7Ñ#Ô#ˆà×Ò�{Ñ+Ô+ð 	(ð 	(ØˆG•B”I˜b‘M”M A 3Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(s   º A'Á'A+Á.A+c                 óà   — |                       t          j        ¦  «        }t          j        g d¢¦  «        } ||dgd¦  «         |                      |t          j        g d¢¦  «        ¦  «         d S )Nr¼   r   )r¤   r2   Úmaximumr‹   r«   )r%   Ú
maximum_atr|   s      r   Útest_ufunc_at_advanced_5z%TestDUFuncAt.test_ufunc_at_advanced_5Ó  sh   € à—X’X�bœjÑ)Ô)ˆ
ÝŒH�Y�Y�YÑÔˆØˆ
�1�q�c˜1ÑÔÐØ×Ò ¥2¤8¨I¨I¨IÑ#6Ô#6Ñ7Ô7Ð7Ð7Ð7r   c                 óx  — t           j        d         t           j        d         z   }t           j        t           j        t           j        t           j        t           j        f}|D �]W}|dv rŒ	 t          t          j        |¦  «        ¦  «         n# t          $ r Y Œ7w xY w|D �]}t          j
        dd¦  «                             |¦  «        }t          j        g d¢¦  «                             t           j        ¦  «        }t          j        g d¢|j        ¬¦  «        }|                     ¦   «         }t          ||¦  «        D ]\  }	}
 |||	         |
¦  «        ||	<   Œ|                      |¦  «        } ||||¦  «         t           j                             ||¦  «         t          j        |g d¢k    ¦  «        sJ ‚�Œ�ŒYd S )	NÚ
AllIntegerÚFloat)Úer   r*   )rÊ   r)   rÊ   r+   )r)   rA   r+   r*   r°   )r2   rË   r¿   rÌ   ÚdivideÚminimumrS  r   r“   r   r½   Úastyper‹   rÐ   rª   Úzipr¤   rC   rD   rá   )r%   ÚdtypesrÔ   r“   r~   r|   ÚindxsÚvalsr¬   rF  ÚvrØ   s               r   Útest_ufunc_at_negative_indexesz+TestDUFuncAt.test_ufunc_at_negative_indexesÚ  s«  € Ý”˜lÔ+­b¬l¸7Ô.CÑCˆÝ”&�"œ+¥r¤yµ"´*½b¼jÐIˆàð 	7ñ 	7ˆEà˜ˆˆØðÝ�2œ8 E™?œ?Ñ+Ô+Ð+Ð+øÝ+ð ð ð Ø�ðøøøð  ð 7ñ 7�Ý”I˜a Ñ$Ô$×+Ò+¨EÑ2Ô2�Ýœ   Ñ0Ô0×7Ò7½¼Ñ@Ô@�Ý”x   °Q´WÐ=Ñ=Ô=�àŸ6š6™8œ8�Ý  tÑ,Ô,ð 8ð 8‘D�A�qØ"' %¨°¬°QÑ"7Ô"7�H˜Q‘K�KàŸ8š8 E™?œ?�Ø�˜˜E 4Ñ(Ô(Ð(Ý”
×-Ò-¨a°Ñ:Ô:Ð:Ý”v˜e ~ ~ ~Ò5Ñ6Ô6Ð6Ð6Ð6Ñ6ñ7ð	7ð 	7s   Á*!BÂ
BÂBc                 ó  — t          j        d¦  «        }t          j        d¦  «        }|                      t           j        ¦  «        }d}|                      t
          |¦  «        5   ||dg|¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)r+   r+   r+   )r)   r+   r+   z1does not support ufunc with non-trivial signaturer   )r2   rÎ   r¤   ÚmatmulrÀ   r   )r%   r|   r}   Ú	matmul_atrÃ   s        r   Ú test_ufunc_at_not_none_signaturez-TestDUFuncAt.test_ufunc_at_not_none_signatureö  sÊ   € õ ŒG�IÑÔˆÝŒG�IÑÔˆà—H’H�RœYÑ'Ô'ˆ	ØEˆØ×#Ò#¥K°Ñ9Ô9ð 	!ð 	!ØˆI�a˜!˜˜aÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	!ð 	!s   Á%BÂBÂBc                 ó  — t          j        dt          ¬¦  «        }|                      t           j        ¦  «        }|                      t          ¦  «        5   ||ddgddg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr*   r°   r   r)   )r2   rÎ   Ústrr¤   r¿   r/   r   rÜ   s      r   Útest_ufunc_at_no_loop_for_opz)TestDUFuncAt.test_ufunc_at_no_loop_for_op  s½   € åŒg�b¥Ð$Ñ$Ô$ˆØ—’�"œ&Ñ!Ô!ˆà×Ò�{Ñ+Ô+ð 	(ð 	(ØˆF�3˜˜A˜  A Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(s   ÁA4Á4A8Á;A8c                 ó¨   — t          j        dg¦  «        }|                      t           j        ¦  «        } ||dgdg¦  «         |d         dk    sJ ‚d S )NrÊ   r   )r2   r‹   r¤   r9  )r%   rÝ   r:  s      r   Útest_ufunc_at_output_castingz)TestDUFuncAt.test_ufunc_at_output_casting  sQ   € ÝŒh˜�t‰nŒnˆØ—8’8�BœHÑ%Ô%ˆØˆ��q�c˜A˜3ÑÔÐØ�1Œv˜Š{ˆ{ˆ{ˆ{ˆ{ˆ{r   c                 óú   — t          j        d¦  «        }|                      t           j        ¦  «        }d}|                      t
          |¦  «        5   ||ddgg d¢¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrA   z=operands could not be broadcast together with remapped shapesr   r)   r¼   )r2   r½   r¤   r¿   rÀ   r0   )r%   rÝ   rÁ   Úmsgs       r   Útest_ufunc_at_broadcast_failurez,TestDUFuncAt.test_ufunc_at_broadcast_failure  sÀ   € ÝŒi˜‰lŒlˆØ—’�"œ&Ñ!Ô!ˆð NˆØ×#Ò#¥J°Ñ4Ô4ð 	+ð 	+ØˆF�3˜˜A˜ 	 	 	Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+s   ÁA0Á0A4Á7A4c                 ó  — t          j        d¦  «        }t          d„ ¦   «         }|                      t	          |j        ¦  «        d¦  «         |                     |ddg¦  «         |                      t	          |j        ¦  «        d¦  «         d S )NrA   c                 ó   — | dz   S )Nr)   r   )Úxs    r   Úincz/TestDUFuncAt.test_ufunc_at_dynamic.<locals>.inc  s   € à�q‘5ˆLr   r   r)   r¹   )r2   r½   r   r8   r]   r[   rx   ÚassertGreater)r%   rÝ   rr  s      r   Útest_ufunc_at_dynamicz"TestDUFuncAt.test_ufunc_at_dynamic  s†   € ÝŒi˜‰lŒlˆå	ð	ð 	ñ 
Œð	ð 	×Ò�˜SœY™œ¨Ñ+Ô+Ð+ð 	�Šˆs�Q˜�FÑÔÐà×Ò�3˜sœy™>œ>¨1Ñ-Ô-Ð-Ð-Ð-r   c                 óº  — t          j        d¦  «        }|                      t           j        ¦  «        }t	          j        d¬¦  «        5 }t	          j        dt          ¦  «          ||ddgd¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |¦  «        d¦  «         |  
                    dt          |d         j        ¦  «        ¦  «         d S )	NrA   T)ÚrecordÚalwaysr   r¹   r*   z ufunc.at feature is experimental)r2   r½   r¤   r¿   ÚwarningsÚcatch_warningsÚsimplefilterr	   rs  r]   ÚassertInrh  Úmessage)r%   rÝ   rÁ   Úws       r   Ú"test_ufunc_at_experimental_warningz/TestDUFuncAt.test_ufunc_at_experimental_warning)  sû   € ÝŒi˜‰lŒlˆØ—’�"œ&Ñ!Ô!ˆåÔ$¨DÐ1Ñ1Ô1ð 	$°QÝÔ! (Õ,KÑLÔLÐLàˆF�3˜˜A˜ Ñ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð
 	×Ò�3˜q™6œ6 1Ñ%Ô%Ð%Ø�ŠÐ8½#¸aÀ¼d¼lÑ:KÔ:KÑLÔLÐLÐLÐLs   Á	*A?Á?BÂBN)rp   rq   rr   r®   rÄ   rÙ   rÞ   râ   rç   rì   rñ   r0  r2  r7  r;  rA  rD  ÚunittestÚexpectedFailurerJ  rM  rQ  rU  rb  rf  ri  rk  rn  rt  r~  r   r   r   r¨   r¨   À   sÄ  € € € € € ð/ð /ð /ð"5ð "5ð "5ðH-ð -ð -ð44ð 4ð 4ð3ð 3ð 3ð
ð 
ð 
ð%ð %ð %ðMð Mð MðS6ð S6ð S6ðjð ð ð$Qð Qð QðMð Mð MðIð Ið Ið4ð 4ð 4ð Ôð6ð 6ñ Ôð6ðJð Jð Jð(ð (ð (ð8ð 8ð 8ð7ð 7ð 7ð8 Ôð!ð !ñ Ôð!ð(ð (ð (ðð ð ð+ð +ð +ð.ð .ð .ð
Mð 
Mð 
Mð 
Mð 
Mr   r¨   c                   ór   — e Zd Zd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S )ÚTestDUFuncReduceNumPyTestsNc                 ó¸   ‡‡— ‰j         dk    r t          |¬¦  «        ˆfd„¦  «        Šn t          |¬¦  «        ˆfd„¦  «        Št          dˆfd„	¦   «         }|S )Nr+   ry   c                 ó   •—  ‰| |¦  «        S r   r   r{   s     €r   r   z:TestDUFuncReduceNumPyTests._generate_jit.<locals>.<lambda><  r�   r   c                 ó   •—  ‰| ¦  «        S r   r   r‚   s    €r   r   z:TestDUFuncReduceNumPyTests._generate_jit.<locals>.<lambda>>  s   ø€ ¸¸¸q¹¼€ r   r   c                 ó4   •— ‰                      | ||¬¦  «        S r…   r‰   rŠ   s      €r   rh   z4TestDUFuncReduceNumPyTests._generate_jit.<locals>.fn@  s   ø€ à—:’:˜e¨$¸�:Ñ@Ô@Ð@r   rš   )rW   r   r   )r%   r~   r\   rh   rŒ   s    `  @r   rœ   z(TestDUFuncReduceNumPyTests._generate_jit:  sŒ   øø€ ØŒ9˜Š>ˆ>Ø.•) XÐ.Ñ.Ô.Ð/GÐ/GÐ/GÐ/GÑHÔHˆCˆCà.•) XÐ.Ñ.Ô.Ð/AÐ/AÐ/AÐ/AÑBÔBˆCå	ð	Að 	Að 	Að 	Að 	Añ 
Œð	Aàˆ	r   c                 óÄ   — |                       t          j        ¦  «        }t          j                             d¦  «        } |d¦  «        }|                      ||¦  «         d S )Nr¹   )rœ   r2   r5  rv   r«   )r%   Úpower_reducer¬   r­   s       r   Útest_numpy_scalar_reductionz6TestDUFuncReduceNumPyTests.test_numpy_scalar_reductionE  sU   € ð ×)Ò)­"¬(Ñ3Ô3ˆÝ”8—?’? 1Ñ%Ô%ˆØˆl˜1‰oŒoˆØ×Ò ¨#Ñ.Ô.Ð.Ð.Ð.r   c                 ó|  — d„ }|                       t          j        d¬¦  «        }d|d<   d|d<    | ||d ¬¦  «        d¦  «          | ||d	¬¦  «        g d
¢¦  «          | ||d¬¦  «        g d¢¦  «          | ||d¬¦  «        ddg¦  «          | ||d¬¦  «        g d
¢g d¢g d¢g¦  «          | ||d¬¦  «        g d¢g d
¢g¦  «          | ||d¬¦  «        g d¢g d¢g¦  «          | ||d¬¦  «        |¦  «         d|d<   d|d<    | ||d ¬¦  «        d¦  «          | ||d	¬¦  «        g d
¢¦  «          | ||d¬¦  «        g d¢¦  «          | ||d¬¦  «        ddg¦  «          | ||d¬¦  «        g d¢g d
¢g d¢g¦  «          | ||d¬¦  «        g d
¢g d¢g¦  «          | ||d¬¦  «        g d¢g d¢g¦  «          | ||d¬¦  «        |¦  «         d|d<   d|d<    | ||d ¬¦  «        d¦  «          | ||d	¬¦  «        g d¢¦  «          | ||d¬¦  «        g d¢¦  «          | ||d¬¦  «        ddg¦  «          | ||d¬¦  «        g d¢g d¢g d¢g¦  «          | ||d¬¦  «        g d¢g d¢g¦  «          | ||d¬¦  «        g d¢g d¢g¦  «          | ||d¬¦  «        |¦  «         d S )Nc                 óF   — t           j                             | |¦  «         d S r   )r2   rC   Úassert_equal)r|   r}   s     r   Úcompare_outputzOTestDUFuncReduceNumPyTests.check_identityless_reduction.<locals>.compare_outputN  s"   € õ ŒJ×#Ò# A qÑ)Ô)Ð)Ð)Ð)r   Úreorderablery   r)   .r   )r)   r   r   ©r‡   ©r   r)   )r   r)   r)   r)   ©r   r+   )r   r)   r)   ©r)   r+   )r)   r)   r)   r)   r+   )r)   r)   r)   r   ©r   r)   r   )r)   r   r)   )r   r   r)   )r)   r   r)   r)   )rœ   r2   r[  )r%   r|   r�  Úminimum_reduces       r   Úcheck_identityless_reductionz7TestDUFuncReduceNumPyTests.check_identityless_reductionM  sv  € ð	*ð 	*ð 	*ð ×+Ò+­B¬JÀÐ+ÑOÔOˆð
 ˆˆ#‰Øˆˆ'‰
Øˆ�~�~ a¨dÐ3Ñ3Ô3°QÑ7Ô7Ð7Øˆ�~�~ a¨fÐ5Ñ5Ô5°|°|°|ÑDÔDÐDØˆ�~�~ a¨fÐ5Ñ5Ô5°y°y°yÑAÔAÐAØˆ�~�~ a¨fÐ5Ñ5Ô5¸¸1°vÑ>Ô>Ð>Øˆ�~�~ a¨aÐ0Ñ0Ô0Ø$˜˜ l l l°L°L°LÐAñ	Cô 	Cð 	Càˆ�~�~ a¨aÐ0Ñ0Ô0Ø$˜˜ l l lÐ3ñ	5ô 	5ð 	5àˆ�~�~ a¨aÐ0Ñ0Ô0Ø!˜	˜	 9 9 9Ð-ñ	/ô 	/ð 	/àˆ�~�~ a¨bÐ1Ñ1Ô1°1Ñ5Ô5Ð5àˆˆ#‰Øˆˆ'‰
Øˆ�~�~ a¨dÐ3Ñ3Ô3°QÑ7Ô7Ð7Øˆ�~�~ a¨fÐ5Ñ5Ô5°|°|°|ÑDÔDÐDØˆ�~�~ a¨fÐ5Ñ5Ô5°y°y°yÑAÔAÐAØˆ�~�~ a¨fÐ5Ñ5Ô5¸¸1°vÑ>Ô>Ð>Øˆ�~�~ a¨aÐ0Ñ0Ô0Ø$˜˜ l l l°L°L°LÐAñ	Cô 	Cð 	Càˆ�~�~ a¨aÐ0Ñ0Ô0Ø$˜˜ l l lÐ3ñ	5ô 	5ð 	5àˆ�~�~ a¨aÐ0Ñ0Ô0Ø!˜	˜	 9 9 9Ð-ñ	/ô 	/ð 	/àˆ�~�~ a¨bÐ1Ñ1Ô1°1Ñ5Ô5Ð5àˆˆ#‰Øˆˆ'‰
Øˆ�~�~ a¨dÐ3Ñ3Ô3°QÑ7Ô7Ð7Øˆ�~�~ a¨fÐ5Ñ5Ô5°|°|°|ÑDÔDÐDØˆ�~�~ a¨fÐ5Ñ5Ô5°y°y°yÑAÔAÐAØˆ�~�~ a¨fÐ5Ñ5Ô5¸¸1°vÑ>Ô>Ð>Øˆ�~�~ a¨aÐ0Ñ0Ô0Ø$˜˜ l l l°L°L°LÐAñ	Cô 	Cð 	Càˆ�~�~ a¨aÐ0Ñ0Ô0Ø$˜˜ l l lÐ3ñ	5ô 	5ð 	5àˆ�~�~ a¨aÐ0Ñ0Ô0Ø!˜	˜	 9 9 9Ð-ñ	/ô 	/ð 	/àˆ�~�~ a¨bÐ1Ñ1Ô1°1Ñ5Ô5Ð5Ð5Ð5r   c                 ó\   — t          j        dd¬¦  «        }|                      |¦  «         d S )N©r+   r¹   rÉ   ÚC©Úorder©r2   Úemptyr•  ©r%   r|   s     r   Ú(test_numpy_identityless_reduction_corderzCTestDUFuncReduceNumPyTests.test_numpy_identityless_reduction_corder„  ó0   € ÝŒH�Y cÐ*Ñ*Ô*ˆØ×)Ò)¨!Ñ,Ô,Ð,Ð,Ð,r   c                 ó\   — t          j        dd¬¦  «        }|                      |¦  «         d S )Nr—  ÚFr™  r›  r�  s     r   Ú(test_numpy_identityless_reduction_forderzCTestDUFuncReduceNumPyTests.test_numpy_identityless_reduction_forderˆ  rŸ  r   c                 ó„   — t          j        dd¬¦  «                             dd¦  «        }|                      |¦  «         d S )N)r+   rÉ   r¹   r˜  r™  r)   r+   ©r2   rœ  Úswapaxesr•  r�  s     r   Ú,test_numpy_identityless_reduction_otherorderzGTestDUFuncReduceNumPyTests.test_numpy_identityless_reduction_otherorderŒ  s@   € ÝŒH�Y cÐ*Ñ*Ô*×3Ò3°A°qÑ9Ô9ˆØ×)Ò)¨!Ñ,Ô,Ð,Ð,Ð,r   c                 ó¦   — t          j        dd¬¦  «                             dd¦  «        }|dd …dd …dd …f         }|                      |¦  «         d S )N)r¹   rA   rÉ   r˜  r™  r)   r+   r¤  r�  s     r   Ú+test_numpy_identityless_reduction_noncontigzFTestDUFuncReduceNumPyTests.test_numpy_identityless_reduction_noncontig�  s[   € ÝŒH�Y cÐ*Ñ*Ô*×3Ò3°A°qÑ9Ô9ˆØˆaˆbˆb�!�"�"�a�b�bˆjŒMˆØ×)Ò)¨!Ñ,Ô,Ð,Ð,Ð,r   c                 óä   — t          j        dd¬¦  «        }|dd …                              d¬¦  «        }|                     d¦  «        }|dd …dd …dd …f         }|                      |¦  «         d S )N)iá  Úi1r°   r)   Úf8r  )r2   rœ  ÚviewrE   r•  r�  s     r   Ú5test_numpy_identityless_reduction_noncontig_unalignedzPTestDUFuncReduceNumPyTests.test_numpy_identityless_reduction_noncontig_unaligned•  sx   € ÝŒHÐ)°Ð6Ñ6Ô6ˆØˆaˆbˆbŒE�JŠJ˜TˆJÑ"Ô"ˆØ�IŠI�iÑ Ô ˆØˆaˆbˆb�!�"�"�a�b�bˆjŒMˆØ×)Ò)¨!Ñ,Ô,Ð,Ð,Ð,r   c                 óœ  — |                       t          j        ¦  «        }|                       t          j        ¦  «        }|                       t          j        ¦  «        }|                       |t          j        g ¦  «        d¬¦  «        d¦  «         |                       |t          j        g ¦  «        t          j        ¬¦  «        t          j        ¦  «         |                       |t          j        g ¦  «        t          j         ¬¦  «        t          j         ¦  «         |                       |t          j        dg¦  «        d¬¦  «        d¦  «         |                       |t          j        dg¦  «        d¬¦  «        d¦  «         |                       |t          j        dg¦  «        d¬¦  «        d¦  «         |                       |t          j        dg¦  «        d¬¦  «        d¦  «         d}||fD ]T}|                      t          |¦  «        5   |t          j        g ¦  «        d ¬¦  «         d d d ¦  «         n# 1 swxY w Y   ŒUd S )Nr   ©rˆ   g        rA   rÉ   ú&zero-size array to reduction operation)
rœ   r2   r¿   r[  rS  r«   r/  ÚinfrÀ   r0   )r%   Ú
add_reduceÚ
min_reduceÚ
max_reducerm  Úfuncs         r   Útest_numpy_initial_reductionz7TestDUFuncReduceNumPyTests.test_numpy_initial_reductionœ  sR  € à×'Ò'­¬Ñ/Ô/ˆ
Ø×'Ò'­¬
Ñ3Ô3ˆ
Ø×'Ò'­¬
Ñ3Ô3ˆ
ð 	×Ò 
 
­2¬:°b©>¬>À1Ð EÑ EÔ EÀsÑKÔKÐKð 	×Ò 
 
­2¬:°b©>¬>Å2Ä6Ð JÑ JÔ JÝ "¤ñ	(ô 	(ð 	(à×Ò 
 
­2¬:°b©>¬>ÅBÄFÀ7Ð KÑ KÔ KÝ!#¤ ñ	)ô 	)ð 	)ð 	×Ò 
 
­2¬:°q°c©?¬?ÀAÐ FÑ FÔ FÈÑJÔJÐJØ×Ò 
 
­2¬:°q°c©?¬?ÀAÐ FÑ FÔ FÈÑJÔJÐJØ×Ò 
 
­2¬:°q°c©?¬?ÀAÐ FÑ FÔ FÈÑJÔJÐJØ×Ò 
 
­2¬:°q°c©?¬?ÀAÐ FÑ FÔ FÈÑJÔJÐJð 7ˆØ Ð,ð 	3ð 	3ˆDØ×'Ò'­
°CÑ8Ô8ð 3ð 3Ø�•R”Z ‘^”^¨TÐ2Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3øð	3ð 	3s   È I É I	ÉI	c                 óâ  — t          j        d¦  «        }|                      t           j        ¦  «        }t           j                             |d¬¦  «        } ||d¬¦  «        }|                      ||¦  «         |                      |j        d¦  «         d}|                      t          |¦  «        5   ||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d¦  «        }|                      t          |¦  «        5   ||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t           j                             |dd¬¦  «        } ||dd¬¦  «        }|                      ||¦  «         d S )	N)r   rA   r)   r�  )r   r°  r   )r   r   rA   r†   )	r2   rB   rœ   Útrue_dividerv   r«   ÚshaperÀ   r0   )r%   rÝ   Útrue_divide_reducer¬   r­   rm  s         r   Ú'test_numpy_empty_reduction_and_identityzBTestDUFuncReduceNumPyTests.test_numpy_empty_reduction_and_identity¹  sñ  € ÝŒh�vÑÔˆØ!×/Ò/µ´Ñ?Ô?Ðõ ”>×(Ò(¨°1Ð(Ñ5Ô5ˆØ Ð  ¨1Ð-Ñ-Ô-ˆØ×Ò ¨#Ñ.Ô.Ð.Ø×Ò ¤	¨4Ñ0Ô0Ð0ð 7ˆØ×#Ò#¥J°Ñ4Ô4ð 	,ð 	,ØÐ˜s¨Ð+Ñ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,õ Œh�yÑ!Ô!ˆØ×#Ò#¥J°Ñ4Ô4ð 	,ð 	,ØÐ˜s¨Ð+Ñ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,õ ”>×(Ò(¨°1¸aÐ(Ñ@Ô@ˆØ Ð  ¨1°aÐ8Ñ8Ô8ˆØ×Ò ¨#Ñ.Ô.Ð.Ð.Ð.s$   Â0C
Ã
CÃCÄDÄD"Ä%D"c                 óš  — t          j        g d¢g d¢g¦  «        }|                      t           j        ¦  «        } ||d¬¦  «        }|                      |t          j        g d¢¦  «        ¦  «          ||d¬¦  «        }|                      |t          j        ddg¦  «        ¦  «          ||d	¬¦  «        }|                      ||¦  «         d S )
N)ç       @rS   rS   )rR   g      à?g      Ð?r   r�  )r½  g      @r½  r)   rS   r½  r   )r2   r‹   rœ   rZ  r«   r/  )r%   r|   Údivide_reduceÚress       r   Ú*test_identityless_reduction_nonreorderablezETestDUFuncReduceNumPyTests.test_identityless_reduction_nonreorderableÒ  sÖ   € ÝŒH�o�o�oÐ'7Ð'7Ð'7Ð8Ñ9Ô9ˆà×*Ò*­2¬9Ñ5Ô5ˆØˆm˜A AÐ&Ñ&Ô&ˆØ×Ò ¥R¤Z°°°Ñ%@Ô%@ÑAÔAÐAàˆm˜A AÐ&Ñ&Ô&ˆØ×Ò ¥R¤Z°°c°
Ñ%;Ô%;Ñ<Ô<Ð<àˆm˜A BÐ'Ñ'Ô'ˆØ×Ò  QÑ'Ô'Ð'Ð'Ð'r   c                 ó²  ‡ — d„ }ˆ fd„}d„ }‰                       t          j        d¬¦  «        }‰                      t          j        j        d ¦  «          |||dd¦  «          |||dd¦  «          |||dd¦  «          |||dd¦  «          ||g ¦  «          |t          j        d¦  «        d	¬
¦  «         ‰                       t          j        d¬¦  «        } |||dd¦  «          |||dd¦  «          |||dd¦  «          |||dd¦  «          |t          j        g t          j        ¬¦  «        ¦  «          |t          j        d¦  «        d	¬
¦  «         d S )Nc                 ó   —  | |i |¤Ž d S r   r   )rH  r™   Úkwargss      r   Úokz<TestDUFuncReduceNumPyTests.test_reduce_zero_axis.<locals>.okð  s   € ØˆAˆtÐ�vÐÐÐÐÐr   c                 ó~   •— ‰                      t          ¦  «        5   | |i |¤Ž d d d ¦  «         d S # 1 swxY w Y   d S r   )r/   r0   )rH  r™   rÃ  r%   s      €r   Úerrz=TestDUFuncReduceNumPyTests.test_reduce_zero_axis.<locals>.erró  s�   ø€ Ø×"Ò"¥:Ñ.Ô.ð #ð #Ø��4Ð"˜6Ð"Ð"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð #ð #s   œ	2²6¹6c                 óœ  —  | |t          j        ||f¦  «        d¬¦  «          | |t          j        ||f¦  «        d¬¦  «          | |t          j        |dz  |dz  |f¦  «        d¬¦  «          | |t          j        |dz  ||dz  f¦  «        d¬¦  «          | |t          j        ||dz  |dz  f¦  «        d¬¦  «          | |t          j        |dz  ||dz  f¦  «        d¬¦  «          | |t          j        |dz  |dz  |dz  |dz  |dz  f¦  «        d¬¦  «          | |t          j        d	||f¦  «        d
¬¦  «          | |t          j        d	||f¦  «        d¬¦  «          | |t          j        |d	|f¦  «        d¬¦  «          | |t          j        d	||f¦  «        d¬¦  «          | |t          j        d	||f¦  «        d¬¦  «         d S )Nr)   r�  r   r+   r’  r‘  r¹   r  r*   r�  )r2   rB   )Úexpectrµ  ÚnÚms       r   Útz;TestDUFuncReduceNumPyTests.test_reduce_zero_axis.<locals>.t÷  s+  € ØˆF�4�œ 1 a &Ñ)Ô)°Ð2Ñ2Ô2Ð2ØˆF�4�œ 1 a &Ñ)Ô)°Ð2Ñ2Ô2Ð2ØˆF�4�œ 1¨¡6¨1°©6°1Ð"5Ñ6Ô6¸QÐ?Ñ?Ô?Ð?ØˆF�4�œ 1¨¡6¨1¨a°1©fÐ"5Ñ6Ô6¸QÐ?Ñ?Ô?Ð?ØˆF�4�œ 1 a¨1¡f¨a°1©fÐ"5Ñ6Ô6¸VÐDÑDÔDÐDØˆF�4�œ 1¨¡6¨1¨a°1©fÐ"5Ñ6Ô6¸VÐDÑDÔDÐDØˆF�4�œ 1¨¡6¨1°©6°1¸±6Ø#$¨¡6¨1°©6ð#3ñ 4ô 4Ø:CðEñ Eô Eð Eð ˆF�4�œ 2 q¨! *Ñ-Ô-°FÐ;Ñ;Ô;Ð;ØˆF�4�œ 2 q¨! *Ñ-Ô-°FÐ;Ñ;Ô;Ð;ØˆF�4�œ 1 b¨! *Ñ-Ô-°AÐ6Ñ6Ô6Ð6ØˆF�4�œ 2 q¨! *Ñ-Ô-°AÐ6Ñ6Ô6Ð6ØˆF�4�œ 2 q¨! *Ñ-Ô-°AÐ6Ñ6Ô6Ð6Ð6Ð6r   rŽ  ry   é   r   ©r   r   r   r�  r°   )	rœ   r2   rS  r8   r\   rB   r¿   r‹   Úint64)r%   rÄ  rÆ  rË  Úmaximum_reducer²  s   `     r   Útest_reduce_zero_axisz0TestDUFuncReduceNumPyTests.test_reduce_zero_axisâ  s´  ø€ ð	ð 	ð 	ð	#ð 	#ð 	#ð 	#ð 	#ð	7ð 	7ð 	7ð$ ×+Ò+­B¬JÀÐ+ÑOÔOˆØ×Ò�œÔ,¨dÑ3Ô3Ð3Ø	ˆˆ"ˆn˜b "Ñ%Ô%Ð%Ø	ˆˆ"ˆn˜a Ñ$Ô$Ð$Ø	ˆˆ#ˆ~˜r 1Ñ%Ô%Ð%Ø	ˆˆ#ˆ~˜q !Ñ$Ô$Ð$ØˆˆN˜BÑÔÐØˆ•r”x Ñ'Ô'¨bÐ1Ñ1Ô1Ð1ð ×'Ò'­¬¸Ð'Ñ;Ô;ˆ
Ø	ˆˆ"ˆj˜"˜bÑ!Ô!Ð!Ø	ˆˆ"ˆj˜!˜RÑ Ô Ð Ø	ˆˆ"ˆj˜"˜aÑ Ô Ð Ø	ˆˆ"ˆj˜!˜QÑÔÐØˆ
•2”8˜B¥b¤hÐ/Ñ/Ô/Ñ0Ô0Ð0Øˆ
•2”8˜FÑ#Ô#¨"Ð-Ñ-Ô-Ð-Ð-Ð-r   r   )rp   rq   rr   rœ   r  r€  r‰  r•  rž  r¢  r¦  r¨  r­  r¶  r»  rÀ  rÐ  r   r   r   r‚  r‚  6  sÞ   € € € € € ð	ð 	ð 	ð 	ð Ôð/ð /ñ Ôð/ð56ð 56ð 56ðn-ð -ð -ð-ð -ð -ð-ð -ð -ð-ð -ð -ð
-ð -ð -ð3ð 3ð 3ð:/ð /ð /ð2(ð (ð (ð 8.ð 8.ð 8.ð 8.ð 8.r   r‚  c                   óZ   — e Zd Zdd„Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
d
„ Zd„ Zd„ Zd„ ZdS )ÚTestDUFuncReduceNc                 ó¤  ‡— t           ˆfd„¦   «         }t          j        d¦  «        t          j        d¦  «                             dd¦  «        t          j        d¦  «                             ddd¦  «        g}|D ]U}t	          |j        ¦  «        D ]>}|                     ||||¦  «        } |||||¦  «        }	|                      ||	¦  «         Œ?ŒVd S )Nc                 ó6   •— ‰                      | |||¬¦  «        S )N)r‡   r“   rˆ   r‰   )r|   r‡   r“   rˆ   r~   s       €r   Úfooz+TestDUFuncReduce._check_reduce.<locals>.foo   s)   ø€ à—<’< Ø%)Ø&+Ø(/ð  ñ 1ô 1ð 1r   rA   rÉ   r+   é(   )r   r2   r½   rE   ÚrangeÚndimÚpy_funcr«   )
r%   r~   r“   rˆ   rÕ  Úinputsr‹   r‡   r¬   r­   s
    `        r   Ú_check_reducezTestDUFuncReduce._check_reduce  sð   ø€ å	ð	1ð 	1ð 	1ð 	1ñ 
Œð	1õ ŒI�a‰LŒLÝŒI�a‰LŒL× Ò   AÑ&Ô&ÝŒI�b‰MŒM×!Ò! ! Q¨Ñ*Ô*ð
ˆð
 ð 	7ð 	7ˆEÝ˜eœjÑ)Ô)ð 7ð 7�ØŸ;š; u¨d°E¸7ÑCÔC�Ø�c˜%  u¨gÑ6Ô6�Ø×'Ò'¨°#Ñ6Ô6Ð6Ð6ð7ð	7ð 	7r   c                 ó´  ‡ ‡‡‡‡‡	‡
— t           ˆˆfd„¦   «         Š
ˆˆˆ	ˆ
ˆ fd„}d‰j        › d�Š	t          j        d|¬¦  «                             ddd	¦  «        t          j        d
|¬¦  «        g}|D ]eŠt          d‰j        dz   ¦  «        D ]9}t          j        t          ‰j        ¦  «        |¬¦  «        D ]Š |‰‰¦  «         ŒŒ:dD ]Š |‰‰¦  «         ŒŒfd S )Nc                 ó4   •— ‰                      | |‰¬¦  «        S r…   r‰   )r|   r‡   rˆ   r~   s     €€r   rÕ  z0TestDUFuncReduce._check_reduce_axis.<locals>.foo4  s   ø€ à—<’< ¨°g�<Ñ>Ô>Ð>r   c                  óv  •— 	 ‰                      ‰‰¦  «        } ‰‰‰¦  «        }‰                     ||¦  «         d S # t          $ rq}‰                     |j        d         ‰¦  «         ‰                     t          ‰¦  «        5   ‰‰‰¦  «        }d d d ¦  «         n# 1 swxY w Y   Y d }~d S Y d }~d S d }~ww xY w)Nr   )rÙ  r«   r0   r8   r™   rÀ   r   )	r™   r¬   r­   rY  r‹   r‡   Úexc_msgrÕ  r%   s	       €€€€€r   Ú_checkz3TestDUFuncReduce._check_reduce_axis.<locals>._check8  s?  ø€ ð7ØŸ;š; u¨dÑ3Ô3�ð �c˜% Ñ&Ô&�Ø×'Ò'¨°#Ñ6Ô6Ð6Ð6Ð6øõ ð +ð +ð +Ø× Ò  ¤¨¤¨GÑ4Ô4Ð4Ø×+Ò+­K¸ÑAÔAð +ð +Ø˜#˜e TÑ*Ô*�Cð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +øøøøð+øøøs9   ƒ= ½
B8Á<B3ÂBÂB3ÂB 	Â B3Â#B 	Â$B3Â3B8zreduction operation 'z:' is not reorderable, so at most one axis may be specifiedrÖ  r°   rA   rÉ   r+   r*   r)   )Úr)r   N)	r   rp   r2   r½   rE   r×  rØ  Ú	itertoolsÚcombinations)r%   r~   r“   rˆ   rà  rÚ  rF  r‹   r‡   rß  rÕ  s   `` `   @@@@r   Ú_check_reduce_axisz#TestDUFuncReduce._check_reduce_axis2  sc  øøøøøøø€ å	ð	?ð 	?ð 	?ð 	?ð 	?ñ 
Œð	?ð		7ð 		7ð 		7ð 		7ð 		7ð 		7ð 		7ð 		7ð 		7ðG¨5¬>ð Gð Gð Gˆõ ŒI�b Ð&Ñ&Ô&×.Ò.¨q°!°QÑ7Ô7ÝŒI�b Ð&Ñ&Ô&ð
ˆð ð 	$ð 	$ˆEÝ˜1˜eœj¨1™nÑ-Ô-ð (ð (�Ý%Ô2µ5¸¼Ñ3DÔ3DÈÐJÑJÔJð (ð (�DØ�F˜5 $Ñ'Ô'Ð'Ð'ð(ð #ð $ð $�Ø��u˜dÑ#Ô#Ð#Ð#ð$ð	$ð 	$r   c                 ó°   —  t          dd¬¦  «        t          ¦  «        }|                      |¦  «         |                      |t          j        ¬¦  «         d S )Núint64(int64, int64)r   ry   r°   )r   r   rÛ  rä  r2   rÎ  r4   s     r   Útest_add_reducez TestDUFuncReduce.test_add_reduceR  sT   € Ø<•	Ð/¸!Ð<Ñ<Ô<½VÑDÔDˆØ×Ò˜5Ñ!Ô!Ð!Ø×Ò ­R¬XÐÑ6Ô6Ð6Ð6Ð6r   c                 ón   —  t          dd¬¦  «        t          ¦  «        }|                      |¦  «         d S )Nræ  r)   ry   )r   r   rÛ  )r%   Údumuls     r   Útest_mul_reducez TestDUFuncReduce.test_mul_reduceW  s9   € Ø<•	Ð/¸!Ð<Ñ<Ô<½VÑDÔDˆØ×Ò˜5Ñ!Ô!Ð!Ð!Ð!r   c                 óZ  —  t          dd ¬¦  «        t          ¦  «        } t          dd ¬¦  «        t          ¦  «        }|                      |¦  «         |                      |t
          j        ¬¦  «         |                      |¦  «         |                      |t
          j        ¬¦  «         d S )Nræ  ry   r°   )r   r   r   rÛ  rä  r2   rÎ  )r%   ÚdusubÚdudivs      r   Útest_non_associative_reducez,TestDUFuncReduce.test_non_associative_reduce[  s    € Ø?•	Ð/¸$Ð?Ñ?Ô?ÅÑFÔFˆØ?•	Ð/¸$Ð?Ñ?Ô?ÅÑFÔFˆØ×Ò˜5Ñ!Ô!Ð!Ø×Ò ­R¬XÐÑ6Ô6Ð6Ø×Ò˜5Ñ!Ô!Ð!Ø×Ò ­R¬XÐÑ6Ô6Ð6Ð6Ð6r   c                 ó†   —  t          dd¬¦  «        t          ¦  «        }|                      |t          j        ¬¦  «         d S )Núfloat64(float64, int64)r   ry   r°   )r   r   rÛ  r2   rî   r4   s     r   Útest_reduce_dtypez"TestDUFuncReduce.test_reduce_dtypec  s@   € Ø@•	Ð3¸aÐ@Ñ@Ô@ÅÑHÔHˆØ×Ò˜5­¬
ÐÑ3Ô3Ð3Ð3Ð3r   c                 ó´   —  t          dd¬¦  «        t          ¦  «        }|                      |d¬¦  «         |                      |t          j        ¬¦  «         d S )Nræ  rŽ  ry   r*   r¯  r°   )r   r   rÛ  rä  r2   rÎ  )r%   Údumins     r   Útest_min_reducez TestDUFuncReduce.test_min_reduceg  sY   € ØH•	Ð/¸-ÐHÑHÔHÍÑOÔOˆØ×Ò˜5¨"ÐÑ-Ô-Ð-Ø×Ò ­R¬XÐÑ6Ô6Ð6Ð6Ð6r   c                 óˆ   —  t          dd¬¦  «        t          ¦  «        }|                      |t          j        d¬¦  «         d S )Nræ  r   ry   r»   )r“   rˆ   ©r   r   rÛ  r2   rÎ  r4   s     r   Útest_add_reduce_initialz(TestDUFuncReduce.test_add_reduce_initiall  sB   € à<•	Ð/¸!Ð<Ñ<Ô<½VÑDÔDˆØ×Ò˜5­¬¸#ÐÑ>Ô>Ð>Ð>Ð>r   c                 ó‚   —  t          d¦  «        t          ¦  «        }|                      |t          j        ¬¦  «         d S )Nræ  r°   rö  r4   s     r   Ú&test_add_reduce_no_initial_or_identityz7TestDUFuncReduce.test_add_reduce_no_initial_or_identityq  s;   € à0•	Ð/Ñ0Ô0µÑ8Ô8ˆØ×Ò˜5­¬ÐÑ1Ô1Ð1Ð1Ð1r   c                 óì   ‡—  t          dd¬¦  «        t          ¦  «        Št          ˆfd„¦   «         }d}|                      t          |¦  «        5   |d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrð  r   ry   c                 ó.   •— ‰                      | ¦  «        S r   r‰   )r|   r5   s    €r   rÕ  z0TestDUFuncReduce.test_invalid_input.<locals>.fooy  s   ø€ à—<’< ‘?”?Ð"r   z-The first argument "array" must be array-liker|   )r   r   r   rÀ   r   )r%   rÕ  rß  r5   s      @r   Útest_invalid_inputz#TestDUFuncReduce.test_invalid_inputv  sÒ   ø€ Ø@•	Ð3¸aÐ@Ñ@Ô@ÅÑHÔHˆå	ð	#ð 	#ð 	#ð 	#ñ 
Œð	#ð BˆØ×#Ò#¥K°Ñ9Ô9ð 	ð 	ØˆC�‰HŒHˆHð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ÁA)Á)A-Á0A-c                 ó:  ‡—  t          dd¬¦  «        t          ¦  «        Št          ˆfd„¦   «         }t          j        d¦  «                             ddd¦  «        }d	}|D ]:}‰                     ||¦  «        } |||¦  «        }|                      ||¦  «         Œ;d S )
Nræ  r   ry   c                 ó2   •— ‰                      | |¬¦  «        S ©Nr�  r‰   ©r|   r‡   r5   s     €r   rÕ  z7TestDUFuncReduce.test_dufunc_negative_axis.<locals>.foo„  ó   ø€ à—<’< ¨�<Ñ-Ô-Ð-r   rÖ  rA   rÉ   r+   )r   rÊ   )r   rÊ   )rÊ   éþÿÿÿ)r)   rÊ   éýÿÿÿ)r   r   r   r2   r½   rE   rv   r«   )r%   rÕ  r|   Úcasesr‡   r¬   r­   r5   s          @r   Útest_dufunc_negative_axisz*TestDUFuncReduce.test_dufunc_negative_axis�  s½   ø€ Ø<•	Ð/¸!Ð<Ñ<Ô<½VÑDÔDˆå	ð	.ð 	.ð 	.ð 	.ñ 
Œð	.õ ŒI�b‰MŒM×!Ò! ! Q¨Ñ*Ô*ˆØ7ˆØð 	3ð 	3ˆDØ—|’| A tÑ,Ô,ˆHØ�#�a˜‘,”,ˆCØ×#Ò# H¨cÑ2Ô2Ð2Ð2ð	3ð 	3r   c                 óØ  ‡—  t          dd¬¦  «        t          ¦  «        Št          ˆfd„¦   «         }t          j        d¦  «                             ddd¦  «        }d	}|D ]C}d
}|                      t          |¦  «        5   |||¦  «         d d d ¦  «         n# 1 swxY w Y   ŒDd}|D ]A}|                      t          d¦  «        5   |||¦  «         d d d ¦  «         n# 1 swxY w Y   ŒBd S )Nræ  r   ry   c                 ó2   •— ‰                      | |¬¦  «        S rÿ  r‰   r   s     €r   rÕ  z6TestDUFuncReduce.test_dufunc_invalid_axis.<locals>.foo’  r  r   rÖ  rA   rÉ   r+   )rÍ  r“  )r   r  )rÊ   rÊ   )rÊ   r+   zduplicate value in 'axis')éüÿÿÿr¹   )r   r  zInvalid axis)r   r   r   r2   r½   rE   rÀ   r0   )r%   rÕ  r|   r  r‡   rm  r5   s         @r   Útest_dufunc_invalid_axisz)TestDUFuncReduce.test_dufunc_invalid_axis�  s“  ø€ Ø<•	Ð/¸!Ð<Ñ<Ô<½VÑDÔDˆå	ð	.ð 	.ð 	.ð 	.ñ 
Œð	.õ ŒI�b‰MŒM×!Ò! ! Q¨Ñ*Ô*ˆØ?ˆØð 	ð 	ˆDØ-ˆCØ×'Ò'­
°CÑ8Ô8ð ð Ø��A�t‘”�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð øð "ˆØð 	ð 	ˆDØ×'Ò'­
°NÑCÔCð ð Ø��A�t‘”�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð øð	ð 	s$   Á?BÂB	ÂB	ÃCÃC"	Ã%C"	)NNr   )rp   rq   rr   rÛ  rä  rç  rê  rî  rñ  rô  r÷  rù  rü  r  r	  r   r   r   rÒ  rÒ    sÓ   € € € € € ð7ð 7ð 7ð 7ð($ð $ð $ð $ð@7ð 7ð 7ð
"ð "ð "ð7ð 7ð 7ð4ð 4ð 4ð7ð 7ð 7ð
?ð ?ð ?ð
2ð 2ð 2ð
	ð 	ð 	ð3ð 3ð 3ðð ð ð ð r   rÒ  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S )ÚTestDUFuncReduceAtc                 ó   — t          |d¦  «        }|                      ||¦  «        }|                     ¦   «         }|                     ¦   «         } |j        ||fi |¤Ž  |||fi |¤Ž |                      ||¦  «         d S )Nr\   )Úgetattrr¢   rª   rw   r«   )	r%   r~   r|   ÚidxrÃ  r\   rh   r¬   r­   s	            r   r®   z"TestDUFuncReduceAt._compare_output¤  s�   € Ý˜5 *Ñ-Ô-ˆØ�^Š^˜E 8Ñ,Ô,ˆØ—6’6‘8”8ˆØ�fŠf‰hŒhˆØˆŒ�x Ð/Ð/¨Ð/Ð/Ð/Ø
ˆˆ3�ÐÐ�vÐÐÐØ×Ò ¨#Ñ.Ô.Ð.Ð.Ð.r   c                 óz  — t          j        d¦  «        }t          j        g d¢¦  «        }|                      t           j        d¦  «        } ||||¬¦  «         |                      t          j        g d¢¦  «        |¦  «          ||||¬¦  «         |                      t          j        g d¢¦  «        |¦  «         d S )NrÉ   ©r   r¹   r)   r+   r   ©r”   )r¹   r¹   r¹   rÇ   )ró   rÇ   rÇ   r  )r2   r½   r/  r¢   r¿   r«   )r%   rÝ   r  r²  s       r   Útest_reduceat_out_kwz'TestDUFuncReduceAt.test_reduceat_out_kw­  s³   € ÝŒi˜‰lŒlˆÝŒj˜˜˜Ñ&Ô&ˆØ—^’^¥B¤F¨AÑ.Ô.ˆ
Øˆ
�3˜ Ð%Ñ%Ô%Ð%Ø×Ò¥¤
¨<¨<¨<Ñ 8Ô 8¸#Ñ>Ô>Ð>Øˆ
�3˜ Ð%Ñ%Ô%Ð%Ø×Ò¥¤
¨=¨=¨=Ñ 9Ô 9¸3Ñ?Ô?Ð?Ð?Ð?r   c           	      óŽ  — t          j        d¦  «                             dd¦  «        t          j        d¦  «                             ddd¦  «        t          j        d¦  «        f}t          j        g d¢¦  «        t          j        g d¢¦  «        f}d	}|D ]/}|D ]*}|D ]%}|                      t           j        |||¬
¦  «         Œ&Œ+Œ0d S )Nr  rÉ   rÖ  rA   r+   ©rÉ   rÉ   ©r   r¹   r)   r+   r   r  )r)   r   rÊ   r�  )r2   r½   rE   rÎ   r/  r®   r¿   )r%   Úarraysr’   r‡   r‹   r  Úaxs          r   Útest_reduceat_axis_kwz(TestDUFuncReduceAt.test_reduceat_axis_kw¶  sí   € õ ŒI�b‰MŒM×!Ò! ! QÑ'Ô'ÝŒI�b‰MŒM×!Ò! ! Q¨Ñ*Ô*ÝŒG�F‰OŒOð
ˆõ ŒJ���Ñ'Ô'ÝŒJ�|�|�|Ñ$Ô$ð
ˆð ˆØð 	Fð 	FˆEØð Fð F�Øð Fð F�BØ×(Ò(­¬°¸À"Ð(ÑEÔEÐEÐEðFðFð	Fð 	Fr   c                 ó>  — t          j        d¦  «        }t          j        g d¢¦  «        }|                      t           j        d¦  «        }dD ]O}d|› d|j        › �}|                      t          |¦  «        5   ||||¦  «         d d d ¦  «         n# 1 swxY w Y   ŒPd S )Nr  r  r   )r+   r  zaxis z) is out of bounds for array of dimension )r2   rÎ   r/  r¢   r¿   rØ  rÀ   r0   )r%   rÝ   r  Úadd_reduceatr  rm  s         r   Útest_reduceat_invalid_axisz-TestDUFuncReduceAt.test_reduceat_invalid_axisÇ  sò   € ÝŒg�f‰oŒoˆÝŒj˜˜˜Ñ&Ô&ˆØ—~’~¥b¤f¨aÑ0Ô0ˆàð 	+ð 	+ˆBð!˜2ð !ð !Ø”hð!ð !ˆCà×'Ò'­
°CÑ8Ô8ð +ð +Ø�˜S # rÑ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +øð	+ð 	+s   Á7BÂB	ÂB	c                 óf  — |                       t          j        d¦  «        }g d¢}g d¢}t          j                             ||¦  «        } |||¦  «        }|                      ||¦  «         d}d}t          j                             ||¦  «        } |||¦  «        }|                      ||¦  «         d S )Nr   rG  r¼   )r¢   r2   r¿   rw   r«   )r%   r  r|   r  r¬   r­   s         r   Ú test_reduceat_cast_args_to_arrayz3TestDUFuncReduceAt.test_reduceat_cast_args_to_arrayÒ  sµ   € Ø—~’~¥b¤f¨aÑ0Ô0ˆð ˆLˆLˆØˆiˆiˆÝ”6—?’? 1 cÑ*Ô*ˆØˆl˜1˜cÑ"Ô"ˆØ×Ò ¨#Ñ.Ô.Ð.ð ˆØˆÝ”6—?’? 1 cÑ*Ô*ˆØˆl˜1˜cÑ"Ô"ˆØ×Ò ¨#Ñ.Ô.Ð.Ð.Ð.r   c                 óx   — t          j        d¦  «        }g d¢}|                      t           j        ||¦  «         d S )Nr  )r   rÉ   r)   rA   r+   rÇ   r¹   r  )r2   r½   r®   r¿   ©r%   rq  r  s      r   Útest_reduceat_basicz&TestDUFuncReduceAt.test_reduceat_basicå  s:   € ÝŒI�a‰LŒLˆØ"Ð"Ð"ˆØ×Ò�RœV Q¨Ñ,Ô,Ð,Ð,Ð,r   c                 ó¤   — t          j        ddd¦  «                             dd¦  «        }g d¢}|                      t           j        ||¦  «         d S )Nr   r  r  rÉ   r  )r2   r3   rE   r®   r¿   r  s      r   Útest_reduceat_basic_2dz)TestDUFuncReduceAt.test_reduceat_basic_2dê  sN   € ÝŒK˜˜2˜rÑ"Ô"×*Ò*¨1¨aÑ0Ô0ˆØˆoˆoˆØ×Ò�RœV Q¨Ñ,Ô,Ð,Ð,Ð,r   c                 óP  — d}t          j        |¦  «        }t          j        t          t	          t          j        |dz
  ¦  «        t          j        |dz
  ¦  «        dz   ¦  «        ¦  «        ¦  «                             ¦   «         }|                      t           j        ||¦  «         d S )NrÇ   r+   )r2   r½   r‹   Úlistr]  Úravelr®   r¿   )r%   ÚLrq  r  s       r   Útest_reduceat_shifting_sumz-TestDUFuncReduceAt.test_reduceat_shifting_sumï  s‚   € ØˆÝŒI�a‰LŒLˆÝŒh•t�C¥¤	¨!¨a©%Ñ 0Ô 0µ"´)¸AÀ¹EÑ2BÔ2BÀQÑ2FÑGÔGÑHÔHÑIÔI×OÒOÑQÔQˆØ×Ò�RœV Q¨Ñ,Ô,Ð,Ð,Ð,r   c                 óŠ  — t          j        dt           j        ¬¦  «        }t          j        dt           j        ¬¦  «        }|                      t           j        |t          j        d¦  «        |¬¦  «         |                      t           j        |t          j        d¦  «        |¬¦  «         |                      ||¦  «         t          j        dt           j        ¬¦  «        }d„ t          d¦  «        D ¦   «         |dd d …f<   t          j        dt           j        ¬¦  «        }d„ t          d¦  «        D ¦   «         |dd d …f<   |                      t           j        |t          j        d¦  «        |d¬	¦  «         |                      t           j        |t          j        d¦  «        |d¬	¦  «         |                      ||¦  «         d S )
NrÉ   r°   r  )r+   rÉ   c                 ó   — g | ]}d ‘ŒS ©r+   r   ©Ú.0rF  s     r   ú
<listcomp>zOTestDUFuncReduceAt.test_reduceat_int_array_reduceat_inplace.<locals>.<listcomp>   ó   € Ð)Ð)Ð)˜1�QÐ)Ð)Ð)r   r   c                 ó   — g | ]}d ‘ŒS r*  r   r+  s     r   r-  zOTestDUFuncReduceAt.test_reduceat_int_array_reduceat_inplace.<locals>.<listcomp>  r.  r   rÊ   )r”   r‡   )r2   rÎ   rÎ  r®   r¿   r½   r«   r×  )r%   rÝ   r”   s      r   Ú(test_reduceat_int_array_reduceat_inplacez;TestDUFuncReduceAt.test_reduceat_int_array_reduceat_inplaceõ  sx  € åŒg�a�rœxÐ(Ñ(Ô(ˆÝŒg�a�rœxÐ(Ñ(Ô(ˆØ×Ò�RœV S­"¬)°A©,¬,¸CÐÑ@Ô@Ð@Ø×Ò�RœV S­"¬)°A©,¬,¸CÐÑ@Ô@Ð@Ø×Ò  SÑ)Ô)Ð)õ Œg�f¥B¤HÐ-Ñ-Ô-ˆØ)Ð)¥ a¡¤Ð)Ñ)Ô)ˆˆAˆqˆqˆqˆD‰	ÝŒg�f¥B¤HÐ-Ñ-Ô-ˆØ)Ð)¥ a¡¤Ð)Ñ)Ô)ˆˆAˆqˆqˆqˆD‰	Ø×Ò�RœV S­"¬)°A©,¬,¸CÀbÐÑIÔIÐIØ×Ò�RœV S­"¬)°A©,¬,¸CÀbÐÑIÔIÐIØ×Ò  SÑ)Ô)Ð)Ð)Ð)r   c                 óf  — |                       t          j        d¦  «        }dD ]�}t          j        d¦  «        }t          j        d¦  «        }|r|                     t          j        ¦  «        }|                      t          ¦  «        5   ||ddg|¬¦  «         d d d ¦  «         n# 1 swxY w Y   ŒŽd S )Nr   )TFrA   r¹   r  )r¢   r2   r¿   r½   r\  rî   r/   r0   )r%   r  Ú	with_castrÝ   r”   s        r   Ú test_reduceat_out_shape_mismatchz3TestDUFuncReduceAt.test_reduceat_out_shape_mismatch  sî   € ð —~’~¥b¤f¨aÑ0Ô0ˆà&ð 		3ð 		3ˆIÝ”)˜A‘,”,ˆCÝ”)˜A‘,”,ˆCØð -ð —j’j¥¤Ñ,Ô,�à×"Ò"¥:Ñ.Ô.ð 3ð 3Ø�˜S 1 a &¨cÐ2Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3øð		3ð 		3s   ÂB%Â%B)	Â,B)	c                 óR  — t          j        g d¦  «        }t          j        g d¦  «        }|                      t           j        d¦  «        }t           j                             ||¦  «        } |||¦  «        }|                      ||¦  «         |                      |j        |j        ¦  «         t          j        d¦  «        }t          j	        g t           j
        ¬¦  «        }|                      t           j        ||d¬¦  «         |                      t           j        ||d¬¦  «         dS )	z&Reduceat should work with empty arraysÚi4r«  r   )rA   r+   r°   r�  r)   N)r2   r‹   r¢   r¿   rw   r«   r8   r“   rÎ   r/  rÐ   r®   )r%   r’   rq  r  r¬   r­   r  s          r   Útest_reduceat_emptyz&TestDUFuncReduceAt.test_reduceat_empty  sø   € å”(˜2˜tÑ$Ô$ˆÝŒH�R˜ÑÔˆØ—~’~¥b¤f¨aÑ0Ô0ˆÝ”6—?’? 1 gÑ.Ô.ˆØˆl˜1˜gÑ&Ô&ˆØ×Ò ¨#Ñ.Ô.Ð.Ø×Ò˜œ¨¬Ñ3Ô3Ð3õ ŒG�F‰OŒOˆÝŒj˜¥2¤7Ð+Ñ+Ô+ˆØ×Ò�RœV Q¨°!ÐÑ4Ô4Ð4Ø×Ò�RœV Q¨°!ÐÑ4Ô4Ð4Ð4Ð4r   c                 ó>  — |                       t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «                             dd¦  «        }|                      t          d¦  «        5   |||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   rA   r*   r+   zhave at most 1 dimension)r¢   r2   r¿   r½   rE   rÀ   r   )r%   r  r|   r  s       r   Útest_reduceat_error_ndim_2z-TestDUFuncReduceAt.test_reduceat_error_ndim_2(  sÐ   € Ø—~’~¥b¤f¨aÑ0Ô0ˆõ ŒI�a‰LŒLˆÝŒi˜‰mŒm×#Ò# A qÑ)Ô)ˆØ×#Ò#¥KÐ1KÑLÔLð 	!ð 	!ØˆL˜˜CÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	!ð 	!s   Á8BÂBÂBc                 óü   ‡— t           d„ ¦   «         Št          ˆfd„¦   «         }t          j        d¦  «        }d}|                      t
          |¦  «        5   ||g d¢¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó*   — t          j        | ¦  «        S r   r²   r´   s    r   ÚnegzGTestDUFuncReduceAt.test_reduceat_error_non_binary_function.<locals>.neg3  s   € å”;˜q‘>”>Ð!r   c                 ó0   •— ‰                      | |¦  «        S r   r‘   )r|   r  r;  s     €r   Úneg_reduceatzPTestDUFuncReduceAt.test_reduceat_error_non_binary_function.<locals>.neg_reduceat7  s   ø€ à—<’<  3Ñ'Ô'Ð'r   rA   r�   r  )r   r   r2   r½   rÀ   r   )r%   r=  r|   rm  r;  s       @r   Ú'test_reduceat_error_non_binary_functionz:TestDUFuncReduceAt.test_reduceat_error_non_binary_function1  så   ø€ å	ð	"ð 	"ñ 
Œð	"õ 
ð	(ð 	(ð 	(ð 	(ñ 
Œð	(õ ŒI�a‰LŒLˆØ<ˆØ×#Ò#¥K°Ñ5Ô5ð 	'ð 	'ØˆL˜˜I˜I˜IÑ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð 	'ð 	's   ÁA1Á1A5Á8A5c                 óÀ  — |                       t          j        d¦  «        }|                      t          d¦  «        5   |dg d¢¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          d¦  «        5   |t          j        d¦  «        d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          d¦  «        5   |t          j        d¦  «        g d¢d	¬
¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          d¦  «        5   |t          j        d¦  «        g d¢d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   z"array" must be array-likeÚabcr¼   z"indices" must be array-likerA   Úabcdzoutput must be an arrayr   r  z"axis" must be an integer)r)   r�  )r¢   r2   r¿   rÀ   r   r½   )r%   r  s     r   Ú"test_reduceat_error_argument_typesz5TestDUFuncReduceAt.test_reduceat_error_argument_types@  sR  € à—~’~¥b¤f¨aÑ0Ô0ˆØ×#Ò#¥KÐ1MÑNÔNð 	+ð 	+ØˆL˜ 	 	 	Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð ×#Ò#¥KÐ1OÑPÔPð 	/ð 	/ØˆL�œ 1™œ vÑ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð ×#Ò#¥KÐ1JÑKÔKð 	:ð 	:ØˆL�œ 1™œ y y y°bÐ9Ñ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð ×#Ò#¥KÐ1LÑMÔMð 	=ð 	=ØˆL�œ 1™œ y y y°tÐ<Ñ<Ô<Ð<ð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=ð 	=ð 	=sG   ¼AÁAÁAÁ=B(Â(B,Â/B,Ã#C=Ã=DÄDÄ##EÅEÅEN)rp   rq   rr   r®   r  r  r€  r  r  r  r   r"  r'  r0  r3  r6  r8  r>  rB  r   r   r   r  r  £  sü   € € € € € ð/ð /ð /ð@ð @ð @ð ÔðFð Fñ ÔðFð 	+ð 	+ð 	+ð/ð /ð /ð&-ð -ð -ð
-ð -ð -ð
-ð -ð -ð*ð *ð *ð$3ð 3ð 3ð"5ð 5ð 5ð !ð !ð !ð'ð 'ð 'ð=ð =ð =ð =ð =r   r  c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestDUFuncPicklingc                 óX  ‡— t          j        |¦  «        }t          j        |¦  «        Š ‰d¦  «        }|                      d|¦  «         |                      ||¦  «         t
          ˆfd„¦   «         } |d¦  «        }|                      d|¦  «         |                      ||¦  «         d S )Né{   c                 ó   •—  ‰| ¦  «        S r   r   )rq  Úrebuilts    €r   rÕ  z%TestDUFuncPickling.check.<locals>.foo[  s   ø€ à�7˜1‘:”:Ðr   iA  )ÚpickleÚdumpsÚloadsr8   ÚassertIsInstancer   )r%   ÚidentÚresult_typeÚbufrá  rÕ  rH  s         @r   ÚcheckzTestDUFuncPickling.checkQ  sÂ   ø€ ÝŒl˜5Ñ!Ô!ˆÝ”,˜sÑ#Ô#ˆð ˆG�C‰LŒLˆØ×Ò˜˜aÑ Ô Ð Ø×Ò˜a Ñ-Ô-Ð-õ 
ð	ð 	ð 	ð 	ñ 
Œð	ð ˆC�‰HŒHˆØ×Ò˜˜aÑ Ô Ð Ø×Ò˜a Ñ-Ô-Ð-Ð-Ð-r   c                 óv   — t           d„ ¦   «         }|                      |t          t          j        f¬¦  «         d S )Nc                 ó   — | S r   r   ©Úx1s    r   rM  z3TestDUFuncPickling.test_unrestricted.<locals>.identd  ó   € àˆIr   ©rN  )r   rP  r¾   r2   Úinteger©r%   rM  s     r   Útest_unrestrictedz$TestDUFuncPickling.test_unrestrictedc  s@   € Ý	ð	ð 	ñ 
Œð	ð 	�
Š
�5¥s­B¬JÐ&7ˆ
Ñ8Ô8Ð8Ð8Ð8r   c                 óp   — t          dg¦  «        d„ ¦   «         }|                      |t          ¬¦  «         d S )Nzfloat64(float64)c                 ó   — | S r   r   rS  s    r   rM  z1TestDUFuncPickling.test_restricted.<locals>.identk  rU  r   rV  )r   rP  rå   rX  s     r   Útest_restrictedz"TestDUFuncPickling.test_restrictedj  sF   € Ý	Ð&Ð'Ñ	(Ô	(ð	ð 	ñ 
)Ô	(ð	ð 	�
Š
�5¥eˆ
Ñ,Ô,Ð,Ð,Ð,r   N)rp   rq   rr   rP  rY  r\  r   r   r   rD  rD  P  sA   € € € € € ð.ð .ð .ð$9ð 9ð 9ð-ð -ð -ð -ð -r   rD  Ú__main__)$r¥   râ  rI  re   rx  Únumpyr2   Únumbar   r   Únumba.tests.supportr   r   Únumba.core.errorsr   r   r	   r  Únumba.np.ufuncr
   Únumba.np.numpy_supportr   r   r   r   r   r   r   rt   r¨   r‚  rÒ  r  rD  rp   Úmainr   r   r   ú<module>re     sÀ  ðØ Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø €€€Ø €€€à Ð Ð Ð à !Ð !Ð !Ð !Ð !Ð !Ð !Ð !Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9ð@ð @ð @ð @ð @ð @ð @ð @ð @ð @à €€€Ø !Ð !Ð !Ð !Ð !Ð !Ø -Ð -Ð -Ð -Ð -Ð -ðð ð ðð ð ðð ð ðð ð ð!ð !ð !ðcIð cIð cIð cIð cI� (Ô"3ñ cIô cIð cIðZ*/ð */ð */ð */ð */˜Hñ */ô */ð */ðZsMð sMð sMð sMð sMÐ(ñ sMô sMð sMðld.ð d.ð d.ð d.ð d. ñ d.ô d.ð d.ðNCð Cð Cð Cð CÐ,ñ Cô Cð CðLj=ð j=ð j=ð j=ð j=Ð.ñ j=ô j=ð j=ðZ-ð -ð -ð -ð -˜¨(Ô*;ñ -ô -ð -ðD ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   