+
    –°³j3  ã                   ó„   € ^ RI t ^ RIHu Ht ^ RI Ht ^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIHtHtHtHt R.t ! R R]	4      tR# )	é    N©ÚTensor)Úconstraints)ÚDistribution©ÚGamma)Úbroadcast_allÚlazy_propertyÚlogits_to_probsÚprobs_to_logitsÚNegativeBinomialc                   óÎ  a a€ ] tR t^t oRtR]P                  ! ^ 4      R]P                  ! RR4      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]V3R lR l4       t]V3R lR l4       t]V3R lR l4       t]P2                  ! 4       3R ltR tRtVtV ;t# )r   aC  
Creates a Negative Binomial distribution, i.e. distribution
of the number of successful independent and identical Bernoulli trials
before :attr:`total_count` failures are achieved. The probability
of success of each Bernoulli trial is :attr:`probs`.

Args:
    total_count (float or Tensor): non-negative number of negative Bernoulli
        trials to stop, although the distribution is still valid for real
        valued count
    probs (Tensor): Event probabilities of success in the half open interval [0, 1)
    logits (Tensor): Event log-odds for probabilities of success
Útotal_countÚprobsç        ç      ð?Úlogitsc          
      óp   <€ V ^8„  d   QhRS[ S[,          RS[ R,          RS[ R,          RS[R,          RR/# )é   r   r   Nr   Úvalidate_argsÚreturn)r   ÚfloatÚbool)ÚformatÚ__classdict__s   "€Úf/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/distributions/negative_binomial.pyÚ__annotate__ÚNegativeBinomial.__annotate__+   sT   ø€ ÷ Cñ Cá™e•^ðCñ ˜�}ðCñ ˜•ð	Cñ
 ˜d•{ðCð 
ñCó    c                óú  <€ VR J VR J 8X  d   \        R4      hVeD   \        W4      w  V n        V n        V P                  P	                  V P                  4      V n        MQVf   \        R4      h\        W4      w  V n        V n        V P                  P	                  V P                  4      V n        Ve   V P                  MV P                  V n        V P                  P                  4       p\        SV `)  WTR7       R # )Nz;Either `probs` or `logits` must be specified, but not both.zlogits is unexpectedly None©r   )Ú
ValueErrorr	   r   r   Útype_asÚAssertionErrorr   Ú_paramÚsizeÚsuperÚ__init__)Úselfr   r   r   r   Úbatch_shapeÚ	__class__s   &&&&& €r   r(   ÚNegativeBinomial.__init__+   sä   ø€ ð �TˆM˜v¨˜~Ô.ÜØMóð ð Òô
 ˜kÓ1ñ	ØÔ à”
à#×/Ñ/×7Ñ7¸¿
¹
ÓCˆDÕàŠ~Ü$Ð%BÓCÐCô
 ˜kÓ2ñ	ØÔ à”à#×/Ñ/×7Ñ7¸¿¹ÓDˆDÔà$)Ò$5�d—j’j¸4¿;¹;ˆŒØ—k‘k×&Ñ&Ó(ˆÜ‰Ñ˜ÐÖBr   c                óô  <€ V P                  \        V4      p\        P                  ! V4      pV P                  P                  V4      Vn        R V P                  9   d2   V P                  P                  V4      Vn        VP                  Vn        RV P                  9   d2   V P                  P                  V4      Vn	        VP                  Vn        \        \        V`/  VRR7       V P                  Vn        V# )r   r   Fr!   )Ú_get_checked_instancer   ÚtorchÚSizer   ÚexpandÚ__dict__r   r%   r   r'   r(   Ú_validate_args)r)   r*   Ú	_instanceÚnewr+   s   &&& €r   r1   ÚNegativeBinomial.expandK   s¾   ø€ Ø×(Ñ(Ô)9¸9ÓEˆÜ—j’j Ó-ˆØ×*Ñ*×1Ñ1°+Ó>ˆŒØ�d—m‘mÔ#ØŸ
™
×)Ñ)¨+Ó6ˆCŒIØŸ™ˆCŒJØ�t—}‘}Ô$ØŸ™×+Ñ+¨KÓ8ˆCŒJØŸ™ˆCŒJÜÔ Ñ-¨kÈÐ-ÔOØ!×0Ñ0ˆÔØˆ
r   c                ó:   € V P                   P                  ! V/ VB # ©N)r%   r5   )r)   ÚargsÚkwargss   &*,r   Ú_newÚNegativeBinomial._newY   s   € Ø�{‰{�Š Ð/¨Ñ/Ð/r   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   r   )r   r   s   "€r   r   r   ]   s   ø€ ÷ 9ñ 9‘fñ 9r   c                ód   € V P                   \        P                  ! V P                  4      ,          # r8   )r   r/   Úexpr   ©r)   s   &r   ÚmeanÚNegativeBinomial.mean\   s    € à×Ñ¤%§)¢)¨D¯K©KÓ"8Õ8Ð8r   c                ó    <€ V ^8„  d   QhRS[ /# r>   r   )r   r   s   "€r   r   r   a   s   ø€ ÷ Sñ S‘fñ Sr   c                ó¢   € V P                   ^,
          V P                  P                  4       ,          P                  4       P	                  RR7      # )é   r   )Úmin)r   r   r@   ÚfloorÚclamprA   s   &r   ÚmodeÚNegativeBinomial.mode`   s:   € à×!Ñ! AÕ%¨¯©¯©Ó):Õ:×AÑAÓC×IÑIÈcÐIÓRÐRr   c                ó    <€ V ^8„  d   QhRS[ /# r>   r   )r   r   s   "€r   r   r   e   s   ø€ ÷ 7ñ 7™&ñ 7r   c                óf   € V P                   \        P                  ! V P                  ) 4      ,          # r8   )rB   r/   Úsigmoidr   rA   s   &r   ÚvarianceÚNegativeBinomial.varianced   s    € à�y‰yœ5Ÿ=š=¨$¯+©+¨Ó6Õ6Ð6r   c                ó    <€ V ^8„  d   QhRS[ /# r>   r   )r   r   s   "€r   r   r   i   s   ø€ ÷ ;ñ ;™ñ ;r   c                ó0   € \        V P                  R R7      # ©T)Ú	is_binary)r   r   rA   s   &r   r   ÚNegativeBinomial.logitsh   s   € ä˜tŸz™z°TÔ:Ð:r   c                ó    <€ V ^8„  d   QhRS[ /# r>   r   )r   r   s   "€r   r   r   m   s   ø€ ÷ <ñ <‘vñ <r   c                ó0   € \        V P                  R R7      # rS   )r   r   rA   s   &r   r   ÚNegativeBinomial.probsl   s   € ä˜tŸ{™{°dÔ;Ð;r   c                ó4   <€ V ^8„  d   QhRS[ P                  /# r>   )r/   r0   )r   r   s   "€r   r   r   q   s   ø€ ÷ "ñ "™UŸZ™Zñ "r   c                ó6   € V P                   P                  4       # r8   )r%   r&   rA   s   &r   Úparam_shapeÚNegativeBinomial.param_shapep   s   € à�{‰{×ÑÓ!Ð!r   c                ó    <€ V ^8„  d   QhRS[ /# r>   r   )r   r   s   "€r   r   r   u   s   ø€ ÷ 
ñ 
™ñ 
r   c                óp   € \        V P                  \        P                  ! V P                  ) 4      R R7      # )F)ÚconcentrationÚrater   )r   r   r/   r@   r   rA   s   &r   Ú_gammaÚNegativeBinomial._gammat   s/   € ô Ø×*Ñ*Ü—’˜DŸK™K˜<Ó(Øô
ð 	
r   c                óÞ   € \         P                  ! 4       ;_uu_ 4        V P                  P                  VR 7      p\         P                  ! V4      uuRRR4       #   + '       g   i     R# ; i))Úsample_shapeN)r/   Úno_gradra   ÚsampleÚpoisson)r)   rd   r`   s   && r   rf   ÚNegativeBinomial.sample}   s<   € Ü�]Š]�_�_Ø—;‘;×%Ñ%°<Ð%Ó@ˆDÜ—=’= Ó&÷ �_�_‹_ús   ž2AÁA,	c                ó>  € V P                   '       d   V P                  V4       V P                  \        P                  ! V P
                  ) 4      ,          V\        P                  ! V P
                  4      ,          ,           p\        P                  ! V P                  V,           4      ) \        P                  ! R V,           4      ,           \        P                  ! V P                  4      ,           pVP                  V P                  V,           R8H  R4      pW#,
          # )r   r   )	r3   Ú_validate_sampler   ÚFÚ
