
    4i                        S SK r S SKrS SKJr  S SKrS SKrS SKJr  S SK	J
r
Jr  S SKJrJr  S SKJrJrJrJrJrJr  \R,                  " S\R.                  SS	\R.                  S
/SS\R.                  SSS/\R.                  \R.                  \R.                  S\R.                  S/S\R.                  \R.                  SS\R.                  //5      r\R,                  " / SQ5      \R,                  " / SQ5      \R,                  " SS/5      \R,                  " / SQ5      /r\R,                  " / SQ/ SQ/ SQ/ SQ/5      r\R,                  " / SQ/ SQ/ SQ/ SQ/5      r " S  S!5      r " S" S#5      r " S$ S%5      r\R,                  " S&5      \R,                  " / S'Q5      S(.r\RA                  5        H  r!\!RE                  S)S*9  M     \RF                  RI                  S+\RJ                  S,   \RJ                  S-   -   S.-   5      \RF                  RI                  S/\RA                  5       \RM                  5       S09 " S1 S25      5       5       r' " S3 S45      r( " S5 S6\(5      r) " S7 S8\(5      r* " S9 S:\(5      r+S;r,\-" \RJ                  S-   5      r.\.\, V s/ s H	  n S<U  S=3PM     sn -  r. " S> S?5      r/ " S@ SA5      r0 " SB SC5      r1\RF                  RI                  SD\R,                  " \R.                  SE\R.                  \Rd                  /5      \R,                  " / SFQ5      4\R,                  " / SGQ\Rf                  SH9SI4\R,                  " / SFQ5      SI4\R,                  " \R.                  SE/\R.                  \Rd                  //\Rh                  SH9\R,                  " S)SI/S)SI//5      4/5      SJ 5       r5SK r6\RF                  Ro                  SLSM9SN 5       r8gs  sn f )O    N)partial)normalize_axis_tuple)	AxisErrorComplexWarning)	_nan_mask_replace_nan)assert_assert_almost_equalassert_array_equalassert_equalassert_raisesassert_raises_regexs?&S:??ʡE?	?绸zG?L
F%u?6<R!?[B>٬?:MS㥛?z):?	h"?)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   c                   @   \ rS rSr\R
                  \R                  \R                  \R                  \R                  \R                  \R                  \R                  \R                  \R                  \R                  \R                   \R"                  \R$                  \R&                  \R(                  \R*                  \R,                  \R.                  \R0                  \R2                  \R4                  \R6                  \R8                  \R:                  \R<                  \R>                  \R@                  0r!\! V Vs/ s H  oR                   PM     snn r"\#S	S j5       r$\%RL                  RO                  S\!RQ                  5       \"S9S 5       r)S r*Sr+gs  snn f )
TestSignatureMatch.   c                 P   / n[         R                  " U 5      nUR                  R                  5        H[  nUR                  [         R
                  R                  L a  UR                  U5        M=  UR                  UR                  US95        M]     [         R                  " U5      $ )z?Construct a signature and replace all default parameter-values.)default)
inspect	signature
parametersvaluesr#   	Parameteremptyappendreplace	Signature)funcr#   prm_listr%   prms        c/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/numpy/lib/tests/test_nanfunctions.pyget_signature TestSignatureMatch.get_signatureA   s     %%d+	''..0C{{g//555$G <=	 1
   **    znan_func,funcidsc                     U R                  U5      nU R                  U5      n[        R                  R                  X45        g N)r1   nptestingr   )selfnan_funcr-   r%   nan_signatures        r0   test_signature_match'TestSignatureMatch.test_signature_matchM   s6    
 &&t,	**84


	9r3   c                     [         R                  R                  [        U R                  5      [        [         R
                  R                  R                  5      5        g)z4Validate that all nan functions are actually tested.N)r8   r9   r   setIDSlib_nanfunctions_impl__all__r:   s    r0   test_exhaustiveness&TestSignatureMatch.test_exhaustivenessV   s6    


M3rvv88@@A	
r3    N)z...),__name__
__module____qualname____firstlineno__r8   nanminaminnanmaxamax	nanargminargmin	nanargmaxargmaxnansumsumnanprodprod	nancumsumcumsum
nancumprodcumprodnanmeanmean	nanmedianmediannanpercentile
percentilenanquantilequantilenanvarvarnanstdstdNANFUNCSrA   staticmethodr1   pytestmarkparametrizeitemsr=   rF   __static_attributes__).0ks   00r0   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            
          \ rS rSr\R
                  \R                  /r\R                  \R                  /r
