ó
    EñiÛ(  ã                   óº   • 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      ÚR/home/mande/repo/quber/.venv/lib/python3.13/site-packages/scipy/stats/_wilcoxon.pyÚ__init__ÚWilcoxonDistribution.__init__   sN   € Ü�JŠJ�q‹M× Ñ ¤¨5Ð Ð1ˆØŒÜ=?¿YºYÀq¼\Ó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‰~ˆØ�F�Q˜‘Uˆ|×ÑÓ!Ð!ó    c                 óV   • [         R                  " U R                  [        /S9" X5      $ ©N)Úotypes)r   Ú	vectorizer(   Úfloat©r   r&   r   s      r   Ú_cdfÚWilcoxonDistribution._cdf   s   € Ü�|Š|˜DŸJ™J´¨wÒ7¸Ó=Ð=r*   c                 óD   • U R                   U   nX1S  R                  5       $ )Nr#   r%   s       r   Ú_sf1ÚWilcoxonDistribution._sf1   s   € Ø�{‰{˜1‰~ˆØ�Bˆx�|‰|‹~Ðr*   c                 óV   • [         R                  " U R                  [        /S9" X5      $ r,   )r   r.   r4   r/   r0   s      r   Ú_sfÚWilcoxonDistribution._sf   s   € Ü�|Š|˜DŸI™I¬u¨gÒ6°qÓ<Ð<r*   c                 ó@   • U R                   U R                   S-   -  S-  $ )Nr   é   )r   )r   s    r   ÚmeanÚWilcoxonDistribution.mean"   s   € Ø�v‰v˜Ÿ™ !™Ñ$ 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   € Ü�JŠJ�q‹M× Ñ ¤¨5Ð Ð1ˆØ�Y‰Y‹[ˆÜ�hŠh�q—w‘w¤b§j¡jÑ1ˆØ�cˆzÐ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   ø€ ˜˜TŸX™X a¨¡c¨1Ó-Ò-r*   © )rF   ÚxpxÚapply_wherer   r1   rC   s   `   r   ÚcdfÚWilcoxonDistribution.cdf+   sH   ø€ Ø—Z‘Z “]‰
