+
    0i1                         ^ RI t^ RIHtHt ^ RIt^ RIHt ^ RIH	t	 ^ RI
HtHt ^ RIHtHt ]P                   P"                  t ! R R4      t]! ]P                  4       ! R	 R
4      4       tR# )    N)assert_equalassert_array_equal)stats)skip_xp_invalid_arg)rankdata
tiecorrect)xp_assert_equalmake_xp_test_casec                   >   a  ] tR t^t o R tR tR tR tR tRt	V t
R# )TestTieCorrectc                    \         P                  ! . \         P                  R7      p\        V4      p\	        VR4       R# )z9An empty array requires no correction, should return 1.0.dtype      ?Nnparrayfloat64r   r   selfrankscs   &  Y/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/stats/tests/test_rank.py
test_emptyTestTieCorrect.test_empty   s*    2::.uQ    c                    \         P                  ! R.\         P                  R7      p\        V4      p\	        VR4       R# )z;A single element requires no correction, should return 1.0.r   r   Nr   r   s   &  r   test_oneTestTieCorrect.test_one   s,    #bjj1uQr   c                    \         P                  ! R4      p\        V4      p\        VR4       \         P                  ! R4      p\        V4      p\        VR4       R# )z*Arrays with no ties require no correction.       @r         @N)r   aranger   r   r   s   &  r   test_no_correction!TestTieCorrect.test_no_correction   sD    		#uQ		#uQr   c                t   \         P                  ! . RO4      p\        V4      pRpVP                  pRV^,          V,
          V^,          V,
          ,          ,
          p\	        W%4       \         P                  ! . RO4      p\        V4      pRpVP                  pRV^,          V,
          V^,          V,
          ,          ,
          p\	        W%4       \         P                  ! . RO4      p\        V4      pRpVP                  pRV^,          V,
          V^,          V,
          ,          ,
          p\	        W%4       \         P                  ! . RO4      p\        V4      pRpRpVP                  pRV^,          V,
          V^,          V,
          ,           V^,          V,
          ,          ,
          p\	        W%4       R# )	z8Check a few basic examples of the tie correction factor.r   r!   r"   N)r         @r'   )      ?r(   r"   )r   r"   r"   r"   )r(   r(         @r)   r)   )r   r   r   sizer   )r   r   r   TNexpectedT1T2s   &       r   
test_basicTestTieCorrect.test_basic#   sR    )uJJ!Q$(q!tax00Q! )uJJ!Q$(q!tax00Q! -.uJJ!Q$(q!tax00Q! 23uJJ2q52:"a%"*5!Q$(CCQ!r   c           	     ,   R ^r!\         P                  ! \         P                  ! V4      V4      pVP                  p\	        \        V4      4      p\        VRW!^,          V,
          ,          \        V^,          V,
          4      ,          ,
          4       R# )i  r   N)r   repeatr#   r*   r   r   r   float)r   ntiekanouts   &     r   test_overflowTestTieCorrect.test_overflowF   sc    aIIbiilD)FF!%S#1Wt^ 4uQTAX FFGr    N)__name__
__module____qualname____firstlineno__r   r   r$   r0   r:   __static_attributes____classdictcell____classdict__s   @r   r   r      s&     !"FH Hr   r   c                     a  ] tR t^Nt o R#R ltR tR t]P                  P                  RR$.4      ]P                  P                  RR.]
! ^4      O4      R 4       4       tR	 tR
 t]R 4       t]P                  P!                  RRR7      R 4       tR t]P                  P                  R. R%O4      R 4       tR t. R&Ot]P                  P                  R^ ^.4      ]P                  P                  R]4      R 4       4       t]P                  P                  R]
