
    doi(                         S SK rS SKJr  SSKJrJrJr  SSKJ	r	  SSK
Jr  SSKJr  S SKJr  S S	KJrJrJr  S SKJs  Jr   " S
 S5      rS rSS jrS r  SS jrg)    N)stats   )_get_pvalue	_rankdata_SimpleNormal)
_morestats)_broadcast_arrays)_get_wilcoxon_distr)_get_nan)array_namespace
xp_promotexp_sizec                   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)WilcoxonDistribution   c                     [         R                  " U5      R                  [        SS9nXl        [         R
                  " U5       Vs0 s H  o"[        U5      _M     snU l        g s  snf )NFcopy)npasarrayastypeintnuniquer
   _dists)selfr   nis      Q/var/www/html/land-ocr/venv/lib/python3.13/site-packages/scipy/stats/_wilcoxon.py__init__WilcoxonDistribution.__init__   sN    JJqM  5 1=?YYq\J\r.r22\JJs   A%c                 L    U R                   U   nUS US-    R                  5       $ Nr   r   sumr   kr   pmfss       r   _cdf1WilcoxonDistribution._cdf1   s(    {{1~FQU|!!    c                 V    [         R                  " U R                  [        /S9" X5      $ N)otypes)r   	vectorizer(   floatr   r&   r   s      r   _cdfWilcoxonDistribution._cdf   s    ||DJJw7==r*   c                 D    U R                   U   nX1S  R                  5       $ )Nr#   r%   s       r   _sf1WilcoxonDistribution._sf1   s    {{1~Bx||~r*   c                 V    [         R                  " U R                  [        /S9" X5      $ r,   )r   r.   r4   r/   r0   s      r   _sfWilcoxonDistribution._sf   s    ||DIIug6q<<r*   c                 @    U R                   U R                   S-   -  S-  $ )Nr      )r   )r   s    r   meanWilcoxonDistribution.mean"   s    vv!$q((r*   c                     [         R                  " U5      R                  [        SS9nU R	                  5       n[         R
                  " UR                  [         R                  S9nXU4$ )NFr   dtype)r   r   r   r   r;   emptyshapefloat64r   r&   mnouts       r   _prepWilcoxonDistribution._prep%   sL    JJqM  5 1YY[hhqwwbjj1czr*   c                    ^  T R                  U5      u  pn[        R                  " X:*  UT R                  4T R                  U 4S j5      S   $ )Nc                 4   > STR                  U S-   U5      -
  $ r"   )r7   r&   r   r   s     r   <lambda>*WilcoxonDistribution.cdf.<locals>.<lambda>0   s    TXXac1--r*    )rF   xpxapply_wherer   r1   rC   s   `   r   cdfWilcoxonDistribution.cdf+   sH    ZZ]
sGa[II-/ 023 	3r*   c                    ^  T R                  U5      u  pn[        R                  " X:*  UT R                  4T R                  U 4S j5      S   $ )Nc                 4   > STR                  U S-
  U5      -
  $ r"   )r1   rJ   s     r   rK   )WilcoxonDistribution.sf.<locals>.<lambda>7   s    TYYqsA..r*   rM   )rF   rN   rO   r   r7   rC   s   `   r   sfWilcoxonDistribution.sf2   sH    ZZ]
sGa[HH.0 134 	4r*   )r   r   N)__name__
__module____qualname____firstlineno__r   r(   r1   r4   r7   r;   rF   rP   rU   __static_attributes__rM   r*   r   r   r      s0    K
">=)34r*   r   c           	         [        X5      n[        XSUS9u  p[        R                  " U5      S   nSn[        R                  " UR
                  [        R                  5      (       a  UR                  S:w  a  [        U5      e[        U5      nSn[        [        SS 5      =(       d    [        R                  R                  n	 Uc  U n
O[        X4XgS9u  pX-
  n
UR                  XS	5      n
S
nUb+  U R                  U   UR                  U   :w  a  [        U5      eSnUR!                  U
R
                  S5      (       d  [        U5      e[#        U5      R%                  5       n1 SknSU S3nX,;  a  [        U5      eSS1nSU S3nX=;  a  [        U5      e[#        U5      R%                  5       n1 SknSU S3nXN;  a  [        U5      e['        U[(        R*                  5      (       d  1 SknSU S3nX_;  a  [        U5      eUS:X  a  SOSnUR-                  U
S:H  S S9nUS:X  a  U
R                  S	   S:  a  SnXX4XVUUU4	$ ! U	 a  nU	" U5      UeS nAff = f)NT)force_floatingxprM   z`axis` must be an integer.r   z<`axis` must be compatible with the shape(s) of `x` (and `y`)	AxisError)axisr^   z3`x` and `y` must have the same length along `axis`.z<`x` (and `y`, if provided) must be an array of real numbers.zreal floating>   prattwilcoxzsplitz`zero_method` must be one of .Fz`correction` must be one of >   lessgreater	two-sidedz`alternative` must be one of >   autoexact
asymptoticz`method` must be one of z- or an instance of `stats.PermutationMethod`.rk   r`   ri   2   )r   r   r   r   
issubdtyper?   integerndim
ValueErrorr   getattr
exceptionsr_   r	   moveaxisrA   isdtypestrlower
isinstancer   PermutationMethodcount_nonzero)xyzero_method
correctionalternativemethodr`   r^   messager_   dezero_methodscorrectionsalternativesmethodsoutput_zn_zeros                     r   _wilcoxon_ivr   :   sb   		Ba4B7DA::dBD*G==RZZ00DIIN!!t9DLGK.I"--2I2II(9A$aV$>DAAKK$ DG}!''$-7!!LG::agg//!!k"((*K0L-l^1=G&!!-K,[M;G$!!k"((*K3L-l^1=G&!!fe55661-gY 7? ? W%%-t5H
 a1f40FAGGBK",:F(FTVVVW  ( a'(s   )I I		IIc                   U R                   nU S:H  nUS:X  a1  [        R                  " U 5      U   R                  UR                  SS9n UR                  U 5      nUR                  USS9nUR                  U R                  S   U-
  U5      n[        UR                  U 5      SSUS9u  pUR                  XS	S9UR                  XS	S9pUR                  UR                  U S:  U5      U	-  SS9nUR                  UR                  U S:  U5      U	-  SS9nUR                  U
S:H  5      nUS
:X  au  UR                  UR                  XT5      U	-  SS9S-  n[        R                  " U5      S   R                  U5      n[        R                  " U5      S   R                  U5      nXS-   -  S-  nXS-   -  SU-  S-   -  nUS:X  a  UR                  UR                  USS9U5      n[        R                  " U5      S   R                  UUS-   -  S-  5      n[        R                  " U5      S   R                  UUS-   -  SU-  S-   -  5      nUR                  U5      n[        R                  " U5      S   R                  UR                  USS95      n[        R                  " U
5      U   R                  S5      n
UR                  U
S-  U
-
  SS9nUR!                  UUS-  -
  S-  5      nUS;   a  X-
  U-  nOUR                  nXUUX4$ )Nr   rc   Tr   ra   rl   average)return_tiesr^   Frd      .g      ?g      ?g       @rb   ).r   g              )rk   ri   )r?   rN   atsetnanisnanrz   r   rA   r   absr$   anyaddsubtract
zeros_likesqrt)r   r   r}   r^   r?   i_zerosi_nann_nancountrtr_plusr_minushas_tiesr_zero_2rD   ser   	t_i_zerostie_correctzs                        r   _wilcoxon_statisticr   {   s   GGEAvGh
 FF1Ig""266"5HHQKEU,EIIaggbkE)51ERVVAY	tCDA99QE9*BIIaUI,KqVVBIIa!eU+a/bV9FffRYYq1ue,q0rf:Gvva1f~Hh 66"))G3a7b6AAE$((2&&/#&**84	"*		$B	"*	eb	1Bg 2++G"+=uEVVBZ_%%f&<t&CDVVBZ_%%f&<Vb@P&QR
 MM'*	FF9%f-11"&&r&2JK	FF1Ii $$R(&&A&+K	"{1}$*	+B ''[BFFB522r*   c                 @    US:X  a  gUS:X  a  gUR                  U 5      $ )Nrg   r   rf   ra   )sign)r   r   r^   s      r   _correction_signr      s&    i		wwqzr*   c           	        ^^^ [        XTX4TU5      nUu	  nmp4mpin
m[        U5      S:X  a,  [        UTS9n[        R                  " XS9nTS:X  a  Xl        U$ [        UTTTS9u  pnnnnTS:X  a;  U(       d	  U
S:  d  SmO+UR                  S   S::  a  [        R                  " 5       mOSmTS:X  aV  U(       a9  [        UUTS9n[        R                  " U5      S	   R                  US
-  U-  5      n[        U[        5       UTS9nGOQTS:X  Ga  [!        U5      n["        R$                  " U5      nUS:X  a&  UR'                  ["        R(                  " U5      5      nOUS:X  a&  UR+                  ["        R,                  " U5      5      nOxS["        R.                  " UR+                  ["        R,                  " U5      5      UR'                  ["        R(                  " U5      5      5      -  n["        R0                  " USS5      nTR%                  UUR2                  S9nO>[        R4                  " U4UUU4S j4SS0TR7                  5       DUSS.D6R8                  nUS:X  a  TR/                  X5      OUnUS:X  a  TS:X  a  TR;                  U5      * OUnUR<                  S:X  a  US   OUnUR<                  S:X  a  US   OUn[        R                  " UUS9nU	(       a  UR<                  S:X  a  US   OUUl        U$ )Nr   r^   )	statisticpvaluerk   ri   rj   ra   r   .g      ?rf   rg   r   r   r>   c                 "   > [        U TTTS9S   $ )Nr   r   )r   )r   r   r^   r}   s    r   rK   _wilcoxon_nd.<locals>.<lambda>  s    /6;2NqQr*   permutation_typesamples)r   r`   rh   rM   )r   r   r   r   WilcoxonResult
zstatisticr   rA   r   ry   r   rN   r   r   r   r   r   r   r   rP   ceilrU   floorminimumclipr?   permutation_test_asdictr   r   rp   )r{   r|   r}   r~   r   r   r`   tempr   r   r   NaNresr   r   r   r   r   r   r   pdist	r_plus_npr   r^   s     `  `                  @r   _wilcoxon_ndr      s    k:FDQDRVOA{JVTVRqzQqR ''#B\! N
.A	6;2/+FRE8 FQJFWWR[B
 ,,.F "F#A{r:Dq	#''s
R8A=?KB?	7	#E* JJv&	& +,AI%+,ABJJtwwrxx	':;#xx	(:;= =A1a AJJqJ(""DQ.&.*0..*:. $". /5f 	
 0;K/G

6+VI"k1f6L
STA!*1!4	")I1"!A

#
#i
BC"#&&A+21Jr*   )rc   )Nrc   Trh   ri   r   )numpyr   scipyr   	_stats_pyr   r   r    r   _axis_nan_policyr	   
_hypotestsr
   scipy._lib._utilr   scipy._lib._array_apir   r   r   scipy._lib.array_api_extra_libarray_api_extrarN   r   r   r   r   r   rM   r*   r   <module>r      sU      < <  / + % F F ( (*4 *4Z>WB>3B >B>?Kr*   