+
    eio c                   s   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RI	t	^ RI
Ht ^ RIt^ RIHt ^ RIt^ RIHu Ht ^ RIHtHtHtHtHtHtHtHtHtHtH t H!t!H"t"H#t#H$t$H%t%H&t&H't'H(t(H)t)H*t*H+t+H,t,H-t-H.t.H/t/H0t0H1t1H2t2H3t3H4t4 ^ RI5H6t6 ^ RI7H8t8 ^ RI9H:t: ^ R	I;H<t<H=t=H>t>H?t?H@t@HAtAHBtBHCtCHDtDHEtEHFtFHGtGHHtH R
 tIR tJ ! R R4      tK ! R R4      tL ! R R4      tM ! R R4      tN]P                  P                  R. RjO4      R 4       tQ ! R R4      tR ! R R4      tS ! R R4      tT ! R R4      tU ! R R4      tV ! R  R!4      tW ! R" R#4      tX ! R$ R%4      tY ! R& R'4      tZ ! R( R)4      t[R* t\ ! R+ R,4      t] ! R- R.4      t^ ! R/ R04      t_ ! R1 R24      t` ! R3 R44      ta ! R5 R64      tbRkR7 ltcRlR8 ltd ! R9 R:4      te ! R; R<4      tf ! R= R>4      tg ! R? R@4      th]P                  P                  RRA]P                  RB,          ,           ]P                  RC,          ,           4      ]P                  P                  RD. RmO4       ! RE RF4      4       4       tj ! RG RH4      tk ! RI RJ4      tl ! RK RL4      tm ! RM RN4      tn ! RO RP4      to ! RQ RR4      tp ! RS RT4      tq ! RU RV4      tr ! RW RX4      ts ! RY RZ4      tt ! R[ R\4      tu ! R] R^4      tv ! R_ R`4      tw. RnOtxRa.ty ! Rb Rc4      tz ! Rd Re4      t{ ! Rf Rg4      t| ! Rh Ri4      t}R# )o    N)Fraction)partial)arrays)angleaveragebartlettblackmancorrcoefcovdeletediffdigitizeextractflipudgradienthamminghanningi0insertinterpkaisermameshgrid	piecewiseplacerot90selectsetxor1dsinc	trapezoid
trim_zerosuniqueunwrap	vectorize)normalize_axis_tuple)	AxisError)rand)HAS_REFCOUNTIS_WASMNOGIL_BUILDassert_assert_allcloseassert_almost_equalassert_array_almost_equalassert_array_equalassert_equalassert_raisesassert_raises_regexassert_warnssuppress_warningsc                 sp    \         P                  ! V 4      p\         P                  P                  W4      pV# N)nparangeaddouter)ndata   & I/usr/lib64/python3.14/site-packages/numpy/lib/tests/test_function_base.pyget_matr<   E   s&    99Q<D66<<#DK    c                s    \         P                  ! \         P                  ! W4      P                  \         P                  4      pWn        Wn        V# )zU
Like real + 1j * imag, but behaves as expected when imag contains non-finite
values
)r4   zerosZ	broadcastshape
complex128realimag)rA   rB   Zret   && r;   _make_complexrD   K   s6    
 ((2<<+112==
ACHHJr=   c                   s2   a  ] tR t^Vt o R tR tR tRtV tR# )	TestRot90c           	     s   \        \        \        \        P                  ! ^4      4       \        \        \        \        P                  ! R4      RR7       \        \        \        \        P                  ! R4      RR7       \        \        \        \        P                  ! R4      R	R7       \        \        \        \        P                  ! R4      RR7       . RO. RO.p^^.^^.^ ^..p. RO. RO.p^^ .^^.^^..p. RO. RO.p\        R^^4       F  p\        \        WR7      V4       K  	  \        R
^^4       F  p\        \        WR7      V4       K  	  \        R^^4       F  p\        \        WR7      V4       K  	  \        ^ ^^4       F  p\        \        WR7      V4       K  	  \        \        \        VRR7      RR7      V4       \        \        V^RR7      \        VRRR7      4       R# )   axes)krI   rH   N   rL   rL   r       rL   rL   rL   r    rL   rN   rN   )rR   rN      rF      rU   rF   rT   rL   rN   r    r    rN   rN   r    )r/   
ValueErrorr   r4   onesranger.   )selfaZb1Zb2Zb3Zb4rI      &      r;   
test_basicZTestRot90.test_basicW   s   j%4j%);)Lj%vFj%vFj%);'J!f!f!f !f!f!f  r2q!Aq+ "r2q!Aq+ "r2q!Aq+ "q"aAq+ ! 	U50v>BU1/qBV1LMr=   c                s    \         P                  ! R4      p\        \        V4      P                  R4       \        \        VRR7      \        VRR7      4       \        \        VRR7      \        VRR7      4       R# )	2   rG   N)rc   (   rT   )rd   rc   rT   rP   r    rY   rN   rL   rR   rY   )r4   r]   r.   r   r?   r_   r`   r:   r;   	test_axesZTestRot90.test_axesw   sR    GGK U1X^^[1U16*E!',BCU16*E!(,CDr=   c           
     s   \         P                  ! ^4      P                  R4      p^^.^^..^ ^.^^...p^^.^ ^..^^.^^...p^^ .^^..^^.^^...p^^.^ ^..^^.^^...p\        \	        VRR7      V4       \        \	        VRR7      V4       \        \	        VRR7      V4       \        ^^4       F,  p\        \	        WRR7      \	        WF^,
          RR7      4       K.  	  R# )	   rG   rJ   NrK   rZ   r[   rf   )rL   r    )r4   r5   reshaper.   r   r^   )r_   r`   Z
a_rot90_01Z
a_rot90_12Z
a_rot90_20Z
a_rot90_10rI   ra   r;   test_rotation_axesZTestRot90.test_rotation_axes}   s9   IIaL  +1v1v1v1v 
 1v1v1v1v 
 1v1v1v1v 
 1v1v1v1v 

 	U16*J7U16*J7U16*J7q!AqF3zU@B r=    N)	__name__
__module____qualname____firstlineno__rb   ri   rl   __static_attributes____classdictcell____classdict__   @r;   rE   rE   V   s     N@EB Br=   rE   c                   sV   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V tR# )TestFlipc                s   \        \        \        P                  \        P                  ! ^4      ^R7       \        \        \        P                  \        P                  ! R4      ^R7       \        \        \        P                  \        P                  ! R4      RR7       \        \        \        P                  \        P                  ! R4      RR7       R# )rF   axisNrF   rF   rX   r    rT   )r/   r$   r4   flipr]   r_      &r;   ri   ZTestFlip.test_axes   sj    i"''!*1=i"''&/Bi"''&/Ci"''&/Gr=   c                s    \        ^4      pVRRRR13,          p\        \        P                  ! V^4      V4       . RO. RO.p. RO. RO.p\        \        P                  ! V^4      V4       R# )rF   NNNNrY   rM   rS   rW   rV   r<   r.   r4   r|   r_   r`   b   &  r;   test_basic_lrZTestFlip.test_basic_lr   s^    AJa2gJRWWQ]A&RWWQ]A&r=   c                s    \        ^4      pVRRR1R3,          p\        \        P                  ! V^ 4      V4       . RO. RO.p. RO. RO.p\        \        P                  ! V^ 4      V4       R# )rF   Nr   rY   rM   rS   r   r   r   r;   test_basic_udZTestFlip.test_basic_ud   s^    AJddAgJRWWQ]A&RWWQ]A&r=   c                s    \         P                  ! ^ ^.^^..^^.^^...4      p\         P                  ! ^^.^^..^ ^.^^...4      p\        \         P                  ! V^ 4      V4       R# r    Nr4   arrayr.   r|   r   r   r;   test_3d_swap_axis0ZTestFlip.test_3d_swap_axis0       HH1v1v1v1v  !
 HH1v1v1v1v  !
 	RWWQ]A&r=   c                s    \         P                  ! ^ ^.^^..^^.^^...4      p\         P                  ! ^^.^ ^..^^.^^...4      p\        \         P                  ! V^4      V4       R# r   r   r   r   r;   test_3d_swap_axis1ZTestFlip.test_3d_swap_axis1   r   r=   c                s    \         P                  ! ^ ^.^^..^^.^^...4      p\         P                  ! ^^ .^^..^^.^^...4      p\        \         P                  ! V^4      V4       R# r   r   r   r   r;   test_3d_swap_axis2ZTestFlip.test_3d_swap_axis2   r   r=   c           
     s6   \         P                  ! ^x4      P                  ^^^^4      p\        VP                  4       FW  p\        \         P                  ! W4      \         P                  ! VP                  ^ V4      4      P                  V^ 4      4       KY  	  R# )rL   N)	r4   r5   rk   r^   ndimr.   r|   r   swapaxes)r_   r`   ir   r;   test_4dZTestFlip.test_4d   sj    IIm$,,Q1a8qvvA1::a#34==aCE r=   c                s    \         P                  ! . RO. RO.4      p\         P                  ! . RO. RO.4      p\        \         P                  ! V4      V4       R# )rN   NrN   rL   rT   rF   rU      )r   rU   rF   rT   rL   rN   r   r   r   r;   test_default_axisZTestFlip.test_default_axis   sD    HHi! "HHi! "RWWQZ#r=   c                s   \         P                  ! ^ ^.^^..^^.^^...4      p\        \         P                  ! VRR7      V4       \         P                  ! ^^.^^..^^ .^^...4      p\        \         P                  ! VRR7      V4       \         P                  ! ^^.^^ ..^^.^^...4      p\        \         P                  ! VRR7      V4       R# )r    rx   Nrm   rP   rf   r   r_   r`   r   c   &   r;   test_multiple_axesZTestFlip.test_multiple_axes   s    HH1v1v1v1v  !
 	RWWQR(!,HH1v1v1v1v  !
 	RWWQV,a0HH1v1v1v1v  !
 	RWWQV,a0r=   rm   N)rn   ro   rp   rq   ri   r   r   r   r   r   r   r   r   rr   rs   rt   rv   r;   rw   rw      s9     H'''''E$1 1r=   rw   c                   ,   a  ] tR tRt o R tR tRtV tR# )TestAny  c                s    . ROp. ROp. ROp\        \        P                  ! V4      4       \        \        P                  ! V4      4       \        \        P                  ! V4      '       * 4       R# )r    Nr    r    rN   r    r    r    r    r    )rN   r    rN   r    )r)   r4   anyr_   y1y2y3r   r;   rb   ZTestAny.test_basic  sC    r
r
BFF2Jr=   c                s    . RO. RO. RO.p\        \        P                  ! V4      4       \        \        P                  ! V^ R7      . RO4       \        \        P                  ! V^R7      . RO4       R# )r    rx   Nr    r    r    r    rN   r    rN   rN   r    r    rN   rN   )r)   r4   r   r-   r_   r   r:   r;   test_ndZTestAny.test_nd  sH    I.r
266"1-y9266"1-y9r=   rm   Nrn   ro   rp   rq   rb   r   rr   rs   rt   rv   r;   r   r     s      : :r=   r   c                   r   )TestAlli  c                sT   . ROp. ROp. ROp\        \        P                  ! V4      '       * 4       \        \        P                  ! V4      4       \        \        P                  ! V4      '       * 4       \        \        P                  ! \        P                  ! V4      ( 4      4       R# )r    N)r    rN   rN   r    r   rN   rN   rN   rN   )r)   r4   allr   r   r   r;   rb   ZTestAll.test_basic  s`    BFF2Jr
BFF2J}%&r=   c                s    . RO. RO. RO.p\        \        P                  ! V4      '       * 4       \        \        P                  ! V^ R7      . RO4       \        \        P                  ! V^R7      . RO4       R# )r    rx   Nr    r    rN   r   rN   rN   rN   )r)   r4   r   r-   r   r:   r;   r   ZTestAll.test_nd  sJ    I.BFF2J266"1-y9266"1-y9r=   rm   Nr   rt   rv   r;   r   r     s     ': :r=   r   dtypec                 s
   \         P                  ! ^V R7      p\         P                  ! V4      P                  \         P                  8X  g   Q h\         P
                  ! V4      P                  \         P                  8X  g   Q hR# )rT   r   N)r4   r]   r   r   boolr   )r   arrr:   r;   test_any_and_all_result_dtyper   $  sR    
''!5
!C66#;'''66#;'''r=   c                   2   a  ] tR tRt o R tR tR tRtV tR# )TestCopyi+  c                s    \         P                  ! ^^.^^..4      p\         P                  ! V4      p\        W4       ^
VR&   \	        VR,          ^4       \	        VR,          ^
4       R# )rN   N)r    r    )r4   r   copyr-   r.   )r_   r`   a_copyr   r;   rb   ZTestCopy.test_basic-  sW    HHq!fq!f%&1%tQtWa VD\2&r=   c                s   \         P                  ! ^^.^^..4      p\        VP                  P                  4       \        VP                  P
                  '       * 4       \         P                  ! ^^.^^..RR7      p\        VP                  P                  '       * 4       \        VP                  P
                  4       \         P                  ! V4      p\        VP                  P                  4       \        VP                  P
                  '       * 4       \         P                  ! V4      p\        VP                  P                  '       * 4       \        VP                  P
                  4       R# )rN   ForderN)r4   r   r)   flagsc_contiguousf_contiguousr   )r_   r`   Za_fortr   Za_fort_copy   &    r;   
test_orderZTestCopy.test_order5  s     HHq!fq!f%&$$%AGG((()Aq6Aq6*#6FLL---.))*))*FLL---.ggfoK%%2223!!../r=   c           	     s   \         P                  ! ^4      p\        \         P                  ! \        P
                  ! VRR7      4      '       * 4       \        \         P                  ! \        P
                  ! VRR7      4      4       \        \         P                  ! \        P
                  ! V4      4      '       * 4       R# )rU   F)ZsubokTN)r   r]   r)   ZisMaskedArrayr4   r   )r_   Zmxr:   r;   
test_subokZTestCopy.test_subokF  sl    WWQZB$$RWWRu%=>>?  4!89:B$$RWWR[112r=   rm   N)	rn   ro   rp   rq   rb   r   r   rr   rs   rt   rv   r;   r   r   +  s     '0"3 3r=   r   c                   s   a  ] tR tRt o R t]P                  P                  R. RORR.. ROR.R.3. RO. RO.^ . RO.^^.. RO.. RO.3.4      R 4       tR	 t	R
 t
R tR tR tR tR tR tRtV tR# )TestAverageiN  c                s   \         P                  ! . RO4      p\        \        V^ R7      R8H  4       \         P                  ! . RO4      p\        \        V^ R7      R8H  4       . ROp\        \        V^ R7      R8H  4       \         P                  ! R4      p^ VR	&   ^VR
&   \        VP                  ^ 4      \        V^ 4      4       \        VP                  ^4      \        V^4      4       \        ^^4      p\        VP                  ^ 4      \        V^ 4      4       \        VP                  ^4      \        V^4      4       R# )rN   rx          @        Nr         ?r         @)r   r   r   rz   rZ   r[   )r4   r   r)   r   r]   r+   meanr%   )r_   r   r   r   Zy4Zy5   &     r;   rb   ZTestAverage.test_basicP  s    XXi #r)*XXl##r)*#r)*WWV_44BGGAJA7BGGAJA7!QZBGGAJA7BGGAJA7r=   z<x, axis, expected_avg, weights, expected_wavg, expected_wsumNr         ?       @c                s0   \         P                  ! WR R7      pVP                  \         P                  ! V4      8X  g   Q h\        Ws4       \         P                  ! WVR R7      pVP                  \         P                  ! V4      8X  g   Q h\        W4       \         P                  ! WVR R R7      w  rVP                  \         P                  ! V4      8X  g   Q h\        W4       V	P                  \         P                  ! V4      8X  g   Q h\        W4       R# )Try   keepdims)ry   weightsr   )ry   r   returnedr   N)r4   r   r?   r-   )
r_   xry   Zexpected_avgr   Zexpected_wavgZexpected_wsumavgZwavgZwsums
   &&&&&&&   r;   test_basic_keepdimsZTestAverage.test_basic_keepdimsb  s     jj5yyBHH\22223-zz!$GzzRXXm44444/ZZg)-/
zzRXXm44444/zzRXXm44444/r=   c                s8   \         P                  ! ^
4      p\         P                  ! ^
4      p\        WR7      p\         P                  ! ^
4      ^,          P                  4       R,          \         P                  ! ^
4      P                  4       ,          p\	        W44       \         P
                  ! . RO. RO.4      p^^.p\        WV^ R7      p\         P
                  ! . RO4      p\	        W44       . ROp\        WW^R7      p\         P
                  ! RR.4      p\	        W44       \        P                  ! \        RR	7      ;_uu_ 4        \        WWR7       R
R
R
4       . RO. RO.p\         P
                  ! RR.4      p\        \        WX^R7      V4       \        \        WXR7      R4       \        ^4      P                  \         P                  4      p	\        ^4      P                  \         P                  4      p
\        \         P                  ! WR7      P                   \         P"                  ! W4      8H  4       \         P
                  ! . RO4      P%                  ^^4      p\         P
                  ! . RO4      P%                  ^^4      p\         P                  ! W^RR7      p\         P
                  ! . RO4      p\        W44       \         P                  ! W^RR7      p\         P
                  ! R.R.R..4      p\        W44       R
#   + '       g   i     EL; i)
   r   r   r   ry   r         @      @      @z:Axis must be specified when shapes of a and weights differZmatchNF)r   ry   r   r   Tr   r   )r   r   r   r   )r    r    rL   rL   rT   rF   )r   r   r   )r4   r5   r   sumr+   r   pytestraises	TypeErrorr-   r.   r%   astypefloat32float64r)   r   result_typerk   )r_   ywactualdesiredr   w0w1w2r   Zw3r      &           r;   test_weightsZTestAverage.test_weightsy  s+   IIbMIIbM&99R=A%**,r1BIIbM4E4E4GGF,XXy),-Va0((<(F,a0((B8$F, ]]+, , B#	, #((B8$72:GDWR,b1!W^^BJJ'!W^^BJJ'

2*00BNN24JJK HHY''1-HHY''1-Aq5A((<(6+Aq4@((RD2$-.6+7, , ,s   LL	c                s   \         P                  ! ^4      P                  ^^^4      p\         P                  ! . R	O4      P                  ^^^4      pVR
,          p\	        VRVR7      p\         P                  ! . RO4      p\        WE4       VR,          p\	        VRVR7      p\         P                  ! RR.4      p\        WE4       VR,          p\	        VRVR7      p\         P                  ! RR.4      p\        WE4       \        P                  ! \        RR7      ;_uu_ 4        \	        VRVR7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \	        VRVR7       RRR4       \	        VRVR7      p\	        VRVP                  R7      p\        WE4       \	        VRVR7      p\        VP                  ^ 8H  4       R#   + '       g   i     L; i  + '       g   i     L|; i)   )ry   r   g      @g      @      @g      @zHShape of weights must be consistent with shape of a along specified axisr   N)r   r   r         ?r   r   r   r   r   r   r   r   )r   r   r    rZ         @r         "@)rN   r   r   rf   )r   r    r   rP   rM   r[   )r4   r5   rk   r   r   r+   r   r   r\   Tr)   r   )r_   r   r   Zsubw0r   r   Zsubw1Zsubw2   &       r;   $test_weight_and_input_dims_differentZ0TestAverage.test_weight_and_input_dims_different  s   IIbM!!!Q*HHEFWQ1 	
 '
7((<(F,'
7((D$<(F,'
7((D$<(F, ]]89 9 AIu5	9 ]]89 9 AFE2	9 7!&%'':F, A6q !'9 99 9s   #GG!G	!G1	c                s   \         P                  ! . RO. R	O.4      p\        VRR7      w  r#\        VR4       \        V^ RR7      w  r#\	        V\         P                  ! . R
O4      4       \        V^RR7      w  r#\	        V\         P                  ! RR.4      4       ^^.p\        W^ RR7      w  r#\	        V\         P                  ! . RO4      4       . ROp\        W^RR7      w  r#\	        V\         P                  ! RR.4      4       . RO. RO.p\        W^RR7      w  r#\	        V\         P                  ! RR.4      4       R# )rN   T)r   r   r   )r   ry   r   r   Nr   r   )r   r   r   )r   r   r   r   )r4   r   r   r.   r-   )r_   r   r   Zsclr   r   r   ra   r;   test_returnedZTestAverage.test_returned  s   HHi+, 1t,S"1a$/3 671a$/3"b 23 V1q4@3 671q4@3"b 23#1q4@3"b 23r=   c           	     s    ! R  R\         P                  4      p\         P                  ! ^^.^^..4      P                  V4      p\         P                  ! ^^.^^..4      P                  V4      p\	        \        \         P                  ! V4      4      V4       \	        \        \         P                  ! W#R7      4      V4       R# )c                       ] tR tRtRtR# )-TestAverage.test_subclasses.<locals>.subclassi  rm   Nrn   ro   rp   rq   rr   rm   r=   r;   subclassr         r=   r   r   N)r4   ndarrayr   viewr.   typer   )r_   r   r`   r   r   r;   test_subclassesZTestAverage.test_subclasses  s    	rzz 	HHq!fq!f%&++H5HHq!fq!f%&++H5T"**Q-((3T"**Q23X>r=   c                s   . ROpV F  w  r#p\         P                  ! ^^.^^..VR7      p\         P                  ! ^^.^^..VR7      p\        \         P                  ! WVR7      P                  \         P                  ! V4      4       K  	  R# )i4r   r   N))r   r   f8)r   f4r   )r  r   r   )r  r  r  )r  r   r   )r4   r   r.   r   r   )r_   ZtypsZatZwtZrtr`   r   ra   r;   test_upcastingZTestAverage.test_upcasting  sr    9JBB1a&1a&)4A1a&1a&)4AA177"F r=   c                s   \         P                  ! \        ^
4       Uu. uF  p\        P                  ! V4      NK  	  up4      p\         P                  ! \        ^
4       Uu. uF  p\        P                  ! ^4      NK  	  up4      pWDP                  4       ,          p\        VP                  ^ 4      \        W$R7      4       R# u upi u upi )r   r   N)	r4   r   r^   decimalDecimalr   r+   r   r   )r_   r   r`   Z_r   r   r;   test_object_dtypeZTestAverage.test_object_dtype  s    HH%)<)Qgooa()<=HH%)<)Qgooa()<=	UUWAFF1Iwq'<= =<s   C!C	c                s    \         P                  ! \        ^
4       Uu. uF  p\        P                  ! V4      NK  	  up4      p\        V4      pV\        P                  ! R4      8X  g   Q hR# u upi )r   z4.5N)r4   r   r^   r  r  r   )r_   r   r`   mr   r;   test_object_no_weightsZ"TestAverage.test_object_no_weights  sQ    HH%)<)Qgooa()<=AJGOOE**** =s   A.c                s    \         P                  ! \        ^^4      \        ^^4      .4      p\        \         P                  ! V4      \        ^^4      4       R# rN   N)r4   r   r   r.   r   rh   r:   r;    test_average_class_without_dtypeZ,TestAverage.test_average_class_without_dtype	  s9    HHhq!nhq!n56RZZ]HQN3r=   rm   r   )rT   rF   rN   )rN   rL   rU   )rN   r      )r   r   r   )r   r         #@rF   rF   rF   )rn   ro   rp   rq   rb   r   markparametrizer   r   r   r   r   r  r  r  r	  rr   rs   rt   rv   r;   r   r   N  s     8$ [[F
TC5)dVcU	;j
!1&7a&?#i[
2	300".,`("T44?G>+
4 4r=   r   c                   s:  a  ] tR tRt o ]P
                  ! . RO4      ]P
                  ! . RO4      ]P
                  ! . RO4      .t]P
                  ! . RO4      ]P
                  ! . RO4      ]P
                  ! . RO4      .tRR ltR t	R t
R tR tR tR tR	tV tR
# )
TestSelecti  c                s    . p\        \        V4      4       FJ  pT\        W!4       UUu. uF  w  rgWu,          '       g   K  We,          NK  	  upp;'       g    V.,          pKL  	  V# u uppi r3   )r^   lenzip)r_   Zcondvaluesdefaultoutputr  VCs   &&&&    r;   _selectZTestSelect._select  s]    s4y!AF(9B(9QTTtqtt(9BOOwiOF " Cs   A'
 A'
c           	     s    V P                   pV P                  p\        \        W!^R7      V P	                  W!^R7      4       \        \        V4      ^4       \        \        V4      ^4       R# )i   r  N)choices
conditionsr-   r   r  r.   r  r_   r  r  r   r;   rb   ZTestSelect.test_basic  sT    ,,__
6*rB<<
R<H	J 	S\1%S_a(r=   c                sN   \         P                  ! R 4      \         P                  ! . RO4      .p^\         P                  ! ^4      P                  ^^4      .p\	        \        W4      \         P                  ! R4      4       \        \        R .^ .^ .R7      P                  R4       R# )Tr  NFTFrF   rT   rN   )	r4   r   r5   rk   r-   r   r]   r.   r?   r_   r  r  r   r;   test_broadcastingZTestSelect.test_broadcasting&  ss    hhtnbhh/C&DE
biim++Aq126*6HVTFQC!5;;TBr=   c           	     sL   \        \        V P                  V P                  R 4      P                  \
        P                  4       V P                   Uu. uF!  qP                  \
        P                  4      NK#  	  pp\        \        V P                  V4      P                  \
        P                  4       \
        P                  ! ^^^\
        P                  ^^.4      p\
        P                  ! V4      p\        \        V.V.4      ^ ^ ^ \
        P                  ^ ^ .4       R# u upi )              ?N)r.   r   r  r  r   r4   r@   r   int8r   nanZisnan)r_   Zchoicer  dr  r   r;   test_return_dtypeZTestSelect.test_return_dtype-  s    VDOOT\\2>DD]]	$ 9=Ef==)EVDOOW5;;RWWEHHaArvvq!,-HHQKVQC!%1aA'>? Fs   'D!c                s`    \        \        \        . . R 4       \        \        \        . . 4       R# )              @N)r/   r\   r   r}   r~   r;   test_deprecated_emptyZ TestSelect.test_deprecated_empty9  s     j&"b"5j&"b1r=   c                sf   V P                   pV P                  R ,          pV^ ,          P                  \        P                  4      V^ &   \        \        \        W!4       V^ ,          P                  \        P                  4      V^ &   \        \        \        W!4       \        \        \        W!4       R# )r   N)	r  r  r   r4   int_r/   r   r   uint8r  r   r;   test_non_bool_deprecationZ$TestSelect.test_non_bool_deprecation=  su    ,,__Q'
"1,,RWW5
1i="1,,RXX6
1i=i=r=   c                s    \         P                  ! R .4      .^d,          p\         P                  ! ^.4      .^d,          p\        W4       R# )FN)r4   r   r   r  r   r;   test_many_argumentsZTestSelect.test_many_argumentsF  s8    hhw'(3.
88QC=/C'z#r=   rm   Nr   r      rj   	   )FFFr  FFTr    )rn   ro   rp   rq   r4   r   r  r  r  rb   r   r%  r'  r*  r+  rr   rs   rt   rv   r;   r  r    s     xx	"xx	"xx	"$G ((01((/0((/02J)C
@2>$ $r=   r  c                   s   a  ] tR tRt o R tR tR tR tR tR t	R t
]P                  P                  R	^R.4      R
 4       tRtV tR# )
TestInsertiM  c           
     s    . ROp\        \        V^ ^4      . RO4       \        \        V^^4      . RO4       \        \        V. RO. RO4      . RO4       \        \        V^. RO4      . RO4       \        \        V. R
O^	4      . RO4       \        \        V\        R	RR	4      ^	4      . RO4       \        \        V. RO. RO4      . RO4       \        P                  ! ^ ^.\        P
                  R7      p\        \        V^ V^ ,          4      . RO4       \        \        V. . 4      V4       \        \        V\        P                  ! R.^,          4      ^	4      . RO4       \        \        V\        P                  ! . RO4      ^	4      . RO4       R# )rN   Nr   Tr   )rN   rN   rL   rT   )rN   rL   rT   rN   r   )rN   rN   rL   rT   rL   rT   rY   )rN   rY   rT   )rN   r.  rL   r.  rT   r.  )r.  rN   r.  rL   r.  rT   rY   rN   rT   r,  )rN   rj   rL   r-  rT   r.  r   r   r   )r.  rN   r.  rL   r.  rT   r.  )TFTF)r.  rN   rL   r.  rT   )r.   r   slicer4   r   r   r   r   r;   rb   ZTestInsert.test_basicO  s   VAq!_l3VAq!_l3VAy)46HIVAq),.@AVAz1-/ABVAuRr2A68JKVAz957IJHHaV2::.VAq!A$'6VAr2&*VArxx
3Q79NOVArxx(BCQG$	&r=   c           
     s   . RO.p. RO. RO.p\        \        V^ ^.4      . RO4       \        \        V^ . RO^ R7      V4       \        \        V^ ^^ R7      V4       \        \        V^^^R7      . RO.4       \        P                  ! ^^.^^.^^..4      p\        P                  ! ^^4      P                  ^4      P                  ^^4      p\        P                  ! VR,          \        P                  ! ^^4      P                  ^4      P                  ^^4      P                  VR,          3^R7      p\        \        V^.^.^.^..^R7      V4       \        \        V^.. R	O^R7      V4       \        \        V^. R	O^R7      V4       \        \        V^^.^.^..^R7      V4       \        P                  ! ^4      P                  ^^4      p\        \        VR
,          ^VR,          ^R7      V4       \        \        VR,          ^VR,          ^ R7      V4       \        P                  ! ^4      P                  R4      p\        \        V^VR,          RR7      \        V^VR,          ^R7      4       \        \        V^VR,          RR7      \        V^VR,          ^R7      4       \        \        \        V^VR,          ^R7       \        \        \        V^VR,          RR7       \        P                  ! ^4      P                  R4      p\        \        V^VR,          RR7      \        V^VR,          ^R7      4       \        \        V^VR,          RR7      \        V^VR,          ^R7      4       R# )rN   rx   Nr   rK   r   )rN   rN   rL   rN   )r   :r    rN   N)r   rN   rL   Nr   )r   NrN   Nr   rN   )r6  r   rN   r   r   )r   r   rT   rY   )r   rL   r   rR   )r.   r   r4   r   r5   repeatrk   Zconcatenater   r/   r$   )r_   r`   rr   r   r   r;   test_multidimZTestInsert.test_multidim_  s   KVAq1#&5VAq)!4a8VAq!!,a0VAq!!,|n=HHq!fq!fq!f-.IIaO""1%--a3NNvY		!Q..q199!Q?AAvY! 	VAsaS1#sO!<a@VAsIA6:VAq)!4a8VAqA3aS/:A>IIaL  A&VAeHa4q91=VAeHa4q91= IIbM!!),VAq!G*26Aq!G*15	7VAq!G*26Aq!G*15	7 	iAqzBiAqzC IIbM!!),VAq!G*26Aq!G*15	7VAq!G*26Aq!G*15	7r=   c           	     sh   \         P                  ! ^4      p\        P                  ! \        4      ;_uu_ 4        \        V. ^^ R7       RRR4       \        P                  ! \        4      ;_uu_ 4        \        V. ^RR7       RRR4       R#   + '       g   i     LL; i  + '       g   i     R# ; irN   rx   NZnonsense)r4   r   r   r   r$   r   r   rh   r:   r;   test_0dZTestInsert.test_0d  si    HHQK]]9%%1b!!$ &]]9%%1b!*- &% &%%%%s   B3B B	 B1	c                s
    ! R  R\         P                  4      p\         P                  ! ^
4      P                  V4      p\	        \        \         P                  ! V^ ^ .4      V4      4       \	        \        \         P                  ! V. . 4      V4      4       \	        \        \         P                  ! V^ ^.^^.4      V4      4       \	        \        \         P                  ! V\        ^^4      ^^.4      V4      4       \	        \        \         P                  ! V\        ^RR4      . 4      V4      4       \         P                  ! ^4      P                  V4      p\	        \        \         P                  ! V^ ^ .4      V4      4       R# )c                   r   )*TestInsert.test_subclass.<locals>.SubClassi  rm   Nr   rm   r=   r;   SubClassr?    r   r=   r@  NrR   rY   )	r4   r   r5   r   r)   
isinstancer   r4  r   r_   r@  r`   r   r;   test_subclassZTestInsert.test_subclass  s	   	rzz 	IIbMx(
299QA3/:;
299QB/:;
299QAA7BC
299QaaV<hGH
299QaR(8"=xHIHHQKX&
299QA3/:;r=   c                s    \         P                  ! . RO4      p\         P                  ! . ROV. RO4       \        V\         P                  ! . RO4      4       R# )rN   Nr   rM   rS   )r4   r   r   r.   r_   r   r:   r;   test_index_array_copiedZ"TestInsert.test_index_array_copied  s3    HHY
		)Q	*Q+,r=   c                s   \         P                  ! . RORR.R7      pRp\         P                  ! V^ V4      p\        V^ ,          \         P                  ! W#P                  R7      4       R.^,          p\         P                  ! V^ ^.V4      p\        V^ ^.,          \         P                  ! W#P                  R7      4       R# )rN   r   N))rN   r`   )rL   r   )rT   r   )foor   )barZS1)rF   r$  )r4   r   r   r-   r   )r_   r`   Zvalr   r   r;   test_structured_arrayZ TestInsert.test_structured_array  s    HH3(-8:IIaC 1Q4#WW!=>j1nIIa!Q%1aV9bhhs''&BCr=   c           
     s   \         P                  ! \        4      ;_uu_ 4        \        P                  ! . RO\        P
                  ! RR.4      ^
^.4       RRR4       \         P                  ! \        4      ;_uu_ 4        \        P                  ! . RO\        P
                  ! . \        R7      . 4       RRR4       R#   + '       g   i     Lq; i  + '       g   i     R# ; ir    r   r   Nr   rM   )r   r   
IndexErrorr4   r   r   floatr}   r~   r;   test_index_floatsZTestInsert.test_index_floats  s|    ]]:&&IIi3*!5Bx@ ']]:&&IIi"E!:B? '& '&&&&s   3B? 5C?C	C#	idxc                s    \         P                  ! \        R R7      ;_uu_ 4        \        P                  ! . ROV.^^.4       RRR4       R#   + '       g   i     R# ; i)zout of boundsr   NrM   )r   r   rJ  r4   r   )r_   rM     &&r;   test_index_out_of_boundsZ#TestInsert.test_index_out_of_bounds  s8    ]]:_==IIi#A/ >===s   AA	rm   Nr9  )rn   ro   rp   rq   rb   r<  r>  rC  rE  rH  rL  r   r  r  rO  rr   rs   rt   rv   r;   r1  r1  M  sT     & (7T.<-
D@ [[UQG,0 -0r=   r1  c                   &   a  ] tR tRt o R tRtV tR# )TestAmaxi  c                s    . ROp\        \        P                  ! V4      R4       . RO. RO. RO.p\        \        P                  ! V^ R7      . RO4       \        \        P                  ! V^R7      . R	O4       R# )
rT         $@rx   NrT   rF   rU   r   rX   r   rT   r   r   rF   rR  r   rj   r   r   )r   rR  r   )r   rR  r   )r.   r4   Zamaxr   r   r;   rb   ZTestAmax.test_basic  sW    &RWWQZ& 	RWWQQ')9:RWWQQ')9:r=   rm   Nrn   ro   rp   rq   rb   rr   rs   rt   rv   r;   rQ  rQ    s     ; ;r=   rQ  c                   rP  )TestAmini  c                s    . ROp\        \        P                  ! V4      R4       . RO. RO. RO.p\        \        P                  ! V^ R7      . RO4       \        \        P                  ! V^R7      . R	O4       R# )
rT   rx   NrS  g      rU  rV  rW  )r   r   r   )r   r   r   )r.   r4   aminr   r   r;   rb   ZTestAmin.test_basic  sU    &RWWQZ& 	RWWQQ'9RWWQQ'9r=   rm   NrX  rt   rv   r;   rY  rY    s     : :r=   rY  c                   rP  )TestPtpi  c                s   \         P                  ! . RO4      p\        \         P                  ! V^ R7      R4       \         P                  ! . RO. R	O. R
O.4      p\        \         P                  ! V^ R7      . RO4       \        \         P                  ! VRR7      . RO4       \        \         P                  ! V^ RR7      . RO.4       \        \         P                  ! VRRR7      R..4       R# )rT   rx         .@Tr   r   NrS  rU  rV  rW  )r   r   r   rY   )r   r   r   rZ   )r4   r   r.   Zptpr   r   r;   rb   ZTestPtp.test_basic  s    HH/0RVVAA&-HHm$#% & 	RVVAA&8RVVAB'9RVVAA57HIRVVAFT:cUGDr=   rm   NrX  rt   rv   r;   r[  r[    s     
E 
Er=   r[  c                      a  ] tR tRt o ]P
                  P                  R]P                  ]P                  .4      R 4       t
RtV tR# )
TestCumsumi  cumsumc           
     s   . ROp. RO. RO. RO.p\         P                  \         P                  \         P                  \         P                  \         P
                  \         P                  \         P                  \         P                  \         P                  \         P                  3
 F  p\         P                  ! W$4      p\         P                  ! W44      p\         P                  ! . ROV4      p\        V! V^ R7      V4       \         P                  ! . RO. RO. R	O.V4      p\        V! V^ R7      V4       \         P                  ! . R
O. RO. RO.V4      p\        V! V^R7      V4       K  	  R# )rN   rx   NrN   rL   r   r
  r   rU   rF   rN   rL   rT   rF   rU   r   r-  r.  r   rT   rF   rU   )rN   rT            i#   i'   )r   rj   r   rd  )i   r
  i      )rN   rT   r   r   )rU   r
  rg     )r   rd  i   i   )r4   r"  r)  int16uint16int32uint32r   r   	complex64r@   r   r-   )r_   r_  baba2ctyper`   a2tgts   &&      r;   rb   ZTestCumsum.test_basic  s    $\=9ggrxx299bhhiiRZZmm%E #A#%B((5u=Cvaa0#6((~/?@%ICvbq137((1ABEKCvbq137%r=   rm   N)rn   ro   rp   rq   r   r  r  r4   r_  cumulative_sumrb   rr   rs   rt   rv   r;   r^  r^    s8     [[X		23D3D'EF8 G8r=   r^  c                   rP  )TestProdi  c                s   . ROp. RO. RO. RO.p\         P                  \         P                  \         P                  \         P                  \         P
                  \         P                  \         P                  \         P                  3 F  p\         P                  ! W4      p\         P                  ! W#4      pVR9   dB   \        \        \         P                  V4       \        \        \         P                  V^4       Kw  \        VP                  ^ R7      R4       \        VP                  ^ R7      \         P                  ! . R	OV4      4       \        VP                  R
