+
    ;i                        ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHtH	t	 ^ RI
HtHt ^ RIHtHtHt ^ RIt^ RIHt ^ RIHt R tR tR	 tR
 tR t ! R R]]P                  4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t  ! R R]]P                  4      t!]"R8X  d   ]PF                  ! 4        R# R# )    N)njit	vectorize)MemoryLeakMixinTestCase)TypingErrorNumbaNotImplementedErrorNumbaExperimentalFeatureWarning)dufunc)
from_dtypec                     W,           # N a0a1s   &&^/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/tests/npyufunc/test_dufunc.pypyuaddr      	    7N    c                     W,
          # r   r   r   s   &&r   pysubr      r   r   c                     W,          # r   r   r   s   &&r   pymultr      r   r   c                     W,          # r   r   r   s   &&r   pydivr      s	    8Or   c                     W8  d   V # T# r   r   r   s   &&r   pyminr   "   s    2 b r   c                   J   a  ] tR t^&t o R tR tR tR tR tR t	R t
RtV tR	# )

TestDUFuncc                F    \         P                  ! V\        R R7      R7      # )T)nopython)targetoptions)r
   DUFuncdict)selfpyfuncs   &&r   nopython_dufuncTestDUFunc.nopython_dufunc(   s    }}V43FGGr   c           
        V P                  \        4      pV P                  VP                  4       R Vn        V P	                  VP                  4       V P                  \        4      ;_uu_ 4        RVn        RRR4       V P                  \        4      ;_uu_ 4        V! \        P                  ! ^ ^^
4      \        P                  ! ^^^
4      4       RRR4       R#   + '       g   i     Lm; i  + '       g   i     R# ; i)TFN)
r'   r   assertFalse_frozen
assertTrueassertRaises
ValueError	TypeErrornplinspacer%   duadds   & r   test_frozenTestDUFunc.test_frozen+   s    $$V,'&z**!EM +y))"++a"%r{{1Qr':; *) +*)))s   0C6C0C-	0D	c                v    V P                  \        4      pV P                  \        ^^4      V! ^^4      4       R# )   N)r'   r   assertEqualr2   s   & r   test_scalarTestDUFunc.test_scalar5   s.    $$V,!eAaj1r   c                  a V P                  \        4      o\        V3R  l4       p\        P                  ! ^ R^4      pVR,          pVR,          p\        P
                  ! ^
4      pV! W4V4       \        P                  P                  W4,           V4       VP                  R4      pVP                  R4      p\        P
                  ! R4      pV! WgV4       \        P                  P                  Wg,           V4       VR,          p	\        P
                  ! R4      p
V! WiV
4       \        P                  P                  Wi,           V
4       R# )c                    < S! WV4       R # r   r   )r   r   o0r3   s   &&&r   npmadd(TestDUFunc.test_npm_call.<locals>.npmadd<   s    ""r   ffffff?N
   NrB   NNN   NN   rE   )	r'   r   r   r0   r1   zerostestingassert_array_equalreshape)r%   r>   XX0X1out0Y0Y1out1Y2out2r3   s   &          @r   test_npm_callTestDUFunc.test_npm_call9   s    $$V,		 
	KK#b!sVsVxx|rt


%%bgt4ZZZZxxrt


%%bgt4Vxxrt


%%bgt4r   c                D  a V P                  \        4      o\        V3R  l4       p\        P                  ! ^ R^4      pVR,          pVR,          pV! W44      p\        P
                  P                  W4,           V4       VP                  R	4      pVP                  R	4      pV! Wg4      p\        P
                  P                  Wg,           V4       VR,          p	V! Wi4      p
\        P
                  P                  Wi,           V
4       V! RR4      pV P                  VR4       R# )
c                    < S! W4      # r   r   )r   r   r3   s   &&r   r>   8TestDUFunc.test_npm_call_implicit_output.<locals>.npmaddR   s    = r   r@   rA   rC   rD         ?       @g      @NrF   )	r'   r   r   r0   r1   rI   rJ   rK   r8   )r%   r>   rL   rM   rN   rO   rP   rQ   rR   rS   rT   out3r3   s   &           @r   test_npm_call_implicit_output(TestDUFunc.test_npm_call_implicit_outputO   s    $$V,		! 
	!KK#b!sVsVb~


%%bgt4ZZZZb~


%%bgt4Vb~


%%bgt4b}r"r   c                   V P                  \        4      pV P                  VP                  ^4       V P                  VP                  ^4       V P                  VP
                  VP                  VP                  ,           4       V P                  VP                  ^ 4       V P                  VP                  . 4       V P                  VP                  R4       V! ^^4       V P                  VP                  ^4       V P                  VP                  \        VP                  4      4       V P                  VP                  4       R# )rG   N)r'   r   r8   ninnoutnargsntypestypesidentitylenassertIsNone	signaturer2   s   & r   test_ufunc_propsTestDUFunc.test_ufunc_propsd   s    $$V,A&Q'eii%**&<=q)b).aq)s5;;'78%//*r   c           
     T  a V P                  \        4      oS! ^^4       RSP                  RSP                  RSP                  RSP
                  RSP                  /pV3R lpVP                  4        F0  w  r4\        V! V4      4      pV P                  WE! 4       RV 24       K2  	  R# )	r7   r`   ra   rb   re   rh   c                 l   < R V  R2p/ p\        \        P                  ! V4      RS/V4       VR,          # )z>
                def impl():
                    return duadd.z
            r3   impl)exectextwrapdedent)attrfnlr3   s   &  r   get_attr_fn4TestDUFunc.test_ufunc_props_jit.<locals>.get_attr_fn}   sD    ""& (B A$w&6:V9r   z!Attribute differs from original: N)
r'   r   r`   ra   rb   re   rh   itemsr   r8   )r%   
attributesrt   rq   valcfuncr3   s   &     @r   test_ufunc_props_jitTestDUFunc.test_ufunc_props_jitq   s    $$V,aUYYejju{{ !%..!5??4
	 $))+IDT*+ES%'@GI ,r   r   N)__name__
__module____qualname____firstlineno__r'   r4   r9   rU   r]   ri   rz   __static_attributes____classdictcell____classdict__s   @r   r   r   &   s0     H<25,#*+I Ir   r   c                   Z   a  ] tR t^t o ]P
                  RR l4       tR tR tR t	Rt
