+
    eiR  c                   s   ^ RI t ^ RIt^ RIHt ^ RIt^ RIt^ RIHt ^ RI	H
t
Ht ^ RIHtHt ^ RIHtHtHtHtHtHtHt ]P.                  ! R]P0                  RR	]P0                  R
.RR<]P0                  RRR.]P0                  ]P0                  ]P0                  R]P0                  R=.R]P0                  ]P0                  RR]P0                  ..4      t]P.                  ! . R>O4      ]P.                  ! . R?O4      ]P.                  ! RR=.4      ]P.                  ! . R@O4      .t]P.                  ! . RAO. RBO. RCO. RDO.4      t]P.                  ! . REO. RFO. RGO. RHO.4      t ! R R4      t ! R R4      t ! R R4      tR]P.                  ! ^4      R]P.                  ! . RIO4      /t ] PC                  4        F  t"]"PG                  RR7       K  	  ]PH                  PK                  R]PL                  R,          ]PL                  R,          ,           R ,           4      ]PH                  PK                  R!] PC                  4       ] PO                  4       R"7       ! R# R$4      4       4       t( ! R% R&4      t) ! R' R(])4      t* ! R) R*])4      t+ ! R+ R,])4      t,RJt-].! ]PL                  R,          4      t/]/]- U u. uF	  p R-V  R.2NK  	  up ,          t/ ! R/ R04      t0 ! R1 R24      t1 ! R3 R44      t2]PH                  PK                  R5]P.                  ! ]P0                  R6]P0                  ]Pf                  .4      ]P.                  ! . RKO4      3]P.                  ! . RLO]Ph                  R87      R73]P.                  ! . RKO4      R73]P.                  ! ]P0                  R6.]P0                  ]Pf                  ..]Pj                  R87      ]P.                  ! RR7.RR7..4      3.4      R9 4       t6R: t7R; t8R# u up i )M    N)partial)normalize_axis_tuple)	AxisErrorComplexWarning)	_nan_mask_replace_nan)assert_assert_almost_equalassert_array_equalassert_equalassert_raisesassert_raises_regexsuppress_warningss?&S:??ʡE?	?zG?L
F%u?6<R!?[B>٬?S㥛?z):?	h"?c                   sJ  a ] tR t^/t o]P
                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                   ]P"                  ]P$                  ]P&                  ]P(                  ]P*                  ]P,                  ]P.                  ]P0                  ]P2                  ]P4                  ]P6                  ]P8                  ]P:                  ]P<                  ]P>                  ]P@                  /t!]! U u. uF  q P                   NK  	  up t"]#RR l4       t$]%PL                  PO                  R]!PQ                  4       ]"R7      R 4       t)R t*Rt+Vt,R# u up i )	TestSignatureMatchc                sX   . p\         P                  ! V 4      pVP                  P                  4        F_  pVP                  \         P
                  P                  J d   VP                  V4       K>  VP                  VP                  VR7      4       Ka  	  \         P                  ! V4      # )z?Construct a signature and replace all default parameter-values.)default)
inspect	signatureZ
parametersvaluesr   Z	ParameteremptyappendZreplaceZ	Signature)funcr   Zprm_listr   Zprms   &&   H/usr/lib64/python3.14/site-packages/numpy/lib/tests/test_nanfunctions.pyget_signatureZ TestSignatureMatch.get_signatureB   s     %%d+	''..0C{{g//555$G <=	 1
   **    znan_func,funcZidsc                s    V P                  V4      pV P                  V4      p\        P                  P                  W44       R # N)r#   nptestingr
   )selfZnan_funcr!   r   Znan_signatures   &&&  r"   test_signature_matchZ'TestSignatureMatch.test_signature_matchN   s6    
 &&t,	**84


	9r$   c                s    \         P                  P                  \        V P                  4      \        \         P
                  P                  P                  4      4       R# )z4Validate that all nan functions are actually tested.N)r'   r(   r
   ZsetIDSZlibZ_nanfunctions_implZ__all__r)      &r"   test_exhaustivenessZ&TestSignatureMatch.test_exhaustivenessW   s6    


M3rvv88@@A	
r$    N)z...)-__name__
__module____qualname____firstlineno__r'   nanminZaminnanmaxZamax	nanargminargmin	nanargmaxargmaxnansumsumnanprodprod	nancumsumcumsum
nancumprodcumprodnanmeanmean	nanmedianmediannanpercentile
percentilenanquantilequantilenanvarvarnanstdstdZNANFUNCSr+   Zstaticmethodr#   pytestmarkparametrizeitemsr*   r.   __static_attributes____classdictcell__)Zk__classdict__   0@r"   r   r   /   s/    
		277
		277
bii
bii
		266


BGG
bii
rzz


BGG
bii
"--

		266
		266H   (
(x!::x
(C	+ 	+ [[_hnn.>CH: I:
 
/ )s   F r   c            
       s  a  ] tR t^^t o ]P
                  ]P                  .t]P                  ]P                  .t
R tR tR tR tR t]P"                  P%                  R. RO4      ]P"                  P%                  R]P&                  R	,          4      ]P"                  P%                  R
]P(                  ! ]P*                  4      ]P,                  ! R]P*                  4      .RR.R7      R 4       4       4       tR tR tR tR t]P"                  P%                  R]P&                  R	,          4      R 4       t]P"                  P%                  R]P&                  R	,          4      R 4       tRtV tR# )TestNanFunctions_MinMaxc                    \         P                  4       pV P                   F  pV! V4       \        V\         4       K  	  R # r&   _ndatcopynanfuncsr
   r)   ndatf   &  r"   test_mutationZ%TestNanFunctions_MinMax.test_mutationc   ,    zz|AdGu% r$   c                   \         P                  ! ^4      p\        V P                  V P                  4       FD  w  r#R F9  pV! WRR7      pV! WRR7      p\        VP                  VP                  8H  4       K;  	  KF  	  R#    NTaxiskeepdimsNr       r'   eyezipr[   stdfuncsr   ndimr)   matnfrfrf   tgtres   &      r"   test_keepdimsZ%TestNanFunctions_MinMax.test_keepdimsj   a    ffQi$--7FB$$7$7CHH,- % 8r$   c                   \         P                  ! ^4      p\        V P                  V P                  4       FF  w  r#\         P
                  ! ^4      pV! V^R7      pV! V^VR7      p\        Wd4       \        We4       KH  	  R# rd   rf   rf   outNr'   rk   rl   r[   rm   zerosr   r)   rp   rq   rr   resoutrs   rt   ru   r"   test_outZ TestNanFunctions_MinMax.test_outr   `    ffQi$--7FBXXa[FSq/CSqf-C,) 8r$   c                s   R p\        V P                  V P                  4       F  w  r#V F  p\        P                  ! ^VR7      pV! V^R7      P
                  P                  pV! V^R7      P
                  P                  p\        WvJ 4       V! VRR7      P
                  P                  pV! VRR7      P
                  P                  p\        WvJ 4       K  	  K  	  R# )efdgFDGdtyperz   Nrl   r[   rm   r'   rk   r   typer   r)   codesrq   rr   crp   rs   rt      &       r"   test_dtype_from_inputZ-TestNanFunctions_MinMax.test_dtype_from_input{   s    $--7FBffQa(1o++001o++00
#4(..334(..33
#  8r$   c                    \        V P                  V P                  4       F8  w  r\         Uu. uF
  q2! V4      NK  	  ppV! \        ^R7      p\        WT4       K:  	  R# u upi ri   rz   Nrl   r[   rm   _rdatrY   r   r)   rq   rr   drs   rt      &     r"   test_result_valuesZ*TestNanFunctions_MinMax.test_result_values   L    $--7FB"'(%Q2a5%C(U#C) 8(   Arf   Nr   AllFloatarray0d2dr%   c                s   Ve(   VP                   ^ 8X  d   \        P                  ! R4       VP                  V4      pRpV P                   F  p\        P
                  ! \        VR7      ;_uu_ 4        V! W1R7      pR R R 4       \        P                  ! X4      P                  4       '       g   Q hVP                  VP                  8X  d   K  Q h	  R #   + '       g   i     L_; iN*`axis != None` not supported for 0d arraysAll-NaN slice encounteredmatchrz   )rn   rN   skipastyper[   warnsRuntimeWarningr'   isnanallr   r)   rf   r   r   r   r!   r|      &&&&   r"   test_allnansZ$TestNanFunctions_MinMax.test_allnans   s     

aKKDEU#+MMDnE::5, ;88C=$$&&&&99+++	 "::s   2
CC#c                s   \         P                  P                  \        4      pVP                  P                  4       p\         P                  3 Fn  pV! V^R7      pV! \        ^R7      p\        WE4       \        VP                  V4       \        \         P                  ! V4      P                  4       '       * 4       Kp  	  R# r   )r'   ZmaZfix_invalidrY   Z_maskrZ   r4   r
   r   Zisinfany)r)   rp   Zmskr^   rt   rs   r   r"   test_maskedZ#TestNanFunctions_MinMax.test_masked   s    ee&iinn))ACa.CE"C"C())++, r$   c                T    V P                    F  p\        V! R 4      R 8H  4       K  	  R#         Nr[   r   r)   r^      & r"   test_scalarZ#TestNanFunctions_MinMax.test_scalar        AAbERK  r$   c           
     s0    ! R  R\         P                  4      p\         P                  ! ^4      P                  V4      pV P                   F  pV! V^ R7      p\        \        WA4      4       \        VP                  R8H  4       V! V^R7      p\        \        WA4      4       \        VP                  R8H  4       V! V4      p\        VP                  R	8H  4       K  	  \         P                  V^&   V P                   EFX  p\        P                  ! RR7      ;_uu_ 4       p\        P                  ! R4       V! V^ R7      p\        \        WA4      4       \        \         P                  ! \         P                  ! V4      4      '       * 4       \        \        V4      ^ 8H  4       RRR4       \        P                  ! RR7      ;_uu_ 4       p\        P                  ! R4       V! V^R7      p\        \        WA4      4       \        \         P                  ! V^,          4      ;'       dM    \         P                  ! V^ ,          4      '       * ;'       d#    \         P                  ! V^,          4      '       * 4       \        \        V4      ^8H  R4       \        \        V^ ,          P                   \"        4      4       RRR4       \        P                  ! RR7      ;_uu_ 4       p\        P                  ! R4       V! V4      p\        VP                  R	8H  4       \        V\         P                  8g  4       \        \        V4      ^ 8H  4       RRR4       EK[  	  R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     EK  ; i)
