§
    ¢éUg�!  ã                   ó¤   — d dl Z d dlZd dlmZ ddlmZmZmZ ddl	m
Z
 ddlmZ ddlmZ d dlmZmZ  G d	„ d
¦  «        Zd„ Zdd„Zd„ Z	 	 dd„ZdS )é    N)Ústatsé   )Ú_get_pvalueÚ	_rankdataÚ_SimpleNormal)Ú
_morestats)Ú_broadcast_arrays©Ú_get_wilcoxon_distr)Ú
_lazywhereÚ_get_nanc                   óD   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
S )ÚWilcoxonDistributionc                 ó¶   — t          j        |¦  «                             t          d¬¦  «        }|| _        d„ t          j        |¦  «        D ¦   «         | _        d S )NF©Úcopyc                 ó.   — i | ]}|t          |¦  «        “ŒS © r
   )Ú.0Únis     úT/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/scipy/stats/_wilcoxon.pyú
<dictcomp>z1WilcoxonDistribution.__init__.<locals>.<dictcomp>   s#   € ÐJÐJÐJ°r�rÕ.¨rÑ2Ô2ÐJÐJÐJó    )ÚnpÚasarrayÚastypeÚintÚnÚuniqueÚ_dists)Úselfr   s     r   Ú__init__zWilcoxonDistribution.__init__   sJ   € ÝŒJ�q‰MŒM× Ò ¥¨5Ð Ñ1Ô1ˆØˆŒØJÐJ½R¼YÀq¹\¼\ÐJÑJÔJˆŒˆˆr   c                 óZ   — | j         |         }|d |dz   …                              ¦   «         S ©Nr   ©r    Úsum©r!   Úkr   Úpmfss       r   Ú_cdf1zWilcoxonDistribution._cdf1   s+   € ØŒ{˜1Œ~ˆØ�F�Q˜‘U�FŒ|×ÒÑ!Ô!Ð!r   c                 óX   —  t          j        | j        t          g¬¦  «        ||¦  «        S ©N)Úotypes)r   Ú	vectorizer*   Úfloat©r!   r(   r   s      r   Ú_cdfzWilcoxonDistribution._cdf   s'   € Ø7�rŒ|˜DœJµ¨wÐ7Ñ7Ô7¸¸1Ñ=Ô=Ð=r   c                 óT   — | j         |         }||d …                              ¦   «         S )Nr%   r'   s       r   Ú_sf1zWilcoxonDistribution._sf1   s#   € ØŒ{˜1Œ~ˆØ�A�B�BŒx�|Š|‰~Œ~Ðr   c                 óX   —  t          j        | j        t          g¬¦  «        ||¦  «        S r,   )r   r.   r3   r/   r0   s      r   Ú_sfzWilcoxonDistribution._sf   s'   € Ø6�rŒ|˜DœI­u¨gÐ6Ñ6Ô6°q¸!Ñ<Ô<Ð<r   c                 ó,   — | j         | j         dz   z  dz  S )Nr   é   )r   )r!   s    r   ÚmeanzWilcoxonDistribution.mean!   s   € ØŒv˜œ !™Ñ$ qÑ(Ð(r   c                 óÚ   — t          j        |¦  «                             t          d¬¦  «        }|                      ¦   «         }t          j        |j        t           j        ¬¦  «        }|||fS )NFr   )Údtype)r   r   r   r   r8   ÚemptyÚshapeÚfloat64©r!   r(   ÚmnÚouts       r   Ú_prepzWilcoxonDistribution._prep$   sS   € ÝŒJ�q‰MŒM× Ò ¥¨5Ð Ñ1Ô1ˆØ�YŠY‰[Œ[ˆÝŒh�q”w¥b¤jÐ1Ñ1Ô1ˆØ�"�cˆzÐr   c                 óŽ   ‡ — ‰                       |¦  «        \  }}}t          ||k    |‰ j        f‰ j        ˆ fd„¬¦  «        d         S )Nc                 ó<   •— d‰                      | dz   |¦  «        z
  S r$   )r5   ©r(   r   r!   s     €r   ú<lambda>z*WilcoxonDistribution.cdf.<locals>.<lambda>-   s   ø€ ¨!¨d¯hªh°q¸±s¸AÑ.>Ô.>Ñ*>€ r   ©Úf2r   )rA   r   r   r1   r>   s   `   r   ÚcdfzWilcoxonDistribution.cdf*   sZ   ø€ Ø—Z’Z ‘]”]‰
ˆˆ2ˆsÝ˜!˜rš' A t¤v ;°´	Ø>Ð>Ð>Ð>ð@ñ @ô @Ø@BôDð 	Dr   c                 óŽ   ‡ — ‰                       |¦  «        \  }}}t          ||k    |‰ j        f‰ j        ˆ fd„¬¦  «        d         S )Nc                 ó<   •— d‰                      | dz
  |¦  «        z
  S r$   )r1   rD   s     €r   rE   z)WilcoxonDistribution.sf.<locals>.<lambda>2   s   ø€ ¨!¨d¯iªi¸¸!¹¸QÑ.?Ô.?Ñ*?€ r   rF   r   )rA   r   r   r5   r>   s   `   r   ÚsfzWilcoxonDistribution.sf/   sZ   ø€ Ø—Z’Z ‘]”]‰
