
    Yh@?                     n   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         j        ZeD ]Z eee                   ee         _        dS )    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      Nc                     |(|&t                                          t                    S t                                          |           S N)super__new__StandardNormal)clsr   r   kwargs	__class__s       p/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/scipy/stats/_new_distributions.pyr!   zNormal.__new__,   s8    :%-77??>222wws###                  ?r   r   c                @     t                      j        d||d| d S )Nr*    r    __init__)selfr   r   r$   r%   s       r&   r.   zNormal.__init__1   s-    6Be66v66666r'   c                n    t                               | ||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CCbfUmmSSr'   c                J    t                               | ||z
  |z            |z  S r   )r"   _pdf_formular4   s        r&   r6   zNormal._pdf_formula7   s%    **4!b&%@@5HHr'   c                D    t                               | ||z
  |z            S r   )r"   _logcdf_formular4   s        r&   r8   zNormal._logcdf_formula:   s     --dQVUNCCCr'   c                D    t                               | ||z
  |z            S r   )r"   _cdf_formular4   s        r&   r:   zNormal._cdf_formula=   s     **4!b&%@@@r'   c                D    t                               | ||z
  |z            S r   )r"   _logccdf_formular4   s        r&   r<   zNormal._logccdf_formula@   s     ..ta"fe^DDDr'   c                D    t                               | ||z
  |z            S r   )r"   _ccdf_formular4   s        r&   r>   zNormal._ccdf_formulaC   s     ++D1r65.AAAr'   c                D    t                               | |          |z  |z   S r   )r"   _icdf_formular4   s        r&   r@   zNormal._icdf_formulaF   s"    ++D!44u<rAAr'   c                D    t                               | |          |z  |z   S r   )r"   _ilogcdf_formular4   s        r&   rB   zNormal._ilogcdf_formulaI   s"    ..tQ77%?"DDr'   c                D    t                               | |          |z  |z   S r   )r"   _iccdf_formular4   s        r&   rD   zNormal._iccdf_formulaL   s"    ,,T155=BBr'   c                D    t                               | |          |z  |z   S r   )r"   _ilogccdf_formular4   s        r&   rF   zNormal._ilogccdf_formulaO   s"    //a885@2EEr'   c                z    t                               |           t          j        t	          |                    z   S r   )r"   _entropy_formular2   r3   absr/   r   r   r$   s       r&   rH   zNormal._entropy_formulaR   s+    ..t44rvc%jj7I7IIIr'   c                N   t                               |           }t          j        d          5  t          j        t          j        t          |                    dz             }d d d            n# 1 swxY w Y   t          j        t          j        ||          d          S )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   s    0066[))) 	0 	0 &E

++B.//C	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0  !4S#!>!>QGGGGs   7A33A7:A7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                J    |dk    rt          j        |          S |dk    r|S d S )Nr   r   )r2   	ones_liker/   orderr   r   r$   s        r&   _moment_raw_formulazNormal._moment_raw_formulac   s.    A::<###aZZI4r'   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   sc    A::<###QY 	Q=$$$ %<'"4SZZ!^4"P"P"PPPr'   c                >    |                     |||          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$555J!MQH555M3$555JtVJ'.0 0 0I!>')M*46 6 6L~c*gFFFH++I|DDEIwrwqw'''N"%*$ $ $ $ $ $
  r 7 7 7 7 7 7 7T T TI I ID D DA A AE E EB B BB B BE E EC C CF F FJ J JH H H       #$QQ Q QD D D D D D Dr'   r   c                 R    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'    eU258^41====r'   c                   r   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&dS )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                 *    t          j        | fi | d S r   )r   r.   r/   r$   s     r&   r.   zStandardNormal.__init__   s!    '77777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                 H    | j         t          j        |dz   dz            z  S r   )r~   r2   expr   s      r&   r6   zStandardNormal._pdf_formula   s"    "RVQ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                 P    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     BF1RU7OO#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-    xqw((26!9944r'   c                     dS Nr   r,   r   s     r&   rX   zStandardNormal._median_formula       qr'   c                     dS r   r,   r   s     r&   r[   zStandardNormal._mode_formula   r   r'   c                 @    ddddddd}|                     |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888r'   c                      | j         |fi |S r   r   r   s      r&   _moment_standardized_formulaz+StandardNormal._moment_standardized_formula   r   r'   c                 :    |                     |          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$555J~c*gFFFHIwrwqw'''N"%*	BBBJrNNE8 8 83 3 35 5 5# # #  $ $ $          $ $ $! ! !% % %' ' '5 5 5    , , ,9 9 99 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                    e           e	                    e           e
                    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                D     t                      j        d||||d| d S )Nr   r,   r-   )r/   r   r   r   r   r$   r%   s         r&   r.   z_LogUniform.__init__   s1    F1eFFvFFFFFr'   c                    |t          j        |          n|}|t          j        |          n|}|t          j        |          n|}|t          j        |          n|}|                    t	          ||||                     |S )Nr   )r2   r   r3   updatedict)r/   r   r   r   r   r$   s         r&   _process_parametersz_LogUniform._process_parameters   s~    YBF5MMMAYBF5MMMA"]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  s\    A::9Y%%-(50WRVIeemUU]CCDDE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111Ic
