+
    –°³jQ  ã                   óz   € ^ RI t ^ RI 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 R.t ! R	 R]4      tR# )
é    N)ÚnanÚTensor)Úconstraints)ÚDistribution)ÚGamma)Úbroadcast_all)Ú_NumberÚ_sizeÚFisherSnedecorc                   ó8  a a€ ] tR t^t oRtR]P                  R]P                  /t]P                  tRt	RV3R lV 3R lllt
RV 3R llt]V3R lR	 l4       t]V3R
 lR l4       t]V3R lR l4       t]P"                  ! R4      3V3R lR lltR tRtVtV ;t# )r   aµ  
Creates a Fisher-Snedecor distribution parameterized by :attr:`df1` and :attr:`df2`.

Example::

    >>> # xdoctest: +IGNORE_WANT("non-deterministic")
    >>> m = FisherSnedecor(torch.tensor([1.0]), torch.tensor([2.0]))
    >>> m.sample()  # Fisher-Snedecor-distributed with df1=1 and df2=2
    tensor([ 0.2453])

Args:
    df1 (float or Tensor): degrees of freedom parameter 1
    df2 (float or Tensor): degrees of freedom parameter 2
Údf1Údf2Tc                ó^   <€ V ^8„  d   QhRS[ S[,          RS[ S[,          RS[R,          RR/# )é   r   r   Úvalidate_argsNÚreturn)r   ÚfloatÚbool)ÚformatÚ__classdict__s   "€Úc/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/distributions/fishersnedecor.pyÚ__annotate__ÚFisherSnedecor.__annotate__$   sE   ø€ ÷ Cñ Cá‘e�^ðCñ ‘e�^ðCñ ˜d•{ð	Cð
 
ñCó    c                óÀ  <€ \        W4      w  V n        V n        \        V P                  R ,          V P                  4      V n        \        V P                  R ,          V P                  4      V n        \        V\        4      '       d-   \        V\        4      '       d   \        P                  ! 4       pMV P                  P                  4       p\        SV `1  WCR7       R# )ç      à?©r   N)r   r   r   r   Ú_gamma1Ú_gamma2Ú
isinstancer	   ÚtorchÚSizeÚsizeÚsuperÚ__init__)Úselfr   r   r   Úbatch_shapeÚ	__class__s   &&&& €r   r%   ÚFisherSnedecor.__init__$   s�   ø€ ô +¨3Ó4ÑˆŒ�$”(Ü˜TŸX™X¨�^¨T¯X©XÓ6ˆŒÜ˜TŸX™X¨�^¨T¯X©XÓ6ˆŒä�cœ7×#Ò#¬
°3¼×(@Ò(@ÜŸ*š*›,‰KàŸ(™(Ÿ-™-›/ˆKÜ‰Ñ˜ÐÖBr   c                ó¬  <€ V P                  \        V4      p\        P                  ! V4      pV P                  P                  V4      Vn        V P                  P                  V4      Vn        V P                  P                  V4      Vn        V P                  P                  V4      Vn        \        \        V`+  VR R7       V P                  Vn        V# )Fr   )Ú_get_checked_instancer   r!   r"   r   Úexpandr   r   r   r$   r%   Ú_validate_args)r&   r'   Ú	_instanceÚnewr(   s   &&& €r   r,   ÚFisherSnedecor.expand4   sž   ø€ Ø×(Ñ(¬¸ÓCˆÜ—j’j Ó-ˆØ—(‘(—/‘/ +Ó.ˆŒØ—(‘(—/‘/ +Ó.ˆŒØ—l‘l×)Ñ)¨+Ó6ˆŒØ—l‘l×)Ñ)¨+Ó6ˆŒÜŒn˜cÑ+¨KÀuÐ+ÔMØ!×0Ñ0ˆÔØˆ
r   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   ©r   )r   r   s   "€r   r   r   @   s   ø€ ÷ ñ ‘fñ r   c                óŠ   € V P                   P                  \        P                  R 7      p\        W^8*  &   W^,
          ,          # ©)Úmemory_format)r   Úcloner!   Úcontiguous_formatr   ©r&   r   s   & r   ÚmeanÚFisherSnedecor.mean?   s3   € à�h‰h�n‰n¬5×+BÑ+BˆnÓCˆÜˆ�1‰H‰Ø˜A•g�Ðr   c                ó    <€ V ^8„  d   QhRS[ /# r2   r3   )r   r   s   "€r   r   r   F   s   ø€ ÷ ñ ‘fñ r   c                óÊ   € V P                   ^,
          V P                   ,          V P                  ,          V P                  ^,           ,          p\        WP                   ^8*  &   V# )r   )r   r   r   )r&   Úmodes   & r   r>   ÚFisherSnedecor.modeE   sC   € à—‘˜1• §¡Õ(¨4¯8©8Õ3°t·x±xÀ!µ|ÕDˆÜ!ˆ�X‰X˜‰]ÑØˆr   c                ó    <€ V ^8„  d   QhRS[ /# r2   r3   )r   r   s   "€r   r   r   L   s   ø€ ÷ 
ñ 
™&ñ 
r   c                óR  € V P                   P                  \        P                  R 7      p\        W^8*  &   ^VP                  ^4      ,          V P                  V,           ^,
          ,          V P                  V^,
          P                  ^4      ,          V^,
          ,          ,          # r5   )r   r7   r!   r8   r   Úpowr   r9   s   & r   ÚvarianceÚFisherSnedecor.varianceK   s}   € à�h‰h�n‰n¬5×+BÑ+BˆnÓCˆÜˆ�1‰H‰àØ�g‰g�a‹jõà�x‰x˜#�~ Õ!õ#ð �x‰x˜3 �7Ÿ-™-¨Ó*Õ*¨c°A­gÕ6õ8ð	
r   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   Úsample_shaper   )r
   r   )r   r   s   "€r   r   r   V   s   ø€ ÷ 
ñ 
¡Eð 
¹vñ 
r   c                ó|  € V P                  V4      pV P                  P                  V4      P                  V4      pV P                  P                  V4      P                  V4      p\
        P                  ! VP                  4      P                  pVP                  VR 7       W4,          pVP                  VR 7       V# ))Úmin)
Ú_extended_shaper   ÚrsampleÚviewr   r!   ÚfinfoÚdtypeÚtinyÚclamp_)r&   rF   ÚshapeÚX1ÚX2rN   ÚYs   &&     r   rJ   ÚFisherSnedecor.rsampleV   s’   € Ø×$Ñ$ \Ó2ˆð �\‰\×!Ñ! ,Ó/×4Ñ4°UÓ;ˆØ�\‰\×!Ñ! ,Ó/×4Ñ4°UÓ;ˆÜ�{Š{˜2Ÿ8™8Ó$×)Ñ)ˆØ
�	‰	�dˆ	ÔØ�GˆØ	�‰�TˆÔØˆr   c                ó<  € V P                   '       d   V P                  V4       V P                  R ,          pV P                  R ,          pV P                  V P                  ,          pW#,           P	                  4       VP	                  4       ,
          VP	                  4       ,
          pW$P                  4       ,          V^,
          \        P
                  ! V4      ,          ,           pW#,           \        P                  ! WA,          4      ,          pWV,           V,
          # )r   )r-   Ú_validate_sampler   r   ÚlgammaÚlogr!   Úlog1p)r&   ÚvalueÚct1Úct2Úct3Út1Út2Út3s   &&      r   Úlog_probÚFisherSnedecor.log_probb   sµ   € Ø××ÐØ×!Ñ! %Ô(Ø�h‰h˜�nˆØ�h‰h˜�nˆØ�h‰h˜Ÿ™Õ!ˆØ�i×ÑÓ! C§J¡J£LÕ0°3·:±:³<Õ?ˆØ—7‘7“9�_  a¥¬5¯9ª9°UÓ+;Õ;Õ;ˆØ�iœ5Ÿ;š; s¥{Ó3Õ3ˆØ�w˜�|Ðr   )r   r   r   r   )N© )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   ÚpositiveÚarg_constraintsÚsupportÚhas_rsampler%   r,   Úpropertyr:   r>   rC   r!   r"   rJ   ra   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r(   r   s   @@r   r   r      s¤   ù‡ € ñð  ˜k×2Ñ2°E¸;×;OÑ;OÐP€OØ×"Ñ"€GØ€K÷Cõ C÷ 	ð ÷ó ðð
 ÷ó ðð
 ÷
ó ð
ð -2¯JªJ°r«N÷ 
ò 
÷	ò 	r   )r!   r   r   Útorch.distributionsr   Ú torch.distributions.distributionr   Útorch.distributions.gammar   Útorch.distributions.utilsr   Útorch.typesr	   r
   Ú__all__r   rc   r   r   Ú<module>rw      s4   ðó ß Ý +Ý 9Ý +Ý 3ß &ð Ð
€ô\�\ö \r   