c                   s    ] tR t^tRtR# )8TestNanFunctions_MinMax.test_subclass.<locals>.MyNDArrayr/   Nr0   r1   r2   r3   rR   r/   r$   r"   	MyNDArrayr          r$   r   rz   TrecordalwaysNno warning raisedrd   r/   )r'   ndarrayrk   viewr[   r   
isinstanceshapenanwarningscatch_warningssimplefilterr   r   len
issubclasscategoryr   )r)   r   miner^   rt   wr   r"   test_subclassZ%TestNanFunctions_MinMax.test_subclass   sg   	

 	
 vvay~~i(ADq/CJs./CII%&Dq/CJs./CII%&D'CCIIO$  &&QA((55%%h/1o
323BFF288C=112A!$ 6 ((55%%h/1o
323Q( 1 1#a&1A-A 1 1 "Q 002A!%89
1Q4==.AB 6 ((55%%h/g		R(rvv&A!$ 65# 555 65 655s.    BMBM0A)M0#A*NM-0N Nc                s   \         P                  ! R R.\         P                  R.\         P                  \         P                  ..\        R7      p\	        \         P
                  ! V4      R 4       \	        \         P
                  ! V^ R7      R R.4       \        P                  ! RR7      ;_uu_ 4       p\        P                  ! R4       \	        \        \         P
                  ! V^R7      4      R R\         P                  .4       \        \        V4      ^8H  R4       \        \        V^ ,          P                  \        4      4       R	R	R	4       R	#   + '       g   i     R	# ; i)
      ?       @      @r   rz   Tr   r   r   N)r'   r   r   Zobjectr
   r4   r   r   r   listr   r   r   r   r   )r)   arrr   r_   r"   test_object_arrayZ)TestNanFunctions_MinMax.test_object_array   s    hhc
RVVSMBFFBFF3CDFSRYYs^S)RYYs+c3Z8$$D11Q!!(+bii!45S"&&7IJCFaK!45Jqt}}n=> 2111s   3BEE#	c                s    ! R  R\         P                  4      p\         P                  ! ^	4      P                  V4      p\         P                  VR&   V P
                   Fs  pV\         P                  J d   ^dM^ pV! W5R7      pVP                  V8X  g   Q hWe8X  g   Q hV! VP                  V4      VR7      pVP                  V8X  g   Q hWu8X  d   Ks  Q h	  R# )c                   s    ] tR t^tRtR# )7TestNanFunctions_MinMax.test_initial.<locals>.MyNDArrayr/   Nr   r/   r$   r"   r   r      r   r$   r   N   NinitialN)	r'   r   aranger   r   r[   r5   r   r   )r)   r   r   arr^   r   ret1ret2s   &&      r"   test_initialZ$TestNanFunctions_MinMax.test_initial   s    	

 	 YYq\  '2A"))^cGR)D::&&&?"?RWWY'9D::&&&?"? r$   c                s(    ! R  R\         P                  4      p\         P                  ! ^	4      P                  ^^4      P	                  V4      p\         P
                  VR&   \         P                  ! V\         P                  R7      pRVR&   V P                   Fu  pV\         P                  J d   ^M^pV! W4^R7      pVP                  V8X  g   Q hWv8X  g   Q hV! VP                  V4      V^R7      pVP                  V8X  g   Q hW8X  d   Ku  Q h	  R# )c                   s    ] tR t^tRtR# )5TestNanFunctions_MinMax.test_where.<locals>.MyNDArrayr/   Nr   r/   r$   r"   r   r      r   r$   r   r   Fwherer   Nr    NNNr   r    )r'   r   r   reshaper   r   	ones_likeboolr[   r4   r   r   )	r)   r   r   r   r   r^   	referencer   r   	   &&       r"   
test_whereZ"TestNanFunctions_MinMax.test_where   s    	

 	 YYq\!!!Q'..u5664Rrww/dA"))^IRa0D::&&&$$$RWWY'ua@D::&&&$$$ r$   r/   rh   rd   rd   ) r0   r1   r2   r3   r'   r4   r5   r[   minmaxrm   r`   rv   r   r   r   rN   rO   rP   	typecodesr   r   fullr   r   r   r   r   r   r   rR   rS   rT      @r"   rV   rV   ^   sK    		299%HH&.*$* [[V\2[[Wbll:&>?[[W

' $<  
,	 @ 3
,-!)%V
? [[Wbll:&>?# @#$ [[Wbll:&>?% @%r$   rV   c            
       s  a  ] tR tRt o ]P
                  ]P                  .tR tR t	]
P                  P                  R. RO4      ]
P                  P                  R]P                  R,          4      ]
P                  P                  R]P                  ! ]P                  4      ]P                   ! R]P                  4      .R	R
.R7      R 4       4       4       tR tR tR t]
P                  P                  R]P                  R,          4      R 4       t]
P                  P                  R]P                  R,          4      R 4       tRtV tR# )TestNanFunctions_ArgminArgmaxi  c                rW   r&   rX   r\   r_   r"   r`   Z+TestNanFunctions_ArgminArgmax.test_mutation  ra   r$   c                s>   \        V P                  \        P                  \        P                  .4       F  w  r\
         F  p\        4       ;_uu_ 4       pVP                  \        R 4       V! V4      pW5,          p\        \        P                  ! V4      '       * 4       \        V! Wc4      P                  4       '       * 4       \        \        P                  ! WcRV 4      P                  4       '       * 4       RRR4       K  	  K  	  R#   + '       g   i     K  ; i)zinvalid value encountered inN)rl   r[   r'   ZgreaterZlessrY   r   filterr   r   r   r   Zequal)r)   r^   ZfcmpZrowsupZindvalru   r"   r   Z0TestNanFunctions_ArgminArgmax.test_result_values  s    4==2::rww*?@GA&((CJJ~/MNC&C(C -.S 2 2 445$3i 8 < < >>? )(  A(((s   B$D	Drf   Nr   r   r   r   r   r%   c                s8   Ve(   VP                   ^ 8X  d   \        P                  ! R4       VP                  V4      pV P                   F9  p\        P
                  ! \        RR7      ;_uu_ 4        V! W1R7       R R R 4       K;  	  R #   + '       g   i     KP  ; ir   )rn   rN   r   r   r[   raises
ValueError)r)   rf   r   r   r!      &&&& r"   r   Z*TestNanFunctions_ArgminArgmax.test_allnans&  sj     

aKKDEU#MMDz1LMMU& NM "MMMs   0
BBc           
     s    \         P                  ! R4      pV P                   FQ  pR F  p\        \        RW!VR7       K  	  R F,  pV! WR7      p\        V\         P                  ! ^ 4      4       K.  	  KS  	  R# )r    Nz*attempt to get argm.. of an empty sequencerz   r    rd   r    Nri   )r'   r~   r[   r   r   r
   )r)   rp   r^   rf   rt      &    r"   