! ^4      4      ]P                  P                  R]4      R 4       4       tR tR tR t. . R. 3N. R. 3N. R. 3N. R. 3N. R. 3N^d.RR.3N^d.RR.3N^d.RR.3N^d.RR.3N^d.RR.3N. R'OR. R(O3N. R'OR. R)O3N. R'OR. R*O3N. R'OR. R)O3N. R'OR. R+O3N. R,OR. R-O3N. R,OR. R-O3N. R,OR. R-O3N. R,OR. R-O3N. R,OR. R-O3N. R.OR. R/O3N. R.OR. R0O3N. R.OR. R1O3N. R.OR. R2O3N. R.OR. R3O3N. R4OR. R5O3N. R4OR. R6O3N. R4OR. R7O3N. R4OR. R8O3N. R4OR. R9O3N^
.^,          R]P8                  ! RR4      3N5t]P                  P                  R ]4      R! 4       tR"tV t R# ):TestRankDataaveragec                   V'       d   VP                  R 4      P                  # VR8X  d   VP                  R 4      P                  # VP                  ^4      P                  # )r   rG   )asarrayr   )r   methodhas_nansxps   &&&$r   desired_dtypeTestRankData.desired_dtypeQ   sG    ::b>''''-y'8rzz"~##Qbjjm>Q>QQr   c           
         VP                  . VP                  R7      p\        V4      p\        W1P                  . V P	                  VR7      R7      4       R# )z;stats.rankdata of empty array should return an empty array.r   rL   NrI   int64r   r	   rM   )r   rL   r7   rs   &&  r   r   TestRankData.test_emptyV   sD    JJrJ*QK::b0B0Bb0B0I:JKr   c                    \        . 4      p\        V\        P                  ! . 4      4       \        . RO4      p\	        V. RO4       R# )(   NrV   
      rX   2   r)   r(   r"   r(         @)r   r   r   r   r   )r   rS   s   & r   	test_listTestRankData.test_list\   s3    RL1bhhrl+)*Q12r   shapeaxisNc           
         VP                  WP                  R 7      p\        WBR7      pVf   RMTp\        WSP                  W`P	                  VR7      R 7      4       R# )r   r`   NrP   )r   )emptyrR   r   r	   rM   )r   r_   r`   rL   r7   rS   expected_shapes   &&&&   r   test_empty_multidim TestRankData.test_empty_multidimd   sO     HHU((H+Q"!%588N:L:LPR:L:S8TUr   c           
         ^d.pVP                  W!P                  R7      p\        V4      p\        WAP                  R.V P	                  VR7      R7      4       R# )z/Check stats.rankdata with an array of length 1.r   r   rP   NrQ   )r   rL   datar7   rS   s   &&   r   r   TestRankData.test_onel   sK    uJJt88J,QK::se43E3E3E3L:MNr   c                <   V P                  VR7      p. ROpVP                  . ROVR7      pVP                  W1P                  R7      p\        V4      p\	        Wd4       . ROpVP                  . ROVR7      pVP                  W1P                  R7      p\        V4      p\	        Wd4       . ROpVP                  . R	OVR7      pVP                  W1P                  R7      p\        V4      p\	        Wd4       VP                  VR
4      p\        V4      p\	        Wd4       R# )zBasic tests of stats.rankdata.rP   r   N)d   rX   rZ   )r"   r   r!   rW   r[   )   rl   rl   rX   rX   rX   )r\   r\   r\   r!   r!   r!   )      )rM   rI   rR   r   r	   reshape)r   rL   rM   rh   r-   r7   rS   a2ds   &&      r   r0   TestRankData.test_basics   s    **b*1::o]:CJJt88J,QK$#::7}:MJJt88J,QK$'::<M:RJJt88J,QK$ jjF#SM$r   c                  aaa R  oR oV3R lpVV3R lpR p\        SSVW#R7      oV3R lp. R
OpV! \        P                  P                  V^4      4       V! \        P                  P                  V^4      P	                  R4      4       \        P
                  ! . RORR7      pV! \        P                  P                  V^4      P	                  R4      4       R	# )c                 h   a V  Uau. uF  o^\        V3R lV  4       4      ,           NK!  	  up# u upi )   c              3   ,   <"   T F	  qS8  x  K  	  R # 5iNr<   .0ijs   & r   	<genexpr>MTestRankData.test_rankdata_object_string.<locals>.min_rank.<locals>.<genexpr>        -1aE1   sumr7   rz   s   &`r   min_rank:TestRankData.test_rankdata_object_string.<locals>.min_rank   s.    789q!A-1----q999s   %/c                 Z   a V  Uau. uF  o\        V3R  lV  4       4      NK  	  up# u upi )c              3   ,   <"   T F	  qS8*  x  K  	  R # 5irv   r<   rw   s   & r   r{   MTestRankData.test_rankdata_object_string.<locals>.max_rank.<locals>.<genexpr>   s     *1Qr~   r   r   s   &`r   max_rank:TestRankData.test_rankdata_object_string.<locals>.max_rank   s&    456AqC***A666s   (c                 \   < S! \        V 4       UUu. uF  w  rW!3NK
  	  upp4      # u uppi rv   )	enumerate)r7   ry   xr   s   &  r   ordinal_rank>TestRankData.test_rankdata_object_string.<locals>.ordinal_rank   s(    	!=aV=>>=s   (