R7      \         P                  ! . ROV4      4       K  	  R# )rN   rx    g  Nr`  ra  rb  rc  Z1r   rc   $   iT      rY   )re  b  X  )r4   ri  rj  rk  rl  r   r   rm  r@   r   r/   ArithmeticErrorprodr.   r-   )r_   rn  ro  rp  r`   rq  r   r;   rb   ZTestProd.test_basic  s    $\=9hh		288RYYjj"**bllBMMKE#A#%B
"orww:orwwA>QVVV^U3"2777?#%88,=u#EG"2777#3#%88OU#CEKr=   rm   NrX  rt   rv   r;   rt  rt    s     E Er=   rt  c                   r]  )TestCumprodi  cumprodc           
     s   . ROp. RO. RO. RO.p\         P                  \         P                  \         P                  \         P                  \         P
                  \         P                  \         P                  \         P                  3 F  p\         P                  ! W$4      p\         P                  ! W44      pVR9   d4   \        \        W4       \        \        W^4       \        \        W4       Ki  \        V! VRR7      \         P                  ! . R	OV4      4       \        V! V^ R7      \         P                  ! . RO. R
O. RO.V4      4       \        V! VRR7      \         P                  ! . RO. RO. RO.V4      4       K  	  R# )rN   rx   Nr`  ra  rb  rc  rv  rY   )rN   rL      i   i(  i  ru  )rU   r   i   rx  rw  )rN   rL   r   re  )rU   rf  i   rz  )r   rf  ix   r{  )r4   ri  rj  rk  rl  r   r   rm  r@   r   r/   r|  r-   )r_   r  rn  ro  rp  r`   rq     &&     r;   rb   ZTestCumprod.test_basic  s#   $\=9hh		288RYYjj"**bllBMMKE#A#%B
"ow:owA>ow:"712#6#%88 -@AF$HI #72A#6#%88\-<->-@AF$HI #72B#7#%88]-?-?-ABG$IJ!Kr=   rm   N)rn   ro   rp   rq   r   r  r  r4   r  cumulative_prodrb   rr   rs   rt   rv   r;   r~  r~    s:     [[YR5G5G(HIJ JJr=   r~  c                  sX   \         P                  ! ^4      P                  R4      p \         P                  ! ^ ^ .^ ^.^^..^ ^ .^^.^
^...4      p\	        \         P
                  ! V ^RR7      V4       \         P                  ! . RO. R	O.. R
O. RO..4      p\	        \         P                  ! V ^RR7      V4       \         P                  ! R\         P                  R7      p\         P                  ! ^ ^ .^^.^^..\         P                  R7      p\         P                  ! ^^4      P                  R4      p \         P
                  ! V ^ VRR7       \	        W!4       \         P                  ! . RO4      p\	        \         P                  ! \         P                  ! ^^.4      RR7      V4       R# )rj   T)ry   include_initialr   )ry   outr  )r  NrK   )rN   r    r    )rN   rL   r   )rN   rF   r  )rN   r   i*   rT   rL   rO   )rN   rL   rF   )	r4   r5   rk   r   r-   rs  r  r>   r   )r   expectedr  s      r;   test_cumulative_include_initialr  '  s`   
))A,

y
)Cxx
Q!Q!Q Aq6Aq6B8"< H 
#At<h xx	IZ 8 H 
3Q=x ((6
,Cxx!Q!Q!Q0

CH
))Aq/
!
!&
)CcsDAs%xx	"H
288QF+TBHr=   c                   sP   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
tV tR# )TestDiffiD  c                sF   . ROp\         P                  ! . RO4      p\         P                  ! . RO4      p\         P                  ! ^ ^.4      p\        \        V4      V4       \        \        V^R7      V4       \        \        V^R7      V4       . ROp\         P                  ! . RO4      p\	        \        V4      V4       . R	Op\         P                  ! . R
O4      p\         P                  ! RR.4      p\        \        V4      V4       \        \        V^R7      V4       R# )rN   r8   TN)rN   rF   r   r-  r   )rT   rL   rN   rU   )rY   rY   rF   )皙?皙@r   gɿ皙)r  皙?g	皙?)TTFFr  )r4   r   r-   r   r+   )r_   r   r  out2out3r   r;   rb   ZTestDiff.test_basicF  s    hh|$xx$xxA47C(4Q<.4Q<.'hh,-DGS)&hh+,xxt%47C(4Q<.r=   c                s   \         P                  ! R4      p^VR&   \         P                  ! R4      pRVR&   \        \	        V4      \         P                  ! R4      4       \        \	        VRR7      \         P                  ! R4      4       \        \	        V^ R7      \         P                  ! R	4      4       \        \	        V^R7      V4       \        \	        VR
R7      V4       \        \        \        V^R7       \        \        \        VRR7       \         P                  ! R\         P                  4      p\        \        \        V4       R# )r   rx   gq?N)r   r  rf  )r   :rN   NrL   r   )r   i   rf  rY   )r   r     )r.  r  rf  rR   r9  )
r4   r>   r]   r-   r   r/   r$   r   r   r\   )r_   r   expr   r;   	test_axisZTestDiff.test_axisY  s    HH\"*ggl#J47BHH\$:;4+RXXl-CD4?BHH[,AB4?C04+S1iqq1iqr2HH]BJJ/j$*r=   c                s   ^\        ^
^^4      ,          pVR,          VRRRR13,          ,
          pVR,          VRRRR13,          ,
          pVR,          VRR1RR3,          ,
          pVR,          VRR1RR3,          ,
          p\        \        V4      V4       \        \        V^R7      V4       \        \        V^ R7      V4       \        \        V^^ R7      V4       R# )	r  r   Nr  rx   )r8   ry   )r   r   rN   NNrY   )r  r   r   )r%   r-   r   )r_   r   Zout1r  r  Zout4r   r;   r   ZTestDiff.test_ndi  s    b"b!!{Qq!SbSy\)H~Q3B3Y/{QssAqy\)H~SbS!QY/47D)4Q<.4?D14QQ/6r=   c           
     s:   \        \        ^4      4      p\        \        \        VRR7       \        ^^4       Uu. uF  p\	        WR7      NK  	  pp^^.^ .. . .p\        \	        V^ R7      VJ 4       \        \        WC4      ^R7       F  w  pw  rV\        \        V4      \        P                  J 4       \        We4       \        VP                  \        P                  4       \        \        V4      \!        ^ \        V4      V,
          4      4       K  	  R# u upi )rT   r  startNrY   )listr^   r/   r\   r   r)   	enumerater  r   r4   r   r-   r.   r   r(  r  max)r_   r   r8   r  r  Z
expected_nZoutput_nra   r;   test_nZTestDiff.test_nt  s    qNj$R0(-a41$q,4FQCR(Q!!")23x3HPQ)R%A%
DNbjj01x41XAs1vz(:;	 *S 5s   Dc                s   \         P                  ! R R\         P                  R7      p\         P                  ! ^^.RR7      \         P                  ! ^ .RR7      .pVP	                  \         P                  ! . RR7      .^,          4       \        V^R7       F<  w  r4\        WR7      p\        WT4       \        VP                  VP                  4       K>  	  R# )z
1066-10-13z
1066-10-16r   timedelta64[D]r  r  N)
r4   r5   Z
datetime64r   Zextendr  r   r-   r.   r   )r_   r   r  r8   r  r  r   r;   
test_timesZTestDiff.test_times  s    IIlLFHHaV#34HHaS 01
 	",<=>BC2FAq,Cs(CII. 3r=   c           	     s
   \         P                  ! ^^.^^.^^.^^.^	^
..RR.RR.RR.RR.RR..R7      p\        V4      p\        VP                  ^.^.^.^.^..4       \        VP
                  R.R.R.R.R..4       \        \        V4      \        V4      J 4       \        V^R7      p\        VP                  . . . . . .4       \        VP
                  . . . . . .4       \        \        V4      \        V4      J 4       R# )rN   FTmaskr  N)r   r   r   r-   r9   r  r)   r   )r_   r   r  r  r   r;   rC  ZTestDiff.test_subclass  s   HHq!fq!fq!fq!fq"g>!5>D%=!4=4,HI 1g388qcA3aS1#%>?388ugv'+ftfug&? 	@S	T!W$%A|499r2r2r&:;499r2r2r&:;T
d1g%&r=   c           	     s   \         P                  ! ^4      ^,           p\        \        V^ R7      \         P                  ! ^4      4       \        \        V^ .R7      \         P                  ! ^4      4       \        \         P
                  ! \         P                  ! V^ R7      4      V4       \        \        VR^ .R7      \         P                  ! ^4      4       \         P                  ! ^4      P                  ^^4      p\         P                  ! V^^ R7      p^ ^.^^..p\        W#4       \         P                  ! V^^ .^ ..R7      p\        W#4       \         P                  ! V^ ^ R7      p^ ^.^^..p\        W#4       \         P                  ! V^ ^ ^ ..R7      p\        W#4       \        \        \         P                  V\         P                  ! R4      R7       \        \        \        V^ ^R7       R# )rU   )prepend)ry   r  )r  ry   NrY   rT   rT   )r4   r5   r-   r   r]   r_  rk   r/   r\   r>   r$   r_   r   resultr  r   r;   test_prependZTestDiff.test_prepend  sb   IIaL141-rwwqz:4A3/<299RWWQ%:;Q?4B73RWWQZ@IIaL  A&A.FQF#6,aS1#J76,A.FQF#6,aVH56,j"''1bhhv6FGiq!!<r=   c                s   \         P                  ! ^4      p\        V^ R7      p. ROp\        W#4       \        V^ .R7      p\        W#4       \        V^ ^.R7      pV^.,           p\        W#4       \         P                  ! ^4      P	                  ^^4      p\         P                  ! V^^ R7      p^R.^R..p\        W#4       \         P                  ! V^^ .^ ..R7      p\        W#4       \         P                  ! V^ ^ R7      p^^.RR..p\        W#4       \         P                  ! V^ ^ ^ ..R7      p\        W#4       \        \        \         P                  V\         P                  ! R	4      R7       \        \        \        V^ ^R7       R# )
rU   )append)ry   r  )r  ry   N)rN   rN   rN   rN   r9  rY   rX   rR   r  )	r4   r5   r   r-   rk   r/   r\   r>   r$   r  r   r;   test_appendZTestDiff.test_append  s@   IIaLa"#6,a$6,aA'qc>6,IIaL  A&1-GaW%6,QC!:66,1-FRH%6,QF846,j"''1RXXf5EFiq;r=   rm   N)rn   ro   rp   rq   rb   r  r   r  r  rC  r  r  rr   rs   rt   rv   r;   r  r  D  s2     /&+ 	7
<
/'=0< <r=   r  c                   s   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 t]P                  P                  R]P"                  ! ^.4      ^..4      R 4       tR tRtV tR# )
TestDeletei  c                s    \         P                  ! ^4      V n        \         P                  ! ^4      P                  ^4      P	                  ^^^4      V n        R# rU   N)r4   r5   r`   r:  rk   nd_ar}   r~   r;   setup_methodZTestDelete.setup_method  s:    1IIaL''*221a;	r=   c                s^   \        V P                  V4      p\        V P                  V^R7      pRV: 2p\        \	        W P                  V3,          4      V P                  VR7       \	        VR,          V P                  ^ V^ 3,          4      p\        WPP                  R,          VR7       R# )rN   rx   zDelete failed for obj: )Zerr_msgN)r    r   r    )r
   r`   r  r-   r   )r_   indicesa_delnd_a_delmsgZxor   &&    r;   _check_inverse_of_slicingZ$TestDelete._check_inverse_of_slicing  s    tvvw'$))W15'{38E66'(+<=tvv#&	(x($))AwM*BC3		' 2C@r=   c                s    . ROp. ROpV F2  pV F)  pV F   p\        W4V4      pV P                  V4       K"  	  K+  	  K4  	  R# )r   N)rR   r    rN   rL   rF   rU   )rX   rY   rN   rT   )r4  r  )r_   ZlimsZstepsr  ZstopZstepsra   r;   test_slicesZTestDelete.test_slices  sD    &E!De40A2215 "  r=   c                s
   V P                  \        P                  ! ^ ^.^^..4      4       \        P                  ! \
        4      ;_uu_ 4        \        V P                  ^d.4       RRR4       \        P                  ! \
        4      ;_uu_ 4        \        V P                  R.4       RRR4       V P                  . RO4       V P                  . RO4       \        P                  ! \        4      ;_uu_ 4        \        V P                  R4       RRR4       \        P                  ! \        4      ;_uu_ 4        \        V P                  R4       RRR4       \        P                  ! \        4      ;_uu_ 4        \        V P                  R.^,          4       RRR4       R#   + '       g   i     ELF; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)r    NTFi)r    rY   rL   rL   )TFFTF)	r  r4   r   r   r   rJ  r
   r`   r\   r}   r~   r;   
test_fancyZTestDelete.test_fancy  s2   &&rxx!Q!Q0@'AB]]:&&466C5! ']]:&&466D6" ' 	&&}5&&'HI ]]:&&4664  ']]:&&4665! ' ]]:&&466E7Q;' '&! '&&&&& '&&& '&&s<   F#F78G9G:G1#F4	7G	G	G.	1H	c                sJ    V P                  ^ 4       V P                  R4       R# )r    Nr9  )r  r}   r~   r;   test_singleZTestDelete.test_single  s    &&q)&&r*r=   c                sd   \         P                  ! ^4      p\        P                  ! \        4      ;_uu_ 4        \        V. ^ R7       RRR4       \        P                  ! \        4      ;_uu_ 4        \        V. RR7       RRR4       R#   + '       g   i     LK; i  + '       g   i     R# ; ir=  )r4   r   r   r   r$   r
   r   rh   r:   r;   r>  ZTestDelete.test_0d  se    HHQK]]9%%1bq! &]]9%%1bz* &% &%%%%s   B2BB	B/	c                s    ! R  R\         P                  4      pV P                  P                  V4      p\	        \        \        V^ 4      V4      4       \	        \        \        V. 4      V4      4       \	        \        \        V^ ^.4      V4      4       \	        \        \        V\        ^^4      4      V4      4       \	        \        \        V\        ^R4      4      V4      4       R# )c                   r   )*TestDelete.test_subclass.<locals>.SubClassi	  rm   Nr   rm   r=   r;   r@  r  	  r   r=   r@  NrR   )r4   r   r`   r   r)   rA  r
   r4  rB  r   r;   rC  ZTestDelete.test_subclass  s    	rzz 	FFKK!
6!Q<23
6!R=(34
6!aV,h78
6!U1a[18<=
6!U1b\2H=>r=   c                sV   \         P                  ! ^
4      P                  ^^RR7      p\        V\	        ^<R4      ^R7      p\        VP                  P                  VP                  P                  4       \        VP                  P                  VP                  P                  4       R# )r   r   r   Nrx   )	r4   r5   rk   r
   r4  r.   r   r   r   )r_   rI   r  r   r;   test_array_order_preserveZ$TestDelete.test_array_order_preserve  ss    IIbM!!!Qc!21eBoA. 	QWW))177+?+?@QWW))177+?+?@r=   c           
     s   \         P                  ! \        4      ;_uu_ 4        \        P                  ! . RO\        P
                  ! RR.4      4       RRR4       \         P                  ! \        4      ;_uu_ 4        \        P                  ! . RO\        P
                  ! . \        R7      4       RRR4       R#   + '       g   i     Lp; i  + '       g   i     R# ; irI  )r   r   rJ  r4   r
   r   rK  r}   r~   r;   rL  ZTestDelete.test_index_floats  st    ]]:&&IIi3*!56 ']]:&&IIi"E!:; '& '&&&&s   0B;=4C;C	C	indexerc                s   \        V P                  ^4      p\        V P                  V4      p\        W#4       \        V P                  ^^R7      p\        V P                  \        P
                  ! ^.4      ^R7      p\        WE4       R# )rN   rx   N)r
   r`   r.   r  r4   r   )r_   r  Z	a_del_intr  Znd_a_del_intr  r  r;   test_single_item_arrayZ!TestDelete.test_single_item_array"  s`    4661%	tvvw'Y&dii3$))RXXqc];\,r=   c           
     s   \        \        P                  ! ^4      \        P                  ! R.4      4      p\	        V\        P                  ! ^4      4       \        P                  ! R4      p\        P                  ! R.\
        R7      p\        P                  ! R.\
        R7      p\        W#RR7      p\	        W4       \        W$RR7      p\	        WR	,          4       \        P                  ! \        4      ;_uu_ 4        \        \        P                  ! ^4      \        P                  ! ^ .\        R7      4       RRR4       \        P                  ! \        4      ;_uu_ 4        \        \        P                  ! ^4      \        P                  ! ^ .RR7      4       RRR4       R#   + '       g   i     Lt; i  + '       g   i     R# ; i)
rN   Fr   Trx   Nzm8[ns]rT   rN   rY   )r   :Nr    N)
r
   r4   r]   r   r-   r   r   r   rJ  object)r_   resr   Z
false_maskZ	true_maskr   r;   test_single_item_array_non_intZ)TestDelete.test_single_item_array_non_int,  s    RWWQZ5'!233
+ GGFOXXugT2
HHdV40	Q,3"Q+3%) ]]:&&2771:rxx6:; ' ]]:&&2771:rxx8<= '& '& '&&s   ?<F'%8F:'F7	:G	)r`   r  N)rn   ro   rp   rq   r  r  r  r  r  r>  rC  r  rL  r   r  r  r4   r   r  r  rr   rs   rt   rv   r;   r  r    st     <A6(*++?A< [[Y1#(<=- >-> >r=   r  c                   s  a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR t]P                   P#                  R]P&                  ]P(                  ]P*                  ]P,                  .4      R 4       t]P                   P#                  R]P0                  ]P2                  ]P4                  ]P6                  .4      R 4       t]P                   P#                  R]P&                  ]P(                  ]P*                  ]P,                  .4      R 4       t]P                   P#                  R]P0                  ]P2                  ]P4                  ]P6                  .4      R 4       tR tRt V t!R# )TestGradientiE  c                s   ^^.^^..p\         P                  ! V4      p\         P                  ! RR.RR..4      \         P                  ! RR.RR..4      .p\        \        V4      V4       \        \        V4      V4       R# )rN   r   r   r   r   N)r4   r   r-   r   r_   vr   dxr   r;   rb   ZTestGradient.test_basicG  sv    VaVHHQKhhR2r(+,hhR2r(+,.8A;+8A;+r=   c                s   \         P                  ! \         P                  ! ^4      4      p. ROp\         P                  ! ^4      P	                  ^^4      p\        \         P                  ! ^4      R4       \        \         P                  ! ^4      \         P                  ! R4      4       \        \         P                  ! ^4      V4       \        VR4       \        V\         P                  ! R4      4       \        W2V4       \        W1^4       \        W1^R7       \        \        R\
        V\         P                  ! V.^,          RR7      ^4       R# )rU   r         ?rx   z.*scalars or 1dN)r   r   r   r         &@rY   )