test_emptyZ(TestNanFunctions_ArgminArgmax.test_empty5  sc    hhvA!#"DT+ "
 'S"((1+.  r$   c                r   r   r   r   r   r"   r   Z)TestNanFunctions_ArgminArgmax.test_scalarA  r   r$   c                s    ! R  R\         P                  4      p\         P                  ! ^4      P                  V4      pV P                   F  pV! V^ R7      p\        \        WA4      4       \        VP                  R8H  4       V! V^R7      p\        \        WA4      4       \        VP                  R8H  4       V! V4      p\        VP                  R8H  4       K  	  R# )c                       ] tR tRtRtR# )>TestNanFunctions_ArgminArgmax.test_subclass.<locals>.MyNDArrayiF  r/   Nr   r/   r$   r"   r   r   F  r   r$   r   rz   Nr   r/   )r'   r   rk   r   r[   r   r   r   )r)   r   r   r^   rt   r   r"   r   Z+TestNanFunctions_ArgminArgmax.test_subclassE  s    	

 	
 vvay~~i(ADq/CJs./CII%&Dq/CJs./CII%&D'CCIIO$ r$   c                s*   \         P                  ! ^	4      P                  V4      p\         P                  VR&   V P                   FJ  pV\         P
                  J d   ^M^pV! VRR7      pVP                  VP                  8X  g   Q hWT8X  d   KJ  Q h	  R# )	   r   T)rg   N)r'   r   r   r   r[   r6   rn   r)   r   r   r^   r   ret   &&    r"   rv   Z+TestNanFunctions_ArgminArgmax.test_keepdimsV  su    YYq\  '2A",,.AIB&C88rww&&&###	 r$   c                sH   \         P                  ! ^	4      P                  V4      p\         P                  VR&   V P                   FY  p\         P
                  ! R\         P                  R7      pV\         P                  J d   ^M^pV! W$R7      pWdJ g   Q hWe8X  d   KY  Q h	  R# )r   r   r   r|   Nr/   )r'   r   r   r   r[   r~   intpr6   )r)   r   r   r^   r|   r   r      &&     r"   r   Z&TestNanFunctions_ArgminArgmax.test_outa  sz    YYq\  '2A((2RWW-C",,.AIB.C::### r$   r/   rh   r   )r0   r1   r2   r3   r'   r6   r8   r[   r`   r   rN   rO   rP   r   r   r   r   r   r   r   r   rv   r   rR   rS   r   r   r"   r   r     s%    bll+H&@ [[V\2[[Wbll:&>?[[W

' $<  '	 @ 3'
/!%" [[Wbll:&>?$ @$ [[Wbll:&>?	$ @	$r$   r   r   Z1dF)writer   Z
AllIntegerr   Orp   r%   c                   s  a ] tR tRt o]P
                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                   ]P"                  ]P$                  ]P&                  ]P(                  ]P*                  ]P,                  ]P.                  ]P0                  ]P2                  ]P4                  ]P6                  ]P8                  /t] U u. uF  q P                   NK  	  up t]P@                  PC                  R]PE                  4       ]R7      ]PF                  ! RR7      R 4       4       t$]P@                  PC                  R]PJ                  ]PL                  3]PN                  ]PP                  3.RR.R7      R	 4       t)]P@                  PC                  R]P2                  ]P4                  3]P6                  ]P8                  3.R
R.R7      R 4       t*]P@                  PC                  R]P2                  ]P6                  .4      R 4       t+Rt,Vt-R# u up i )TestNanFunctions_NumberTypesiv  znanfunc,funcr%   Zignore)Zoverc                s    VP                  V4      pV! V4      pV! V4      p\        We4       VR 8X  d   \        V4      \        V4      J g   Q hR# VP                  VP                  8X  g   Q hR# )r  Nr   r   r   r   r)   rp   r   nanfuncr!   rs   r|      &&&&&  r"   test_nanfuncZ)TestNanFunctions_NumberTypes.test_nanfunc  s_     jj3iclC%C<9S	)))99		)))r$   rH   rF   c                sh   VP                  V4      pVP                  P                  R 8X  d'   \        \        WA^R7       \        \        W1^R7       R# V! V^R7      pV! V^R7      p\        We4       VR8X  d   \        V4      \        V4      J g   Q hR# VP                  VP                  8X  g   Q hR# )r   )qr  N)r   r   Zkindr   	TypeErrorr   r   r  r  r"   test_nanfunc_qZ+TestNanFunctions_NumberTypes.test_nanfunc_q  s     jj99>>S )T!4)WQ7 sa.C##C)|CyDI---yyCII---r$   rJ   rL   c                s    VP                  V4      pV! VR R7      pV! VR R7      p\        We4       VR8X  d   \        V4      \        V4      J g   Q hR# VP                  VP                  8X  g   Q hR# )      ?ddofr  Nr  r  r  r"   test_nanfunc_ddofZ.TestNanFunctions_NumberTypes.test_nanfunc_ddof  se     jj3S!c$C%C<9S	)))99		)))r$   r  c                sb   VP                  V4      p\        V! VR R7      V! VR R7      4       Rp\        \        V4      ;_uu_ 4        V! VR R R7       RRR4       \        \        V4      ;_uu_ 4        V! V^^ R7       RRR4       R#   + '       g   i     L>; i  + '       g   i     R# ; i)r  )
correctionr  z5ddof and correction can't be provided simultaneously.)r  r  N)r   r   r   r   )r)   rp   r   r  Zerr_msgr   r"   test_nanfunc_correctionZ4TestNanFunctions_NumberTypes.test_nanfunc_correction  s     jjCC('#C*@	
 J W55Ccc2 6 !W55CaA. 65 65 655s   B
4B
B	B.	r/   N).r0   r1   r2   r3   r'   r4   r   r5   r   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rJ   rK   rL   rM   r[   Znanfunc_idsrN   rO   rP   rQ   Zerrstater	  rH   rI   rF   rG   r  r  r  rR   rS   )irT   rU   r"   r  r  v  s     			266
		266
bii
bii
		266


BGG
bii
rzz


BGG
bii
		266
		266H (00x!::x0K[[^X^^-=;O[[h	*   P	* [[
.."++	&)9)92==(IJO,  
.
." [[
))RVV	ryy"&&12x   
	*
	* [[BIIryy)//q 1s   I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# )SharedNanFunctionsTestsMixini  c                rW   r&   rX   r\   r_   r"   r`   Z*SharedNanFunctionsTestsMixin.test_mutation  ra   r$   c                rb   rc   rj   ro   ru   r"   rv   Z*SharedNanFunctionsTestsMixin.test_keepdims  rw   r$   c                rx   ry   r}   r   ru   r"   r   Z%SharedNanFunctionsTestsMixin.test_out  r   r$   c           
     sL   \         P                  ! ^4      pRp\        V P                  V P                  4       EFQ  w  r4V EFD  p\        4       ;_uu_ 4       pV\         P                  \         P                  09   d   VR9   d   VP                  \        4       V! V\         P                  ! V4      ^R7      P                  P                  pV! V\         P                  ! V4      ^R7      P                  P                  p\        WJ 4       V! V\         P                  ! V4      RR7      P                  P                  pV! V\         P                  ! V4      RR7      P                  P                  p\        WJ 4       RRR4       EKG  	  EKT  	  R#   + '       g   i     EKb  ; ird   r   ZFDG)r   rf   Nr'   rk   rl   r[   rm   r   rL   rJ   r   r   r   r   r   	r)   rp   r   rq   rr   r   r   rs   rt   	   &        r"   test_dtype_from_dtypeZ2SharedNanFunctionsTestsMixin.test_dtype_from_dtype  s   ffQi$--7FB&((Cbii33U


>2S!<BBGGCS!<BBGGCCJ'S$?EEJJCS$?EEJJCCJ' )(  8(((s   D&F	F#c           
     s   \         P                  ! ^4      pRp\        V P                  V P                  4       F  w  r4V F  p\        4       ;_uu_ 4       pV\         P                  \         P                  09   d   VR9   d   VP                  \        4       V! W^R7      P                  P                  pV! W^R7      P                  P                  p\        WJ 4       V! WRR7      P                  P                  pV! WRR7      P                  P                  p\        WJ 4       RRR4       K  	  K  	  R#   + '       g   i     EK  ; ir  r  r  r  r"   test_dtype_from_charZ1SharedNanFunctionsTestsMixin.test_dtype_from_char  s    ffQi$--7FB&((Cbii33U


>2S288==CS288==CCJ'S5;;@@CS5;;@@CCJ' )(  8(((s   CD9	9Ec           	     s   R p\        V P                  V P                  4       F  w  r#V F  p\        P                  ! ^VR7      pV! V^R7      P
                  P                  pV! V^R7      P
                  P                  p\        WvJ RV RV 24       V! VRR7      P
                  P                  pV! VRR7      P
                  P                  p\        WvJ 4       K  	  K  	  R# )r   r   rz   zres z, tgt Nr   r   r   r"   r   Z2SharedNanFunctionsTestsMixin.test_dtype_from_input  s    $--7FBffQa(1o++001o++00
d3%vcU$;<4(..334(..33
#  8r$   c                r   r   r   r   r   r"   r   Z/SharedNanFunctionsTestsMixin.test_result_values  r   r   c                r   r   r   r   r   r"   r   Z(SharedNanFunctionsTestsMixin.test_scalar  r   r$   c                s`    ! R  R\         P                  4      p\         P                  ! ^4      pVP                  V4      pV P                   F  pV! V^ R7      P
                  pV! V^ R7      p\        \        Wa4      4       \        VP
                  V8H  4       V! V^R7      P
                  pV! V^R7      p\        \        Wa4      4       \        VP
                  V8H  4       V! V4      P
                  pV! V4      p\        \        Wa4      4       \        VP
                  V8H  4       K  	  R# )c                   r   )=SharedNanFunctionsTestsMixin.test_subclass.<locals>.MyNDArrayi#  r/   Nr   r/   r$   r"   r   r  #  r   r$   r   rz   N)r'   r   rk   r   r[   r   r   r   )r)   r   r   r   r^   Zexpected_shapert   ru   r"   r   Z*SharedNanFunctionsTestsMixin.test_subclass"  s    	

 	
 q	zz)$Au1-33NDq/CJs./CII/0u1-33NDq/CJs./CII/0uX^^ND'CJs./CII/0 r$   r/   N)r0   r1   r2   r3   r`   rv   r   r  r  r   r   r   r   rR   rS   r   r   r"   r  r    s7     &.*("("$*!1 1r$   r  c            
       s  a  ] tR tRt o ]P
                  ]P                  .t]P                  ]P                  .t
]P                  P                  R. RO4      ]P                  P                  R]P                  R,          4      ]P                  P                  R]P                  ! ]P                   4      ]P"                  ! R]P                   4      .RR.R	7      R
 4       4       4       tR t]P                  P                  R]P                  R,          4      R 4       t]P                  P                  R]P                  R,          4      R 4       tRtV tR# )TestNanFunctions_SumProdi9  rf   Nr   r   r   r   r   r%   c                sL   Ve(   VP                   ^ 8X  d   \        P                  ! R4       VP                  V4      p\	        V P
                  ^ ^.4       FK  w  rEV! W1R7      p\        P                  ! We8H  4      '       g   Q hVP                  VP                  8X  d   KK  Q h	  R # )Nr   rz   	rn   rN   r   r   rl   r[   r'   r   r   r)   rf   r   r   r!   Zidentityr|   r   r"   r   Z%TestNanFunctions_SumProd.test_allnans>  s     