333I!McT3K888M!MWcN;;;M|LLLJ~c)[IIIH~c)ZHHHH!>'*)6
L L LL!>'*)6J J JL~c*jIIIH)))##L111  8444++L,GG++Hh??AI DD G G G G G G G   ' ' '      r'   r   c                       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                    e
           e                    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                      j        d||d| d S )Nr   r,   r-   )r/   r   r   r$   r%   s       r&   r.   zUniform.__init__(  -    ,1,,V,,,,,r'   c                 Z    ||z
  }|                     t          |||                     |S )N)r   r   ab)r   r   r/   r   r   r   r$   s        r&   r   zUniform._process_parameters+  s1    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*    xRVbfRjj[999r'   c                l    t          j        t          j        |          t           j        d|z            S Nr   )r2   r   r   r   r   s       r&   r6   zUniform._pdf_formula3  s$    xRVQrT222r'   c                    t          j        d          5  t          j        ||z
            t          j        |          z
  cd d d            S # 1 swxY w Y   d S NrL   rM   r2   rR   r3   r/   r   r   r   r$   s        r&   r8   zUniform._logcdf_formula6      [))) 	. 	.6!a%==26"::-	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.   ,A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xY w Y   d S 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    vbzz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  nd S )Nr      r,   )r/   r_   r   r$   s       r&   rf   zUniform._moment_central_formulaW  s     A::r1uRxx4/r'   r   c                     	 |                     |||          d         S # t          $ r! |                     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\  sg    	=;;q!*;55b99 	= 	= 	=;;q!*;55b81<<<<	=s     (A
A)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444Ic
333I|LLLJ~c)[IIIH~c)ZHHHH~c*jIIIH)))  8444++Hh??@I D - - - - - - -   
: : :3 3 3. . .  . . .            . . .0 0 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d
S )_Gammar   r   FFr   r   )r   
   r   r   c                h    ||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|bfaRjj(7=+;+;;;r'   N)rp   rq   rr   r   r   r   rv   r	   r   ry   r
   rz   r{   r6   r,   r'   r&   r  r  c  s        C111I!S^LLLJ~c)YGGGH~c*iHHHH++H5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                      j        d||d| d S )N)r	  r   r,   r-   )r/   r	  r   r$   r%   s       r&   r.   zBinomial.__init__  r   r'   c                D    t           j                            |||          S r   )r   _ufuncs
_binom_pmfr/   r   r	  r   r$   s        r&   _pmf_formulazBinomial._pmf_formula      ))!Q2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  st    
 OAaC  GOAaC$8$87?1Q3q5;Q;Q$QR 	 q!,,,wqsQB/G/GGGr'   c                D    t           j                            |||          S r   )r   r  
_binom_cdfr  s        r&   r:   zBinomial._cdf_formula  r  r'   c                D    t           j                            |||          S r   )r   r  	_binom_sfr  s        r&   r>   zBinomial._ccdf_formula  s    ((Aq111r'   c                D    t           j                            |||          S r   )r   r  
_binom_ppfr  s        r&   r@   zBinomial._icdf_formula  r  r'   c                D    t           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=    x1a  xQq$//Bxr'   c                J    |dk    r||z  S |dk    r||z  d|z
  ||z  z   z  S d S r   r,   r/   r_   r	  r   r$   s        r&   r`   zBinomial._moment_raw_formula  s=    A::Q3JA::Q3A!$$tr'   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 d S )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tr'   )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~NNNI.IIII!!HMMMJ~c)XFFFH~c)\JJJH~c*gFFFH++Hh??@I- - - - -3 3 3H H H3 3 32 2 23 3 33 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 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 ,
+
+hD hD hD hD hD# hD hD hDV> > >K/ K/ K/ K/ K/V K/ K/ K/^? ? ? ? ?( ? ? ?DR= R= R= R= R=$ R= R= R=j< < < < <# < < <J2 J2 J2 J2 J2# J2 J2 J2` +h

( C CI!.wy/A!B!BGIC Cr'   