r4   r_  r]   r5   rk   r   r   r0   r\   Zstack)r_   r  Z	dx_unevenf_2dr   r;   	test_argsZTestGradient.test_argsO  s    YYrwwqz")	yy}$$Q* 	1r"1rxx|,1r"srxx}%), 	1 	" 	J(9dBHHbTAXB7	<r=   c           	     s   \         P                  ! ^4      P                  ^^4      p\         P                  ! \         P                  ! ^4      4      p\        \        \        W\         P                  ! ^4      4       \        \        \        V^\         P                  ! ^4      4       \        \        \        V\         P                  ! ^4      \         P                  ! ^4      4       \        \        \        W4       \        \        \        WRR7       \        \        \        WW"4       \        \        \        V^^^4       \        \        \        WV^R7       \        \        \        V^^^R7       R# )   rx   NrZ   )	r4   r5   rk   r_  r]   r/   r\   r   r   )r_   r  r   r   r;   test_badargsZTestGradient.test_badargsh  s    yy}$$Q*IIbggaj! 	j(DRWWQZ@j(D!RWWQZ@j(D"''!*bggajIi43i4@i4A9i4Aq9i4AA>i4AA>r=   c                s    \         P                  ! . RORR7      p\         P                  ! . RORR7      p\        \        V4      V4       \	        VP
                  \         P
                  ! R4      8H  4       R# )
1910-08-16zdatetime64[D]r   r  N)r  z
1910-08-11z
1910-08-10z
1910-08-12z
1910-10-12z
1910-12-12z
1912-12-12)rT  rX   r    i   =   i  i  r4   r   r-   r   r)   r   r_   r   r  r   r;   test_datetime64ZTestGradient.test_datetime64x  sY    HH7!# XX)"$ 	8A;+BHH%5667r=   c                s   \         P                  P                  ^^.^^..RR.RR..R7      p\        V4      ^ ,          p\	        \        V4      \        V4      4       \        VP                  VP                  J4       \         P                  P                  ^4      p\         P                  P                  V^&   \         P                  ! V^R7       \        VP                  . RO4       R# )rN   Fr  
edge_orderN)FFTFF)r4   r   r   r   r.   r   r)   Z_maskr5   maskedr-   r  )r_   r   r  x2r   r;   test_maskedZTestGradient.test_masked  s    EEKK!Q!Q($enuen=  ?qk!nT#YQ( 	syy()UU\\!_1
B1%277$FGr=   c                s   \         P                  ! ^ ^^
4      pV^,          V^ ,          ,
          p^V^,          ,          ^V^,          ,          ,           ^V,          ,           p^V^,          ,          ^V,          ,           ^,           p\         P                  ! \         P                  ! W2^R7      V,          ^,
          4      p\	        \         P
                  ! VR8  4      R8H  4       \         P                  P                  ^ 4       \         P                  ! \         P                  P                  ^
4      4      p^V^,          ,          ^V^,          ,          ,           ^V,          ,           p^V^,          ,          ^V,          ,           ^,           p\         P                  ! \         P                  ! W1^R7      V,          ^,
          4      p\	        \         P
                  ! VR8  4      R8H  4       R# )r    r  gQ?TN)	r4   linspaceabsr   r)   r   randomZseedsort)r_   r   r  r   Z
analyticalZ	num_errorr   r;   test_second_order_accurateZ'TestGradient.test_second_order_accurate  sN   
 KK1b!qTAaD[QJQ!V#a!e+aZ!a%'!+
FFBKK!<zIQNO	y4'(D01 			qGGBII$$R()QJQ!V#a!e+aZ!a%'!+
FFBKK;jHAMN	y4'(D01r=   c           	     sR   \         P                  ! . RO4      p\         P                  ! VR4      VP                  R^4      ,           p\         P                  ! . RO4      p\         P                  ! R4      p\         P                  ! . R	OR4      p\         P                  ! . R
OR4      p\         P                  ! . ROR4      p\         P                  ! . ROR4      p^V3^V33 EF  w  r\        VRRVR7      p
\        WVRVR7      p\        WVRVR7      p\        W4       \        W4       \        V
^ ,          V	P                  4       \        V
^,          V	4       \        VR^ VR7      p
\        W^ VR7      p\        V
P                  VP                  8H  4       \        WP                  4       \        VR^VR7      p
\        W^VR7      p\        V
P                  VP                  8H  4       \        W4       EK  	  ^V3^V33 F  w  r\        WVRVR7      p
\        WVRVR7      p\        W4       \        V
^ ,          V	P                  4       \        V
^,          V	4       \        W^ VR7      p
\        WP                  4       \        W^VR7      p
\        W4       K  	  \        WVR^R7      p
\        WVR^R7      p\        V
^ ,          V^,          4       \        V
^,          V^ ,          4       \        V
^ ,          VP                  4       \        V
^,          V4       \        WVR^R7      p
\        WVR^R7      p\        V
^ ,          V^,          4       \        V
^,          V^ ,          4       \        V
^ ,          VP                  4       \        V
^,          V4       R# )r    r   r   )ry   r  N)r    r   r   r   r   r   )r   rN   rY   )r   r   r   r   r   r   )r   r  r   r   r   r   )      @r  r   r   r         )r   r   333333?r         ?r   )r   r   r  r   r  g      пrZ   r[   )r4   r   Ztilerk   r5   r   r-   r+   r   r)   r?   )r_   fZx_unevenZx_evenZfdx_even_ord1Zfdx_even_ord2Zfdx_uneven_ord1Zfdx_uneven_ord2r  Zexp_resres1res2res3s   &            r;   test_spacingZTestGradient.test_spacing  s   HH,-GGAv2q!1188562 :FC =vF''">G''"A6J &'$6M8J#KJAr:FDAv!'J@DAv!%*>Dt*t*Q3Q1ArjADAA*EDDJJ$**,-ii0ArjADAA*EDDJJ$**,-t-' $L, &'$81o:N#OJA!'J@DA!%*>Dt*Q3Q1AaJGDii0AaJGD. $P  8&QGV&QG47DG,47DG,DG]__5DG_58&QGV&QG47DG,47DG,DG]__5DG_5r=   c           	     s>   ^^.^^..p\         P                  ! V4      p\         P                  ! RR.RR..4      \         P                  ! RR.RR..4      .p\        \        V^ R7      V^ ,          4       \        \        V^R7      V^,          4       \        \        VRR7      V^,          4       \        \        VRR7      V^,          V^ ,          .4       \	        \        VRR7      V^ ,          V^,          .4       \	        \        VRR7      \        V4      4       \        \        V^^RR7      V^,          R,          V^ ,          R,          .4       \        \        \        V^^^R7       \        \        \        V^R7       \        \        \        VR	R7       R# )
rN   r   r   r   r   rx   NrY   r[   rX   )r4   r   r-   r   r+   r/   r   r$   r  r   r;   test_specific_axesZTestGradient.test_specific_axes  sI   VaVHHQKhhR2r(+,hhR2r(+,.8AA.168AA.168AB/A78AF3beRU^D 	HQT2RUBqENCHQT2HQK@ 	8Aq!&9qECKA5	7 	i1a;i115i126r=   c                s    \         P                  ! . RORR7      p\         P                  ! . RORR7      p\        \        V4      V4       \	        VP
                  \         P
                  ! R4      8H  4       R# )rU   r  r   N)rT  rX   r   r   r  iA  ,  )rL   r-  r-  r  i   iw   ir  r  r   r;   test_timedelta64ZTestGradient.test_timedelta64  sW    HH*"$ XX("$ 	8A;+BHH%5667r=   c                s    \         P                  \         P                  \         P                  3 FZ  p\         P                  ! . ROVR7      p\        \        V4      P                  \         P                  ! V4      P                  4       K\  	  R# )rN   r   Nr   )	r4   float16r   r   r   r.   r   r   r   )r_   dtr   r   r;   test_inexact_dtypesZ TestGradient.test_inexact_dtypes  sQ    ::rzz2::6B"-A!**BGGAJ,<,<= 7r=   c                s8   \        \        P                  ! ^4      ^R7       \        \        P                  ! ^4      ^R7       \        \        \         \        P                  ! ^ 4      ^R7       \        \        \         \        P                  ! ^ 4      ^R7       \        \        \         \        P                  ! ^4      ^R7       \        \        \         \        P                  ! ^4      ^R7       \        \        \         \        P                  ! ^4      ^R7       R# )rL   r  N)r   r4   r5   r/   r\   r}   r~   r;   test_valuesZTestGradient.test_values  s    1!,1!,j(BIIaLQGj(BIIaLQGj(BIIaLQGj(BIIaLQGj(BIIaLQGr=   f_dtypec                s    \         P                  ! . ROVR7      p\        V4      p\        VR.\	        V4      ,          4       R# )rU   r   N)rU   rF   rT   rL   rN   rY   r4   r   r   r-   r  )r_   r  r  g   &&  r;   test_f_decreasing_unsigned_intZ+TestGradient.test_f_decreasing_unsigned_int  s1     HH_G4QK1rdSVm,r=   c                s   \         P                  ! V4      P                  p\         P                  ! ^^.4      p\         P                  ! RV.VR7      p\	        WC4      p\        WR^,           ^,          .^,          4       R# )rN   r   NrY   )r4   iinfor  r   r   r-   )r_   r  maxintr   r  dfdxr  r;   test_f_signed_int_big_jumpZ'TestGradient.test_f_signed_int_big_jump%  s`     '"&&HHaVHHb&\1~4A:!"3!4q!89r=   x_dtypec                s    \         P                  ! . ROVR7      p\         P                  ! . RO4      p\        W24      p\        VR.\	        V4      ,          4       R# )rT   r   Nr   r    rL   rF   rR   r  )r_   r  r   r  r     &&   r;   test_x_decreasing_unsignedZ'TestGradient.test_x_decreasing_unsigned.  s?     HHYg.HHY~4"A/r=   c                s*   \         P                  ! V4      P                  p\         P                  ! V4      P                  p\         P                  ! RV.VR7      p\         P                  ! V^,          ^ .4      p\        WT4      p\        VRR.4       R# )rN   r   r   NrY   )r4   r  minr  r   r   r-   )r_   r  Zminintr  r   r  r  r  r;   test_x_signed_int_big_jumpZ'TestGradient.test_x_signed_int_big_jump6  sn     '"&&'"&&HHb&\1HHfk1%&~4#s,r=   c                sh    \         P                  ! ^^.^^.34      p\        V4      \        J g   Q hR# r  )r4   r   r   tupler_   r  r:   r;   test_return_typeZTestGradient.test_return_type@  s/    kkAq6Aq6*+CyE!!!r=   rm   N)"rn   ro   rp   rq   rb   r  r  r  r  r  r  r  r  r  r  r   r  r  r4   r)  rj  rl  uint64r  r"  ri  rk  int64r  r  r  r  rr   rs   rt   rv   r;   r  r  E  sY    ,<2? 
8H2(>6@74	8>
H [[Y299)+BII)? @-@-
 [[Y"(()+288)= >:>: [[Y299)+BII)? @0@0 [[Y"(()+288)= >->-" "r=   r  c                   r   )	TestAngleiE  c                s   R\         P                  ! ^4      R,          R\         P                  ! ^4      ,          ^,          ,           ^RR	R
RR.p\        V4      p\         P                  ! R4      \         P                  ! R4      ^ \         P                  ^,          \         P                  \         P                  ) R,          \         P                  ! R4      ) \         P                  \         P                  ! R4      ,
          .p\        VRR7      p\         P
                  ! V4      ^,          \         P                  ,          p\        W#^4       \        WE^4       R# )rN   r   r!  r   r   T)ZdegN      ?      @rY                      ?      y            @)r4   sqrtr   arctanpir   r,   )r_   r   r   ZyozZzor   r;   rb   ZTestAngle.test_basicG  s    RWWQZ#%RWWQZ!(;;BVW.!HIIi IIcNAruuqy"%%"%%#YYy!!255299Y+?#?A !XXb\C"%%'!!,!!,r=   c                s>   \         P                  P                  R^\         P                  ! ^4      ^,          R,          .4      p\         P                  P                  V^&   \         P                  P                  \         P
                  ! R4      ^ \         P
                  ! R4      .4      p\         P                  P                  V^&   \        V4      p\        \        V4      \        V4      4       \        VP                  VP                  4       \        W24       R# )rN   r   r   Nr        ?      ?)
r4   r   r   r  r  r  r   r.   r   r  r_   r   r  r   r   r;   rC  ZTestAngle.test_subclassT  s    EEKKBGGAJNf$=>?uu||!55;;		) 4a3HIeellqT&\4>2V[[(--0V&r=   rm   N)rn   ro   rp   rq   rb   rC  rr   rs   rt   rv   r;   r  r  E  s     -' 'r=   r  c            	       sf  a  ] tR tRt o ]P
                  ! . RO4      t]P                  ]4      t	]P                  ]
4      t]P                  ]4      tR tR tR tR tR tR t]P*                  P-                  R]P
                  ! . RO4      ]P
                  ! . RO4      ]P
                  ! . RO4      .4      R	 4       tR
 tR t]P*                  P-                  RR4      R 4       t]P*                  P-                  RR4      R 4       tR t]P*                  P-                  RR4      R 4       tRtV tR# )TestTrimZerosi_  c                s    a  RpV 3R lV 4       # )r`   c              3   s<   <"   T F  p\        SV4      x  K  	  R # 5ir3   )getattr).0namer_   s   & r;   	<genexpr>Z'TestTrimZeros.values.<locals>.<genexpr>h  s     ;
d##
s   )r`   r   r   r$  rm   )r_   Z
attr_namess   f r;   r  ZTestTrimZeros.valuesf  s    )
;
;;r=   c                s    \         P                  ^R pV P                  4        F   p\        V4      p\	        W2V,          4       K"  	  R# )rL   NrY   r4   s_r  r   r-   r_   slcr   r  r   r;   rb   ZTestTrimZeros.test_basicj  s6    eeAbk;;=CS/CsH- !r=   c                s    \         P                  R R pV P                  4        F"  p\        VRR7      p\	        W2V,          4       K$  	  R # )Nr   trimrY   r	  r  r   r;   test_leading_skipZTestTrimZeros.test_leading_skipp  s9    eeCRj;;=CSs+CsH- !r=   c                s    \         P                  R ,          pV P                  4        F"  p\        VRR7      p\	        W2V,          4       K$  	  R# ):rL   NNr   r  Nr	  r  r   r;   test_trailing_skipZ TestTrimZeros.test_trailing_skipv  s7    eeBi;;=CSs+CsH- !r=   c                s    V P                  4        Fb  p\        P                  ! WP                  R 7      p\	        VRR7      p\        V4      ^ 8X  g   Q h\	        VRR7      p\        V4      ^ 8X  d   Kb  Q h	  R# )r   Br  r  N)r  r4   Z
zeros_liker   r   r  )r_   Z_arrr   r  r  r   r;   test_all_zeroZTestTrimZeros.test_all_zero|  s\    KKMD--JJ7Cc,Dt9>!>c,Dt9>!> "r=   c                s^    \         P                  ! ^ 4      p\        V4      p\        W4       R# r   r4   r>   r   r-   r_   r   r  r   r;   test_size_zeroZTestTrimZeros.test_size_zero  s     hhqko3$r=   r   c                sn    \         P                  R ,          p\        V4      p\        W1V,          4       R# )r5  N)r4   r
  r   r-   )r_   r   r  r  r  r;   test_overflowZTestTrimZeros.test_overflow  s&     eeCjo3C)r=   c                sb    \         P                  ! . RO4      p\        V4      p\        W4       R # )N)NrN   Nr4   r   r   r-   r  r   r;   test_no_trimZTestTrimZeros.test_no_trim  s!    hh'o3$r=   c                s|    \        V P                  P                  4       4      p\        V\        4      '       g   Q hR # r3   )r   r`   tolistrA  r  r  r:   r;   test_list_to_listZTestTrimZeros.test_list_to_list  s)    )#t$$$$r=   r   c                s    \         P                  ! RV,          4      p\         P                  ! VRR^ R7      p\        VRR7      p\	        W$4       R# )rL   Zconstant)ZmodeZconstant_valuesNrx   rL   rL   rN   )r4   r]   Zpadr   r-   )r_   r   r`   r   r  r  r;   test_nd_basicZTestTrimZeros.test_nd_basic  s<    GGD4K FF1f:qA&1"r=   c                s    \         P                  ! RV,          4      p\        VRR7      p\        V\         P                  ! RV,          4      4       R# )rT   Nrx   rT   r0  r  )r_   r   r`   r  r  r;   test_allzeroZTestTrimZeros.test_allzero  s7    HHTD[!&3 56r=   c                s    \         P                  ! . RO4      p\        VRR7      p\        V. RO4       \        VRR7      p\        V. RO4       R# )r    r  r  r   N)r    rN   rL   r    )rN   rL   r    rM   r  r_   r`   r  r   r;   test_trim_argZTestTrimZeros.test_trim_arg  s<    HH\"%3	*%3	*r=   r  c                s    V P                   p\        P                  ! \        R R7      ;_uu_ 4        \	        W!R7       RRR4       R#   + '       g   i     R# ; i)z#unexpected character\(s\) in `trim`r   r  N)r`   r   r   r\   r   )r_   r  r   rC   r;   test_unexpected_trim_valueZ(TestTrimZeros.test_unexpected_trim_value  s5    ff]]:-STTs& UTTTs   AA	rm   N)r    r    rN   r    rL   rT   rF   r    )r    l            r    )r    l            r    )r    l            r    )r    rN   rL   rT   r   r    rN   rL   rT   )Zfront ) rn   ro   rp   rq   r4   r   r`   r   rK  r   Zcomplexr   r  r$  r  rb   r  r  r  r  r   r  r  r  r  r  r  r  r!  r"  rr   rs   rt   rv   r;   r  r  _  s)    
)*A	A	A	A<..."%
 [[	-	 	-	 	-	 	"**
%
% [[V%56# 7# [[V\27 37
+ [[V]3' 4'r=   r  c                   r   )
TestExtinsi  c                sp    \         P                  ! . RO4      p\        V^8  V4      p\        V. RO4       R# )rN   N)rN   rT   rL   rN   rL   rT   rT   )rT   rL   rL   rT   rT   )r4   r   r   r-   r   r   r;   rb   ZTestExtins.test_basic  s+    HH*+AE11o.r=   c                s  a \        \        \        . R	ORR.^ ^.4       \        P                  ! . R
O4      o\        S. RO. RO4       \        S. RO4       \        S\        P                  ! ^4      . 4       \        S\        P                  ! ^^4      4       \        S. RO^^	.4       \        S. RO4       \        \        RV3R l4       \        P                  ! RR.4      o\        S^ ^.R4       \        SRR.4       R# )rN   TFz!Cannot insert from an empty arrayc                  s"   < \        S . RO. 4      # )r    )r    r    r    r    r    rN   r    )r   r`      r;   <lambda>Z'TestExtins.test_place.<locals>.<lambda>  s    E!-BB$Gr=   Z12Z34Z9Nr   )rN   rF   rT   rL   rU   rj   r-  )r    rN   r    rN   r    rN   r    rL   rF   r   )rN   rL   rT   rF   rU   r   r-  )rN   r    rN   r    rN   r    rN   )rj   rL   r.  rF   rj   r   r.  )
r/   r   r   r4   r   r-   r>   r5   r0   r\   rh      &@r;   
test_placeZTestExtins.test_place  s     	i	D%=1a&IHH*+a&	2134a!b!1bii1o.a&A/134J(KG	I HHdD\"a!Q1tSk*r=   c                s    \        ^
4      pVR8  pVP                  4       p\        W!4      p\        W^ 4       \        WV4       \	        W4       R# )r   r   N)r%   r   r   r   r-   )r_   r`   r  Zacr   r   r;   	test_bothZTestExtins.test_both  sE    H3wVVXDaqaq1!r=   rm   N)	rn   ro   rp   rq   rb   r+  r,  rr   rs   rt   rv   r;   r%  r%    s     /
+," "r=   r%  c                 s<    V\         P                  ! V 4      ,          # r3   mathZfloorr   r   rN  r;   _foo1r0    s    tzz!}r=   c                 sJ    V\         P                  ! V 4      ,          V,           # r3   r-  )r   r   r  s   &&&r;   _foo2r1    s    tzz!}q  r=   c                   s4  a  ] tR tR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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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-R, t.R- t/R. t0R/ t1R0t2V t3R1# )2TestVectorizei  c                sX    R  p\        V4      pV! . RO. RO4      p\        V. RO4       R# )c                 .    W8  d	   W,
          # W,           # r3   rm   r`   r   rN  r;   addsubtractZ.TestVectorize.test_simple.<locals>.addsubtract      uuur=   Nr    rT   r   r.  rN   rT   rU   r-  rN   r   rN   rL   r"   r-   r_   r5  r  r;  r   r;   test_simpleZTestVectorize.test_simple  s)    	 k"lL)1l+r=   c                sT    R  p\        V4      pV! . RO^4      p\        V. RO4       R# )c                 r3  r3   rm   r4  rN  r;   r5  Z.TestVectorize.test_scalar.<locals>.addsubtract  r6  r=   Nr7  )rU   rj   rN   rF   r:  r;  r   r;   test_scalarZTestVectorize.test_scalar  s)    	 k"lA1l+r=   c                st    \         P                  ! R^R4      p\        R 4      pV! V4      p\        W14       R# )rT   '  c                     V # r3   rm   r   r~   r;   r(  Z*TestVectorize.test_large.<locals>.<lambda>      r=   NrX   )r4   r  r"   r-   )r_   r   r  r   r   r;   
test_largeZTestVectorize.test_large  s/    KKAu%k"aD1 r=   c                sZ   \        \        P                  4      p\        P                  ! ^ R\        P
                  ,          \        P
                  R\        P
                  ,          ^\        P
                  ,          .4      pV! V4      p\        P                  ! V4      p\        W44       R# )r    r   r  N)r"   r.  Zcosr4   r   r   r,   )r_   r  argsr1r2r   r;   
test_ufuncZTestVectorize.test_ufunc  sc    dhhxxC"%%KbeeQYGHtWVVD\!")r=   c                s   RR lp\        V4      p\        P                  ! . RO4      pV! V4      p\        P                  ! . RO4      p\        WE4       V! V^4      p\        P                  ! . RO4      p\        WE4       R# )rN   c                     W,           # r3   rm   r4  rN  r;   rF  Z(TestVectorize.test_keywords.<locals>.foo  	    5Lr=   Nr  r   r   rS   r"   r4   r   r-   r_   rF  r  rC  rD  rE  r   r;   test_keywordsZTestVectorize.test_keywords  s`    	 cNxx	"tWXXi 2"tQZXXi 2"r=   c                s    \        \        \        .R 7      pV! \        P                  ! R4      R4      pV! \        P                  ! R4      4      p\        W#4       R# otypesr   r   Nr"   r0  rK  r4   r5   r-   r_   r  rD  rE  r   r;    test_keywords_with_otypes_order1Z.TestVectorize.test_keywords_with_otypes_order1   sB     eUG, ryy~s#ryy~2"r=   c                s    \        \        \        .R 7      pV! \        P                  ! R4      4      pV! \        P                  ! R4      R4      p\        W#4       R# rL  rO  rP  r   r;    test_keywords_with_otypes_order2Z.TestVectorize.test_keywords_with_otypes_order2*  sB     eUG, ryy~ryy~s#2"r=   c                s
   \        \        \        .R 7      pV! \        P                  ! R4      4      pV! \        P                  ! R4      RR7      pV! \        P                  ! R4      4      p\        W#4       \        W$4       R# )rM  r   r   r   NrO  r_   r  rD  rE  Zr3r   r;    test_keywords_with_otypes_order3Z.TestVectorize.test_keywords_with_otypes_order35  s\     eUG, ryy~ryy~%ryy~2"2"r=   c                s    \        \        \        .R 7      pV! R^dR7      pV! RRR7      pV! R4      p\        V\        R^dR7      4       \        V\        RRR7      4       \        V\        R4      4       R# )rM  $@)r  rS  NrY   r"   r1  rK  r.   rT  r   r;   +test_keywords_with_otypes_several_kwd_args1Z9TestVectorize.test_keywords_with_otypes_several_kwd_args1A  sc     eUG, ts^tr]tWRts+,Rtr*+Rt%r=   c           	     s    \        \        \        .R 7      pV! ^dRRR7      pV! ^^^4      p\        V\        ^dRRR7      4       \        V\        ^^^4      4       R# )rM  rV  )r  r   r   NrY   rW  rP  r   r;   +test_keywords_with_otypes_several_kwd_args2Z9TestVectorize.test_keywords_with_otypes_several_kwd_args2N  sT     eUG, #q!QZR34Rq!Q(r=   c                sd    ^ RI p \        VP                  4       R#   \         d    \        hi ; ir   )r  r"   Z	randrangeZ	ExceptionZAssertionError)r_   r  r:   r;   test_keywords_no_func_codeZ(TestVectorize.test_keywords_no_func_codeY  s/     		!f&&' 	!  	!s    /c                s2   RR lp\        V4      p\        P                  ! . RO4      pV! VR7      p\        P                  ! . RO4      p\        WE4       V! ^VR7      p\        WE4       V! V^R7      p\        P                  ! . R	O4      p\        WE4       R# )
rN   c                 rG  r3   rm   r4  rN  r;   rF  Z5TestVectorize.test_keywords2_ticket_2100.<locals>.foof  rH  r=   r&  )r   r`   r   Nr  r   r   rS   rI  rJ  r   r;   test_keywords2_ticket_2100Z(TestVectorize.test_keywords2_ticket_2100c  ss    	 cNxx	"YXXi 2"d^2"tq\XXi 2"r=   c                s    R  p\         P                  ! VR^.R7      p^^.p\        W2! ^ ^.. ROR7      4       \        W2! ^ ^.. ROR7      4       \        W2! ^ ^.. RO4      4       R# )c                 s    \        V4      pVP                  ^ 4      pV'       d!   W0,          VP                  ^ 4      ,           pK(  V# r0  )r  Zpop)r   pZ_pr  r  r;   	mypolyvalZ;TestVectorize.test_keywords3_ticket_2100.<locals>.mypolyvalv  s4    aB&&)Cgq	)Jr=   r]  )excluded)r   r]  )r]  Nr   )r4   r"   r-   )r_   r^  ZvpolyvalZansr   r;   test_keywords3_ticket_2100Z(TestVectorize.test_keywords3_ticket_2100t  se    	 <<	S!H=!f3Aq6Y ?@3!Q9 =>3!Q ;<r=   c                sR    \         R  4       p\        V! ^^.^^.R7      ^^.4       R# )c                  s:    R pV  F  pWV,          ,          pK  	  V# r   rm   )Zkwr  Z_ks   ,  r;   r  Z3TestVectorize.test_keywords4_ticket_2100.<locals>.f  s!    C"v Jr=   r4  Nr:  r_   r  r:   r;   test_keywords4_ticket_2100Z(TestVectorize.test_keywords4_ticket_2100  s3    		 
	 	11v!Q01a&9r=   c                sP    \         R  4       p\        V! ^^.^^.4      ^^.4       R# )c                  s.    \         P                  ! V 4      # r3   )r4   r}  )r     *r;   r  Z3TestVectorize.test_keywords5_ticket_2100.<locals>.f  s    771:r=   Nr:  rb  r:   r;   test_keywords5_ticket_2100Z(TestVectorize.test_keywords5_ticket_2100  s3    		 
	 	1aVaV,q!f5r=   c                sD    R  p\        V4      p\        V! 4       ^4       R# )c                  s    ^# r  rm   rm   r=   r;   rF  Z5TestVectorize.test_coverage1_ticket_2100.<locals>.foo      r=   Nr:  r_   rF  r  r   r;   test_coverage1_ticket_2100Z(TestVectorize.test_coverage1_ticket_2100  s    	 cN13"r=   c                s    R  p\        V4      p\        VP                  VP                  4       Rp\        WR7      p\        VP                  V4       R# )c                r?  )zOriginal documentationrm   r@  r~   r;   rF  Z3TestVectorize.test_assigning_docstring.<locals>.foo      Hr=   zProvided documentation)docN)r"   r.   __doc__)r_   rF  r  rj  r   r;   test_assigning_docstringZ&TestVectorize.test_assigning_docstring  sA    	 cNQYY,&c#QYY$r=   c                s    ! R  R4      p\        \        V! 4       P                  4      ! \        P                  ! ^	4      4      \        P                  ! ^	4      ^,          4       \        \        VP                  4      ! V! 4       \        P                  ! ^	4      4      \        P                  ! ^	4      ^,          4       R# )c                   s*   a  ] tR tRt o ^tR tRtV tR# )9TestVectorize.test_UnboundMethod_ticket_1156.<locals>.Fooi  c                s&    WP                   ,          # r3   r[  rh   rN  r;   rG  Z=TestVectorize.test_UnboundMethod_ticket_1156.<locals>.Foo.bar  s    FF{"r=   rm   N)rn   ro   rp   rq   r   rG  rr   rs   rt   rv   r;   Foorm    s     A# #r=   rn  N)r-   r"   rG  r4   r5   )r_   rn  r:   r;   test_UnboundMethod_ticket_1156Z,TestVectorize.test_UnboundMethod_ticket_1156  st    	# 	# 	9SUYY/		!=99Q<1,	.9SWW-ceRYYq\B99Q<1,	.r=   c                sF   \        R  4      pV! \        P                  ! ^4      4      pV! \        P                  ! R^4      4      p\        R 4      pV! \        P                  ! R^4      4      pV! \        P                  ! ^4      4      p\        W&4       \        W54       R# )c                 r?  r3   rm   r@  r~   r;   r(  @TestVectorize.test_execution_order_ticket_1487.<locals>.<lambda>      r=   r  c                 r?  r3   rm   r@  r~   r;   r(  rp    rq  r=   N)r"   r4   r5   r.   )r_   Zf1Zres1aZres1bf2Zres2bZres2ara   r;    test_execution_order_ticket_1487Z.TestVectorize.test_execution_order_ticket_1487  st    {#299Q< 299S!$%{#299S!$%299Q< U"U"r=   c                sZ    \         P                  ! R  4      pRp\        W!! V4      4       R# )c                 r?  r3   rm   r@  r~   r;   r(  Z7TestVectorize.test_string_ticket_1892.<locals>.<lambda>      1r=   NZd0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789)r4   r"   r.   )r_   r  r  r   r;   test_string_ticket_1892Z%TestVectorize.test_string_ticket_1892  s#    LL%Q!r=   c                sx   \         P                  \         P                  \         P                  \         P                  \         P
                  \         P                  .pV FW  p\         P                  ! . ROVR7      p\         P                  ! R 4      ! V4      pVP                  VP                  8X  d   KW  Q h	  R# )rN   r   c                 s    W ,           # r3   rm   r@  r~   r;   r(  Z=TestVectorize.test_dtype_promotion_gh_29189.<locals>.<lambda>  s    qur=   Nr   )
r4   ri  rk  r  r  r   r   asarrayr"   r   )r_   Zdtypesr   r   r   r   r;   test_dtype_promotion_gh_29189Z+TestVectorize.test_dtype_promotion_gh_29189  so    ((BHHbhh

BJJ

SE

9E2A_-a0A77agg%%% r=   c                s   a ^ .o\         V3R l4       pRVn        \        P                  ! ^4      p\	        V! V4      W",          4       \        S^ ,          \        V4      4       R# )r    c                 s@   < S^ ;;,          ^,          uu&   V ^,          # r0  rm   )r   _calls   &r;   r  Z#TestVectorize.test_cache.<locals>.f  s    1INI6Mr=   TN)r"   Zcacher4   r5   r-   r.   r  )r_   r  r   rx  s   &  @r;   
test_cacheZTestVectorize.test_cache  sT    		 
	 IIaL1Q4'VAYA'r=   c                s    \         P                  ! R  4      pRVn        \         P                  ! ^4      p\	        V! V4      V4       R# )c                 r?  r3   rm   r@  r~   r;   r(  Z+TestVectorize.test_otypes.<locals>.<lambda>  rt  r=   r   N)r4   r"   rN  r5   r-   r_   r  r   r   r;   test_otypesZTestVectorize.test_otypes  s2    LL%IIaL1Q4#r=   c                sx  a \         P                  ! ^4      o\        V3R l\        .R7      pV! R4      P	                  4       SJ g   Q hV! R.4      P	                  4       SJ g   Q h. ROo\        V3R l\        .R7      pV! R4      P	                  4       SJ g   Q hV! R.4      P	                  4       SJ g   Q hR# )rT   c                    < S# r3   rm   r/  ry  r;   r(  8TestVectorize.test_otypes_object_28624.<locals>.<lambda>      r=   rM  Nc                 r}  r3   rm   r/  ry  r;   r(  r~    r  r=   r   )r4   r5   r"   r  Zitem)r_   r  r   s   & @r;   test_otypes_object_28624Z&TestVectorize.test_otypes_object_28624  s     IIaLk6(3w||~"""$y~~1$$$k6(3w||~"""$y~~1$$$r=   c                s*   \        \        P                  ! R 4      R.R.34       \        \        P                  ! R4      R.R.34       \        \        P                  ! R4      RR.R.34       \        \        P                  ! R4      R.R.34       \        \        P                  ! R4      R.RR.34       \        \        P                  ! R4      . ROR.34       \        \        P                  ! R4      R.R.34       \        \        P                  ! R4      R.R.34       \        \        P                  ! R4      RR.R.34       \        \        P                  ! R	4      R.R.34       \        \        P                  ! R
4      R.RR.34       \        \        P                  ! R4      . ROR.34       \        \        4      ;_uu_ 4        \        P                  ! R4       RRR4       \        \        4      ;_uu_ 4        \        P                  ! R4       RRR4       \        \        4      ;_uu_ 4        \        P                  ! R4       RRR4       R#   + '       g   i     L~; i  + '       g   i     L[; i  + '       g   i     R# ; i)z(x)->()z	(x,y)->()z(x),(y)->()z(x)->(y)z(x)->(y),()z(),(a,b,c),(d)->(d,e)z(x )->()z( x , y )->(  )z(x),( y) ->()z(  x)-> (y )  z (x)->( y),( )z*(  ), ( a,  b,c )  ,(  d)   ->   (d  ,  e)z
(x)(y)->()Nz	(x),(y)->z
((x))->(x)r@  rm   r/  rS  )rm   )r`   r   r   )r$  )r$  e)r.   nfbZ_parse_gufunc_signaturer/   r\   r}   r~   r;   test_parse_gufunc_signatureZ)TestVectorize.test_parse_gufunc_signature  s   S00;vh=MNS00=!lRD)	+S00?v&-	/S00<h)	+S00?h-	/S001HI3j\B	D 	S00<x">NOS001BC!lRD)	+S00Av&-	/S001ABh)	+S001ABh-	/S00AC3j\B	D :&&''5 ':&&''4 ':&&''5 '&	 '&&&&&&s$   II.:JI+	.I>	J	c                s\    R  p\        VRR7      pV! . RO. RO4      p\        V. RO4       R# )c                 r3  r3   rm   r4  rN  r;   r5  Z8TestVectorize.test_signature_simple.<locals>.addsubtract  r6  r=   z	(),()->()	signatureNr7  r8  r9  r:  r;  r   r;   test_signature_simpleZ#TestVectorize.test_signature_simple  s+    	 k[9lL)1l+r=   c                s^    R  p\        VRR7      pV! ^^.^^..4      p\        V^^.4       R# )c                 s"    V P                  4       # r3   r   r&  r~   r;   r   Z4TestVectorize.test_signature_mean_last.<locals>.mean!  s    668Or=   z(n)->()r  Nr:  )r_   r   r  r;  r   r;   test_signature_mean_lastZ&TestVectorize.test_signature_mean_last   s:    	 di01v1v1q!f%r=   c                sf    R  p\        VRR7      pV! ^^.^^..4      p\        VR^.R^..4       R# )c                 s.    W P                  4       ,
          # r3   r  r&  r~   r;   centerZ3TestVectorize.test_signature_center.<locals>.center)  s    vvx<r=   (n)->(n)r  NrY   r:  )r_   r  r  r;  r   r;   test_signature_centerZ#TestVectorize.test_signature_center(  sC    	  f
