+
    –°³jR$  ã                   ó’   € ^ RI t ^ 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Ht ^ RIHt ^ RIHtHtHt R.t ! R	 R]4      tR# )
é    N©ÚTensor)Úconstraints)ÚExponentialFamily)Úbroadcast_allÚclamp_probsÚlazy_propertyÚlogits_to_probsÚprobs_to_logits)Ú binary_cross_entropy_with_logits)Ú_NumberÚ_sizeÚNumberÚContinuousBernoullic                   ó  a a€ ] tR t^t oRtR]P                  R]P                  /t]P                  t	^ t
RtR#V3R lV 3R llltR$V 3R lltR tR	 tR
 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]P6                  ! 4       3R lt]P6                  ! 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   a‰  
Creates a continuous Bernoulli distribution parameterized by :attr:`probs`
or :attr:`logits` (but not both).

The distribution is supported in [0, 1] and parameterized by 'probs' (in
(0,1)) or 'logits' (real-valued). Note that, unlike the Bernoulli, 'probs'
does not correspond to a probability and 'logits' does not correspond to
log-odds, but the same names are used due to the similarity with the
Bernoulli. See [1] for more details.

Example::

    >>> # xdoctest: +IGNORE_WANT("non-deterministic")
    >>> m = ContinuousBernoulli(torch.tensor([0.3]))
    >>> m.sample()
    tensor([ 0.2538])

Args:
    probs (Number, Tensor): (0,1) valued parameters
    logits (Number, Tensor): real valued parameters whose sigmoid matches 'probs'

