
    e!h3                     *   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 ddg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e j&                  e   j*                  ZeD ]  Z eee         ee   _         y)    N)inf)special)ContinuousDistribution_RealDomain_RealParameter_Parameterization_combine_docsNormalUniformc                       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       f/var/www/html/diagnosisapp-backend/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#   r.   zNormal._logpdf_formula4   s*    --dQVUNCbffUmSSr$   c                @    t         j                  | ||z
  |z        |z  S r   )r   _pdf_formular1   s        r#   r3   zNormal._pdf_formula7   s"    **4!b&%@5HHr$   c                :    t         j                  | ||z
  |z        S r   )r   _logcdf_formular1   s        r#   r5   zNormal._logcdf_formula:   s    --dQVUNCCr$   c                :    t         j                  | ||z
  |z        S r   )r   _cdf_formular1   s        r#   r7   zNormal._cdf_formula=   s    **4!b&%@@r$   c                :    t         j                  | ||z
  |z        S r   )r   _logccdf_formular1   s        r#   r9   zNormal._logccdf_formula@   s    ..ta"fe^DDr$   c                :    t         j                  | ||z
  |z        S r   )r   _ccdf_formular1   s        r#   r;   zNormal._ccdf_formulaC   s    ++D1r65.AAr$   c                :    t         j                  | |      |z  |z   S r   )r   _icdf_formular1   s        r#   r=   zNormal._icdf_formulaF   s    ++D!4u<rAAr$   c                :    t         j                  | |      |z  |z   S r   )r   _ilogcdf_formular1   s        r#   r?   zNormal._ilogcdf_formulaI   s    ..tQ7%?"DDr$   c                :    t         j                  | |      |z  |z   S r   )r   _iccdf_formular1   s        r#   rA   zNormal._iccdf_formulaL   s    ,,T15=BBr$   c                :    t         j                  | |      |z  |z   S r   )r   _ilogccdf_formular1   s        r#   rC   zNormal._ilogccdf_formulaO   s    //a85@2EEr$   c                j    t         j                  |       t        j                  t	        |            z   S r   )r   _entropy_formular/   r0   absr,   r   r   r!   s       r#   rE   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_formular/   errstater0   rF   r   	logsumexpbroadcast_arrays)r,   r   r   r!   lH0llss         r#   rN   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)   rG   s       r#   _median_formulazNormal._median_formula]       	r$   c                    |S r   r)   rG   s       r#   _mode_formulazNormal._mode_formula`   rV   r$   c                F    |dk(  rt        j                  |      S |dk(  r|S y )Nr   r   )r/   	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)r/   rZ   
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,   sample_shape
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	_variabler/   sqrtpi_normalizationr0   _log_normalizationr   r+   r.   r3   r5   r7   r9   r;   r=   r?   rA   rC   rE   rN   rU   rX   r]   ordersrc   rm   __classcell__r"   s   @r#   r
   r
      s>   	 c{3J1c(3Mc{3J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$   c                 \    t        j                  | |t        j                  dz  z   gd      S )Ny              ?r   rL   )r   rP   r/   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#   r.   zStandardNormal._logpdf_formula   s    ((1a46122r$   c                 T    | j                   t        j                  |dz   dz        z  S r   )r|   r/   expr   s      r#   r3   zStandardNormal._pdf_formula   s%    ""RVVQTE!G_44r$   c                 ,    t        j                  |      S r   r   log_ndtrr   s      r#   r5   zStandardNormal._logcdf_formula   s    ""r$   c                 ,    t        j                  |      S r   r   ndtrr   s      r#   r7   zStandardNormal._cdf_formula   s    ||Ar$   c                 .    t        j                  |       S r   r   r   s      r#   r9   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#   r?   zStandardNormal._ilogcdf_formula   s      ##r$   c                 .    t        j                  |       S r   r   r   s      r#   rA   zStandardNormal._iccdf_formula   s    a   r$   c                 .    t        j                  |       S r   r   r   s      r#   rC   z StandardNormal._ilogccdf_formula   s    !!!$$$r$   c                 Z    dt        j                  dt         j                  z        z   dz  S )Nr   r   )r/   r0   r{   r   s     r#   rE   zStandardNormal._entropy_formula   s"    BFF1RUU7O#Q&&r$   c                     t        j                  t        j                  dt         j                  z              t        j                  d      z
  S r   )r/   log1pr0   r{   r   s     r#   rN   z"StandardNormal._logentropy_formula   s.    xxqw(266!944r$   c                      yNr   r)   r   s     r#   rU   zStandardNormal._median_formula       r$   c                      yr   r)   r   s     r#   rX   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#   rc   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rg   r)   rh   )r,   rj   rk   rl   r!   s        r#   rm   zStandardNormal._sample_formula   s    zzzz*2..r$   N)'rn   ro   rp   rq   r   r   rt   r   rw   ry   rx   r/   rz   r{   r|   r0   r}   float64r   r   r+   r.   r3   r5   r7   r9   r;   r=   r?   rA   rC   rE   rN   rU   rX   r]   rc   r   rm   r)   r$   r#   r   r   }   s     c{3J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   )r/   r   r0   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#   r3   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   )_oner/   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)rn   ro   rp   rq   r   r   	_a_domain	_b_domain_log_a_domain_log_b_domainrt   r   _a_param_b_param_log_a_param_log_b_paramrw   define_parametersr   rx   ry   r+   r   r3   r]   r   r   s   @r#   r   r      s    q#h/IsCj1IC4+6M7C.9Mz\JJ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__(  s    ,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   )r/   whereisnannanr0   r,   r   r   r!   s       r#   r.   zUniform._logpdf_formula0  s+    xxRVVbffRj[99r$   c                x    t        j                  t        j                  |      t         j                  d|z        S Nr   )r/   r   r   r   r   s       r#   r3   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NrI   rJ   r/   rO   r0   r,   r   r   r   r!   s        r#   r5   zUniform._logcdf_formula6  ?    [[) 	.66!a%=266":-	. 	. 	.   .AAc                    ||z
  |z  S r   r)   r   s        r#   r7   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#   r9   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#   rA   zUniform._iccdf_formulaG  r   r$   c                ,    t        j                  |      S r   )r/   r0   )r,   r   r!   s      r#   rE   zUniform._entropy_formulaJ  s    vvbzr$   c                    |d|z  z   S Nr   r)   r   s        r#   rX   zUniform._mode_formulaM      3r6zr$   c                    |d|z  z   S r   r)   r   s        r#   rU   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#   rc   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,   rj   rk   rl   r   r   r   r!   s           r#   rm   zUniform._sample_formula\  sO    	=;;q!*;5b99 	=;;q!*;5b81<<	=s    #??)NNN)#rn   ro   rp   rq   r   r   r   r   rt   r   r   r   rw   r   r   rx   ry   r+   r   r.   r3   r5   r7   r9   r;   r=   rA   rE   rX   rU   r]   rc   r~   rm   r   r   s   @r#   r   r     s    	 tSk2IsCj1Iz\JJc)[IHc)ZHHc*jIH)  84+Hh?@I D -
:3...0 '(S"=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   )r/   r   r   gamma)r,   r   r   r!   s       r#   r3   z_Gamma._pdf_formulan  s-    QU|bffaRj(7==+;;;r$   N)rn   ro   rp   r   r   r   rt   r   r   rw   r   rx   ry   r3   r)   r$   r#   r   r   c  sT    q#h/I3x>JJc)YGHc*iHH+H56I<r$   r   )sysnumpyr/   r   scipyr   (scipy.stats._distribution_infrastructurer   r   r   r   r	   __all__r
   r   r   r   r   r   modulesrn   __dict___module	dist_namerq   r)   r$   r#   <module>r     s    
     Y
hD# hDV>K/V K/^?( ?DR=$ R=j<# <$ ++h

(
( CI!.wy/A!BGICr$   