+
    É&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ÚNumberÚPoissonc                   ó0  a a€ ] tR t^t oRtR]P                  /t]P                  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R ltR t]
V3R lR l4       tR tRtVtV ;t# )r
   a–  
Creates a Poisson distribution parameterized by :attr:`rate`, the rate parameter.

Samples are nonnegative integers, with a pmf given by

.. math::
  \mathrm{rate}^k \frac{e^{-\mathrm{rate}}}{k!}

Example::

    >>> # xdoctest: +SKIP("poisson_cpu not implemented for 'Long'")
    >>> m = Poisson(torch.tensor([4]))
    >>> m.sample()
    tensor([ 3.])

Args:
    rate (Number, Tensor): the rate parameter
Úratec                ó    <€ V ^8„  d   QhRS[ /# ©é   Úreturnr   )ÚformatÚ__classdict__s   "€Ús/Users/jameslopez/projects/CWCArchive/cwc-podcast/.venv/lib/python3.14/site-packages/torch/distributions/poisson.pyÚ__annotate__ÚPoisson.__annotate__'   s   ø€ ÷ ñ ‘fñ ó    c                ó   € V P                   # ©N©r   ©Úselfs   &r   ÚmeanÚPoisson.mean&   ó   € ày‰yÐr   c                ó    <€ V ^8„  d   QhRS[ /# r   r   )r   r   s   "€r   r   r   +   s   ø€ ÷ !ñ !‘fñ !r   c                ó6   € V P                   P                  4       # r   )r   Úfloorr   s   &r   ÚmodeÚPoisson.mode*   s   € ày‰y‰Ó Ð r   c                ó    <€ V ^8„  d   QhRS[ /# r   r   )r   r   s   "€r   r   r   /   s   ø€ ÷ ñ ™&ñ r   c                ó   € V P                   # r   r   r   s   &r   ÚvarianceÚPoisson.variance.   r   r   c                óH   <€ V ^8„  d   QhRS[ S[,          RS[R,          RR/# )r   r   Úvalidate_argsNr   )r   r	   Úbool)r   r   s   "€r   r   r   2   s6   ø€ ÷ 
Cñ 
Cá‘voð
Cñ ˜d•{ð
Cð 
ñ	
Cr   c                óØ   <€ \        V4      w  V n        \        V\        4      '       d   \        P
                  ! 4       pMV P                  P                  4       p\        SV `!  W2R 7       R# )©r)   N)	r   r   Ú
isinstancer   ÚtorchÚSizeÚsizeÚsuperÚ__init__)r   r   r)   Úbatch_shapeÚ	__class__s   &&& €r   r2   ÚPoisson.__init__2   sK   ø€ ô
 % TÓ*‰ˆŒÜdœG×$Ò$ÜŸ*š*›,‰KàŸ)™)Ÿ.™.Ó*ˆKÜ‰Ñ˜ÐÖ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# )Fr,   )	Ú_get_checked_instancer
   r.   r/   r   Úexpandr1   r2   Ú_validate_args)r   r3   Ú	_instanceÚnewr4   s   &&& €r   r8   ÚPoisson.expand>   s`   ø€ Ø×(Ñ(¬°)Ó<ˆÜ—j’j Ó-ˆØ—9‘9×#Ñ# KÓ0ˆŒÜŒgsÑ$ [ÀÐ$ÔFØ!×0Ñ0ˆÔØˆ
r   c                óú   € V P                  V4      p\        P                  ! 4       ;_uu_ 4        \        P                  ! V P                  P                  V4      4      uuR R R 4       #   + '       g   i     R # ; ir   )Ú_extended_shaper.   Úno_gradÚpoissonr   r8   )r   Úsample_shapeÚshapes   && r   ÚsampleÚPoisson.sampleF   sD   € Ø×$Ñ$ \Ó2ˆÜ]Š]__Ü—=’= §¡×!1Ñ!1°%Ó!8Ó9÷ __‹_ús   ¯/A)Á)A:	c                óà   € V P                   '       d   V P                  V4       \        V P                  V4      w  r!VP	                  V4      V,
          V^,           P                  4       ,
          # )é   )r9   Ú_validate_sampler   r   ÚxlogyÚlgamma)r   Úvaluer   s   && r   Úlog_probÚPoisson.log_probK   sT   € Ø××ÐØ×!Ñ! %Ô(Ü# D§I¡I¨uÓ5‰ˆØ{‰{˜4Ó  4Õ'¨5°1­9×*<Ñ*<Ó*>Õ>Ð>r   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r   )Útupler   )r   r   s   "€r   r   r   R   s   ø€ ÷ 'ñ '¡¡v¥ñ 'r   c                óD   € \         P                  ! V P                  4      3# r   )r.   Úlogr   r   s   &r   Ú_natural_paramsÚPoisson._natural_paramsQ   s   € ä—	’	˜$Ÿ)™)Ó$Ð&Ð&r   c                ó.   € \         P                  ! V4      # r   )r.   Úexp)r   Úxs   &&r   Ú_log_normalizerÚPoisson._log_normalizerV   s   € ÜyŠy˜‹|Ðr   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   ÚnonnegativeÚarg_constraintsÚnonnegative_integerÚsupportÚpropertyr   r"   r&   r2   r8   r.   r/   rC   rK   rQ   rV   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r4   r   s   @@r   r
   r
      s¥   ù‡ € ñð( ˜{×6Ñ6Ð7€OØ×-Ñ-€Gà÷ó ðð ÷!ó ð!ð ÷ó ð÷
Cõ 
C÷ð #(§*¢*£,ô :ò
?ð ÷'ó ð'÷ò r   )r.   r   Útorch.distributionsr   Útorch.distributions.exp_familyr   Útorch.distributions.utilsr   Útorch.typesr   r	   Ú__all__r
   © r   r   Ú<module>rk      s1   ðó Ý Ý +Ý <Ý 3ß 'ð ˆ+€ôIÐö Ir   