+
    &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   "r/Users/jameslopez/projects/CWCArchive/cwc-podcast/.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$*DHHNN+c7##
5'(B(B

A		MWI%**5!eii-8+I N%//$***E)EFNJJ;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    ((;((//+.JJ%%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    !!%(XX+EEGtzz~~///r   c                    < V ^8  d   QhRS[ /# r   r   r   )r   r   s   "r   r   r   K   s     6 6f 6r   c                R    V P                   V P                  \        ,          ,           # r8   )r   r   r   r+   s   &r   meanGumbel.meanJ   s    xx$**~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    xx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    zz~~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..9M9MNO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   