V tR# )TestDUFuncMethodsBaseNc                  aa VR9   g   Q hVR 8X  dR   SP                   ^8X  d   \        VR7      ! V3R l4      oM\        VR7      ! V3R l4      o\        RV3R ll4       pV# VR8X  dF   SP                   ^8w  d   \        R4      h\        VR7      ! V3R l4      o\        RV3R ll4       pV# SP                   ^8X  d   \        VR7      ! V3R	 l4      oM\        VR7      ! V3R
 l4      o\        V3R l4       pV# )reducereduceatre   c                    < S! W4      # r   r   abufuncs   &&r   <lambda>5TestDUFuncMethodsBase._generate_jit.<locals>.<lambda>   	    ar   c                    < S! V 4      # r   r   r   r   s   &r   r   r      	    U1Xr   c                 *   < SP                  WVR 7      # axisinitialr   arrayr   r   vecs   &&&r   rr   /TestDUFuncMethodsBase._generate_jit.<locals>.fn   s    zz%GzDDr   ,reduceat only supported for binary functionsc                    < S! W4      # r   r   r   s   &&r   r   r      	    E!Kr   c                 *   < SP                  WW#V4      # r   r   )r   indicesr   dtypeoutr   s   &&&&&r   rr   r      s    ||EDEEr   c                    < S! W4      # r   r   r   s   &&r   r   r      r   r   c                    < S! V 4      # r   r   r   s   &r   r   r      r   r   c                  $   < SP                   ! V !  # r   at)argsr   s   *r   rr   r      s    vvt}$r   )r   r   r   r   N)r   NN)r`   r   r   r.   )r%   r   kindre   rr   r   s   &f&& @r   _generate_jit#TestDUFuncMethodsBase._generate_jit   s    33338yyA~23KL23EFE EIZyyA~ !OPPX./GHCF FIyyA~23KL23EF% %Ir   c                *    V P                  VR VR7      # )r   r   r   r%   r   re   s   &&&r   _reduceTestDUFuncMethodsBase._reduce   s    !!%H!EEr   c                *    V P                  VR VR7      # )r   r   r   r   s   &&&r   	_reduceatTestDUFuncMethodsBase._reduceat   s    !!%h!GGr   c                &    V P                  VR 4      # r   r   )r%   r   s   &&r   _atTestDUFuncMethodsBase._at   s    !!%..r   r   r   )r|   r}   r~   r   	functoolscacher   r   r   r   r   r   r   s   @r   r   r      s2     __ @FH/ /r   r   c                      a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR t]P&                  R 4       tR tR tR tR t]P&                  R 4       tR tR tR tR tR tRtV t R# )TestDUFuncAtc                    VP                  4       pVP                  4       pVP                  ! V.VO5!   V! V.VO5!   V P                  WV4       R # r   )copyr   assertPreciseEqual)r%   rr   r   r   r   expectedgots   &&&&*  r   _compare_outputTestDUFuncAt._compare_output   sB    668ffh!D!
3.r   c                N  a \         P                  ! ^
\        R7      pV P                  \         P                  4      pV P                  \         P
                  4      p\        4       ! R 4      o\        V3R l4       pV P                  V\         P                  V. RO^4       RpV P                  \        V4      ;_uu_ 4        V! VP                  4       . ROR4       RRR4       V P                  V\         P
                  VP                  4       . RO4       \         P                  ! . R	O4      pV P                  V\         P                  VP                  4       . ROV4       RpV P                  \        V4      ;_uu_ 4        V! VP                  4       . RO. R
O4       RRR4       V P                  \        4      ;_uu_ 4        V! VP                  4       . RO^^.^.4       RRR4       R#   + '       g   i     EL; i  + '       g   i     Lj; i  + '       g   i     R# ; i)rB   r   c                 .    \         P                  ! V 4      # r   r0   negativer   s   &r   r   8TestDUFuncAt.test_numpy_ufunc_at_basic.<locals>.<lambda>   s    R[[^r   c                 (   < SP                  WV4      # r   r   )r   r   r   negative_vecs   &&&r   negative_jit_2>TestDUFuncAt.test_numpy_ufunc_at_basic.<locals>.negative_jit_2   s    ??1q11r   zsecond operand needed for ufuncNz+second operand provided when ufunc is unaryrG   rE   rG   )rG   rE      d   r   r   r7   rG   r   )r0   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_basic&TestDUFuncAt.test_numpy_ufunc_at_basic   s{    IIb$"&&!hhr{{+ {#;<		2 
	2 	VRVVQ	1= 4##K991668Y- : 	["++qvvxKHH_%VRVVQVVXy!D @##K991668Y	: : {++1668Y!Q4 ,+ :99 :9 ,++s$   G,H H,G=	 H	H$	c                   \         P                  R ,          p\         P                  \         P                  \         P                  3pV EFy  p \        \         P                  ! V4      4       T EFN  p\         P                  ! ^
TR7      p\         P                  ! \         P                  ! ^\         P                  R7      \         P                  ! ^^\         P                  R7      .4      pTP                  P                  R4      pT P                  T4      pT! YVT4       \         P                  ! T4      p	T\         P                  J d   R;T	^&   T	^&   K  T	^;;,          ^T\         P                  J d   TMT) ,          ,          uu&   T	^;;,          ^T\         P                  J d   TMT) ,          ,          uu&   EKQ  	  EK|  	  V P                  XX	4       R#   \         d     EK  i ; i)Complexr   y              ?N)r0   	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_loop%TestDUFuncAt.test_ufunc_at_inner_loop   sZ   LL+	&&"++r{{3!H288H-.  GGBh/~~rwwq'@')wwr1BGG'D'F GR(88E?%(<<?BKK'022HQK(1+QK1"&&uf#MMKQK2%266/v#NNK   "* 	8,# , s   GG+*G+c                   \         P                  ! ^\        R7      pV P                  \         P                  4      pV P                  V\         P                  V\        R4      \         P                  ! ^\        R7      4       R# )rE   r   N)r0   rH   r   r   r   r   slicer   r%   arrr   s   &  r   test_ufunc_at_ellipsis#TestDUFuncAt.test_ufunc_at_ellipsis  sR     hhq$"&&!VRVVS%+WWQc2	4r   c                   \         P                  ! ^\         P                  R7      p\         P                  ! ^4      pV P	                  \         P
                  4      pV! W4       \         P                  ! V. RO8H  4      '       g   Q hR# )rE   r   N)r   r   r   r   r   )r0   r   int32r   r   r   all)r%   r   r   r   s   &   r   test_ufunc_at_negative#TestDUFuncAt.test_ufunc_at_negative  sW    ggarxx(yy|XXbkk"
3vvc112222r   c                l   \         P                  ! R \         P                  R7      p\         P                  ! R \        R7      p^
V^ &   ^V^&   ^dVR&   \         P                  ! ^\        R7      pV P	                  \         P
                  4      pV! W1V4       V^ ,          VP                  4       8X  g   Q hR# )i   r   :i    NNN)r0   rH   int16floatr   r   sum)r%   r   r   r   r   s   &    r   test_ufunc_at_large TestDUFuncAt.test_ufunc_at_large  s    ((4rxx0HHT'!!%HHQe$"&&!q1tquuwr   c                >   \         P                  ! ^
4      p\         P                  ! R4      pV P                  \         P                  4      p\         P                  ! \        V4      \         P                  R7      pV! WV4       V^ ,          \        V4      8X  g   Q hR# )rB   i r   N)r0   rH   r   r   r   rf   uint8)r%   r   valuesr   indexs   &    r   test_cast_index_fastpath%TestDUFuncAt.test_cast_index_fastpath!  sf    hhrl"&&!VBHH5s6"1vV$$$r   c           	        \         P                  ! ^4      \         P                  ! R4      \         P                  ! R4      R3pV F  p\         P                  ! R4      p\         P                  ! \         P
                  ! R4      ^4      pV P                  \         P                  4      pV! W4V4       \         P                  P                  V\         P                  ! V^V,          4      4       K  	  R# )r7   rZ   i  Nr   )r0   r   float64rH   repeatr   r   r   rI   rJ   	full_like)r%   r  r   r   r  r   s   &     r   #test_ufunc_at_scalar_value_fastpath0TestDUFuncAt.test_ufunc_at_scalar_value_fastpath*  s    ''!*bggbk2::b>2>E((4.CIIbiioq1EXXbff%F3u%JJ))#r||CU/KL r   c                	   \         P                  ! ^	4      P                  ^^4      p\         P                  ! . RO. RO. RO.4      pV P	                  \         P
                  4      pV! V\        R4      \         P                  ! . RO4      3V4       V P                  V\         P                  ! . RO. RO. RO.4      4       \         P                  ! ^4      P                  ^^^4      p\         P                  ! . R	O4      pV! V\        R4      \        R4      \         P                  ! . RO4      3V4       V P                  V\         P                  ! . R