ˆˆ2ˆsÝ˜!˜rš' A t¤v ;°´Ø?Ð?Ð?Ð?ðAñ Aô AØACôEð 	Er   N)Ú__name__Ú
__module__Ú__qualname__r"   r*   r1   r3   r5   r8   rA   rH   rK   r   r   r   r   r      s¦   € € € € € ðKð Kð Kð
"ð "ð "ð>ð >ð >ðð ð ð=ð =ð =ð)ð )ð )ðð ð ðDð Dð Dð
Eð Eð Eð Eð Er   r   c                 ó®  — t          j        |¦  «        d         }d}t          j        |j        t           j        ¦  «        r|j        dk    rt          |¦  «        ‚d}	 |€t          j        | ¦  «        } | }nt          | |f|¬¦  «        \  } }| |z
  }t          j        ||d¦  «        }n'# t           j	        $ r}	t          |¦  «        |	‚d }	~	ww xY wd}|�+| j
        |         |j
        |         k    rt          |¦  «        ‚d}t          j        |j        t           j        ¦  «        r|                     t           j        ¦  «        }t          j        |j        t           j        ¦  «        st          |¦  «        ‚t          |¦  «                             ¦   «         }h d	£}
d
|
› d�}||
vrt          |¦  «        ‚ddh}d|› d�}||vrt          |¦  «        ‚t          |¦  «                             ¦   «         }h d£}d|› d�}||vrt          |¦  «        ‚t!          |t"          j        ¦  «        sh d£}d|› d�}||vrt          |¦  «        ‚|dk    rdnd}t          j        |dk    d¬¦  «        }t          j        |dk    ¦  «        }|dk    r|j
        d         dk    r|sd}nd}t          j        |dk    ¦  «        }|dk    r|dk    rd}t+          j        dd¬¦  «         |dk    r4|dv r0||j        k    r%|j        dk    r|j        dk    rt          d¦  «        ‚d|j
        d         cxk     rdk     rn n|dk    rt+          j        dd¬¦  «         |||||||fS ) Nr   z`axis` must be an integer.r   z<`axis` must be compatible with the shape(s) of `x` (and `y`)©Úaxiséÿÿÿÿz3`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Úapproxz`method` must be one of z- or an instance of `stats.PermutationMethod`.r\   rZ   é2   r[   z^Exact p-value calculation does not work if there are zeros. Switching to normal approximation.é   )Ú
stacklevel)rT   rS   r   zOzero_method 'wilcox' and 'pratt' do not work if x - y is zero for all elements.é
   z/Sample size too small for normal approximation.)r   r   Ú
issubdtyper:   ÚintegerÚndimÚ
ValueErrorr	   ÚmoveaxisÚ	AxisErrorr<   r   r=   ÚfloatingÚstrÚlowerÚ
isinstancer   ÚPermutationMethodr&   ÚanyÚwarningsÚwarnÚsize)ÚxÚyÚzero_methodÚ
correctionÚalternativeÚmethodrQ   ÚmessageÚdÚeÚzero_methodsÚcorrectionsÚalternativesÚmethodsÚoutput_zÚn_zeroÚ	has_zeross                    r   Ú_wilcoxon_ivr€   5   sç  € åŒ:�dÑÔ˜BÔ€DØ*€GÝŒ=˜œ¥R¤ZÑ0Ô0ð "°D´IÀ²N°NÝ˜Ñ!Ô!Ð!àL€Gð	)Øˆ9Ý”
˜1‘”ˆAØˆAˆAå$ a¨ V°$Ð7Ñ7Ô7‰DˆAˆqØ�A‘ˆAÝŒK˜˜4 Ñ$Ô$ˆˆøÝŒ<ð )ð )ð )Ý˜Ñ!Ô! qÐ(øøøøð)øøøð D€GØ€}˜œ œ¨!¬'°$¬-Ò7Ð7Ý˜Ñ!Ô!Ð!àL€GÝ	„}�Q”W�bœjÑ)Ô)ð !Ø�HŠH•R”ZÑ Ô ˆÝŒ=˜œ¥"¤+Ñ.Ô.ð "Ý˜Ñ!Ô!Ð!å�kÑ"Ô"×(Ò(Ñ*Ô*€KØ0Ð0Ð0€LØ=¨lÐ=Ð=Ð=€GØ˜,Ð&Ð&Ý˜Ñ!Ô!Ð!à˜�-€KØ;¨[Ð;Ð;Ð;€GØ˜Ð$Ð$Ý˜Ñ!Ô!Ð!å�kÑ"Ô"×(Ò(Ñ*Ô*€KØ3Ð3Ð3€LØ=¨lÐ=Ð=Ð=€GØ˜,Ð&Ð&Ý˜Ñ!Ô!Ð!å�f�eÔ5Ñ6Ô6ð &Ø-Ð-Ð-ˆð?¨gð ?ð ?ð ?ˆà˜Ð Ð Ý˜WÑ%Ô%Ð%Ø Ò)Ð)ˆtˆt¨u€Hõ ŒV�A˜’F Ð$Ñ$Ô$€FÝ”�v ’zÑ"Ô"€IØ�ÒÐØŒ7�2Œ;˜"ÒÐ YÐØˆFˆFàˆFåŒV�A˜’F‰^Œ^€FØ�‚z€z�f Ò'Ð'ØˆÝŒð Bà!"ð	$ñ 	$ô 	$ð 	$ð 	�(ÒÐ˜{Ð.AÐAÐAØ˜!œ&Ò Ð  Q¤V¨a¢Z Z°A´F¸a²K°KÝð Cñ Dô Dð 	Dð 	ˆ1Œ7�2Œ;ÐÐÒÐ˜ÒÐÐÐÐ ¨(Ò 2Ð 2ÝŒÐGÐTUÐVÑVÔVÐVàˆk˜: {°F¸DÀ(ÐJÐJs   ÁA
B) Â)CÂ8CÃCrT   c                 ó|  — | dk    }|dk    r0| j         d         s|                      ¦   «         } t          j        | |<   t          j        | ¦  «        }t          j        |d¬¦  «        }| j        d         |z
  }t          t          | ¦  «        dd¬¦  «        \  }}t          j        | dk    |z  d¬¦  «        }t          j        | dk     |z  d¬¦  «        }	|d	k    r&t          j        ||z  d¬¦  «        d
z  }
||
z  }|	|
z  }	||dz   z  dz  }||dz   z  d|z  dz   z  }|dk    rS|                     d¬¦  «        }|||dz   z  dz  z  }|||dz   z  d|z  dz   z  z  }d|| 	                    d¬¦  «        df<   |dz  |z
                       d¬¦  «        }||d
z  z  }t          j
        |dz  ¦  «        }||z
  |z  }||	|||fS )Nr   rT   Ú	WRITEABLErR   rP   ÚaverageT)Úreturn_tiesrU   r^   g      ð?g      Ð?g       @rS   é   é   )Úflagsr   r   ÚnanÚisnanr&   r<   r   Úabsrl   Úsqrt)rw   rr   Úi_zerosÚi_nanÚn_nanÚcountÚrÚtÚr_plusÚr_minusÚr_zero_2r?   Úser~   Útie_correctÚzs                   r   Ú_wilcoxon_statisticr˜   †   s  € à�AŠv€Gà�hÒÐð Œw�{Ô#ð 	Ø—’‘”ˆAÝ”Vˆˆ'‰
åŒH�Q‰KŒK€EÝŒF�5˜rÐ"Ñ"Ô"€EØŒG�BŒK˜%Ñ€Eå•S˜‘V”V˜Y°DÐ9Ñ9Ô9�D€A€qåŒV�Q˜’U˜a‘K bÐ)Ñ)Ô)€FÝŒf�a˜!’e˜q‘[ rÐ*Ñ*Ô*€Gà�hÒÐõ ”6˜' A™+¨BÐ/Ñ/Ô/°!Ñ3ˆØ�(ÑˆØ�8Ñˆà	�%˜"‘*Ñ	 Ñ	$€BØ	�%˜"‘*Ñ	  e¡¨b¡Ñ	1€Bà�gÒÐð —’ "�Ñ%Ô%ˆØ
ˆf˜ ™Ñ$ tÑ+Ñ+ˆØ
ˆf˜ ™Ñ$¨¨V©°bÑ(8Ñ9Ñ9ˆð &'ˆˆ'�+Š+˜2ˆ+Ñ
Ô
 Ð
!Ñ"à�a‘4˜!‘8—.’. b�.Ñ)Ô)€KØˆ+�a‰-Ñ€BÝ	Œ��b‘Ñ	Ô	€Bà	�"‰˜Ñ€Aà�7˜B  5Ð(Ð(r   c                 óJ   — |dk    rdS |dk    rdS t          j        | ¦  «        S )NrX   r   rW   rR   )r   Úsign)r—   rt   s     r   Ú_correction_signr›   »   s0   € Ø�iÒÐØˆqØ	˜Ò	Ð	ØˆråŒw�q‰zŒzÐr   TrY   rZ   c           	      ó–  ‡— t          | |‰||||¦  «        }|\  }Š}}}}}	|j        dk    r4t          |¦  «        }
t          j        |
|
¬¦  «        }|dk    r|
|_        |S t          |‰¦  «        \  }}}}}|dk    rC|rt          ||¦  «        }||dz  |z  z  }t          |t          ¦   «         |t          ¬¦  «        }�n|dk    rät          |¦  «        }|dk    r(|                     t          j        |¦  «        ¦  «        }nÜ|dk    r(|                     t          j        |¦  «        ¦  «        }n®d	t          j        |                     t          j        |¦  «        ¦  «        |                     t          j        |¦  «        ¦  «        ¦  «        z  }t          j        |dd
¦  «        }n5t%          j        |fˆfd„fddi|                     ¦   «         ¤|ddœ¤Žj        }|dk    rt          j        ||¦  «        n|}|dk    r|dk    rt          j        |¦  «         n|}t          j        ||d         ¬¦  «        }|	r|d         |_        |S )Nr   )Ú	statisticÚpvaluer\   g      à?)Úxpr[   rW   rX   r^   r   c                 ó0   •— t          | ‰¦  «        d         S )Nr   )r˜   )rw   rr   s    €r   rE   z_wilcoxon_nd.<locals>.<lambda>ë   s   ø€ Õ/°°;Ñ?Ô?ÀÔB€ r   Úpermutation_typeÚsamplesrR   )rt   rQ   rY   r   )r€   ro   r   r   ÚWilcoxonResultÚ
zstatisticr˜   r›   r   r   r   r   rH   ÚceilrK   ÚfloorÚminimumÚclipr   Úpermutation_testÚ_asdictrž   rŠ   )rp   rq   rr   rs   rt   ru   rQ   Útemprw   r}   ÚNaNÚresr’   r“   r•   r—   r�   rš   ÚpÚdistr�   s     `                  r   Ú_wilcoxon_ndr°   Ä   s|  ø€ õ ˜˜1˜k¨:°{ÀFÈDÑQÔQ€DØFJÑC€A€{�J ¨V°T¸8à„v�‚{€{Ý�q‰kŒkˆÝÔ'°#¸cÐBÑBÔBˆØ�XÒÐØ ˆCŒNØˆ
å$7¸¸;Ñ$GÔ$GÑ!€FˆG�R˜˜Eà�ÒÐØð 	!Ý# A {Ñ3Ô3ˆDØ�˜‘˜b‘Ñ ˆAÝ˜�=™?œ?¨K½BÐ?Ñ?Ô?ˆ‰Ø	�7Ò	Ð	Ý# EÑ*Ô*ˆð ˜&Ò Ð Ø—’�œ ™œÑ)Ô)ˆAˆAØ˜IÒ%Ð%Ø—’�œ Ñ(Ô(Ñ)Ô)ˆAˆAà•B”J˜tŸwšw¥r¤x°Ñ'7Ô'7Ñ8Ô8Ø#Ÿxšx­¬°©¬Ñ8Ô8ñ:ô :ñ :ˆAå”˜˜1˜aÑ Ô ˆAˆAåÔ"ØˆDÐBÐBÐBÐBð.ð .à&ð.à*0¯.ª.Ñ*:Ô*:ð.ð $¨"ð.ð .ð .ð .ô /5ð 	
ð 0;¸KÒ/GÐ/G•”
˜6 7Ñ+Ô+Ð+ÈV€IØ" kÒ1Ð1°fÀÒ6HÐ6H�Œ�‰Œˆ
ˆ
Èq€Aå
Ô
#¨iÀÀ"ÄÐ
FÑ
FÔ
F€CØð Ø˜2œˆŒØ€Jr   )rT   )NrT   TrY   rZ   r   )rm   Únumpyr   Úscipyr   Ú	_stats_pyr   r   r   Ú r   Ú_axis_nan_policyr	   Ú
_hypotestsr   Úscipy._lib._utilr   r   r   r€   r˜   r›   r°   r   r   r   ú<module>r¸      s*  ðØ €€€Ø Ð Ð Ð à Ð Ð Ð Ð Ð Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø Ð Ð Ð Ð Ð Ø /Ð /Ð /Ð /Ð /Ð /Ø +Ð +Ð +Ð +Ð +Ð +Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1ð&Eð &Eð &Eð &Eð &Eñ &Eô &Eð &EðRNKð NKð NKðb2)ð 2)ð 2)ð 2)ðjð ð ð >BØ>?ð2ð 2ð 2ð 2ð 2ð 2r   