S rS rS rS rS r\R"                  R%                  S/ SQ5      \R"                  R%                  S	\R&                  S
   5      \R"                  R%                  S\R(                  " \R*                  5      \R,                  " S\R*                  5      /SS/S9S 5       5       5       rS rS rS rS r\R"                  R%                  S	\R&                  S
   5      S 5       r\R"                  R%                  S	\R&                  S
   5      S 5       rSrg)TestNanFunctions_MinMax]   c                     [         R                  5       nU R                   H  nU" U5        [        U[         5        M     g r7   _ndatcopynanfuncsr   r:   ndatfs      r0   test_mutation%TestNanFunctions_MinMax.test_mutationb   ,    zz|AdGu% r3   c                     [         R                  " S5      n[        U R                  U R                  5       H>  u  p#S H3  nU" XSS9nU" XSS9n[        UR                  UR                  :H  5        M5     M@     g N   Nr      Taxiskeepdimsr8   eyezipry   stdfuncsr	   ndimr:   matnfrfr   tgtress          r0   test_keepdims%TestNanFunctions_MinMax.test_keepdimsi   a    ffQi$--7FB$$7$7CHH,- % 8r3   c                     [         R                  " S5      n[        U R                  U R                  5       H@  u  p#[         R
                  " S5      nU" USS9nU" USUS9n[        Xd5        [        Xe5        MB     g Nr   r   r   r   outr8   r   r   ry   r   zerosr
   r:   r   r   r   resoutr   r   s          r0   test_out TestNanFunctions_MinMax.test_outq   `    ffQi$--7FBXXa[FSq/CSqf-C,) 8r3   c                    Sn[        U R                  U R                  5       H  u  p#U H  n[        R                  " SUS9nU" USS9R
                  R                  nU" USS9R
                  R                  n[        XvL 5        U" US S9R
                  R                  nU" US S9R
                  R                  n[        XvL 5        M     M     g )NefdgFDGr   dtyper   r   r   ry   r   r8   r   r   typer	   r:   codesr   r   cr   r   r   s           r0   test_dtype_from_input-TestNanFunctions_MinMax.test_dtype_from_inputz   s    $--7FBffQa(1o++001o++00
#4(..334(..33
#  8r3   c                     [        U R                  U R                  5       H6  u  p[         Vs/ s H
  o2" U5      PM     nnU" [        SS9n[        XT5        M8     g s  snf Nr   r   r   ry   r   _rdatrw   r
   r:   r   r   dr   r   s         r0   test_result_values*TestNanFunctions_MinMax.test_result_values   L    $--7FB"'(%Q2a5%C(U#C) 8(   Ar   r   r   AllFloatarrayr   r   0d2dr4   c                    Ub&  UR                   S:X  a  [        R                  " S5        UR                  U5      nSnU R                   Hr  n[        R
                  " [        US9   U" X1S9nS S S 5        [        R                  " W5      R                  5       (       d   eUR                  UR                  :X  a  Mr   e   g ! , (       d  f       NZ= fNr   *`axis != None` not supported for 0d arraysAll-NaN slice encounteredmatchr   )r   rk   skipastypery   warnsRuntimeWarningr8   isnanallr   r:   r   r   r   r   r-   r   s          r0   test_allnans$TestNanFunctions_MinMax.test_allnans   s     

aKKDEU#+MMDnE:5, ;88C=$$&&&&99+++	 "::s   %C  
C	c                 x   [         R                  R                  [        5      nUR                  R                  5       n[         R                  4 Hh  nU" USS9nU" [        SS9n[        XE5        [        UR                  U5        [        [         R                  " U5      R                  5       (       + 5        Mj     g r   )r8   mafix_invalidrw   _maskrx   rM   r   r	   isinfany)r:   r   mskr|   r   r   s         r0   test_masked#TestNanFunctions_MinMax.test_masked   s    ee&iinn))ACa.CE"C"C())++, r3   c                 R    U R                    H  n[        U" S5      S:H  5        M     g Nr   ry   r	   r:   r|   s     r0   test_scalar#TestNanFunctions_MinMax.test_scalar        AAbERK  r3   c           	          " S S[         R                  5      n[         R                  " S5      R                  U5      nU R                   H  nU" USS9n[        [        XA5      5        [        UR                  S:H  5        U" USS9n[        [        XA5      5        [        UR                  S:H  5        U" U5      n[        UR                  S:H  5        M     [         R                  US'   U R                   GH  n[        R                  " S	S
9 n[        R                  " S5        U" USS9n[        [        XA5      5        [        [         R                  " [         R                  " U5      5      (       + 5        [        [        U5      S:H  5        S S S 5        [        R                  " S	S
9 n[        R                  " S5        U" USS9n[        [        XA5      5        [        [         R                  " US   5      =(       aC    [         R                  " US   5      (       + =(       a    [         R                  " US   5      (       + 5        [        [        U5      S:H  S5        [        [        US   R                   ["        5      5        S S S 5        [        R                  " S	S
9 n[        R                  " S5        U" U5      n[        UR                  S:H  5        [        U[         R                  :g  5        [        [        U5      S:H  5        S S S 5        GM"     g ! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       GMX  = f)Nc                       \ rS rSrSrg)8TestNanFunctions_MinMax.test_subclass.<locals>.MyNDArray   rH   NrI   rJ   rK   rL   ro   rH   r3   r0   	MyNDArrayr          r3   r   r   r   r   r   r   rH   Trecordalways   no warning raised)r8   ndarrayr   viewry   r	   
isinstanceshapenanwarningscatch_warningssimplefilterr   r   len
issubclasscategoryr   )r:   r   miner|   r   ws         r0   test_subclass%TestNanFunctions_MinMax.test_subclass   sN   	

 	
 vvay~~i(ADq/CJs./CII%&Dq/CJs./CII%&D'CCIIO$  &&QA((5%%h/1o
323BFF288C=112A!$ 6 ((5%%h/1o
323Q( 1#a&1A-A 1 "Q 002A!%89
1Q4==.AB 6 ((5%%h/g		R(rvv&A!$ 65# 55 65 65s'   BL,CL.$A*L?
L+	.
L<	?
M	c           
         [         R                  " SS/[         R                  S/[         R                  [         R                  //[        S9n[	        [         R
                  " U5      S5        [	        [         R
                  " USS9SS/5        [        R                  " SS9 n[        R                  " S	5        [	        [        [         R
                  " US
S95      SS[         R                  /5        [        [        U5      S
:H  S5        [        [        US   R                  [        5      5        S S S 5        g ! , (       d  f       g = f)Nr          @      @r   r   r   Tr   r   r   r   )r8   r   r   objectr   rM   r   r   r   listr	   r   r   r   r   )r:   arrr   s      r0   test_object_array)TestNanFunctions_MinMax.test_object_array   s    hhc
RVVSMBFFBFF3CDFSRYYs^S)RYYs+c3Z8$$D1Q!!(+bii!45S"&&7IJCFaK!45Jqt}}n=> 211s   "BD99
Ec                     " S S[         R                  5      n[         R                  " S5      R                  U5      n[         R                  US S& U R
                   Hh  nU[         R                  L a  SOSnU" X5S9nUR                  U:X  d   eXe:X  d   eU" UR                  U5      US9nUR                  U:X  d   eXu:X  a  Mh   e   g )Nc                       \ rS rSrSrg)7TestNanFunctions_MinMax.test_initial.<locals>.MyNDArray   rH   Nr   rH   r3   r0   r   r     r   r3   r   	      d   r   initial)	r8   r   aranger   r   ry   rO   r   r   )r:   r   r   arr|   r  ret1ret2s           r0   test_initial$TestNanFunctions_MinMax.test_initial   s    	

 	 YYq\  '2AA"))^cGR)D::&&&?"?RWWY'9D::&&&?"? r3   c                     " S S[         R                  5      n[         R                  " S5      R                  SS5      R	                  U5      n[         R
                  USS S 24'   [         R                  " U[         R                  S9nSUS S 2S4'   U R                   Hj  nU[         R                  L a  SOS	nU" X4S
S9nUR                  U:X  d   eXv:X  d   eU" UR                  U5      US
S9nUR                  U:X  d   eX:X  a  Mj   e   g )Nc                       \ rS rSrSrg)5TestNanFunctions_MinMax.test_where.<locals>.MyNDArray   rH   Nr   rH   r3   r0   r   r     r   r3   r   r  r   r   r   F      r  wherer  )r8   r   r  reshaper   r   	ones_likeboolry   rM   r   r   )	r:   r   r   r	  r  r|   	referencer
  r  s	            r0   
test_where"TestNanFunctions_MinMax.test_where   s    	

 	 YYq\!!!Q'..u5661a4Rrww/adA"))^IRa0D::&&&$$$RWWY'ua@D::&&&$$$ r3   rH   N)rI   rJ   rK   rL   r8   rM   rO   ry   minmaxr   r}   r   r   r   r   rk   rl   rm   	typecodesr   r   fullr   r   r   r   r   r  r  ro   rH   r3   r0   rs   rs   ]   sH   		299%HH&.*$* [[V\2[[Wbll:&>?[[W

' $<  
,	 @ 3
,-!)%V
? [[Wbll:&>?# @#$ [[Wbll:&>?% @%r3   rs   c            
       l   \ rS rSr\R
                  \R                  /rS rS r	\
R                  R                  S/ SQ5      \
R                  R                  S\R                  S   5      \
R                  R                  S\R                  " \R                  5      \R                   " S	\R                  5      /S
S/S9S 5       5       5       rS rS rS r\
R                  R                  S\R                  S   5      S 5       r\
R                  R                  S\R                  S   5      S 5       rSrg)TestNanFunctions_ArgminArgmaxi  c                     [         R                  5       nU R                   H  nU" U5        [        U[         5        M     g r7   rv   rz   s      r0   r}   +TestNanFunctions_ArgminArgmax.test_mutation  r   r3   c                 B   [        U R                  [        R                  [        R                  /5       H  u  p[
         H  n[        R                  " 5          [        R                  " SS[        5        U" U5      nX4   n[        [        R                  " U5      (       + 5        [        U" XS5      R                  5       (       + 5        [        [        R                  " XSS U 5      R                  5       (       + 5        S S S 5        M     M     g ! , (       d  f       M  = f)Nignorezinvalid value encountered in)r   ry   r8   greaterlessrw   r   r   filterwarningsr   r	   r   r   equal)r:   r|   fcmprowindvals         r0   r   0TestNanFunctions_ArgminArgmax.test_result_values  s    4==2::rww*?@GA,,.++ "@.RC&C(C -.S 2 2 445$3i 8 < < >>? /.  A..s   B&D
Dr   r   r   r   r   r   r   r   r4   c                    Ub&  UR                   S:X  a  [        R                  " S5        UR                  U5      nU R                   H+  n[        R
                  " [        SS9   U" X1S9  S S S 5        M-     g ! , (       d  f       M?  = fr   )r   rk   r   r   ry   raises
ValueError)r:   r   r   r   r-   s        r0   r   *TestNanFunctions_ArgminArgmax.test_allnans&  sd     

aKKDEU#MMDz1LMU& NM "MMs   #A77
B	c           
          [         R                  " S5      nU R                   HK  nS H  n[        [        SX!US9  M     S H)  nU" XS9n[        U[         R                  " S5      5        M+     MM     g )Nr   r   r   Nz*attempt to get argm.. of an empty sequencer   r   r   )r8   r   ry   r   r1  r   )r:   r   r|   r   r   s        r0   
test_empty(TestNanFunctions_ArgminArgmax.test_empty5  sc    hhvA!#"DT+ "
 'S"((1+.  r3   c                 R    U R                    H  n[        U" S5      S:H  5        M     g r   r   r   s     r0   r   )TestNanFunctions_ArgminArgmax.test_scalarA  r   r3   c                     " S S[         R                  5      n[         R                  " S5      R                  U5      nU R                   H  nU" USS9n[        [        XA5      5        [        UR                  S:H  5        U" USS9n[        [        XA5      5        [        UR                  S:H  5        U" U5      n[        UR                  S:H  5        M     g )	Nc                       \ rS rSrSrg)>TestNanFunctions_ArgminArgmax.test_subclass.<locals>.MyNDArrayiF  rH   Nr   rH   r3   r0   r   r=  F  r   r3   r   r   r   r   r   r   rH   )r8   r   r   r   ry   r	   r   r   )r:   r   r   r|   r   s        r0   r   +TestNanFunctions_ArgminArgmax.test_subclassE  s    	

 	
 vvay~~i(ADq/CJs./CII%&Dq/CJs./CII%&D'CCIIO$ r3   c                    [         R                  " S5      R                  U5      n[         R                  US S& U R                   HD  nU[         R
                  L a  SOSnU" USS9nUR                  UR                  :X  d   eXT:X  a  MD   e   g )Nr  r  r  T)r   )r8   r  r   r   ry   rQ   r   r:   r   r	  r|   r  rets         r0   r   +TestNanFunctions_ArgminArgmax.test_keepdimsV  sw    YYq\  '2AA",,.AIB&C88rww&&&###	 r3   c                 4   [         R                  " S5      R                  U5      n[         R                  US S& U R                   HP  n[         R
                  " S[         R                  S9nU[         R                  L a  SOSnU" X$S9nXdL d   eXe:X  a  MP   e   g )Nr  r  rH   r   r  r   )r8   r  r   r   ry   r   intprQ   )r:   r   r	  r|   r   r  rA  s          r0   r   &TestNanFunctions_ArgminArgmax.test_outa  s|    YYq\  '2AA((2RWW-C",,.AIB.C::### r3   rH   N)rI   rJ   rK   rL   r8   rQ   rS   ry   r}   r   rk   rl   rm   r  r   r   r  r   r7  r   r   r   r   ro   rH   r3   r0   r!  r!    s"   bll+H&@ [[V\2[[Wbll:&>?[[W

' $<  '	 @ 3'
/!%" [[Wbll:&>?$ @$ [[Wbll:&>?	$ @	$r3   r!  r  )   '   rt   W   r!   )r   1dF)writer   
AllIntegerr   Or   r4   c                      \ rS rSr\R
                  \R                  \R                  \R                  \R                  \R                  \R                  \R                  \R                  \R                  \R                  \R                   \R"                  \R$                  \R&                  \R(                  \R*                  \R,                  \R.                  \R0                  \R2                  \R4                  \R6                  \R8                  0r\ V Vs/ s H  oR                   PM     snn r\R@                  RC                  S\RE                  5       \S9\RF                  " SS9S 5       5       r$\R@                  RC                  S\RJ                  \RL                  4\RN                  \RP                  4/SS/S9S	 5       r)\R@                  RC                  S\R2                  \R4                  4\R6                  \R8                  4/S
S/S9S 5       r*\R@                  RC                  S\R2                  \R6                  /5      S 5       r+Sr,gs  snn f )TestNanFunctions_NumberTypesiv  znanfunc,funcr4   r%  )overc                     UR                  U5      nU" U5      nU" U5      n[        Xe5        US:X  a  [        U5      [        U5      L d   eg UR                  UR                  :X  d   eg )NrM  r   r
   r   r   r:   r   r   nanfuncr-   r   r   s          r0   test_nanfunc)TestNanFunctions_NumberTypes.test_nanfunc  s_     jj3iclC%C<9S	)))99		)))r3   rc   ra   c                 B   UR                  U5      nUR                  R                  S:X  a  [        [        XASS9  [        [        X1SS9  g U" USS9nU" USS9n[        Xe5        US:X  a  [        U5      [        U5      L d   eg UR                  UR                  :X  d   eg )Nr   r   )qrM  )r   r   kindr   	TypeErrorr
   r   rS  s          r0   test_nanfunc_q+TestNanFunctions_NumberTypes.test_nanfunc_q  s     jj99>>S )T!4)WQ7 sa.C##C)|CyDI---yyCII---r3   re   rg   c                     UR                  U5      nU" USS9nU" USS9n[        Xe5        US:X  a  [        U5      [        U5      L d   eg UR                  UR                  :X  d   eg )N      ?ddofrM  rR  rS  s          r0   test_nanfunc_ddof.TestNanFunctions_NumberTypes.test_nanfunc_ddof  se     jj3S!c$C%C<9S	)))99		)))r3   rT  c                    UR                  U5      n[        U" USS9U" USS95        Sn[        [        U5         U" USSS9  S S S 5        [        [        U5         U" USSS9  S S S 5        g ! , (       d  f       N0= f! , (       d  f       g = f)Nr^  )
correctionr_  z5ddof and correction can't be provided simultaneously.)r`  rd  r   r   )r   r
   r   r1  )r:   r   r   rT  err_msgs        r0   test_nanfunc_correction4TestNanFunctions_NumberTypes.test_nanfunc_correction  s     jjCC('#C*@	
 J W5Ccc2 6 !W5CaA. 65 65 65s   	A-	A>-
A;>
BrH   N)-rI   rJ   rK   rL   r8   rM   r  rO   r  rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   re   rf   rg   rh   ry   nanfunc_idsrk   rl   rm   rn   errstaterU  rc   rd   ra   rb   r[  ra  rf  ro   )rp   is   00r0   rO  rO  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rO  c                   J    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rSrg)SharedNanFunctionsTestsMixini  c                     [         R                  5       nU R                   H  nU" U5        [        U[         5        M     g r7   rv   rz   s      r0   r}   *SharedNanFunctionsTestsMixin.test_mutation  r   r3   c                     [         R                  " S5      n[        U R                  U R                  5       H>  u  p#S H3  nU" XSS9nU" XSS9n[        UR                  UR                  :H  5        M5     M@     g r   r   r   s          r0   r   *SharedNanFunctionsTestsMixin.test_keepdims  r   r3   c                     [         R                  " S5      n[        U R                  U R                  5       H@  u  p#[         R
                  " S5      nU" USS9nU" USUS9n[        Xd5        [        Xe5        MB     g r   r   r   s          r0   r   %SharedNanFunctionsTestsMixin.test_out  r   r3   c           	      <   [         R                  " S5      nSn[        U R                  U R                  5       GHL  u  p4U GH?  n[
        R                  " 5          U[         R                  [         R                  1;   a!  US;   a  [
        R                  " S[        5        U" U[         R                  " U5      SS9R                  R                  nU" U[         R                  " U5      SS9R                  R                  n[        XvL 5        U" U[         R                  " U5      S S9R                  R                  nU" U[         R                  " U5      S S9R                  R                  n[        XvL 5        S S S 5        GMB     GMO     g ! , (       d  f       GMZ  = fNr   r   FDGr%  r   )r   r   r8   r   r   ry   r   r   r   rg   re   r   r   r   r   r	   r:   r   r   r   r   r   r   r   s           r0   test_dtype_from_dtype2SharedNanFunctionsTestsMixin.test_dtype_from_dtype  s   ffQi$--7FB,,.bii33U
 --hG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           	         [         R                  " S5      nSn[        U R                  U R                  5       H  u  p4U H  n[
        R                  " 5          U[         R                  [         R                  1;   a!  US;   a  [
        R                  " S[        5        U" XSS9R                  R                  nU" XSS9R                  R                  n[        XvL 5        U" XS S9R                  R                  nU" XS S9R                  R                  n[        XvL 5        S S S 5        M     M     g ! , (       d  f       GM  = frt  rv  rw  s           r0   test_dtype_from_char1SharedNanFunctionsTestsMixin.test_dtype_from_char  s    ffQi$--7FB,,.bii33U
 --hGS288==CS288==CCJ'S5;;@@CS5;;@@CCJ' /.  8..s   C
D33
Ec           	         Sn[        U R                  U R                  5       H  u  p#U H  n[        R                  " SUS9nU" USS9R
                  R                  nU" USS9R
                  R                  n[        XvL SU SU 35        U" US S9R
                  R                  nU" US S9R
                  R                  n[        XvL 5        M     M     g )Nr   r   r   r   r   zres z, tgt r   r   s           r0   r   2SharedNanFunctionsTestsMixin.test_dtype_from_input  s    $--7FBffQa(1o++001o++00
d3%vcU$;<4(..334(..33
#  8r3   c                     [        U R                  U R                  5       H6  u  p[         Vs/ s H
  o2" U5      PM     nnU" [        SS9n[        XT5        M8     g s  snf r   r   r   s         r0   r   /SharedNanFunctionsTestsMixin.test_result_values  r   r   c                 R    U R                    H  n[        U" S5      S:H  5        M     g r   r   r   s     r0   r   (SharedNanFunctionsTestsMixin.test_scalar  r   r3   c                 F    " S S[         R                  5      n[         R                  " S5      nUR                  U5      nU R                   H  nU" USS9R
                  nU" USS9n[        [        Xa5      5        [        UR
                  U:H  5        U" USS9R
                  nU" USS9n[        [        Xa5      5        [        UR
                  U:H  5        U" U5      R
                  nU" U5      n[        [        Xa5      5        [        UR
                  U:H  5        M     g )Nc                       \ rS rSrSrg)=SharedNanFunctionsTestsMixin.test_subclass.<locals>.MyNDArrayi#  rH   Nr   rH   r3   r0   r   r  #  r   r3   r   r   r   r   r   )r8   r   r   r   ry   r   r	   r   )r:   r   r   r   r|   expected_shaper   s          r0   r   *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 r3   rH   N)rI   rJ   rK   rL   r}   r   r   rx  r{  r   r   r   r   ro   rH   r3   r0   rl  rl    s/    &.*("("$*!1r3   rl  c            
          \ rS rSr\R
                  \R                  /r\R                  \R                  /r
\R                  R                  S/ SQ5      \R                  R                  S\R                  S   5      \R                  R                  S\R                  " \R                   5      \R"                  " S\R                   5      /SS	/S
9S 5       5       5       rS r\R                  R                  S\R                  S   5      S 5       r\R                  R                  S\R                  S   5      S 5       rSrg)TestNanFunctions_SumProdi9  r   r   r   r   r   r   r   r   r4   c                 <   Ub&  UR                   S:X  a  [        R                  " S5        UR                  U5      n[	        U R
                  SS/5       HF  u  pEU" X1S9n[        R                  " Xe:H  5      (       d   eUR                  UR                  :X  a  MF   e   g )Nr   r   r   r   	r   rk   r   r   r   ry   r8   r   r   r:   r   r   r   r-   identityr   s          r0   r   %TestNanFunctions_SumProd.test_allnans>  s     

aKKDEU#!$--!Q8NDu(C66#/****99+++ 9r3   c                    [        [        R                  [        R                  /SS/5       H[  u  p[        R                  " S5      nU/S-  nU" USS9n[        XT5        / nU" USS9n[        XT5        UnU" US S9n[        XT5        M]     g )Nr   r   r4  r   r   )r   r8   rU   rW   r   r   r:   r|   	tgt_valuer   r   r   s         r0   r7  #TestNanFunctions_SumProd.test_emptyN  s    BJJ 7!Q@LA((6"C+/CCa.C"CCa.C"CCd#C" Ar3   c                    [         R                  " S5      R                  U5      n[         R                  US S& U R                   H:  nU[         R
                  L a  SOSnU" USS9nUR                  U:X  d   eXT:X  a  M:   e   g )Nr  r     i   r   r  )r8   r  r   r   ry   rU   r   r@  s         r0   r  %TestNanFunctions_SumProd.test_initial[  sr    YYq\  '2AA299n$IB"C99%%%###	 r3   c                    [         R                  " S5      R                  SS5      R                  U5      n[         R                  USS S 24'   [         R
                  " U[         R                  S9nSUS S 2S4'   U R                   H:  nU[         R                  L a  SOSnU" X#SS	9nUR                  U:X  d   eXe:X  a  M:   e   g )
Nr  r   r   r   F   i  r   r  )
r8   r  r  r   r   r  r  ry   rU   r   )r:   r   r	  r  r|   r  rA  s          r0   r  #TestNanFunctions_SumProd.test_wheref  s    YYq\!!!Q'..u5661a4Rrww/adA299n$IBQ/C99%%%###	 r3   rH   N)rI   rJ   rK   rL   r8   rU   rW   ry   rV   rX   r   rk   rl   rm   r  r   r   r  r   r7  r  r  ro   rH   r3   r0   r  r  9  s   		2::&H H[[V\2[[Wbll:&>?[[W

' $<  ,	 @ 3,# [[Wbll:&>?$ @$ [[Wbll:&>?
$ @
$r3   r  c            
          \ rS rSr\R
                  \R                  /r\R                  \R                  /r
\R                  R                  S/ SQ5      \R                  R                  S\R                  S   5      \R                  R                  S\R                  " \R                   5      \R"                  " S\R                   5      /SS	/S
9S 5       5       5       rS rS rS rS rSrg)TestNanFunctions_CumSumProdit  r   r   r   r   r   r   r   r   r4   c                 @   Ub&  UR                   S:X  a  [        R                  " S5        UR                  U5      n[	        U R
                  SS/5       HH  u  pEU" U5      n[        R                  " Xe:H  5      (       d   eUR                  UR                  :X  a  MH   e   g )Nr   r   r   r  r  s          r0   r   (TestNanFunctions_CumSumProd.test_allnansy  s     

aKKDEU#!$--!Q8NDu+C66#/****99+++ 9r3   c                 @   [        U R                  SS/5       H  u  p[        R                  " S5      nU[        R                  " S5      -  nU" USS9n[        XT5        UnU" USS9n[        XT5        [        R                  " S5      nU" US S9n[        XT5        M     g )Nr   r   r4  r   )r   ry   r8   r   onesr   r  s         r0   r7  &TestNanFunctions_CumSumProd.test_empty  s    1v6LA((6"Cbggfo-CCa.C"CCa.C"((1+CCd#C" 7r3   c                    [        U R                  U R                  5       HT  u  p[        R                  " S5      nS H3  nU" X4S S9nU" X4S S9n[        UR                  UR                  :H  5        M5     MV     U R                   H  n[        R                  " S5      n[        R                  R                  S5      n[        R                  XxR                  " UR                  6 S:  '   U" US S9n[        UR                  S5        [        R                  " S	5       H  nU" XtS9n[        UR                  S5        M!     M     g )
Nr   r   r   r   r        r   r^  r   )i  r  )r   ry   r   r8   r   r	   r   r  randomRandomStater   randr   r   r  )	r:   r|   gr   r   r   r   r   rss	            r0   r   )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 % r3   c                 
   S H}  n[         R                  " [        US9n[         R                  " [        US9n[        X25        [         R                  " [        US9n[         R                  " [        US9n[        X25        M     g )N)r   r   Nr   )	r8   r\   
_ndat_onesr[   rw   r
   rZ   _ndat_zerosrY   )r:   r   r   r   s       r0   r   .TestNanFunctions_CumSumProd.test_result_values  s\    (D**Zd3C--D1C)))Kd3C,,u40C) )r3   c                    [         R                  " S5      n[        U R                  U R                  5       HG  u  p#[         R                  " S5      nS H&  nU" XS9nU" XUS9n[        Xt5        [        Xv5        M(     MI     g )Nr   )r  r  r   r   r   r   )r8   r   r   ry   r   r
   )r:   r   r   r   r   r   r   r   s           r0   r   $TestNanFunctions_CumSumProd.test_out  sg    ffQi$--7FBVVAYF&(V4#C0#C-	 ' 8r3   rH   N)rI   rJ   rK   rL   r8   rY   r[   ry   rZ   r\   r   rk   rl   rm   r  r   r   r  r   r7  r   r   r   ro   rH   r3   r0   r  r  t  s    bmm,H		2::&H[[V\2[[Wbll:&>?[[W

' $<  ,	 @ 3,#7&*.r3   r  c            
       p   \ rS rSr\R
                  \R                  \R                  /r\R                  \R                  \R                  /rS rS rS rS r\R$                  R'                  S/ SQ5      \R$                  R'                  S\R(                  S	   5      \R$                  R'                  S
\R*                  " \R,                  5      \R.                  " S\R,                  5      /SS/S9S 5       5       5       rS r\R$                  R'                  S\R(                  S	   5      S 5       rS rSrg)TestNanFunctions_MeanVarStdi  c           
          U R                    HN  n[        R                  [        R                  [        R                  4 H  n[        [        U[        SUS9  M     MP     g )Nr   )r   r   )ry   r8   r  int_object_r   rZ  rw   )r:   r|   r   s      r0   test_dtype_error,TestNanFunctions_MeanVarStd.test_dtype_error  s=    A''277BJJ7iEG 8 r3   c           
         U R                    Ht  n[        R                  [        R                  [        R                  4 H>  n[        R
                  " [        R                  S   US9n[        [        U[        SUS9  M@     Mv     g )Nr   r   r   r   )
ry   r8   r  r  r  r)   rw   r   r   rZ  )r:   r|   r   r   s       r0   test_out_dtype_error0TestNanFunctions_MeanVarStd.test_out_dtype_error  sU    A''277BJJ7hhu{{1~U;iEsC 8 r3   c           
      (   [         R                  [         R                  /n[         R                  [         R                  /n[        X5       H>  u  p4S H3  n[         Vs/ s H  od" XeS9PM
     nnU" [        SUS9n[        X5        M5     M@     g s  snf )Nr   r   r_  r   r   r`  )	r8   re   rg   rf   rh   r   r   rw   r
   )	r:   ry   r   r   r   r`  r   r   r   s	            r0   	test_ddof%TestNanFunctions_MeanVarStd.test_ddof  ss    IIryy)FFBFF#(-FB167Ar!'7QT2#C-  .7s   Bc           	         [         R                  [         R                  /n[         R                  [         R                  /n[
         Vs/ s H  n[        U5      PM     nn[        X5       H  u  pV[        S5       H  n[        R                  " SS9 n[        R                  " S5        [        R                  " S[        5        U Vs/ s H  o7U:  PM	     n	nU" [        SUS9n
[        [         R                  " U
5      U	5        S S S 5        [!        W	5      (       a  [#        [        W5      S:H  5        M  [#        [        W5      S:H  5        M     M     g s  snf s  snf ! , (       d  f       Na= f)	Nr  Tr   r   r%  r   r  r   )r8   re   rg   rf   rh   r   r   r   ranger   r   r   r   rw   r   r   r   r	   )r:   ry   r   r   dsizer   r   r`  r   r   r   s              r0   test_ddof_too_big-TestNanFunctions_MeanVarStd.test_ddof_too_big  s   IIryy)FFBFF#!&'AQ'(-FBa,,D9Q))(3))(NC.34e19eC4U6C #4 : s88CFaK(CFaK( ! . ( 5 :9s$   	E6EE
.EE
E-r   r   r   r   r   r   r   r   r4   c                 ,   Ub&  UR                   S:X  a  [        R                  " S5        UR                  U5      nSnU R                   H  n[        R
                  " [        US9   U" X1S9nS S S 5        [        R                  " W5      R                  5       (       d   eU[        R                  L a  UR                  UR                  :X  d   eM  UR                  [        R                  " U5      R                  :X  a  M   e   g ! , (       d  f       N= f)Nr   r   z:(Degrees of freedom <= 0 for slice.)|(Mean of empty slice)r   r   )r   rk   r   r   ry   r   r   r8   r   r   r]   r   absr   s          r0   r   (TestNanFunctions_MeanVarStd.test_allnans  s     

aKKDEU#LMMDnE:5, ;88C=$$&&&& rzz!yyEKK///yyBFF5M$7$7777 "::s   %D
D	c                    [         R                  " S5      nU R                   GH%  nS H  n[        R                  " SS9 n[        R
                  " S5        [        [         R                  " U" XS95      R                  5       5        [        [        U5      S:H  5        [        [        US   R                  [        5      5        S S S 5        M     S	 Hq  n[        R                  " SS9 n[        R
                  " S5        [        U" XS9[         R                  " / 5      5        [        [        U5      S:H  5        S S S 5        Ms     GM(     g ! , (       d  f       GM5  = f! , (       d  f       M  = f
Nr4  r5  Tr   r   r   r   r   r6  )r8   r   ry   r   r   r   r	   r   r   r   r   r   r   r   )r:   r   r|   r   r   s        r0   r7  &TestNanFunctions_MeanVarStd.test_empty  s    hhvA!,,D9Q))(3BHHQs%67;;=>CFaK(Jqt}}nEF	 :9 " ,,D9Q))(3 3!2BHHRLACFaK( :9  99 :9s    BE*AE!
E!
E0c                 $   [         R                  " S5      R                  SS5      R                  U5      n[         R                  USS S 24'   [         R
                  " U[         R                  S9nSUS S 2S4'   [        U R                  U R                  5       Ht  u  pEU" X#   SS  5      nU[         R                  L a  UOUR                  R                  nU" X#S9nUR                  U:X  d   e[         R                  R                  X5        Mv     g )Nr  r   r   r   Fr   )r  )r8   r  r  r   r   r  r  r   ry   r   r]   realr   r9   assert_allclose)	r:   r   r	  r  r|   f_stdr  dtype_referencerA  s	            r0   r  &TestNanFunctions_MeanVarStd.test_where  s    YYq\!!!Q'..u5661a4Rrww/adDMM4==9HAbim,I'(BJJeBGGMMOB$C99///JJ&&s6 :r3   c                 F   [         R                  R                  S5      nUR                  SSS5      S-   n[         R                  US S 2SS S 24'   [         R
                  " S5      n[         R
                  " S5      n[         R                  " UUSSS	9nX5L d   e[         R                  " UUSSUS
9nXFL d   eUR                  UR                  :X  d   eUR                  S:X  d   e[         R                  " USSS9nUR                  UR                  :X  d   e[        Xg5        g )Ni  
      r  r^  )r  r   r  r   T)r   r   r   )r   r   r   r^   r   )
r8   r  r  randnr   r   r]   rg   r   r
   )r:   rngAmean_outstd_outr^   rh   std_olds           r0   test_nanstd_with_mean_keyword9TestNanFunctions_MeanVarStd.test_nanstd_with_mean_keyword  s   ii##D)IIb"a 3&VV!Q'
88J'((:&zz!# $& ii "	  ~~ yyDJJ&&&yyJ&&& ))AA5}}

***C)r3   rH   N)rI   rJ   rK   rL   r8   r]   re   rg   ry   r^   rf   rh   r   r  r  r  r  rk   rl   rm   r  r   r   r  r   r7  r  r  ro   rH   r3   r0   r  r    s   

BIIryy1H(HH
D.)" [[V\2[[Wbll:&>?[[W

' $<  8	 @ 38$) [[Wbll:&>?7 @7"*r3   r  )YMWDhmsmsusnspsfsaszm8[]c                   P   \ rS rSrS rS r\R                  R                  S/ SQS9\R                  R                  S5      S 5       5       r
S	 rS
 rS r\R                  R                  S/ SQ5      \R                  R                  S\5      S 5       5       rS rS rS rS rSrg)TestNanFunctions_MedianiK  c                 x    [         R                  5       n[        R                  " U5        [	        U[         5        g r7   )rw   rx   r8   r_   r   r:   r{   s     r0   r}   %TestNanFunctions_Median.test_mutationM  s#    zz|
TT5!r3   c                    [         R                  " S5      nS HQ  n[         R                  " XS SS9n[         R                  " XS SS9n[	        UR
                  UR
                  :H  5        MS     [         R                  " S5      n[         R                  R                  S5      [         R                  " UR                  5      S S 2S 4   -  nUR                  [         R                  5      n[         R                  U[        U5      '   [        R                  " 5          [        R                   " S["        5        [         R                  " US SS	9n[%        UR                  S
5        [         R                  " USSS	9n[%        UR                  S5        [         R                  " USSS	9n[%        UR                  S5        [         R                  " USSS	9n[%        UR                  S5        [         R                  " USSS	9n[%        UR                  S
5        [         R                  " USSS	9n[%        UR                  S5        S S S 5        g ! , (       d  f       g = f)Nr   r   Fr   r   overwrite_inputr  r     r%  Tr   r   r   r   r   r  r   r   r  r  r4  r   r  r  r   r6  r   r   r  r  r   r   r   r   r   r   r   r   r   r  r   )r8   r   r`   r_   r	   r   r  r  r   r   r   rE  r   tupler   r   r   r   r   r:   r   r   r   r   r   r   s          r0   r   %TestNanFunctions_Median.test_keepdimsS  s   ffQi D))CeLC,,s4OCCHH() !
 GGM"IIX&!''):1d7)CCHHRWWff%($$&!!(N;,,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   D$I
Ir   Nr   r6  r  )r  argnames	argvalues#ignore:All-NaN slice:RuntimeWarningc                 n  ^^ [         R                  " S5      m[         R                  R                  S5      [         R                  " TR                  5      S S 2S 4   -  nUR                  [         R                  5      n[         R                  T[        U5      '   Uc  STR                  -  nO?[        UTR                  5      m[        UU4S j[        TR                  5       5       5      n[         R                  " U5      n[         R                  " TUSUS9nXTL d   e[        UR                  U5        g )Nr  r  r6  c              3   P   >#    U  H  oT;   a  S OTR                   U   v   M     g7fr   Nr   rp   rj  	axis_normr   s     r0   	<genexpr><TestNanFunctions_Median.test_keepdims_out.<locals>.<genexpr>  &      L=J)^3]   #&Tr   r   r   )r8   r  r  r   r   r   rE  r   r  r   r   r  r)   r_   r   )r:   r   r   	shape_outr   resultr
  r   s         @@r0   test_keepdims_out)TestNanFunctions_Median.test_keepdims_outn  s     GGM"IIX&!''):1d7)CCHHRWWff%(<qvvI,T166:I L=B166]L LIhhy!adTsC}}V\\9-r3   c                 F   [         R                  R                  SS5      n[         R                  " USS/[         R                  SS9n[         R
                  " S5      n[         R                  " USS9n[         R                  " USUS9n[        XS5        [        XT5        [         R
                  " S5      n[         R                  " US S9n[         R                  " US US9n[        XS5        [        XT5        [         R                  " USUS9n[        XS5        [        XT5        g )	Nr   r   r   r   r   r   rH   r  )	r8   r  r  insertr   r   r`   r_   r
   )r:   r   nan_matr   r   r   s         r0   r    TestNanFunctions_Median.test_out  s    iinnQ"))C!Qa8!ii!$ll77C(C%"ii$'ll76:C(C%ll7V<C(C%r3   c           	      
   S H  n[         R                  R                  SU5      n[         R                  R                  SUR                  UR                  S-  S9n[         R
                  UR                  5       U'   SUS S 2S4'   / nU HS  n[         R                  " [         R                  " U5      ) U5      nUR                  [         R                  " USS95        MU     [        [         R                  " US	S
9U5        M     g )N)r  r  3   r  i  r  r   r  sizer   T)r  r  r   )r8   r  r  randintr  r   ravelcompressr   r*   r`   r   r_   )r:   r  r   r   r   xnonans          r0   test_small_large(TestNanFunctions_Median.test_small_large  s    'A		1%A		!!!QVV!&&A+!>A66AGGIaLAadGCRXXa[L!4

299UDAB  r||AB7= (r3   c                     [          Vs/ s H  n[        R                  " U5      PM     nn[        R                  " [        SS9n[        X25        g s  snf r   )r   r8   r`   r_   rw   r
   )r:   r   r   r   s       r0   r   *TestNanFunctions_Median.test_result_values  s;    %*+Uryy|U+ll5q)C% ,s    Ar   r   c                 \   [         R                  " S[         R                  5      R                  U5      n[        R
                  " [        5       n[         R                  " X2S9nUR                  UR                  :X  d   e[         R                  " U5      R                  5       (       d   eUc  [        [        U5      S:H  5        O[        [        U5      S:H  5        [         R                  " [         R                  5      R                  U5      S   n[         R                  " U5      nUR                  UR                  :X  d   e[         R                  " U5      (       d   eUc  [        [        U5      S:H  5        O[        [        U5      S:H  5        S S S 5        g ! , (       d  f       g = f)Nr   r   r   r   rH   r   r  )r8   r  r   r   rk   r   r   r_   r   r   r   r	   r   r   )r:   r   r   r   routputscalaroutput_scalars           r0   r   $TestNanFunctions_Median.test_allnans  s(    ggfbff%,,U3\\.)Q\\#1F<<399,,,88F#''))))|A!$A!$ XXbff%,,U3B7FLL0M &&&,,66688M****|A!$A!$' *))s   EF
F+c                    [         R                  " S5      nS H  n[        R                  " SS9 n[        R                  " S5        [        [         R                  " [         R                  " XS95      R                  5       5        [        [        U5      S:H  5        [        [        US   R                  [        5      5        S S S 5        M     S	 H  n[        R                  " SS9 n[        R                  " S5        [        [         R                  " XS9[         R                  " / 5      5        [        [        U5      S:H  5        S S S 5        M     g ! , (       d  f       GML  = f! , (       d  f       M  = fr  )r8   r   r   r   r   r	   r   r_   r   r   r   r   r   r   r:   r   r   r   s       r0   r7  "TestNanFunctions_Median.test_empty  s    hhvD((5%%h/c!=>BBDEA!$
1Q4==.AB	 65  D((5%%h/R\\#9288B<HA!$ 65  65 65s   BE(A E(
E%	(
E7	c                 H    [        [        R                  " S5      S:H  5        g r   )r	   r8   r_   rE   s    r0   r   #TestNanFunctions_Median.test_scalar  s    R B&'r3   c                 \   [         R                  " S5      n[        [        [         R                  USS9  [        [        [         R                  USS9  [        [        [         R                  USS9  [        [        [         R                  USS9  [        [
        [         R                  USS9  g )Nr  r   r   r1  r  r   r  r   r   )r8   r  r   r   r_   r1  r:   r   s     r0   test_extended_axis_invalid2TestNanFunctions_Median.test_extended_axis_invalid  sj    GGM"iqr:iqw?iqq9iqv>j",,?r3   c                 	   [         R                  " 5          [         R                  " S[        5        [        R
                  [        R
                  * 4 GHq  n[        R                  " U[        R                  /[        R                  [        R                  //5      n[        [        R                  " USS9U[        R                  /5        [        [        R                  " USS9U[        R                  /5        [        [        R                  " U5      U5        [        R                  " [        R                  [        R                  U/[        R                  [        R                  U//5      n[        [        R                  " U5      U5        [        [        R                  " USS9[        R                  [        R                  U/5        [        [        R                  " USS9U5        [        R                  " X/X//5      n[        [        R                  " USS9U5        [        R                  " USU* S/S[        R                  [        R                  S/S	[        R                  [        R                  U//[        R                  S
9nUS:  aE  [        [        R                  " USS9SSU* S/5        [        [        R                  " U5      S5        OD[        [        R                  " USS9SSU* S/5        [        [        R                  " U5      S5        [        [        R                  " USS9SSU/5        [        S5       GHq  n[        SS5       GH\  n[        R                  " [        R                  /U-  U/U-  -   /S-  5      n[        [        R                  " U5      U5        [        [        R                  " USS9U5        [        [        R                  " USS9[        R                  /U-  U/U-  -   5        [        R                  " [        R                  /U-  U* /U-  -   /S-  5      n[        [        R                  " U5      U* 5        [        [        R                  " USS9U* 5        [        [        R                  " USS9[        R                  /U-  U* /U-  -   5        GM_     GMt     GMt     S S S 5        g ! , (       d  f       g = f)Nr%  r   r   r   r  iir  r  r   r   g      @      @g      @g      $g      "g      r  g      r  r   )r   r   r   r   r8   infr   r   r   r_   float32r  )r:   r:  arj  js        r0   test_float_special*TestNanFunctions_Median.test_float_special  sj   $$&!!(N;(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   R3S
S rH   N)rI   rJ   rK   rL   r}   r   rk   rl   rm   r(  r  r   r!  r   _TYPE_CODESr   r7  r   r6  r>  ro   rH   r3   r0   r  r  K  s    "26 [[
  	 [[ EF. G	."&$> &
 [[V\2[[Wk2% 3 3%.%(@,Br3   r  c            
          \ rS rSrS rS r\R                  R                  SSSS//5      \R                  R                  S/ SQS	9\R                  R                  S
5      S 5       5       5       r
\R                  R                  SSS/5      S 5       rS r\R                  R                  SSS/5      \R                  R                  SSS/5      S 5       5       r\R                  R                  S/ SQ5      \R                  R                  S\R                  S   5      \R                  R                  S\R                   " \R"                  5      \R$                  " S\R"                  5      /SS/S9S 5       5       5       rS rS rS rS r\R                  R                  S / S!Q5      S" 5       r\R                  R                  S/ S#Q5      S$ 5       rS%rg&)'TestNanFunctions_Percentilei  c                 z    [         R                  5       n[        R                  " US5        [	        U[         5        g )N   )rw   rx   r8   ra   r   r  s     r0   r}   )TestNanFunctions_Percentile.test_mutation  s'    zz|
r"T5!r3   c           	         [         R                  " S5      nS HU  n[         R                  " USUS SS9n[         R                  " USUS SS9n[	        UR
                  UR
                  :H  5        MW     [         R                  " S5      n[         R                  R                  S5      [         R                  " UR                  5      S S 2S 4   -  nUR                  [         R                  5      n[         R                  U[        U5      '   [        R                  " 5          [        R                   " S["        5        [         R                  " US	S S
S9n[%        UR                  S5        [         R                  " US	SS
S9n[%        UR                  S5        [         R                  " US	SS
S9n[%        UR                  S5        [         R                  " US	SS
S9n[%        UR                  S5        [         R                  " US	SS
S9n[%        UR                  S5        [         R                  " US	SS
S9n[%        UR                  S5        S S S 5        g ! , (       d  f       g = f)Nr   r   F   Fr  r  r  r%  Z   Tr   r  r  r  r4  r  r6  r  r  r  r  )r8   r   rb   ra   r	   r   r  r  r   r   r   rE  r   r  r   r   r   r   r   r  s          r0   r   )TestNanFunctions_Percentile.test_keepdims  s   ffQi D--Rd057C""3438:CCHH() ! GGM"IIX&!''):1d7)CCHHRWWff%($$&!!(N;""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   D*I
I rX  r  r   r   r  r  r  c                   ^^ [         R                  " S5      m[         R                  R                  S5      [         R                  " TR                  5      S S 2S 4   -  nUR                  [         R                  5      n[         R                  T[        U5      '   Uc  STR                  -  nO?[        UTR                  5      m[        UU4S j[        TR                  5       5       5      n[         R                  " U5      U-   n[         R                  " U5      n[         R                  " TXSUS9nXeL d   e[        UR                  U5        g )Nr  r  r6  c              3   P   >#    U  H  oT;   a  S OTR                   U   v   M     g7fr  r  r	  s     r0   r  @TestNanFunctions_Percentile.test_keepdims_out.<locals>.<genexpr>M  r  r  Tr  )r8   r  r  r   r   r   rE  r   r  r   r   r  r)   ra   r   )	r:   rX  r   r   r  r   r  r
  r   s	          @@r0   r  -TestNanFunctions_Percentile.test_keepdims_out7  s     GGM"IIX&!''):1d7)CCHHRWWff%(<qvvI,T166:I L=B166]L LIHHQK)+	hhy!!!!QDcJ}}V\\9-r3   weightedFTc                    [         R                  R                  SS5      n[         R                  " USS/[         R                  SS9n[         R
                  " S5      nU(       a3  [         R                  " U5      SS.n[         R                  " U5      SS.nO0 n0 n[         R                  " US4S	S0UD6n[         R                  " US4SUS
.UD6n[        X5        [        X5        [         R
                  " S5      n[         R                  " US4S	S 0UD6n[         R                  " US4S US
.UD6n[        X5        [        X5        [         R                  " US4SUS
.UD6n[        X5        [        X5        g )Nr   r   r   r   r   inverted_cdfweightsmethod*   r   r   rH   r  )
r8   r  r  r  r   r   r  rb   ra   r
   )	r:   rN  r   r  r   w_args
nan_w_argsr   r   s	            r0   r   $TestNanFunctions_Percentile.test_outV  sW   iinnQ"))C!Qa8!!#c!2nMF<<0NJ FJmmC6!6v6wMM*MC(C%"mmC9$9&9R
"
2<
 	C(C%R
$&
4>
 	C(C%r3   c                 N   [         R                  " / SQSS9n[        [        [         R                  US5        [         R                  " / SQSS9n[        [        [         R                  US5        [         R                  " / SQSS9n[        [        [         R                  US5        g N)y      ?      @y @      ?y?ffffff@Gr   r^  r  F)r8   r   r   rZ  ra   r:   arr_cs     r0   test_complex(TestNanFunctions_Percentile.test_complexu  sq    =SIi!1!15#>=SIi!1!15#>=SIi!1!15#>r3   use_outc                    U(       a4  [        [        R                  SS9n[        [        R                  SS9nS nO#[        R                  n[        R                  nS n[         Vs/ s H  oc" USU" U5      S9PM     nnU(       a  [        R
                  " U5      OS nU" [        SSU" [        5      US9n	[        X5        [        R                  " [         Vs/ s H  nU" US	U" U5      S9PM     sn5      nU(       a  [        R
                  " U5      OS nU" [        S	SU" [        5      US9n	[        X5        g s  snf s  snf )
NrP  rS  c                 .    [         R                  " U 5      $ r7   )r8   r  r   s    r0   gen_weightsCTestNanFunctions_Percentile.test_result_values.<locals>.gen_weights  s    ||A&r3   c                     g r7   rH   rd  s    r0   re  rf    s    r3   r  )rR  r   )r   rR  r   )r  b   )	r   r8   rb   ra   r   
empty_likerw   r
   	transpose)
r:   rN  r`  rb   ra   re  r   r   r   r   s
             r0   r   .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   'D<Er   r   Floatr   r   r   r   r4   c                    Ub&  UR                   S:X  a  [        R                  " S5        UR                  U5      n[        R                  " [
        SS9   [        R                  " USUS9nS S S 5        [        R                  " W5      R                  5       (       d   eUR                  UR                  :X  d   eg ! , (       d  f       NV= f)Nr   r   r   r   <   r   )r   rk   r   r   r   r   r8   ra   r   r   r   r:   r   r   r   r   s        r0   r   (TestNanFunctions_Percentile.test_allnans  s     

aKKDEU#\\.0KL""5"48C Mxx}  """"yyEKK''' ML   B;;
C	c                    [         R                  " S5      nS H  n[        R                  " SS9 n[        R                  " S5        [        [         R                  " [         R                  " USUS95      R                  5       5        [        [        U5      S:H  5        [        [        US	   R                  [        5      5        S S S 5        M     S
 H  n[        R                  " SS9 n[        R                  " S5        [        [         R                  " USUS9[         R                  " / 5      5        [        [        U5      S	:H  5        S S S 5        M     g ! , (       d  f       GMP  = f! , (       d  f       M  = f)Nr4  r5  Tr   r   (   r   r   r   r6  )r8   r   r   r   r   r	   r   ra   r   r   r   r   r   r   r,  s       r0   r7  &TestNanFunctions_Percentile.test_empty  s   hhvD((5%%h/!1!1#r!EFJJLMA!$
1Q4==.AB	 65  D((5%%h/R--c2DA288B<PA!$ 65  65 65s   BE*A"E,
E)	,
E;	c                     [        [        R                  " SS5      S5        [        R                  " S5      n[        R                  " USSS9n[        US5        [	        [        R
                  " U5      5        g )Nr   r     2   r   r   g      @)r   r8   ra   r  r	   isscalar)r:   r<  r&  s      r0   r   'TestNanFunctions_Percentile.test_scalar  sT    R%%b#.3IIaLQ+QAr3   c                 f   [         R                  " S5      n[        [        [         R                  USSS9  [        [        [         R                  USSS9  [        [        [         R                  USSS9  [        [        [         R                  USSS9  [        [
        [         R                  USSS9  g )	Nr  r  r1  rX  r   r2  r  r3  r4  )r8   r  r   r   ra   r1  r5  s     r0   r6  6TestNanFunctions_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Hr3   c           
         SS/n[         R                  " S5      n[         R                  U-  n[         R                  " S5      nSUS S 2SSS2S S 24'   US S 2S S 2SS 24==   S-  ss'   S	 H  nS
 H  n[        R                  " 5          [        R
                  " SS[        5        [         R                  " X!XVS9n[         R                  " X1UUS9n[        UR                  UR                  5        [         R                  " XAUUS9n[         R                  " XAUUS9n[        X5        S S S 5        M     M     [         R                  " S5      n	[        [         R                  " XSS9R                  S5        g ! , (       d  f       GM  = f)Nrw  r  )r  r   )r   r  r  r   r   r  r   r   )FTr%  r   r   )r   r  r  rv  )r   r   r   )r   r   rv  )r8   r  r   r   r   r(  r   rb   ra   r   r   )
r:   percr   r  	large_matr   keepdimr-  nan_valmegamats
             r0   test_multiple_percentiles5TestNanFunctions_Percentile.test_multiple_percentiles  sH   Cyggfo&&3,GGI&	!"	!QqUA+!Q(q  D(,,.++ "=~O--OC ..w48?AG 		:--	d18:C ..yT8?AG . /. ) !  '','W8>>		
 /.s   BE77
F
nan_weight)r   r   r   r   Zbtic                     S[         R                  SS/n[         R                  " S5      n[         R                  " USSS9n[	        XC5        SUSS/n[         R                  " USUSS	9n[	        Xc5        g )
Nr   r   r   r   rw  rP  rb  r   rQ  )r8   r   float64ra   r   )r:   r  r  r  q_unweightedr   
q_weighteds          r0   test_nan_value_with_weight6TestNanFunctions_Percentile.test_nan_value_with_weight  sk    1C''2nE\* *c3'%%aQ~N
Z(r3   r   r   r   c           	         [         R                  R                  S5        [         R                  R                  SS9nUR                  5       n[         R                  U[         R
                  " S5      [         R
                  " S5      S4'   [         R                  " / SQ/ SQ/5      n[         R                  " U5      nSU[         R                  " U5      '   [         R                  " X$XSS	9n[         R                  " X4USS
9n[        Xv5        SU[         R                  " U5      '   [         R                  " X4XSS	9n[        X5        [         R                  " U5      n	[         R                  " X4XU	SS9n
XL d   e[        X5        g )Nr   )r  c   r   r  r  r   )g      4@g      I@rD  )rG  !   P   rP  )r   rR  rS  )r   rS  r  )r   rR  r   rS  )r8   r  seedrx   r   r  r   r  r   rb   ra   r   ri  )r:   r   x_no_nanr  prR  
p_expectedp_unweighted
p_weightedr   r   s              r0   test_nan_value_with_weight_ndim;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%r3   rH   N)rI   rJ   rK   rL   r}   r   rk   rl   rm   r(  r  r   r^  r   r8   r  r   r   r  r   r7  r   r6  r  r  r  ro   rH   r3   r0   rB  rB    s   "2: [[S1q!f+.[[
  	 [[ EF. G	 /.& [[Z%7& 8&<? [[Z%7[[Y6& 7 8&8 [[V\2[[Wbll7&;<[[W

' $<  (	 = 3(% I
: [[\+>?	) @	) [[VY/%& 0%&r3   rB  c            
          \ rS rSr\R
                  R                  SSS/5      S 5       rS rS r	S r
\R
                  R                  S	/ S
Q5      \R
                  R                  S\R                  S   5      \R
                  R                  S\R                  " \R                  5      \R                  " S\R                  5      /SS/S9S 5       5       5       rSrg)TestNanFunctions_Quantilei  rN  FTc           	      J   [         R                  " S5      R                  SSS5      R                  [        5      n[         R
                  US   S'   U(       a  [         R                  " U5      SS.nO0 n[        [         R                  " U4S	S
0UD6[         R                  " U4S	S0UD65        [        [         R                  " U4S
SS.UD6[         R                  " U4SSS.UD65        [        [         R                  " U4S
SS.UD6[         R                  " U4SSS.UD65        [        [         R                  " U4S
/SS.UD6[         R                  " U4S/SS.UD65        [        [         R                  " U4/ SQSS.UD6[         R                  " U4/ SQSS.UD65        g )N   r   r   r  r   r   rP  rQ  rX  r^  rw  r{  )      ?r^        ?)   rw  K   )
r8   r  r  r   floatr   r  r   rc   ra   )r:   rN  r	  rU  s       r0   test_regression)TestNanFunctions_Quantile.test_regression  sw   YYr]""1a+2259661a!#b!1^LFFR^^B8#88%%b9B9&9	;R^^B@#A@@%%bABQA&A	CR^^B@#A@@%%bABQA&A	CR^^BB3%aB6B%%bCRDqCFC	ER^^BN*;!NvN%%bKLqKFK	Mr3   c                     [         R                  " S5      S-  n[        [         R                  " US5      S5        [        [         R                  " US5      S5        [        [         R                  " US5      S5        g )Nr  r^  r   r   r   g      @g      ?)r8   r  r   rc   )r:   r  s     r0   
test_basic$TestNanFunctions_Quantile.test_basic1  sS    IIaL3R^^Aq)2.R^^Aq)3/R^^As+T2r3   c                 N   [         R                  " / SQSS9n[        [        [         R                  US5        [         R                  " / SQSS9n[        [        [         R                  US5        [         R                  " / SQSS9n[        [        [         R                  US5        g rY  )r8   r   r   rZ  rc   r\  s     r0   r^  &TestNanFunctions_Quantile.test_complex7  sk    =SIi<=SIi<=SIi<r3   c                 h   [         R                  " / SQ5      nUR                  5       n[         R                  " [         R                  " S5      USS9  [        X!5        UR                  5       nUR                  5       n[         R                  " [         R                  " S5      USS9  [        X!5        g )N)r   r  r  r^  r   g      Y@midpointrb  )r8   r   rx   rc   r  r   tolist)r:   p0r  s      r0   test_no_p_overwrite-TestNanFunctions_Quantile.test_no_p_overwrite?  sr    XX/0GGI
ryy*=1!YY[HHJ
ryy*=1!r3   r   r   r   rl  r   r   r   r   r4   c                    Ub&  UR                   S:X  a  [        R                  " S5        UR                  U5      n[        R                  " [
        SS9   [        R                  " USUS9nS S S 5        [        R                  " W5      R                  5       (       d   eUR                  UR                  :X  d   eg ! , (       d  f       NV= f)Nr   r   r   r   r   r   )r   rk   r   r   r   r   r8   rc   r   r   r   ro  s        r0   r   &TestNanFunctions_Quantile.test_allnansK  s     

aKKDEU#\\.0KL..5C Mxx}  """"yyEKK''' MLrq  rH   N)rI   rJ   rK   rL   rk   rl   rm   r  r  r^  r  r8   r  r   r   r  r   ro   rH   r3   r0   r  r    s     [[Z%7M 8M&3=
" [[V\2[[Wbll7&;<[[W

' $<  (	 = 3(r3   r  zarr, expectedr9  )FTFT)r   r  r  r  r   Tc                     S [         R                  " U R                  [         R                  S94 H<  n[	        XS9n[        X15        [        U5      [         R                  Ld  M5  USL a  M<   e   g )Nr   rD  T)r8   r)   r   r  r   r   r   r   )r   expectedr   actuals       r0   test__nan_maskr  [  sV    " bhhsyy893(V& >+T>!> :r3   c                     [         R                  [         R                  [         R                  4 H3  n [         R                  " SS/U S9n[        US5      u  p#Ub   eX!L a  M3   e   [         R                  [         R                  4 H  n [         R                  " SS/U S9n[        US5      u  p#US:H  R                  5       (       d   eX!Ld   e[        X!5        [         R                  " SS[         R                  /U S9n[        US5      u  pV[        U[         R                  " / SQ5      5        XTLd   e[        U[         R                  " / SQ5      5        [         R                  " US	   5      (       a  M   e   g)
zTTest that _replace_nan returns the original array if there are no
NaNs, not a copy.
r   r   r   Nr   F)FFTr  r  )r8   r  int32int64r   r   r;  r  r   r   r   r   )r   r   r  maskarr_nan
result_nanmask_nans          r0   test__replace_nanr  v  s4    ''288RXX.hh1vU+#C+||}} / **bjj)hh1vU+#C+""$$$$   V!((Aq"&&>7+GQ7
Xrxx(<=>(((Z)!45xx$$$$ *r3   z"memmap is thread-unsafe (gh-29126))reasonc                    [         R                  " S[        S9n[        U R	                  S5      S5       nUR                  UR                  5       5        [         R                  " X!R                  UR                  S9n[        R                  " [        SS9   [         R                  " U[         R                  " S5      S	9  S S S 5        [        R                  " [        S
S9   [         R                  " U[         R                  " S5      S	9  S S S 5        S S S 5        g ! , (       d  f       Nb= f! , (       d  f       N(= f! , (       d  f       g = f)Ng      $@r   zdata.binzw+b)r   r   zreduction operation fmaxr   r   rD  zreduction operation fmin)r8   r  r  openjoinrK  tobytesmemmapr   r   rk   r0  r1  rO   r   rM   )tmpdirr<  fhmms       r0   test_memmap_takes_fast_router    s    
 			#U#A	fkk*%u	-
YYr8]]:-GHIIbbhhqk* I ]]:-GHIIbbhhqk* I 
.	- IH IH 
.	-s<   A"D?*D!D?"*D.D?
D+	'D?.
D<	8D??
E)9r$   r   	functoolsr   rk   numpyr8   numpy._core.numericr   numpy.exceptionsr   r   numpy.lib._nanfunctions_implr   r   numpy.testingr	   r
   r   r   r   r   r   r   rw   r   r  r  r    rs   r!  _TEST_ARRAYSr'   _vsetflagsrl   rm   r  keysrO  rl  r  r  r  _TIME_UNITSr   r@  r  rB  r  r:  r  	complex64r  r  thread_unsafer  )units   0r0   <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%`^$ ^$D ((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DB DBNE& E&P?( ?(B XXrvvsBFFBFF+,XX()+ XXl"((+	 XX()	 XX}!(*6XXt}t}  +  "! "%6 "FG+ H+U 7s   O