O. RO. RO.. RO. RO. RO.. RO. RO. RO..4      4       \         P                  ! ^	4      P                  ^^4      p\         P                  ! . RO. RO. RO.4      pV! V\         P                  ! . RO4      \        R4      3V4       V P                  V\         P                  ! . RO. RO. RO.4      4       \         P                  ! ^4      P                  ^^^4      p\         P                  ! . R	O4      pV! V\        R4      \         P                  ! . RO4      \        R4      3V4       V P                  V\         P                  ! . RO. RO. RO.. RO. RO. RO.. RO. RO. RO..4      4       \         P                  ! ^	4      P                  ^^4      p\         P                  ! . R	O4      pV! V^ \         P                  ! . RO4      3V4       V P                  V\         P                  ! . R
O. RO. RO.4      4       \         P                  ! ^4      P                  ^^^4      p\         P                  ! . R	O4      pV! V\         P                  ! . RO4      ^ \        R4      3V4       V P                  V\         P                  ! . RO. RO. RO.. RO. R O. R!O.. R"O. R#O. R$O..4      4       \         P                  ! ^4      P                  ^^^4      p\         P                  ! . R	O4      pV P	                  \         P
                  4      pV! V\        R4      \        R4      \        R4      3V4       V P                  V\         P                  ! . R%O. R&O. RO.. R'O. R(O. RO.. R"O. R)O. RO..4      4       R# )*	   Nr   )   r  r  ),  r  r  r7   rG   r7   )r      f   )r        )   i_  4  )r   r  r  )r   i     )r  i     )r       )        )   i     )   i     )        )   i     r   r7   rG   )i  r  i  )      r  )   r  i]  )j   r-  r  )r  rB      )   r   if  )s      i=  )r$        )   r'  io  )|      iF  r      rE   )r        )   r  ic  )r        )r"        )v      i@  )r&        )r)        )r   r  i.  )g      i1  )m      i7  )p      i:  )y      iC  )	r0   r   rK   r   r   r   r   asarrayr   )r%   r   r   r   s   &   r   test_ufunc_at_multiD!TestDUFuncAt.test_ufunc_at_multiD4  s   IIaL  A&HHoHI"&&!q5;

9 56:288M=9$; 	< IIbM!!!Q*HH_%q5;dRZZ	-BCQG288"/"/"/"1 #0"0"0"2 #1"0"0"2
!3$4 	5 IIaL  A&HHoHIq2::i(%+6:2::9$; 	< IIbM!!!Q*HH_%q5;

9 5uT{CQG2::"-"1"1"3 #/"1"1"3 #/"1"1"3
!4$5 	6 IIaL  A&HH_%q1bjj+,a02::Iy1$3 	4 IIbM!!!Q*HH_%q2::i(!U4[91=2::"-"-"-"/ #2"/"/"1 #2"/"/"1
!2$3 	4 IIbM!!!Q*HH_%"&&!q5;dU4[91=2::"1"1"1"3 #2"1"1"3 #2"1"1"3
!4$5 	6r   c                n   \         P                  ! ^ 4      pV P                  \         P                  4      pV! VR^4       V P	                  V\         P                  ! ^4      4       V P                  \        4      ;_uu_ 4        V! V^ ^4       RRR4       \         P                  ! ^4      pV! V^ ^4       V P	                  V\         P                  ! . RO4      4       V P                  \        4      ;_uu_ 4        V! V. ^4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   Nr   )r7   r7   rG   )	r0   r   r   r   r   r-   r   r   r.   )r%   r   r   r   s   &   r   test_ufunc_at_0DTestDUFuncAt.test_ufunc_at_0D  s    HHQK"&&!q"a288A;/{++1aO , IIaLq!Q288I#67 z**1b! +* ,+ +**s   D;D#D 	#D4	c                    \         P                  ! ^
4      pV P                  \         P                  4      pV! V. ROR4       V P	                  V\         P
                  ! . RO4      4       R# )rB   g      @N)r7   rG   r   rG   )
r   r7   i>  .   r:  rE   r  r;  r<  r  )r0   r   r   powerr   r   )r%   r   power_ats   &  r   test_ufunc_at_dtypes!TestDUFuncAt.test_ufunc_at_dtypes  sG    IIbM88BHH%L#&288,N#OPr   c                    \         P                  ! ^
4      pV^,          ^ 8H  pV P                  \         P                  4      pV! W. RO4       V P	                  V\         P
                  ! . RO4      4       R# )rB   N)r   rG   r:  r  r<  )
r7   r7   r7   r   r7   rE   r7   r;  r7   r  )r0   r   r   equalr   r   )r%   r   r  equal_ats   &   r   test_ufunc_at_boolean"TestDUFuncAt.test_ufunc_at_boolean  sR    IIbMA
88BHH%?+288,J#KLr   c                    \         P                  ! ^
RR7      pV P                  \         P                  4      pV! V. RO4       V P	                  V\         P
                  ! . RO\         P                  R7      4       R# )rB   u4r   Nr   )
r   r7   rG   r   r:  l    r  r;  r<  r  )r0   r   r   invertr   r   uint32)r%   r   	invert_ats   &  r   test_ufunc_at_boolean2#TestDUFuncAt.test_ufunc_at_boolean2  sW    IIb%HHRYY'	!Y288 -6=?YY$H 	Ir   c                    \         P                  ! ^4      pVR,          R,          pV P                  \         P                  4      pV! V^ ^.^4       V P	                  V\         P                  ! ^4      4       R# )r:  N)NNNN)ri  :r   r   N)r0   r   r   r   r   )r%   origr   r   s   &   r   test_ufunc_at_advanced#TestDUFuncAt.test_ufunc_at_advanced  sW    yy|M&!"&&!q1a&!biil3r   c                j   \         P                  ! . RO\         P                  ! R4      P                  4       4      p\         P                  ! . RO\         P                  ! R4      P                  4       4      pV P	                  \         P
                  4      pV! W!^4       V P                  V. RO4       R# )r7   ifNr  r7   rG   r   r:  )r7   r<  r  r:  )r0   r   r   newbyteorderr   r   r   )r%   r  r  r   s   &   r   test_ufunc_at_advanced_2%TestDUFuncAt.test_ufunc_at_advanced_2  sr     BHHSM$>$>$@A,(B(B(DE"&&!va 5r   c                f   \         P                  ! R ^.\        R7      pV P                  \         P                  4      pV P                  \        4      ;_uu_ 4        V! V^ ^.^4       RRR4       V P                  V\         P                  ! R ^.\        R7      4       R#   + '       g   i     L@; i)r   r   N)r0   r   objectr   r   r-   r   r   )r%   r  r   s   &  r   test_ufunc_at_advanced_3%TestDUFuncAt.test_ufunc_at_advanced_3  sv    3(&1"&&!{++6Aq61% ,#q(HI ,+s   B  B0	c                    V P                  \        P                  4      pV P                  \        4      ;_uu_ 4        V! \        P
                  ! ^