c                    < \        S! V 4      S! V 4      4       UUu. uF  w  rW,           R ,          NK  	  upp# u uppi )r!   )zip)r7   ry   rz   r   r   s   &  r   average_rank>TestRankData.test_rankdata_object_string.<locals>.average_rank   s6    .1(1+x{.KL.KdaQUcMM.KLLLs   ;c                    a \         P                  ! V 4      pV  Uau. uF  o^\        V3R lV 4       4      ,           NK!  	  up# u upi )rt   c              3   ,   <"   T F	  qS8  x  K  	  R # 5irv   r<   rw   s   & r   r{   OTestRankData.test_rankdata_object_string.<locals>.dense_rank.<locals>.<genexpr>   r}   r~   )r   uniquer   )r7   brz   s   & `r   
dense_rank<TestRankData.test_rankdata_object_string.<locals>.dense_rank   s;    		!A789q!A-1----q999s   %A)minmaxordinalrG   densec                 d   < R F(  p\        WR7      p\        VSV,          ! V 4      4       K*  	  R# )r   rJ   N)r   r   r   r   rG   )r   r   )r7   rJ   r9   rankfs   &  r   check_ranks=TestRankData.test_rankdata_object_string.<locals>.check_ranks   s+    Eq0"3fa(89 Fr   objectr   N)	foobarquxxyzabcefgaceqweqaz)r   rt   rm   gX9v@rn   gT㥛 	@)dictr   randomchoiceastyper   )	r   r   r   r   r   valr   r   r   s	   &     @@@r   test_rankdata_object_string(TestRankData.test_rankdata_object_string   s    	:	7	?	M	: x)=	:
 NBII$$S#./BII$$S#.55h?@hh1BBII$$S#.55h?@r   torchz#`take_along_axis` fails with uint64)reasonc           
         VP                  RR.VP                  R7      p\        V4      p\        W1P                  RR.V P	                  VR7      R7      4       R# )rm   r   r   r!   rP   N                       )rI   uint64r   r	   rM   r   rL   rh   rS   s   &&  r   test_large_uintTestRankData.test_large_uint   sM    zz5'*"))z<TN::sCj8J8Jb8J8Q:RSr   c           
     f   VP                  RR.VP                  R7      p\        V4      p\        W1P                  RR.V P	                  VR7      R7      4       VP                  RR.VP                  R7      p\        V4      p\        W1P                  RR.V P	                  VR7      R7      4       R# )	rm   r   r   r!   rP   Nr   r   lrQ   r   s   &&  r   test_large_intTestRankData.test_large_int   s    zz5'*"((z;TN::sCj8J8Jb8J8Q:RSzz5(+288z<TN::sCj8J8Jb8J8Q:RSr   r8   c                    VP                  V4      p\        V4      pR V^,           ,          pVP                  WS,          V P                  VR7      R7      p\	        WF4       R# )g      ?rP   r   N)onesr   rI   rM   r	   )r   r8   rL   rh   rS   expected_rankrefs   &&&    r   test_big_tieTestRankData.test_big_tie   sP    wwqzTNq1ujj-T5G5G25G5NjOr   c                    VP                  . RO. RO.4      pVP                  . RO. RO.4      p\        V^ R7      p\        WC4       VP                  . RO. RO.4      p\        V^R7      p\        We4       R# )	r   rb   N)r   rm   rt   )   rm   rm   )r   r(   r   )r!   r(   r!   r   r"   r!   )r"   r(   r(   )rI   r   r	   )r   rL   rh   	expected0r0	expected1r1s   &&     r   	test_axisTestRankData.test_axis   sc    zz9i01JJ}=>	d#&JJn=>	d#&r   r   r   r   r   rJ   c                    RpV P                  W#R7      pVP                  V4      p\        WbVR7      p\        VP                  V4       \        VP
                  V4       \        WsP                  WER7      4       R# )rn   rP   )rJ   r`   r   N)rn   r   )rM   zerosr   r   r_   r   r	   rc   )r   r`   rJ   rL   r_   rM   rh   rS   s   &&&&    r   test_size_0_axisTestRankData.test_size_0_axis   sd     **6*9xxTt4QWWe$QWWm,88E8?@r   c                  a Rp\         P                  P                  R4      pVP                  VR7      pVP                  VR7      R8  pVP                  VR7      R8  pVP                  VR7      R8  p\         P                  WV&   \         P                  ) WW&   WX,          \         P                  ,
           R oV3R lp	\        WRVRR7      p
V	! WRVR	7      p\        W4       R
# )rl   im)r*   g?g?c                     \         P                  ! V 4      p\         P                  ! V 4      pW( ,          p\        WA4      pWRV( &   \         P                  W#&   V# rv   )r   
zeros_likeisnanr   nan)r7   rJ   r9   ry   a_compressedress   &&    r   rank_1d_omit:TestRankData.test_nan_policy_omit_3d.<locals>.rank_1d_omit   sI    --"CAR5L<0CGVVCFJr   c                 >   <a \         P                  ! VV3R  lW 4      # )c                    < S! V S4      # rv   r<   )r7   rJ   r   s   &r   <lambda>ITestRankData.test_nan_policy_omit_3d.<locals>.rank_omit.<locals>.<lambda>   s    a1Hr   )r   apply_along_axis)r7   rJ   r`   r   s   &f&r   	rank_omit7TestRankData.test_nan_policy_omit_3d.<locals>.rank_omit   s    &&'H'+0 0r   omitr`   
nan_policyrb   N)rl         )r   r   RandomStater   infr   r   )r   r`   rJ   r_   rngr7   ry   rz   r6   r   r   res0r   s   &&&         @r   test_nan_policy_omit_3d$TestRankData.test_nan_policy_omit_3d   s     ii##H-JJEJ"JJEJ"S(JJEJ"S(JJEJ"S(vvw	rvv		0 qt?.3%r   c                   ^ \         P                  ^.^^\         P                  .. R
O.p\        \        VRRR7      R\         P                  RRR\         P                  RRR.	4       \        \        VRR	R7      \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  .	4       R# )r   Nr   r   r   g      @g      @r)   r!   	propagatert   rm   rm   r   r   r   r   r   rh   s   & r   test_nan_policy_2d_axis_none)TestRankData.test_nan_policy_2d_axis_none   s    BFFAArvv 	8DtGBBFFBBG	I8DtLFFBFFBFFBFFBFFBFFFFBFFBFF4	5r   c                   ^ ^^R\         P                  \         P                  .p\        P                  ! \        RR7      ;_uu_ 4        \        VRR7       RRR4       ^ \         P                  ^.^^\         P                  .\         P                  ^^..p\        P                  ! \        RR7      ;_uu_ 4        \        V^ RR7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        V^RR7       RRR4       R#   + '       g   i     L; i  + '       g   i     L`; i  + '       g   i     R# ; i)r   zThe input contains nan)matchraiser   Nr   )r   r   pytestraises
ValueErrorr   r   s   & r   test_nan_policy_raise"TestRankData.test_nan_policy_raise
  s    1aRVVRVV,]]:-EFFTg. G BFFAArvvA  ]]:-EFFTg6 G ]]:-EFFTg6 GF GF GF GFFs$   	D;D"6D5D	"D2	5E	c           	     `   ^ ^^R\         P                  \         P                  .p\        \        VRR7      \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  .4       ^ \         P                  ^.^^\         P                  .. RO.p\        \        V^ RR7      ^\         P                  \         P                  .^\         P                  \         P                  .^\         P                  \         P                  ..4       \        \        V^RR7      \         P                  \         P                  \         P                  .\         P                  \         P                  \         P                  .. RO.4       R# )r   r   r   r   Nr   r   )rt   r'   r'   r   r   s   & r   test_nan_policy_propagate&TestRankData.test_nan_policy_propagate  s   1aRVVRVV,8D[AFFBFFBFFBFFBFFBFFK	M BFFAArvv 	8Dq[I///1	2 	8Dq[IVVRVVRVV4VVRVVRVV4)+	,r   r   g      ?@casec                    Vw  r4p\        VP                  V4      VR 7      pVP                  WPP                  WBR7      R7      p\        Wg4       R# )r   rP   r   N)r   rI   rM   r	   )r   r  rL   valuesrJ   r-   rS   r   s   &&&     r   
test_casesTestRankData.test_casesW  sG    #' RZZ'7jj););F);)JjKr   r<   )rG   F)r   rt   rm   )i'  i i@B )rG   r   r   r   r   )rk   rk   rk   )r!   r!   r!   )r   r   r   )r"   r"   r"   )r   r!   r"   )rk   ,     r   )rk   r  r  r  )r   r'   r)   r'   )r   r!   r)   r!   )r   r"   r)   r"   )r   r!   r"   r!   )r   r!   r)   r"   )rk   r  r  r  rk   )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@   rM   r   r]   r   markparametrizerangere   r   r0   r   r   skip_xp_backendsr   r   r   r   methodsr   r   r   r   r   r   r#   _rankdata_casesr  rA   rB   rC   s   @r   rF   rF   N   s    R
L3 [[Wyk2[[Vd%6U1X%67V 8 3VO%6 A AB [[!!'2W!XT YT
T [[S":;  < 	' ;G[[VaV,[[Xw/A 0 -A [[VU1X.[[Xw/& 0 /&<	57",&'	Y' 
UB' 
UB	'
 
Wb' 
Y' 	C5!' u' u' #' 	C5!' 
)_5' 
%1'  
%1!'" 
'?3#'$ 
)_5%'( 
)_5)'* 
%1+', 
%1-'. 
'?3/'0 
)_51'4 
y*>?5'6 
u&:;7'8 
u&:;9': 
w(<=;'< 
y*>?='@ 
#I/HIA'B 
#E+DEC'D 
#E+DEE'F 
#G-FGG'H 
#I/HII'L Iryyd34M'OR [[V_5  6 r   rF   )numpyr   numpy.testingr   r   r   scipyr   scipy.conftestr   scipy.statsr   r   scipy._lib._array_apir	   r
   r	  r  r   rF   r<   r   r   <module>r     s\     :   . , D;;// ?H ?HD 5>>"M  M  #M r   