
    Џkh@?                     H   d dl Z d dlZd dlmZ d dlmZ d dlmZmZm	Z	m
Z
mZmZmZ g dZ G d de      Zd Z G d	 d
e      Z G d de      Z G d de      Z G d de      Z G d de      Ze j,                  e   j0                  ZeD ]  Z eee         ee   _         y)    N)inf)special)ContinuousDistributionDiscreteDistribution_RealInterval_IntegerInterval_RealParameter_Parameterization_combine_docs)NormalUniformBinomialc                       e Zd ZdZ ee ef      Z edef      Z ee ef      Z e	dded      Z
 e	dd	ed
      Z e	ded      Z ee
e      gZeZd ej"                  dej$                  z        z  Z ej(                  dej$                  z        dz  Zd% fd	Zddd fd
Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d  Z$d! Z%d" Z&ddge&_'        d# Z(d$ Z) xZ*S )&r   a  Normal distribution with prescribed mean and standard deviation.

    The probability density function of the normal distribution is:

    .. math::

        f(x) = \frac{1}{\sigma \sqrt{2 \pi}} \exp {
            \left( -\frac{1}{2}\left( \frac{x - \mu}{\sigma} \right)^2 \right)}

    	endpointsr   muz\mu)   symboldomaintypicalsigmaz\sigma)      ?g      ?xr   r   r      c                 P    ||t         |   t              S t         |   |       S N)super__new__StandardNormal)clsr   r   kwargs	__class__s       Z/var/www/teggl/fontify/venv/lib/python3.12/site-packages/scipy/stats/_new_distributions.pyr!   zNormal.__new__,   s*    :%-7?>22ws##                  ?r   r   c                *    t        |   d||d| y )Nr*    r    __init__)selfr   r   r$   r%   s       r&   r.   zNormal.__init__1   s    6Be6v6r'   c                f    t         j                  | ||z
  |z        t        j                  |      z
  S r   )r"   _logpdf_formulanplogr/   r   r   r   r$   s        r&   r1   zNormal._logpdf_formula4   s*    --dQVUNCbffUmSSr'   c                @    t         j                  | ||z
  |z        |z  S r   )r"   _pdf_formular4   s        r&   r6   zNormal._pdf_formula7   s"    **4!b&%@5HHr'   c                :    t         j                  | ||z
  |z        S r   )r"   _logcdf_formular4   s        r&   r8   zNormal._logcdf_formula:   s    --dQVUNCCr'   c                :    t         j                  | ||z
  |z        S r   )r"   _cdf_formular4   s        r&   r:   zNormal._cdf_formula=   s    **4!b&%@@r'   c                :    t         j                  | ||z
  |z        S r   )r"   _logccdf_formular4   s        r&   r<   zNormal._logccdf_formula@   s    ..ta"fe^DDr'   c                :    t         j                  | ||z
  |z        S r   )r"   _ccdf_formular4   s        r&   r>   zNormal._ccdf_formulaC   s    ++D1r65.AAr'   c                :    t         j                  | |      |z  |z   S r   )r"   _icdf_formular4   s        r&   r@   zNormal._icdf_formulaF   s    ++D!4u<rAAr'   c                :    t         j                  | |      |z  |z   S r   )r"   _ilogcdf_formular4   s        r&   rB   zNormal._ilogcdf_formulaI   s    ..tQ7%?"DDr'   c                :    t         j                  | |      |z  |z   S r   )r"   _iccdf_formular4   s        r&   rD   zNormal._iccdf_formulaL   s    ,,T15=BBr'   c                :    t         j                  | |      |z  |z   S r   )r"   _ilogccdf_formular4   s        r&   rF   zNormal._ilogccdf_formulaO   s    //a85@2EEr'   c                j    t         j                  |       t        j                  t	        |            z   S r   )r"   _entropy_formular2   r3   absr/   r   r   r$   s       r&   rH   zNormal._entropy_formulaR   s%    ..t4rvvc%j7IIIr'   c                @   t         j                  |       }t        j                  d      5  t        j                  t        j                  t        |            dz         }d d d        t        j                  t        j                  |      d      S # 1 sw Y   4xY w)Nignoredividey                r   axis)	r"   _logentropy_formular2   errstater3   rI   r   	logsumexpbroadcast_arrays)r/   r   r   r$   lH0llss         r&   rQ   zNormal._logentropy_formulaU   sw    006[[) 	0 &&E
