
    (ph$                         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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)
_lazywhere_get_nanc                   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      H/var/www/html/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,   r2   r-   r.   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   r9   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[        X:*  UT R                  4T R                  U 4S jS9S   $ )Nc                 4   > STR                  U S-   U5      -
  $ r    )r5   r$   r   r   s     r   <lambda>*WilcoxonDistribution.cdf.<locals>.<lambda>,   s    !dhhqsA.>*>r(   f2 )rC   r   r   r/   r@   s   `   r   cdfWilcoxonDistribution.cdf)   sC    ZZ]
s!'Atvv;		>@@BD 	Dr(   c                    ^  T R                  U5      u  pn[        X:*  UT R                  4T R                  U 4S jS9S   $ )Nc                 4   > STR                  U S-
  U5      -
  $ r    )r/   rG   s     r   rH   )WilcoxonDistribution.sf.<locals>.<lambda>1   s    !dii!Q.?*?r(   rJ   rL   )rC   r   r   r5   r@   s   `   r   sfWilcoxonDistribution.sf.   sC    ZZ]
s!'Atvv;?AACE 	Er(   )r   r   N)__name__
__module____qualname____firstlineno__r   r&   r/   r2   r5   r9   rC   rM   rR   __static_attributes__rL   r(   r   r   r      s2    K
">=)D
Er(   r   c                 6   [         R                  " U5      S   nSn[         R                  " UR                  [         R                  5      (       a  UR
                  S:w  a  [        U5      eSn Uc  [         R                  " U 5      n U nO[        X4US9u  pX-
  n[         R                  " XS5      nSnUb+  U R                  U   UR                  U   :w  a  [        U5      eSn[         R                  " UR                  [         R                  5      (       a  UR                  [         R                  5      n[         R                  " UR                  [         R                  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XL;  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[         R&                  " US:H  5      nUS:X  a  UR                  S   S:  a  SnXX4XVX4$ ! [         R                   a  n	[        U5      U	eS n	A	ff = f)NrL   z`axis` must be an integer.r   z<`axis` must be compatible with the shape(s) of `x` (and `y`)axisz3`x` and `y` must have the same length along `axis`.z<`x` (and `y`, if provided) must be an array of real numbers.>   prattwilcoxzsplitz`zero_method` must be one of .TFz`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`.rf   rd   2   )r   r   
issubdtyper<   integerndim
ValueErrorr	   moveaxis	AxisErrorr>   r   r?   floatingstrlower
isinstancer   PermutationMethodr"   )xyzero_method
correctionalternativemethodr[   messagedezero_methodscorrectionsalternativesmethodsoutput_zn_zeros                   r   _wilcoxon_ivr   4   sU   ::dBD*G==RZZ00DIIN!!LG	)9

1AA$aV$7DAAKK$ DG}!''$-7!!LG	}}QWWbjj))HHRZZ =="++..!!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
 VVAF^FAGGBK",:F(RR[ << )!q()s   .AI3 3JJJc                    U S:H  nUS:X  a6  U R                   S   (       d  U R                  5       n [        R                  X'   [        R                  " U 5      n[        R
                  " USS9nU R                  S   U-
  n[        [        U 5      SSS9u  px[        R
                  " U S:  U-  SS9n	[        R
                  " U S:  U-  SS9n
US:H  R                  5       nUS	:X  a"  [        R
                  " X7-  SS9S
-  nX-  n	X-  n
XfS-   -  S-  nXfS-   -  SU-  S-   -  nUS:X  aB  UR                  SS9nXUS-   -  S-  -  nXUS-   -  SU-  S-   -  -  nSXR                  SS9S4'   US-  U-
  R                  SS9nUUS
-  -  n[        R                  " US-  5      nUS;   a  X-
  U-  nO[        R                  nXUUXk4$ )Nr   r^   	WRITEABLEr\   rZ   averageT)return_tiesr_      g      ?g      ?g       @r]         )rf   rd   )flagsr   r   nanisnanr"   r>   r   absanysqrt)rz   rx   ru   i_zerosi_nann_nancountrtr_plusr_minushas_tiesr_zero_2rA   ser   tie_correctzs                     r   _wilcoxon_statisticr   t   s   AvGh ww{#AVV
HHQKEFF5r"EGGBK%ESVYD9DAVVQUaKb)Fffa!eq[r*GQ||~Hh 66'+B/!3	"*		$B	"*	eb	1Bg "%
$t++
$Vb(899 &'++2+

!"a4!8..b.)K+a-B	b	B ''[BFFB522r(   c                 J    US:X  a  gUS:X  a  g[         R                  " U 5      $ )Nrb   r   ra   r\   )r   sign)r   rw   s     r   _correction_signr      s&    i		wwqzr(   c           	        ^^ [        XTX4TU5      nUu  nmp4mpin
UR                  S:X  a-  [        U5      n[        R                  " XS9nTS:X  a  Xl        U$ [        UTT5      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  a8  U(       a  [        UU5      nUUS-  U-  -  n[        U[        5       U[        S	9nGOTS:X  a  [        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OS[        R&                  " UR#                  [        R$                  " U5      5      UR                  [        R                   " U5      5      5      -  n[        R(                  " USS5      nO=[        R*                  " U4UU4S j4SS0TR-                  5       DUSS.D6R.                  nUS:X  a  [        R&                  " X5      OUnUS:X  a  TS:X  a  [        R0                  " U5      * OUn[        R                  " UUS   S9nU	(       a
  US   Ul        U$ )Nr   )	statisticpvaluerf   rd   re   r\      g      ?)xpra   rb   r   r   c                 $   > [        U TT5      S   $ )Nr   )r   )rz   rx   ru   s    r   rH   _wilcoxon_nd.<locals>.<lambda>   s    /6;GJr(   permutation_typesamples)rw   r[   rc   rL   )r   sizer   r   WilcoxonResult
zstatisticr   r>   r   rr   r   r   r   r   r   rM   ceilrR   floorminimumclippermutation_test_asdictr   r   )rs   rt   ru   rv   rw   rx   r[   temprz   r   r   NaNresr   r   r   r   r   r   r   pdistr   s     `  `                 r   _wilcoxon_ndr      s<    k:FDQDNRKA{JVTVvv{qk''#B\! N
.A	6;/+FRE8 FQJFWWR[B
 ,,.F "F#A{3Db A=?KB?	7	#E* & )AI%()ABJJtwwrxx'78#xx8: :A1a A""DJ.&.*0..*:. $". /5f 	
 0;K/G

6+VI"k1f6L
STA

#
#i"
FC2Jr(   )r^   )Nr^   Trc   rd   r   )numpyr   scipyr   	_stats_pyr   r   r    r   _axis_nan_policyr	   
_hypotestsr
   scipy._lib._utilr   r   r   r   r   r   r   rL   r(   r   <module>r      sK      < <  / + 1&E &ER=S@<3~ >B>?Gr(   