+
    &j
                     j    ^ RI 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Tensor)constraints)ExponentialFamily)broadcast_all)_Number_sizeExponentialc                   r  a a ] tR t^t oRtR]P                  /t]P                  t	Rt
^ 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V3R lV 3R llltRV 3R llt]P(                  ! 4       3V3R lR lltR tR tR tR t]V3R lR l4       tR tRtVtV ;t# )r
   aJ  
Creates a Exponential distribution parameterized by :attr:`rate`.

Example::

    >>> # xdoctest: +IGNORE_WANT("non-deterministic")
    >>> m = Exponential(torch.tensor([1.0]))
    >>> m.sample()  # Exponential distributed with rate=1
    tensor([ 0.1046])

Args:
    rate (float or Tensor): rate = 1 / scale of the distribution
rateTc                    < V ^8  d   QhRS[ /#    returnr   )format__classdict__s   "w/Users/jameslopez/projects/CWCArchive/cwc-podcast/.venv/lib/python3.14/site-packages/torch/distributions/exponential.py__annotate__Exponential.__annotate__$   s     & &f &    c                6    V P                   P                  4       # Nr   
reciprocalselfs   &r   meanExponential.mean#       yy##%%r   c                    < V ^8  d   QhRS[ /# r   r   )r   r   s   "r   r   r   (   s     + +f +r   c                B    \         P                  ! V P                  4      # r   )torch
zeros_liker   r   s   &r   modeExponential.mode'   s    		**r   c                    < V ^8  d   QhRS[ /# r   r   )r   r   s   "r   r   r   ,   s     & & &r   c                6    V P                   P                  4       # r   r   r   s   &r   stddevExponential.stddev+   r   r   c                    < V ^8  d   QhRS[ /# r   r   )r   r   s   "r   r   r   0   s     ! !& !r   c                8    V P                   P                  R4      # )r   )r   powr   s   &r   varianceExponential.variance/   s    yy}}R  r   c                H   < V ^8  d   QhRS[ S[,          RS[R,          RR/# )r   r   validate_argsNr   )r   floatbool)r   r   s   "r   r   r   3   s6     C CunC d{C 
	Cr   c                   < \        V4      w  V n        \        V\        4      '       d   \        P
                  ! 4       MV P                  P                  4       p\        SV `!  W2R 7       R# )r1   N)	r   r   
isinstancer   r"   Sizesizesuper__init__)r   r   r1   batch_shape	__class__s   &&& r   r:   Exponential.__init__3   sG    
 %T*&0w&?&?ejjlTYY^^EUBr   c                   < V P                  \        V4      p\        P                  ! V4      pV P                  P                  V4      Vn        \        \        V`  VR R7       V P                  Vn        V# )Fr5   )	_get_checked_instancer
   r"   r7   r   expandr9   r:   _validate_args)r   r;   	_instancenewr<   s   &&& r   r@   Exponential.expand<   s`    ((i@jj-99##K0k3(E(J!00
r   c                &   < V ^8  d   QhRS[ RS[/# )r   sample_shaper   )r	   r   )r   r   s   "r   r   r   D   s     ? ?E ?V ?r   c                    V P                  V4      pV P                  P                  V4      P                  4       V P                  ,          # r   )_extended_shaper   rC   exponential_)r   rF   shapes   && r   rsampleExponential.rsampleD   s7    $$\2yy}}U#002TYY>>r   c                    V P                   '       d   V P                  V4       V P                  P                  4       V P                  V,          ,
          # r   )rA   _validate_sampler   logr   values   &&r   log_probExponential.log_probH   s:    !!%(yy}}U!222r   c                    V P                   '       d   V P                  V4       ^\        P                  ! V P                  ) V,          4      ,
          # )   )rA   rN   r"   expr   rP   s   &&r   cdfExponential.cdfM   s;    !!%(599diiZ%/000r   c                T    \         P                  ! V) 4      ) V P                  ,          # r   )r"   log1pr   rP   s   &&r   icdfExponential.icdfR   s    UF##dii//r   c                P    R \         P                  ! V P                  4      ,
          # )g      ?)r"   rO   r   r   s   &r   entropyExponential.entropyU   s    UYYtyy)))r   c                0   < V ^8  d   QhRS[ S[,          /# r   )tupler   )r   r   s   "r   r   r   Y   s      v r   c                    V P                   ) 3# r   r   r   s   &r   _natural_paramsExponential._natural_paramsX   s    
}r   c                2    \         P                  ! V) 4      ) # r   )r"   rO   )r   xs   &&r   _log_normalizerExponential._log_normalizer]   s    		1"~r   rc   r   )__name__
__module____qualname____firstlineno____doc__r   positivearg_constraintsnonnegativesupporthas_rsample_mean_carrier_measurepropertyr   r$   r(   r.   r:   r@   r"   r7   rK   rR   rW   r[   r^   rd   rh   __static_attributes____classdictcell____classcell__)r<   r   s   @@r   r
   r
      s      {334O%%GK& & + + & & ! !C C -2JJL ? ?3
1
0*   r   )r"   r   torch.distributionsr   torch.distributions.exp_familyr   torch.distributions.utilsr   torch.typesr   r	   __all__r
    r   r   <module>r      s1      + < 3 & /P# Pr   