Ë
    qwjÛ(  ã                   ó¶   — 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 d d	lmZmZmZ d dlmc mZ  G d
„ d«      Zd„ Zdd„Zd„ Z	 	 dd„Zy)é    N)Ústatsé   )Ú_get_pvalueÚ	_rankdataÚ_SimpleNormal)Ú
_morestats)Ú_broadcast_arrays)Ú_get_wilcoxon_distr)Ú_get_nan)Úarray_namespaceÚ
xp_promoteÚxp_sizec                   óB   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zy
)ÚWilcoxonDistributionc                 óÔ   — t        j                  |«      j                  t        d¬«      }|| _        t        j
                  |«      D �ci c]  }|t        |«      “Œ c}| _        y c c}w )NF©Úcopy)ÚnpÚasarrayÚastypeÚintÚnÚuniquer
   Ú_dists)Úselfr   Únis      úZ/var/www/html/newmanjeet/manjet/venv/lib/python3.12/site-packages/scipy/stats/_wilcoxon.pyÚ__init__zWilcoxonDistribution.__init__   sR   € Ü�J‰J�q‹M× Ñ ¤¨5Ð Ó1ˆØˆŒÜ=?¿Y¹YÀq¼\ÓJ¹\°r�rÔ.¨rÓ2Ñ2¸\ÑJˆ�ùÒJs   Á	A%c                 óL   — | j                   |   }|d |dz    j                  «       S ©Nr   ©r   Úsum©r   Úkr   Úpmfss       r   Ú_cdf1zWilcoxonDistribution._cdf1   s(   € Ø�{‰{˜1‰~ˆØ�F�Q˜‘Uˆ|×ÑÓ!Ð!ó    c                 ó\   —  t        j                  | j                  t        g¬«      ||«      S ©N)Úotypes)r   Ú	vectorizer&   Úfloat©r   r$   r   s      r   Ú_cdfzWilcoxonDistribution._cdf   s"   € Ø7Œr�|‰|˜DŸJ™J´¨wÔ7¸¸1Ó=Ð=r'   c                 óF   — | j                   |   }||d  j                  «       S )Nr!   r#   s       r   Ú_sf1zWilcoxonDistribution._sf1   s!   € Ø�{‰{˜1‰~ˆØ�A�Bˆx�|‰|‹~Ðr'   c                 ó\   —  t        j                  | j                  t        g¬«      ||«      S r)   )r   r+   r0   r,   r-   s      r   Ú_sfzWilcoxonDistribution._sf   s"   € Ø6Œr�|‰|˜DŸI™I¬u¨gÔ6°q¸!Ó<Ð<r'   c                 ó@   — | j                   | j                   dz   z  dz  S )Nr   é   )r   )r   s    r   ÚmeanzWilcoxonDistribution.mean"   s   € Ø�v‰v˜Ÿ™ !™Ñ$ qÑ(Ð(r'   c                 óÞ   — t        j                  |«      j                  t        d¬«      }| j	                  «       }t        j
                  |j                  t         j                  ¬«      }|||fS )NFr   ©Údtype)r   r   r   r   r5   ÚemptyÚshapeÚfloat64©r   r$   ÚmnÚouts       r   Ú_prepzWilcoxonDistribution._prep%   sN   € Ü�J‰J�q‹M× Ñ ¤¨5Ð Ó1ˆØ�Y‰Y‹[ˆÜ�h‰h�q—w‘w¤b§j¡jÔ1ˆØ�"�cˆzÐr'   c                 óœ   ‡ — ‰ j                  |«      \  }}}t        j                  ||k  |‰ j                  f‰ j                  ˆ fd„«      d   S )Nc                 ó4   •— d‰j                  | dz   |«      z
  S r    )r2   ©r$   r   r   s     €r   Ú<lambda>z*WilcoxonDistribution.cdf.<locals>.<lambda>0   s   ø€ ˜˜TŸX™X a¨¡c¨1Ó-Ò-r'   © )r?   ÚxpxÚapply_wherer   r.   r<   s   `   r   ÚcdfzWilcoxonDistribution.cdf+   sL   ø€ Ø—Z‘Z “]‰
ˆˆ2ˆsÜ�‰Ø�‰G�a˜Ÿ™�[Ø�I‰IÛ-ó/ð 02ñ3ð 	3r'   c                 óœ   ‡ — ‰ j                  |«      \  }}}t        j                  ||k  |‰ j                  f‰ j                  ˆ fd„«      d   S )Nc                 ó4   •— d‰j                  | dz
  |«      z
  S r    )r.   rB   s     €r   rC   z)WilcoxonDistribution.sf.<locals>.<lambda>7   s   ø€ ˜˜TŸY™Y q¨¡s¨AÓ.Ò.r'   rD   )r?   rE   rF   r   r2   r<   s   `   r   ÚsfzWilcoxonDistribution.sf2   sL   ø€ Ø—Z‘Z “]‰