31v1v1AwQ01r=   c                s    \        R  RR7      pV! . RO4      p\        \        V\        4      ;'       d    \	        V4      ^8H  4       \        V^ ,          . RO4       \        V^,          . RO4       R# )c                     W 3# r3   rm   r@  r~   r;   r(  Z:TestVectorize.test_signature_two_outputs.<locals>.<lambda>1      r=   	()->(),()r  Nr   )r"   r)   rA  r  r  r-   r_   r  r;  r   r;   test_signature_two_outputsZ(TestVectorize.test_signature_two_outputs0  sS    &+>iL
1e$44Q151Q4+1Q4+r=   c                sl   \        \        P                  R R7      pV! ^^.. RO4      p\        V. RO. RO.4       V! ^^.... RO4      p\        V. RO. RO...4       V! ^^ .^^ ... RO4      p\        V. RO. RO.. RO. RO..4       V! ^^.. RO. RO.4      p\        V. RO. RO.. RO. RO..4       R# )z(a),(b)->(a,b)r  Nr   r)  r   )r"   r4   r7   r-   r  r   r;   test_signature_outerZ"TestVectorize.test_signature_outer7  s    bhh*:;q!fi 1y)45Axj)$1I 67891v1v	*1	95 )957 	8 q!fy),-1	95 )957 	8r=   c                s    \        R  RR7      pV! . RO4      p\        V^^.4       V! . RO. RO.4      p\        V^^.^^..4       R# )c                     V R R # NrY   rm   r@  r~   r;   r(  Z<TestVectorize.test_signature_computed_size.<locals>.<lambda>H  
    #2r=   z(n)->(m)r  Nr   r   r:  r  r   r;   test_signature_computed_sizeZ*TestVectorize.test_signature_computed_sizeG  sL    &*=iL1q!f%y)$%11v1v./r=   c                s    RR lp\        VRR0R7      p\        V! . RO4      . R	O4       \        V! . RO^ R7      . RO4       R# )
rN   c                 rG  r3   rm   r4  rN  r;   rF  Z2TestVectorize.test_signature_excluded.<locals>.fooQ  rH  r=   ()->()r   )r  r_  r[  Nr  r   r   r:  rg  r   r;   test_signature_excludedZ%TestVectorize.test_signature_excludedO  s8    	 cX>1Y<31Y!,i8r=   c                s    \        R  RR.R7      pV! . RO4      p\        VP                  \        P                  ! R4      4       \	        V. RO4       R# )c                 r?  r3   rm   r@  r~   r;   r(  Z5TestVectorize.test_signature_otypes.<locals>.<lambda>Y  rA  r=   r  r   r  rN  Nr   )r"   r.   r   r4   r-   r  r   r;   test_signature_otypesZ#TestVectorize.test_signature_otypesX  s<    kZLiLQWWbhhy121i(r=   c                sf   \        \        P                  R R7      p\        \        R4      ;_uu_ 4        V! ^^.4       RRR4       \        \
        R4      ;_uu_ 4        V! ^^4       RRR4       \        \
        R4      ;_uu_ 4        V! ^^.. RO4       RRR4       \        \        P                  RR7      p\        \        R4      ;_uu_ 4        V! ^^4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L}; i  + '       g   i     R# ; i)z(n),(n)->(n)r  zwrong number of positionalNzdoes not have enough dimensions$inconsistent size for core dimensionr  r   )r"   operatorr6   r0   r   r\   rb  r:   r;   test_signature_invalid_inputsZ+TestVectorize.test_signature_invalid_inputs^  s    hlln= ,HIIq!fI J =? ?aG? !BD Dq!fi D hllh7 ,HIIaG JI JI? ?D D
 JIIs/   C&
C9	D
D&C6	9D		D	D0	c                s   \        R  RR7      p\        \        R4      ;_uu_ 4        V! . R
O4       RRR4       \        R RR7      p\        \        R4      ;_uu_ 4        V! ^4       RRR4       \        R R	R7      p\        \        R4      ;_uu_ 4        V! ^^.4       RRR4       R#   + '       g   i     L; i  + '       g   i     L^; i  + '       g   i     R# ; i)c                 r  r  rm   r@  r~   r;   r(  >TestVectorize.test_signature_invalid_outputs.<locals>.<lambda>o  r  r=   r  r  r  Nc                 r?  r3   rm   r@  r~   r;   r(  r  t  rA  r=   r  zwrong number of outputsc                 r  r3   rm   r@  r~   r;   r(  r  x  r  r=   r  r   )r"   r0   r\   rb  r:   r;   test_signature_invalid_outputsZ,TestVectorize.test_signature_invalid_outputsm  s    &*= BD DiLD k[9 -FGGaD H &(; -FGGq!fI HGD D
 HG HGGs#   B, 	B?C,B<	?C	C#	c                s   \         P                  ! R  4      p\         P                  ! ^ ^.\        R7      p\	        \
        R4      ;_uu_ 4        V! V4       RRR4       RVn        \        V! V4      V4       \         P                  ! R RR7      p\	        \
        R4      ;_uu_ 4        V! V4       RRR4       \         P                  ! R RRR	7      p\        V! V4      V4       \         P                  ! R
 RRR	7      p\        V! V4      V4       \         P                  ! R RR7      p\        V! VP                  4      VP                  4       \         P                  ! R RRR	7      p\	        \
        R4      ;_uu_ 4        V! V4       RRR4       R#   + '       g   i     ELH; i  + '       g   i     EL; i  + '       g   i     R# ; i)c                 r?  r3   rm   r@  r~   r;   r(  5TestVectorize.test_size_zero_output.<locals>.<lambda>~  rt  r=   r   rN  Nr   c                 r?  r3   rm   r@  r~   r;   r(  r    rt  r=   r  r  c                 r?  r3   rm   r@  r~   r;   r(  r    rt  r=   r  c                 r?  r3   rm   r@  r~   r;   r(  r    rt  r=   r  c                 r?  r3   rm   r@  r~   r;   r(  r    rt  r=   c                 s    V .# r3   rm   r@  r~   r;   r(  r    s    A3r=   z()->(n)znew output dimensions)	r4   r"   r>   intr0   r\   rN  r-   r   r{  r   r;   test_size_zero_outputZ#TestVectorize.test_size_zero_output|  s:   LL%HHaV3' X66aD 7 1Q4#LL9 X66aD 7 LLE1Q4#LL