aKKDEU#!$--!Q8NDu(C66#/****99+++ 9r$   c                s6   \        \        P                  \        P                  .^ ^.4       Fh  w  r\        P                  ! R4      pV.^,          pV! V^ R7      p\        WT4       . pV! V^R7      p\        WT4       TpV! VRR7      p\        WT4       Kj  	  R# r    rz   Nr   )rl   r'   r:   r<   r~   r
   r)   r^   Z	tgt_valuerp   rs   rt   r   r"   r   Z#TestNanFunctions_SumProd.test_emptyN  s    BJJ 7!Q@LA((6"C+/CCa.C"CCa.C"CCd#C" Ar$   c                s   \         P                  ! ^	4      P                  V4      p\         P                  VR&   V P                   F@  pV\         P
                  J d   ^MRpV! V^R7      pVP                  V8X  g   Q hWT8X  d   K@  Q h	  R# )r   r   i   r   N)r'   r   r   r   r[   r:   r   r   r   r"   r   Z%TestNanFunctions_SumProd.test_initial[  sp    YYq\  '2A299n$IB"C99%%%###	 r$   c                s   \         P                  ! ^	4      P                  ^^4      P                  V4      p\         P                  VR&   \         P
                  ! V\         P                  R7      pRVR&   V P                   F@  pV\         P                  J d   ^MRpV! W#^R7      pVP                  V8X  g   Q hWe8X  d   K@  Q h	  R# )r   r   Fi  r   Nr   r   )
r'   r   r   r   r   r   r   r[   r:   r   )r)   r   r   r   r^   r   r   r  r"   r   Z#TestNanFunctions_SumProd.test_wheref  s    YYq\!!!Q'..u5664Rrww/dA299n$IBQ/C99%%%###	 r$   r/   rh   r   )r0   r1   r2   r3   r'   r:   r<   r[   r;   r=   rm   rN   rO   rP   r   r   r   r   r   r   r   r   rR   rS   r   r   r"   r  r  9  s     		2::&H H[[V\2[[Wbll:&>?[[W

' $<  ,	 @ 3,# [[Wbll:&>?$ @$ [[Wbll:&>?
$ @
$r$   r  c            
       s  a  ] tR tRt o ]P
                  ]P                  .t]P                  ]P                  .t
]P                  P                  R. RO4      ]P                  P                  R]P                  R,          4      ]P                  P                  R]P                  ! ]P                   4      ]P"                  ! R]P                   4      .RR.R	7      R
 4       4       4       tR tR tR tR tRtV tR# )TestNanFunctions_CumSumProdit  rf   Nr   r   r   r   r   r%   c                sJ   Ve(   VP                   ^ 8X  d   \        P                  ! R4       VP                  V4      p\	        V P
                  ^ ^.4       FJ  w  rEV! V4      p\        P                  ! We8H  4      '       g   Q hVP                  VP                  8X  d   KJ  Q h	  R # )Nr   r  r  r   r"   r   Z(TestNanFunctions_CumSumProd.test_allnansy  s     

aKKDEU#!$--!Q8NDu+C66#/****99+++ 9r$   c                s\   \        V P                  ^ ^.4       F  w  r\        P                  ! R4      pV\        P                  ! R4      ,          pV! V^ R7      p\        WT4       TpV! V^R7      p\        WT4       \        P                  ! ^ 4      pV! VRR7      p\        WT4       K  	  R# r  )rl   r[   r'   r~   onesr
   r   r   r"   r   Z&TestNanFunctions_CumSumProd.test_empty  s    1v6LA((6"Cbggfo-CCa.C"CCa.C"((1+CCd#C" 7r$   c                s   \        V P                  V P                  4       FZ  w  r\        P                  ! ^4      pR F9  pV! W4RR7      pV! W4RR7      p\        VP                  VP                  8H  4       K;  	  K\  	  V P                   F  p\        P                  ! R4      p\        P                  P                  ^ 4      p\        P                  WxP                  ! VP                  !  R8  &   V! VRR7      p\        VP                  R4       \        P                  ! ^4       F"  pV! WtR7      p\        VP                  R4       K$  	  K  	  R# )rd   Nr{   r  rz   rh   rd   r         )i  )rl   r[   rm   r'   rk   r   rn   r"  randomRandomStater   randr   r
   r   )	r)   r^   Zgrp   rf   rs   rt   r   Zrsr  r"   rv   Z)TestNanFunctions_CumSumProd.test_keepdims  s    t}}5DA&&)C$D1D1CHH,- % 6 A&A&&q)B)+Aggqww#%&AD/CG,		!oSYY6 % r$   c                s$   R F  p\         P                  ! \        VR7      p\         P                  ! \        VR7      p\        W24       \         P                  ! \        VR7      p\         P                  ! \        VR7      p\        W24       K  	  R# )   Nrz   )r    ri   N)	r'   rA   
_ndat_onesr@   rY   r   r?   _ndat_zerosr>   )r)   rf   rs   rt      &   r"   r   Z.TestNanFunctions_CumSumProd.test_result_values  s\    (D**Zd3C--D1C)))Kd3C,,u40C) )r$   c                s   \         P                  ! ^4      p\        V P                  V P                  4       FM  w  r#\         P                  ! ^4      pR F,  pV! WR7      pV! WVR7      p\        Wt4       \        Wv4       K.  	  KO  	  R# )rd   rz   r{   N)r*  r+  r    ri   )r'   rk   rl   r[   rm   r   )r)   rp   rq   rr   r   rf   rs   rt   r   r"   r   Z$TestNanFunctions_CumSumProd.test_out  sg    ffQi$--7FBVVAYF&(V4#C0#C-	 ' 8r$   r/   rh   r   )r0   r1   r2   r3   r'   r>   r@   r[   r?   rA   rm   rN   rO   rP   r   r   r   r   r   r   rv   r   r   rR   rS   r   r   r"   r!  r!  t  s     bmm,H		2::&H[[V\2[[Wbll:&>?[[W

' $<  ,	 @ 3,#7&*. .r$   r!  c            
       s  a  ] tR tRt o ]P
                  ]P                  ]P                  .t]P                  ]P                  ]P                  .tR tR tR tR t]P$                  P'                  R. RO4      ]P$                  P'                  R]P(                  R	,          4      ]P$                  P'                  R
]P*                  ! ]P,                  4      ]P.                  ! R]P,                  4      .RR.R7      R 4       4       4       tR t]P$                  P'                  R]P(                  R	,          4      R 4       tR tRtV tR# )TestNanFunctions_MeanVarStdi  c           
     s    V P                    FQ  p\        P                  \        P                  \        P                  3 F  p\        \        V\        ^VR7       K  	  KS  	  R# )ri   )rf   r   N)r[   r'   r   int_object_r   r  rY   )r)   r^   r   r_   r"   test_dtype_errorZ,TestNanFunctions_MeanVarStd.test_dtype_error  s=    A''277BJJ7iEG 8 r$   c           
     s"   V P                    F~  p\        P                  \        P                  \        P                  3 FH  p\        P
                  ! \        P                  ^ ,          VR7      p\        \        V\        ^VR7       KJ  	  K  	  R# )r    r   r{   N)