ˆˆ2ˆsÜ�‰Ø�‰G�a˜Ÿ™�[Ø�H‰HÛ.ó0ð 13ñ4ð 	4r'   N)Ú__name__Ú
__module__Ú__qualname__r   r&   r.   r0   r2   r5   r?   rG   rJ   rD   r'   r   r   r      s0   „ òKò
"ò>òò=ò)òò3ó4r'   r   c           	      ó˜  — t        | |«      }t        | |d|¬«      \  } }t        j                  |«      d   }d}t        j                  |j
                  t        j                  «      r|j                  dk7  rt        |«      ‚t        |«      }d}t        t        dd «      xs t        j                  j                  }		 |€| }
nt        | |f||¬«      \  } }| |z
  }
|j                  |
|d	«      }
d
}|�*| j                  |   |j                  |   k7  rt        |«      ‚d}|j!                  |
j
                  d«      st        |«      ‚t#        |«      j%                  «       }h d£}d|› d�}||vrt        |«      ‚ddh}d|› d�}||vrt        |«      ‚t#        |«      j%                  «       }h d£}d|› d�}||vrt        |«      ‚t'        |t(        j*                  «      sh d£}d|› d�}||vrt        |«      ‚|dk(  rdnd}|j-                  |
dk(  d ¬«      }|dk(  r|
j                  d	   dkD  rd}|
||||||||f	S # |	$ r} |	|«      |‚d }~ww xY w)NT)Úforce_floatingÚxprD   z`axis` must be an integer.r   z<`axis` must be compatible with the shape(s) of `x` (and `y`)Ú	AxisError)ÚaxisrP   éÿÿÿÿ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`.r]   ©rR   r[   é2   )r   r   r   r   Ú
issubdtyper8   ÚintegerÚndimÚ
ValueErrorr   ÚgetattrÚ
exceptionsrQ   r	   Úmoveaxisr:   ÚisdtypeÚstrÚlowerÚ
isinstancer   ÚPermutationMethodÚcount_nonzero)ÚxÚyÚzero_methodÚ
correctionÚalternativeÚmethodrR   rP   ÚmessagerQ   ÚdÚeÚzero_methodsÚcorrectionsÚalternativesÚmethodsÚoutput_zÚn_zeros                     r   Ú_wilcoxon_ivr|   :   sw  € Ü	˜˜AÓ	€BÜ�a˜¨4°BÔ7�D€A€qä�:‰:�dÓ˜BÑ€DØ*€GÜ�=‰=˜Ÿ™¤R§Z¡ZÔ0°D·I±IÀ²NÜ˜Ó!Ð!Üˆt‹9€DàL€GÜœ˜K¨Ó.ÒI´"·-±-×2IÑ2I€Ið(Øˆ9Ø‰Aä$ a¨ V°$¸2Ô>‰DˆAˆqØ�A‘ˆAØ�K‰K˜˜4 Ó$ˆð 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Ú1ˆØ-¨g¨Yð 7?ð ?ˆà˜Ñ Ü˜WÓ%Ð%Ø Ò-‰t°5€Hð
 ×Ñ˜a 1™f¨4ÐÓ0€FØ�Ò˜AŸG™G B™K¨"Ò,Øˆàˆk˜: {°F¸DÀ(ÈFÐTVÐVÐVøðW ò (Ù˜Ó  aÐ'ûð(ús   Â<0H6 È6I	È;	IÉI	c                óR  — | j                   }| dk(  }|dk(  r3t        j                  | «      |   j                  |j                  d¬«      } |j                  | «      }|j                  |d¬«      }|j                  | j                  d   |z
  |«      }t        |j                  | «      dd|¬«      \  }	}
|j                  |	|d	¬«      |j                  |
|d	¬«      }
}	|j                  |j                  | dkD  |«      |	z  d¬«      }|j                  |j                  | dk  |«      |	z  d¬«      }|j                  |
dk(  «      }|d
k(  rw|j                  |j                  ||«      |	z  d¬«      dz  }t        j                  |«      d   j                  |«      }t        j                  |«      d   j                  |«      }||dz   z  dz  }||dz   z  d|z  dz   z  }|dk(  rù|j                  |j                  |d¬«      |«      }t        j                  |«      d   j                  ||dz   z  dz  «      }t        j                  |«      d   j                  ||dz   z  d|z  dz   z  «      }|j                  |«      }t        j                  |«      d   j                  |j                  |d¬«      «      }t        j                  |
«      |   j                  d«      }
|j                  |
dz  |
z
  d¬«      }|j!                  ||dz  z
  dz  «      }|dv r	||z
  |z  }n|j                  }||||||fS )Nr   rU   Tr   rS   r^   Úaverage)Úreturn_tiesrP   FrV   é   .g      ð?g      Ð?g       @rT   ).r   g        é   é   )r]   r[   )r8   rE   ÚatÚsetÚnanÚisnanrl   r   r:   r   Úabsr"   ÚanyÚaddÚsubtractÚ
