+
    –°³jQ  ã                   ól   € ^ RI 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 t ! R R]4      tR# )	é    N©ÚTensor)Úconstraints)ÚDistribution)Úbroadcast_allÚlazy_propertyÚlogits_to_probsÚprobs_to_logitsÚBinomialc                 óp   € V P                  ^ R7      V ,           V P                  ^ R7      ,
          ^,          # )r   )Úmin©Úmax)Úclamp)Úxs   &Ú]/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/distributions/binomial.pyÚ_clamp_by_zeror      s+   € à�G‰G˜ˆG‹N˜QÕ §¡¨Q £Õ/°1Õ4Ð4ó    c                   óÈ  a a€ ] tR t^t oRtR]P                  R]P                  R]P                  /t	Rt
RV3R lV 3R llltRV 3R lltR	 t]P                  ! R^ R
7      R 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RR ltRtVtV ;t # ) r   a­  
Creates a Binomial distribution parameterized by :attr:`total_count` and
either :attr:`probs` or :attr:`logits` (but not both). :attr:`total_count` must be
broadcastable with :attr:`probs`/:attr:`logits`.

Example::

    >>> # xdoctest: +IGNORE_WANT("non-deterministic")
    >>> m = Binomial(100, torch.tensor([0 , .2, .8, 1]))
    >>> x = m.sample()
    tensor([   0.,   22.,   71.,  100.])

    >>> m = Binomial(torch.tensor([[5.], [10.]]), torch.tensor([0.5, 0.8]))
    >>> x = m.sample()
    tensor([[ 4.,  5.],
            [ 7.,  6.]])

Args:
    total_count (int or Tensor): number of Bernoulli trials
    probs (Tensor): Event probabilities
    logits (Tensor): Event log-odds
Útotal_countÚprobsÚlogitsTc          
      ó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   ÚintÚbool)ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚBinomial.__annotate__7   sT   ø€ ÷ Cñ Cá™c•\ðCñ ˜�}ðCñ ˜•ð	Cñ
 ˜d•{ðCð 
ñCr   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+   ÚBinomial.__init__7   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   r4   ÚBinomial.expandW   s¼   ø€ Ø×(Ñ(¬°9Ó=ˆÜ—j’j Ó-ˆØ×*Ñ*×1Ñ1°+Ó>ˆŒØ�d—m‘mÔ#ØŸ
™
×)Ñ)¨+Ó6ˆCŒIØŸ™ˆCŒJØ�t—}‘}Ô$ØŸ™×+Ñ+¨KÓ8ˆCŒJØŸ™ˆCŒJÜŒh˜Ñ% kÀÐ%ÔGØ!×0Ñ0ˆÔØˆ
r   c                ó:   € V P                   P                  ! V/ VB # ©N)r(   r8   )r,   ÚargsÚkwargss   &*,r   Ú_newÚBinomial._newe   s   € Ø�{‰{�Š Ð/¨Ñ/Ð/r   )Úis_discreteÚ	event_dimc                óD   € \         P                  ! ^ V P                  4      # )r   )r   Úinteger_intervalr   ©r,   s   &r   ÚsupportÚBinomial.supporth   s   € ô ×+Ò+¨A¨t×/?Ñ/?Ó@Ð@r   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   r   )r   r    s   "€r   r!   r"   n   s   ø€ ÷ -ñ -‘fñ -r   c                ó<   € V P                   V P                  ,          # r;   ©r   r   rD   s   &r   ÚmeanÚBinomial.meanm   s   € à×Ñ $§*¡*Õ,Ð,r   c                ó    <€ V ^8„  d   QhRS[ /# rH   r   )r   r    s   "€r   r!   r"   r   s   ø€ ÷ Yñ Y‘fñ Yr   c                óš   € V P                   ^,           V P                  ,          P                  4       P                  V P                   R7      # )é   r   )r   r   Úfloorr   rD   s   &r   ÚmodeÚBinomial.modeq   s9   € à×!Ñ! AÕ%¨¯©Õ3×:Ñ:Ó<×BÑBÀt×GWÑGWÐBÓXÐXr   c                ó    <€ V ^8„  d   QhRS[ /# rH   r   )r   r    s   "€r   r!   r"   v   s   ø€ ÷ @ñ @™&ñ @r   c                ól   € V P                   V P                  ,          ^V P                  ,
          ,          # ©rO   rJ   rD   s   &r   ÚvarianceÚBinomial.varianceu   s$   € à×Ñ $§*¡*Õ,°°D·J±JµÕ?Ð?r   c                ó    <€ V ^8„  d   QhRS[ /# rH   r   )r   r    s   "€r   r!   r"   z   s   ø€ ÷ ;ñ ;™ñ ;r   c                ó0   € \        V P                  R R7      # ©T)Ú	is_binary)r
   r   rD   s   &r   r   ÚBinomial.logitsy   s   € ä˜tŸz™z°TÔ:Ð:r   c                ó    <€ V ^8„  d   QhRS[ /# rH   r   )r   r    s   "€r   r!   r"   ~   s   ø€ ÷ <ñ <‘vñ <r   c                ó0   € \        V P                  R R7      # rZ   )r	   r   rD   s   &r   r   ÚBinomial.probs}   s   € ä˜tŸ{™{°dÔ;Ð;r   c                ó4   <€ V ^8„  d   QhRS[ P                  /# rH   )r2   r3   )r   r    s   "€r   r!   r"   ‚   s   ø€ ÷ "ñ "™UŸZ™Zñ "r   c                ó6   € V P                   P                  4       # r;   )r(   r)   rD   s   &r   Úparam_shapeÚBinomial.param_shape�   s   € à�{‰{×ÑÓ!Ð!r   c                ó.  € V P                  V4      p\        P                  ! 4       ;_uu_ 4        \        P                  ! V P                  P                  V4      V P                  P                  V4      4      uuR R R 4       #   + '       g   i     R # ; ir;   )Ú_extended_shaper2   Úno_gradÚbinomialr   r4   r   )r,   Úsample_shapeÚshapes   && r   ÚsampleÚBinomial.sample…   sZ   € Ø×$Ñ$ \Ó2ˆÜ�]Š]�_�_Ü—>’>Ø× Ñ ×'Ñ'¨Ó.°·
±
×0AÑ0AÀ%Ó0Hó÷ �_�_‹_ús   ¯A	BÂB	c           	     ó’  € V P                   '       d   V P                  V4       \        P                  ! V P                  ^,           4      p\        P                  ! V^,           4      p\        P                  ! V P                  V,
          ^,           4      pV P                  \        V P                  4      ,          V P                  \        P                  ! \        P                  ! \        P                  ! V P                  4      ) 4      4      ,          ,           V,
          pWP                  ,          V,
          V,
          V,
          # rU   )