4      ^.4       RRR4       R#   + '       g   i     R# ; i)rB   N)r   r0   modfr-   r   r   )r%   modf_ats   & r   test_ufunc_at_advanced_4%TestDUFuncAt.test_ufunc_at_advanced_4  sH    ((277#{++BIIbMA3' ,+++s   A&&A7	c                    V P                  \        P                  4      p\        P                  ! . RO4      pV! V^ .^ 4       V P	                  V\        P                  ! . RO4      4       R# )r7   Nr   )r   r0   maximumr   r   )r%   
maximum_atr   s   &  r   test_ufunc_at_advanced_5%TestDUFuncAt.test_ufunc_at_advanced_5  sI    XXbjj)
HHY1qc1288I#67r   c                   \         P                  R ,          \         P                  R,          ,           p\         P                  \         P                  \         P                  \         P
                  \         P                  3pV EFH  pVR9   d   K   \        \         P                  ! V4      4       T EF  p\         P                  ! ^ ^
4      P                  T4      p\         P                  ! . RO4      P                  \         P                  4      p\         P                  ! . ROTP                  R7      pTP                  4       p\        Yg4       F  w  rT! Y,          T
4      Y&   K  	  T P!                  T4      pT! YVT4       \         P"                  P%                  YX4       \         P&                  ! T. RO8H  4      '       d   EK  Q h	  EKK  	  R#   \         d     EK^  i ; i)
AllIntegerFloatr   N)e)r   r7   r   rG   )r7   rE   rG   rB   )r0   r   r   r   divideminimumr~  r   r   r   r   astyper   r   r   zipr   rI   rJ   r   )r%   dtypesr   r   r   r   indxsvalsr   rn  vr   s   &           r   test_ufunc_at_negative_indexes+TestDUFuncAt.test_ufunc_at_negative_indexes  sH   l+bll7.CC&&"++ryy"**bjjIE288E?+  IIa$++E2077@xxQWW=668,DA"'Q"7HK -  88E?4(

--a:vve~56666    , s   GG"!G"c                ,   \         P                  ! R4      p\         P                  ! R4      pV P                  \         P                  4      pRpV P	                  \
        V4      ;_uu_ 4        V! V^ .V4       RRR4       R#   + '       g   i     R# ; i)rG   z1does not support ufunc with non-trivial signatureN)rG   rG   rG   )r7   rG   rG   )r0   r   r   matmulr   r   )r%   r   r   	matmul_atr   s   &    r    test_ufunc_at_not_none_signature-TestDUFuncAt.test_ufunc_at_not_none_signature  sg     GGIGGIHHRYY'	E##K99a!a  :999s   ,BB	c                   \         P                  ! ^
\        R7      pV P                  \         P                  4      pV P                  \        4      ;_uu_ 4        V! V^ ^.^ ^.4       RRR4       R#   + '       g   i     R# ; i)rB   r   N)r0   r   strr   r   r-   r   r   s   &  r   test_ufunc_at_no_loop_for_op)TestDUFuncAt.test_ufunc_at_no_loop_for_op  sX    ggb$"&&!{++3AA' ,+++s   A22B	c                    \         P                  ! R.4      pV P                  \         P                  4      pV! V^ .^ .4       V^ ,          ^ 8X  g   Q hR# )r7   Nr   )r0   r   r   r]  )r%   r   r^  s   &  r   test_ufunc_at_output_casting)TestDUFuncAt.test_ufunc_at_output_casting  sC    hhtn88BHH%qcA31v{{r   c                   \         P                  ! ^4      pV P                  \         P                  4      pRpV P	                  \
        V4      ;_uu_ 4        V! V^ ^.. RO4       RRR4       R#   + '       g   i     R# ; i)rE   z=operands could not be broadcast together with remapped shapesNr   )r0   r   r   r   r   r.   )r%   r   r   msgs   &   r   test_ufunc_at_broadcast_failure,TestDUFuncAt.test_ufunc_at_broadcast_failure  s[    iil"&&! N##J443A	* 5444s   A//B 	c                   \         P                  ! ^4      p\        R 4       pV P                  \	        VP
                  4      ^ 4       VP                  V^^.4       V P                  \	        VP
                  4      ^ 4       R# )rE   c                     V ^,           # r7   r   )xs   &r   inc/TestDUFuncAt.test_ufunc_at_dynamic.<locals>.inc  s    q5Lr   N)r0   r   r   r8   rf   rd   r   assertGreater)r%   r   r  s   &  r   test_ufunc_at_dynamic"TestDUFuncAt.test_ufunc_at_dynamic  sg    iil		 
	 	SYY+ 	sQF3syy>1-r   c                   \         P                  ! ^4      pV P                  \         P                  4      p\        P
                  ! RR7      ;_uu_ 4       p\        P                  ! R\        4       V! V^ ^.^
4       RRR4       V P                  \        X4      ^ 4       V P                  R\        V^ ,          P                  4      4       R#   + '       g   i     LY; i)rE   T)recordalwaysNz ufunc.at feature is experimental)r0   r   r   r   warningscatch_warningssimplefilterr	   r  rf   assertInr  message)r%   r   r   ws   &   r   "test_ufunc_at_experimental_warning/TestDUFuncAt.test_ufunc_at_experimental_warning)  s    iil"&&!$$D11Q!!(,KL3A# 2
 	3q61%8#adll:KL 21s   (CC	r   N)!r|   r}   r~   r   r   r   r   r   r   r  r  r  rQ  rT  rZ  r_  rf  rk  unittestexpectedFailurerr  rv  r{  r  r  r  r  r  r  r  r  r   r   r   s   @r   r   r      s     /"5H-443
%MS6j$QMI4 6 6J(878 ! !(+.
M 
Mr   r   c                      a  ] tR tRt o RR lt]P                  R 4       tR tR t	R t
R tR	 tR
 tR tR tR tR tRtV tR# )TestDUFuncReduceNumPyTestsi6  Nc                   aa SP                   ^8X  d   \        VR7      ! V3R l4      oM\        VR7      ! V3R l4      o\        RV3R ll4       pV# )rG   r   c                    < S! W4      # r   r   r   s   &&r   r   :TestDUFuncReduceNumPyTests._generate_jit.<locals>.<lambda><  r   r   c                    < S! V 4      # r   r   r   s   &r   r   r  >  s	    qr   c                 *   < SP                  WVR 7      # r   r   r   s   &&&r   rr   4TestDUFuncReduceNumPyTests._generate_jit.<locals>.fn@  s    ::e:@@r   r   )r`   r   r   )r%   r   re   rr   r   s   &f& @r   r   (TestDUFuncReduceNumPyTests._generate_jit:  sG    99>X./GHCX./ABC		A 
	A	r   c                    V P                  \        P                  4      p\        P                  P                  ^4      pV! ^4      pV P	                  W#4       R# )r   N)r   r0   rX  r   r   )r%   power_reducer   r   s   &   r   test_numpy_scalar_reduction6TestDUFuncReduceNumPyTests.test_numpy_scalar_reductionE  sA     ))"((388??1%1o.r   c                \   R  pV P                  \        P                  RR7      p^VR&   ^ VR&   V! V! VRR7      ^ 4       V! V! VRR7      . RO4       V! V! VR	R7      . R
O4       V! V! VRR7      ^^ .4       V! V! V^ R7      . RO. RO. RO.4       V! V! V^R7      . RO. RO.4       V! V! V^R7      . RO. R
O.4       V! V! VRR7      V4       ^VR&   ^ VR&   V! V! VRR7      ^ 4       V! V! VRR7      . RO4       V! V! VR	R7      . RO4       V! V! VRR7      ^ ^.4       V! V! V^ R7      . RO. RO. RO.4       V! V! V^R7      . RO. RO.4       V! V! V^R7      . RO. RO.4       V! V! VRR7      V4       ^VR&   ^ VR&   V! V! VRR7      ^ 4       V! V! VRR7      . RO4       V! V! VR	R7      . R
O4       V! V! VRR7      ^ ^.4       V! V! V^ R7      . RO. RO. RO.4       V! V! V^R7      . RO. RO.4       V! V! V^R7      . R
O. RO.4       V! V! VRR7      V4       R# )c                 D    \         P                  P                  W4       R # r   )r0   rI   assert_equal)r   r   s   &&r   compare_outputOTestDUFuncReduceNumPyTests.check_identityless_reduction.<locals>.compare_outputN  s     JJ##A)r   reorderabler   .Nr   )r7   r   r   r   r7   )r   r7   r7   r7   r   rG   )r   r7   r7   r7   rG   )r7   r7   r7   r7   )r7   r7   r7   r   r   r7   r   )r7   r   r7   )r   r   r7   )r7   r   r7   r7   )r   r0   r  )r%   r   r  minimum_reduces   &&  r   check_identityless_reduction7TestDUFuncReduceNumPyTests.check_identityless_reductionM  sO   	* ++BJJ+O
 #'
~ad3Q7~af5|D~af5yA~af51v>~aa0$lLA	C~aa0$l3	5~aa0!9-	/~ab115#'
~ad3Q7~af5|D~af5yA~af51v>~aa0$lLA	C~aa0$l3	5~aa0!9-	/~ab115#'
~ad3Q7~af5|D~af5yA~af51v>~aa0$lLA	C~aa0$l3	5~aa0!9-	/~ab115r   c                X    \         P                  ! RRR7      pV P                  V4       R# )rG   CorderNrG   r   r:  r0   emptyr  r%   r   s   & r   (test_numpy_identityless_reduction_corderCTestDUFuncReduceNumPyTests.test_numpy_identityless_reduction_corder       HHYc*))!,r   c                X    \         P                  ! RRR7      pV P                  V4       R# )rG   Fr  Nr  r  r  s   & r   (test_numpy_identityless_reduction_forderCTestDUFuncReduceNumPyTests.test_numpy_identityless_reduction_forder  r  r   c                x    \         P                  ! RRR7      P                  ^^4      pV P                  V4       R# )rG   r  r  N)rG   r:  r   r0   r  swapaxesr  r  s   & r   ,test_numpy_identityless_reduction_otherorderGTestDUFuncReduceNumPyTests.test_numpy_identityless_reduction_otherorder  s-    HHYc*33Aq9))!,r   c                    \         P                  ! RRR7      P                  ^^4      pVR,          pV P                  V4       R# )r   r  r  N)r   rE   r:  r7   NNr  r  r  r  s   & r   +test_numpy_identityless_reduction_noncontigFTestDUFuncReduceNumPyTests.test_numpy_identityless_reduction_noncontig  s6    HHYc*33Aq9jM))!,r   c                    \         P                  ! RRR7      pVR,          P                  RR7      pVP                  R4      pVR,          pV P	                  V4       R# )	r   i1r   r  f8N)i  r9  r  )r0   r  viewrK   r  r  s   & r   5test_numpy_identityless_reduction_noncontig_unalignedPTestDUFuncReduceNumPyTests.test_numpy_identityless_reduction_noncontig_unaligned  sL    HH)6bEJJTJ"IIi jM))!,r   c                   V P                  \        P                  4      pV P                  \        P                  4      pV P                  \        P                  4      pV P                  V! \        P                  ! . 4      ^ R7      R4       V P                  V! \        P                  ! . 4      \        P                  R7      \        P                  4       V P                  V! \        P                  ! . 4      \        P                  ) R7      \        P                  ) 4       V P                  V! \        P                  ! ^.4      ^R7      ^4       V P                  V! \        P                  ! ^.4      ^R7      ^4       V P                  V! \        P                  ! ^.4      ^R7      ^4       V P                  V! \        P                  ! ^.4      ^R7      ^4       RpW3 FH  pV P                  \        V4      ;_uu_ 4        V! \        P                  ! . 4      RR7       RRR4       KJ  	  R#   + '       g   i     K_  ; i)r   r   g        &zero-size array to reduction operationN)
r   r0   r   r  r~  r   rP  infr   r.   )r%   
add_reduce
min_reduce
max_reducer  funcs   &     r   test_numpy_initial_reduction7TestDUFuncReduceNumPyTests.test_numpy_initial_reduction  s   ''/
''