r[   r'   r   r0  r1  r   rY   r   r   r  )r)   r^   r   r|   r.  r"   test_out_dtype_errorZ0TestNanFunctions_MeanVarStd.test_out_dtype_error  sU    A''277BJJ7hhu{{1~U;iEsC 8 r$   c           
     s4   \         P                  \         P                  .p\         P                  \         P                  .p\        W4       FC  w  r4R F8  p\         Uu. uF  qd! WeR7      NK  	  ppV! \        ^VR7      p\        W4       K:  	  KE  	  R# u upi )r    r  rf   r  Nr    ri   )	r'   rJ   rL   rK   rM   rl   r   rY   r   )	r)   r[   rm   rq   rr   r  r   rs   rt   r  r"   	test_ddofZ%TestNanFunctions_MeanVarStd.test_ddof  ss    IIryy)FFBFF#(-FB167Ar!'7QT2#C-  .7s   Bc           
     s   \         P                  \         P                  .p\         P                  \         P                  .p\
         Uu. uF  p\        V4      NK  	  pp\        W4       F  w  rV\        ^4       F  p\        4       ;_uu_ 4       pVP                  \        4       VP                  \        4       V Uu. uF  q7V8  NK	  	  p	pV! \        ^VR7      p
\        \         P                   ! V
4      V	4       \#        V	4      '       d#   \%        \        VP&                  4      ^8H  4       M!\%        \        VP&                  4      ^ 8H  4       RRR4       K  	  K  	  R# u upi u upi   + '       g   i     EK  ; i)r   r4  N)r'   rJ   rL   rK   rM   r   r   rl   ranger   r   r   r   r   rY   r
   r   r   r   log)r)   r[   rm   r   Zdsizerq   rr   r  r   rs   rt      &          r"   test_ddof_too_bigZ-TestNanFunctions_MeanVarStd.test_ddof_too_big  s   IIryy)FFBFF#!&'AQ'(-FBa&((CJJ~.JJ~..34e19eC4U6C #43xxCGG 12CGG 12 )( ! . ( 5 )((s%   	E"/E,	>E'BE,	'E,	,E>rf   Nr   r   r   r   r   r%   c                sZ   Ve(   VP                   ^ 8X  d   \        P                  ! R4       VP                  V4      pRpV P                   F  p\        P
                  ! \        VR7      ;_uu_ 4        V! W1R7      pR R R 4       \        P                  ! X4      P                  4       '       g   Q hV\        P                  J d    VP                  VP                  8X  g   Q hK  VP                  \        P                  ! V4      P                  8X  d   K  Q h	  R #   + '       g   i     L; i)Nr   z:(Degrees of freedom <= 0 for slice.)|(Mean of empty slice)r   rz   )rn   rN   r   r   r[   r   r   r'   r   r   rB   r   Zabsr   r   r"   r   Z(TestNanFunctions_MeanVarStd.test_allnans  s     

aKKDEU#LMMDnE::5, ;88C=$$&&&& rzz!yyEKK///yyBFF5M$7$7777 "::s   2
DD*c                s0   \         P                  ! R4      pV P                   EFE  pR F  p\        P                  ! RR7      ;_uu_ 4       p\        P
                  ! R4       \        \         P                  ! V! WR7      4      P                  4       4       \        \        V4      ^8H  4       \        \        V^ ,          P                  \        4      4       RRR4       K  	  R F  p\        P                  ! RR7      ;_uu_ 4       p\        P
                  ! R4       \        V! WR7      \         P                  ! . 4      4       \        \        V4      ^ 8H  4       RRR4       K  	  EKH  	  R#   + '       g   i     EKX  ; i  + '       g   i     K  ; i	r    NTr   r   rz   r   r   r   )r'   r~   r[   r   r   r   r   r   r   r   r   r   r   r
   )r)   rp   r^   rf   r   r   r"   r   Z&TestNanFunctions_MeanVarStd.test_empty  s	   hhvA!,,D99Q))(3BHHQs%67;;=>CFaK(Jqt}}nEF	 :9 " ,,D99Q))(3 3!2BHHRLACFaK( :9  999 :99s   BE/	AF	/FFc                s6   \         P                  ! ^	4      P                  ^^4      P                  V4      p\         P                  VR&   \         P
                  ! V\         P                  R7      pRVR&   \        V P                  V P                  4       F  w  rEV! W#,          R,          4      pV\         P                  J d   TMVP                  P                  pV! W#R7      pVP                  V8X  g   Q h\         P                  P                  W4       K  	  R# )r   r   F:r)  NN)r   Nr   r   )r'   r   r   r   r   r   r   rl   r[   rm   rB   Zrealr   r(   Zassert_allclose)	r)   r   r   r   r^   Zf_stdr   Zdtype_referencer   r   r"   r   Z&TestNanFunctions_MeanVarStd.test_where  s    YYq\!!!Q'..u5664Rrww/dDMM4==9HAbim,I'(BJJeBGGMMOB$C99///JJ&&s6 :r$   c                s^   \         P                  P                  R 4      pVP                  ^
^^4      R,           p\         P                  VR&   \         P
                  ! R4      p\         P
                  ! R4      p\         P                  ! VV^RR7      pW5J g   Q h\         P                  ! VV^RVR7      pWFJ g   Q hVP                  VP                  8X  g   Q hVP                  R8X  g   Q h\         P                  ! V^RR7      pVP                  VP                  8X  g   Q h\        Wg4       R# )	i  r  T)r|   rf   rg   )r|   rf   rg   rC   re   N)r   r   r   )i
   ri   r   )
r'   r&  r'  randnr   r~   rB   rL   r   r   )r)   ZrngZAZmean_outZstd_outrC   rM   Zstd_oldr   r"   test_nanstd_with_mean_keywordZ9TestNanFunctions_MeanVarStd.test_nanstd_with_mean_keyword  s   ii##D)IIb"a 3&VV'
88J'((:&zz!# $& ii "	  ~~ yyDJJ&&&yyJ&&& ))AA5}}

***C)r$   r/   rh   r   )r0   r1   r2   r3   r'   rB   rJ   rL   r[   rC   rK   rM   rm   r2  r3  r6  r:  rN   rO   rP   r   r   r   r   r   r   r   r=  rR   rS   r   r   r"   r/  r/    s    

BIIryy1H(HH
D.3" [[V\2[[Wbll:&>?[[W

' $<  8	 @ 38$) [[Wbll:&>?7 @7"* "*r$   r/  zm8[Z]c                   sb  a  ] tR tRt o R tR t]P                  P                  R. ROR7      ]P                  P                  R4      R 4       4       t
R	 tR
 tR t]P                  P                  R. RO4      ]P                  P                  R]4      R 4       4       tR tR tR tR tRtV tR# )TestNanFunctions_MedianiK  c                sz    \         P                  4       p\        P                  ! V4       \	        V\         4       R # r&   )rY   rZ   r'   rD   r
   r)   r]   r   r"   r`   Z%TestNanFunctions_Median.test_mutationM  s#    zz|
TT5!r$   c                s   \         P                  ! ^4      pR FW  p\         P                  ! WRRR7      p\         P                  ! WRRR7      p\	        VP
                  VP
                  8H  4       KY  	  \         P                  ! R4      p\         P                  P                  R4      \         P                  ! VP                  4      R	,          ,          pVP                  \         P                  4      p\         P                  V\        V4      &   \        4       ;_uu_ 4       pVP                  \         4       \         P                  ! VRRR7      p\#        VP                  R