[1] The continuous Bernoulli: fixing a pervasive error in variational
autoencoders, Loaiza-Ganem G and Cunningham JP, NeurIPS 2019.
https://arxiv.org/abs/1907.06845
ÚprobsÚlogitsTc          
      ó–   <€ V ^8„  d   QhRS[ S[,          R,          RS[ S[,          R,          RS[S[S[3,          RS[R,          RR/# )é   r   Nr   ÚlimsÚvalidate_argsÚreturn)r   r   ÚtupleÚfloatÚbool)ÚformatÚ__classdict__s   "€Úi/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/distributions/continuous_bernoulli.pyÚ__annotate__Ú ContinuousBernoulli.__annotate__7   sc   ø€ ÷ "Cñ "Cá™� Õ%ð"Cñ ™• $Õ&ð"Cñ ‘E™5�LÕ!ð	"Cñ
 ˜d•{ð"Cð 
ñ"Có    c                ó”  <€ VR J VR J 8X  d   \        R4      hVe�   \        V\        4      p\        V4      w  V n        VeL   V P
                  R,          P                  V P                  4      P                  4       '       g   \        R4      h\        V P                  4      V n        M1Vf   \        R4      h\        V\        4      p\        V4      w  V n
        Ve   V P                  MV P                  V n        V'       d   \        P                  ! 4       pMV P                  P                  4       pW0n        \         SV `E  WdR7       R # )Nz;Either `probs` or `logits` must be specified, but not both.r   z&The parameter probs has invalid valueszlogits is unexpectedly None©r   )Ú
ValueErrorÚ
isinstancer   r   r   Úarg_constraintsÚcheckÚallr   ÚAssertionErrorr   Ú_paramÚtorchÚSizeÚsizeÚ_limsÚsuperÚ__init__)Úselfr   r   r   r   Ú	is_scalarÚbatch_shapeÚ	__class__s   &&&&&  €r   r0   ÚContinuousBernoulli.__init__7   s
  ø€ ð �TˆM˜v¨˜~Ô.ÜØMóð ð ÒÜ" 5¬'Ó2ˆIä)¨%Ó0‰MˆTŒZð Ò(Ø×+Ñ+¨GÕ4×:Ñ:¸4¿:¹:ÓF×JÑJ×LÒLÜ$Ð%MÓNÐNä$ T§Z¡ZÓ0ˆD�JàŠ~Ü$Ð%BÓCÐCÜ" 6¬7Ó3ˆIä*¨6Ó2‰NˆTŒ[Ø$)Ò$5�d—j’j¸4¿;¹;ˆŒßÜŸ*š*›,‰KàŸ+™+×*Ñ*Ó,ˆKØŒ
Ü‰Ñ˜ÐÖBr!   c                óÖ  <€ V P                  \        V4      pV P                  Vn        \        P                  ! V4      p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   r.   r+   r,   Ú__dict__r   Úexpandr*   r   r/   r0   Ú_validate_args)r1   r3   Ú	_instanceÚnewr4   s   &&& €r   r9   ÚContinuousBernoulli.expand[   s±   ø€ Ø×(Ñ(Ô)<¸iÓHˆØ—J‘JˆŒ	Ü—j’j Ó-ˆØ�d—m‘mÔ#ØŸ
™
×)Ñ)¨+Ó6ˆCŒIØŸ™ˆCŒJØ�t—}‘}Ô$ØŸ™×+Ñ+¨KÓ8ˆCŒJØŸ™ˆCŒJÜÔ! 3Ñ0°ÈEÐ0ÔRØ!×0Ñ0ˆÔØˆ
r!   c                ó:   € V P                   P                  ! V/ VB # ©N)r*   r<   )r1   ÚargsÚkwargss   &*,r   Ú_newÚContinuousBernoulli._newi   s   € Ø�{‰{�Š Ð/¨Ñ/Ð/r!   c                óð   € \         P                  ! \         P                  ! V P                  V P                  ^ ,          4      \         P
                  ! V P                  V P                  ^,          4      4      # ©r   )r+   ÚmaxÚler   r.   Úgt©r1   s   &r   Ú_outside_unstable_regionÚ,ContinuousBernoulli._outside_unstable_regionl   sG   € Ü�yŠyÜ�HŠH�T—Z‘Z §¡¨A¥Ó/´·²¸$¿*¹*ÀdÇjÁjÐQRÅmÓ1Tó
ð 	
r!   c                óÎ   € \         P                  ! V P                  4       V P                  V P                  ^ ,          \         P
                  ! V P                  4      ,          4      # rE   )r+   ÚwhererJ   r   r.   Ú	ones_likerI   s   &r   Ú
_cut_probsÚContinuousBernoulli._cut_probsq   sC   € Ü�{Š{Ø×)Ñ)Ó+Ø�J‰JØ�J‰J�q�MœEŸOšO¨D¯J©JÓ7Õ7ó
ð 	
r!   c           	     ó¶  € V P                  4       p\        P                  ! \        P                  ! VR4      V\        P                  ! V4      4      p\        P                  ! \        P
                  ! VR4      V\        P                  ! V4      4      p\        P                  ! \        P                  ! \        P                  ! V) 4      \        P                  ! V4      ,
          4      4      \        P                  ! \        P                  ! VR4      \        P                  ! RV,          4      \        P                  ! RV,          R,
          4      4      ,
          p\        P                  ! V P                  R,
          ^4      p\        P                  ! R4      RRV,          ,           V,          ,           p\        P                  ! V P                  4       WF4      # )zLcomputes the log normalizing constant as a function of the 'probs' parameterç      à?ç       @ç      ð?g       ÀgUUUUUUõ?gÒ'}Ò'}@)rO   r+   rM   rG   Ú
zeros_likeÚgerN   ÚlogÚabsÚlog1pÚpowr   ÚmathrJ   )r1   Ú	cut_probsÚcut_probs_below_halfÚcut_probs_above_halfÚlog_normÚxÚtaylors   &      r   Ú_cont_bern_log_normÚ'ContinuousBernoulli._cont_bern_log_normx   s9  € à—O‘OÓ%ˆ	Ü$Ÿ{š{Ü�HŠH�Y Ó$ i´×1AÒ1AÀ)Ó1Ló 
Ðô  %Ÿ{š{Ü�HŠH�Y Ó$ i´·²ÀÓ1Kó 
Ðô —9’9Ü�IŠI”e—k’k 9 *Ó-´·	²	¸)Ó0DÕDÓEó
ä�KŠKÜ�HŠH�Y Ó$Ü�KŠK˜Ð3Õ3Ó4Ü�IŠI�cÐ0Õ0°3Õ6Ó7ó
õ
ˆô �IŠI�d—j‘j 3Õ&¨Ó*ˆÜ—’˜#“ )¨l¸QÕ.>Õ">À!Õ!CÕCˆÜ�{Š{˜4×8Ñ8Ó:¸HÓMÐMr!   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   r   )r   r   s   "€r   r   r    �   s   ø€ ÷ Iñ I‘fñ Ir!   c                ó¢  € V P                  4       pVR V,          R,
          ,          R\        P                  ! V) 4      \        P                  ! V4      ,
          ,          ,           pV P                  R,
          pRRR\        P
                  ! V^4      ,          ,           V,          ,           p\        P                  ! V P                  4       W$4      # )rS   rT   rR   gUUUUUUÕ?glÁlÁÖ?)rO   r+   rY   rW   r   rZ   rM   rJ   )r1   r\   Úmusr`   ra   s   &    r   ÚmeanÚContinuousBernoulli.meanŒ   s–   € à—O‘OÓ%ˆ	Ø˜3 �?¨SÕ0Õ1°CÜ�KŠK˜˜
Ó#¤e§i¢i°	Ó&:Õ:õ5
õ 
ˆð �J‰J˜ÕˆØ˜	 K´%·)²)¸A¸q³/Õ$AÕAÀQÕFÕFˆÜ�{Š{˜4×8Ñ8Ó:¸CÓHÐHr!   c                ó    <€ V ^8„  d   QhRS[ /# re   r   )r   r   s   "€r   r   r    —   s   ø€ ÷ )ñ )™ñ )r!   c                óB   € \         P                  ! V P                  4      # r?   )r+   ÚsqrtÚvariancerI   s   &r   ÚstddevÚContinuousBernoulli.stddev–   s   € ä�zŠz˜$Ÿ-™-Ó(Ð(r!   c                ó    <€ V ^8„  d   QhRS[ /# re   r   )r   r   s   "€r   r   r    ›   s   ø€ ÷ Jñ J™&ñ Jr!   c                ó  € V P                  4       pWR ,
          ,          \        P                  ! R RV,          ,
          ^4      ,          R \        P                  ! \        P                  ! V) 4      \        P                  ! V4      ,
          ^4      ,          ,           p\        P                  ! V P
                  R,
          ^4      pRRRV,          ,
          V,          ,
          p\        P                  ! V P                  4       W$4      # )rT   rS   rR   gUUUUUUµ?g±?gg¼jVÁ?)rO   r+   rZ   rY   rW   r   rM   rJ   )r1   r\   Úvarsr`   ra   s   &    r   rm   ÚContinuousBernoulli.varianceš   s¸   € à—O‘OÓ%ˆ	Ø¨�OÕ,¬u¯yªyØ�#˜	•/Õ! 1ó0
õ 
à”%—)’)œEŸKšK¨¨
Ó3´e·i²iÀ	Ó6JÕJÈAÓNÕNõOˆô �IŠI�d—j‘j 3Õ&¨Ó*ˆØ˜z¨M¸AÕ,=Õ=ÀÕBÕBˆÜ�{Š{˜4×8Ñ8Ó:¸DÓIÐIr!   c                ó    <€ V ^8„  d   QhRS[ /# re   r   )r   r   s   "€r   r   r    ¥   s   ø€ ÷ ;ñ ;™ñ ;r!   c                ó0   € \        V P                  R R7      # ©T)Ú	is_binary)r   r   rI   s   &r   r   ÚContinuousBernoulli.logits¤   s   € ä˜tŸz™z°TÔ:Ð:r!   c                ó    <€ V ^8„  d   QhRS[ /# re   r   )r   r   s   "€r   r   r    ©   s   ø€ ÷ Iñ I‘vñ Ir!   c                óB   € \        \        V P                  R R7      4      # rv   )r   r
   r   rI   s   &r   r   ÚContinuousBernoulli.probs¨   s   € äœ?¨4¯;©;À$ÔGÓHÐHr!   c                ó4   <€ V ^8„  d   QhRS[ P                  /# re   )r+   r,   )r   r   s   "€r   r   r    ­   s   ø€ ÷ "ñ "™UŸZ™Zñ "r!   c                ó6   € V P                   P                  4       # r?   )r*   r-   rI   s   &r   Úparam_shapeÚContinuousBernoulli.param_shape¬   s   € à�{‰{×ÑÓ!Ð!r!   c                ó>  € V P                  V4      p\        P                  ! W P                  P                  V P                  P
                  R 7      p\        P                  ! 4       ;_uu_ 4        V P                  V4      uuRRR4       #   + '       g   i     R# ; i)©ÚdtypeÚdeviceN)Ú_extended_shaper+   Úrandr   r‚   rƒ   Úno_gradÚicdf©r1   Úsample_shapeÚshapeÚus   &&  r   ÚsampleÚContinuousBernoulli.sample°   sX   € Ø×$Ñ$ \Ó2ˆÜ�JŠJ�u§J¡J×$4Ñ$4¸T¿Z¹Z×=NÑ=NÔOˆÜ�]Š]�_�_Ø—9‘9˜Q“<÷ �_�_‹_ús   Á/BÂB	c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   r‰   r   )r   r   )r   r   s   "€r   r   r    ¶   s   ø€ ÷ ñ ¡Eð ¹Vñ r!   c                óÆ   € V P                  V4      p\        P                  ! W P                  P                  V P                  P
                  R 7      pV P                  V4      # )r�   )r„   r+   r…   r   r‚   rƒ   r‡   rˆ   s   &&  r   ÚrsampleÚContinuousBernoulli.rsample¶   sD   € Ø×$Ñ$ \Ó2ˆÜ�JŠJ�u§J¡J×$4Ñ$4¸T¿Z¹Z×=NÑ=NÔOˆØ�y‰y˜‹|Ðr!   c                ó¾   € V P                   '       d   V P                  V4       \        V P                  V4      w  r!\	        W!R R7      ) V P                  4       ,           # )Únone)Ú	reduction)r:   Ú_validate_sampler   r   r   rb   )r1   Úvaluer   s   && r   Úlog_probÚContinuousBernoulli.log_prob»   sQ   € Ø××ÐØ×!Ñ! %Ô(Ü% d§k¡k°5Ó9‰ˆä-¨fÀvÔNÐNØ×&Ñ&Ó(õ)ð	
r!   c           
     óx  € V P                   '       d   V P                  V4       V P                  4       p\        P                  ! W!4      \        P                  ! R V,
          R V,
          4      ,          V,           R ,
          RV,          R ,
          ,          p\        P
                  ! V P                  4       W14      p\        P
                  ! \        P                  ! VR4      \        P                  ! V4      \        P
                  ! \        P                  ! VR 4      \        P                  ! V4      V4      4      # )rT   rS   g        )r:   r•   rO   r+   rZ   rM   rJ   rG   rU   rV   rN   )r1   r–   r\   ÚcdfsÚunbounded_cdfss   &&   r   ÚcdfÚContinuousBernoulli.cdfÄ   sÝ   € Ø××ÐØ×!Ñ! %Ô(Ø—O‘OÓ%ˆ	ä�IŠI�iÓ'¬%¯)ª)°C¸)µOÀSÈ5Å[Ó*QÕQØõàõð �9�_˜sÕ"õ	$ˆô
 Ÿš T×%BÑ%BÓ%DÀdÓRˆÜ�{Š{Ü�HŠH�U˜CÓ Ü×Ò˜UÓ#Ü�KŠKœŸš ¨Ó,¬e¯oªo¸eÓ.DÀnÓUó
ð 	
r!   c           	     óv  € V P                  4       p\        P                  ! V P                  4       \        P                  ! V) VR V,          R,
          ,          ,           4      \        P                  ! V) 4      ,
          \        P
                  ! V4      \        P                  ! V) 4      ,
          ,          V4      # )rS   rT   )rO   r+   rM   rJ   rY   rW   )r1   r–   r\   s   && r   r‡   ÚContinuousBernoulli.icdfÔ   s‡   € Ø—O‘OÓ%ˆ	Ü�{Š{Ø×)Ñ)Ó+ä—’˜Y˜J¨°#¸	µ/ÀCÕ2GÕ)HÕHÓIÜ—+’+˜y˜jÓ)õ*ô �yŠy˜Ó#¤e§k¢k°9°*Ó&=Õ=õ	?ð
 ó
ð 	
r!   c                óî   € \         P                  ! V P                  ) 4      p\         P                  ! V P                  4      pV P                  W,
          ,          V P                  4       ,
          V,
          # r?   )r+   rY   r   rW   rh   rb   )r1   Ú
log_probs0Ú
log_probs1s   &  r   ÚentropyÚContinuousBernoulli.entropyà   sU   € Ü—[’[ $§*¡* Ó-ˆ
Ü—Y’Y˜tŸz™zÓ*ˆ
à�I‰I˜Õ0Õ1Ø×&Ñ&Ó(õ)àõð	
r!   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# re   )r   r   )r   r   s   "€r   r   r    ê   s   ø€ ÷ ñ ¡¡v¥ñ r!   c                ó   € V P                   3# r?   )r   rI   s   &r   Ú_natural_paramsÚ#ContinuousBernoulli._natural_paramsé   s   € à—‘ˆ~Ðr!   c                ó,  € \         P                  ! \         P                  ! WP                  ^ ,          R,
          4      \         P                  ! WP                  ^,          R,
          4      4      p\         P
                  ! W!V P                  ^ ,          R,
          \         P                  ! V4      ,          4      p\         P                  ! \         P                  ! \         P                  P                  V4      4      4      \         P                  ! \         P                  ! V4      4      ,
          pRV,          \         P                  ! V^4      R,          ,           \         P                  ! V^4      R,          ,
          p\         P
                  ! W$V4      # )zLcomputes the log normalizing constant as a function of the natural parameterrR   g      8@g     €¦@)r+   rF   rG   r.   rH   rM   rN   rW   rX   ÚspecialÚexpm1rZ   )r1   r`   Úout_unst_regÚcut_nat_paramsr_   ra   s   &&    r   Ú_log_normalizerÚ#ContinuousBernoulli._log_normalizerî   sú   € ä—y’yÜ�HŠH�QŸ
™
 1�¨Õ+Ó,¬e¯hªh°q¿*¹*ÀQ½-È#Õ:MÓ.Nó
ˆô ŸšØ˜dŸj™j¨�m¨cÕ1´U·_²_ÀQÓ5GÕGó
ˆô —9’9Ü�IŠI”e—m‘m×)Ñ)¨.Ó9Ó:ó
ä�IŠI”e—i’i Ó/Ó0õ1ˆð �q•œ5Ÿ9š9 Q¨›?¨TÕ1Õ1´E·I²I¸aÀ³OÀfÕ4LÕLˆÜ�{Š{˜<°6Ó:Ð:r!   )r.   r*   r   r   )NN)gV-²�ïß?gÕxé&1à?Nr?   )'Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Úunit_intervalÚrealr&   ÚsupportÚ_mean_carrier_measureÚhas_rsampler0   r9   rB   rJ   rO   rb   Úpropertyrh   rn   rm   r	   r   r   r~   r+   r,   rŒ   r�   r—   rœ   r‡   r£   r§   r®   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r4   r   s   @@r   r   r      s8  ù‡ € ñð6  × 9Ñ 9¸8À[×EUÑEUÐV€OØ×'Ñ'€GØÐØ€K÷"Cõ "C÷Hò0ò
ò

òNð( ÷Ió ðIð ÷)ó ð)ð ÷Jó ðJð ÷;ó ð;ð ÷Ió ðIð ÷"ó ð"ð #(§*¢*£,ô  ð -2¯JªJ«L÷ ò ò

ò
ò 

ò
ð ÷ó ð÷;ò ;r!   )r[   r+   r   Útorch.distributionsr   Útorch.distributions.exp_familyr   Útorch.distributions.utilsr   r   r	   r
   r   Útorch.nn.functionalr   Útorch.typesr   r   r   Ú__all__r   © r!   r   Ú<module>rÅ      sC   ðã ã Ý Ý +Ý <÷õ õ Aß .Ñ .ð !Ð
!€ôd;Ð+ö d;r!   