3G1Q4#LL
;1QSS6133'LL)CH -DEEaD FE) 766 766 FEEs$   	F)	F*	F>F'	*F;	>G	c                s,    ! R  R\         P                  4      p\         P                  ! . RO. RO. RO.4      P                  V4      p\         P                  ! . R	O. R
O. RO.4      P                  V4      p\         P                  ! \         P
                  RR7      pV! W#4      p\        \        V4      V4       \        V. RO. RO. RO.4       \         P                  ! R 4      pV! W#4      p\        \        V4      V4       \        WRV,          4       R# )c                   r   )/TestVectorize.test_subclasses.<locals>.subclassi  rm   Nr   rm   r=   r;   r   r    r   r=   r   z(m,m),(m)->(m)r  c                 s    W,          # r3   rm   r/  rN  r;   r(  Z/TestVectorize.test_subclasses.<locals>.<lambda>  s    r=   N)r   r   r   r3  )r   r   r   r   )r   r   r   r   )r   r   r   )r   r   r   )r   r   r   )r4   r   r   r   r"   Zmatmulr.   r   )r_   r   r  r  Zmatvecr;  Zmultra   r;   r   ZTestVectorize.test_subclasses  s    	rzz 	 HHl""$ %%)T(^ 	
 HHlL,?@EEhObii3CD1LT!Wh'Q|\BC ||./JT!Wh'QAr=   c                sX    \         P                  R  4       pVP                  R8X  g   Q hR# )c                 rG  r3   rm   r4  rN  r;   rr  Z#TestVectorize.test_name.<locals>.f2  s	    5Lr=   rr  N)r4   r"   rn   )r_   rr  r:   r;   	test_nameZTestVectorize.test_name  s,    		 
	 {{d"""r=   c                sT    \         R  4       pV! . RO. RO4      p\        V. RO4       R# )c                 r3  r3   rm   r4  rN  r;   r5  Z1TestVectorize.test_decorator.<locals>.addsubtract  s    uuur=   Nr7  r8  r9  r:  )r_   r5  r;  r   r;   test_decoratorZTestVectorize.test_decorator  s,    		 
	 l31l+r=   c                s    \         R  4       p\        P                  P                  ^8  d   VP                  R8X  g   Q hR# R# )c                r?  )	Docstringrm   r@  r~   r;   r  Z'TestVectorize.test_docstring.<locals>.f  s	     Hr=   r  N)r"   sysr   Zoptimizerk  rb  r:   r;   test_docstringZTestVectorize.test_docstring  s?    		 
	 99!99+++ "r=   c                sn    R  p\        V^4      p\        P                  ! V4      pV! ^4      ^8X  g   Q hR# )c                 rG  r3   rm   r/  rN  r;   rF  Z'TestVectorize.test_partial.<locals>.foo  rH  r=   N)r   r4   r"   )r_   rF  rG  Zvbarr   r;   test_partialZTestVectorize.test_partial  s2    	 c1o||C Aw!||r=   c                s    \        R R.R7      R 4       pV! . RO4      p\        VP                  \        P                  ! R4      4       \	        V. RO4       VP
                  R8X  g   Q hR# )r  r   r  c                 r?  r3   rm   r@  r~   r;   r  Z8TestVectorize.test_signature_otypes_decorator.<locals>.f  ri  r=   r  Nr   )r"   r.   r   r4   r-   rn   r  r   r;   test_signature_otypes_decoratorZ-TestVectorize.test_signature_otypes_decorator  s[    	Z	<	 
=	 iLQWWbhhy121i(zzS   r=   c                s    \        \        4      ;_uu_ 4        \        P                  ! ^R7      pRRR4       R#   + '       g   i     R# ; i)rT   )ZpyfuncNr/   r   r4   r"   )r_   Ar:   r;   test_bad_inputZTestVectorize.test_bad_input  s*    9%%A&A &%%%s	   :A	c                s    \        \        4      ;_uu_ 4        \        P                  ! R 4      R 4       pRRR4       R#   + '       g   i     R# ; i)Zstringc                  s    R # )rG  rm   rm   r=   r;   rF  Z+TestVectorize.test_no_keywords.<locals>.foo  s    r=   Nr  )r_   rF  r:   r;   test_no_keywordsZTestVectorize.test_no_keywords  s7    9%%\\(# $ &%%%s	   ?A	c                s    \        R  R.4      pV! ^.4      p\        VP                  \        P                  ! R4      4       R# )c                 r?  r3   rm   r@  r~   r;   r(  Z?TestVectorize.test_positional_regression_9477.<locals>.<lambda>  rq  r=   r   N)r"   r.   r   r4   r  r   r;   test_positional_regression_9477Z-TestVectorize.test_positional_regression_9477  s4     {i[1qcFQWWbhhy12r=   c                s    R p\         P                  ! . ROR R7      p\        \         P                  ! R RV.R7      ! V4      V4       R# )zdatetime64[ns]r   c                 r?  r3   rm   r@  r~   r;   r(  Z8TestVectorize.test_datetime_conversion.<locals>.<lambda>  s    !r=   z(i)->(j)r  N)z
2024-01-01z
2024-01-02z
2024-01-03)r4   r   r-   r"   )r_   Zotyper   r   r;   test_datetime_conversionZ&TestVectorize.test_datetime_conversion  sC     hhA-/2<<z05w88;=>A	Cr=   rm   N)4rn   ro   rp   rq   r<  r=  rB  rF  rK  rQ  rR  rU  rX  rY  rZ  r\  r`  rc  re  rh  rl  ro  rs  ru  rw  rz  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  rr   rs   rt   rv   r;   r2  r2    s     	,	,!*##	#
#&	)!#"=	:6#
%.	#&($% 6D	,&2,8 09)6(#	,,!'3C Cr=   r2  c                   s  a  ] tR tRt o  ! R R4      t]P                  P                  ]'       * RR7      ]P                  P                  ]	RR7      ]P                  P                  RR]P                  3R.4      R	 4       4       4       tR
tV tR# )	TestLeaksi  c                   s:   a  ] tR tRt o ^tR t]R 4       tRtV t	R# )TestLeaks.Ai  c                    ^ # r0  rm   r_   rC  s   &*r;   boundZTestLeaks.A.bound  rf  r=   c                 r  r0  rm   )rC  rd  r;   unboundZTestLeaks.A.unbound  s    r=   rm   N)
rn   ro   rp   rq   itersr  Zstaticmethodr  rr   rs   rt   rv   r;   r  r    s#     	 
	 
	r=   r  Python lacks refcountsZreasonzJFunctions are immortalized if a thread is launched, making this test flakyz
name, incrr  c                s   ^ RI p\        V P                  V4      pVP                  4         \        P
                  ! V4      p\        V P                  P                  4       F^  pV P                  4       p\        P                  ! \        Wq4      ^^4      Vn
        VP                  \        P                  ! ^
4      4      pK`  	  Rp\        \        P
                  ! V4      WR,           4       \        ^4       F  pVP                  4        K  	  \        \        P
                  ! V4      V4       VP                  4        R#   TP                  4        i ; ir   )gcr  r  Zdisabler  getrefcountr^   r  r4   Z
frompyfuncr  r5   r.   ZcollectZenable)	r_   r  Zincrr  ZA_funcZrefcountr   r`   r  	   &&&      r;   test_frompyfunc_leaksZTestLeaks.test_frompyfunc_leaks  s     	&


	v.H466<<(FFHmmGA$4a;cc"))B-( ) A0(/B1X

 0(;IIKBIIKs   DD? ?Erm   N)r  r    )rn   ro   rp   rq   r  r   r  skipifr&   r(   r  r  r  rr   rs   rt   rv   r;   r  r    s       [[L(1IJ[[!C  E [[\agg, 	E Kr=   r  c                   s   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR t]P                   P#                  RR7      R 4       tRtV tR# )TestDigitizei  c                s    \         P                  ! R^4      p\         P                  ! R^4      p\        \        W4      \         P                  ! ^4      4       R# )r   Nr  rT  r4   r5   r-   r   r_   r   binsr   r;   test_forwardZTestDigitize.test_forward!  s9    IIb!yyQ8A,biim<r=   c                s    \         P                  ! ^RR4      p\         P                  ! ^RR4      p\        \        W4      \         P                  ! ^4      4       R# )rU   Nr  rY   rT  r  r  r   r;   test_reverseZTestDigitize.test_reverse&  s=    IIaR yyB#8A,biim<r=   c                s    \        ^
4      p\        P                  ! VP                  4       VP	                  4       ^
4      p\        \        P                  ! \        W4      ^ 8g  4      4       R# )r   Nr%   r4   r  r  r  r)   r   r   )r_   r   Zbinr   r;   test_randomZTestDigitize.test_random+  sD    Hkk!%%'1557B/x'1,-.r=   c                s|    . ROp. ROp. ROp\        \        W4      V4       . ROp\        \        WR4      V4       R# )rN   TN)rN   rU   rF   r   rj   r
  r    )rN   rU   r   )rN   rL   rN   rT   rL   rT   r    )r    rN   rN   rL   rL   rT   r    )r-   r   )r_   r   r  Zdefault_answerZright_answerr   r;   test_right_basicZTestDigitize.test_right_basic0  s6    #.8A,n=,8AT2LAr=   c                s    \         P                  ! R^4      p\         P                  ! R^4      p\        \        WR4      \         P                  ! ^4      4       R# )r   TNr  r  r  r   r;   test_right_openZTestDigitize.test_right_open8  s;    IIb!yyQ8AT2BIIbMBr=   c                s    \         P                  ! ^RR4      p\         P                  ! ^RR4      p\        \        WR4      \         P                  ! ^4      4       R# )rU   TNr  rY   r  r  r   r;   test_right_open_reverseZ$TestDigitize.test_right_open_reverse=  s?    IIaR yyB#8AT2BIIbMBr=   c           	     s    \        ^
4      p\        P                  ! VP                  4       VP	                  4       ^
4      p\        \        P                  ! \        WR4      ^
8g  4      4       R# )r   TNr  r  r   r;   test_right_open_randomZ#TestDigitize.test_right_open_randomB  sF    H{{1557AEEGR0x."456r=   c                s   . ROp. ROp\        \        WR4      . RO4       \        \        WR4      . RO4       . ROp\        \        WR4      . R	O4       \        \        WR4      . R
O4       . ROp\        \        WR4      . RO4       \        \        WR4      . RO4       . ROp\        \        \        W4       . ROp\        \        \        W4       R# )rN   FTN)rY   r    rN   rL   r   )r    rL   rT   rT   )r    r    rL   rT   r   )rT   rL   r    r    )rT   rT   rL   r    r   )r    r    rF   rF   )r    r    r    rF   r   )rN   rN   r    rN   )r-   r   r/   r\   r  r   r;   test_monotonicZTestDigitize.test_monotonicG  s    8AU3\B8AT2LA8AU3\B8AT2LA8AU3\B8AT2LAj(A4j(A4r=   c                sn    . ROp. ROp\        \        \        W4       Y!r!\        \        \        W4       R# )rN   N)rN   rL   y      @      ?r   )r/   r   r   r  r   r;   test_casting_errorZTestDigitize.test_casting_errorW  s)    i134i13r=   c           	     s^    ! R  R\         P                  4      p\         P                  ! ^4      P                  V4      p\         P                  ! ^^4      P                  V4      p\	        \        \        W2R4      V4      '       * 4       \	        \        \        W2R4      V4      '       * 4       R# )c                   r   )(TestDigitize.test_return_type.<locals>.Ai`  rm   Nr   rm   r=   r;   r  r  `  r   r=   r  FTN)r4   r   r5   r   r)   rA  r   )r_   r  r`   r   r   r;   r  ZTestDigitize.test_return_type^  sv    	

 	IIaLa IIaO  #Jxe4a889Jxd3Q778r=   c                sj    Rp\        \        P                  ! W^,
          V^,           .4      ^4       R# rL   Nl          r.   r4   r   rD  r:   r;   test_large_integers_increasingZ+TestDigitize.test_large_integers_increasingg  s&    R[[UAEN3Q7r=   z9gh-11022: np._core.multiarray._monoticity loses precisionr  c                sj    Rp\        \        P                  ! W^,           V^,
          .4      ^4       R# r  r  rD  r:   r;   test_large_integers_decreasingZ+TestDigitize.test_large_integers_decreasingl  s(     R[[UAEN3Q7r=   rm   N)rn   ro   rp   rq   r  r  r  r  r  r  r  r  r  r  r  r   r  Zxfailr  rr   rs   rt   rv   r;   r  r    sl     =
=
/
BC
C
7
5 498
 [[J  L8L8r=   r  c                   r   )
TestUnwrapit  c                s   \        \        ^^^\        P                  ,          ,           .4      ^^.4       \	        \        P
                  ! \        \        \        ^
4      ^d,          4      4      \        P                  8  4      4       R# r  )r-   r!   r4   r   r)   r   r   r%   r}   r~   r;   r<  ZTestUnwrap.test_simplev  sR    61a!bee)m"451v>tF48c>23bee;<=r=   c                sZ   \        \        ^R.^R7      ^^.4       \        \        P                  ! \        \        \        ^
4      R,          ^R7      4      ^8  4      4       \        P                  ! . RO4      p\        P                  ! V^4      p\        \        V^R7      V4       \        P                  ! . RO4      p\        P                  ! V^4      p\        V^R7      p\        V. RO4       \        V^^R7      p\        V. RO4       VP                  VP                  8X  g   Q hR# )	rN   period  )r  ZdiscontNr   )r    K         r  )r    r  r  r  r  i  )r    r  r  r  r  ry  )
r-   r!   r)   r4   r   r   r%   r   Zmodr   )r_   Z
simple_seqZwrap_seqZ
uneven_seqZwrap_unevenZ
no_discontZ
sm_discontra   r;   test_periodZTestUnwrap.test_period|  s    61g,s;aVDtF48d?3?@3FGHXX45
66*c*6(37DXX9:
ffZ-K4
:'BCKSA
:'BC;#4#4444r=   rm   N)rn   ro   rp   rq   r<  r  rr   rs   rt   rv   r;   r  r  t  s     >5 5r=   r  O
AllIntegerFloatMc                   sz   a  ] tR tRt o V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR	 ltV 3R
 lR ltRt	V t
R# )TestFilterwindowsi  c                *   < V ^8  d   QhRS[ RS[RR/# rL   r   r  ZreturnNZstrr  Zformatru      "r;   __annotate__TestFilterwindows.__annotate__  s"     = =# =# =$ =r=   c                    \         P                  ! W!R 7      R,          p\        V4      pVR8X  d   \         P                  pM/\         P                  ! VP
                  \         P                  4      pVP
                  V8X  g   Q h\        V\        V4      4       V^8  d#   \        V\         P                  ! . 4      4       R# V^8X  d#   \        V\         P                  ! ^4      4       R# \        \         P                  ! V^ R7      R^4       R# )r   r  rx         @Nrm   )r4   r   r   r   r   r   r.   r   r-   r]   r+   r   r_   r   r  Zscalarr   Z	ref_dtype   &&&   r;   test_hanningZTestFilterwindows.test_hanning  s    !)"-FOC<

Iv||RZZ@Iww)### 	Qq	" A:q"((2,/q[q"''!*-qq 15!<r=   c                r  r  r  r  r  r;   r  r    s"     > ># ># >$ >r=   c                r  )r   r  rx   g(\@Nrm   )r4   r   r   r   r   r   r.   r   r-   r]   r+   r   r  r  r;   test_hammingZTestFilterwindows.test_hamming  s    !)"-FOC<

Iv||RZZ@Iww)### 	Qq	" A:q"((2,/q[q"''!*-qq 161=r=   c                r  r  r  r  r  r;   r  r    "     > >3 >3 >4 >r=   c                r  )r   r  rx   g^)@Nrm   )r4   r   r   r   r   r   r.   r   r-   r]   r+   r   r  r  r;   test_bartlettZTestFilterwindows.test_bartlett      !)"-VC<

Iv||RZZ@Iww)### 	Qq	" A:q"((2,/q[q"''!*-qq 161=r=   c                r  r  r  r  r  r;   r  r    r  r=   c                r  )r   r  rx   g=
ףp=@Nrm   )r4   r   r   r   r   r   r.   r   r-   r]   r+   r   r  r  r;   test_blackmanZTestFilterwindows.test_blackman  r  r=   c                r  r  r  r  r  r;   r  r    s"     ; ; ; ; ;r=   c                s"   \         P                  ! W!R 7      R,          p\        V^ 4      pVR8X  d   \         P                  pM/\         P                  ! VP
                  \         P                  4      pVP
                  V8X  g   Q h\        V\        V4      4       V^8  d#   \        V\         P                  ! . 4      4       R# V^8X  d#   \        V\         P                  ! ^4      4       R# \        \         P                  ! V^ R7      ^
^4       R# )r   r  rx   Nrm   )r4   r   r   r   r   r   r.   r   r-   r]   r+   r   r  r  r;   test_kaiserZTestFilterwindows.test_kaiser  s    !)"-61C<

Iv||RZZ@Iww)### 	Qq	" A:q"((2,/q[q"''!*-qq 12r:r=   rm   N)rn   ro   rp   rq   r  r  r  r  r  rr   rs   rt   rv   r;   r  r    s7     = =*> >*> >*> >*; ;r=   r  c                   r   )TestTrapezoidi  c                s   \         P                  ! R^
R4      p\        \         P                  ! RV^,          ,          4      \         P                  ! ^\         P
                  ,          4      ,          RR7      p\        V^^4       R# )r   r  )r  Nr  )r4   r5   r   r  r  r   r+   )r_   r   r;  r   r;   r<  ZTestTrapezoid.test_simple	  sS    IIc2r"bffS16\*RWWQY-??CHAq!$r=   c                s   \         P                  ! ^ ^^4      p\         P                  ! ^ ^^4      p\         P                  ! ^ ^^4      p\         P                  ! V4      V^,          V^ ,          ,
          ,          pV^ ;;,          ^,          uu&   VR;;,          ^,          uu&   \         P                  ! V4      V^,          V^ ,          ,
          ,          pV^ ;;,          ^,          uu&   VR;;,          ^,          uu&   \         P                  ! V4      V^,          V^ ,          ,
          ,          pV^ ;;,          ^,          uu&   VR;;,          ^,          uu&   VR,          VR,          ,           VR,          ,           pWtR,          ,          P                  ^ R7      pWuR,          ,          P                  ^R7      p	WvR,          ,          P                  ^R7      p
\	        WqR,          ^ R7      p\        W4       \	        WrR,          ^R7      p\        W4       \	        WsR,          ^R7      p\        W4       \	        Wq^ R7      p\        W4       \	        Wr^R7      p\        W4       \	        Ws^R7      p\        W4       R# )r    Nrx   )r   ry   rY   )r   NN)Nr   N)NNr   )r4   r  	ones_liker   r   r+   )r_   r   r   r  ZwxZwyZwzqZqxZqyZqzr;  r   r;   	test_ndimZTestTrapezoid.test_ndim	  s   KK1a KK1a KK1b!\\!_!qt,
1

2!\\!_!qt,
1

2!\\!_!qt,
1

2!mq//!M2BB]##((a(0]##((a(0]##((a(0 a]+!4A"a]+!4A"a]+!4A" a1%A"a1%A"a1%A"r=   c                s   \         P                  ! ^4      pW,          pV^8H  p\         P                  P                  W#R7      pRp\	        \        WA4      V4       \         P                  P                  WR7      p\	        \        WF4      V4       \         P                  P                  WR7      p\	        \        W&4      V4       R# )rU   r  g      *@N)r4   r5   r   r   r+   r   )r_   r   r   r  Zymr;  Zxmra   r;   r  ZTestTrapezoid.test_masked,	  s     IIaLEAvUU[[[&Ib,a0UU[[[&Ib-q1UU[[[&Ia,a0r=   rm   N)	rn   ro   rp   rq   r<  r  r  rr   rs   rt   rv   r;   r  r    s     %##J1 1r=   r  c                   sp  a  ] tR tRt o R tR tR t]P                  P                  R]
P                  ]
P                  ]
P                  .4      R 4       t]P                  P                  R]
P                  ]
P                   ]
P"                  ]
P$                  ]
P&                  .4      R 4       tR tR	tV tR
# )TestSinci=	  c                s    \        \        ^ 4      ^8H  4       \        \        P                  ! R^^d4      4      p\	        V\        V4      ^4       R# )r    NrY   )r)   r   r4   r  r,   r   r_   r   r:   r;   r<  ZTestSinc.test_simple?	  s9    Q1RC()!!VAY2r=   c                s    ^ R.p\        \        P                  ! V4      4      p\        \        V4      4      p\        \	        V4      4      p\        W#4       \        W$4       R# )r    r   N)r   r4   r   r  r  r-   )r_   r   r   r   r   r   r;   test_array_likeZTestSinc.test_array_likeE	  sG    H"((1+$q']%(^2"2"r=   c                s$   \         P                  ! ^\         P                  R7      ^,          ^8H  p\        V4      p\        VP	                  \         P
                  4      4      p\        W#4       VP                  \         P
                  8X  g   Q hR# rF   r   N)r4   r5   r)  r   r   r   r*   r   )r_   r   r   r  r   r;   test_bool_dtypeZTestSinc.test_bool_dtypeM	  s^    YYq)A-2a,-)||rzz)))r=   r   c                s    \         P                  ! ^VR7      p\        V4      p\        VP                  \         P                  4      4      p\        W44       VP                  \         P                  8X  g   Q hR# r  )r4   r5   r   r   r   r*   r   )r_   r   r   r   r  r  r;   test_int_dtypesZTestSinc.test_int_dtypesT	  sP    IIau%a,-)||rzz)))r=   c                s    \         P                  ! ^VR7      p\        V4      P                  VP                  8X  g   Q hR# r  )r4   r5   r   r   )r_   r   r   rC   r;   test_float_dtypesZTestSinc.test_float_dtypes\	  s.    
 IIau%Aw}}'''r=   c                s    \         P                  ! ^ 4      p\        \        V4      \         P                  ! R4      4       R# )r    r   N)r4   r  r-   r   rv  rD  r:   r;   test_float16_underflowZTestSinc.test_float16_underflowd	  s'    JJqM 	47BJJsO4r=   rm   N)rn   ro   rp   rq   r<  r  r  r   r  r  r4   r)  ri  r  r  r  r   
longdoublerm  r@   r  r  rr   rs   rt   rv   r;   r  r  =	  s     3#* [[Wrxx299&EF* G* [[ZZR]]BLL"--P(	(5 5r=   r  c                   rP  )
TestUniqueij	  c                s    \         P                  ! . RO4      p\        \         P                  ! \	        V4      . RO8H  4      4       \        \	        \         P                  ! . RO4      4      \         P                  ! ^.4      8H  4       . ROp\        \         P                  ! \	        V4      . RO8H  4      4       \         P                  ! . RO4      p\        \         P                  ! \	        V4      . RO8H  4      4       R# )	rF   N)	rF   rT   rL   rN   rN   rL   rT   rF   r    )r    rN   rL   rT   rF   )rN   rN   rN   rN   rN   )widgethamrF  rG  rF  r   )rG  rF  r   r  )      @      @r        ?      $@r   r  )r  r  r  r   )r4   r   r)   r   r    rD  r:   r;   r<  ZTestUnique.test_simplel	  s    HH01vayO345rxx01RXXqc]BC9vay$CCDEHH:;vay$AABCr=   rm   N)rn   ro   rp   rq   r<  rr   rs   rt   rv   r;   r  r  j	  s     D Dr=   r  c                   r   )TestCheckFiniteiv	  c                s   . ROp^^\         P                  .p^^\         P                  .p\         P                  ! V4       \	        \
        \         P                  V4       \	        \
        \         P                  V4       R# rN   Nr   )r4   infr#  asarray_chkfiniter/   r\   r   r   r;   r<  ZTestCheckFinite.test_simplex	  sW    266N266N
Qj""6"6:j""6"6:r=   c                s    . ROp\         P                  ! VR\         P                  R7      p\        VP                  \         P                  8H  4       R# )rN   r   )r   r   Nr   )r4   r  r   r)   r   rh   r:   r;   test_dtype_orderZ TestCheckFinite.test_dtype_order	  s4      #RZZ@2::%&r=   rm   N)rn   ro   rp   rq   r<  r  rr   rs   rt   rv   r;   r  r  v	  s     ;' 'r=   r  c            	       s  a  ] tR tRt o ]P
                  ! . RO. RO. RO.4      t]P
                  ! . RO. RO. RO.4      t]P
                  ! . RO. RO. RO.4      t]P
                  ! . RO. RO. RO. RO. RO. RO.4      t	R t
R tR tR tR tR tR tR	 t]P&                  P)                  R
]P*                  ]P,                  ]P.                  ]P0                  .4      R 4       tRtV tR# )TestCorrCoefi	  c                s\    \        \        P                  ! . RO. RO4      RR.RR..4       R# )r    r   Nr   )rN   r    rN         )r+   r4   r   r}   r~   r;   test_non_arrayZTestCorrCoef.test_non_array	  s'    BKK	9= #Yb	2	4r=   c                s   \        V P                  4      p\        WP                  4       \	        \
        P                  ! \
        P                  ! V4      R 8*  4      4       \        V P                  V P                  4      p\        W P                  4       \	        \
        P                  ! \
        P                  ! V4      R 8*  4      4       R# )r   N)
r   r  r+   r  r)   r4   r   r  r  r  )r_   Ztgt1Ztgt2r   r;   r<  ZTestCorrCoef.test_simple	  sx    D)),rvvd|s*+,'D)),rvvd|s*+,r=   c           
     s   \        4       ;_uu_ 4       p\        P                  ! R 4       \        \        \
        V P                  RR7       VP                  \        4       \        \        V P                  RR7      V P                  4       \        \        V P                  V P                  RR7      V P                  4       \        \        V P                  ^R7      V P                  4       \        \        V P                  V P                  ^R7      V P                  4       RRR4       R#   + '       g   i     R# ; i)alwaysddofNrY   )r2   warningssimplefilterr1   DeprecationWarningr   r  filterr+   r  r  r  r_   Zsupr:   r;   	test_ddofZTestCorrCoef.test_ddof	  s      C!!(++XtvvBGJJ)*b 9499Eb A499Ma 8$))Da @$))L !   s   DD,,D=	c           
     s   \        4       ;_uu_ 4       p\        P                  ! R 4       \        \        \
        V P                  V P                  ^^ 4       \        \        \
        V P                  ^ R7       VP                  \        4       \        \        V P                  ^R7      V P                  4       RRR4       R#   + '       g   i     R# ; i)r  )ZbiasN)r2   r  r  r1   r  r   r  r  r  r+   r  r  r:   r;   	test_biasZTestCorrCoef.test_bias	  s~      C!!(++Xtvvtvvq!L+XtvvAFJJ)*a 8$))D !   s   B$CC	c                s   \         P                  ! . RO. RO.4      p\        V4      p\         P                  ! RR.RR..4      p\        W#4       \	        \         P
                  ! \         P                  ! V4      R8*  4      4       R# rN   r!  r   Nr   r!  y               @r&  r  )r4   r   r   r*   r)   r   r  )r_   r   r  rr  r   r;   test_complexZTestCorrCoef.test_complex	  s_    HHi./qkhhT
S"I./!rvvc{c)*+r=   c                s    \         P                  ! . RO.4      p\         P                  ! . RO.4      p\        \         P                  ! W4      \         P                  ! RR.RR..4      4       R# r  )r4   r   r*   r   r_   r   r   r   r;   test_xyZTestCorrCoef.test_xy	  sK    HHi[!HHl^$A)288b$Z#r4K+LMr=   c           
        \         P                  ! R R7      ;_uu_ 4        \         P                  ! R\        4       \	        \        \        P                  ! . 4      4      \        P                  4       \	        \        \        P                  ! . 4      P                  ^ ^4      4      \        P                  ! . 4      P                  ^ ^ 4      4       \	        \        \        P                  ! . 4      P                  ^^ 4      4      \        P                  ! \        P                  \        P                  .\        P                  \        P                  ..4      4       RRR4       R#   + '       g   i     R# ; iTZrecordr  N)
r  catch_warningsr  RuntimeWarningr-   r   r4   r   r#  rk   r}   r~   r;   
test_emptyZTestCorrCoef.test_empty	  s    $$D11!!(N;x5rvv>x(<(<Q(BC!xx|33Aq9;x(<(<Q(BC!xx"&&"&&)9BFFBFF;K(LMO 2111   D;E%%E6	c                sZ   R R.RR ..p\         P                  ! RR7      ;_uu_ 4        \        V4      pRRR4       \        X\         P                  ! RR.RR..4      4       \        \         P                  ! \         P                  ! V4      R8*  4      4       R#   + '       g   i     Ln; i)g0.++g}Ô%ITZraise)r   Nr   r	  )r4   Zerrstater   r,   r   r)   r   r  )r_   r   r   r   r;   test_extremeZTestCorrCoef.test_extreme	  sx    e_ufo.[[W%%A &!!RXXCy3).D%EFrvvayC'() &%s   BB*		test_typec                x    V P                   P                  V4      p\        W!R 7      pWP                  8X  g   Q hR# r   N)r  r   r   r   )r_   r"  Zcast_Ar  r  r;   test_corrcoef_dtypeZ TestCorrCoef.test_corrcoef_dtype	  s.    y)v/II%%%r=   rm   N)g^?g.{<?g$,?)g4?gp)?gJG?)gY?g?gވ0v?)gة?gBFU?g G)t?)g3TB?gL\?gA?)g>
?gqFE`?g5?)r   ޛ?r@)r&  r   p]4?)r'  r(  r   )r   r&  r'  ?'L?(8?4V}?)r&  r   r(  w{,H5?jS,?)r'  r(  r   )h?5#A?)r)  r,  r/  r   toBC,)r*  r-  r0  r2  r   @02v?)r+  r.  r1  r3  r4  r   )rn   ro   rp   rq   r4   r   r  r  r  r  r
  r<  r  r  r  r  r  r!  r   r  r  halfsingledoubler  r%  rr   rs   rt   rv   r;   r  r  	  s     
	-	-	,	.	/A 		,	-	,	.	/A 88	%	$	&	()D 88	I	I	K	M	J	J	LMD4-
ME,N
O* [[[277BIIryy"--*XY& Z&r=   r  c                   s,  a  ] tR tRt o ]P
                  ! ^ ^.^^.^^ ..4      P                  t]P
                  ! RR.RR..4      t]P
                  ! . RO^R7      t	]P
                  ! . RO4      t
]P
                  ! R.R.R.R.R.R..4      P                  t]P
                  ! RR.RR..4      t]P                  ! ^]P                  R7      t]P
                  ! . RO4      t]P
                  ! RR.RR..4      t]P                  ! ^4      t]P
                  ! . RO4      tR tR	 tR
 tR tR tR tR tR tR tR t]P>                  PA                  R]PB                  ]PD                  ]PF                  ]PH                  .4      R 4       t%R t&Rt'V t(R# )TestCovi	  r   r   r   )ndmin皙?r   c                sX    \        \        V P                  4      V P                  4       R # r3   )r*   r	   x1r  r}   r~   r;   rb   ZTestCov.test_basic	  s    DGGdii0r=   c                s    \         P                  ! . RO. RO.4      p\         P                  ! RR.RR..4      p\        \        V4      V4       \        \        V\         P                  ! ^4      R7      V4       R# )rN   r!  r   aweightsNr   r  r  )r4   r   r*   r	   r]   )r_   r   r  r   r;   r  ZTestCov.test_complex	  sW    HHi./hhT
S"I./A$A
3S9r=   c                s    \         P                  ! . RO.4      p\         P                  ! . RO.4      p\        \        W4      \         P                  ! RR.RR..4      4       R# r  )r4   r   r*   r	   r  r   r;   r  ZTestCov.test_xy	  sF    HHi[!HHl^$A	288b$Z#r,C#DEr=   c           
     r  r  )
r  r  r  r  r-   r	   r4   r   r#  rk   r}   r~   r;   r  ZTestCov.test_empty	  s    $$D11!!(N;s288B<0"&&9s288B<#7#71#=>!xx|33Aq9;s288B<#7#71#=>!xx"&&"&&)9BFFBFF;K(LMO 2111r   c           
     s   \         P                  ! R R7      ;_uu_ 4        \         P                  ! R\        4       \	        \        V P                  ^R7      \        P                  ! \        P                  \        P                  ) .\        P                  ) \        P                  ..4      4       RRR4       R#   + '       g   i     R# ; i)Tr  r  r  N)
r  r  r  r  r-   r	   r;  r4   r   r  r}   r~   r;   test_wrong_ddofZTestCov.test_wrong_ddof
  s{    $$D11!!(N;s4773!xx"&&266'):+-66'266):)<  => 2111s   BB;;C	c           	     s
   \        \        V P                  4      \        V P                  R R7      4       \        P                  ! . RO4      p\        \        V P                  V4      \        V P                  VR R7      4       R# )F)rowvarN)g+?g4@?g&S?go_?gJ4?)r*   r	   x3r4   r   r_   r   r:   r;   test_1D_rowvarZTestCov.test_1D_rowvar
  sO    DGGc$''%&@AHH=>DGGQTWWa)FGr=   c                s    \        \        V P                  ^R7      \        P                  ! V P                  ^R7      4       R# )rN   r  N)r*   r	   r@  r4   Zvarr}   r~   r;   test_1D_varianceZTestCov.test_1D_variance
  s&    DGG!,bffTWW1.EFr=   c                sv   \        \        V P                  V P                  R 7      \        V P                  4      4       \        \        V P
                  V P                  R 7      V P                  4       \        \        V P
                  V P                  R 7      V P                  4       V P                  R,           p\        \        \        V P
                  VR 7       \        P                  ! R\        P                  R7      p\        \        \        V P
                  VR 7       \        P                  ! ^\        P                  R7      p\        \        \        V P
                  VR 7       R\        P                  ! ^\        P                  R7      ,          p\        \        \        V P
                  VR 7       R# ))fweightsr   r   NrL   rT   rY   )r*   r	   r  frequencies
x2_repeatsr;  r  unit_frequenciesr  r/   r   r4   r]   r(  RuntimeErrorr\   )r_   Znonintr  r   r;   test_fweightsZTestCov.test_fweights
  s   DGGd.>.>?DOO,	.DGGd.>.>?			#DGGd.C.CD			#!!C'idgg?GGF"''*lC1=GGARWW%lC1="''**j#tww;r=   c                s   \        \        V P                  V P                  R 7      V P                  4       \        \        V P                  RV P                  ,          R 7      \        V P                  V P                  R 7      4       \        \        V P                  V P
                  R 7      V P                  4       \        P                  ! R4      p\        \        \        V P                  VR 7       \        P                  ! ^4      p\        \        \        V P                  VR 7       R\        P                  ! ^4      ,          p\        \        \        V P                  VR 7       R# )r<  r   NrE  r	  )r*   r	   r;  r   r  unit_weightsr  r4   r]   r/   rI  r\   r  r:   r;   test_aweightsZTestCov.test_aweights%
  s    DGGdll;TYYGDGGcDLL.@ADGGdll;	=DGGd.?.?@$))LGGFOlC1=GGAJlC1=2771:j#tww;r=   c                sP   \        \        V P                  V P                  V P                  R 7      \        V P
                  4      4       \        \        V P                  V P                  V P                  R 7      V P                  4       \        \        V P                  V P                  V P                  R 7      V P                  4       \        \        V P                  V P                  V P                  R 7      V P                  4       \        \        V P                  V P                  RV P                  ,          R 7      \        V P                  V P                  R7      4       \        \        V P                  V P                  V P                  R 7      V P                  4       R# ))rD  r=  r   r<  N)r*   r	   r  rF  rK  rG  r;  r  rH  r  r   r  r}   r~   r;   test_unit_fweights_and_aweightsZ'TestCov.test_unit_fweights_and_aweights1
  s+   DGGd.>.>%)%6%68DOO,	. 	DGGd.>.>%)%6%68			# 	DGGd.C.C%)%6%68			# 	DGGd.C.C%)\\3			# 	DGGd.C.C%(4<<%79DGGdll;	= 	DGGd.C.C%)%6%68			#r=   r"  c                r#  r$  )r;  r   r	   r   )r_   r"  Zcast_x1r  r  r;   test_cov_dtypeZTestCov.test_cov_dtypeE
  s.    ''..+'+II%%%r=   c                s    \         P                  ! R4      p\         P                  ! V^ RR7      p\         P                  ! VP                  ^ RR7      p\	        W2RR7       R# )rT   T)r  r?  F)ZstrictNr  )r4   r]   r	   r   r*   r  r   r;   test_gh_27658ZTestCov.test_gh_27658K
  sA    GGFO66!!D1!E26r=   rm   Nr	  )r   r   r   )rN   rF   rN   gٿ)r   r   r   gUUUUUU?gUUUUUU)g&S:?go_?g#~j?gZӼ?gQ|?))rn   ro   rp   rq   r4   r   r   r;  r  r  rF  rG  r  r]   r(  rH  r   r  rK  r@  rb   r  r  r  r>  rB  rC  rJ  rL  rM  r   r  r  r5  r6  r7  r  rN  rO  rr   rs   rt   rv   r;   r8  r8  	  s    	Aq6Aq6Aq6*	+	-	-B88b#Yb	*+D	/	+B((9%KC53%#useDEGGJ88c4[4+./Dwwq0hh'G88gx(8W*=>?D771:L	:	;B1:F
O>H
G< 
<#( [[[277BIIryy"--*XY& Z&
7 7r=   r8  c                   r   )Test_I0iR
  c                s   \        \        R 4      \        P                  ! R4      4       \        P                  ! . RO4      p\        P                  ! . RO4      p\        \        V4      V4       \        \        V) 4      V4       \        P                  ! RR.RR.RR.RR	.R
R..4      p\        \        V4      \        P                  ! RR.RR.RR.RR.RR..4      4       \        P                  ! R.4      p\	        VP
                  R4       \        \        P                  ! R.4      \        P                  ! R.4      4       R# )r   gǒ#?g>@v?guͥ?gVX˳?gua&?gB-sJ?g-^?g_V?gX.?gVaX?gj?gp?g~-@?gD/b?gݦ?g,Y1ؔ?g[!?gQL?gWsU+?g@?gfxw?r   r   N)gC7?gmM?g3a,?g$WV?ۏ?rR  )gֿN^?gE ?g閡1?g%m? ?gDn@r  )r+   r   r4   r   r.   r?   r-   )r_   r  r  r  Zi0_0r   r;   r<  ZTest_I0.test_simpleT
  s   sGHH'(	*
 HHIJ88[\BqE8,BrFH-HHx,!:.!:.!:.!:.	0 1
 	qEHHz:.!:.!:.!:.!:.	0 1	2 uubT{TZZ&255";"7r=   c                s   a \         P                  ! ^4      o ! V3R lR4      p\        \         P                  ! V! 4       4      V4      '       g   Q h\         P                  ! S4      p\         P                  ! V! 4       4      p\        W#4       R# )rF   c                   sB   <a  ] tR tRt o  ZP                  tR tRtV tR# )*Test_I0.test_non_array.<locals>.array_likeis
  c                r?  r3   rm   )r_   r   ZcontextZreturn_scalar   &&&&r;   __array_wrap__Z9Test_I0.test_non_array.<locals>.array_like.__array_wrap__v
  s    r=   rm   N)rn   ro   rp   rq   Z__array_interface__rS  rr   rs   )ru   r`   s   @r;   
array_likerQ  s
  s     "#"7"7 r=   rT  N)r4   r5   rA  r  r   r-   )r_   rT  r  r  r`   s   &   @r;   r
  ZTest_I0.test_non_arrayp
  s_    IIaL	 	 "&&.
;;;;eeAheeJL!3$r=   c                s    \         P                  ! ^ R.4      p\        P                  ! \        RR7      ;_uu_ 4        \        V4      pRRR4       R#   + '       g   i     R# ; i)r    z#i0 not supported for complex valuesr   Ny      ?       @)r4   r   r   r   r   r   r   r   r;   r  ZTest_I0.test_complex
  s?    HHa[!]]9,QRRQ%C SRRRs   AA$	rm   N)	rn   ro   rp   rq   r<  r
  r  rr   rs   rt   rv   r;   rP  rP  R
  s     88%  r=   rP  c                   r   )
TestKaiseri
  c                s   \        \        P                  ! \        ^R4      4      4       \	        \        ^ R4      \        P
                  ! . 4      4       \	        \        ^R4      \        P
                  ! RR.4      4       \	        \        ^R4      \        P
                  ! . RO4      4       \	        \        ^R4      \        P
                  ! . RO4      4       R# )rN   r    oF?gg?N)rV  vT=?r   rW  rV  )?YJ?r   rY  rX  )r)   r4   Zisfiniter   r+   r   r}   r~   r;   r<  ZTestKaiser.test_simple
  s    F1cN+,F1cNHHRL	*F1cNHHj*%=>	@F1cNHH &> ?	@ 	F1g.HH &> ?	@r=   c                s    \        ^^4       R# rT   N)r   r}   r~   r;   test_int_betaZTestKaiser.test_int_beta
  s    q!r=   rm   N)rn   ro   rp   rq   r<  r[  rr   rs   rt   rv   r;   rU  rU  
  s     @ r=   rU  c                   sb   a  ] tR tR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V tR# )TestMeshgridi
  c           
     s    \        . RO. RO4      w  r\        V\        P                  ! . RO. RO. RO. RO.4      4       \        V\        P                  ! . RO. RO. RO. RO.4      4       R# )rN   Nr   rF   rU   r   r-  r  )rU   rU   rU   )r   r   r   )r-  r-  r-  r   r-   r4   r   r_   XYr   r;   r<  ZTestMeshgrid.test_simple
  s\    )\21bhh	(1(1(1(3 4 	5 	1bhh	(1(1(1(3 4 	5r=   c                sh    \        . RO4      w  p\        V\        P                  ! . RO4      4       R# )rN   Nra  r^  )r_   r`  r:   r;   test_single_inputZTestMeshgrid.test_single_input
  s!    |$1bhh|45r=   c                sZ    . p\        . \        V!  4       \        . \        VR R/ 4       R# )r   FN)r-   r   r  r:   r;   test_no_inputZTestMeshgrid.test_no_input
  s)    2x/2x:E:;r=   c           	     sZ   . ROp. ROp\        WRR7      w  r4\        V\        P                  ! . RO. RO. R	O.4      4       \        V\        P                  ! . RO. RO. RO.4      4       ^^	.p\	        \        W4      ^ ,          P
                  R
8H  4       \	        \        WRR7      ^ ,          P
                  R8H  4       \	        \        WV4      ^ ,          P
                  R8H  4       \	        \        WVRR7      ^ ,          P
                  R8H  4       \        \        \         WRR7       R# )rN   ijZindexingZnotvalidNr   r]  r   )rL   rL   rL   rL   )rT   rT   rT   rT   r  rT   rF   )rF   rT   rL   )rT   rF   rL   )r   r-   r4   r   r)   r?   r/   r\   )r_   r   r   r`  ra  r  r   r;   test_indexingZTestMeshgrid.test_indexing
  s    !.1bhh(4(4(6 7 	8 	1bhh(4(4(6 7 	8
 Fq!''612-a066&@Aq!!$**i78q40399YFGj(A:Fr=   c           	     s    \        . RO. RORR7      w  r\        V\        P                  ! . RO.4      4       \        V\        P                  ! ^.^.^.^..4      4       R# )rN   TsparseNr   r]  r^  r_  r   r;   test_sparseZTestMeshgrid.test_sparse
  sK    )\$?1bhh	{341bhhaS1#s';<=r=   c                s>    \        \        \        . RO. RORR7       R# )rN   rd  )r  Nr   r]  )r/   r   r   r}   r~   r;   test_invalid_argumentsZ#TestMeshgrid.test_invalid_arguments
  s     	it	=r=   c                s   \         P                  ! ^ ^
\         P                  R7      p\         P                  ! ^
^\         P                  R7      p\         P                  ! W4      w  r4\        VP                  VP                  8H  4       \        VP                  VP                  8H  4       \         P                  ! WRR7      w  r4\        VP                  VP                  8H  4       \        VP                  VP                  8H  4       \         P                  ! WRR7      w  r4\        VP                  VP                  8H  4       \        VP                  VP                  8H  4       R# )r    r   T)r   rh  N)r4   r5   r   r   r   r)   r   )r_   r   r   r`  ra  r   r;   r  ZTestMeshgrid.test_return_type
  s     IIa2::.IIb"BJJ/{{1 177"#177"# {{1d+177"#177"# {{1-177"#177"#r=   c                s    \         P                  ! R R.4      p\         P                  ! RR.4      p\         P                  ! WRRR7      w  r4^ VR&   \        VR,          ^ 4       \        VR	,          V4       R# )
r  r  gffffff
@g@FT)ri  r   N)r    r   r8  )r4   r   r   r.   )r_   r`  ra  r   r   r   r;   test_writebackZTestMeshgrid.test_writeback
  s_    HHc3Z HHc3Z {{1D9$QtWa QtWa r=   c                s8   \         P                  ! R  \        ^^4       4       !  w  rr4pRp\        VP                  V4       \        VP                  V4       \        VP                  V4       \        VP                  V4       \        VP                  V4       R# )c              3   s6   "   T F  p^ .V,          x  K  	  R# 5ir   rm   )r  r   r:   r;   r  Z-TestMeshgrid.test_nd_shape.<locals>.<genexpr>
  s     %C{!qcAgg{s   N)rL   rN   rT   rF   rU   )r4   r   r^   r.   r?   )r_   r`   r   r   r$  r  Zexpected_shapera   r;   test_nd_shapeZTestMeshgrid.test_nd_shape
  sm    %CuQ{%CDaA(QWWn-QWWn-QWWn-QWWn-QWWn-r=   c                s    \         P                  ! ^ .^^.. RO4      w  rp\        V. RO.. RO..4       \        V. RO.. RO..4       \        V. RO.. RO..4       R# )r    NrS   r   r   rK   r4   r   r.   r   r   r;   test_nd_valuesZTestMeshgrid.test_nd_values
  sW    ++qcAq695aQ)yk23Q)yk23Q)yk23r=   c                s    \         P                  ! ^ .^^.. RORR7      w  rp\        V. RO. RO..4       \        V. RO. RO..4       \        V. RO. RO..4       R# )r    rd  re  NrS   r   r   rK   rn  r   r   r;   test_nd_indexingZTestMeshgrid.test_nd_indexing   sV    ++qcAq69tDaQ)Y/01Q)Y/01Q)Y/01r=   rm   N)rn   ro   rp   rq   r<  rb  rc  rg  rj  rk  r  rl  rm  ro  rp  rr   rs   rt   rv   r;   r\  r\  
  sB     	56<
G(>
=$0!.42 2r=   r\  c                   sV   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tRtV tR# )TestPiecewisei  c           	     s~   \        ^ ^ .RR.^.4      p\        V^^ .4       \        ^ ^ .RR..^.4      p\        V^^ .4       \        ^ ^ .\        P                  ! RR.4      ^.4      p\        V^^ .4       \        ^ ^ .\        P                  ! ^^ .4      ^.4      p\        V^^ .4       \        ^ ^ .\        P                  ! ^^ .4      .^.4      p\        V^^ .4       \        ^ ^ .RR..R .4      p\        V^ R.4       \	        \
        R\         ^ ^ .RR... 4       \	        \
        R\         ^ ^ .RR... RO4       R# )r    TFc                     R# )rN   rY   rm   r@  r~   r;   r(  Z+TestPiecewise.test_simple.<locals>.<lambda>  s    r=   z1 or 2 functions are expectedNrY   r   )r   r-   r4   r   r0   r\   rD  r:   r;   r<  ZTestPiecewise.test_simple	  sP   q!ftUmaS11q!f% q!fe}os31q!f% q!fbhhe}5s;1q!f% q!fbhh1v.41q!f% q!frxxA/01#61q!f%q!ft}o}=1q"g&J(G1v	4J(G1v		;r=   c                sP    \        ^^.RR.RR..^^.4      p\        V^^.4       R# rN   TFNr   r-   rD  r:   r;   test_two_conditionsZ!TestPiecewise.test_two_conditions&  s3    q!fe}udm<q!fE1q!f%r=   c                s@    \        ^. RO. RO4      p\        V^4       R# )rT   N)TFF)rF   rL   r    )r   r.   rD  r:   r;   $test_scalar_domains_three_conditionsZ2TestPiecewise.test_scalar_domains_three_conditions*  s    a-y9Qr=   c                s    \        ^^.RR.^.4      p\        V^^ .4       \        ^^.RR.^^.4      p\        V^^.4       R# rs  rt  rD  r:   r;   test_defaultZTestPiecewise.test_default.  sR    q!ftUmaS11q!f% q!ftUmaV41q!f%r=   c                sL   \         P                  ! ^4      p\        W^8  ^^ .4      p\        VP                  ^ 8H  4       \        V^ 8H  4       ^p\        VRR.^^ .4      p\        VP                  ^ 8H  4       \        V^8H  4       \        V. RO. RO4      p\        V^4       R# )rT   TFNr/  r   )r4   r   r   r)   r   r-   r  r   r;   r>  ZTestPiecewise.test_0d7  s    HHQKaQA'!Qa$A/!Q a-y91a r=   c           	     s4   ^p\        W^8*  V^8  .^^ .4      p\        V^4       ^p\        W^8*  V^8  V^8*  ,          V^8  .. RO4      p\        V^4       \        \        R\         W^8*  V^8  .^.4       \        \        R\         W^8*  V^8  .. RO4       R# )rT   z2 or 3 functions are expectedNr   r   )r   r.   r-   r0   r\   r  r   r;   test_0d_comparisonZ TestPiecewise.test_0d_comparisonF  s    aq&!a%1a&1Q aq&1q5Q!V"4a!e<iH1a J(Gq61q5/A3	0J(Gq61q5/<	9r=   c                s    \         P                  ! ^4      p\         P                  ! V^8  4      p\        W.^^.4      p\        V^4       R# rZ  )r4   r   r   r.   )r_   r   r   r   r   r;   test_0d_0d_conditionZ"TestPiecewise.test_0d_0d_conditionU  s<    HHQKHHQUOaq!f%Qr=   c                s    \         P                  ! . RO. RO.4      p\        W^ 8  V^8  .. RO4      p\        V\         P                  ! . RO. RO.4      4       R# )r  N)g      g      r  )r   r  r  r2  )r	  r	  r	  )r   r   r   )r4   r   r   r-   r  r   r;   test_multidimensional_extrafuncZ-TestPiecewise.test_multidimensional_extrafunc[  sR    HH(%' (aa%a*51bhh(4(6 7 	8r=   c                s     ! R  R\         P                  4      p\         P                  ! R4      P                  V4      p\	        W"R8  V^8  .. RO4      p\        \        V4      V4       \        V. RO4       R# )c                   r   )/TestPiecewise.test_subclasses.<locals>.subclassic  rm   Nr   rm   r=   r;   r   r{  c  r   r=   r   r   r   N)r	  r   r   )r	  r	  r   r   r   )r4   r   r5   r   r   r.   r   )r_   r   r   r;  r   r;   r   ZTestPiecewise.test_subclassesb  s\    	rzz 	IIbMx(ab&!q&)=9T!Wh'Q./r=   rm   N)rn   ro   rp   rq   r<  ru  rv  rw  r>  rx  ry  rz  r   rr   rs   rt   rv   r;   rq  rq    s7     ;:&&!980 0r=   rq  c                   s  a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 t]P                  P                  R^ ^.4      R 4       tR t]P                  P%                  ]'       * RR7      R 4       t]P                  P                  R^^..^.4      R 4       t]P                  P                  R]P.                  R,          4      R 4       tR tR tRtV tR# )TestBincountik  c                s    \         P                  ! \         P                  ! ^4      4      p\        V\         P                  ! ^4      4       R# )rF   N)r4   bincountr5   r-   r]   rA  r:   r;   r<  ZTestBincount.test_simplem  s*    KK		!%1bggaj)r=   c                s    \         P                  ! \         P                  ! . RO4      4      p\        V\         P                  ! . RO4      4       R# )rN   N)rN   rU   rL   rF   rN   )r    rL   rN   r    rN   rN   )r4   r}  r   r-   rA  r:   r;   test_simple2ZTestBincount.test_simple2q  s-    KK121bhh'9:;r=   c                s    \         P                  ! ^4      p\         P                  ! . RO4      p\         P                  ! W4      p\	        W24       R# )rF   N)皙?333333?r   r  )r4   r5   r   r}  r-   r_   r   r   r   r   r;   test_simple_weightZTestBincount.test_simple_weightu  s4    IIaLHH)*KK1 r=   c                s    \         P                  ! . RO4      p\         P                  ! . RO4      p\         P                  ! W4      p\        V\         P                  ! . RO4      4       R# )rN   NrN   rL   rF   rU   rL   r  r  r   r  r  )r    r  r   r    r   r  r4   r   r}  r-   r  r   r;   test_simple_weight2Z TestBincount.test_simple_weight2{  sA    HH_%HH./KK1bhh'ABCr=   c                s   \         P                  ! . RO4      p\         P                  ! V^R7      p\        V\         P                  ! . RO4      4       . p\         P                  ! V^ R7      p\        V\         P                  ! . 4      4       R# )r    	minlengthN)r    rN   r    rN   rN   )rL   rT   r    r  r  r   r;   test_with_minlengthZ TestBincount.test_with_minlength  sZ    HH_%KKQ'1bhhy12KKQ'1bhhrl+r=   c                s   \         P                  ! . RO4      p\         P                  ! V^R7      p\        V\         P                  ! . RO4      4       \         P                  ! V^ R7      p\        V\         P                  ! . RO4      4       R# )r    r  N)r    rN   rN   rL   rL   rT   rT   )rN   rL   rL   rL   r  r  r   r;   )test_with_minlength_smaller_than_maxvalueZ6TestBincount.test_with_minlength_smaller_than_maxvalue  sW    HH*+KKQ'1bhh|45KKQ'1bhh|45r=   c                s    \         P                  ! . RO4      p\         P                  ! . RO4      p\         P                  ! W^4      p\        V\         P                  ! . RO4      4       R# )rN   Nr  r  )r    r  r   r    r   r  r    r    r  r  r   r;   test_with_minlength_and_weightsZ,TestBincount.test_with_minlength_and_weights  sC    HH_%HH./KKa 1bhh'GHIr=   c                s    \         P                  ! . \        R 7      p\         P                  ! V4      p\	        W4       R# r$  )r4   r   r  r}  r-   r  r   r;   r  ZTestBincount.test_empty  s'    HHRs#KKN1 r=   c                s    \         P                  ! . \        R 7      p\         P                  ! V^R7      p\	        V\         P
                  ! ^\        R 7      4       R# )r   r  N)r4   r   r  r}  r-   r>   r  r   r;   test_empty_with_minlengthZ&TestBincount.test_empty_with_minlength  s7    HHRs#KKQ'1bhhq45r=   r  c                s~    \        \        P                  ! . VR 7      \        P                  ! V\        R7      4       R# )r  r   N)r-   r4   r}  r>   r  )r_   r  rN  r;   test_empty_listZTestBincount.test_empty_list  s%    2;;rY?88IS9	;r=   c                s  a \         P                  ! . \        R 7      o\        \        RV3R l4       \        \
        RV3R l4       \         P                  ! ^4      o\        \        RV3R l4       \        \
        RV3R l4       R# )r   z"'str' object cannot be interpretedc                  4   < \         P                  ! S R R7      # foobarr  r4   r}  r@  r'  r;   r(  <TestBincount.test_with_incorrect_minlength.<locals>.<lambda>      BKKX$Fr=   zmust not be negativec                  4   < \         P                  ! S RR7      # rN   r  rY   r  r@  r'  r;   r(  r        BKKR$@r=   c                  r  r  r  r@  r'  r;   r(  r    r  r=   c                  r  r  r  r@  r'  r;   r(  r    r  r=   N)r4   r   r  r0   r   r\   r5   rD  r*  r;   test_with_incorrect_minlengthZ*TestBincount.test_with_incorrect_minlength  sj    HHRs#I@F	H 	J2@	B IIaLI@F	H 	J2@	Br=   r  r  c                s   \         P                  ! \        P                  ! \        P                  4      4      p\         P                  ! \        P                  ! \        P
                  4      4      p\        ^
4       F  p\        P                  ! . RO4       K  	  \        \         P                  ! \        P                  ! \        P                  4      4      V4       \        \         P                  ! \        P                  ! \        P
                  4      4      V4       \        ^
4       F  p\        P                  ! . RO. RO4       K   	  \        \         P                  ! \        P                  ! \        P                  4      4      V4       \        \         P                  ! \        P                  ! \        P
                  4      4      V4       R# )r   Nr   r   )	r  r  r4   r   Zintpr7  r^   r}  r.   )r_   Zintp_refcountZdouble_refcountjr   r;   test_dtype_reference_leaksZ'TestBincount.test_dtype_reference_leaks  s     (9://"((299*=>rAKK	" S__RXXbgg%67GS__RXXbii%89?KrAKK	9- S__RXXbgg%67GS__RXXbii%89?Kr=   valsc                sX   \         P                  ! V4      p\        \        4      ;_uu_ 4        \         P                  ! V4       R R R 4       \        \        4      ;_uu_ 4        \         P                  ! V4       R R R 4       R #   + '       g   i     LH; i  + '       g   i     R # ; ir3   )r4   rv  r/   r\   r}  )r_   r  Zvals_arrrC   r;   test_error_not_1dZTestBincount.test_error_not_1d  s`     ::d#:&&KK! ':&&KK '& '&&&&s   B$BB	B)	r  r  c                s    \         P                  ! . ROVR7      p\         P                  ! V4      p. ROp\        W44       R# )r    r   Nr    rN   rN   rT   rL   rN   r-  rN   rT   rN   rN   r    r    r    rN   r  )r_   r  r`   r   r  r  r;   test_gh_28354ZTestBincount.test_gh_28354  s-    HH*"5Q+6,r=   c                sh    \         P                  ! \         P                  ! R 4      R,          4       R# )r>  :NNrL   N)r4   r}  r5   r}   r~   r;   test_contiguous_handlingZ%TestBincount.test_contiguous_handling  s    
BIIe$S)*r=   c                sr     ! R  R4      pV! 4       p\         P                  ! V4      p. ROp\        W44       R# )c                   rP  )0TestBincount.test_gh_28354_array_like.<locals>.Ai  c                sR    \         P                  ! . RO\         P                  R7      # )r    r   r  )r4   r   r  r}   r~   r;   	__array__Z:TestBincount.test_gh_28354_array_like.<locals>.A.__array__  s    xx 5RYYGGr=   rm   N)rn   ro   rp   rq   r  rr   rs   rt   rv   r;   r  r    s     H Hr=   r  Nr  )r4   r}  r-   )r_   r  r`   r   r  r   r;   test_gh_28354_array_likeZ%TestBincount.test_gh_28354_array_like  s1    	H 	H CQ+6,r=   rm   N)rn   ro   rp   rq   r<  r~  r  r  r  r  r  r  r  r   r  r  r  r  r  r&   r  r  r4   	typecodesr  r  r  rr   rs   rt   rv   r;   r|  r|  k  s     *<!D,6J!
6
 [[[1a&1; 2;B" [[L(1IJL KL [[V1vh]3 4 [[T2<<#=>- ?-+- -r=   r|  c                   s   a  ] tR tRt o R tR tR tR tR t]	P                  ! ]P                  R R R	 .. ROR
7      R 4       tR tR tR tR tR tR tR tR tR tRtV tR# )
TestInterpi  c           	     s   \        \        \        ^ . . 4       \        \        \        ^ ^ .^^.4       \        \        \        ^ ^ ^.^^.^ R7       \        \        \        ^ . . RR7       \        \        \        ^ ^ .^^.RR7       R# )r    r  h  N)r/   r\   r   r}   r~   r;   test_exceptionsZTestInterp.test_exceptions  sl    j&!R4j&!aS1a&9j&!aVaVAFj&!RC@j&!aS1a&Er=   c                s    \         P                  ! ^ ^^4      p\         P                  ! ^ ^^4      p\         P                  ! ^ ^^24      p\        \         P                  ! W1V4      V4       R# r   )r4   r  r+   r   r_   r   r   x0r   r;   rb   ZTestInterp.test_basic  sM    KK1a KK1a [[Ar"BIIbQ/4r=   c           	     s   \        ^^
4       EF  p\        P                  ! V\        P                  R7      p\        P                  ! V\        P                  R7      p\        P
                  ! R^ V^,
          V.\        P                  R7      pVRRR1,          p\        WBV4      p\        WRV4      p\        P
                  ! . RO\        R7      pVRRR1,          p	\        Wh4       \        Wy4       \        WBV^ R7      p\        WRV^ R7      p\        P
                  ! . RO\        R7      pVRRR1,          p	\        Wh4       \        Wy4       \        WBV^R7      p\        WRV^R7      p\        P
                  ! . R	O\        R7      pVRRR1,          p	\        Wh4       \        Wy4       \        WBV^ ^R7      p\        WRV^ ^R7      p\        P
                  ! . R
O\        R7      pVRRR1,          p	\        Wh4       \        Wy4       EK  	  R# )rN   r   Nleftright)r  r  rY   r   )r    rN   rN   rN   )rN   rN   rN   rL   )r    rN   rN   rL   )	r^   r4   r5   r7  r]   r   r   rK  r.   )
r_   sizexpZypZincptsZdecptsZincresZdecresZinctgtZdectgts
   &         r;   test_right_left_behaviorZ#TestInterp.test_right_left_behavior  s    !RLD4ryy1BRYY/BXXr1dQh5RYYGFDbD\FF+FF+FXXl%8FDbD\F((F3FF3FXXl%8FDbD\F((F!4FF!4FXXl%8FDbD\F((F!<FF!<FXXl%8FDbD\F((A !r=   c                s0   \         P                  ! ^ ^^4      p\         P                  ! ^ ^^4      p^ p\        \         P                  ! W1V4      V4       Rp\        \         P                  ! W1V4      V4       \         P                  ! R4      p\        \         P                  ! W1V4      V4       \         P
                  ! R4      p\        \         P                  ! W1V4      V4       \         P                  p\        \         P                  ! W1V4      V4       R# )r    r  N)r4   r  r+   r   r   r   r#  r  r   r;   test_scalar_interpolation_pointZ*TestInterp.test_scalar_interpolation_point  s    KK1a KK1a BIIbQ/4BIIbQ/4ZZ^BIIbQ/4ZZ^BIIbQ/4VVBIIbQ/4r=   c                sn   . ROp. ROp^^\         P                  ^.p\        \         P                  ! WV4      ^^\         P                  \         P                  ^.4       ^^\         P                  ^.p\        \         P                  ! WV4      ^^\         P                  \         P                  ^.4       R# )rN   NrN   rL   r  rT   rF   ra  )r4   r  r+   r   r#  )r_   r   r  fpr   r;    test_non_finite_behavior_exact_xZ+TestInterp.test_non_finite_behavior_exact_x(  s    BFFABIIaR01a2KLBFFABIIaR01a2KLr=   c                s    \        V ^ 4      # r0  rD   r@  r~   r;   r(  TestInterp.<lambda>2      -1%r=   c                s    \        ^ V 4      # r0  r  r@  r~   r;   r(  r  3  r  r=   c                sD    \        V \        P                  ! V R4      4      # )rL   rR   )rD   r4   Zmultiplyr@  r~   r;   r(  r  4  s    -2;;q"#56r=   )ZparamsZidsc                s    VP                   # )z'scale function used by the below tests )Zparam)r_   ZrequestrN  r;   scZTestInterp.sc0  s     }}r=   c           
     sv   \        \        P                  ! R\        P                  ^.V! ^ ^
.4      4      V! \        P                  4      4       \        \        P                  ! R^ \        P                  .V! ^ ^
.4      4      V! \        P                  4      4       \        \        P                  ! R^ ^.V! \        P                  ^
.4      4      V! \        P                  4      4       \        \        P                  ! R^ ^.V! ^ \        P                  .4      4      V! \        P                  4      4       R# )ztest that nans are propagated r   N)r.   r4   r   r#  r_   r  rN  r;   test_non_finite_any_nanZ"TestInterp.test_non_finite_any_nan?  s    RYYsRVV!$4bqb9I6JKRPRPVPVZXRYYs!RVV$4bqb9I6JKRPRPVPVZXRYYs!!$4b"&&b9I6JKRPRPVPVZXRYYs!!$4bq"&&9I6JKRPRPVPVZXr=   c           
     s   \        \        P                  ! R\        P                  ) \        P                  5.V! ^ ^
.4      4      V! \        P                  4      4       \        \        P                  ! R^ ^.V! \        P                  ) \        P                  5.4      4      V! \        P                  4      4       \        \        P                  ! R^ ^.V! \        P                  5\        P                  ) .4      4      V! \        P                  4      4       \        \        P                  ! R\        P                  ) \        P                  5.V! ^
^
.4      4      V! ^
4      4       R# )z1Test that interp between opposite infs gives nan r   Nr.   r4   r   r  r#  r  rN  r;   test_non_finite_infZTestInterp.test_non_finite_infF  s    RYYsbffWrvvg$6!";M8NOQSTVTZTZQ[\RYYs1A$6RVVGbffW;M8NOQSTVTZTZQ[\RYYs1A$6RVVGbffW;M8NOQSTVTZTZQ[\ 	RYYsbffWrvvg$6";M8NOQSTVQWXr=   c           
     s   \        \        P                  ! R\        P                  ) ^.V! \        P                  ) ^
.4      4      V! \        P                  4      4       \        \        P                  ! R\        P                  ) ^.V! \        P                  5^
.4      4      V! \        P                  4      4       \        \        P                  ! R\        P                  ) ^.V! ^ \        P                  ) .4      4      V! \        P                  4      4       \        \        P                  ! R\        P                  ) ^.V! ^ \        P                  5.4      4      V! \        P                  4      4       \        \        P                  ! R^ \        P                  5.V! \        P                  ) ^
.4      4      V! \        P                  4      4       \        \        P                  ! R^ \        P                  5.V! \        P                  5^
.4      4      V! \        P                  4      4       \        \        P                  ! R^ \        P                  5.V! ^ \        P                  ) .4      4      V! \        P                  4      4       \        \        P                  ! R^ \        P                  5.V! ^ \        P                  5.4      4      V! \        P                  4      4       R# )z?Test that interp where both axes have a bound at inf gives nan r   Nr  r  rN  r;   test_non_finite_half_inf_xfZ&TestInterp.test_non_finite_half_inf_xfO  s   RYYsbffWA$6RVVG";M8NOQSTVTZTZQ[\RYYsbffWA$6RVVG";M8NOQSTVTZTZQ[\RYYsbffWA$6!bffW;M8NOQSTVTZTZQ[\RYYsbffWA$6!bffW;M8NOQSTVTZTZQ[\RYYs1rvvg$6RVVG";M8NOQSTVTZTZQ[\RYYs1rvvg$6RVVG";M8NOQSTVTZTZQ[\RYYs1rvvg$6!bffW;M8NOQSTVTZTZQ[\RYYs1rvvg$6!bffW;M8NOQSTVTZTZQ[\r=   c           
     sJ   \        \        P                  ! R\        P                  ) \        P                  ) .V! ^ ^
.4      4      V! ^
4      4       \        \        P                  ! R\        P                  ) ^.V! ^ ^
.4      4      V! ^
4      4       \        \        P                  ! R^ \        P                  5.V! ^ ^
.4      4      V! ^ 4      4       \        \        P                  ! R\        P                  5\        P                  5.V! ^ ^
.4      4      V! ^ 4      4       R# )z0Test interp where the x axis has a bound at inf r   Nr.   r4   r   r  r  rN  r;   test_non_finite_half_inf_xZ%TestInterp.test_non_finite_half_inf_xZ  s    RYYsbffWrvvg$6Ar7DbfMRYYsbffWa$6Ar7DbfMRYYs1rvvg$6Ar7DbeLRYYsbffWrvvg$6Ar7DbeLr=   c           
     s   \        \        P                  ! R^ ^.V! ^ \        P                  ) .4      4      V! \        P                  ) 4      4       \        \        P                  ! R^ ^.V! ^ \        P                  5.4      4      V! \        P                  54      4       \        \        P                  ! R^ ^.V! \        P                  ) ^
.4      4      V! \        P                  ) 4      4       \        \        P                  ! R^ ^.V! \        P                  5^
.4      4      V! \        P                  54      4       \        \        P                  ! R^ ^.V! \        P                  ) \        P                  ) .4      4      V! \        P                  ) 4      4       \        \        P                  ! R^ ^.V! \        P                  5\        P                  5.4      4      V! \        P                  54      4       R# )z0Test interp where the f axis has a bound at inf r   Nr  r  rN  r;   test_non_finite_half_inf_fZ%TestInterp.test_non_finite_half_inf_fa  sL   RYYsQFBa"&&/A,BCR[QRYYsQFBa"&&/A,BCR[QRYYsQFBb/A,BCR[QRYYsQFBb/A,BCR[QRYYsQFB"&&/A,BCR[QRYYsQFB"&&/A,BCR[Qr=   c           	     s   \         P                  ! ^ ^^4      p\         P                  ! ^ ^^4      ^\         P                  ! ^ ^^4      ,           R,          ,           pRpV^V,           R,          ,           p\        \         P                  ! W1V4      V4       R
pRp\        \         P                  ! W1W%R7      V4       RpRp\        \         P                  ! W1W&R7      V4       . ROp. ROp^R\         P                  ^.p^R\         P                  R,           \         P                  ^.p\        \         P                  ! WV4      V4       . ROp. ROp. ROp. ROp\        \         P                  ! WVRR7      V4       R	# )r    r!  r  r  r   r  y              ?r  r  NrY          @      @r  ra         @      ?iLiViGi   r  rT  r    im  i   iBi^  i)      @      ?y      $@       @      @      @y      @      @)y      @      ?r  y     !@      ?y      @      ?r  y      
@      
@y      @      @y      @      @)r4   r  r+   r   r  )	r_   r   r   r  Zy0r  r  r  r  s	   &        r;   test_complex_interpZTestInterp.test_complex_interpj  s&   KK1a KK1a AAq!(<$<#DD1r6T/!BIIbQ/4BIIbQ:DABIIbQ<eD#rvvq1BIIaR0!44#0'BIIaR<a@r=   c                s   \         P                  ! ^ ^^4      p\         P                  ! ^ ^^4      p\         P                  ! R4      p\        \         P                  ! W1V4      V4       \         P                  ! . RO4      p\         P                  ! . RO4      p\         P                  ! \         P                  ! ^4      WE4      p\        V^ 4       \        \        V\         P                  4      4       \         P                  ! \         P                  ! R4      WE^R7      p\        VR4       \        \        V\         P                  4      4       R# )r    r  r  r  r   Nr  )rN   rY   rN   )	r4   r  r   r+   r   r.   r)   rA  r   )r_   r   r   r  r  r  r   ra   r;   )test_zero_dimensional_interpolation_pointZ4TestInterp.test_zero_dimensional_interpolation_point  s    KK1a KK1a XXb\BIIbQ/4XXi XXj!288A;/VQ
62::./288C=";VS!
62::./r=   c                s    \         P                  ! ^ ^
R4      p\         P                  ! V4      p\        \         P                  ! \         P
                  W4      R4       R# )r    g-C6?r   N)r4   r5   Zsinr+   r   r   )r_   r  r  r   r;   test_if_len_x_is_smallZ!TestInterp.test_if_len_x_is_small  s:    YYq"f%VVBZBIIbeeR4c:r=   c           	     sR   . ROp. ROp. R	Op. R
Op\        \        P                  ! WVRR7      V4       \        P                  ! VRR7      P	                  ^R4      p\        P                  ! VRR7      P	                  ^R4      p\        \        P                  ! WVRR7      V4       R# )ry  r  r  r   r   r  Nr  r  )rU   r   rT   rF   )g      @r        !@g      @r   g      
@      @g      @rY   )r+   r4   r   r   rk   )r_   r   r  r  r   r   r;   r  ZTestInterp.test_period  s~    4#6BIIaR<a@HHQc"**1b1HHQc"**1b1BIIaR<a@r=   rm   N)rA   zcomplex-realzcomplex-imagzcomplex-both)rn   ro   rp   rq   r  rb   r  r  r  r   Zfixturer4   r   r  r  r  r  r  r  r  r  r  r  rr   rs   rt   rv   r;   r  r    s     F5$)L5M ^^


%%6	


YY	]MRA80";
A Ar=   r  c            	       s  a ] tR tRt oR tR tR tR tR t]	P                  P                  R]P                  R,          4      R	 4       t]P                  R
,           U u. uF  p V \        P                  3NK  	  up ]P                   ]P                   3]P"                  ]P"                  3]P                  ]P                  3]P$                  ]P$                  3]P&                  ! R4      ]P                  3.,           t]	P                  P                  RR.]P*                  R3]P,                  R3.4      ]	P                  P                  RR.]4      ]	P                  P                  . R8O. R9O4      R 4       4       4       t]P                  R
,          ]P                  R,          ,           R,           t]	P                  P                  R]4      R 4       t]	P                  P                  R]4      R 4       t]	P                  P                  R]4      R 4       tR tR tR tR tR t R t!]	P                  P                  R]P,                  R3]"! ]P,                  RR 7      R3.4      R! 4       t#R" t$R# t%R$ t&R% t'R& t(R' t)R( t*]	P                  P                  R)^^^..4      ]	P                  P                  R*. R:OR,7      R- 4       4       t+R. t,]	P                  P                  R/. R;O4      R0 4       t-R1 t.R2 t/]	P                  P                  RR3R4.4      ]	P                  P                  R5. R<O4      R6 4       4       t0R7t1Vt2R+# u up i )=TestPercentilei  c           
     s   \         P                  ! ^4      R,          p\        \         P                  ! V^ 4      R4       \        \         P                  ! V^d4      R4       \        \         P                  ! V^24      R4       \         P                  V^&   \        \         P                  ! V^ 4      \         P                  4       \        \         P                  ! V^ RR7      \         P                  4       \        \         P                  ! V^ RR7      \         P                  4       \        \         P                  ! V^ R\         P
                  ! V4      R7      \         P                  4       R	# )
rj   r   r   r  r   nearestmethodinverted_cdfr  r   N)r4   r5   r.   
percentiler#  r  rD  r:   r;   rb   ZTestPercentile.test_basic  s    IIaL3R]]1a("-R]]1c*C0R]]1b)40vv!R]]1a("&&1R]]1a	:BFFCR]]1a?HMM!Q~"$,,q/3FF	
r=   c           	     s   \        ^4       Uu. uF  p\        V^4      NK  	  pp\        P                  ! V\        ^ 4      4      p\	        V\        ^ 4      4       \	        \        V4      \        4       \        P                  ! V\        ^d4      4      p\	        V\        ^^4      4       \	        \        V4      \        4       \        P                  ! V\        ^24      4      p\	        V\        ^^4      4       \	        \        V4      \        4       \        P                  ! V\        ^24      .4      p\	        V\        P                  ! \        ^^4      .4      4       \	        \        V4      \        P                  4       R# u upi )rj   N)r^   r   r4   r  r.   r   r   r   )r_   r   r   r]  r   r;   test_fractionZTestPercentile.test_fraction  s    %*1X.XXa^X.MM!Xa[)Q$T!Wh'MM!Xc]+QA'T!Wh'MM!Xb\*QA'T!Wh'MM!hrl^,Q(1a.!123T!Wbjj)! /s   Fc                s    \         P                  ! ^4      p\         P                  ! V^RRR4       \         P                  ! V^RRRR4       \         P                  ! R4      p\         P                  ! V^RVRR4       R# )rU   NFlinearr  )r4   r]   r  )r_   r$  or   r;   test_apiZTestPercentile.test_api  s\    GGAJ
aD$.
aD$x8GGDM
aD!UH5r=   c                b   \         P                  ! . RORR7      p\        \        \         P                  VR 4       \         P                  ! . RORR7      p\        \        \         P                  VR 4       \         P                  ! . RORR7      p\        \        \         P                  VR 4       R# r   Gr   Dr   N)y      ?      @y @      ?y?ffffff@)r4   r   r/   r   r  r_   Zarr_cr:   r;   r  ZTestPercentile.test_complex  sk    =SIis;=SIis;=SIis;r=   c                s    \         P                  ! . RO. RO. RO. RO. RO.4      p\        \         P                  ! V^2^ R7      . RO4       R# )rN   rx   Nr   )rF   rF   rT   )r4   r   r-   r  rD  r:   r;   test_2DZTestPercentile.test_2D  s<    HHi	! "
 	2==BQ7Cr=   r   r  c                sR   \         P                  ! R \         P                  RRR.VR7      p\         P                  ! VRRR7      p\         P                  P                  V\         P                  4       \         P                  P                  VP                  VP                  4       R# )r\       A@      D@      I@r   r  r  N)r4   rv  r#  r  testingr.   r   )r_   r   r   r  r  r;   test_linear_nan_1DZ!TestPercentile.test_linear_nan_1D  sp     jj$dD9Gmm 	

RVV,


		3995r=   r  r  functionquantiler:  r  input_dtypeexpected_dtyper  FTc                s   \         P                  ! V4      p\         P                  ! . ROVR7      pV'       d   \         P                  ! V4      MRp	V\         P                  J d8   V\         P
                  J d	   V! R4      p\         P                  P                  p
M\         P                  P                  p
V! WW9R7      pV
! WP                  V4      4       VR9   d   VR8X  dO   \         P                  P                  \         P                  ! V4      P                  \         P                  4       R# \         P                  P                  \         P                  ! V4      P                  \         P                  ! V4      4       R# \         P                  P                  \         P                  ! V4      P                  \         P                  ! V4      4       R# )r\  r   Nz0.4r  r  )r\  g      4@r  r  r  )r  closest_observation)r4   r   rv  r  r  r  r  r+   Zassert_array_almost_equal_nulpr   r.   r   )r_   r  r  r  weightedr  r  r  r   r   Ztest_functionr   s   &&&&&&&&    r;   test_linear_interpolationZ(TestPercentile.test_linear_interpolation  s.   0 .1jj7{K'/",,s#T"--'2;;& 'u-JJ::MJJEEM#Hf11(;<<<c!

''

6(:(@(@"**M

''

6(:(@(@(*(=? JJ##BJJv$6$<$<$&HH^$<>r=   c           	     s    \        \        P                  ! \        P                  ! ^
VR7      ^2RR7      ^4       \        \        P                  ! \        P                  ! ^
VR7      ^2RR7      ^4       R# )r   r   lowerr  higherNr.   r4   r  r5   r_   r   rN  r;   test_lower_higherZ TestPercentile.test_lower_higher+  sR    R]]299Ru#=r*1345	7R]]299Ru#=r*2456	8r=   c           	     s   \        \        P                  ! \        P                  ! ^
VR7      ^3RR7      R4       \        \        P                  ! \        P                  ! ^	VR7      ^,           ^2RR7      ^4       \        \        P                  ! \        P                  ! ^VR7      ^3RR7      R4       \        \        P                  ! \        P                  ! ^VR7      ^2RR7      ^4       R# )r   r   midpointr  r        @Nr  r  rN  r;   test_midpointZTestPercentile.test_midpoint2  s    R]]299Ru#=r*467:	<R]]299Qe#<q#@"*4678	:R]]299Ru#=r*467:	<R]]299Ru#=r*4678	:r=   c           	     s    \        \        P                  ! \        P                  ! ^
VR7      ^3RR7      ^4       \        \        P                  ! \        P                  ! ^
VR7      ^1RR7      ^4       R# )r   r   r  r  Nr  r  rN  r;   test_nearestZTestPercentile.test_nearest=  sR    R]]299Ru#=r*3567	9R]]299Ru#=r*3567	9r=   c                sT   \         P                  P                  ^4      p\         P                  ! V^d4      p\         P                  P                  W!P                  4       4       \         P                  ! V^ 4      p\         P                  P                  W!P                  4       4       R# r  )r4   r  r%   r  r  r.   r  r  )r_   r   r   r   r;   'test_linear_interpolation_extrapolationZ6TestPercentile.test_linear_interpolation_extrapolationD  sd    iinnQsC(


	2sA&


	2r=   c                s    \         P                  ! ^4      R,          p\        \         P                  ! V. RO4      . RO4       R# )rj   r   N)r    d   rc   )r    r  r   )r4   r5   r.   r  rD  r:   r;   test_sequenceZTestPercentile.test_sequenceM  s)    IIaL3R]]1l3^Dr=   c           	     s   \         P                  ! ^4      P                  ^^4      p\        \         P                  ! VR4      . RO4       . RO. R	O. R
O.p\        \         P                  ! VR^ R7      V4       . RO. RO. RO.p\        \         P                  ! VR^R7      \         P
                  ! V4      P                  4       \         P                  ! R4      P                  ^^^^4      p\        \         P                  ! VR4      P                  R4       \        \         P                  ! VR4      P                  R4       \        \         P                  ! VR^ R7      P                  R4       \        \         P                  ! VR^R7      P                  R4       \        \         P                  ! VR^R7      P                  R4       \        \         P                  ! VR^R7      P                  R4       \        \         P                  ! VR^R7      P                  R4       \        \         P                  ! VRRR7      P                  R4       \        \         P                  ! VRRR7      P                  R4       \        \         P                  ! VR^ RR7      P                  R4       \        \         P                  ! VR^RR7      P                  R4       \        \         P                  ! VR^RR7      P                  R4       \        \         P                  ! VR^RR7      P                  R4       \        \         P                  ! VR^RR7      P                  R4       R# )r   rx   r  r  ry   r  N)r  rc   r  )g      @r  r  )rL   rT   rF   rU   r]  )rj   r.  r   r
  )      ?r  rT   )r   r  r-  )r  r  r
  r  r  rc   r  )r  rc   r  r  )rL   rF   rU   r   )rL   rT   rU   r   )rL   rT   rF   r   )rT   rT   rU   r   )r4   r5   rk   r.   r  r   r   r?   )r_   r   r0rD  r   r;   r  ZTestPercentile.test_axisQ  sh   IIbM!!!Q'R]]1m46GHL.9R]]1m!<bAno>R]]1m!<bhhrlnnM IIm$,,Q1a8R]]1h/55t<R]]1l3994@R]]1hQ7==|LR]]1hQ7==|LR]]1hQ7==|LR]]1hQ7==|LMM!\288,	HR]]1h*2449E4	AR]]1l*2449E4	AR]]1hQ*2449E<	IR]]1hQ*2449E<	IR]]1hQ*2449E<	IR]]1hQ*2449E<	IR]]1l*2449E<	Ir=   c           	     s   \         P                  ! ^4      P                  ^^4      p\        \         P                  ! V^24      R4       \        \         P                  ! \         P                  ! V^24      4      4       \         P                  ! . RO4      p\        \         P                  ! V^2^ R7      V4       \        \         P                  ! V^2^ R7      P                  VP                  4       \         P                  ! . RO4      p\        \         P                  ! V^2^R7      V4       \        \         P                  ! V^2^R7      P                  VP                  4       \         P                  ! ^4      p\        \         P                  ! V^2VR7      R4       \        VR4       \         P                  ! ^4      p\        \         P                  ! V^2^ VR7      V4       \        WB4       \         P                  ! ^4      p\        \         P                  ! V^2^VR7      V4       \        WC4       \         P                  ! ^4      P                  ^^4      p\        \         P                  ! V^2RR7      R4       \        \         P                  ! \         P                  ! V^24      4      4       \         P                  ! . RO4      p\         P                  ! V^2R^ R7      p\        WR4       \        VP                  VP                  4       \         P                  ! . RO4      p\         P                  ! V^2R^R7      p\        Wc4       \        VP                  VP                  4       \         P                  ! RVP                  R	7      p\         P                  ! V^2RVR
7      p\        V^4       \        V^4       \         P                  ! ^VP                  R	7      p\         P                  ! V^2R^ VR7      p\        Wr4       \        WB4       \         P                  ! ^VP                  R	7      p\         P                  ! V^2R^VR7      p\        Ws4       \        WC4       R# )r   r  r   rx   r  ry   r  r  r  )r  ry   r   r  r  r  ry   r  Nr   r   r   r   r  r  r  )r   r   r   rm   )r4   r5   rk   r.   r  r)   isscalarr   r?   r+   emptyr   )r_   r   r  rD  r  Zc0Zc1r   r   r;   test_scalar_qZTestPercentile.test_scalar_qu  s   IIbM!!!Q'R]]1b)3/BMM!R012XX&'R]]1bq126R]]1bq177BXXo&BMM!Ra8"=R]]1bq177BhhqkR]]1bc2C8S#hhqkR]]1bqc:B?ShhqkR]]1bqc:B?S IIbM!!!Q'R]]1b92>BMM!R012XX&']]1bq9RRXXrxx(XXl#]]1bq9B#RXXrxx(hhr)MM!RS9QS!hhq(MM!RaSAQShhq(MM!RaSAQSr=   c           
     s   \        \        \        P                  ^^.^8RR7       \        \        \        P                  ^.^e4       \        \        \        P                  ^.R4       \        \        \        P                  ^.\	        \        ^24      4      ^e.,           4       \        \        \        P                  ^.\	        \        ^24      4      R.,           4       R# )rN   r  r  NrY   r  )r/   r\   r4   r  r  r^   r}   r~   r;   test_exceptionZTestPercentile.test_exception  s    j"--!Q%	'j"--!c:j"--!b9j"--!d59o6MNj"--!d59o6NOr=   c                sL    \        \        P                  ! . RO^ 4      ^4       R# r  )r.   r4   r  r}   r~   r;   test_percentile_listZ#TestPercentile.test_percentile_list  s    R]]9a0!4r=   zpercentile, with_weightsr  c           
     s   V'       d   \         M\        p\        P                  ! . R
O4      p\        P                  ! RVR7      pR
pV'       d   \        P
                  ! V4      MRpV! WFWWR7      pWJ g   Q h\        V! WFVR7      V4       \        P                  ! . R
O. RO.4      p\        P                  ! RVR7      pV'       d   \        P
                  ! V4      MRpV! WF^ WWR7      pWJ g   Q h\        V! WFV^ R7      V4       \        P                  ! RVR7      pV! WF^WWR7       \        V! WFV^R7      V4       \        P                  ! ^4      P                  ^^4      pV'       d   \        P                  ! . RO. RO.4      p	M\        P                  ! . RO. RO.4      p	\        P                  ! RVR7      p
V'       d   \        P
                  ! V4      MRp\        V! VR^ WR7      V	4       \        W4       \        P                  ! . RO. RO.4      p\        P                  ! R4      p
\        \        P                  ! VR^V
R7      V4       \        W4       \        P                  ! . RO. RO.4      p	\        P                  ! RVP                  R7      p
\        P                  ! VRR^ V
R	7      p\        W4       \        W4       \        P                  ! . RO. RO.4      p\        P                  ! RVP                  R7      p
\        P                  ! VRR^V
R	7      p\        W4       \        W4       R# )rN   r   N)r  r   r   )ry   r  r   r   r  r  r  r   r  r   r  r  r#  r]  )r   r   r   r   r  )rL   rF   r  )r  r   r  r  rE  )r    rF   rj   )rN   rU   r.  )r  rK  r4   r   r>   r  r.   r5   rk   r  r  r   )r_   r  Zwith_weightsZ	out_dtyper   r   r]  r   r;  r  r  rD  r   s   &&&          r;   test_percentile_outZ"TestPercentile.test_percentile_out  s`    (CU	HHYHHT+%1",,q/tq4vvZg6:HHi! "HHV9-%1",,q/tq!<vvZgA>BHHV9-1aQ8ZgA>BIIbM!!!Q'<67B+-=>?BhhvY/%1",,q/tq(Er	
 	SXX)?;<hhvR]]1hQC@"ES XX|\23hhvQWW-MM!XgA3GQSXXy),-hhvQWW-MM!XgA3GQSr=   c           
     s   \         P                  ! ^4      P                  ^^^^4      p\        \         P                  ! V^2^ R7      P
                  R4       \        \         P                  ! V^2^R7      P
                  R4       \        \         P                  ! V^2^R7      P
                  R4       \        \         P                  ! V^2^R7      P
                  R4       \        \         P                  ! V^2R	R7      P
                  R4       \        \         P                  ! V^2R
R7      P
                  R4       \        \         P                  ! V^2RR7      P
                  R4       \        \         P                  ! V^2RR7      P
                  R4       \        \         P                  ! V^2^RR7      P
                  R4       \        \         P                  ! V^2R
RR7      P
                  R4       \        \         P                  ! \         P                  ! V^
^2.^ R7      4      P
                  R4       \        \         P                  ! \         P                  ! V^
^2.^R7      4      P
                  R4       \        \         P                  ! \         P                  ! V^
^2.^R7      4      P
                  R4       \        \         P                  ! \         P                  ! V^
^2.^R7      4      P
                  R4       R# )r
  rx   r  r  N)rN   rL   rN   )r
  rL   rN   )r
  rN   rN   )r
  rN   rL   rY   rR   rX   r9  )rL   rN   rL   rN   )rL   r
  rL   rN   )rL   r
  rN   rN   )rL   r
  rN   rL   )r4   r5   rk   r-   r  r?   r   r_   r$  r:   r;   test_percentile_empty_dimZ(TestPercentile.test_percentile_empty_dim  s	   IIf%%b!Q22==BQ7==yI2==BQ7==zJ2==BQ7==zJ2==BQ7==zJ2==BR8>>
K2==BR8>>
K2==BR8>>
K2==BR8>>	J2==BQ0:<<AE%	' 	2==BR0:<<AE%	' 	288BMM!b"XA$FGMM'	)288BMM!b"XA$FGMM(	*288BMM!b"XA$FGMM(	*288BMM!b"XA$FGMM(	*r=   c                sR   \         P                  ! . RO4      p\         P                  ! V^2.RR7       \        V\         P                  ! . RO4      4       \         P                  ! . RO4      p\         P                  ! V^2.4       \        V\         P                  ! . RO4      4       R# )rL   Foverwrite_inputNrL   rT   rF   rN   r4   r   r  r.   rh   r:   r;   test_percentile_no_overwriteZ+TestPercentile.test_percentile_no_overwrite  sf    HH\"
a"u5Q./HH\"
a"Q./r=   c           	     s   \         P                  ! R R^R7      p\         P                  ! \         P                  ! R4      VRR7       \	        V\         P                  ! R R^R7      4       \         P                  ! R R^R7      P                  4       p\         P                  ! \         P                  ! R4      VRR7       \	        V\         P                  ! R R^R7      P                  4       4       R# )r         Y@)Znumr  r  N)r4   r  r  r5   r-   r  )r_   r]  r:   r;   test_no_p_overwriteZ"TestPercentile.test_no_p_overwrite  s    KKDa(
biioq<1bkk"d:;KKDa(//1
biioq<1bkk"d:AACDr=   c                s&   \         P                  ! . RO4      p\         P                  ! V^2.RR7      p\        V\         P                  ! R.4      4       \         P                  ! . RO^2.RR7      p\        V\         P                  ! R.4      4       R# )rL   Tr  r  Nr  r	  r   r   r;   test_percentile_overwriteZ(TestPercentile.test_percentile_overwrite  s`    HH\"MM!bT48Q#(MM,dCQ#(r=   c           	     s   \         P                  P                  RR7      p\         P                  ! V.^
,          4      p\	        \         P
                  ! V^RR7      \         P
                  ! V^4      4       \         P                  ! VR^ 4      p\	        \         P
                  ! V^RR7      \         P
                  ! V^4      4       VP                  ^ ^4      P                  4       p\	        \         P
                  ! V^RR7      \         P
                  ! V^4      4       VP                  ^ ^4      P                  4       p\	        \         P
                  ! V^^<.R	R7      \         P
                  ! V^^<.RR7      4       \	        \         P
                  ! V^^<.R
R7      \         P
                  ! V^^<.^ R7      4       \         P                  ! R4      P                  R4      p\         P                  P                  VP                  4       4       \	        \         P
                  ! V^R	R7      ^ ,          \         P
                  ! VR,          P                  4       ^4      4       \	        \         P
                  ! V^
^Z.RR7      R,          \         P
                  ! VR,          P                  4       ^
^Z.4      4       \	        \         P
                  ! V^RR7      ^,          \         P
                  ! VR,          P                  4       ^4      4       \	        \         P
                  ! V^RR7      ^,          \         P
                  ! VR,          P                  4       ^4      4       \	        \         P
                  ! V^RR7      R,          \         P
                  ! VR,          P                  4       ^4      4       \	        \         P
                  ! V^RR7      R,          \         P
                  ! VR,          P                  4       ^4      4       \	        \         P
                  ! V^RR7      R,          \         P
                  ! VR,          P                  4       ^4      4       R# )G   r  rx   Nr     rZ   rY   rg   re   rM   r0    rT   rU   r-  r
  r   r   r   r    r    rN   rT   r7  r   r   rN   r   rT   rN   r9  r   r   rL   r   rT   rN   rL   rL   r   r   r   r  r  rL   rN   r   r   rN   rR   rL   r   r   rN   rN   rT   rO   rL   r   rL   r   )r4   r  normaldstackr.   r  moveaxisr   r   r5   rk   shuffleravelflattenr_   r  r   r$  r   r;   test_extended_axisZ!TestPercentile.test_extended_axis  s   II(+IIqcBhR]]1bv6a8LMKK2q!R]]1bx8"--2:NOJJq!!!#R]]1bw7q"9MNJJq!!!#R]]1r2hY?]]1r2hT:	<R]]1r2hT:]]1r2hQ7	9 IIn%--m<
		!'')$R]]1by9!<]]1Z=#8#8#:B?	AR]]1r2hY?E]]1Z=#8#8#:RHE	GR]]1bz:1=]]1Z=#8#8#:B?	AR]]1by9!<]]1Z=#8#8#:B?	AR]]1bv6t<]]1Z=#8#8#:B?	AR]]1bw7=]]1Z=#8#8#:B?	AR]]1bv6t<]]1Z=#8#8#:B?	Ar=   c                s   \         P                  ! R4      p\        \        \         P                  VR^R7       \        \        \         P                  VR^R7       \        \        \         P                  V^^R7       \        \        \         P                  VR^R7       \        \
        \         P                  VR^R7       \        \
        \         P                  VR^R7       \        \
        \         P                  VR	^R7       R# )
rT   )ry   r  Nr  rT  r    rT  r    rF   rQ   )rY   rY   )rT   rY   )r4   r]   r/   r$   r  r\   r  r:   r;   test_extended_axis_invalidZ)TestPercentile.test_extended_axis_invalid?  s    GGM"ibAi2FiR@i"Ej"--2Fj"--RHj"--BGr=   c           	     s   \         P                  ! R4      p\        \         P                  ! V^RRR7      P                  R4       \        \         P                  ! V^RRR7      P                  R4       \        \         P                  ! V^R	RR7      P                  R
4       \        \         P                  ! V^RRR7      P                  R4       \        \         P                  ! V^RRR7      P                  R4       \        \         P                  ! V^RRR7      P                  R4       \        \         P                  ! V^^.RRR7      P                  R4       \        \         P                  ! V^^.R	RR7      P                  R4       R# )rT   NTr   )r   r  r   rZ   rN   rN   r-  r
  r{   rN   rU   r-  rN   r  rT   rN   r-  r
  r#  r  rN   rN   r-  rN   )rL   rN   rN   r-  rN   )rL   rN   rU   r-  rN   )r4   r]   r.   r  r?   r  r:   r;   test_keepdimsZTestPercentile.test_keepdimsJ  s.   GGM"R]]1adTBHH!	#R]]1aftDJJ"	$R]]1aftDJJ!	#R]]1adTBHH"	$R]]1aEKK!	#R]]1ai$GMM!	# 	R]]1q!f9,0227%	JR]]1q!f6,0227%	Jr=   r  ry   NZargnamesZ	argvaluesc                s  aa \         P                  ! R4      oVf   RSP                  ,          pMp\        VSP                  4      o\        ;QJ d+    . VV3R l\        SP                  4       4       F  NK  	  5M$! VV3R l\        SP                  4       4       4      p\         P                  ! V4      V,           p\         P                  ! V4      p\         P                  ! SWRVR7      pWTJ g   Q h\        VP                  V4       R# )rT   Nc              3   Z   <"   T F   qS9   d   ^MSP                   V,          x  K"  	  R# 5ir  r?   r  r   	axis_normr$     & r;   r  Z3TestPercentile.test_keepdims_out.<locals>.<genexpr>o  &      L=J)^3]   (+Try   r   r  r  r  )
r4   r]   r   r#   r  r^   r?   r  r  r.   )r_   r  ry   	shape_outr  r  r4  r$  s   &&&   @@r;   test_keepdims_outZ TestPercentile.test_keepdims_out^  s     GGM"<qvvI,T166:I L=B166]L L=B166]L LIHHQK)+	hhy!q!3G}}V\\9-r=   c           
     sh   \         P                  ! R4      p\         P                  ! R4      p\        \         P                  ! V^ ^ VR7      V4       \        \         P                  ! V^ ^ RVR7      V4       \         P                  ! R4      p\        \         P                  ! V^^VR7      V4       \        \         P                  ! V^^RVR7      V4       \         P                  ! R4      p\        \         P                  ! V^VR7      V4       \        \         P                  ! V^RVR7      V4       R# )	rF   r  r  r  NrF   rf  r  rm   )r4   r>   r]   r.   r  r_   r  r$  r   r;   test_outZTestPercentile.test_outx  s    HHTNGGFOR]]1a2A6R]]1a9!DaHHHTNR]]1a2A6R]]1a9!DaHHHRLR]]1aQ/3R]]1a	qA1Er=   zmethod, weightedc           	     s   V'       d   R \         P                  ! R4      RV/pMRV/p\        P                  ! RR7      ;_uu_ 4        \        P                  ! RR\
        4       \         P                  ! R	4      p\         P                  ! R4      p\         P                  VR
&   \        \         P                  ! V^ ^ 3RV/VB V4       \         P                  ! R4      p\        \         P                  ! V^^3RV/VB V4       \         P                  ! R4      p\        \         P                  ! V^3RV/VB V4       RRR4       R#   + '       g   i     R# ; i)r   r  Tr  r  r$  r  Nrf  r;  r  r  rm   )
r4   r]   r  r  filterwarningsr  r>   r#  r.   r  )r_   r  r  Zkwargsr  r$  r  r;   test_out_nanZTestPercentile.test_out_nan  s     (FCF'F$$D11##Hb.AAAffAdGq!Q@A@@!DAq!Q@A@@!DAq!==f=qA 2111s   C6EE	c           	     s
   \         P                  ! ^\        R7      p\         P                  V^&   \	        \         P
                  ! VR4      \         P                  4       \	        \         P
                  ! VR^ R7      \         P                  4       \	        \         P
                  ! VRR.^ R7      \         P                  ! \         P                  .^,          4      4       \         P                  ! ^\        R7      P                  ^^^4      p\         P                  VR&   \         P                  VR	&   \	        \         P
                  ! VR4      \         P                  4       \	        \         P
                  ! VR4      P                  ^ 4       \         P
                  ! \         P                  ! ^\        R7      P                  ^^^4      R^ 4      p\         P                  VR
&   \         P                  VR&   \	        \         P
                  ! VR^ 4      V4       \         P
                  ! \         P                  ! ^\        R7      P                  ^^^4      RR.^ 4      p\         P                  VR&   \         P                  VR&   \	        \         P
                  ! VRR.^ 4      V4       \         P
                  ! \         P                  ! ^\        R7      P                  ^^^4      R^4      p\         P                  VR&   \         P                  VR&   \	        \         P
                  ! VR^4      V4       \         P
                  ! \         P                  ! ^\        R7      P                  ^^^4      RR.^4      p\         P                  VR&   \         P                  VR&   \	        \         P
                  ! VRR.^4      V4       \         P
                  ! \         P                  ! ^\        R7      P                  ^^^4      RR4      p\         P                  V^&   \         P                  V^&   \	        \         P
                  ! VRR4      V4       \         P
                  ! \         P                  ! ^\        R7      P                  ^^^4      RR.R4      p\         P                  VR&   \         P                  VR&   \	        \         P
                  ! VRR.R4      V4       \         P
                  ! \         P                  ! ^\        R7      P                  ^^^4      RR.RRR7      p\         P                  VR&   \         P                  VR&   \	        \         P
                  ! VRR.RRR7      V4       R# )re  r   r  rx   333333?r  r  Nr   rN   rN   rL   rE  rf   )r   rL   rT   )r   rN   rL   r  )r   rN   rT   rP   r7  )r   rL   )	r4   r5   rK  r#  r.   r  r   rk   r   r   r   r;   test_nan_behaviorZ TestPercentile.test_nan_behavior  s   IIb&vv!R]]1c*BFF3R]]1c2BFF;R]]1sCjq9XXrvvhl+	- IIb&..q!Q7VV'
VV'
 	R]]1c*BFF3R]]1c*//3 MM"))Be4<<Q1EsAN&&$&&$R]]1c1-q1 MM"))Be4<<Q1E*a)VV'
VV'
R]]1sCj!4a8 MM"))Be4<<Q1EsAN&&$&&$R]]1c1-q1MMIIb&..q!Q7#sQHVV'
VV'
R]]1sCj!4a8 MMIIb&..q!Q7fFvv!vv!R]]1c62A6MM"))Be4<<Q1E*f.&&$&&$R]]1sCj&91=MM"))Be4<<Q1E*fY@&&$&&$R]]Sz6)567	9r=   c                s   \         P                  ! \        R R7      ;_uu_ 4        \        P                  ! . RO\        P
                  4       RRR4       \         P                  ! \        R R7      ;_uu_ 4        \        P                  ! . RO\        P
                  .4       RRR4       \        P                  ! RR^4      p\        P
                  V^ &   \         P                  ! \        R R7      ;_uu_ 4        \        P                  ! . ROV4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)zPercentiles must be inr   Nr   g     X@)rN   rL   rT   r   )r   r   r\   r4   r  r#  r  )r_   r  r:   r;   
test_nan_qZTestPercentile.test_nan_q  s    ]]:-EFFMM."&&1 G]]:-EFFMM.266(3 GKKT2&vv!]]:-EFFMM.!, GF GFFF GFFs#   (D9)D09ED-	0E 	E	zm8[D]zM8[s]posc                sT   \         P                  ! ^ ^VR7      pRW2&   \         P                  ! V^4      pVP                  V8X  g   Q h\         P                  ! V4      '       g   Q h\         P                  ! V^^<.4      pVP                  V8X  g   Q h\         P                  ! V4      P                  4       '       g   Q h\         P                  ! ^ ^HVR7      P                  R^4      pRW2^3&   \         P                  ! V^^ R7      p\        \         P                  ! V4      . RO4       R# r    r   ZNaTrx   NrY   r  )r4   r5   r  r   isnatr   rk   r-   r_   r   rD  r`   r     &&&  r;   test_nat_basicZTestPercentile.test_nat_basic  s    
 IIa5)mmAr"yyE!!!xx}}}mmABx(yyE!!!xx}  """"IIau-55b!<q&	mmAr*288C=*>?r=   rm   )r  r  r  )
)r  Fr  )r  Tr  )averaged_inverted_cdfF     ;@)r  Fr  )interpolated_inverted_cdfFr  )hazenFrK  )weibullFi   )r  Fr  )median_unbiasedFrh  )normal_unbiasedFg      ;@NrN   r  rZ   )rX   rY   ))r  F)r  F)r  F)r  Tr    r  r   )3rn   ro   rp   rq   rb   r  r  r  r  r   r  r  r4   r  r  r   r  r   r  r   ZH_F_TYPE_CODESr  r  r  Z
TYPE_CODESr  r  r  r  r  r  r   r  r  r   r  r  r
  r  r  r'  r*  r/  r:  r=  r?  rB  rC  rI  rr   rs   )Zint_typeru   s   0@r;   r  r    se    