4       \         P                  ! VRRR7      p\#        VP                  R4       \         P                  ! VRRR7      p\#        VP                  R4       \         P                  ! VRRR7      p\#        VP                  R4       \         P                  ! VRRR7      p\#        VP                  R
4       \         P                  ! VRRR7      p\#        VP                  R4       RRR4       R#   + '       g   i     R# ; ird   NF)rf   r|   overwrite_inputTre   rh   r#        r   N)ri   ri   ri   ri   r5  )ri   ri   r$  r%  r   )ri   r   r$  ri   r   )rd   ri   r$  r%  )r    ri   r)  rd   )r    ri   rd   )ri   ri   r$  ri   )r'   rk   rE   rD   r   rn   r"  r&  r   r   r   r   r   tupler   r   r   r
   r)   rp   rf   rs   rt   r   r   r   r   r"   rv   Z%TestNanFunctions_Median.test_keepdimsS  s   ffQi D))CeLC,,s4OCCHH() !
 GGM"IIX&!''):7)CCHHRWWff%(  CJJ~&,,qtd;CL1,,qv=CM2,,qv=CL1,,qtd;CM2,,q|dCCL1,,qy4@CL1 !   s   "D0II-	rf   NZargnamesZ	argvalues#ignore:All-NaN slice:RuntimeWarningc                s  aa \         P                  ! R4      o\         P                  P                  R4      \         P                  ! SP                  4      R,          ,          pVP                  \         P                  4      p\         P                  S\        V4      &   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WTJ g   Q h\        VP                  V4       R# )	rd   Nc              3   Z   <"   T F   qS9   d   ^MSP                   V,          x  K"  	  R# 5iri   Nr   Z.0r  	axis_normr      & r"   	<genexpr>Z<TestNanFunctions_Median.test_keepdims_out.<locals>.<genexpr>  &      L=J)^3]   (+Trf   rg   r|   r#  rB  rE  r   )r'   r"  r&  r   r   r   r   r   rF  rn   r   r7  r   rD   r
   )r)   rf   r   	shape_outr|   resultrN  r   s   &&    @@r"   test_keepdims_outZ)TestNanFunctions_Median.test_keepdims_outn  s     GGM"IIX&!''):7)CCHHRWWff%(<qvvI,T166:I L=B166]L L=B166]L LIhhy!adTsC}}V\\9-r$   c                sl   \         P                  P                  ^^4      p\         P                  ! V^ ^.\         P                  ^R7      p\         P
                  ! ^4      p\         P                  ! V^R7      p\         P                  ! V^VR7      p\        WS4       \        WT4       \         P
                  ! R4      p\         P                  ! VRR7      p\         P                  ! VRVR7      p\        WS4       \        WT4       \         P                  ! VRVR7      p\        WS4       \        WT4       R# )rd   rz   r{   Nr/   r5  )	r'   r&  r(  insertr   r~   rE   rD   r   )r)   rp   nan_matr   rs   rt   r   r"   r   Z TestNanFunctions_Median.test_out  s    iinnQ"))C!Qa8!ii!$ll77C(C%"ii$'ll76:C(C%ll7V<C(C%r$   c           	     s"   R EF  p\         P                  P                  ^V4      p\         P                  P                  ^ VP                  VP                  ^,          R7      p\         P
                  VP                  4       V&   RVR&   . pV FV  p\         P                  ! \         P                  ! V4      ( V4      pVP                  \         P                  ! VRR7      4       KX  	  \        \         P                  ! VR	R7      V4       EK
  	  R# )
r   sizer   T)rA  rz   N)r   i   i3   rD  i  r   r+  )r'   r&  r<  ZrandintrZ  r   ZravelZcompressr   r    rE   r	   rD   )r)   sr   r   rs   xZnonanru   r"   test_small_largeZ(TestNanFunctions_Median.test_small_large  s    'A		1%A		!!!QVV!&&A+!>A66AGGIaLAdGCRXXa[L!4

299UDAB  r||AB7= (r$   c                s    \          Uu. uF  p\        P                  ! V4      NK  	  pp\        P                  ! \        ^R7      p\        W24       R# u upi r   )r   r'   rE   rD   rY   r   )r)   r   rs   rt   r.  r"   r   Z*TestNanFunctions_Median.test_result_values  s;    %*+Uryy|U+ll5q)C% ,s   Ar   c                s   \         P                  ! R\         P                  4      P                  V4      p\	        4       ;_uu_ 4       pVP                  \        4       \         P                  ! W2R7      pVP                  VP                  8X  g   Q h\         P                  ! V4      P                  4       '       g   Q hVf#   \        \        VP                  4      ^8H  4       M!\        \        VP                  4      ^8H  4       \         P                  ! \         P                  4      P                  V4      R,          p\         P                  ! V4      pVP                  VP                  8X  g   Q h\         P                  ! V4      '       g   Q hVf#   \        \        VP                  4      ^8H  4       M!\        \        VP                  4      ^8H  4       RRR4       R#   + '       g   i     R# ; i)rd   rz   Nr   r/   )r'   r   r   r   r   r   r   rD   r   r   r   r   r   r8  r   )r)   r   rf   rp   r   ZoutputZscalarZoutput_scalars   &&&     r"   r   Z$TestNanFunctions_Median.test_allnans  sH    ggfbff%,,U3  CJJ~&\\#1F<<399,,,88F#''))))|CGG)*CGG)* XXbff%,,U3B7FLL0M &&&,,66688M****|CGG)*CGG)*+ !   s   A3G ;CG A	G  G1	c                s>   \         P                  ! R4      pR F  p\        P                  ! RR7      ;_uu_ 4       p\        P                  ! R4       \        \         P                  ! \         P                  ! WR7      4      P                  4       4       \        \        V4      ^8H  4       \        \        V^ ,          P                  \        4      4       RRR4       K  	  R F  p\        P                  ! RR7      ;_uu_ 4       p\        P                  ! R4       \        \         P                  ! WR7      \         P                  ! . 4      4       \        \        V4      ^ 8H  4       RRR4       K  	  R#   + '       g   i     EKo  ; i  + '       g   i     K  ; ir;  )r'   r~   r   r   r   r   r   rD   r   r   r   r   r   r
   r)   rp   rf   r   r.  r"   r   Z"TestNanFunctions_Median.test_empty  s   hhvD((55%%h/c!=>BBDEA!$
1Q4==.AB	 65  D((55%%h/R\\#9288B<HA!$ 65  655 655s   BE6A#F6FFc                sJ    \        \        P                  ! R 4      R 8H  4       R# r   )r   r'   rD   r,   r-   r"   r   Z#TestNanFunctions_Median.test_scalar  s    R B&'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       R# )rd   rz   Nr#  r    r_  r    rC  ri   ri   )r'   r"  r   r   rD   r   r)   r   r   r"   test_extended_axis_invalidZ2TestNanFunctions_Median.test_extended_axis_invalid  sj    GGM"iqr:iqw?iqq9iqv>j",,?r$   c                s|
   \        4       ;_uu_ 4       pVP                  \        4       \        P                  \        P                  ) 3 EF  p\        P
                  ! V\        P                  .\        P                  \        P                  ..4      p\        \        P                  ! V^ R7      V\        P                  .4       \        \        P                  ! V^R7      V\        P                  .4       \        \        P                  ! V4      V4       \        P
                  ! \        P                  \        P                  V.\        P                  \        P                  V..4      p\        \        P                  ! V4      V4       \        \        P                  ! V^ R7      \        P                  \        P                  V.4       \        \        P                  ! V^R7      V4       \        P
                  ! W".W"..4      p\        \        P                  ! V^R7      V4       \        P
                  ! V^V) R.R	\        P                  \        P                  ^.^\        P                  \        P                  V..\        P                  R7      pV^ 8  dI   \        \        P                  ! V^ R7      RRV) R.4       \        \        P                  ! V4      R4       MG\        \        P                  ! V^ R7      R
RV) R.4       \        \        P                  ! V4      R4       \        \        P                  ! VRR7      RRV.4       \        ^
4       EF  p\        ^^
4       EF  p\        P
                  ! \        P                  .V,          V.V,          ,           .^,          4      p\        \        P                  ! V4      V4       \        \        P                  ! V^R7      V4       \        \        P                  ! V^ R7      \        P                  .V,          V.V,          ,           4       \        P
                  ! \        P                  .V,          V) .V,          ,           .^,          4      p\        \        P                  ! V4      V) 4       \        \        P                  ! V^R7      V) 4       \        \        P                  ! V^ R7      \        P                  .V,          V) .V,          ,           4       EK  	  EK  	  EK  	  RRR4       R#   + '       g   i     R# ; i)r    rz   r   r   g      @      @g      @Niig      $g      "g      r+  g      )r   r   r   r'   infr   r   r
   rD   float32r7  )r)   r   rf  ar  Zjr   r"   test_float_specialZ*TestNanFunctions_Median.test_float_special  sh     CJJ~&(HHsRVVnrvvrvv.>?@R\\!!4sRVVnER\\!!4sRVVnER\\!_c2 HHrvvrvvs3 ffbffc24 5R\\!_c2R\\!!4rvvrvvs6KLR\\!!4c: HHsj3*56R\\!!4c:HHsAtR0"BFFBFFA6 "&&"&&#68 %'JJ0 7 aa!82rC4:LM a#6 aa!84cT3:OP a$7R\\!"5T37GHrA"1b\HHx!|	&B%Ca%GH$R\\!_c:$R\\!!%<cB$R\\!!%<')vvhlseai%?A HHx!|#
&C%Dq%HI$R\\!_sd;$R\\!!%<sdC$R\\!!%<')vvhltfqj%@B * #; ) !   s   TT**T;	r/   Nri   r   r5  )ir+  rh   )r0   r1   r2   r3   r`   rv   rN   rO   rP   filterwarningsrV  r   r]  r   _TYPE_CODESr   r   r   rd  ri  rR   rS   r   r   r"   r>  r>  K  s     "26 [[
  	 [[ EF. G	."&$> &
 [[V\2[[Wk2+ 3 3+2%(@,B ,Br$   r>  c            
       s  a  ] tR tRt o R tR t]P                  P                  R^^^..4      ]P                  P                  R. R OR7      ]P                  P                  R4      R	 4       4       4       t
]P                  P                  R
RR.4      R 4       tR t]P                  P                  R
RR.4      ]P                  P                  RRR.4      R 4       4       t]P                  P                  R. R!O4      ]P                  P                  R]P                  R,          4      ]P                  P                  R]P                   ! ]P"                  4      ]P$                  ! R"]P"                  4      .RR.R7      R 4       4       4       tR tR tR tR t]P                  P                  R. R#O4      R 4       t]P                  P                  R. R$O4      R 4       tRtV tR# )%TestNanFunctions_Percentilei  c                s|    \         P                  4       p\        P                  ! V^4       \	        V\         4       R# )   N)rY   rZ   r'   rF   r
   r?  r   r"   r`   Z)TestNanFunctions_Percentile.test_mutation  s'    zz|
r"T5!r$   c           	     s   \         P                  ! ^4      pR F[  p\         P                  ! V^FVRRR7      p\         P                  ! V^FVRRR7      p\	        VP
                  VP
                  8H  4       K]  	  \         P                  ! R4      p\         P                  P                  R4      \         P                  ! VP                  4      R	,          ,          pVP                  \         P                  4      p\         P                  V\        V4      &   \        4       ;_uu_ 4       pVP                  \         4       \         P                  ! V^ZRRR7      p\#        VP                  R
