L i#%ddlZddlmZddlmZmZmZddlm Z ddl m Z ddl m Z ddlmZddlmcmZGd d Zd Zdd Zd Z ddZy)N)stats) _get_pvalue _rankdata _SimpleNormal) _morestats)_broadcast_arrays)_get_wilcoxon_distr)_get_nancBeZdZdZdZdZdZdZdZdZ dZ d Z y ) WilcoxonDistributionctj|jtd}||_tj |Dcic]}|t |c}|_ycc}w)NFcopy)npasarrayastypeintnuniquer _dists)selfrnis [/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/scipy/stats/_wilcoxon.py__init__zWilcoxonDistribution.__init__sN JJqM 5 1=?YYq\Jrr.r22J Js A%cL|j|}|d|dzjSNrrsumrkrpmfss r_cdf1zWilcoxonDistribution._cdf1s({{1~FQU|!!c\tj|jtg||SN)otypes)r vectorizer#floatrr!rs r_cdfzWilcoxonDistribution._cdfs"7r||DJJw71==r$cF|j|}||djS)Nrr s r_sf1zWilcoxonDistribution._sf1s!{{1~ABx||~r$c\tj|jtg||Sr&)rr(r-r)r*s r_sfzWilcoxonDistribution._sfs"6r||DIIug6q!<z*WilcoxonDistribution.cdf../sTXXac1--r$)r;xpx apply_whererr+r8s` rcdfzWilcoxonDistribution.cdf*sLZZ] 2s Ga[ II -/023 3r$cj|\}}}tj||k|jfjfddS)Nc4dj|dz |z Sr)r+r>s rr?z)WilcoxonDistribution.sf..6sTYYqsA..r$r@)r;rArBrr/r8s` rsfzWilcoxonDistribution.sf1sLZZ] 2s Ga[ HH .0134 4r$N) __name__ __module__ __qualname__rr#r+r-r/r2r;rCrFr@r$rr r s0K ">=) 34r$r c6tj|d}d}tj|jtjr|j dk7r t |d}ttddxstjj} |tj|}|} nt||f|\}}||z } tj| |d} d}|*|j||j|k7r t |d }tj| jtjr| jtj} tj| jtjs t |t!|j#}hd } d | d }|| vr t |d dh} d| d }|| vr t |t!|j#}hd} d| d }|| vr t |t%|t&j(shd}d|d}||vr t ||dk(rd nd}tj*| dk(}|dk(r| jddkDrd}| |||||||fS#|$r} ||| d} ~ wwxYw)Nr@z`axis` must be an integer.rz<`axis` must be compatible with the shape(s) of `x` (and `y`) AxisErroraxisz3`x` and `y` must have the same length along `axis`.z<`x` (and `y`, if provided) must be an array of real numbers.>prattwilcoxzsplitz`zero_method` must be one of .TFz`correction` must be one of >lessgreater two-sidedz`alternative` must be one of >autoexact asymptoticz`method` must be one of z- or an instance of `stats.PermutationMethod`.rXrV2)rr issubdtyper4integerndim ValueErrorgetattr exceptionsrKr moveaxisr6rr7floatingstrlower isinstancerPermutationMethodr)xy zero_method correction alternativemethodrMmessagerKde zero_methods corrections alternativesmethodsoutput_zn_zeros r _wilcoxon_ivru9sz ::d B D*G ==RZZ 0DIIN!!LGK.I"--2I2II ( 9 1 AA$aV$7DAqAA KK4 $DG}!''$-7!!LG }}QWWbjj) HHRZZ  =="++ .!!k"((*K0L-l^1=G,&!!-K,[M;G$!!k"((*K3L-l^1=G,&!! fe55 61-gY7??  W% %-t5H VVAF^F AGGBK", k:{FD(F RR[ ( a'(sAJJ JJc|dk(}|dk(r2|jds|j}tj||<tj|}tj |d}|j d|z }tt|dd\}}tj |dkD|zd} tj |dk|zd} |dk(j} |d k(r'tj ||zdd z } | | z } | | z } ||d zzd z} ||d zzd |zd zz}|dk(rK|j d}| ||d zzd zz} |||d zzd |zd zzz}d||jddf<|dz|z j d}||d z z}tj|dz }|dvr | | z |z }ntj}| | |||| fS)NrrP WRITEABLErNrLaverageT) return_tiesrQg?g?g@rO)rXrV) flagsrrnanisnanrr6rabsanysqrt)rmrkrhi_zerosi_nann_nancountrtr_plusr_minushas_tiesr_zero_2r9sert tie_correctzs r_wilcoxon_statisticrzsAvGhww{#AVV' HHQKE FF5r "E GGBK% E SVYD 9DAq VVQUaKb )Fffa!eq[r*GQ||~Hh66'A+B/!3(8 %"*  $B %"* eb 1Bg"% f $t++ f $V b(899&''++2+  !"a4!8..b.)K+a-B b B'' b[B  FF 7B5( 22r$cD|dk(ry|dk(rytj|S)NrTrrSrN)rsign)rrjs r_correction_signrs&i  wwqzr$c t|||||}|\}}}}} } |jdk(r0t|} tj| | } dk(r| | _| St |\} }}}}}dk(r3|s| dkDsdn)|jddkrtjnddk(r6|rt||}||dz|z z}t|t|t }ndk(rt|}|d k(r%|jtj | }n|d k(r%|j#tj$| }nd tj&|j#tj$| |jtj | z}tj(|dd }n;tj*|ffdfddij-|ddj.}|dk(rtj&| |n| }|dk(rdk(rtj0| n|}tj||d} | r |d| _| S)Nr) statisticpvaluerXrVrWrN g?)xprSrTrzrc$t|dS)Nr)r)rmrkrhs rr?z_wilcoxon_nd..s/6;GJr$permutation_typesamples)rjrMrUr@)rusizer rWilcoxonResult zstatisticrr6rrerrrrr rCceilrFfloorminimumclippermutation_test_asdictrr)rfrgrhrirjrkrMtemprmrsrtNaNresrrrrrrrpdistrs ` ` r _wilcoxon_ndrsL 1k:{FD QDNRKA{J VT8Vvv{qk''#cB \ ! CN .A 6;/+FGRE8FQJF WWR[B  ,,.F"F  #A{3D b A =?KB ? 7 #E* & )A I %()ABJJtwwrxx'78#xx8::A1a A  " " DJ .& .*0..*: .$" ./5f 0;K/G 67+VI"k1f 6L STA  # #i" FC2 Jr$)rP)NrPTrUrVr)numpyrscipyr _stats_pyrrrr_axis_nan_policyr _hypotestsr scipy._lib._utilr scipy._lib.array_api_extra_libarray_api_extrarAr rurrrr@r$rrsO<</+%((*4*4Z>SB<3~>B>?Gr$