3
''

3
 	
2::b>1 EsK 	
2::b>266 J "	(
2::b>BFF7 K!#	) 	
2::qc?A FJ
2::qc?A FJ
2::qc?A FJ
2::qc?A FJ 7,D''
C88RZZ^T2 98 -888s   H11Ic                   \         P                  ! R4      pV P                  \         P                  4      p\         P                  P	                  V^R7      pV! V^R7      pV P                  W44       V P                  VP                  R4       RpV P                  \        V4      ;_uu_ 4        V! V^ R7       RRR4       \         P                  ! R4      pV P                  \        V4      ;_uu_ 4        V! V^R7       RRR4       \         P                  P	                  V^^R7      pV! V^^R7      pV P                  W44       R#   + '       g   i     L; i  + '       g   i     Lc; i)r   r  r  Nr   )r   rE   )r   )r   r   rE   )	r0   rH   r   true_divider   r   shaper   r.   )r%   r   true_divide_reducer   r   r  s   &     r   'test_numpy_empty_reduction_and_identityBTestDUFuncReduceNumPyTests.test_numpy_empty_reduction_and_identity  s   hhv!//? >>((1(5 1-.		40 7##J44s+ 5 hhy!##J44s+ 5 >>((1a(@ 1a8. 54
 54s   .E5EE	E+	c                z   \         P                  ! . RO. RO.4      pV P                  \         P                  4      pV! V^ R7      pV P	                  V\         P
                  ! . RO4      4       V! V^R7      pV P	                  V\         P
                  ! RR .4      4       V! VRR7      pV P	                  W14       R# )       @r[   r  N)r  r[   r[   )rZ   g      ?g      ?)r  g      @r  r   )r0   r   r   r  r   rP  )r%   r   divide_reduceress   &   r   *test_identityless_reduction_nonreorderableETestDUFuncReduceNumPyTests.test_identityless_reduction_nonreorderable  s    HHo'789**2995AA&RZZ%@AAA&RZZc