r6   Ú_validate_sampler2   Úlgammar   r   r   Úlog1pÚexpÚabs)r,   ÚvalueÚlog_factorial_nÚlog_factorial_kÚlog_factorial_nmkÚnormalize_terms   &&    r   Úlog_probÚBinomial.log_probŒ   sã   € Ø××ÐØ×!Ñ! %Ô(ÜŸ,š, t×'7Ñ'7¸!Õ';Ó<ˆÜŸ,š, u¨q¥yÓ1ˆÜ!ŸLšL¨×)9Ñ)9¸EÕ)AÀAÕ)EÓFÐð ×Ñœ~¨d¯k©kÓ:Õ:Ø×Ñ¤§¢¬U¯YªY¼¿	º	À$Ç+Á+Ó8NÐ7NÓ-OÓ!PÕPõQàõð 	ð —K‘KÕ /Õ1Ð4EÕEÈÕVð	
r   c                ó6  € \        V P                  P                  4       4      pV P                  P                  4       V8X  g   \	        R 4      hV P                  V P                  R4      4      p\        P                  ! V4      V,          P                  ^ 4      ) # )z5Inhomogeneous total count not supported by `entropy`.F)
r   r   r   r   ÚNotImplementedErrorrw   Úenumerate_supportr2   rp   Úsum)r,   r   rw   s   &  r   ÚentropyÚBinomial.entropy    s   € Ü˜$×*Ñ*×.Ñ.Ó0Ó1ˆØ×Ñ×#Ñ#Ó%¨Ô4Ü%ØGóð ð —=‘= ×!7Ñ!7¸Ó!>Ó?ˆÜ—’˜8Ó$ xÕ/×4Ñ4°QÓ7Ð7Ð7r   c                óè  € \        V P                  P                  4       4      pV P                  P                  4       V8X  g   \	        R 4      h\
        P                  ! ^V,           V P                  P                  V P                  P                  R7      pVP                  RR\        V P                  4      ,          ,           4      pV'       d#   VP                  RV P                  ,           4      pV# )z?Inhomogeneous total count not supported by `enumerate_support`.)ÚdtypeÚdevice)éÿÿÿÿrU   )r   r   r   r   rz   r2   Úaranger(   r€   r�   ÚviewÚlenÚ_batch_shaper4   )r,   r4   r   Úvaluess   &&  r   r{   ÚBinomial.enumerate_supportª   s·   € Ü˜$×*Ñ*×.Ñ.Ó0Ó1ˆØ×Ñ×#Ñ#Ó%¨Ô4Ü%ØQóð ô —’Ø��O 4§;¡;×#4Ñ#4¸T¿[¹[×=OÑ=Oô
ˆð —‘˜U T¬C°×0AÑ0AÓ,BÕ%BÕBÓCˆßØ—]‘] 5¨4×+<Ñ+<Õ#<Ó=ˆFØˆr   )r(   r   r   r   )rO   NNNr;   )T)!Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Únonnegative_integerÚunit_intervalÚrealÚarg_constraintsÚhas_enumerate_supportr+   r4   r>   Údependent_propertyrE   ÚpropertyrK   rQ   rV   r   r   r   rb   r2   r3   rj   rw   r}   r{   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r.   r    s   @@r   r   r      s  ù‡ € ñð2 	�{×6Ñ6Ø�×*Ñ*Ø�+×"Ñ"ð€Oð
 !Ð÷Cõ C÷@ò0ð ×#Ò#°ÀÔBñAó CðAð ÷-ó ð-ð ÷Yó ðYð ÷@ó ð@ð ÷;ó ð;ð ÷<ó ð<ð ÷"ó ð"ð #(§*¢*£,ô ò
ò(8÷ô r   )r2   r   Útorch.distributionsr   Ú torch.distributions.distributionr   Útorch.distributions.utilsr   r   r	   r
   Ú__all__r   r   © r   r   Ú<module>r�      s9   ðó Ý Ý +Ý 9÷ó ð ˆ,€ò5ô
_ˆ|ö _r   