+
    &j2                     v    ^ RI t ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHtH	t	 ^ RI
HtHt R.t ! R R]4      tR# )	    NTensor)constraints)ExponentialFamily)_standard_normalbroadcast_all)_Number_sizeNormalc                     a a ] tR t^t oRtR]P                  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R 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   a  
Creates a normal (also called Gaussian) distribution parameterized by
:attr:`loc` and :attr:`scale`.

Example::

    >>> # xdoctest: +IGNORE_WANT("non-deterministic")
    >>> m = Normal(torch.tensor([0.0]), torch.tensor([1.0]))
    >>> m.sample()  # normally distributed with loc=0 and scale=1
    tensor([ 0.1046])

Args:
    loc (float or Tensor): mean of the distribution (often referred to as mu)
    scale (float or Tensor): standard deviation of the distribution
        (often referred to as sigma)
locscaleTc                    < V ^8  d   QhRS[ /#    returnr   )format__classdict__s   "r/Users/jameslopez/projects/CWCArchive/cwc-podcast/.venv/lib/python3.14/site-packages/torch/distributions/normal.py__annotate__Normal.__annotate__(         f     c                    V P                   # Nr   selfs   &r   meanNormal.mean'       xxr   c                    < V ^8  d   QhRS[ /# r   r   )r   r   s   "r   r   r   ,   r   r   c                    V P                   # r   r   r   s   &r   modeNormal.mode+   r!   r   c                    < V ^8  d   QhRS[ /# r   r   )r   r   s   "r   r   r   0   s       r   c                    V P                   # r   )r   r   s   &r   stddevNormal.stddev/   s    zzr   c                    < V ^8  d   QhRS[ /# r   r   )r   r   s   "r   r   r   4   s     " "& "r   c                8    V P                   P                  ^4      # r   )r(   powr   s   &r   varianceNormal.variance3   s    {{q!!r   c                ^   < V ^8  d   QhRS[ S[,          RS[ S[,          RS[R,          RR/# )r   r   r   validate_argsNr   )r   floatbool)r   r   s   "r   r   r   7   sE     C Ce^C ~C d{	C
 
Cr   c                  < \        W4      w  V n        V n        \        V\        4      '       d-   \        V\        4      '       d   \
        P                  ! 4       pMV P                  P                  4       p\        SV `%  WCR 7       R# )r1   N)
r   r   r   
isinstancer	   torchSizesizesuper__init__)r   r   r   r1   batch_shape	__class__s   &&&& r   r;   Normal.__init__7   s[      -S8$*c7##
5'(B(B**,K((--/KBr   c                ,  < V P                  \        V4      p\        P                  ! V4      pV P                  P                  V4      Vn        V P                  P                  V4      Vn        \        \        V`#  VR R7       V P                  Vn	        V# )Fr5   )
_get_checked_instancer   r7   r8   r   expandr   r:   r;   _validate_args)r   r<   	_instancenewr=   s   &&& r   rA   Normal.expandD   st    ((;jj-((//+.JJ%%k2	fc#Ku#E!00
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_shaper7   no_gradnormalr   rA   r   )r   sample_shapeshapes   && r   sampleNormal.sampleM   sS    $$\2]]__<< 6

8I8I%8PQ ___s   A	BB	c                &   < V ^8  d   QhRS[ RS[/# )r   rJ   r   )r
   r   )r   r   s   "r   r   r   R   s     + +E +V +r   c                    V P                  V4      p\        W P                  P                  V P                  P                  R 7      pV P                  W0P
                  ,          ,           # ))dtypedevice)rG   r   r   rP   rQ   r   )r   rJ   rK   epss   &&  r   rsampleNormal.rsampleR   sD    $$\2uHHNN488??Sxx#

***r   c                   V P                   '       d   V P                  V4       V P                  ^,          p\        V P                  \        4      '       d!   \
        P                  ! V P                  4      MV P                  P                  4       pWP                  ,
          ^,          ) ^V,          ,          V,
          \
        P                  ! \
        P                  ! ^\
        P                  ,          4      4      ,
          # r,   )
rB   _validate_sampler   r6   r	   mathlogr   sqrtpi)r   valuevar	log_scales   &&  r   log_probNormal.log_probW   s    !!%(jj!m $**g.. HHTZZ ! 	 xxA%&!c'2hhtyyTWW-./	
r   c                $   V P                   '       d   V P                  V4       R ^\        P                  ! WP                  ,
          V P
                  P                  4       ,          \        P                  ! ^4      ,          4      ,           ,          #       ?)	rB   rV   r7   erfr   r   
reciprocalrW   rY   r   r[   s   &&r   cdf
Normal.cdfg   sa    !!%(		588+tzz/D/D/FFSTUVV
 	
r   c                    V P                   V P                  \        P                  ! ^V,          ^,
          4      ,          \        P
                  ! ^4      ,          ,           # r,   )r   r   r7   erfinvrW   rY   re   s   &&r   icdfNormal.icdfn   s8    xx$**u||AIM'BBTYYq\QQQr   c                    R R \         P                  ! ^\         P                  ,          4      ,          ,           \        P                  ! V P                  4      ,           # ra   )rW   rX   rZ   r7   r   r   s   &r   entropyNormal.entropyq   s5    S488AK000599TZZ3HHHr   c                6   < V ^8  d   QhRS[ S[S[3,          /# r   )tupler   )r   r   s   "r   r   r   u   s      U Uvv~!6 Ur   c                    V P                   V P                  P                  ^4      ,          RV P                  P                  ^4      P                  4       ,          3# )r   g      )r   r   r-   rd   r   s   &r   _natural_paramsNormal._natural_paramst   s>    4::>>!,,dTZZ^^A5F5Q5Q5S.STTr   c                    RVP                  ^4      ,          V,          R\        P                  ! \        P                  ) V,          4      ,          ,           # )g      ?rb   g      п)r-   r7   rX   rW   rZ   )r   xys   &&&r   _log_normalizerNormal._log_normalizery   s7    quuQx!#cEIItwwhl,C&CCCr   )r   r   r   ) __name__
__module____qualname____firstlineno____doc__r   realpositivearg_constraintssupporthas_rsample_mean_carrier_measurepropertyr   r$   r(   r.   r;   rA   r7   r8   rL   rS   r^   rf   rj   rm   rr   rw   __static_attributes____classdictcell____classcell__)r=   r   s   @@r   r   r      s     $ k..9M9MNOGK      " "C C #(**, R
 -2JJL + +

 
RI U UD Dr   )rW   r7   r   torch.distributionsr   torch.distributions.exp_familyr   torch.distributions.utilsr   r   torch.typesr	   r
   __all__r    r   r   <module>r      s4       + < E & *kD kDr   