%;<AB''r   c                z  a  R  pV 3R lpR pS P                  \        P                  RR7      pS P                  \        P                  P                  R4       V! W^^4       V! W^ ^4       V! W$^^ 4       V! W$^ ^ 4       V! V. 4       V! \        P
                  ! R4      R	R7       S P                  \        P                  ^ R7      pV! W^^4       V! W^ ^4       V! W^^ 4       V! W^ ^ 4       V! \        P                  ! . \        P                  R7      4       V! \        P
                  ! R4      R	R7       R# )
c                     V ! V/ VB  R # r   r   )ro  r   kwargss   &*,r   ok<TestDUFuncReduceNumPyTests.test_reduce_zero_axis.<locals>.ok  s    tvr   c                    < SP                  \        4      ;_uu_ 4        V ! V/ VB  R R R 4       R #   + '       g   i     R # ; ir   )r-   r.   )ro  r   r  r%   s   &*,r   err=TestDUFuncReduceNumPyTests.test_reduce_zero_axis.<locals>.err  s0    "":..4"6" /...s	   	2A	c                    V ! V\         P                  ! W#34      ^R7       V ! V\         P                  ! W234      ^ R7       V ! V\         P                  ! V^,          V^,          V34      ^R7       V ! V\         P                  ! V^,          W2^,          34      ^R7       V ! V\         P                  ! W#^,          V^,          34      RR7       V ! V\         P                  ! V^,          W#^,          34      RR7       V ! V\         P                  ! V^,          V^,          V^,          V^,          V^,          34      RR7       V ! V\         P                  ! ^
W234      RR7       V ! V\         P                  ! ^
W#34      RR7       V ! V\         P                  ! V^
V34      ^ R7       V ! V\         P                  ! ^
W234      ^R7       V ! V\         P                  ! ^
W#34      ^R7       R# )r7   r  Nr  r  r+  r  )r0   rH   )expectr  nms   &&&&r   t;TestDUFuncReduceNumPyTests.test_reduce_zero_axis.<locals>.t  sx   41&)241&)2416161"56Q?41611f"56Q?411fa1f"56VD41611f"56VD4161616#$616#3 4:CE 42q*-F;42q*-F;41b!*-A642q*-A642q*-A6r   r  r   Nr  r   r   r   r   )	r   r0   r~  r8   re   rH   r   r   int64)r%   r	  r  r  maximum_reducer  s   f     r   test_reduce_zero_axis0TestDUFuncReduceNumPyTests.test_reduce_zero_axis  s	   		#	7$ ++BJJ+O,,d3	"b"%	"a$	#r1%	#q!$NBrxx'b1 ''';
	""b!	"!R 	""a 	"!Q288Bbhh/0288F#"-r   r   r   )r|   r}   r~   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   s   @r   r  r  6  s\     	 / /56n----
-3:/2( 8. 8.r   r  c                   p   a  ] tR tRt o RR ltRR ltR tR tR tR t	R	 t
R
 tR tR tR tR tRtV tR# )TestDUFuncReducei  Nc                  a \         V3R  l4       p\        P                  ! ^4      \        P                  ! ^4      P                  ^^4      \        P                  ! ^(4      P                  ^^^4      .pV FK  p\	        VP
                  4       F/  pVP                  WgW#4      pV! WgW#4      p	V P                  W4       K1  	  KM  	  R# )c                 .   < SP                  V VVVR 7      # ))r   r   r   r   )r   r   r   r   r   s   &&&&r   foo+TestDUFuncReduce._check_reduce.<locals>.foo   s$    <<%)&+(/   1 1r   N)r   r0   r   rK   rangendimpy_funcr   )
r%   r   r   r   r  inputsr   r   r   r   s
   &f&&      r   _check_reduceTestDUFuncReduce._check_reduce  s    		1 
	1 IIaLIIaL  A&IIbM!!!Q*

 Eejj);;uEC%u6''6 * r   c                  a aaaaa	a
 \         VV3R  l4       o
VVV	V
V 3R lpRSP                   R2o	\        P                  ! ^(VR7      P	                  ^^^4      \        P                  ! ^
VR7      .pV Ft  o\        ^SP                  ^,           4       F>  p\        P                  ! \        SP                  4      VR7       F  oV! SS4       K  	  K@  	  R F  oV! SS4       K  	  Kv  	  R# )c                 *   < SP                  WSR 7      # r   r   )r   r   r   r   s   &&r   r  0TestDUFuncReduce._check_reduce_axis.<locals>.foo4  s    <<g<>>r   c                  j  <  SP                  SS4      pS! SS4      pSP                  W4       R#   \         dw   pSP                  TP                  ^ ,          S4       SP                  \        S4      ;_uu_ 4        S! SS4      pRRR4        Rp?R#   + '       g   i      Rp?R# ; iRp?ii ; ir   )r!  r   r.   r8   r   r   r   )	r   r   r   r  r   r   exc_msgr  r%   s	   *   r   _check3TestDUFuncReduce._check_reduce_axis.<locals>._check8  s    7;;ud3 %&''6  +  G4++KAAeT*C BAAAA+s3   1 B2AB-=
BB-B* B-*B--B2zreduction operation 'z:' is not reorderable, so at most one axis may be specifiedr   )rN)r   N)	r   r|   r0   r   rK   r  r   	itertoolscombinations)r%   r   r   r   r*  r"  rn  r   r   r)  r  s   ff&f   @@@@r   _check_reduce_axis#TestDUFuncReduce._check_reduce_axis2  s    		? 
	?		7 		7 +5>>*: ;G G IIb&..q!Q7IIb&
 E1ejj1n-%2253DJD5$' K .
 #ud# # r   c                    \        R ^ R7      ! \        4      pV P                  V4       V P                  V\        P
                  R7       R# )int64(int64, int64)r   r   N)r   r   r#  r/  r0   r  r2   s   & r   test_add_reduce TestDUFuncReduce.test_add_reduceR  s9    /!<VD5!RXX6r   c                V    \        R ^R7      ! \        4      pV P                  V4       R# )r2  r   N)r   r   r#  )r%   dumuls   & r   test_mul_reduce TestDUFuncReduce.test_mul_reduceW  s"    /!<VD5!r   c                *   \        R RR7      ! \        4      p\        R RR7      ! \        4      pV P                  V4       V P	                  V\
        P                  R7       V P                  V4       V P	                  V\
        P                  R7       R# )r2  Nr   r   )r   r   r   r#  r/  r0   r  )r%   dusubdudivs   &  r   test_non_associative_reduce,TestDUFuncReduce.test_non_associative_reduce[  sp    /$?F/$?F5!RXX65!RXX6r   c                v    \        R ^ R7      ! \        4      pV P                  V\        P                  R7       R# )float64(float64, int64)r   r   N)r   r   r#  r0   r  r2   s   & r   test_reduce_dtype"TestDUFuncReduce.test_reduce_dtypec  s+    3a@H5