+B./C	0   !4!4S#!>QGG		0 	0s   5BBc                    |S r   r,   rJ   s       r&   _median_formulazNormal._median_formula]       	r'   c                    |S r   r,   rJ   s       r&   _mode_formulazNormal._mode_formula`   rY   r'   c                F    |dk(  rt        j                  |      S |dk(  r|S y )Nr   r   )r2   	ones_liker/   orderr   r   r$   s        r&   _moment_raw_formulazNormal._moment_raw_formulac   s'    A:<<##aZIr'   c                    |dk(  rt        j                  |      S |dz  rt        j                  |      S ||z  t        j                  t        |      dz
  d      z  S )Nr   r   r   T)exact)r2   r]   
zeros_liker   
factorial2intr^   s        r&   _moment_central_formulazNormal._moment_central_formulal   sT    A:<<##QY==$$ %<'"4"4SZ!^4"PPPr'   c                0    |j                  |||      d   S )N)locscalesizer,   normal)r/   
full_shaperngr   r   r$   s         r&   _sample_formulazNormal._sample_formulau   s    zzbJz?CCr'   )NN)+__name__
__module____qualname____doc__r   r   
_mu_domain_sigma_domain
_x_supportr	   	_mu_param_sigma_param_x_paramr
   _parameterizations	_variabler2   sqrtpi_normalizationr3   _log_normalizationr!   r.   r1   r6   r8   r:   r<   r>   r@   rB   rD   rF   rH   rQ   rX   r[   r`   ordersrf   ro   __classcell__r%   s   @r&   r   r      s>   	 3$5J!QH5M3$5JtVJ'.0I!')M*46Lc*gFH+I|DEIwrwwqw''N"%%*$
  r 7TIDAEBBECFJH #$QQDr'   r   c                 \    t        j                  | |t        j                  dz  z   gd      S )Ny              ?r   rO   )r   rS   r2   r}   )log_plog_qs     r&   	_log_diffr   y   s&    eU2558^41==r'   c                      e Zd ZdZ ee ef      Z eded      ZeZ	g Z
d ej                  dej                  z        z  Z ej                  dej                  z        dz  Z ej"                  d      Z ej"                  d	      Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%d Z&y)r"   zStandard normal distribution.

    The probability density function of the standard normal distribution is:

    .. math::

        f(x) = \frac{1}{\sqrt{2 \pi}} \exp \left( -\frac{1}{2} x^2 \right)

    r   r   )   r   r   r   r(   r)   c                 0    t        j                  | fi | y r   )r   r.   r/   r$   s     r&   r.   zStandardNormal.__init__   s    ''77r'   c                 .    | j                   |dz  dz  z    S Nr   )r   r/   r   r$   s      r&   r1   zStandardNormal._logpdf_formula   s    ((1a46122r'   c                 T    | j                   t        j                  |dz   dz        z  S r   )r~   r2   expr   s      r&   r6   zStandardNormal._pdf_formula   s%    ""RVVQTE!G_44r'   c                 ,    t        j                  |      S r   r   log_ndtrr   s      r&   r8   zStandardNormal._logcdf_formula   s    ""r'   c                 ,    t        j                  |      S r   r   ndtrr   s      r&   r:   zStandardNormal._cdf_formula   s    ||Ar'   c                 .    t        j                  |       S r   r   r   s      r&   r<   zStandardNormal._logccdf_formula   s    ##r'   c                 .    t        j                  |       S r   r   r   s      r&   r>   zStandardNormal._ccdf_formula   s    ||QBr'   c                 ,    t        j                  |      S r   r   ndtrir   s      r&   r@   zStandardNormal._icdf_formula   s    }}Qr'   c                 ,    t        j                  |      S r   r   	ndtri_expr   s      r&   rB   zStandardNormal._ilogcdf_formula   s      ##r'   c                 .    t        j                  |       S r   r   r   s      r&   rD   zStandardNormal._iccdf_formula   s    a   r'   c                 .    t        j                  |       S r   r   r   s      r&   rF   z StandardNormal._ilogccdf_formula   s    !!!$$$r'   c                 Z    dt        j                  dt         j                  z        z   dz  S Nr   r   )r2   r3   r}   r   s     r&   rH   zStandardNormal._entropy_formula   s"    BFF1RUU7O#Q&&r'   c                     t        j                  t        j                  dt         j                  z              t        j                  d      z
  S r   )r2   log1pr3   r}   r   s     r&   rQ   z"StandardNormal._logentropy_formula   s.    xxqw(266!944r'   c                      yNr   r,   r   s     r&   rX   zStandardNormal._median_formula       r'   c                      yr   r,   r   s     r&   r[   zStandardNormal._mode_formula   r   r'   c                 8    ddddddd}|j                  |d       S )Nr   r      )r   r   r   r      r   )get)r/   r_   r$   raw_momentss       r&   r`   z"StandardNormal._moment_raw_formula   s%    aA!:ud++r'   c                 (     | j                   |fi |S r   r`   r/   r_   r$   s      r&   rf   z&StandardNormal._moment_central_formula       't''888r'   c                 (     | j                   |fi |S r   r   r   s      r&   _moment_standardized_formulaz+StandardNormal._moment_standardized_formula   r   r'   c                 ,    |j                  |      d   S )Nrj   r,   rk   )r/   rm   rn   r$   s       r&   ro   zStandardNormal._sample_formula   s    zzzz*2..r'   N)'rp   rq   rr   rs   r   r   rv   r	   ry   r{   rz   r2   r|   r}   r~   r3   r   float64r   r   r.   r1   r6   r8   r:   r<   r>   r@   rB   rD   rF   rH   rQ   rX   r[   r`   rf   r   ro   r,   r'   r&   r"   r"   }   s     3$5Jc*gFHIwrwwqw''N"%%*	BBBJJrNE835#$  $!%'5,99/r'   r"   c                       e Zd ZdZ edef      Z edef      Z ee ef      Z edef      Z	 edd      Z
 eded	
      Z eded
      Z edded      Z edde	d      Z ede
d
      Zej#                  e       e	j#                  e       e
j#                  ee        eee       eee      gZeZddddd fd
ZddZd Zd Z xZS )_LogUniforma  Log-uniform distribution.

    The probability density function of the log-uniform distribution is:

    .. math::

        f(x; a, b) = \frac{1}
                          {x (\log(b) - \log(a))}

    If :math:`\log(X)` is a random variable that follows a uniform distribution
    between :math:`\log(a)` and :math:`\log(b)`, then :math:`X` is log-uniformly
    distributed with shape parameters :math:`a` and :math:`b`.

    r   r   alog_ar   bTTr   	inclusivegMbP?g?r   r   g?g     @@z\log(a))gr   log_bz\log(b))皙?r   r   Nr   r   r   r   c                .    t        |   d||||d| y )Nr   r,   r-   )r/   r   r   r   r   r$   r%   s         r&   r.   z_LogUniform.__init__   s    F1eFvFr'   c                 
   |t        j                  |      n|}|t        j                  |      n|}|t        j                  |      n|}|t        j                  |      n|}|j                  t	        ||||             |S )Nr   )r2   r   r3   updatedict)r/   r   r   r   r   r$   s         r&   _process_parametersz_LogUniform._process_parameters   sj    YBFF5MAYBFF5MA"]q	"]q	dQ!5>?r'   c                    ||z
  |z  dz  S )Nr   r,   )r/   r   r   r   r$   s        r&   r6   z_LogUniform._pdf_formula   s    !B&&r'   c           	          |dk(  r| j                   S | j                   ||z
  z  |z  }t        j                  t        j                  t	        ||z  ||z                    }||z  S r   )_oner2   realr   r   )r/   r_   r   r   r$   t1t2s          r&   r`   z_LogUniform._moment_raw_formula  sY    A:99YY%%-(50WWRVVIeemUU]CDEBwr'   )NNNN)rp   rq   rr   rs   r   r   	_a_domain	_b_domain_log_a_domain_log_b_domainrv   r	   _a_param_b_param_log_a_param_log_b_paramry   define_parametersr
   rz   r{   r.   r   r6   r`   r   r   s   @r&   r   r      s    C1Ic