zeros_likeÚsqrt)rt   rr   ro   rP   r8   Úi_zerosÚi_nanÚn_nanÚcountÚrÚtÚr_plusÚr_minusÚhas_tiesÚr_zero_2r=   Ú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€qØ�9‰9�Q˜ Eˆ9Ó*¨B¯I©I°a¸ÀU¨IÓ,K€q€Aà�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¨UÓ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‰[˜BÑ‰à�F‰Fˆà�7˜B  5¨(Ð2Ð2r'   c                 ó<   — |dk(  ry|dk(  ry|j                  | «      S )NrY   r   rX   rS   )Úsign)rš   rq   rP   s      r   Ú_correction_signrž   ¼   s&   € Ø�iÒØØ	˜Ò	Øà�w‰w�q‹zÐr'   c           	      óÖ  ‡‡‡— t        | |‰||‰|«      }|\	  }Š}}Š}}	}
Št        |«      dk(  r2t        |‰¬«      }t        j                  ||¬«      }‰dk(  r||_        |S t        |‰‰‰¬«      \  }}}}}}‰dk(  r3|s|
dkD  sdŠn)|j                  d   dk  rt        j                  «       ŠndŠ‰dk(  rV|r;t        ||‰¬«      }t        j                  |«      d	   j                  |d
z  |z  «      }t        |t        «       |‰¬«      }�nH‰dk(  �rt!        |«      }t#        j$                  |«      }|dk(  r%|j'                  t#        j(                  |«      «      }nž|dk(  r%|j+                  t#        j,                  |«      «      }ntdt#        j.                  |j+                  t#        j,                  |«      «      |j'                  t#        j(                  |«      «      «      z  }t#        j0                  |dd«      }‰j%                  ||j2                  ¬«      }n<t        j4                  |fˆˆˆfd„fddi‰j7                  «       ¤|ddœ¤Žj8                  }|dk(  r‰j/                  ||«      n|}|dk(  r‰dk(  r‰j;                  |«       n|}|j<                  dk(  r|d   n|}|j<                  dk(  r|d   n|}t        j                  ||¬«      }|	r|j<                  dk(  r|d   n||_        |S )Nr   ©rP   )Ú	statisticÚpvaluer]   r[   r\   rS   é   .g      à?rX   rY   r€   r   r7   c                 ó(   •— t        | ‰‰‰¬«      d   S )Nr    r   )r›   )rt   rr   rP   ro   s    €€€r   rC   z_wilcoxon_nd.<locals>.<lambda>  s   ø€ Ô/°°6¸;È2ÔNÈqÒQr'   Úpermutation_typeÚsamples)rq   rR   rZ   rD   )r|   r   r   r   ÚWilcoxonResultÚ
zstatisticr›   r:   r   rk   rž   rE   rƒ   rŠ   r   r   r   r   r   rG   ÚceilrJ   ÚfloorÚminimumÚclipr8   Úpermutation_testÚ_asdictr¢   r‡   rb   )rm   rn   ro   rp   rq   rr   rR   Útemprt   rz   r{   ÚNaNÚresr“   r”   r—   rš   r�   r•   r�   ÚpÚdistÚ	r_plus_npr¡   rP   s     `  `                  @r   Ú_wilcoxon_ndrµ   Å   sÀ  ú€ ô ˜˜1˜k¨:°{ÀFÈDÓQ€DØRVÑO€A€{�J ¨V°T¸8ÀVÈRäˆqƒz�Q‚Ü�q˜RÔ ˆÜ×'Ñ'°#¸cÔBˆØ�\Ò!Ø ˆCŒNØˆ
ä.AØ	ˆ6�; 2ô/Ñ+€FˆG�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 7Ô+ÈV€IØ" kÒ1°fÀÒ6Lˆ�‰�‹‰
ÐST€Aà!*§¡°1Ò!4�	˜"’¸)€IØ—‘˜1’ˆˆ"Š !€AÜ
×
#Ñ
#¨iÀÔ
B€CÙØ"#§&¡&¨A¢+˜˜2š°1ˆŒØ€Jr'   )rU   )NrU   TrZ   r[   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_extrarE   r   r|   r›   rž   rµ   rD   r'   r   Ú<module>rÁ      sU   ðÛ å ß <Ñ <Ý Ý /Ý +Ý %ß FÑ Fß (Ð (÷*4ñ *4òZ>WóB>3òBð >BØ>?ôKr'   