*&6<D [[Wbll7&;<6 =6 ')ll<&@&@(  ,&@JJ

3JJ

3JJ

3MM2==9HHSM2::6	88N [[j*5!{{C0!}}d356 [[m-=>O[[?
!"">" P6 ">H l+bll7.CCcIJ[[Wj18 28 [[Wj1: 2: [[Wj19 293E"IH.`P5 [["]]E"R]]>:DA	
11f*80E)A@	HJ( [[S1q!f+.[[
  	.	 /.F [[/ 2 BB$;9z	- [[Ww&89[[UK0@ 1 :@us   !Mr  r  c                   s  a  ] tR tRt o R tR tR tR tR tR t	R t
]P                  P                  R	]P                  R
,          4      R 4       t]P                  P                  R]4      R 4       t]P                  P                  R]4      R 4       t]P*                  ! ]! ]P.                  ]P2                  ! ^RR7      ]P4                  ! RRR'RR7      R7      R7      R 4       tR t]P                  P                  RRR.4      ]P                  P                  R]4      ]P                  P                  R. R(O4      R 4       4       4       t]P                  P                  RRR.4      ]P                  P                  R]4      ]P                  P                  R. R(O4      R 4       4       4       t]P                  P                  R]4      ]P                  P                  R. R(O4      R 4       4       t ]P                  P                  R]4      ]P                  P                  R. R)O4      R 4       4       t!]P                  P                  R]4      R 4       t"]P                  P                  R]4      R  4       t#R! t$]P                  P                  R]%! ]&! ]4      ]&! ]4      ,
          4      4      R" 4       t'R# t(R$ t)R%t*V t+R&# )*TestQuantilei  c                s    W8  V,
          # r3   rm   )r_   r   r   alpharR  r;   r  ZTestQuantile.V  s    %r=   c                s    . ROp\         P                  ! VR4      p\         P                  P                  VR^R7       R# )r   g?g
ףp=
?)ZmaxulpN)r   r  r:  )r4   r  r  Zassert_array_max_ulp)r_   r   r`   r   r;   test_max_ulpZTestQuantile.test_max_ulp
  s2    KK4  	

''4':r=   c                s   \         P                  ! ^4      R,          p\        \         P                  ! V^ 4      R4       \        \         P                  ! V^4      R4       \        \         P                  ! VR4      R4       R# )rj   r   r   r  r   N)r4   r5   r.   r  rD  r:   r;   rb   ZTestQuantile.test_basic  sS    IIaL3R[[A&+R[[A&,R[[C($/r=   c                sv   \         P                  ! R .4      p\         P                  ! R R4      p\        W!^ ,          4       \        \	        V4      VP
                  4       \         P                  ! . RO4      p\         P                  ! W4      p\        W14       \        VP
                  VP
                  4       R# )TFN)FTT)r4   r   r  r.   r   r   r-   )r_   r`   Ztf_quantZ	quant_resr   r;   test_correct_quantile_valueZ(TestQuantile.test_correct_quantile_value  sw    HHdV;;tU+Xt$T(^QWW-HH()KK%	9(Y__agg.r=   c           	     s   \        ^4       Uu. uF  p\        V^4      NK  	  pp\        P                  ! V^ 4      p\	        V^ 4       \	        \        V4      \        4       \        P                  ! V^4      p\	        V\        ^^4      4       \	        \        V4      \        4       \        P                  ! VR4      p\	        VR4       \	        \        V4      \        P                  4       \        P                  ! V\        ^^4      4      p\	        V\        ^^4      4       \	        \        V4      \        4       \        P                  ! V\        ^^4      .4      p\	        V\        P                  ! \        ^^4      .4      4       \	        \        V4      \        P                  4       \        P                  ! V\        ^^4      ..4      p\	        V\        P                  ! \        ^^4      ..4      4       \	        \        V4      \        P                  4       \        P                  ! ^4      p\	        \        P                  ! V\        ^^4      4      \        ^^4      4       R# u upi )rj   r   r   N)
r^   r   r4   r  r.   r   r   r   r   r5   )r_   r   r   r  r   r;   r  ZTestQuantile.test_fraction"  s   %*1X.XXa^X.KK1QT!Wh'KK1QA'T!Wh'KK2QT!Wbjj)KK8Aq>*QA'T!Wh'KKHQN+,Q(1a.!123T!Wbjj)KKXa^,-.Q8Aq>"2!345T!Wbjj) IIaLR[[HQN3Xa^D7 /s   I,c                r  r  )r4   r   r/   r   r  r  r:   r;   r  ZTestQuantile.test_complexA  sk    =SIieS9=SIieS9=SIieS9r=   c                sv   \         P                  ! . RO4      pVP                  4       p\         P                  ! \         P                  ! R4      VRR7       \        W!4       VP                  4       pVP                  4       p\         P                  ! \         P                  ! R4      VRR7       \        W!4       R# )r    r  r  r  N)r    r  r  r   r   )r4   r   r   r  r5   r-   r  )r_   p0r]  r   r;   r  Z TestQuantile.test_no_p_overwriteJ  sr    XX/0GGI
BIIdOQz:1!YY[HHJ
BIIdOQz:1!r=   r   r  c                s    \         P                  ! \         P                  ! ^^.VR7      R.RR7      pVP                  V8X  g   Q hR# )rN   r   r   r  r  N)r4   r  r   r   )r_   r   r  rC   r;   test_quantile_preserve_int_typeZ,TestQuantile.test_quantile_preserve_int_typeV  s:    kk"((Aq67#!*,yyE!!!r=   r  c                s    . ROp\         P                  ! V^ ^.VR7      p\        V\         P                  ! ^
^.4      4       R# )r   )r  r  N)r   r
  r   )r4   r  r.   r   )r_   r  r   r  r  r;   test_q_zero_oneZTestQuantile.test_q_zero_one\  s6     ;;sq!fV<XrxxR12r=   c                sT   \         P                  ! ^ ^^e4      p\         P                  ! \         P                  ! . RO4      R,          W!R7      p\	        \         P
                  ! V4      V4       \         P                  ! . ROW!R7      p\	        \         P
                  ! V4      V4       R# )r    r  r  N)r    rN   rN   rL   rL   rT   rT   rF   rU   rU   rN   rN   r.  r.  r.  rj   rj   r-  )r   r   r   r   )r4   r  r  r   r.   r  )r_   r  rW  r  r  r;   test_quantile_monotonicZ$TestQuantile.test_quantile_monotonicc  sy    
 [[As#;;rxx )2  358 9:<MRWWX&1 ;;/CRWWX&1r=   r  )	min_value	max_valueFu <7~)allow_infinity	allow_nanr[  r\  )r   r?   Zelements)r   c                s    \         P                  ! ^ ^R4      p\         P                  ! W4      p\        \         P                  ! V4      V4       R# )r    g{Gz?N)r4   r5   r  r.   r  )r_   r   rW  r  r  r;   test_quantile_monotonic_hypoZ)TestQuantile.test_quantile_monotonic_hypoq  s7     YYq!T";;s'RWWX&1r=   c                s:   \         P                  ! . RO. RO.4      p\         P                  V^ ,          ^&   \         P                  ! VR4      p\         P                  ! V4      '       g   Q h\        \         P                  ! VR4      \         P                  4       R# )rR  r   N)rR  r   r   )r   r   r   )r4   r   r#  r  r  r.   )r_   r`   r   r   r;   test_quantile_scalar_nanZ%TestQuantile.test_quantile_scalar_nan{  sd    HHm\23&&!QQ${{6""""R[[C("&&1r=   r   TrT  c           
     s<   V'       d"   V\         9  d   \        P                  ! R 4       \        P                  P                  R4      p^fpVP	                  V4      pV'       d   VP                  ^ ^
VR7      MRp\        P                  ! WcW'R7      pVR	9   dK   \        P                  ! \        P                  ! V P                  WV4      4      4      RV,          8  g   Q hR# \        WS,          4      WS,          8X  d?   V'       g7   \        \        P                  ! V P                  WV4      VR7      ^ RR7       R# \        \        P                  ! V P                  WV4      VR7      ^ ^V,          \        P                  ! V^V,
          .4      ,          R7       R# )
 Weights not supported by method.  lowhighr  Nr  r  r   g+=)Zatol)r  )methods_supporting_weightsr   skipr4   r  default_rngintegersr  r  r   r  r  r*   r   rZ  )	r_   r   r  rT  rngr8   r   r   r   s	   &&&&     r;   %test_quantile_identification_equationZ2TestQuantile.test_quantile_identification_equation  s    v%??KK:;ii##D)
 JJqM4;CLLQRaL0KK;[ 66"''$&&u"567#'AAA^qy(

466!.:AE BJJtvvaE':AFURWWeQY%788:r=   c           	     s   V'       d"   V\         9  d   \        P                  ! R 4       \        P                  P                  R4      p^fpVP	                  V4      pV'       d   VP                  ^ ^
VR7      MRp\        P                  ! WcW'R7      pRp	\        \        P                  ! W,           W2VR7      W,           4       \        \        P                  ! W,          W2VR7      W,          4       V'       d   R# \        P                  ! V) ^V,
          VR7      ) pVR8X  d   WS,          \        WS,          4      8X  g8   \        P                  ! WS,          4      \        WS,          4      ^,           8X  d%   \        V\        P                  ! WcRR7      4       R# \        V\        P                  ! WcR	R7      4       R# VR
8X  d   WS,          \        WS,          4      8X  d%   \        V\        P                  ! WcRR7      4       R# \        P                  ! WS,          4      \        WS,          4      ^,           8X  d3   \        V\        P                  ! Wc^V,          ,           RR7      4       R# \        V\        P                  ! WcR	R7      4       R# VR8X  d3   \        V\        P                  ! Wc^V,          ,           VR7      4       R# VR8X  ds   WS,          \        WS,          4      8X  d3   \        V\        P                  ! Wc^V,          ,           VR7      4       R# \        V\        P                  ! WcVR7      4       R# VR	8X  d%   \        V\        P                  ! WcRR7      4       R# VR8X  d%   \        V\        P                  ! WcR	R7      4       R# \        V\        P                  ! WcVR7      4       R# )rb  rc  rd  Nr  g      +@r  r  r  r  r  rL  r  )rg  r   rh  r4   r  ri  rj  r  r*   r  Zround)
r_   r   r  rT  rk  r8   r   r   r  r   s
   &&&&      r;   'test_quantile_add_and_multiply_constantZ4TestQuantile.test_quantile_add_and_multiply_constant  sy    v%??KK:;ii##D)
 JJqM4;CLLQRaL0KK; 	AE5K	 	AE5K	 [[!QYv66^#	S^+88AI&#ai.1*<<2;;q#IJ2;;q#HI,,yC	N*2;;q#IJ!)$AI(::r{{1a!emHEG  2;;q#HI22Ar{{1a!emFKLy yC	N*2;;q!a%-#OP2;;q#GHwAr{{1HEFxAr{{1GDE Ar{{1FCDr=   c                s   \         P                  P                  R 4      p^fpVP                  V4      p\         P                  ! WRVR7      p\         P                  ! V4      p\         P                  ! WRWR7      p\        W4       R\         P                  ! V4      ,          p\         P                  ! WRWR7      p\        W4       R# )rc  r  r  g     @ @N)r4   r  ri  r  r  r*   )	r_   r  rT  rk  r8   r   r  r   qwr  r;   test_quantile_constant_weightsZ+TestQuantile.test_quantile_constant_weights  s     ii##D)
 JJqMKK0LLO[[&<BLLO#[[&<r=   c                sN   \         P                  P                  R 4      p^fpVP                  V4      pVP                  ^ ^
V\         P                  R7      p\         P
                  ! WRWR7      p\         P
                  ! \         P                  ! WV4      W!R7      p\        Wx4       R# )rc  )re  rf  r  r   r  r  N)r4   r  ri  rj  rk  r  r:  r*   )	r_   r  rT  rk  r8   r   r   rn  r  r  r;   "test_quantile_with_integer_weightsZ/TestQuantile.test_quantile_with_integer_weights  sv     ii##D)
 JJqMLLQRarxxL@[[&<KK		!>r=   c                s   \         P                  P                  R 4      pVP                  R4      p\         P                  ! VP                  ^
4      4      pRp\         P                  ! W5WA^R7      p\         P
                  ! RR7      p\        ^4       F;  p\        ^4       F)  p	\         P                  ! W8RV	3,          WQVR7      WxV	3&   K+  	  K=  	  \        Wg4       . ROp\         P                  ! W5WA^R7      p\         P
                  ! RR7      p\        ^4       F<  p\        ^4       F*  p	\         P                  ! W8RV	3,          WQVR7      VRW3&   K,  	  K>  	  \        Wg4       ^ R.RR.R	^..p\         P                  ! W5WA^R7      pVP                  R4      p\        Wg4       \         P                  ! VP                  R4      4      pRp\         P                  ! W5WA^R7      p\         P
                  ! RR7      p\        ^4       FD  p\        ^4       F2  p	\         P                  ! W8RV	3,          WQWHRV	3,          R7      WxV	3&   K4  	  KF  	  \        Wg4       R
# )rc  r   )r   r  ry   r2  r   r  r  r:  r@  r  N)rL   r   rT   rE  )r    r  r:  r@  r  rN   )r   rL   rT   )rT   rL   rL   rT   )	r4   r  ri  r  r  r>   r^   r*   rk   )
r_   r  rk  r   r   rT  r  Zq_resr   r  s
   &&        r;   #test_quantile_with_weights_and_axisZ0TestQuantile.test_quantile_with_weights_and_axis  s   ii##D) JJz"FF3::b>"KK!Cv&qA1X kkAgJad  
 	! +KK!Cy)qA1X!#AgJa"ag  
 	! SC:Qx0KK!Cl+! FF3::j)*KK!Cv&qA1X kkAgJa1ajd  
 	!r=   c                s    . ROp\         P                  ! ^4      p\         P                  ! V^ VRR7      p\         P                  ! V^VRR7      pWC^,          8X  g   Q hWS^,          8X  g   Q hR# )r    r  r   r  N)r    r    rN   rL   rT   r    )r4   r5   r  )r_   r  r   r   Zy_minZy_maxr  r;   test_quantile_weights_min_maxZ*TestQuantile.test_quantile_weights_min_max=  sZ     IIaLAq!NCAq!NC!}}!}}r=   c           	     s    ^^.pR^.p\         P                  ! \        RR7      ;_uu_ 4        \        P                  ! VRVRR7       RRR4       R#   + '       g   i     R# ; i)rN   r   zWeights must be non-negativer   r  rr  Nr  r   r   r\   r4   r  )r_   r   r   r   r;   -test_quantile_weights_raises_negative_weightsZ:TestQuantile.test_quantile_weights_raises_negative_weightsH  sH    F1I]]:-KLLKK3.A MLLLs   AA#	c           	     s    ^^.pR^.pRp\         P                  ! \        VR7      ;_uu_ 4        \        P                  ! VRW1R7       RRR4       R#   + '       g   i     R# ; i)rN   r   z+Only method 'inverted_cdf' supports weightsr   rr  Nrt  )r_   r  r   r   r  r  r;   0test_quantile_weights_raises_unsupported_methodsZ=TestQuantile.test_quantile_weights_raises_unsupported_methodsN  sK    
 F!H;]]:S11KK39 2111s   AA$	c           	     sZ   \        ^ ^4      \        ^^
4      .p\        P                  ! V^ .RR7      p\        V\        P                  ! \        ^ ^4      4      4       \        P                  ! V\        ^^4      .RR7      p\        V\        P                  ! \        ^^4      4      4       R# )r    rN  r  N)r   r4   r  r.   r   )r_   r   r  r   r;   test_weibull_fractionZ"TestQuantile.test_weibull_fractionY  sy    1~x2/;;sQE)<XrxxA78;;sXa^$4YGXrxxB89r=   c           	     s   R pRp. ROp\        ^\        P                  ! VR,          W!R7      4       \        ^\        P                  ! VR,          W!R7      4       \        ^\        P                  ! VR,          W!R7      4       \        ^\        P                  ! VR,          W!R7      4       \        ^\        P                  ! VR,          W!R7      4       \        ^\        P                  ! VR,          W!R7      4       \        ^\        P                  ! VR	,          W!R7      4       \        ^\        P                  ! W2VR7      4       R
# )r  r   :r    rT   Nr  :r    rF   N:r    rU   N:r    r   N:r    r-  N:r    rj   N:r    r.  NN)
rN   rL   rT   rF   rU   r   r-  rj   r.  r   )r.   r4   r  )r_   r  r  r   r   r;   test_closest_observationZ%TestQuantile.test_closest_observation`  s    !-QCHa:;QCHa:;QCHa:;QCHa:;QCHa:;QCHa:;QCHa:;QC156r=   rm   Nu <7)r  r   ?)r    r  r   rz  rN   ),rn   ro   rp   rq   r  rU  rb   rV  r  r  r  r   r  r  r4   r  rX  quantile_methodsrY  rZ  
hypothesisgivenr   r   strj  floatsr`  ra  rl  rm  rg  ro  rp  rq  rs  ru  ZsortedZsetrv  rw  rx  rr   rs   rt   rv   r;   rS  rS    s     ;0/E>:
" [[Wbll<&@A" B"
 [[X'783 93 [[X'782 92 RZZ[[1E "		%4:e!MNO
2O
2
2 [[Y6[[X'78[[Wo6 : 7 9 7 :D [[Y6[[X'78[[Wo6>E 7 9 7>E@ [[X'AB[[Wo6 7 C$ [[X'AB[[W&;< = C [[X'AB+" C+"Z [[X'AB CB [[3'(3/I+JJK:	::7 7r=   rS  c                   sZ  a  ] tR tRt o ]P
                  ! ]P                  ! RR^ ^R7      ]P                  ! RR^ ^R7      ]P                  ! RRRRR7      ]P                  ! RRRRR7      R7      R 4       t]P
                  ! ]P                  ! RR^ ^R7      ]P                  ! RRRRR7      ]P                  ! RRRRR7      R7      R 4       t	]P
                  ! ]P                  ! RR^ ^R7      ]P                  ! RRRRR7      ]P                  ! RRRRR7      R7      R	 4       t
R
 tRtV tR# )TestLerpio  F)r_  r^  r[  r\  r]  )t0t1r`   r   c                s    \         P                  ! W4V4      p\         P                  ! W4V4      pW8X  g   W48X  d   WV8X  g   Q hR # W8  W48  8X  d   WV8:  g   Q hR # WV8  g   Q hR # r3   r  _lerp)r_   r  r  r`   r   Zl0Zl1s   &&&&&  r;   +test_linear_interpolation_formula_monotonicZ4TestLerp.test_linear_interpolation_formula_monotonicp  sT     YYqR YYqR 8qv8O8g15!8O88O8r=   )tr`   r   c                s    W#8:  d,   V\         P                  ! W#V4      u;8:  d	   V8:  g   Q h Q hR # V\         P                  ! W#V4      u;8:  d	   V8:  g   Q h Q hR # r3   r  )r_   r  r`   r   rR  r;   )test_linear_interpolation_formula_boundedZ2TestLerp.test_linear_interpolation_formula_bounded  sQ     6		!*/a/////		!*/a/////r=   c                s    \         P                  ! W#^^V,
          ,
          4      p\         P                  ! W2^V,
          4      p\        WE4       R# r  )r  r  r*   )r_   r  r`   r   r  r  s   &&&&  r;   +test_linear_interpolation_formula_symmetricZ4TestLerp.test_linear_interpolation_formula_symmetric  s8     yyqAE{+		!A&$r=   c                s    \         P                  ! ^4      p\         P                  ! ^4      p\         P                  ! R4      p\        P                  ! WV4      R8X  g   Q hR# )rL   r  g@N)r4   r   r  r  )r_   r`   r   r  r   r;   +test_linear_interpolation_formula_0d_inputsZ4TestLerp.test_linear_interpolation_formula_0d_inputs  sB    HHQKHHQKHHSMyyq!S(((r=   rm   Nry  )rn   ro   rp   rq   r|  r}  r~  r  r  r  r  r  rr   rs   rt   rv   r;   r  r  o  sE    U5-.!=U5-.!=		E%,2eE		E%,2eEFF 		E%,-<		E%,2eE		E%,2eE	F0F0 		E%,-<		E%,2eE		E%,2eE	F%F%) )r=   r  c                   s  a  ] tR tRt o R tR tR tR tR t]	P                  P                  R. ROR]P                  R	.]P                  R
34      R 4       tR tR tR t]	P                  P%                  ]RR7      R 4       tR tR tR tR t]	P                  P                  R. R OR7      R 4       t]	P                  P                  RR.4      ]	P                  P                  R. R!O4      R 4       4       tRtV tR# )"
TestMediani  c                s   \         P                  ! ^4      p\         P                  ! ^4      p\         P                  ! ^4      P                  ^^4      p\	        \         P
                  ! V4      ^4       \        \         P
                  ! V4      R4       \        \         P
                  ! V4      R4       \        \         P
                  ! V^ R7      . RO4       \	        \         P
                  ! V^R7      ^^.4       \        \         P
                  ! VRR7      R4       \         P                  ! . RO4      p\        V^,          V^,          ,           R,          \         P
                  ! V4      4       \         P                  ! . RO4      p\	        V^ ,          \         P
                  ! V4      4       \         P                  ! . R	O4      p\	        VR
,          \         P
                  ! V4      4       \	        \         P
                  ! V4      P                  ^ 4       \         P                  V^&   \	        \         P
                  ! V4      P                  ^ 4       R# )rN   r   r  rx   Nr   r  r  r  )6-¦?0?}r?g4?)r  r  r  )r  r  r  rY   )
r4   r   r5   rk   r.   medianr*   r+   r   r#  )r_   a0a1rq  r`   r   r;   rb   ZTestMedian.test_basic  sh   XXa[YYq\YYq\!!!Q'RYYr]A&		"s+		"s+		"1-?RYYr*QF3		"40#6HH@AQqTAaD[B.		!=HH56QqT299Q<(HH56QrUBIIaL)RYYq\&&*vv!RYYq\&&*r=   c                s   \         P                  ! ^^.^ ^.^^.^^..4      pV\         P                  P                  ^ ^dRR7      3 Fi  pVP	                  4       p\         P
                  ! VRR7       \        VP                  4       F  p\         P
                  ! W$R7       K  	  \        W#4       Kk  	  \        \         P
                  ! V^ R7      ^^.4       \        \         P
                  ! VP                  ^R7      ^^.4       \        \         P
                  ! V4      R4       \        \         P
                  ! VRR7      R4       \        \         P
                  ! VP                  4      R4       R# )rL   r  Nrx   r  r   )r4   r   r  Zrandintr   r  r^   r   r-   r*   r   )r_   a3r`   ZorigZaxr   r;   test_axis_keywordZTestMedian.test_axis_keyword  s   XX1v1v1v1v   bii''3Y'?@A668DIIad#AFFm		!% $q' A 			"1-1v6		"$$Q/!Q8		"s+		"40#6		"$$-r=   c           	     s   \         P                  ! ^^.^ ^.^^.^^..4      p\         P                  ! ^4      p\         P                  ! ^4      p\         P                  ! ^4      P                  ^^4      p\	        \         P
                  ! VP                  4       RR7      ^4       \	        \         P
                  ! VP                  4       RR7      R4       \	        \         P
                  ! VP                  4       RR7      R4       \	        \         P
                  ! VP                  4       R^ R7      . R
O4       \	        \         P
                  ! VP                  4       R^R7      ^^.4       \	        \         P
                  ! VP                  4       RRR7      R4       \	        \         P
                  ! VP                  4       R^ R7      ^^.4       \	        \         P
                  ! VP                  P                  4       R^R7      ^^.4       \         P                  ! ^<\         P                  R7      P                  R4      p\         P                  P                  VP                  4       4       \	        \         P
                  ! VRR7      \         P
                  ! VP                  4       RRR	7      4       \	        \         P
                  ! V^ R7      \         P
                  ! VP                  4       ^ RR	7      4       \	        \         P
                  ! V^R7      \         P
                  ! VP                  4       ^RR	7      4       \	        \         P
                  ! V^R7      \         P
                  ! VP                  4       ^RR	7      4       R# )rL   Tr  r   r  )r  ry   Nr   rx   )ry   r  r  rS   )r4   r   r5   rk   r*   r  r   r   r   r  r#  r$  )r_   r  r  r  rq  Za4r   r;   test_overwrite_keywordZ!TestMedian.test_overwrite_keyword  sU   XX1v1v1v1v   XXa[YYq\YYq\!!!Q'		"'')TBAF		"'')TBCH		"'')TBCHIIbggiA>	QIIbggiA>A	HIIbggiDA3	HIIbggiA>A	HIIbddiik4a@1a&	J YYy

3;;IF
		"((*%		"40		"'')$M	O		"1-		"'')!TJ	L		"1-		"'')!TJ	L		"1-		"'')!TJ	Lr=   c                s    . ROp\        \        P                  ! V4      ^4       V.p\        \        P                  ! V4      ^4       \        \        P                  ! V^ R7      V4       R# )rN   rx   Nr   )r+   r4   r  r*   )r_   r   r  r   r;   r  ZTestMedian.test_array_like  sG    BIIaL!,SBIIbM1-		"1-q1r=   c                s     ! R  R\         P                  4      pV! . RO4      p\        \         P                  ! V4      R4       R# )c                   s4   a  ] tR tRt o RR ltRR ltRtV tR# ),TestMedian.test_subclass.<locals>.MySubClassi  Nc                s\    \         P                  ! V4      P                  V 4      pW#n        V# r3   )r4   rv  r   info)ZclsZinput_arrayr  Zobjs   &&& r;   __new__Z4TestMedian.test_subclass.<locals>.MySubClass.__new__  s%    jj-2237
r=   c                rr  )r-  rm   )r_   ry   r   r  rR  r;   r   Z1TestMedian.test_subclass.<locals>.MySubClass.mean  s    	r=   rm   r3   )NNN)rn   ro   rp   rq   r  r   rr   rs   rt   rv   r;   
MySubClassr    s     
 r=   r  Nr   r  )r4   r   r.   r  )r_   r  r`   r   r;   rC  ZTestMedian.test_subclass  s0    	 	 y!RYYq\2&r=   r   r   r   r   c                s     ! R R\         P                  4      p\         P                  ! \         P                  ! V4      P	                  V4      4      p\        W24      '       g   Q hR# )z6Check that we return subclasses, even if a NaN scalar.c                   r   )-TestMedian.test_subclass2.<locals>.MySubclassi  rm   Nr   rm   r=   r;   
MySubclassr    r   r=   r  N)r4   r   r  r   r   rA  )r_   r   r  r  r  r;   test_subclass2ZTestMedian.test_subclass2  sF    	 	 IIbhhsm((45!((((r=   c                s   \         P                  ! R4      p\         P                  ! R4      p\        \         P                  ! V^ VR7      V4       \         P                  ! R4      p\        \         P                  ! V^VR7      V4       \         P                  ! R4      p\        \         P                  ! W!R7      V4       R# )rF   r  Nr;  rf  r  rm   )r4   r>   r]   r.   r  r<  r   r;   r=  ZTestMedian.test_out  sw    HHTNGGFORYYq!+Q/HHTNRYYq!+Q/HHRLRYYq(!,r=   c           
     sZ   \         P                  ! R R7      ;_uu_ 4        \         P                  ! RR\        4       \        P
                  ! R4      p\        P                  ! R4      p\        P                  VR&   \        \        P                  ! V^ VR7      V4       \        P
                  ! R	4      p\        \        P                  ! V^VR7      V4       \        P
                  ! R
4      p\        \        P                  ! W!R7      V4       RRR4       R#   + '       g   i     R# ; i)Tr  r  r$  r  Nr;  rf  r  r  rm   )
r  r  r>  r  r4   r>   r]   r#  r.   r  r<  r   r;   r?  ZTestMedian.test_out_nan  s    $$D11##Hb.AAAffAdG1aQ/3A1aQ/3A1,a0 2111s   C/DD*	c                s   \         P                  ! ^\        R7      p\         P                  V^&   \	        \         P
                  ! V4      \         P                  4       \	        \         P
                  ! V^ R7      \         P                  4       \         P                  ! ^\        R7      P                  ^^^4      p\         P                  VR&   \         P                  VR&   \	        \         P
                  ! V4      \         P                  4       \	        \         P
                  ! V4      P                  ^ 4       \         P
                  ! \         P                  ! ^\        R7      P                  ^^^4      ^ 4      p\         P                  VR&   \         P                  VR&   \	        \         P
                  ! V^ 4      V4       \         P
                  ! \         P                  ! ^\        R7      P                  ^^^4      ^4      p\         P                  VR&   \         P                  VR&   \	        \         P
                  ! V^4      V4       \         P
                  ! \         P                  ! ^\        R7      P                  ^^^4      R	4      p\         P                  V^&   \         P                  V^&   \	        \         P
                  ! VR	4      V4       R# )
re  r   rx   Nr   rA  rE  rf   r  rP   )r4   r5   rK  r#  r.   r  rk   r   r   r   r;   rB  ZTestMedian.test_nan_behavior!  s   IIb&vv!RYYq\266*RYYqq)2662IIb&..q!Q7VV'
VV'
 	RYYq\266*RYYq\&&* IIbii%088AqA1E&&$&&$RYYq!_a( IIbii%088AqA1E&&$&&$RYYq!_a( IIbii%088AqA6Jvv!vv!RYYq&)1-r=   zfp errors don't work correctlyr  c           	     s   \         P                  ! . \        R 7      p\        P                  ! RR7      ;_uu_ 4       p\        P
                  ! RR\        4       \        \         P                  ! V4      \         P                  4       \        V^ ,          P                  \        J 4       \        \        V4      ^4       RRR4       \         P                  ! . \        ^R7      p\        P                  ! RR7      ;_uu_ 4       p\        P
                  ! RR\        4       \        \         P                  ! V4      \         P                  4       \        V^ ,          P                  \        J 4       RRR4       \         P                  ! . \        ^R7      p\        \         P                  ! V^ R7      V4       \        \         P                  ! V^R7      V4       \         P                  ! \         P                  \        ^R7      p\        P                  ! RR7      ;_uu_ 4       p\        P
                  ! RR\        4       \        \         P                  ! V^R7      V4       \        V^ ,          P                  \        J 4       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL;; i  + '       g   i     R# ; i)r   Tr  r  r$  N)r   r9  rx   )r4   r   rK  r  r  r>  r  r.   r  r#  r)   Zcategoryr  )r_   r`   r   r   r   r;   r  ZTestMedian.test_emptyA  s    HHRu%$$D11Q##Hb.A1rvv.AaDMM^34Q#	 2 HHRuA.$$D11Q##Hb.A1rvv.AaDMM^34 2 HHRuA.RYYqq)1-RYYqq)1- HHRVV52$$D11Q##Hb.A11-q1AaDMM^34 21+ 211 211 211s&   BJA-J!"A!J5J	!J2	5K	c           	     sX   \         P                  ! R 4      p\        \        \         P                  ! VP                  \        4      4      4      \        4       \         P                  V^&   \        \        \         P                  ! VP                  \        4      4      4      \        4       R# )r   N)	r4   r5   r)   r   r  r   r  rK  r#  )r_   r  r:   r;   test_objectZTestMedian.test_object_  s^    IIbMRYYqxx/0159vv!RYYqxx/0159r=   c                s   \         P                  P                  RR7      p\         P                  ! V.^