3I!cT3K8M!WcN;M|LJc)[IHc)ZHH!'*)6
LL!'*)6JLc*jIH)##L1  84+L,G+Hh?AI DD G'r'   r   c                   x    e Zd ZdZ ee ef      Z edef      Z edd      Z e	ded      Z
 e	d	ed
      Z e	ded      Zej                  e
       ej                  e
e        ee
e      gZeZddd fd
ZddZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zdge_         d Z! xZ"S )r   zUniform distribution.

    The probability density function of the uniform distribution is:

    .. math::

        f(x; a, b) = \frac{1}
                          {b - a}

    r   r   r   r   r   r   r   r   r   r   Nc                *    t        |   d||d| y )Nr   r,   r-   )r/   r   r   r$   r%   s       r&   r.   zUniform.__init__(      ,1,V,r'   c                 J    ||z
  }|j                  t        |||             |S )N)r   r   ab)r   r   r/   r   r   r   r$   s        r&   r   zUniform._process_parameters+  s%    UdQ!+,r'   c                    t        j                  t        j                  |      t         j                  t        j                  |             S r   )r2   whereisnannanr3   r/   r   r   r$   s       r&   r1   zUniform._logpdf_formula0  s+    xxRVVbffRj[99r'   c                x    t        j                  t        j                  |      t         j                  d|z        S Nr   )r2   r   r   r   r   s       r&   r6   zUniform._pdf_formula3  s%    xxRVVQrT22r'   c                    t        j                  d      5  t        j                  ||z
        t        j                  |      z
  cd d d        S # 1 sw Y   y xY wNrL   rM   r2   rR   r3   r/   r   r   r   r$   s        r&   r8   zUniform._logcdf_formula6  ?    [[) 	.66!a%=266":-	. 	. 	.   .AAc                    ||z
  |z  S r   r,   r   s        r&   r:   zUniform._cdf_formula:      A|r'   c                    t        j                  d      5  t        j                  ||z
        t        j                  |      z
  cd d d        S # 1 sw Y   y xY wr   r   r/   r   r   r   r$   s        r&   r<   zUniform._logccdf_formula=  r   r   c                    ||z
  |z  S r   r,   r   s        r&   r>   zUniform._ccdf_formulaA  r   r'   c                    |||z  z   S r   r,   )r/   pr   r   r$   s        r&   r@   zUniform._icdf_formulaD      2a4xr'   c                    |||z  z
  S r   r,   )r/   r   r   r   r$   s        r&   rD   zUniform._iccdf_formulaG  r   r'   c                ,    t        j                  |      S r   )r2   r3   )r/   r   r$   s      r&   rH   zUniform._entropy_formulaJ  s    vvbzr'   c                    |d|z  z   S Nr   r,   r   s        r&   r[   zUniform._mode_formulaM      3r6zr'   c                    |d|z  z   S r   r,   r   s        r&   rX   zUniform._median_formulaP  r   r'   c                 .    |dz   }||z  ||z  z
  ||z  z  S r   r,   )r/   r_   r   r   r   r$   np1s          r&   r`   zUniform._moment_raw_formulaS  s&    ai3CC"H--r'   c                      |dk(  r|dz  dz  S d S )Nr      r,   )r/   r_   r   r$   s       r&   rf   zUniform._moment_central_formulaW  s     A:r1uRx/4/r'   r   c                     	 |j                  |||      d   S # t        $ r |j                  dd|      |z  |z   cY S w xY w)Nr   r,   r   r   )uniformOverflowError)r/   rm   rn   r   r   r   r$   s          r&   ro   zUniform._sample_formula\  sO    	=;;q!*;5b99 	=;;q!*;5b81<<	=s    #??)NNN)#rp   rq   rr   rs   r   r   r   r   rv   r	   r   r   ry   r   r
   rz   r{   r.   r   r1   r6   r8   r:   r<   r>   r@   rD   rH   r[   rX   r`   rf   r   ro   r   r   s   @r&   r   r     s    	 #s4Ic