ˆˆsÜ�ŠØ‰G�a˜Ÿ™�[Ø�I‰IÜ-ó/ð 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   ø€ ˜˜TŸY™Y q¨¡s¨AÓ.Ò.r*   rM   )rF   rN   rO   r   r7   rC   s   `   r   ÚsfÚWilcoxonDistribution.sf2   sH   ø€ Ø—Z‘Z “]‰
ˆˆsÜ�ŠØ‰G�a˜Ÿ™�[Ø�H‰HÜ.ó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                  X¦S	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X¢X4XVU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Ü�a¨4°BÑ7�D€Aä�:Š:�dÓ˜BÑ€DØ*€GÜ�=Š=˜Ÿ™¤R§Z¡Z×0Ñ0°D·I±IÀ³NÜ˜Ó!Ð!Üˆt‹9€DàL€GÜœ˜K¨Ó.×I´"·-±-×2IÑ2I€Ið(Ø‰9Ø‰Aä$ a V°$Ñ>‰DˆAØ‘ˆAØ�K‰K˜ Ó$ˆð D€GØ�}˜Ÿ™ ™¨!¯'©'°$©-Ó7Ü˜Ó!Ð!àL€GØ�:‰:�a—g‘g˜×/Ñ/Ü˜Ó!Ð!ä�kÓ"×(Ñ(Ó*€KÚ0€LØ-¨l¨^¸1Ð=€GØÓ&Ü˜Ó!Ð!à˜�-€KØ,¨[¨M¸Ð;€GØÓ$Ü˜Ó!Ð!ä�kÓ"×(Ñ(Ó*€KÚ3€LØ-¨l¨^¸1Ð=€GØÓ&Ü˜Ó!Ð!ä�fœe×5Ñ5×6Ñ6Ú1ˆØ-¨g¨Yð 7?ð ?ˆàÓ Ü˜WÓ%Ð%Ø Ó-‰t°5€Hð
 ×Ñ˜a 1™f¨4ÐÐ0€FØ�Ó˜AŸG™G B™K¨"Ó,Øˆà˜:°FÀ(ÈFÐTVÐVÐVøðW ó (Ù˜Ó  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  pšUR                  X”S	S9UR                  X¤S	S9p©U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XˆS-   -  S-  nXˆS-   -  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X¼UUX�4$ )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ò  € Ø�G‰G€EØ�A‰v€Gà�hÓô
 �FŠF�1‹I�gÑ×"Ñ" 2§6¡6°Ð"Ð5ˆà�H‰H�Q‹K€EØ×Ñ˜U¨ÐÐ,€EØ�I‰I�a—g‘g˜b‘k EÑ)¨5Ó1€Eä�R—V‘V˜A“Y 	°tÀÑC�D€AØ�9‰9�Q Eˆ9Ð*¨B¯I©I°aÀU¨IÐ,K€qà�V‰V�B—I‘I˜a !™e UÓ+¨aÑ/°bˆVÐ9€FØ�f‰f�R—Y‘Y˜q 1™u eÓ,¨qÑ0°rˆfÐ:€Gà�v‰v�a˜1‘f‹~€Hà�hÓð —6‘6˜"Ÿ)™) GÓ3°aÑ7¸b�6ÐAÀAÑEˆÜ—’˜“ Ñ$×(Ñ(¨Ó2ˆÜ—&’&˜“/ #Ñ&×*Ñ*¨8Ó4ˆà	˜"‘*Ñ	 Ñ	$€BØ	˜"‘*Ñ	  e¡¨b¡Ñ	1€Bà�gÓð —‘˜2×+Ñ+¨G¸"Ð+Ð=¸uÓEˆÜ�VŠV�B‹Z˜‰_×%Ñ% f°¸±Ñ&<¸tÑ&CÓDˆÜ�VŠV�B‹Z˜‰_×%Ñ% f°¸±Ñ&<ÀÀVÁÈbÑ@PÑ&QÓRˆð
 —M‘M 'Ó*ˆ	Ü—F’F˜9Ó% fÑ-×1Ñ1°"·&±&¸Àr°&Ð2JÓKˆ	Ü�FŠF�1‹I�iÑ ×$Ñ$ RÓ(ˆà—&‘&˜˜A™ ™¨�&Ð+€KØ	�‰�"�{ 1‘}Ñ$¨Ñ*Ó	+€Bð Ð'Ó'Ø‰[˜BÑ‰à�F‰Fˆà˜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ÓØØ	˜Ó	Øà�w‰w�q‹zÐ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                  " X»S9nTS:X  a  X¼l        U$ [        UTTTS9u  pÞn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O¤U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/                  XÞ5      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ÑNÈqÒ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¨:ÀFÈDÓQ€DØRVÑO€A€{�J¨V°TÀVÈRäˆqƒz�QƒÜ�q˜RÑ ˆÜ×'Ò'°#ÑBˆØ�\Ó!Ø ŒNØˆ
ä.AØ	ˆ6�; 2ñ/Ñ+€F�R˜˜E 8ð �ÓÞ˜F Q›JØ‰FØ�W‰W�R‰[˜BÓô
 ×,Ò,Ó.‰Fð "ˆFà�ÓÞÜ# A {°rÑ:ˆDÜ—’�q“	˜#‘×'Ñ'¨¨s©
°R©Ó8ˆAÜ˜œ=›?¨K¸BÑ?ŠØ	�7Ô	Ü# EÓ*ˆô —J’J˜vÓ&ˆ	Ø˜&Ó Ø—‘œŸš Ó+Ó,‰AØ˜IÓ%Ø—‘œŸš Ó+Ó,‰Aà”B—J’J˜tŸw™w¤r§x¢x°	Ó':Ó;Ø#Ÿx™x¬¯ª°	Ó(:Ó;ó=ñ =ˆAä—’˜˜1˜aÓ ˆAØ�J‰J�q §¡ˆJÐ(‰ä×"Ò"ØˆDÖQñ.à&ð.à*0¯.©.Ó*:ð.ð $¨"ó.÷ /5©fð 	
ð 0;¸KÓ/G�—
‘
˜6Ô+ÈV€IØ" kÓ1°fÀÓ6Lˆ�‰�‹‰
ÐST€Aà!*§¡°1Ó!4�	˜"’¸)€IØ—‘˜1“ˆˆ"Š !€AÜ
×
#Ò
#¨iÀÑ
B€CÞØ"#§&¡&¨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ñ *4òZ>WôB>3òBð >BØ>?õKr*   