3r   c                    \        R RR7      ! \        4      pV P                  V^
R7       V P                  V\        P
                  R7       R# )r2  r  r   r  r   N)r   r   r#  r/  r0   r  )r%   dumins   & r   test_min_reduce TestDUFuncReduce.test_min_reduceg  s>    /-HO5"-RXX6r   c                x    \        R ^ R7      ! \        4      pV P                  V\        P                  ^dR7       R# )r2  r   )r   r   Nr   r   r#  r0   r  r2   s   & r   test_add_reduce_initial(TestDUFuncReduce.test_add_reduce_initiall  s-    /!<VD5#>r   c                r    \        R 4      ! \        4      pV P                  V\        P                  R7       R# )r2  r   NrG  r2   s   & r   &test_add_reduce_no_initial_or_identity7TestDUFuncReduce.test_add_reduce_no_initial_or_identityq  s)    /0851r   c                   a \        R ^ R7      ! \        4      o\        V3R l4       pRpV P                  \        V4      ;_uu_ 4        V! R4       RRR4       R#   + '       g   i     R# ; i)r?  r   c                 &   < SP                  V 4      # r   r   )r   r3   s   &r   r  0TestDUFuncReduce.test_invalid_input.<locals>.fooy  s    <<?"r   z-The first argument "array" must be array-liker   N)r   r   r   r   r   )r%   r  r)  r3   s   &  @r   test_invalid_input#TestDUFuncReduce.test_invalid_inputv  sX    3a@H		# 
	# B##K99H :999s   	AA,	c                  a \        R ^ R7      ! \        4      o\        V3R l4       p\        P                  ! ^(4      P                  ^^^4      pRpV F-  pSP                  W$4      pV! W$4      pV P                  WV4       K/  	  R# )r2  r   c                 (   < SP                  WR 7      # r  r   r   r   r3   s   &&r   r  7TestDUFuncReduce.test_dufunc_negative_axis.<locals>.foo      <<<--r   N)r   r   )r   r   )r   )r7   r   )r   r   r   r0   r   rK   r   r   )r%   r  r   casesr   r   r   r3   s   &      @r   test_dufunc_negative_axis*TestDUFuncReduce.test_dufunc_negative_axis  sy    /!<VD		. 
	. IIbM!!!Q*7D||A,Ha,C##H2 r   c                  a \        R ^ R7      ! \        4      o\        V3R l4       p\        P                  ! ^(4      P                  ^^^4      pRpV F4  pRpV P                  \        V4      ;_uu_ 4        V! W$4       RRR4       K6  	  RpV F2  pV P                  \        R4      ;_uu_ 4        V! W$4       RRR4       K4  	  R#   + '       g   i     K  ; i  + '       g   i     K]  ; i)r2  r   c                 (   < SP                  WR 7      # rT  r   rU  s   &&r   r  6TestDUFuncReduce.test_dufunc_invalid_axis.<locals>.foo  rW  r   zduplicate value in 'axis'NzInvalid axis)r  r  )r   rY  )r   r   )r   rG   )r   )r   r`  )r   r   r   r0   r   rK   r   r.   )r%   r  r   rZ  r   r  r3   s   &     @r   test_dufunc_invalid_axis)TestDUFuncReduce.test_dufunc_invalid_axis  s    /!<VD		. 
	. IIbM!!!Q*?D-C''
C88A 98 
 "D''
NCCA DC 	 988
 DCCs   6	C0	CCC,r   )NNr   )r|   r}   r~   r   r#  r/  r3  r7  r<  r@  rD  rH  rK  rP  r[  ra  r   r   r   s   @r   r  r    sG     7($@7
"747
?
2
	3 r   r  c                      a  ] tR tRt o R tR t]P                  R 4       tR t	R t
R tR tR	 tR
 tR tR tR tR tR tRtV tR# )TestDUFuncReduceAti  c                    \        VR 4      pV P                  W4      pVP                  4       pVP                  4       pVP                  ! Ws3/ VB  V! W3/ VB  V P	                  Wx4       R# )re   N)getattrr   r   r   r   )	r%   r   r   idxr  re   rr   r   r   s	   &&&&,    r   r   "TestDUFuncReduceAt._compare_output  s^    5*-^^E,668ffhx//
3v.r   c                j   \         P                  ! ^4      p\         P                  ! . RO4      pV P                  \         P                  ^ 4      pV! WVR7       V P                  \         P                  ! . RO4      V4       V! WVR7       V P                  \         P                  ! . RO4      V4       R# )r:  r   Nr   r   r7   rG   )r   r   r   r  )r  r  r  r  )r0   r   rP  r   r   r   )r%   r   rg  r  s   &   r   test_reduceat_out_kw'TestDUFuncReduceAt.test_reduceat_out_kw  sw    iiljj&^^BFFA.
3%

< 8#>3%

