+
    nDj+                         ^ RI t^ RIHt ^RIHtHtHt ^RIH	t	 ^RI
Ht ^RIHt ^ RIHt ^ RIHtHtHtHtHtHt ^ RIHu Ht  ! R	 R
4      tR tRR ltR tRR ltR# )    N)stats)_get_pvalue	_rankdata_SimpleNormal)
_morestats)_broadcast_arrays)_get_wilcoxon_distr)_get_nan)array_namespace
xp_promotexp_sizeis_jax	is_marray_count_nonmaskedc                   V   a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
tV tR# )WilcoxonDistributionc                    \         P                  ! V4      P                  \        R R7      pWn        \         P
                  ! V4       Uu/ uF  q"\        V4      bK  	  upV n        R# u upi )FcopyN)npasarrayastypeintnuniquer	   _dists)selfr   nis   && O/data/cameron/venvs/s3viz/lib/python3.14/site-packages/scipy/stats/_wilcoxon.py__init__WilcoxonDistribution.__init__   sN    JJqM  5 1=?YYq\J\r.r22\JJs   
A(c                \    V P                   V,          pVR V^,            P                  4       # Nr   sumr   kr   pmfss   &&& r   _cdf1WilcoxonDistribution._cdf1   s(    {{1~FQU|!!    c                \    \         P                  ! V P                  \        .R 7      ! W4      # )otypes)r   	vectorizer)   floatr   r'   r   s   &&&r   _cdfWilcoxonDistribution._cdf   s    ||DJJw7==r+   c                L    V P                   V,          pW1R  P                  4       # r#   r$   r&   s   &&& r   _sf1WilcoxonDistribution._sf1   s    {{1~Bx||~r+   c                \    \         P                  ! V P                  \        .R 7      ! W4      # r-   )r   r/   r5   r0   r1   s   &&&r   _sfWilcoxonDistribution._sf    s    ||DIIug6q<<r+   c                X    V P                   V P                   ^,           ,          ^,          #    )r   )r   s   &r   meanWilcoxonDistribution.mean#   s    vv!$q((r+   c                    \         P                  ! V4      P                  \        R R7      pV P	                  4       p\         P
                  ! VP                  \         P                  R7      pWV3# )Fr   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                   a  S P                  V4      w  rp\        P                  ! W8*  VS P                  3S P                  V 3R  l4      R,          # )c                 D   < ^SP                  V ^,           V4      ,
          # r;   )r8   r'   r   r   s   &&r   <lambda>*WilcoxonDistribution.cdf.<locals>.<lambda>1   s    TXXac1--r+    )rH   xpxapply_wherer   r2   rE   s   f&  r   cdfWilcoxonDistribution.cdf,   sH    ZZ]
sGa[II-/ 023 	3r+   c                   a  S P                  V4      w  rp\        P                  ! W8*  VS P                  3S P                  V 3R  l4      R,          # )c                 D   < ^SP                  V ^,
          V4      ,
          # r;   )r2   rL   s   &&r   rM   )WilcoxonDistribution.sf.<locals>.<lambda>8   s    TYYqsA..r+   rO   )rH   rP   rQ   r   r8   rE   s   f&  r   sfWilcoxonDistribution.sf3   sH    ZZ]
sGa[HH.0 134 	4r+   )r   r   N)__name__
__module____qualname____firstlineno__r    r)   r2   r5   r8   r=   rH   rR   rW   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s8     K
">=)34 4r+   r   c           	         \        W4      p\        WR VR7      w  r\        P                  ! V4      R,          pRp\        P                  ! VP
                  \        P                  4      '       d   VP                  ^ 8w  d   \        V4      h\        V4      pRp\        \        RR4      ;'       g    \        P                  P                  p	 Vf   T p
M\        W3WgR7      w  rW,
          p
VP                  WR4      p
RpTe5   T P                  T,          TP                  T,          8w  d   \        T4      hRpTP!                  T
P
                  R	4      '       g   \        T4      h\#        T4      P%                  4       p0 RmpRT R2pY,9  d   \        T4      hR R0pRT R2pY=9  d   \        T4      h\#        T4      P%                  4       p0 RmpRT R2pYN9  d   \        T4      h\'        T\(        P*                  4      '       g   0 RmpRT R2pY_9  d   \        T4      hTR8X  d   R MRp\-        T4      '       d   \#        T4      R9   d   Rp\        T4      h\/        T4      '       d   TR8w  g   TR