4       \         P                  ! V^ZRRR7      p\#        VP                  R4       \         P                  ! V^ZRRR7      p\#        VP                  R4       \         P                  ! V^ZRRR7      p\#        VP                  R4       \         P                  ! V^ZRRR7      p\#        VP                  R
4       \         P                  ! V^ZRRR7      p\#        VP                  R4       RRR4       R#   + '       g   i     R# ; ir@  )r'   rk   rG   rF   r   rn   r"  r&  r   r   r   r   r   rF  r   r   r   r
   rG  r   r"   rv   Z)TestNanFunctions_Percentile.test_keepdims  s   ffQi D--Rd057C""3438:CCHH() ! GGM"IIX&!''):7)CCHHRWWff%(  CJJ~&""1btdCCL1""1bvECM2""1bvECL1""1btdCCM2""1b|dKCL1""1by4HCL1 !   s   &D6I&&I7	r
  rf   NrH  rI  c                s&  aa \         P                  ! R4      o\         P                  P                  R4      \         P                  ! SP                  4      R,          ,          pVP                  \         P                  4      p\         P                  S\        V4      &   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WeJ g   Q h\        VP                  V4       R# )	rd   Nc              3   rJ  rK  rL  rM  rO  r"   rP  Z@TestNanFunctions_Percentile.test_keepdims_out.<locals>.<genexpr>O  rQ  rR  TrS  r#  rB  rE  r   )r'   r"  r&  r   r   r   r   r   rF  rn   r   r7  r   rF   r
   )	r)   r
  rf   r   rT  r|   rU  rN  r   s	   &&&    @@r"   rV  Z-TestNanFunctions_Percentile.test_keepdims_out9  s    GGM"IIX&!''):7)CCHHRWWff%(<qvvI,T166:I L=B166]L L=B166]L LIHHQK)+	hhy!!!!QDcJ}}V\\9-r$   weightedFTc                s   \         P                  P                  ^^4      p\         P                  ! V^ ^.\         P                  ^R7      p\         P
                  ! ^4      pV'       d6   R\         P                  ! V4      RR/pR\         P                  ! V4      RR/pM/ p/ p\         P                  ! V^*3R^/VB p\         P                  ! V^*3R^RV/VB p\        W4       \        W4       \         P
                  ! R4      p\         P                  ! V^*3RR/VB p\         P                  ! V^*3RRRV/VB p\        W4       \        W4       \         P                  ! V^*3RR	RV/VB p\        W4       \        W4       R# )
rd   rz   weightsmethodinverted_cdfrf   r|   Nr/   r5  )
r'   r&  r(  rW  r   r~   r   rG   rF   r   )	r)   ro  rp   rX  r   w_argsZ
nan_w_argsrs   rt   r   r"   r   Z$TestNanFunctions_Percentile.test_outX  sn   iinnQ"))C!Qa8!c!2HnMF2<<0(NJ FJmmC6!6v6wMMM*MC(C%"mmC9$9&9R
"
(.
2<
 	C(C%R
$
*0
4>
 	C(C%r$   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  ZGr   DZFN)y      ?      @y @      ?y?ffffff@)r'   r   r   r  rF   r)   Zarr_cr   r"   test_complexZ(TestNanFunctions_Percentile.test_complexw  sq    =SIi!1!15#>=SIi!1!15#>=SIi!1!15#>r$   use_outc                s   V'       d;   \        \        P                  R R7      p\        \        P                  R R7      pR pM#\        P                  p\        P                  pR p\         Uu. uF  qc! V^V! V4      R7      NK  	  ppV'       d   \        P
                  ! V4      MRpV! \        ^^V! \        4      VR7      p	\        W4       \        P                  ! \         Uu. uF  pV! VRV! V4      R7      NK  	  up4      pV'       d   \        P
                  ! V4      MRpV! \        R^V! \        4      VR7      p	\        W4       R# u upi u upi )rr  rq  c                 s.    \         P                  ! V 4      # r&   )r'   r   r   r-   r"   gen_weightsCTestNanFunctions_Percentile.test_result_values.<locals>.gen_weights  s    ||A&r$   c                 s    R # r&   r/   r{  r-   r"   r|  r}    s    r$   )rp  N)rf   rp  r|   )i   ib   )	r   r'   rG   rF   r   
empty_likerY   r   Z	transpose)
r)   ro  ry  rG   rF   r|  r   rs   r|   rt   s
   &&&       r"   r   Z.TestNanFunctions_Percentile.test_result_values  s     ~FJ#B$4$4^LM' J,,M CHH%Qz!RQ8%H$+bmmC E2A$/$6CAC%ll%*,%* 'q(KNK%*, -$+bmmC E8!$/$6CAC% I,s   .E'Er   Floatr   r   r   r%   c                s   Ve(   VP                   ^ 8X  d   \        P                  ! R4       VP                  V4      p\        P                  ! \
        RR7      ;_uu_ 4        \        P                  ! V^<VR7      pR R R 4       \        P                  ! X4      P                  4       '       g   Q hVP                  VP                  8X  g   Q hR #   + '       g   i     L[; ir   )rn   rN   r   r   r   r   r'   rF   r   r   r   r)   rf   r   r   r|   r   r"   r   Z(TestNanFunctions_Percentile.test_allnans  s     

aKKDEU#\\.0KLL""5"48C Mxx}  """"yyEKK''' ML   !CC	c                sF   \         P                  ! R4      pR F  p\        P                  ! RR7      ;_uu_ 4       p\        P                  ! R4       \        \         P                  ! \         P                  ! V^(VR7      4      P                  4       4       \        \        V4      ^8H  4       \        \        V^ ,          P                  \        4      4       RRR4       K  	  R F  p\        P                  ! RR7      ;_uu_ 4       p\        P                  ! R4       \        \         P                  ! V^(VR7      \         P                  ! . 4      4       \        \        V4      ^ 8H  4       RRR4       K  	  R#   + '       g   i     EKs  ; i  + '       g   i     K  ; ir;  )r'   r~   r   r   r   r   r   rF   r   r   r   r   r   r
   r^  r.  r"   r   Z&TestNanFunctions_Percentile.test_empty  s   hhvD((55%%h/!1!1#r!EFJJLMA!$
1Q4==.AB	 65  D((55%%h/R--c2DA288B<PA!$ 65  655 655s   BE:A%F:FF c                s    \        \        P                  ! R ^d4      R 4       \        P                  ! ^4      p\        P                  ! V^2^ R7      p\        VR4       \	        \        P
                  ! V4      4       R# )r   rz   g      @N)r
   r'   rF   r   r   Zisscalar)r)   rh  Zrr_   r"   r   Z'TestNanFunctions_Percentile.test_scalar  sT    R%%b#.3IIaLQ+Q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       R# )rd   )r
  rf   Nr#  r_  r`  ra  rb  )r'   r"  r   r   rF   r   rc  r   r"   rd  Z6TestNanFunctions_Percentile.test_extended_axis_invalid  s~    GGM"i!1!11Ci!1!11Hi!1!11Bi!1!11Gj""2"2AHr$   c                s   ^2^d.p\         P                  ! R4      p\         P                  V,          p\         P                  ! R4      p^ VR&   VR;;,          ^,          uu&   R	 F  pR
 F  p\        4       ;_uu_ 4       pVP	                  \
        R4       \         P                  ! W!WVR7      p\         P                  ! W1VVR7      p	\        V	P                  VP                  4       \         P                  ! WAVVR7      p\         P                  ! WAVVR7      p	\        W4       RRR4       K  	  K  	  \         P                  ! R4      p
\        \         P                  ! WRR7      P                  R4       R#   + '       g   i     EK   ; i)2   Nr   re   rz   )rC  rd   )rd   rC  r   )r   :r    r)  rC  r   )r   r   :rd   NNrh   )FT)rd   rC  r      )ri   r)  )r)  rd   r  )
r'   r"  r   r   r   r   rG   rF   r
   r   )r)   Zpercrp   rX  Z	large_matrf   Zkeepdimr   r   Znan_valZmegamatr9  r"   test_multiple_percentilesZ5TestNanFunctions_Percentile.test_multiple_percentiles  s.   Cyggfo&&3,GGI&	!"	+(q  D(&((CJJ~/JK--OC ..w48?AG 		:--	d18:C ..yT8?AG . )( ) ! '','W8>>		
 )((s   >B%E7	7F	
nan_weightc                s    ^\         P                  ^^.p\         P                  ! R4      p\         P                  ! V^2RR7      p\	        WC4       RVRR.p\         P                  ! V^2VRR7      p\	        Wc4       R# )ri   r   rr  rz  r   )rp  rq  N)r'   r   float64rF   r
   )r)   r  r\  rU  Zq_unweightedr   Z
q_weightedr  r"   test_nan_value_with_weightZ6TestNanFunctions_Percentile.test_nan_value_with_weight  sk    1C''2nE\* *c3'%%aQ~N
Z(r$   c           	     s.   \         P                  P                  ^4       \         P                  P                  RR7      pVP                  4       p\         P                  V\         P
                  ! ^c4      \         P
                  ! ^c4      ^ 3&   \         P                  ! . R	O. R
O.4      p\         P                  ! V4      p^ V\         P                  ! V4      &   \         P                  ! W$WRR7      p\         P                  ! W4VRR7      p\        Wv4       RV\         P                  ! V4      &   \         P                  ! W4WRR7      p\        W4       \         P                  ! V4      p	\         P                  ! W4WV	RR7      p
WJ g   Q h\        W4       R# )ri   rY  rr  )rf   rp  rq  )rf   rq  Zbti)rf   rp  r|   rq  N)id   ic   r)  )g      4@g      I@rn  )iF   i!   iP   )r'   r&  ZseedrZ   r   r   r   r   r   rG   rF   r
   r~  )r)   rf   Zx_no_nanr\  prp  Z
p_expectedZp_unweightedZ
p_weightedr|   rt   s   &&         r"   test_nan_value_with_weight_ndimZ;TestNanFunctions_Percentile.test_nan_value_with_weight_ndim  s:    			q99###6 MMO-/VV"))B-2
)*HHnl34 ,,q/
  !]]dNL
 ''tN4 	\.$%%t^E