3I|LJc)[IHc)ZHHc*jIH)  84+Hh?@I D -
:3...0 '(S"=r'   r   c                       e Zd Z edef      Z edefd      Z eded      Z eded      Z	 e
e      gZe	Zd	 Zy
)_Gammar   r   FFr   r   )r   
   r   r   c                l    ||dz
  z  t        j                  |       z  t        j                  |      z  S r   )r2   r   r   gamma)r/   r   r   r$   s       r&   r6   z_Gamma._pdf_formulan  s-    QU|bffaRj(7==+;;;r'   N)rp   rq   rr   r   r   r   rv   r	   r   ry   r
   rz   r{   r6   r,   r'   r&   r  r  c  sT    C1I!S^LJc)YGHc*iHH+H56I<r'   r  c                       e Zd ZdZ edefd      Z edd      Z edd      Z	 e
ded	
      Z e
ded
      Z e
de	d
      Z eee      gZeZ fdZd Zd Zd Zd Zd Zd Zd Zd Zddge_        d Zg de_         xZS )r   zBinomial distribution with prescribed success probability and number of trials

    The probability density function of the binomial distribution is:

    .. math::

        f(x) = {n \choose x} p^x (1 - p)^{n-x}

    r   r  r   )r   r   )r   nr   r	  )r     r   r   )g      ?g      ?r   )r   r  c                *    t        |   d||d| y )N)r	  r   r,   r-   )r/   r	  r   r$   r%   s       r&   r.   zBinomial.__init__  r   r'   c                D    t         j                  j                  |||      S r   )r   _ufuncs