,          4      p\	        \         P
                  ! VRR7      \         P
                  ! V4      4       \         P                  ! VR^ 4      p\	        \         P
                  ! VRR7      \         P
                  ! V4      4       VP                  ^ ^4      P                  4       p\	        \         P
                  ! VRR7      \         P
                  ! V4      4       \	        \         P
                  ! VR	R7      \         P
                  ! VRR7      4       \	        \         P
                  ! VR
R7      \         P
                  ! V^ R7      4       \	        \         P
                  ! VRR7      \         P
                  ! VRR7      4       \         P                  ! R4      P                  R4      p\         P                  P                  VP                  4       4       \	        \         P
                  ! VR	R7      ^ ,          \         P
                  ! VR,          P                  4       4      4       \	        \         P
                  ! VRR7      ^,          \         P
                  ! VR,          P                  4       4      4       \	        \         P
                  ! VRR7      ^,          \         P
                  ! VR,          P                  4       4      4       \	        \         P
                  ! VRR7      ^,          \         P
                  ! VR,          P                  4       4      4       \	        \         P
                  ! VRR7      R,          \         P
                  ! VR,          P                  4       4      4       \	        \         P
                  ! VRR7      R,          \         P
                  ! VR,          P                  4       4      4       \	        \         P
                  ! VRR7      R,          \         P
                  ! VR,          P                  4       4      4       R# )r  r  rx   Nr  rZ   rY   rg   re   rM   r0  )rY   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rO   r  )r4   r  r   r!  r.   r  r"  r   r   r5   rk   r#  r$  r%  r&  r   r;   r'  ZTestMedian.test_extended_axise  s   II(+IIqcBhRYYqv.		!=KK2q!RYYqx0"))A,?JJq!!!#RYYqw/1>RYYqy1299QT3JKRYYqu-ryy/CDRYYqv.		!"0EFIIn%--m<
		!'')$RYYqy1!4YYq}4467	9RYYqy1!4YYq}4467	9RYYqz215YYq}4467	9RYYqy1!4YYq}4467	9RYYqv.t4YYq}4467	9RYYqw/5YYq}4467	9RYYqv.t4YYq}4467	9r=   c                s|   \         P                  ! R4      p\        \        \         P                  VRR7       \        \        \         P                  VRR7       \        \        \         P                  V^R7       \        \        \         P                  VRR7       \        \
        \         P                  VRR7       R# )rT   rx   Nr  rT  r(  r)  rQ   )r4   r]   r/   r$   r  r\   r  r:   r;   r*  Z%TestMedian.test_extended_axis_invalid  sj    GGM"iAB7iAG<iAA6iAF;j"))QV<r=   c                sN   \         P                  ! R4      p\        \         P                  ! VRRR7      P                  R4       \        \         P                  ! VRRR7      P                  R4       \        \         P                  ! VRRR7      P                  R	4       \        \         P                  ! VR