Z,mmJ't#nN zzS%r$   r/   rj  rh   r   )r    ri   r)  rd   r  r    ri   r)  )r0   r1   r2   r3   r`   rv   rN   rO   rP   rk  rV  r   rx  r   r'   r   r   r   r   r   r   r   rd  r  r  r  rR   rS   r   r   r"   rm  rm    s    "2: [[S1q!f+.[[
  	 [[ EF. G	 /.& [[Z%7& 8&<? [[Z%7[[Y6& 7 8&8 [[V\2[[Wbll7&;<[[W

' $<  (	 = 3(% I
8 [[\+>?	) @	) [[VY/%& 0%&r$   rm  c            
       s  a  ] tR tRt o ]P
                  P                  RRR.4      R 4       tR tR t	R t
]P
                  P                  R	. RO4      ]P
                  P                  R]P                  R,          4      ]P
                  P                  R]P                  ! ]P                  4      ]P                  ! R]P                  4      .RR.R7      R 4       4       4       tRtV tR
# )TestNanFunctions_Quantilei  ro  FTc           
     sh   \         P                  ! ^4      P                  ^^^4      P                  \        4      p\         P
                  V^ ,          ^&   V'       d   R\         P                  ! V4      RR/pM/ p\        \         P                  ! V3RR/VB \         P                  ! V3R^2/VB 4       \        \         P                  ! V3RRR^ /VB \         P                  ! V3R^2R^ /VB 4       \        \         P                  ! V3RRR^/VB \         P                  ! V3R^2R^/VB 4       \        \         P                  ! V3RR.R^/VB \         P                  ! V3R^2.R^/VB 4       \        \         P                  ! V3R. ROR^/VB \         P                  ! V3R. R	OR^/VB 4       R# )
i   rp  rq  rr  r
  r  rf   N)      ?r        ?)i   r  iK   )
r'   r   r   r   floatr   r   r
   rH   rF   )r)   ro  r   rs     &&  r"   test_regressionZ)TestNanFunctions_Quantile.test_regression  s   YYr]""1a+2259661ab!18^LFFR^^B8#88%%b9B9&9	;R^^B@#@A@@%%bABAQA&A	CR^^B@#@A@@%%bABAQA&A	CR^^BB3%BaB6B%%bCRDCqCFC	ER^^BN*;N!NvN%%bKLKqKFK	Mr$   c                s   \         P                  ! ^4      R,          p\        \         P                  ! V^ 4      R4       \        \         P                  ! V^4      R4       \        \         P                  ! VR4      R4       R# )i   r  r   g      @g      ?N)r'   r   r
   rH   )r)   r\  r   r"   
test_basicZ$TestNanFunctions_Quantile.test_basic2  sS    IIaL3R^^Aq)2.R^^Aq)3/R^^As+T2r$   c                rt  ru  )r'   r   r   r  rH   rw  r   r"   rx  Z&TestNanFunctions_Quantile.test_complex8  sk    =SIi<=SIi<=SIi<r$   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    g      Y@Zmidpointrz  N)r    r  r  r  r   )r'   r   rZ   rH   r   r	   Ztolist)r)   Zp0r  r_   r"   test_no_p_overwriteZ-TestNanFunctions_Quantile.test_no_p_overwrite@  sr    XX/0GGI
ryy*=1!YY[HHJ
ryy*=1!r$   rf   Nr   r  r   r   r   r%   c                s   Ve(   VP                   ^ 8X  d   \        P                  ! R4       VP                  V4      p\        P                  ! \
        RR7      ;_uu_ 4        \        P                  ! V^VR7      pR R R 4       \        P                  ! X4      P                  4       '       g   Q hVP                  VP                  8X  g   Q hR #   + '       g   i     L[; ir   )rn   rN   r   r   r   r   r'   rH   r   r   r   r  r   r"   r   Z&TestNanFunctions_Quantile.test_allnansL  s     

aKKDEU#\\.0KLL..5C Mxx}  """"yyEKK''' MLr  r/   rh   r   )r0   r1   r2   r3   rN   rO   rP   r  r  rx  r  r'   r   r   r   r   r   rR   rS   r   r   r"   r  r    s      [[Z%7M 8M&3=
" [[V\2[[Wbll7&;<[[W

' $<  (	 = 3(r$   r  zarr, expectedre  Tr   c                 s    R \         P                  ! V P                  \         P                  R7      3 FA  p\	        WR7      p\        W14       \        V4      \         P                  Jg   K9  VRJ d   KA  Q h	  R # )Nr   r   T)r'   r   r   r   r   r
   r   r   )r   Zexpectedr|   Zactualr  r"   test__nan_maskr  \  sV    " bhhsyy893(V& >+T>!> :r$   c                 s"   \         P                  \         P                  \         P                  3 F8  p \         P                  ! ^ ^.V R7      p\        V^ 4      w  r#Ve   Q hW!J d   K8  Q h	  \         P                  \         P                  3 F  p \         P                  ! ^ ^.V R7      p\        V^4      w  r#VR8H  P                  4       '       g   Q hW!Jg   Q h\        W!4       \         P                  ! ^ ^\         P                  .V R7      p\        V^4      w  rV\        V\         P                  ! . RO4      4       WTJg   Q h\        V\         P                  ! . RO4      4       \         P                  ! VR,          4      '       d   K  Q h	  R# )zTTest that _replace_nan returns the original array if there are no
NaNs, not a copy.
r   NF)FFTr  r+  )r'   r   Zint32int64r   r   rg  r  r   r
   r   r   )r   r   rU  ZmaskZarr_nanZ
result_nanZmask_nans          r"   test__replace_nanr  w  s4    ''288RXX.hh1vU+#C+||}} / **bjj)hh1vU+#C+""$$$$   V!((Aq"&&>7+GQ7
Xrxx(<=>(((Z)!45xx$$$$ *r$   c           
      s   \         P                  ! R \        R7      p\        V P	                  R4      R4      ;_uu_ 4       pVP                  VP                  4       4       \         P                  ! W!P                  VP                  R7      p\        P                  ! \        RR7      ;_uu_ 4        \         P                  ! V\         P                  ! ^4      R7       RRR4       \        P                  ! \        R	R7      ;_uu_ 4        \         P                  ! V\         P                  ! ^4      R7       RRR4       RRR4       R#   + '       g   i     Ls; i  + '       g   i     L-; i  + '       g   i     R# ; i)
g      $@r   zdata.binzw+b)r   r   zreduction operation fmaxr   r   Nzreduction operation fmin)r'   r   r  ZopenZjoinr  ZtobytesZmemmapr   r   rN   r   r   r5   r~   r4   )Ztmpdirrh  ZfhZmmr.  r"   test_memmap_takes_fast_router    s     			#U#A	fkk*%u	-	-
YYr8]]:-GHHIIbbhhqk* I ]]:-GHHIIbbhhqk* I 
.	- IH IH 
.	-	-s=    A0E.0-E	,E.	-E	6E.EE.E+&E..E?	绸:M)r   r   r   r   )r   r  r   r   r   )r   r   r   )r   r   r   r   r   r   )r   r  r   r   r   r   )r   r   r   r   r   r  )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r  r   r   r   r   )r   r   r   r   r   r  )r   r   r   r   r   r   )i   i'   i]   iW   i.   )ZYZMZWrv  ZhZmr[  ZmsZusZnsZpsZfsZas)FTFT)ri   r   r$  r   )9r   r   Z	functoolsr   rN   Znumpyr'   Znumpy._core.numericr   Znumpy.exceptionsr   r   Znumpy.lib._nanfunctions_implr   r   Znumpy.testingr   r   r	   r
   r   r   r   r   r   rY   r   r,  r-  r   rV   r   Z_TEST_ARRAYSr   Z_vZsetflagsrO   rP   r   Zkeysr  r  r  r!  r/  Z_TIME_UNITSr   rl  r>  rm  r  rf  r  Z	complex64r  r  r  )Zunits   0r"   <module>r     s        4 6 @   	6266662666B7BFFFFFC6626626662667C26626666266BD 	E 
2	3	;	<	67#	$	*	+	- XXAE<>@ A
 hhBF=?A B,
 ,
^m% m%`]$ ]$B 	"((1+"(((
) 


BKKeK   LLj!99C?  3 3 5<;L;L;NOR/ R/ P	
R/jf1 f1R8$; 8$vF."> F.RB*"> B*J
 2<<
+, +6+$#dV1+6 6FB FBRD& D&N?( ?(B XXrvvsBFFBFF+,XX()+ XXl"((+	 XX()	 XX}!(*6XXt}t}  +  "! "%6+U 7s   +O!