+
    –°³jº  ã                   óŽ   € ^ RI t ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHtH	t	 ^ RI
Ht ^ RIHtHt ^ RIHt R	.t ! R
 R	]4      tR# )é    N©ÚTensor)Úconstraints)ÚTransformedDistribution)ÚAffineTransformÚExpTransform)ÚUniform)Úbroadcast_allÚeuler_constant)Ú_NumberÚGumbelc                   ó  a a€ ] tR t^t oRtR]P                  R]P                  /t]P                  t	RV3R lV 3R lllt
RV 3R lltR 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]V3R lR l4       tR tRtVtV ;t# )r   a�  
Samples from a Gumbel Distribution.

Examples::

    >>> # xdoctest: +IGNORE_WANT("non-deterministic")
    >>> m = Gumbel(torch.tensor([1.0]), torch.tensor([2.0]))
    >>> m.sample()  # sample from Gumbel distribution with loc=1, scale=2
    tensor([ 1.0124])

Args:
    loc (float or Tensor): Location parameter of the distribution
    scale (float or Tensor): Scale parameter of the distribution
ÚlocÚscalec                ó^   <€ 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   "€Ú[/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/distributions/gumbel.pyÚ__annotate__ÚGumbel.__annotate__%   sE   ø€ ÷ Mñ Má‘e�^ðMñ ™�~ðMñ ˜d•{ð	Mð
 
ñMó    c                óú  <€ \        W4      w  V n        V n        \        P                  ! V P                  P
                  4      p\        V\        4      '       dA   \        V\        4      '       d+   \        VP                  ^VP                  ,
          VR7      pMg\        \        P                  ! V P                  VP                  4      \        P                  ! V P                  ^VP                  ,
          4      VR7      p\        4       P                  \        ^ \        P                  ! V P                  4      ) R7      \        4       P                  \        WP                  ) R7      .p\         SV `E  WVVR7       R# )é   )r   ©r   r   N)r
   r   r   ÚtorchÚfinfoÚdtypeÚ
isinstancer   r	   ÚtinyÚepsÚ	full_liker   Úinvr   Ú	ones_likeÚsuperÚ__init__)Úselfr   r   r   r!   Ú	base_distÚ
transformsÚ	__class__s   &&&&   €r   r*   ÚGumbel.__init__%   sù   ø€ ô  -¨SÓ8ÑˆŒ�$”*Ü—’˜DŸH™HŸN™NÓ+ˆÜ�cœ7×#Ò#¬
°5¼'×(BÒ(BÜ §
¡
¨A°·	±	­MÈÔW‰IäÜ—’ §¡¨%¯*©*Ó5Ü—’ §¡¨!¨e¯i©i­-Ó8Ø+ôˆIô ‹N×ÑÜ ¬%¯/ª/¸$¿*¹*Ó*EÐ)EÔFÜ‹N×ÑÜ ¯J©J¨;Ô7ð	
ˆ
ô 	‰Ñ˜¸mÐÖLr   c                óÐ   <€ V P                  \        V4      pV P                  P                  V4      Vn        V P                  P                  V4      Vn        \
        SV `  WR 7      # ))Ú	_instance)Ú_get_checked_instancer   r   Úexpandr   r)   )r+   Úbatch_shaper1   Únewr.   s   &&& €r   r3   ÚGumbel.expand=   sP   ø€ Ø×(Ñ(¬°Ó;ˆØ—(‘(—/‘/ +Ó.ˆŒØ—J‘J×%Ñ% kÓ2ˆŒ	Ü‰w‰~˜kˆ~Ó9Ð9r   c                óú   € V P                   '       d   V P                  V4       V P                  V,
          V P                  ,          pW"P	                  4       ,
          V P                  P                  4       ,
          # ©N)Ú_validate_argsÚ_validate_sampler   r   ÚexpÚlog)r+   ÚvalueÚys   && r   Úlog_probÚGumbel.log_probD   sQ   € Ø××ÐØ×!Ñ! %Ô(Ø�X‰X˜Õ §¡Õ+ˆØ—E‘E“G•˜tŸz™zŸ~™~Ó/Õ/Ð/r   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   r   )r   r   s   "€r   r   r   K   s   ø€ ÷ 6ñ 6‘fñ 6r   c                óR   € V P                   V P                  \        ,          ,           # r8   )r   r   r   ©r+   s   &r   ÚmeanÚGumbel.meanJ   s   € à�x‰x˜$Ÿ*™*¤~Õ5Õ5Ð5r   c                ó    <€ V ^8„  d   QhRS[ /# rB   r   )r   r   s   "€r   r   r   O   s   ø€ ÷ ñ ‘fñ r   c                ó   € V P                   # r8   )r   rD   s   &r   ÚmodeÚGumbel.modeN   s   € à�x‰xˆr   c                ó    <€ V ^8„  d   QhRS[ /# rB   r   )r   r   s   "€r   r   r   S   s   ø€ ÷ 5ñ 5™ñ 5r   c                óz   € \         P                  \         P                  ! ^4      ,          V P                  ,          # )é   )ÚmathÚpiÚsqrtr   rD   s   &r   ÚstddevÚGumbel.stddevR   s"   € ä—‘œ$Ÿ)š) A›,Õ&¨$¯*©*Õ4Ð4r   c                ó    <€ V ^8„  d   QhRS[ /# rB   r   )r   r   s   "€r   r   r   W   s   ø€ ÷ "ñ "™&ñ "r   c                ó8   € V P                   P                  ^4      # )r   )rQ   ÚpowrD   s   &r   ÚvarianceÚGumbel.varianceV   s   € à�{‰{�‰˜qÓ!Ð!r   c                óZ   € V P                   P                  4       ^\        ,           ,           # )r   )r   r<   r   rD   s   &r   ÚentropyÚGumbel.entropyZ   s   € Ø�z‰z�~‰~Ó 1¤~Õ#5Õ6Ð6r   r   r8   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   ÚrealÚpositiveÚarg_constraintsÚsupportr*   r3   r?   ÚpropertyrE   rI   rQ   rV   rY   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r.   r   s   @@r   r   r      s¡   ù‡ € ñð ˜k×.Ñ.°¸×9MÑ9MÐN€Oà×Ñ€G÷Mõ M÷0:ò0ð ÷6ó ð6ð ÷ó ðð ÷5ó ð5ð ÷"ó ð"÷7ò 7r   )rN   r    r   Útorch.distributionsr   Ú,torch.distributions.transformed_distributionr   Útorch.distributions.transformsr   r   Útorch.distributions.uniformr	   Útorch.distributions.utilsr
   r   Útorch.typesr   Ú__all__r   © r   r   Ú<module>rp      s8   ðã ã Ý Ý +Ý Pß HÝ /ß CÝ ð ˆ*€ôJ7Ð$ö J7r   