RR7      P                  R4       \        \         P                  ! VRRR7      P                  R4       \        \         P                  ! VRRR7      P                  R4       R# )rT   NTr   r  r   rZ   r+  r{   r,  r  r-  r#  r  r.  )r4   r]   r.   r  r?   r  r:   r;   r/  ZTestMedian.test_keepdims  s    GGM"RYYqtd;AA!	#RYYqv=CC"	$RYYqv=CC!	#RYYqtd;AA"	$RYYq|dCII!	#RYYqy4@FF!	#r=   ry   Nr0  c                s  aa \         P                  ! R4      oVf   RSP                  ,          pMp\        VSP                  4      o\        ;QJ d+    . VV3R l\        SP                  4       4       F  NK  	  5M$! VV3R l\        SP                  4       4       4      p\         P                  ! V4      p\         P                  ! SVRVR7      pWCJ g   Q h\        VP                  V4       R# )rT   Nc              3   r1  r  r2  r3  r5  r;   r  Z/TestMedian.test_keepdims_out.<locals>.<genexpr>  r6  r7  Tr8  r  r  )
r4   r]   r   r#   r  r^   r  r  r.   r?   )r_   ry   r9  r  r  r4  r$  s   &&   @@r;   r:  ZTestMedian.test_keepdims_out  s     GGM"<qvvI,T166:I L=B166]L L=B166]L LIhhy!14$C@}}V\\9-r=   r   zm8[s]rD  c                sP   \         P                  ! ^ ^VR7      pRW2&   \         P                  ! V4      pVP                  V8X  g   Q h\         P                  ! V4      '       g   Q h\         P
                  ! V^^<.4      pVP                  V8X  g   Q h\         P                  ! V4      P                  4       '       g   Q h\         P                  ! ^ ^HVR7      P                  R^4      pRW2^3&   \         P                  ! V^ R7      p\        \         P                  ! V4      . RO4       R# rE  )	r4   r5   r  r   rF  r  r   rk   r-   rG  rH  r;   test_nat_behaviorZTestMedian.test_nat_behavior  s    
 IIa5)iilyyE!!!xx}}}mmABx(yyE!!!xx}  """"IIau-55b!<q&	ii"288C=*>?r=   rm   r   rQ  rR  )rn   ro   rp   rq   rb   r  r  r  rC  r   r  r  r4   r#  r  r=  r?  rB  r  r'   r  r  r'  r*  r/  r:  r  rr   rs   rt   rv   r;   r  r    s"    +,.$LB2' [[U*R,<bffbIK)K)-
1.@ [[(HI5 J5::9<=# [[
  	.	. [[Wwi0[[UK0@ 1 1@r=   r  c                   sn   a  ] tR tRt o ]P
                  P                  R. RO4      R 4       tR tRt	V t
R# )TestSortComplexi  ztype_in, type_outc                s   \         P                  ! . ROVR7      p\         P                  ! V4      p\         P                  ! V4      P	                  V4      p\        WE4       \        VP                  VP                  4       R# )rU   r   N)rU   rT   r   rL   rN   )r4   r   sort_complexr  r   r.   r   )r_   Ztype_inZtype_outr`   r   r  r  r;   test_sort_realZTestSortComplex.test_sort_real  sT     HH_G4#771:$$X.V&V\\8>>2r=   c                s    \         P                  ! . RORR7      p\         P                  ! . RORR7      p\         P                  ! V4      p\        W24       \        VP                  VP                  4       R# )rL   r  r   N)r        ?       r  r  )r  r  r  r  )r4   r   r  r.   r   )r_   r`   r  r   r   r;   test_sort_complexZ!TestSortComplex.test_sort_complex  sL    HH5SA88<CH#V&V\\8>>2r=   rm   N))Zlr  )Zhr   )ZHr   )r   r   )r  r   )r  r  )rn   ro   rp   rq   r   r  r  r  r  rr   rs   rt   rv   r;   r  r    s8     [[0 3
 333 3r=   r  )Zi8ZU10r  zdatetime64[ms]ra  )r   r   )r    rN   r   )r  rJ  r  rL  rM  rN  r  rO  rP  r  r  r  r  )~r  r.  r  r  r  Z	fractionsr   Z	functoolsr   r|  Zhypothesis.strategiesZ
strategiesr~  r   Zhypothesis.extra.numpyr   Znumpyr4   Znumpy.lib._function_base_implZlibZ_function_base_implr  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"   Znumpy._core.numericr#   Znumpy.exceptionsr$   Znumpy.randomr%   Znumpy.testingr&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r<   rD   rE   rw   r   r   r  r  r   r   r   r  r1  rQ  rY  r[  r^  rt  r~  r  r  r  r  r  r  r%  r0  r1  r2  r  r  r  r  r  r  r  r  r  r  r8  rP  rU  r\  rq  r|  r  r  r{  rg  rS  r  r  r  rm   r=   r;   <module>r     s$      
     "  )  + +                 B 5 &    "AB ABHd1 d1N: :": :$ "KL( M( 3  3F~4 ~4B;$ ;$|h0 h0V	; 	;	: 	:E E8 80E E(J J8:I< I<Xr> r>j}" }"@' '4Z' Z'z$" $"R!CC CCL) )XR8 R8j5 56 S2<<--W0EE j)i; i; *i;X;1 ;1|+5 +5Z	D 	D' '"X& X&vm7 m7`1 1h &k2 k2\a0 a0Hw- w-tA ADO	@ O	@d  -- i7 i7X/) /)da@ a@H	3 3r=   