_binom_pmfr/   r   r	  r   r$   s        r&   _pmf_formulazBinomial._pmf_formula      ))!Q22r'   c                   t        j                  |dz         t        j                  |dz         t        j                  ||z
  dz         z   z
  }|t        j                  ||      z   t        j                  ||z
  |       z   S r   )r   gammalnxlogyxlog1py)r/   r   r	  r   r$   combilns         r&   _logpmf_formulazBinomial._logpmf_formula  so    
 OOAaC GOOAaC$87??1Q3q5;Q$QR 	 q!,,wqsQB/GGGr'   c                D    t         j                  j                  |||      S r   )r   r  
_binom_cdfr  s        r&   r:   zBinomial._cdf_formula  r  r'   c                D    t         j                  j                  |||      S r   )r   r  	_binom_sfr  s        r&   r>   zBinomial._ccdf_formula  s    ((Aq11r'   c                D    t         j                  j                  |||      S r   )r   r  
_binom_ppfr  s        r&   r@   zBinomial._icdf_formula  r  r'   c                D    t         j                  j                  |||      S r   )r   r  
_binom_isfr  s        r&   rD   zBinomial._iccdf_formula  r  r'   c                |    t        j                  |dz   |z        }t        j                  |dk(  |dz
  |      }|d   S )Nr   r,   )r2   floorr   )r/   r	  r   r$   modes        r&   r[   zBinomial._mode_formula  s;    xx1a xxQq$/Bxr'   c                D    |dk(  r||z  S |dk(  r||z  d|z
  ||z  z   z  S y r   r,   r/   r_   r	  r   r$   s        r&   r`   zBinomial._moment_raw_formula  s7    A:Q3JA:Q3A!$$r'   r   r   c                    |dk(  rt        j                  |      S |dk(  r||z  d|z
  z  S |dk(  r||z  d|z
  z  dd|z  z
  z  S |dk(  r ||z  d|z
  z  dd|z  dz
  |z  d|z
  z  z   z  S y )Nr   r   r   r      )r2   rc   r$  s        r&   rf   z Binomial._moment_central_formula  s    A:==##A:Q3A;A:Q3A;AaC((A:Q3A;QqS1WaKQ$7 788r'   )r   r   r   r   )rp   rq   rr   rs   r   r   	_n_domainr   	_p_domainrv   r	   _n_param_p_paramry   r
   rz   r{   r.   r  r  r:   r>   r@   rD   r[   r`   r   rf   r   r   s   @r&   r   r   r  s     !As8~NI.II!HMJc)XFHc)\JHc*gFH+Hh?@I-3H3233 #$Q
 &2""r'   r   )sysnumpyr2   r   scipyr   (scipy.stats._distribution_infrastructurer   r   r   r   r	   r
   r   __all__r   r   r"   r   r   r  r   modulesrp   __dict___module	dist_namers   r,   r'   r&   <module>r4     s    
   6 6 6 ,hD# hDV>K/V K/^?( ?DR=$ R=j<# <J2# J2` ++h

(
( CI!.wy/A!BGICr'   