= 93?r   c           
        \         P                  ! ^4      P                  ^^4      \         P                  ! ^(4      P                  ^^^4      \         P                  ! R4      3p\         P                  ! . RO4      \         P                  ! . RO4      3pRpV F7  pV F.  pV F%  pV P                  \         P                  WEVR7       K'  	  K0  	  K9  	  R# )r@  r  Nr:  r:  r   r   r7   rG   r   rk  )r7   r   r   )r0   r   rK   r   rP  r   r   )r%   arraysr   r   r   rg  axs   &      r   test_reduceat_axis_kw(TestDUFuncReduceAt.test_reduceat_axis_kw  s     IIbM!!!Q'IIbM!!!Q*GGFO
 JJ'JJ|$
 EB(("(E   r   c                `   \         P                  ! R4      p\         P                  ! . RO4      pV P                  \         P                  ^ 4      pR FE  pRV RVP
                   2pV P                  \        V4      ;_uu_ 4        V! WV4       RRR4       KG  	  R#   + '       g   i     K\  ; i)r:  zaxis z) is out of bounds for array of dimension Nro  rk  )rG   rY  )r0   r   rP  r   r   r   r   r.   )r%   r   rg  add_reduceatrr  r  s   &     r   test_reduceat_invalid_axis-TestDUFuncReduceAt.test_reduceat_invalid_axis  s    ggfojj&~~bffa0B2$GhhZ!C''
C88Sr* 98  988s   
BB-c                >   V P                  \        P                  ^ 4      p. ROp. ROp\        P                  P                  W#4      pV! W#4      pV P	                  WE4       RpRp\        P                  P                  W#4      pV! W#4      pV P	                  WE4       R# )r   Nrp  r   )r   r0   r   r   r   )r%   rv  r   rg  r   r   s   &     r    test_reduceat_cast_args_to_array3TestDUFuncReduceAt.test_reduceat_cast_args_to_array  s    ~~bffa0 66??1*1". 66??1*1".r   c                z    \         P                  ! ^4      p. ROpV P                  \         P                  W4       R# )r<  N)r   r:  r7   rE   rG   r  r   r;  )r0   r   r   r   r%   r  rg  s   &  r   test_reduceat_basic&TestDUFuncReduceAt.test_reduceat_basic  s(    IIaL"RVVQ,r   c                    \         P                  ! ^ ^^4      P                  ^^4      p. ROpV P                  \         P                  W4       R# )r   Nrp  )r0   r1   rK   r   r   r}  s   &  r   test_reduceat_basic_2d)TestDUFuncReduceAt.test_reduceat_basic_2d  s:    KK2r"**1a0RVVQ,r   c                ^   ^p\         P                  ! V4      p\         P                  ! \        \	        \         P                  ! V^,
          4      \         P                  ! V^,
          4      ^,           4      4      4      P                  4       pV P                  \         P                  W#4       R# )r  N)r0   r   r   listr  ravelr   r   )r%   Lr  rg  s   &   r   test_reduceat_shifting_sum-TestDUFuncReduceAt.test_reduceat_shifting_sum  sj    IIaLhhtC		!a% 0"))AE2BQ2FGHIOOQRVVQ,r   c                   \         P                  ! ^\         P                  R7      p\         P                  ! ^\         P                  R7      pV P                  \         P                  V\         P
                  ! ^4      VR7       V P                  \         P                  V\         P
                  ! ^4      VR7       V P                  W4       \         P                  ! R\         P                  R7      p\        ^4       Uu. uF  p^NK  	  upVR&   \         P                  ! R\         P                  R7      p\        ^4       Uu. uF  p^NK  	  upVR&   V P                  \         P                  V\         P
                  ! ^4      VRR7       V P                  \         P                  V\         P
                  ! ^4      VRR7       V P                  W4       R# u upi u upi )r:  r   rj  )r   r   N)rG   r:  )r   ri  r   )r0   r   r  r   r   r   r   r  )r%   r   r   rn  s   &   r   (test_reduceat_int_array_reduceat_inplace;TestDUFuncReduceAt.test_reduceat_int_array_reduceat_inplace  s@   ggarxx(ggarxx(RVVS"))A,C@RVVS"))A,C@) ggfBHH- %a)1Q)D	ggfBHH- %a)1Q)D	RVVS"))A,CbIRVVS"))A,CbI) *)s   ?GGc           	        V P                  \        P                  ^ 4      pR F  p\        P                  ! ^4      p\        P                  ! ^4      pV'       d    VP	                  \        P
                  4      pV P                  \        4      ;_uu_ 4        V! V^ ^.VR7       RRR4       K  	  R#   + '       g   i     K  ; i)r   rj  N)TF)r   r0   r   r   r  r  r-   r.   )r%   rv  	with_castr   r   s   &    r    test_reduceat_out_shape_mismatch3TestDUFuncReduceAt.test_reduceat_out_shape_mismatch  s     ~~bffa0&I))A,C))A,C jj,"":..S1a&c2 /. ' /..s   B22Cc                ^   \         P                  ! . R4      p\         P                  ! . R4      pV P                  \         P                  ^ 4      p\         P                  P	                  W!4      pV! W!4      pV P                  WE4       V P                  VP                  VP                  4       \         P                  ! R4      p\         P                  ! . \         P                  R7      pV P                  \         P                  W&^ R7       V P                  \         P                  W&^R7       R# )z&Reduceat should work with empty arraysi4r  r   r  N)rE   rG   )r0   r   r   r   r   r   r8   r   r   rP  r   r   )r%   r   r  rv  r   r   rg  s   &      r   test_reduceat_empty&TestDUFuncReduceAt.test_reduceat_empty  s    ((2t$HHR~~bffa066??1.1&.3 GGFOjj277+RVVQ!4RVVQ!4r   c                D   V P                  \        P                  ^ 4      p\        P                  ! ^4      p\        P                  ! ^
4      P	                  ^^4      pV P                  \        R4      ;_uu_ 4        V! W#4       RRR4       R#   + '       g   i     R# ; i)r   zhave at most 1 dimensionN)r   r0   r   r   rK   r   r   )r%   rv  r   rg  s   &   r   test_reduceat_error_ndim_2-TestDUFuncReduceAt.test_reduceat_error_ndim_2(  sk    ~~bffa0 IIaLiim##Aq)##K1KLL  MLLLs   ;	BB	c                   a \         R  4       o\        V3R l4       p\        P                  ! ^4      pRpV P	                  \
        V4      ;_uu_ 4        V! V. RO4       RRR4       R#   + '       g   i     R# ; i)c                 .    \         P                  ! V 4      # r   r   r   s   &r   negGTestDUFuncReduceAt.test_reduceat_error_non_binary_function.<locals>.neg3  s    ;;q>!r   c                 &   < SP                  W4      # r   r   )r   rg  r  s   &&r   neg_reduceatPTestDUFuncReduceAt.test_reduceat_error_non_binary_function.<locals>.neg_reduceat7  s    <<''r   r   Nr+  )r   r   r0   r   r   r   )r%   r  r   r  r  s   &   @r   'test_reduceat_error_non_binary_function:TestDUFuncReduceAt.test_reduceat_error_non_binary_function1  si    		" 
	" 
	( 
	( IIaL<##K55I& 6555s   A))A:	c                   V P                  \        P                  ^ 4      pV P                  \        R4      ;_uu_ 4        V! R. R
O4       RRR4       V P                  \        R4      ;_uu_ 4        V! \        P
                  ! ^4      R4       RRR4       V P                  \        R4      ;_uu_ 4        V! \        P
                  ! ^4      . R
ORR7       RRR4       V P                  \        R4      ;_uu_ 4        V! \        P
                  ! ^4      . R
ORR	7       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)r   z"array" must be array-likeabcNz"indices" must be array-likeabcdzoutput must be an arrayrj  z"axis" must be an integerr  r   r   r  )r   r0   r   r   r   r   )r%   rv  s   & r   "test_reduceat_error_argument_types5TestDUFuncReduceAt.test_reduceat_error_argument_types@  s    ~~bffa0##K1MNN	* O ##K1OPP1v. Q ##K1JKK1yb9 L ##K1LMM1yt< NM ON QP LK NMMs/   D)1D<5"E="E")D9	<E	E	"E3	r   N)r|   r}   r~   r   r   rl  r  r  rs  rw  rz  r~  r  r  r  r  r  r  r  r  r   r   r   s   @r   rd  rd    sh     /@ F F 	+/&-
-
-*$3"5 !'= =r   rd  c                   2   a  ] tR tRt o R tR tR tRtV tR# )TestDUFuncPicklingiP  c                *  a \         P                  ! V4      p\         P                  ! V4      oS! ^{4      pV P                  ^{V4       V P	                  WB4       \
        V3R l4       pV! R4      pV P                  RV4       V P	                  WB4       R# ){   c                    < S! V 4      # r   r   )r  rebuilts   &r   r  %TestDUFuncPickling.check.<locals>.foo[  s    1:r   iA  N)pickledumpsloadsr8   assertIsInstancer   )r%   identresult_typebufr,  r  r  s   &&&   @r   checkTestDUFuncPickling.checkQ  s    ll5!,,s# CLa a- 
	 
	 Ha a-r   c                l    \         R  4       pV P                  V\        \        P                  3R7       R# )c                     V # r   r   x1s   &r   r  3TestDUFuncPickling.test_unrestricted.<locals>.identd      Ir   r  N)r   r  r   r0   integerr%   r  s   & r   test_unrestricted$TestDUFuncPickling.test_unrestrictedc  s/    		 
	 	

5sBJJ&7
8r   c                X    \        R .4      R 4       pV P                  V\        R7       R# )zfloat64(float64)c                     V # r   r   r  s   &r   r  1TestDUFuncPickling.test_restricted.<locals>.identk  r  r   r  N)r   r  r   r  s   & r   test_restricted"TestDUFuncPickling.test_restrictedj  s/    	&'	(	 
)	 	

5e
,r   r   N)	r|   r}   r~   r   r  r  r  r   r   r   s   @r   r  r  P  s     .$9- -r   r  __main__)$r   r-  r  ro   r  numpyr0   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   r   r   r  r  rd  r  r|   mainr   r   r   <module>r     s          ! 9@ @  ! -!cI("3"3 cIZ*/H */ZsM( sMld. d.NC, CLj=. j=Z-(*;*; -D zMMO r   