8w  d   Rp\        T4      hTP1                  T
^ 8H  RR7      pTR8X  d   T
P                  R,          ^28  d   RpYY4YVTTT3	#   T	 d   pT	! T4      ThRp?ii ; i)T)force_floatingxpz`axis` must be an integer.z<`axis` must be compatible with the shape(s) of `x` (and `y`)	AxisErrorN)axisrb   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zsplitz`zero_method` must be one of .Fz`correction` must be one of z`alternative` must be one of auto
asymptoticz`method` must be one of z- or an instance of `stats.PermutationMethod`.zWhen using `wilcoxon` with `jax.numpy` arrays, `method` must be either 'asymptotic' or an instance of `stats.PermutationMethod`.zMOnly `method='asymptotic'`/`zero_method='zsplit'` is compatible with MArrays.rd   rO   >   prattwilcoxre   >   lessgreater	two-sided>   rg   exactrh   >   rg   rp   )r   r   r   r   
issubdtyperA   integerndim
ValueErrorr   getattr
exceptionsrc   r   moveaxisrC   isdtypestrlower
isinstancer   PermutationMethodr   r   count_nonzero)xyzero_method
correctionalternativemethodrd   rb   messagerc   dezero_methodscorrectionsalternativesmethodsoutput_zn_zeros   &&&&&&&           r   _wilcoxon_ivr   ;   s   		Ba4B7DA::dBD*G==RZZ00DIIN!!t9DLGK.I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bzzc&k%66V!!}}&L0K84K#!!
 a1f40FAGGBK",:F(FTVVVk  ( a'(s   1K	 	K	KKc                x   V P                   pV ^ 8H  pVR8X  d9   \        P                  ! V 4      V,          P                  VP                  RR7      p VP                  V 4      pVP                  VP                  VRR7      V4      p\        V RR7      V,
          p\        VP                  V 4      RRVR7      w  rpVP                  WRR7      VP                  WRR7      rVP                  VP                  V ^ 8  V4      V	,          RR7      pVP                  VP                  V ^ 8  V4      V	,          RR7      pVP                  V^ 8H  4      pVR8X  d   VP                  VP                  WT4      V	,          RR7      ^,          p\        P                  ! V4      R	,          P                  V4      p\        P                  ! V4      R	,          P                  V4      pWR
,           ,          R,          pWR
,           ,          RV,          R
,           ,          pVR8X  Ed.   VP                  VP                  VRR7      V4      p\        P                  ! V4      R	,          P                  VVR
,           ,          R,          4      p\        P                  ! V4      R	,          P                  VVR
,           ,          RV,          R
,           ,          4      pVP                  V4      p\        P                  ! V4      R,          P                  VP                  VRR7      4      p\        P                  ! V4      V,          P                  R4      pVP                  V^,          V,
          RR7      pVP!                  VV^,          ,
          ^,          4      pVR9   d   VV,
          V,          pMVP                  pWVVW3# )r   rl   Tr   ri   average)return_tiesrb   Fre   .g      ?g      ?g       @rk   g        rj   ).r   )rh   rg   )rA   rP   atsetnanisnanr   r}   r   r   absr%   anyaddsubtract
zeros_likesqrt)r   r   r   rb   rA   i_zerosi_nann_nancountr_tr_plusr_minushas_tiesr_zero_2rF   ser   	t_i_zerostie_correctzs   &&&$                  r   _wilcoxon_statisticr      s   GGEAvGh
 FF1Ig""266"5HHQKEIIb&&u2&6>EQR(50Eq	9$2FGA!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[BFFB522r+   c                 H    VR 8X  d   ^# VR8X  d   R# VP                  V 4      # )rn   rm   rj   )sign)r   r   rb   s   &&&r   _correction_signr      s(    i			wwqzr+   c           	        aaa \        WSW4SV4      pVw	  por4orip
o\        V4      ^ 8X  d4   \        VSR7      p\        P                  ! WR7      pSR8X  d   Wn        V# \        VSSSR7      w  rppppSR8X  dC   V'       g   V
^ 8  g   RoM0VP                  R,          ^8:  d   \        P                  ! 4       oMRoSR8X  dj   V'       dI   \        VVSR7      p\        P                  ! V4      R,          P                  VR,          V,          4      p\        V\        4       VSR7      pEM\SR8X  Ed   \!        V4      p\"        P$                  ! V4      pVR8X  d'   VP'                  \"        P(                  ! V4      4      pMVR	8X  d'   VP+                  \"        P,                  ! V4      4      pM|^\"        P.                  ! VP+                  \"        P,                  ! V4      4      VP'                  \"        P(                  ! V4      4      4      ,          p\"        P0                  ! V^ ^4      pSP%                  VVP2                  R
7      pM?\        P4                  ! V3VVV3R l3RR/SP7                  4       BRVRR/B P8                  pVR8X  d   SP/                  W4      MTpVR8X  d   SR8X  d   SP;                  V4      ) MTpVP<                  ^ 8X  d
   VR,          MTpVP<                  ^ 8X  d
   VR,          MTp\        P                  ! VVR7      pV	'       d"   VP<                  ^ 8X  d
   VR,          MTVn        V# )r   rb   )	statisticpvaluerh   rg   rp   .g      ?rm   rn   r@   c                 0   < \        V SSSR 7      ^ ,          # )r   )r   )r   rd   r   rb   r   s   &&r   rM   _wilcoxon_nd.<locals>.<lambda>  s    "5aQS"TUV"Wr+   permutation_typesamplesr   rd   ro   rj   rO   )r   r   r
   r   WilcoxonResult
zstatisticr   rC   r   r|   r   rP   r   r   r   r   r   r   r   rR   ceilrW   floorminimumcliprA   permutation_test_asdictr   r   rs   )r~   r   r   r   r   r   rd   tempr   r   r   NaNresr   r   r   r   r   r   r   pdist	r_plus_npr   rb   s   &&f&&f&                 @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W. '. +1..*:. $	. +-	. /5f	 	
 0;K/G

6+VI"k1f6L
STA!*1!4	")I1"!A

#
#i
BC"#&&A+21Jr+   )rl   )Nrl   Tro   rg   r   ) numpyr   scipyr   	_stats_pyr   r   r    r   _axis_nan_policyr   
_hypotestsr	   scipy._lib._utilr
   scipy._lib._array_apir   r   r   r   r   r   scipy._external.array_api_extra	_externalarray_api_extrarP   r   r   r   r   r   rO   r+   r   <module>r      sS      < <  / + %@ @ - -*4 *4ZHWV>3BLr+   