logsigmoidr   r/   ÚlgammaÚmasked_fill)r)   ÚvalueÚlog_unnormalized_probÚlog_normalizations   &&  r   Úlog_probÚNegativeBinomial.log_prob‚   sÛ   € Ø××ÐØ×!Ñ! %Ô(à $× 0Ñ 0´1·<²<Ø�[‰[ˆLó4
õ !
à”A—L’L §¡Ó-Õ-õ!.Ðô
 �\Š\˜$×*Ñ*¨UÕ2Ó3Ð3Ü�lŠl˜3 �;Ó'õ(ä�lŠl˜4×+Ñ+Ó,õ-ð 	ð .×9Ñ9Ø×Ñ˜uÕ$¨Ñ+¨Só
Ðð %Õ8Ð8r   )r%   r   r   r   )NNNr8   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Úgreater_than_eqÚhalf_open_intervalÚrealÚarg_constraintsÚnonnegative_integerÚsupportr(   r1   r;   ÚpropertyrB   rJ   rO   r
   r   r   r[   ra   r/   r0   rf   rr   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r+   r   s   @@r   r   r      s  ù‡ € ñð  	�{×2Ò2°1Ó5Ø�×/Ò/°°SÓ9Ø�+×"Ñ"ð€Oð
 ×-Ñ-€G÷Cõ C÷@ò0ð ÷9ó ð9ð ÷Só ðSð ÷7ó ð7ð ÷;ó ð;ð ÷<ó ð<ð ÷"ó ð"ð ÷
ó ð
ð #(§*¢*£,ô '÷
9ò 9r   )r/   Útorch.nn.functionalÚnnÚ
functionalrk   r   Útorch.distributionsr   Ú torch.distributions.distributionr   Útorch.distributions.gammar   Útorch.distributions.utilsr	   r
   r   r   Ú__all__r   © r   r   Ú<module>rŒ      s>   ðó ß Ð Ý Ý +Ý 9Ý +÷ó ð Ð
€ôB9�|ö B9r   