
    sgL                        d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	 d dl
mZmZmZmZ d dlmZmZ d dlmZ d dlmZmZmZ d d	lmZmZ d d
lmZmZmZm Z  d dl!m"Z"m#Z# d dl$m%Z%m&Z& d dl'm(Z( d dl)m*Z* d dl+m,Z, d dl-m.Z.m/Z/m0Z0m1Z1m2Z2 d dl3m4Z4m5Z5m6Z6 d dl7m8Z8 d dl9m:Z:m;Z;m<Z<m=Z= d dl>m?Z?m@Z@mAZA d dlBmCZC d dlDmEZE d dlFmGZG d dlHmIZImJZJ d dlKmLZL d dlMmNZN d dlOmPZP d dl9mQZQ d dlDmRZR d dlKmSZSmTZTmUZU d dlVmWZWmZmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ d d lmZmZmZ d d!lmZmZ d d"lmZmZ d d#lmZ d d$lmZ d d%lmZmZmZmZ d d&lmZ ejl                  Z eed'      \  ZZZd( Zd) Zd* Zd+ Zd, Zd- Zd. Zd/ Zd0 Zd1 Zd2 Zd3 Zd4 Zd5 Zd6 Zd7 Zd8 Zd9 Zd: Zd; Zd< Zd= Zd> Zed?        Zd@ ZdA ZdB ZdC ZedD        ZdE ZdF ZdG ZdH ZdI ZdJ ZdK ZdL ZdM ZdN ZdO ZdP ZdQ ZedR        ZdS ZdT ZdU ZdV ZdW ZdX ZdY ZdZ Zd[ Zd\ Zd] Zd^ Zd_ Zd` Zeeda               Zdb Zdc Zdd Zde Zdf Zdg Zdh Zdi Zdj Zdk Zdl Z dm Zdn Zdo Zdp Zdq Zedr        Zds Zdt Zdu Z	dv Z
dw Zdx Zdy Zdz Zd{ Zd| Zd} Zy~)    )Sum)Lambdadiffexpand_func)Mul)
EulerGamma)EIRationalpi)EqNe)S)DummySymbolsymbols)binomial	factorial)Absimresign)explog)coshsinh)floor)sqrt)	Piecewise)asinatancossintan)besselibesseljbesselk)beta)erferfcerfiexpint)gamma
lowergamma
uppergamma)zeta)hyper)Integral)AndOr)Interval)simplify)lambdify)erfinvmeijerg)	FiniteSet
ComplementIntersection)JPr	   wheredensityvariance
covarianceskewnesskurtosismediangivenpspacecdfcharacteristic_functionmoment_generating_functionContinuousRVArcsinBeniniBetaBetaNoncentral	BetaPrimeCauchyChi
ChiSquaredChiNoncentralDagumDavisErlang
ExGaussianExponentialExponentialPowerFDistributionFisherZFrechetGammaGammaInverseGompertzGumbelKumaraswamyLaplaceLevyLogistic	LogCauchyLogLogisticLogitNormal	LogNormalMaxwellMoyalNakagamiNormalGaussianInverseParetoPowerFunction
QuadraticURaisedCosineRayleigh
ReciprocalShiftedGompertzStudentTTrapezoidal
TriangularUniform
UniformSumVonMisesWeibull
coskewnessWignerSemicircleWaldcorrelationmomentcmomentsmomentquantileLomaxBoundedPareto)NormalDistributionExponentialDistributionContinuousDistributionHandmade)MultivariateLaplaceDistributionMultivariateNormalDistribution)SingleContinuousPSpaceSingleContinuousDomain)CompoundPSpace)Probability)raisesXFAILslowignore_warnings)verify_numericallyxyzc                     t        dd      } t        dd      }t        ddd      }||z  | z   }t        |      | k(  sJ t        |      |d	z  k(  sJ t	        |      }t        dd      } ||      d	t
        j                  z  t        || z
  d	z   d	|d	z  z  z        z  d	t        t
        j                  z  z  |z  z  k(  sJ t        |d	z  dk        t        d	t
        j                  z  d	z        k(  sJ  t        |      |      }|t        t        t        t        d	      |z  t        d	      | z  d	|z  z  t!        d	|z  dz
        z   z        t#        t$         t$                    t        |             k(  sJ t        |t'        ||             | k(  sJ t)        |      t        d      k(  sJ |j*                  j-                  d      j/                         dk(  sJ y )
NmuTrealsigmapositivexr         )r   rm   r	   rA   r@   r   Halfr   r   r>   r)   r   r<   r=   r;   r   r8   r5   oor   rE   rG   compute_expectationdoit)r   r   XYpdfr   anss          W/var/www/html/venv/lib/python3.12/site-packages/sympy/stats/tests/test_continuous_rv.pytest_single_normalr   7   s   	4	 B7T*EsAqA	%"AQ42::A;%("""
!*CsAFqvvIcAFQ;,%(
344aAFF
l56HIJ K J QTAX;#aik****
(1+a.C*\)QtAwrz1U7+VAaC!G_<=+?"b%bM+ + + + Q1b	?b   !9	!$$$88''*//1Q666    c                     t        ddd      } t        | | dk\        }t        d      } t        |      |      d t        |       |      z  k(  sJ |j                  j
                  j                  t        dt              k(  sJ t        |      t        d      t        t              z  k(  sJ t        | dz        t        |dz        k(  sJ y )Nr   r   r   zr   )rm   rF   r   r@   rG   domainsetr5   r   r	   r   r   )r   r   r   s      r   test_conditional_1dr   P   s    sAqAaaAsA71:a=A

1----88??(1b/111Q447T"X%%%%QT7a1gr   c                     t        ddd      t        dz  dk        j                  t        dd      k(  sJ t        dz  dk        j                  j                  k(  sJ t        t        dz  dk  dk\              j                  t        dd      k(  sJ t        t        fd       t        dk\        } | j                  j                  j                  t        dt              k(  sJ y )Nr   r   r   r   c                  2    t        t               dkD        S Nr   )r?   r#   r   s   r   <lambda>z'test_ContinuousDomain.<locals>.<lambda>b   s    uSVaZ0 r   )rm   r?   r   r5   symbolr3   r   
ValueErrorrF   rG   r   r   )r   r   s    @r   test_ContinuousDomainr   ]   s    sAqAA8B?222A""ahh...QTQYQ'(,,A>>>
:01aaA88??(1b/111r   c                  x   t        ddd      t        ddd      }} t        dd      }t        | |z         dk(  sJ t        | |z         dk(  sJ t        | | z         d	k(  sJ t	        | |      dk(  sJ t	        d| z  |z   |        d
t        |       z  k(  sJ t        |       dk(  sJ t        | |z         dk(  sJ t        |       dk(  sJ t        | |z         dk(  sJ t        | |      dk(  sJ t        | | |z         t        | | |z
        k(  sJ t        | d      dk(  sJ t        | d      dk(  sJ t        | |z   d	      dk(  sJ t        | d      t        |       k(  sJ t        | | z  d      dk(  sJ t        | |z   d      t        | |z         k(  sJ t        | |z   d	      t        | |z         k(  sJ t        | t        | |z   d            dk(  sJ t        | t        | |z   d            t        j                  k(  sJ  t        |       |      t        d      t!        d|z  t        j"                  z
        z  k(  sJ y )Nr   r   r   ypTr   r            )rm   r   r	   rA   rB   rC   rD   r   r   r   r   r   r   r   r   r   r8   One)r   r   r   s      r   test_multiple_normalr   i   sU   #q!fS!Q/qAsT"AQU8q==AE?aAE?aaq   acAgr"b!n444A;!AE?aA;!AaC=Aq!!!!q!a% K1q5$9999!Q<11a=A!a%r!!!1a=HQK'''1Q3?a1q5!Q///1q5!Q///Q1q5!"""Ar!a%|$...8A;q>T!WVAaC!%%K%88888r   c                     t        dd      \  } }t        dd      \  }}t        dd      }t        d| |      }t        d||      }t        d	|      }t        d
d      \  }}	}
t	        |      | k(  sJ t	        ||z         | |z   k(  sJ t	        ||z  |	z         |t	        |      z  |	z   k(  sJ t        |      |dz  k(  sJ t        |||z  z   |	z         t        |      |dz  t        |      z  z   k(  sJ t	        |      d|z  k(  sJ t	        ||z  |	z         |t	        |      z  |	z   k(  sJ t	        |||z  z   |	z         | ||z  z   |	z   k(  sJ t        |      t        |       k(  sJ y )Nzmu1 mu2Tr   zsigma1 sigma2r   lambdar   r   r   a b cr   r   )r   r   rm   rY   r	   rA   rE   r;   )mu1mu2s1s2rater   r   Zabcs              r   test_symbolicr      s~   yt,HC_t4FB(T*DsCAsCACAgD)GAq!Q43;;QU8sSy   QqS1W:1Q4!###A;"a%A!GaK HQK!Q$x{2B$BBBBQ41T6>>QqS1W:1Q4!###Q1Wq[>S1T6\A----!9	#&&&r   c                  >   t        ddd      t              } t        dk         | d      j                  t              k(  sJ  | d      t
        j                  k(  sJ t        dkD        }  | d      dk(  sJ t        dd      t              }  | d      dk(  sJ t        dkD        d | d      z
  k(  sJ t        t        fd       t        d	d      }t        |      } |t              t        dt        t               z
  t        dk\  fd
      k(  sJ y )Nr   r   r   r   
   r   c                       t         z         S N)rH   r   r   s   r   r   ztest_cdf.<locals>.<lambda>   s    s1q5z r   r   r   T)rm   rH   r>   rewriter*   r   r   rY   r   r   r   r   r   )dr   fr   r   s      @@r   test_cdfr      s    sAqAAAQU8qt||D))))Q4166>>Aq1uAQ4199CAAAR5A::QU8q1Q4x
:)*CAAAQ49a#qb'k162I>>>>r   c            	         t        ddd      } t        |       } |d      t         dt        t              z   z  k(  sJ t	        ddd      }t        |      } |d      dk(  sJ  |d      t        t        t
        j                  z
        k(  sJ t        dd      }t        |      } |d      dk(  sJ  |d      j                         t        dd	      t        dz  d	z  z   k(  sJ t        ddd      } t        |       } |d      dk(  sJ  |d      t        dt        dd
t        z  z
        z
        k(  sJ t        dddd      } t        |       } |d      dk(  sJ  |d      dt        z   t        t        dd
            z  d
z  k(  sJ t        ddd      }t        |      } |d      dk(  sJ  |d      t        t        d
       t        t               z        k(  sJ y )Nr   r   r   r   r   r            r   )ry   rI   r
   r   rm   r   r   rY   expandr   rn   r   rX   rd   )r   cfr   r   Ls        r   test_characteristic_functionr      s   QA	 	#Ba5QBSV$$$$sAqA	 	#Ba5A::a5CAFF
O###CA	 	#Ba5A::a5<<>Xb"-!B6666Q"A	 	#Ba5A::a5CDQqSM)****31a A	 	#Ba5A::a5QUCQ002222S!QA	 	#Ba5A::a5Caqb)****r   c            
         t        dd      } t        d      \  }}} t        t        d||            |       }|t        |f||z   f|       k(  sJ  t        t	        d|            |       }|t        d      | z  t        |dz  t        j                  z         z  t        |dz  t        j                  z   ft        dd      f| dz  dz        z  t        |dz        z  t        |dz  ft        j                  f| dz  dz        z   k(  sJ  t        t        d|            |       }|dd| z  z
  | dz  z  k(  sJ  t        t        d||            |       }|d| |z  z
  | z  k(  sJ  t        t        d|||            |       }|t        || z  |dz  | dz  z  dz  z         d| |z  z
  z  k(  sJ  t        t        d|            |       }|||| z
  z  k(  sJ  t        t        d||            |       }|| | z  dz   | z  k(  sJ  t        t!        d||            |       }|t        || z        t        | | z  dz         z  k(  sJ  t        t#        d||            |       }||t        |      z  t%        | |z  |      z  k(  sJ  t        t'        d||            |       }|t        || z        |dz   | dz  z  dz   z  k(  sJ  t        t)        d||            |       }|t        || z        t+        | | z  dz   || z  dz         z  k(  sJ  t        t-        d||            |       }|t        || z  |dz  | dz  z  dz  z         k(  sJ  t        t/        d||            |       }||| | z  |z  z  t1        | | | z        z  k(  sJ  t        t3        d||            |       }t5        |      d	k(  sJ  t        t7        d||            |       }|t8        dz  t        || z        z  t;        || z        z  || z  |dz  | dz  z  t8        dz  z   z  z  k(  sJ  t        t=        d|            |       }|t        d      t        t8              z  |z  | z  t?        t        d      |z  | z  dz        dz   z  t        |dz  | dz  z  dz        z  dz  dz   k(  sJ  t        tA        d|||            |       }t5        |      d
k(  sJ  t        tC        d||            |       }|t        || z         t        || z        z   | | |z   z  z  k(  sJ  t        tE        d|            |       }|t        |       dz
  | z  |z  k(  sJ  t        tG        d|            |       }|dtI        d|| z        z  || z  z  k(  sJ  t        t        ddd            |       }|jK                  |       jM                  | d      t        ddd      dz  k(  sJ  t        t	        dd            |       }|jK                  |       jM                  | d      t        d      t        dt        dd      ft        j                        z  t        t8              z  t        t        dd      ft        dd      ft        j                        z   dt        d      z  t        dt        dd      ft        j                        z  dt        t8              z  z  z   k(  sJ  t        t        dd            |       }|jK                  |       jM                  | d      tN        k(  sJ  t        t        ddd            |       }|jK                  |       jM                  | d      dk(  sJ  t        t        dddd            |       }|jK                  |       jM                  | d      t        d       k(  sJ  t        t        dd            |       }|jK                  |       jM                  | d      dk(  sJ  t        t        ddd            |       }|jK                  |       jM                  | d      dk(  sJ  t        t!        ddd            |       }|jK                  |       jM                  | d      tP        dz   k(  sJ  t        t#        ddd            |       }|jK                  |       jM                  | d      tR         tU        ddd      z  k(  sJ  t        t'        ddd            |       }|jK                  |       jM                  | d      dk(  sJ  t        t)        ddd            |       }|jK                  |       jM                  | d      t+        dd      k(  sJ  t        t-        ddd            |       }|jK                  |       jM                  | d      t        t        j                        k(  sJ  t        t/        ddd            |       }|jK                  |       jM                  | d      t%        dd      k(  sJ  t        t3        ddd            |       }|jK                  |       jM                  | d      dtR        z  dt        d      z  z
  k(  sJ  t        t7        ddd            |       }|jK                  |       jM                  | d      dtR        z  t8        dz  z  t;        d      z  dt8        dz  z   dz  z  tR        t8        dz  z  tW        d      z  dt8        dz  z   z  z   k(  sJ  t        t=        dd            |       }|jK                  |       jM                  | d      t        d      t        t8              z  dz  k(  sJ  t        tA        dddd            |       }|jK                  |       jM                  | d      tR         t        d      z   k(  sJ  t        tC        ddd            |       }|jK                  |       jM                  | d      dk(  sJ  t        tE        dd            |       }|jK                  |       jM                  | d      dk(  sJ  t        tG        dd            |       }|jK                  |       jM                  | d      dtI        dd      z  tI        dd      z   tI        dd      z   k(  sJ y )NtTr   r   r   r   r   r   zk(3*(t*(-4*b + (a + b)**2) + 4)*exp(b*t) - 3*(t*(a**2 + 2*a*(b - 2) + b**2) + 4)*exp(a*t))/(t**2*(a - b)**3)zb(-2*(-a + b)*exp(c*t) + 2*(-a + c)*exp(b*t) + 2*(b - c)*exp(a*t))/(t**2*(-a + b)*(-a + c)*(b - c)))r   )r   )r   r   r   ) )r   r   ))r   r   r   r   ir   ),r   rJ   rN   r1   rR   r   r-   r   r   r   rS   rW   rX   r   rY   r^   ra   r`   r,   rc   re   r(   rm   ro   r/   rq   strrr   r   r   rs   r)   rx   ry   rz   r~   r%   r   subsr
   r   er:   r   )r   r   r   r   mgfs        r   test_moment_generating_functionr      s   d#A gGAq!
5
$T#q!_
5a
8C%q1uh****
1
$Sa[
1!
4C$q'!)E!A#,//qsQVV|oA0!Q$q&9::?!*EqsfqvviAa() ) ) ) 9
$ZQ%7
8
;C1qs7qbd####
7
$VCA%6
7
:C1qs7qb/!!!
>
$ZQ1%=
>q
AC#acAqDAIaK'(!ac'2222
9
$[a%8
9!
<C!QU)
6
$U31%5
6q
9CA2a4!8r""""
7
$VCA%6
7
:C#ac(5!A?****
9
$Xc1a%8
9!
<C!CF(6!A#q>))))
8
$WS!Q%7
8
;C#ac(QTE!Q$JN++++
9
$Xc1a%8
9!
<C#ac(41q!A#'22222
7
$VCA%6
7
:C#acAqDAIaK'((((
7
$VCA%6
7
:C!aRTAI+j!aRT22222
;
$ZQ%:
;A
>Cs8 H I I I >
$\#q!%<
=a
@C"a%AaC.ac*AaCAadRU1B,CDDDD
6
$Xc1%5
6q
9C$q'$r("1$Q&DGAIaKM(:Q(>?	QT!Q$Yq[	        ?
$ZQ1%=
>q
ACs8 ; < < < 9
$WS!Q%7
8
;CC!H9s1Q3x'!aR!V*5555
8
$ZQ%7
8
;CCFQJ>A%%%%
>
$%5c1%=
>q
AC!GAqsO#QqS)))) 6
$T#q!_
5a
8C88A;Aq!U4q%9!%;;;;
1
$Sa[
1!
4C88A;Aq!T!WU4(1a.9JAFF . &
2h&A(8Aq>*;QVVD&EGHayQVW[a^qvvR H !$r(
H,&, , , , 9
$ZQ%7
8
;C88A;Aq!Q&&&
7
$VCA%6
7
:C88A;Aq!Q&&&
>
$ZQ1%=
>q
AC88A;Aq!c!fW,,,
9
$[a%8
9!
<C88A;Aq!Q&&&
6
$U31%5
6q
9C88A;Aq!Q&&&
7
$VCA%6
7
:C88A;Aq!Z!^333
9
$Xc1a%8
9!
<C88A;Aq!aRQ) &    9
$WS!Q%7
8
;C88A;Aq!Q&&&
9
$Xc1a%8
9!
<C88A;Aq!T!QZ///
7
$VCA%6
7
:C88A;Aq!S[000
7
$VCA%6
7
:C88A;Aq!VAq\111
;
$ZQ%:
;A
>C88A;Aq!SUQs1vX%5555
=
$\#q!%<
=a
@C88A;Aq!RT"a%ZQ%7QYN&r1uWT!W_a"a%i0&1 1 1 1 7
$Xc1%5
6q
9C88A;Aq!T!WT"X%5a%7777
>
$ZQ1%=
>q
AC88A;Aq!aR#a&[000
8
$WS!Q%7
8
;C88A;Aq!Q&&&
8
$ZQ%7
8
;C88A;Aq!Q&&&
>
$%5c1%=
>q
AC88A;Aq!R1%51%E1&   r   c                     t        d      t        t        dz   dz        z  dt        t              z  z  } t	        t        | d      }t        ddd      }t        |      t        |      k(  sJ t        |dkD        t        |dkD        k(  sJ t	        t        t        t               t        dt                    }|j                  j                  j                  t        dt              k(  sJ t        |      dk(  sJ t        |dkD        t        d	      k(  sJ t        t         d
        t#        dd      \  }}}dt%        |      ||z  z  z  ||dz
  z  z  t        | |z        z  } t	        || t        dt                    }t'        d||      }t        |      t        |      z
  j)                         dk(  sJ t        |      t        |      z
  j)                         dk(  sJ y )Nr   T)checkr   r   r   r   r   r   c                  X    t        t        t        t               t        dd      d      S )Nr   r   T)r   r   )rK   r   r   r5   r   r   r   r   z#test_ContinuousRV.<locals>.<lambda>f  s    |AsA2wHQOSWX r   z	x k thetar   )r   r   r   r   rK   rm   rA   r>   r   r5   r   rG   r   r   r	   r   r   r   r-   r^   r6   )r   r   r   r   _xkthetas          r   test_ContinuousRVr   Z  s   
q'#q!teAg,
$r(

+CQ4(AsAqAA;(1+%%%QU8qQxQQBXa_5A88??(1b/111Q4199QU8s2w
:XY ;6LB5
U1XeQh
QqS	
)#rc%i.
8CR(1b/2Ac1eAaD1Q4K!!#q(((QK(1+%//1Q666r   c                     t        dd      } t        dd      }t        d| |      } t        |      t              dt        t        t         |z   t        | z
  z        z  z  k(  sJ  t        |      t              t        d| t        kD  fdt        t        |  t        z   |  |z   z              z  t        z  |t        k\  fd	      k(  sJ t        |      j                  j                  t        | |      k(  sJ y )
Nr   Tr   r   r   r   r   r   r   T)r   rL   r@   r   r   r   rH   r   r    rG   r   r   r5   r   r   r   s      r   test_arcsinr   r  s    sAsAsAqA71:a=Ar$QQ'7"8899993q6!9	1a!e*tD1"q&A26):$;<<R?aH%' ' ' ' !98Aq>111r   c            
          t        dd      t        dd      t        dd      t        d        t               t              t        z  dz  t	        t        z        z  t        z  z   t         t	        t        z        z  t	        t        z        dz  z  z
        z  k(  sJ t               j                  j                  t        t              k(  sJ t        t         fd       t        dd	      t        t        fd
       t        dd	      t        t        fd       t        dd      t        t        fd       t        dd      t        dd	      t        t        fd       y )NalphaTr   r(   r   r   r   c                      t               S r   rJ   r   s   r   r   ztest_benini.<locals>.<lambda>      (B1(E r   nonpositivec                       t        d       S Nr   rM   r   r(   r   s   r   r   ztest_benini.<locals>.<lambda>      vc5$> r   c                       t        d       S r   r   r   s   r   r   ztest_benini.<locals>.<lambda>  r  r   c                       t        d       S r   r   r   s   r   r   ztest_benini.<locals>.<lambda>  r  r   c                       t        d       S r   r   r   s   r   r   ztest_benini.<locals>.<lambda>  r  r   )r   rM   r@   r   r   r   rG   r   r   r5   r   r   NotImplementedErrorr   )r   r   r(   r   s   @@@@r   test_beninir  ~  sE   7T*E&4(D7T*EsE4'A71:a=eAg$s1U7|(;A(==vc!E'l2T#ag,/5IIJK L L L !98E2#6666
 EF7-E
:>?&d+D
:>?7T*E
:>?&4(D7-E
:>?r   c                     t        dd      \  } }t        d| |      }t        |      j                  j                  t        dd      k(  sJ  t        |      t              t        | f| |z   ft        t        z        k(  sJ  t        |      t              t        | dz
  z  dt        z
  |dz
  z  z  t        | |      z  k(  sJ t        t        |            | | |z   z  k(  sJ t        t        |            | |z  | dz  d| dz  z  |z  z   | dz  z   d| z  |dz  z  z   d| z  |z  z   |dz  z   |dz  z   z  k(  sJ d	\  } }t        d| |      }t        t        |            | t!        | |z         z  k(  sJ t        t        |            | |z  t!        | |z   dz  | |z   dz   z        z  k(  sJ t#        |      t%        ddt'        d      z  z
        k(  sJ y )
Nz
alpha betaTr   r   r   r   r   r   )r   r   )r   rN   rG   r   r   r5   rI   r   r1   r
   r@   r(   r6   r	   rA   r   r   rE   r;   r   )r   r   Bs      r   	test_betar	    s   <$/DAqS!QA!98Aq>111%"1%a(E1$Q!A#,FFFF71:a=AAJAQ'77Q
BBBBAaD>Q!a%[(((HQK AaC1a4!AqD&(?QT+AAaC1H+LqQRsSTu+TWXZ[W[+[^_ab^b+b$cccc DAqS!QAqtAa!eH,,,x{#!q!a%!q1uqy1I/J'JJJJ!9	!aQi-0000r   c                  H   t        dd      \  t        dd      t        d      } t        d      }t	        |      j
                  j                  t        dd	      k(  sJ t        |      }t        d
      }t        || z   d	z
  z  dz  | z  z  d	|z
  d	z
  z  z  t         dz        z  t        | z         t        |       z  z  | dt        f      } ||      j                  |      sJ t        d      \  t        d      sJ t        ddd      t        t         fd       t        dd      t        ddd      t        t         fd       t        dd      t        dd      t        ddd      t        t         fd       y )Na bTr   r   )nonnegativer   r   r   r   r   r   r   r   Fr   r   c                       t        d       S r   rO   r   r   r   s   r   r   z&test_beta_noncentral.<locals>.<lambda>      ~c1a; r   r   c                       t        d       S r   r  r  s   r   r   z&test_beta_noncentral.<locals>.<lambda>  r  r   )r  r   c                       t        d       S r   r  r  s   r   r   z&test_beta_noncentral.<locals>.<lambda>  r  r   )r   r   r   rO   rG   r   r   r5   r@   r   r   r(   r   r   dummy_eqr   r   )_kr   densr   resr   r   r   s        @@@r   test_beta_noncentralr    s   54(DAqs%A	sBsAq!$A!98Aq>1111:DsA
q26A:!by(!a%1q5)99#qbd)CR!VQ	"-/13Q=C7C    gGAq!#q!Q'''sU.A
:;<sT"AsU.A
:;<sT"AsT"AsD1A
:;<r   c                     t        dd      t        dd      t        d      }  t        |       t              t        dz
  z  t        dz    z
  z  z  t	              z  k(  sJ t        dd      t        t        fd       t        dd      t        dd      t        t        fd	       t        ddd      } t        |       t        d      k(  sJ y )
Nr   Tr   r(   r   r   r   c                      t        d       S r   rP   r   betaps   r   r   z test_betaprime.<locals>.<lambda>      yeU; r   c                      t        d       S r   r  r  s   r   r   z test_betaprime.<locals>.<lambda>  r  r   )	r   rP   r@   r   r(   r   r   rE   r;   )r   r   r  s    @@r   test_betaprimer     s    7T*E6D)E#ue$A71:a=A	NAEeVe^+DDT%QVEWWWWW7-E
:;<7T*E6t,E
:;<#q!A!9	!$$$r   c                     t        dd      \  t        t        fd       t        dd      \  t        t        fd       t        dd      \  t        t        fd	       t        d
d      } | j                  j
                  j                  t              k(  sJ  t        |       t              ddz  z  t        dz  ddz  dz  z  z
  z  z  k(  sJ  t        |       t              t        dz   dz  z  t        dz  dz  dz  z
  z  z  dz  dz  dz  z
  z  z   t        k  fd      k(  sJ t        |       j                         dz  z  z   z  k(  sJ t        d
ddd      } t        |       j                         t        d      k(  sJ t        |       t!        t#        dd            k(  sJ t%        |       j                         ddt        d      dz  z  z
  k(  sJ y )NzL, HTnegativec                       t        dd       S Nr   r   r   Hr   s   r   r   z$test_BoundedPareto.<locals>.<lambda>      }S!Q: r   Fr   c                       t        dd       S r%  r&  r'  s   r   r   z$test_BoundedPareto.<locals>.<lambda>  r)  r   r   c                       t        dd       S )Nr   r   r&  r'  s   r   r   z$test_BoundedPareto.<locals>.<lambda>  s    }S"a; r   r   r   r   r   r   r         )r   r   r   r   rG   r   r   r5   r@   r   rH   r   r	   r6   r   rE   r;   r   rA   )r   r(  r   s    @@r   test_BoundedParetor.    s   6D)DAq
::;6&DAq
::;6D)DAq
:;<c1a#A88??(1a.00071:a=AadFAqD!ad1a4i-$899993q6!9	AqD5A:q!tQTAqD[/A#BdAqD1a4K0$123q&#:;DF F F FQ4==?ac!eQUm+++c1a#AQ4==?c"g%%%!9	(1a.1111A;!QCFAI%5555r   c                  >   t        dd      t        dd      t        dd      } t        d       t              t              t	         t        t              z  t        t        z  z  z         k(  sJ t        t        fd        t              t              d	t        z  d	t        z
  d
z  d
z  z  z   z  z  k(  sJ t         t              t              t               t              t              k(  sJ  t              |       t        t        | t        j                   z
  z        z  z   k(  sJ t        dd      t        t"        fd       t        dd      t        t"        fd       t%              t'              k(  sJ y )Nx0Tr   r-   r   r   r   c                      t               S r   r   r   s   r   r   ztest_cauchy.<locals>.<lambda>  r   r   r   r   x1Fc                      t        d       S r   rQ   )r-   r2  s   r   r   ztest_cauchy.<locals>.<lambda>      vc2u5 r   r   c                      t        d       S r   r4  )r-   r0  s   r   r   ztest_cauchy.<locals>.<lambda>  r5  r   )r   rQ   rI   r   r   r   r
   r   r  r@   r   r   rH   r   r$   r   r   r   rE   r;   )r   r   r-   r0  r2  s    @@@@r   test_cauchyr7    sT   	4	 B7T*EsT"AsBA%"1%a(Cs1v!B0F,GGGG
 EF71:a=Ar%xa"fq[-A)ABCCCCAq	1A...8A;q>U3r1qvv:#77"<<<<	5	!B
:567-E
:56!9	"%%%r   c                  `   ddl m}  t        dd      t        d      } t	        |      t
              d dz  dz   z  t
        dz
  z  z  t        t
        dz   dz        z  t        dz        z  k(  sJ  t        |      t
              t        d      | z  t
        z  t        dz  t        d      dz  z         z  t        dz  t        d      dz  z   ft        d	      dz  ft
        dz   dz        z  t        dz        z  t        dz  ft        d      dz  ft
        dz   dz        z   k(  sJ  t        |      t
              t        d      t
        z  t        dz  t        d      dz  z         z  t        dz  t        d      dz  z   ft        d	      dz  ft
        dz  dz        z  t        dz        z  t        dz  ft        d      dz  ft
        dz  dz        z   k(  sJ t        ddd
      t        t        fd       t        dd
d      t        t        fd       y )Nr   )r
   r   Tintegerr   r   r   r   Fr:  r   c                      t        d       S r   rR   r   s   r   r   ztest_chi.<locals>.<lambda>      s3{ r   c                      t        d       S r   r=  r>  s   r   r   ztest_chi.<locals>.<lambda>  r?  r   )sympy.core.numbersr
   r   rR   r@   r   r   r-   rI   r   r   r1   rJ   r   r   )r
   r   r   s     @r   test_chirB    sY   $sD!ACA71:a=A1qM!a!e*4S!Q$q\A%!*LLLL &"1%a(DGAIaKacAaDFl8K,KESTUVSVYZ[\Y]^_Y_S_Ra-.qT!VI1uQwM@ -@@Eac
-KMRTUVWTWSY\]^_\`ab\b[dghjkgkfklmfmMn-o o o o )%a(+tAwqyqsQqT!V|9L/LUTUVWTWZ[\]Z^_`Z`T`Sb121a	1a46NC 0CCH1:0NPUWXYZWZV\_`ab_cde_e^gijlmimnoioPp0q q q q 	sD51A
:*+sED1A
:*+r   c                  .   t        dd      t        d      t        d      }  t        |       t              t        z  z  t        z   dz  z  z  t	        t        dz   dz  dz  dz  z
        z  t        dz  dz
  t        z        z  k(  sJ t        ddd	      t        t        fd
       t        ddd	      t        dd      t        t        fd       t        dd      t        dd      t        t        fd       y )Nr   Tr9  lr   r   r   Fr;  c                      t        d       S r   rT   r   rD  s   r   r   z%test_chi_noncentral.<locals>.<lambda>       }S!Q7 r   r   c                      t        d       S r   rF  rG  s   r   r   z%test_chi_noncentral.<locals>.<lambda>$  rH  r   r   c                      t        d       S r   rF  rG  s   r   r   z%test_chi_noncentral.<locals>.<lambda>(  rH  r   )r   rT   r@   r   r   r%   r   r   )r   r   rD  s    @@r   test_chi_noncentralrK    s   sD!AsAc1a A71:a=QT!VQqSQBqDM1q!teAg1Q./007!a10EF G G G 	sD51A
:78sD40As%A
:78sE"AsT"A
:78r   c                     t        dd      t        d      }  t        |       t              dt        z  t        z  dz    dz  z  k(  sJ  t        |       t              d dz  z  t        dz  dz
  z  z  t        t         dz        z  t        dz        z  k(  sJ  t        |       t              t        t        dz  t        dz        t        dz        z  t        dk\  fd	      k(  sJ t        |       k(  sJ t        |       dz  k(  sJ t        dd
      }  t        |       d      dt        d      z  t        t        dd            z  dt        t              z  z  t!        t        d      dz        z   k(  sJ t        ddd      t#        t$        fd       t        ddd      t#        t$        fd       y )Nr   Tr9  r   r   r   r   r   r      r   i   i  Fr;  c                      t        d       S r   rS   r>  s   r   r   z"test_chi_squared.<locals>.<lambda>;      z#q1 r   c                      t        d       S r   rQ  r>  s   r   r   z"test_chi_squared.<locals>.<lambda>>  rR  r   )r   rS   rI   r   r
   r@   r   r-   rH   r   r.   r	   rA   r   r   r   r)   r   r   )r   r   s    @r   test_chi_squaredrT  +  s   sD!A3A &"1%a(bd1fqjQBqD-ABBB71:a=A1Ia!A#'l23r!t9<U1Q3ZGGGG3q6!9	:ac1Q3#7ac
#BAF"KYWWWWQ4199A;!A#3A3q6!9tAws8B?';;T$r(]KcRVWXRYZ[R[n\\\\sD51A
:12sED1A
:12r   c                     t        dd      t        dd      t        dd      t        d      }  t        |       t              z  t        z  z  z  z  t        z  z  dz    dz
  z  z  t        z  k(  sJ  t	        |       t              t        dt        z   z  z    z  t        dk\  fd	      k(  sJ t        dd
      t        t        fd       t        dd      t        dd
      t        t        fd       t        dd      t        dd
      t        t        fd       t        dddd      } t        |       t        d      k(  sJ y )Nr   Tr   r   r   r   r   r   r   r   c                       t        d       S r   rU   r   r   r   s   r   r   ztest_dagum.<locals>.<lambda>L      uS!Q2 r   c                       t        d       S r   rW  rX  s   r   r   ztest_dagum.<locals>.<lambda>P  rY  r   c                       t        d       S r   rW  rX  s   r   r   ztest_dagum.<locals>.<lambda>T  rY  r   )
r   rU   r@   r   rH   r   r   r   rE   r;   )r   r   r   r   s    @@@r   
test_dagumr\  A  sP   sT"AsT"AsT"Ac1aA71:a=AaC1!,qsQhlqb1f-EEaGGGG3q6!9	A1Or#:AF"C$-/ / / / 	s%A
:23sT"As%A
:23sT"As%A
:23c1aA!9	!$$$r   c                  2   t        dd      } t        dd      }t        dd      }t        d| ||      }| |z  t        |z
  d|z
  z  z  }t        | t        |z
  z        dz
  t	        |      t        |      z  z  } t        |      t              ||z  k(  sJ y )	Nr   Tr   nr   r   r   r   )r   rV   r   r   r-   r0   r@   )r   r^  r   r   dividenddivisors         r   
test_davisra  X  s    sT"AsT"A	t	$Bc1aA!tQVr!t$$H1ad8}Qq$q'!12G71:a=HW,,,,r   c                  |   t        ddd      } t        dd      }t        d| |      } t        |      t              t        | dz
  z  || z  z  t	        t         |z        z  t        |       z  k(  sJ  t        |      t              t        t        | |t        z        t        |       z  t        dkD  fd	      k(  sJ y )
Nr   Tr;  rD  r   r   r   r   r   )	r   rW   r@   r   r   r-   rH   r   r.   )r   rD  r   s      r   test_erlangrc  c  s    sD40AsT"AsAqA71:a=AAJq!tOC1I5eAh>>>>3q6!9	:a1#5eAh#>A"F(* * * *r   c            	      *   t        d      \  } }t        dd      \  }}t        d| ||      } t        |      |      |t        |||dz  z  d| z  z   d|z  z
  z  dz        z  t	        t        d      ||dz  z  | z   |z
  z  d|z  z        z  dz  k(  sJ ||| z
  z  }||z  } t        t        dd|            |      } t        t        d|dz  |            |      }|t        | |dz  dz  z   t        |      z         z
  }	 t        |      |      |	k(  sJ t        |      j                         |dz  |dz  z   k(  sJ t        |      j                         d|d	z  |dz  z  t        |dz  |dz  z         z  |t        |dz  |dz  z         z  z   z  k(  sJ y )
Nzm, zzs, lTr   r   r   r   r   r   )r   rX   r@   r   r*   r   rH   rm   r   rA   r   rC   )
mr   srD  r   uvGaussianCDF1GaussianCDF2actual_outputs
             r   test_exgaussianrl  m  s   6?DAq6D)DAq31a A71:a=Ac!Qq!tVac\AaC%7"8":;;T!Wa1fqj1n%qs+,--./ / / / 	
1q5	A	!A)3vc1a()!,L,3vc1a4+,Q/L 3rQT!V}s<7H'H#IIM3q6!9%%% A;1a4!b'>111A;1ad1a4iQTAG^0D&Dq&*1a4!b'>&:H; '; $< < < <r   c            
      T   t        dd      } t        d|       }t        ddd      }t        |      d| z  k(  sJ t        |      d| dz  z  k(  sJ t	        |      dk(  sJ t	        |      t        |d	      k(  sJ t        |      d
k(  sJ t        |      t        |d      k(  sJ t        d|z  d      t        |d      k(  sJ t        |d	      d| d	z  z  k(  sJ t        |dkD        t        j                  u sJ t        |dkD        t        |        k(  sJ t        |dkD        t        d| z        k(  sJ  t        |      |      t        d|z
         | z  k(  sJ t        |dk        j                  t!        dd      k(  sJ t        dd      }t#        |      t%        t        d            k(  sJ t'        d      }t        ||kD        t        | | z        k(  sJ t        ||k        dk(  sJ t        d      }t'        d      }t)        |t+        d            }t-        t.              5  t1        dt        d|z        z  |d	t2        f      }|j5                  |d	kD  d      j7                  t0              j9                  |      sJ t1        dt        d|z        z  |ddf      }	|j5                  |dk  d      j7                  t0              j9                  |	      sJ 	 d d d        t        dd| z        }t;        |||      t	        |      k(  sJ t;        ||| |z  z   |d| z  |z  z         dt=        ddd| dz  z  z  z         t=        ddd| dz  z  z  z         z  z  k(  sJ t;        |d|z  z   ||z   |d|z  z   |d	kD        t=        d      t?        d
d      z  k(  sJ y # 1 sw Y   xY w)Nr   Tr   r   r   r  r   r   r   	   r   rN  r   r   ir   r   _zr   Fevaluate   U   ) r   rY   r	   rA   rC   r   rD   r   r>   r   r   r   r   r   r?   r   r5   rE   r;   r   r   r   r   UserWarningr2   r   probabilityr   r  r}   r   r   )
r   r   r   r   r   r   ro  r   	expected1	expected2s
             r   test_exponentialrx    s   (T*DCAsT-AQ41T6>>A;!D!G)###A;!A;'!Q-'''A;!A;'!Q-'''1Q3?gam+++!Q<5q=(((QU8quuQU8sD5z!!!QV9CH%%%8A;q>c!A#hYt^+++a=A...CA!9	#a&))))c
AQU8sA2d7|###QU8q==sA	tBq"9!"<=A		% ZQs2b5z\B2;7	}}QUU}3;;HENNyYYYQs2b5z\B1:6	}}QUU}3;;HENNyYYYZ 	C4 AaA(1+---aT!VQ4\24AqqyM 124AqqyM8I3JJKL L La!A#gq1ua!A#gq1u5S	(1b/12 2 2Z Zs   )B5NN'c            	         t        d      } t        d      }t        dd      }t        dd      }t        d| ||      } t        |      |      |t        t	        | |z
        |z  |z         z  d|z  t        d	|z        z  z  k(  sJ  t        |      |      t        j                  t        d	|z  t	        | |z
        |z  |z        t        |  |z         z  dt        d	|z        z  z  z   k(  sJ y )
Nr   r   r   Tr   r(   r   r   r   )r   rZ   r@   r   r   r-   rH   r   r   r.   r   )r   r   r   r(   r   s        r   test_exponential_powerrz    s   	BsA7T*E&4(Db%.A71:a=Ds26{5'8(,'- &- ". ./0wuQtV}/DF F F F3q6!9AdF a[.5"77;RC!G}"E!"54="2 2 2 2 2r   c                  h    t        dd      t        dd      t        d        t               t              dz  z  t	        t        z  z  t        z  z    z
  z  z        z  t        t        dz  dz        z  z  k(  sJ t        t         fd       t        dd      t        t        fd	       t        ddd
      t        t        fd       t        dd      t        dd      t        t        fd       t        ddd
      t        t        fd       y )Nd1Tr   d2r   r   c                      t               S r   r   r   s   r   r   z%test_f_distribution.<locals>.<lambda>  r   r   r   c                      t        d        S r   r[   r|  s   r   r   z%test_f_distribution.<locals>.<lambda>      }S"b9 r   F)r   r:  c                      t        d        S r   r  r  s   r   r   z%test_f_distribution.<locals>.<lambda>  r  r   c                      t        d       S r   r  r|  r}  s   r   r   z%test_f_distribution.<locals>.<lambda>  r  r   c                      t        d       S r   r  r  s   r   r   z%test_f_distribution.<locals>.<lambda>  r  r   )	r   r[   r@   r   r   r(   r   r  r   )r   r|  r}  s   @@@r   test_f_distributionr    s   	t	$B	t	$Bc2r"A71:a=R"Q$ZbdRZArcBh8O-O(PP bdBqD!113 4 4 4  EF	$	'B
:9:	tU	3B
:9:	t	$B	$	'B
:9:	tU	3B
:9:r   c                  B   t        dd      } t        dd      }t        d| |      } t        |      t              d| | dz  z  z  ||dz  z  z  | t	        dt        z        z  |z   |  dz  |dz  z
  z  z  t	        | t        z        z  t        | dz  |dz        z  k(  sJ y )Nr|  Tr   r}  r   r   )r   r\   r@   r   r   r(   )r|  r}  r   s      r   test_fisher_zr    s    	t	$B	t	$BRA71:a=QrBqDz\"r!t*4bQqSkB6F!#A16. ..1"Q$i88<RT2a48HI J J Jr   c                     t        dd      } t        dd      }t        dd      }t        d| ||      } t        |      t              | t        |z
  |z  |  d	z
  z  z  t	        t        |z
  |z  |  z         z  |z  k(  sJ  t        |      t              t        t	        | t        z   |z  |  z         |t        k  fd
      k(  sJ y )Nr   Tr   rf  re  r   r   )rf  re  r   r   )r   r]   r@   r   r   rH   r   )r   rf  re  r   s       r   test_frechetr    s    sT"AsT"AsAQ!q!A71:a=AAqyQBF33C1q5!)r9J8J4KKAMMMM3q6!9	31"q&!r(:':#;Q!V"DiPPPPr   c            
         t        dd      } t        dd      }t        d| |      } t        |      t              t         |z  t        z  dz   |  z  k(  sJ  t        |      t              t        | dz
  z  ||  z  z  t        t         |z        z  t        |       z  k(  sJ  t        |d      t              t        |  t        | d      z  t        | dz         z  | t        | t        |z        z  t        | dz         z  z   t        dk\  fd	      k(  sJ t        |      t        |d      k(  sJ t        d
d      \  } }t        d| |      }t        |      | |z  k(  sJ t        |      | |dz  z  k(  sJ t!        |      j#                         dt%        |       z  k(  sJ t'        |      j#                         dd| z  z   k(  sJ t        dd| z  d|z        }t)        |||z  |z   | |z  |z         j+                         dd|  z  z  t%        |       z  |z  ddd| z  z  z  dd| z  z  z
  z  t%        | dz  dz         t%        |dz  dz         z  z  k(  sJ y )Nr   Tr   r   r   r   r9   r   r   zk thetar   r   rN  r   i r      )r   r^   rI   r   r
   r@   r   r-   rH   r   r   r.   r	   r   r   rA   rC   r   r   rD   r}   r6   )r   r   r   r   s       r   
test_gammar    sk   sT"A7T*Ec1eA &"1%a(qbhqj1n-CDDD71:a=AAJur{23r%x=@qIIII3q$"iR
1a  q1u-*Q%((q1u5678Av?'    Q46!Q<y40HAuc1eAQ41U7??A;!E1H*$$$A;1T!W9,,,A;1qs7***c1Q3% Aaq1acAg.779	&A2,tAwu$aBqD	kAfaiK&?@
q!tby/$uax"}-
-	// / /r   c            
         t        dd      } t        dd      }t        d| |       t              t              t        |  dz
  z  || z  z  t	        | t        z        z  t        |       z  k(  sJ  t              t              t        t        | |t        z        t        |       z  t        dkD  fd      k(  sJ  t              t              d	t         |z  t        z  | d	z  z  z  t        | d	t        |      z  t        t         t        z        z        z  t        |       z  k(  sJ t        t        fd
       y )Nr   Tr   r   r   r   r   r   r   c                      t               S r   r   r   s   r   r   z$test_gamma_inverse.<locals>.<lambda>  r   r   )r   r_   r@   r   r   r-   rH   r   r/   rI   r
   r'   r   r   r  r   s     @r   test_gamma_inverser  	  s   sT"AsT"AS!QA71:a=AQK1,S!AY6uQx????3q6!9	:a1#5eAh#>A"F	RRRR%"1%a(A!Aa1Q3,?a4741:-.-//4Qx-8 8 8 8
 EFr   c            
         t        dd      } t        dd      }t        d| |      } t        |      t              | |z  t	        |      z  t	        | t        z        z  t	        | t	        | t        z        z        z  k(  sJ  t        |      t              dt	        |      t	        | t	        | t        z        z        z  z
  k(  sJ t         t        |      t              t               t        |      t              k(  sJ y Nr   Tr   etar   r   )r   r`   r@   r   r   rH   r   r   r  r   s      r   test_gompertzr    s    sT"A

&CaA71:a=AcE#c(N3qs83CS1X4FFFFF3q6!9CHS#c!A#h%777777Aq	1A...r   c            	      b   t        dd      } t        d      }t        d      }t        d      }t        d| |      }t        d| |d      } t        |      |      j                         t	        || z        t	        | | z        z  t	        t	        || z         t	        | | z        z        z  | z  k(  sJ  t        |      |      j                         t	        | | z        t	        || z        z  t	        t	        | | z         t	        || z        z        z  | z  k(  sJ  t        |      |      j                         t	        t	        || z         t	        | | z        z        k(  sJ  t        |      |      t	        t        |z  |z        t        t         | z  |z  dz         z  k(  sJ y )	Nr(   Tr   r   r   r   )minimumr   )	r   ra   r@   r   r   rH   rI   r
   r-   )r(   r   r   r   r   r   s         r   test_gumbelr    s   &4(D	BsAsAsD"AsD"d+A71:a=!4LaRWc3r$w<-QBtG"<==dBC C C71:a=!DM#af+c3s4x=.QtV"<==dBC C C3q6!9RWc1"T'l"#$ $ $%"1%a(C"QKqbgai!m8L,LLLLr   c                  `   t        dd      } t        dd      }t        d| |      } t        |      t              t        | dz
  z  | z  |z  t        | z   dz   |dz
  z  z  k(  sJ  t	        |      t              t        dt        dk  ft        | z   dz   |z   dz   t        dk  fd      k(  sJ y )	Nr   Tr   r   r   r   r   r   )r   rb   r@   r   rH   r   r   s      r   test_kumaraswamyr  -  s    sT"AsT"ACAA71:a=AAJqLNQTEAIQ+?????3q6!9	1a!e*$%qD519q.1!4a1f = )+ + + +r   c                     t        d      } t        dd      }t        d| |      } t        |      t              t	        t
        | z  t        z        |dz  t        dz  z  dz   z  k(  sJ  t        |      t              t	        t        t        | z
         |z        d|z  z  k(  sJ  t        |      t              t        t	        |  t        z   |z        dz  | t        kD  ft	        | t        z
  |z         dz  dz   df      k(  sJ t        dddgddgddgg      }t        t        |      j                  t              sJ y )	Nr   r   Tr   r   r   r   r   )r   rc   rI   r   r   r
   r@   r   rH   r   
isinstancerG   distributionr   )r   r   r   s      r   test_laplacer  8  s4   	BsT"ARA &"1%a(S2a[!Q$q!t)a--HIII71:a=CQVQ/155553q6!9	3a{#3A#5rAv">!261*o-a/!3T:< < < <aVq!fq!f-.AfQi,,.MNNNr   c            	          t        dd      t        dd      t        d        j                  j                  j                  t        t              k(  sJ  t               t              t        dt        z  z        t         dt        z
  z  z        z  t        z
  t        j                  t        j                  z   z  z  k(  sJ  t               t              t!        t        dt        z
  z  z              k(  sJ t#        t$         fd       t        dd	      t#        t&        fd
       t        dd      t#        t&        fd       t        dd      t#        t&        fd       y )Nr   Tr   r   r   r   r   c                      t               S r   r   r   s   r   r   ztest_levy.<locals>.<lambda>P  r   r   Fc                      t        d       S r   rd   r   r   s   r   r   ztest_levy.<locals>.<lambda>R      tC1~ r   r   c                      t        d       S r   r  r  s   r   r   ztest_levy.<locals>.<lambda>U  r  r   c                      t        d       S r   r  r  s   r   r   ztest_levy.<locals>.<lambda>X  r  r   )r   rd   rG   r   r   r5   r   r@   r   r   r   r   r   r   r   rH   r*   r   r  r   )r   r   r   s   @@@r   	test_levyr  G  s$   	4	 BsT"AS"aA88??(2r"222271:a=DAbDN3r1a"f:+??!b&AEETUTZTZNA[\\\\3q6!9T!QBZ.12222
 EF	5	!B
:-.s%A
:-.	4	 B
:-.r   c                  x   t        dd      } t        dd      }t        d| |      } t        |      t              |t        t        z  |dz  |  t        t              z   dz  z   z  z  k(  sJ  t        |      t              t        t        t              | z
  |z        t        z  t        j                  z   k(  sJ y )Nr   Tr   r   r   r   )
r   rf   r@   r   r   r   rH   r!   r   r   )r   r   r   s      r   test_logcauchyr  Z  s    	t	$B7T*E#r5!A71:a=E1R4bS3q6\A4E)E#FGGGG3q6!9c!frk501"4qvv====r   c                     t        dd      } t        dd      }t        dd      }t        d| |      } t        |      t              t	        t
        |z  t        z  t        t        | z  t        z        z  t        t
        |z  t        z        z  t        t        d      fd	      k(  sJ  t        |      t              t        t         | z   |z        |t        t         | z   |z        d
z   dz  z  z  k(  sJ  t        |      t              d
t        | t        z
  |z        d
z   z  k(  sJ  t        |      |      | |t        t        j                   d
|z  z         z  z
  k(  sJ y )Nr   Tr   rf  r   r   r   r   r   r   r   )r   re   rI   r   r   r   r   r
   r   r   r@   rH   r   r   r   r   )r   rf  r   r   s       r   test_logisticr  d  sF   	4	 BsT"AsT"Ab!A &"1%a(r!tAvc!B$q&k)$r!tAv,61aA9MO O O 71:a=C!b!,aqb2gq[1AA1E0I.IJJJJ3q6!93Qz?Q.////8A;q>R!C1$5"55555r   c            
         t        d      \  t        d      sJ t        dd      t        dd      t        t        fd       t        dd      t        dd      t        t        fd	       t        d
d      \  } }t        d      } t        |      |       | z  dz
  z  z  | z  z  dz   dz  z  z  k(  sJ  t        |      |       dd| z   z  z   z  k(  sJ  t        |      |      |d|z
  z  dz  z  z  k(  sJ t        |      t        t        j                  dk  ft        z  t        t        z        z  z  df      k(  sJ t        dd      t        d      }t        |      t        z  t        t        z        z  z  k(  sJ t        ddd      }t        |      t        d      k(  sJ y )Nr  r   r   Tr"  r   r   c                      t        d       S r   rg   r   r   s   r   r   z"test_loglogistic.<locals>.<lambda>y      {315 r   c                      t        d       S r   r  r  s   r   r   z"test_loglogistic.<locals>.<lambda>}  r  r   za b z pr   r   )prime)r   rg   r   r   r   r@   rH   r   r	   r   r   NaNr   r#   rE   r;   )r   r   r   r   r   s      @@r   test_loglogisticr  s  s   5>DAqsAq!!!sT"AsT"A
:56sT"AsT"A
:56T2JAq!QCAA71:a=Aqsa!en,a!A#A0A.ABBBB3q6!91!r{?++++8A;q>Q1q5	QqS11111 Q49aeeQ!V_r!tQs2a4y[/A4.HIIII4 ACAAQ42a43r!t9%%%%CAA!9	!$$$r   c            
         t        dd      } t        dd      }t        d| |      }t        d      } t        |      |      t        d      t	        |  t        |d|z
  z        z   dz   d|dz  z  z        z  dt        t              z  |z  |z  d|z
  z  z  k(  sJ  t        |      |      t        t        d      |  t        |d|z
  z        z   z  d|z  z        dz  t        d      dz  z   k(  sJ y )	Nr   Tr   rf  r   r   r   r   )
r   rh   r@   r   r   r   r   rH   r)   r   )r   rf  r   r   s       r   test_logitnormalr    s    	4	 BsT"ACQAsA71:a=DGC2#Aq1uI*>)B(BAadF(K$LLaPTUWPXjYZl[\n^_bc^cNdeeee3q6!9DGbS3q!a%y>%9:AaC@A!Cad1fLLLLr   c            
      F   t        dd      } t        dd      }t        d| |      t        t        fd       t        dd      }t        dd      }t        d||       t	              t
              t        d      t        | t        t
              z   dz   d|dz  z  z        z  dt
        z  t        t              z  |z  z  k(  sJ  t              t
              t        t        t        d      | t        t
              z   z  d|z  z        dz  t        d	      dz  z   t
        d
kD  fd      k(  sJ t        dd
d	       t	              t
              t        d      t        t        t
              dz   dz        z  dt
        z  t        t              z  z  k(  sJ y )Nr   Tr   r   r   r   c                      t               S r   r   r   s   r   r   z test_lognormal.<locals>.<lambda>  r   r   r   r   r   r   )r   ri   r   r  r@   r   r   r   r   r   rH   r   r)   r   )meanstdr   r   r   s       @r   test_lognormalr    s   $T"D
4
(C#tS!A  EF	4	 B7T*E#r5!A71:a=T!WSB3Q<!*;);&'qj*2 &3 345aCRL4FH I I I 3q6!9	T!WrcCFl3QuW=>q@A$q&!"#a%)*35 5 5 5 	#q!A71:a=DGCQ
1$55qs48|DDDDr   c            
         t        dd      \  t        t        fd       t        dd      \  t        t        fd       t        dd      \  t        d	      } | j                  j
                  j                  t        d
t              k(  sJ  t        |       t              dt        z  z    dz
  z  z  z  k(  sJ  t        |       t              t        ddt        z  z    z  z
  t        d
k\  fd      k(  sJ dt        d	      } t        |       dz  k(  sJ t        |       t        ddt!        dd      z  z   z        k(  sJ t#        |       ddz  z  dz  k(  sJ y )Nza, lTr"  c                      t        d       S Nr   r   r   rD  s   r   r   ztest_Lomax.<locals>.<lambda>      uS!Q/ r   Fr   c                      t        d       S r  r  r  s   r   r   ztest_Lomax.<locals>.<lambda>  r  r   r   r   r   r   r   r   r   r   r   )r   r   r   r   rG   r   r   r5   r   r@   r   rH   r   r	   rE   r;   r   rA   )r   r   rD  s    @@r   
test_Lomaxr    sZ   6D)DAq
:/06&DAq
:/06D)DAqc1aA88??(1b/11171:a=Aq1Q3w1"q&11!33333q6!9	1AaCA2#6Q"?KKKK	Ac1aAQ41Q3;;!9	!R!Xa^*;%;"<====A;!AqD&("""r   c            	         t        dd      } t        d|       } t        |      t              t	        d      t        dz  z  t        t        dz   d| dz  z  z        z  t	        t              | dz  z  z  k(  sJ t        |      dt	        d      z  | z  t	        t              z  k(  sJ t        |      d| dz  z  t        z  d| dz  z  z   k(  sJ  t        |      t              t        t	        d      t        z  d| z  z        t	        d      t        z  t        t        dz   d| dz  z  z        z  t	        t              | z  z  z
  k(  sJ t         t        |      t              t               t        |      t              k(  sJ y )Nr   Tr   r   r   r   i)r   rj   r@   r   r   r   r   r	   rA   rH   r)   r   )r   r   s     r   test_maxwellr    sS   sT"AQA71:a=T!WQT\#q!teQq!tVn*==	b!Q$   Q41T!W9Q;tBx''''A;"QT'"*qAv----3q6!9DGAIqsO,tAwqyadUAadF^9L/LdSUhWXj/YYYYYAq	1A...r   c            
         t        dd      t        dd      t        t        fd       t        dd      t        dd      t        t        fd	       t        dd      t        d
      }  t	        |       t
              t        d      t        t        t
        z
  z         dz   t
        z   dz  z  z
        z  dt        t              z  z  z  k(  sJ  t        |       t
              j                         dt        t        d      t        t
        z
  dz  z        z  dz        z
  k(  sJ  t        |       t
              dt         z  t
        z  z  t        t        z  t
        z        z  t        t         z  t
        z  t        dd      z         z  t        t              z  k(  sJ t!        |       t"        z  z   t%        d      z  z   k(  sJ  t'        |       t
              d t
        z  z  t        t
        z        z  t         t
        z  t        dd      z         z  t        t              z  k(  sJ y )Nr   Fr   r   Tr   c                      t        d       S NMrk   r   r   s   r   r   ztest_Moyal.<locals>.<lambda>      uSU3 r   r"  c                      t        d       S r  r  r  s   r   r   ztest_Moyal.<locals>.<lambda>  r  r   r  r   r   )r   r   r   rk   r@   r   r   r   r   rH   r6   r)   rI   r
   r-   r   r	   r   r   rJ   )r  r   r   s    @@r   
test_Moyalr    s$   	%	 B7T*E
:34	4	 B7T*E
:347T*Ec2uA71:a=DGCb1fe^)<(<Q(>37QuW-). %/ /01$r(
50@B B B B3q6!91s473Q57I3J+J1+L'M#MMMM%"1%a(A5
OC"QK,Gr%xzHQN:;-<<@H-E E E EQ42
5((5Q<7777(%a(+qE6!8}SAY/Fvax(1a.890::>r(0C C C Cr   c            	      ~   t        dd      } t        dd      }t        d| |      } t        |      t              dt        d| z  dz
  z  z  | | z  z  ||  z  z  t	        t        dz   | z  |z        z  t        |       z  k(  sJ t        t        |            t        |       t        |      z  t        | t        j                  z         z  t        | dz         z  k(  sJ t        t        |            ||t        | t        j                  z         dz  z  t        |       t        | dz         z  z  z
  k(  sJ  t        |      t              t        t        | | t        dz  z  |z        t        |       z  t        dkD  fd	      k(  sJ t        ddd      }t        |      t!        t        t#        d                  k(  sJ y )
Nr   Tr   omegar   r   r   r   r   )r   rl   r@   r   r   r-   r6   r	   r   r   r   rA   rH   r   r.   rE   r;   r   )r   r  r   s      r   test_nakagamir    s   	t	$B7T*Eb% A71:a=Qq1R4!8}_RV3ERCL@!$adU2Xe^!455:2Y? @ @ @AaD>d2htE{2-22;-?@@Eb1fN O O OHQK 	E%QVV$a''r5a=)@AAC C C3q6!9	!+B1a4!>uRy!H!a% P )+ + + + 	aA!9	$s1v,////r   c            	          t        d      \  t        d      sJ t        d      \  } t        d      } t        |      |       t	        d      t	        | dz  z        z  t          | z   dz  z  ddz  z  | z  z        z  dt	        t              z  z  k(  sJ t        dd      \  t        dd      } t        d      } t        |      |       t	        d      t	              z  t	        | d	z        z  t          | z   dz  z  ddz  z  | z  z        z  dt	        t              z  z  k(  sJ t        |      k(  sJ t        |      j                         dz  z  k(  sJ  t        |      |       t        j                  t        t	        d      t	              z  d
| z  z   z  dt	        |       z  z        dz  z
  t        dz  z        z  t        t	        d      t	              z  d| z  z   z  dt	        |       z  z        dz  z   t        j                  z   k(  sJ t        dd      t        t         fd       t        dd      t        dd      t        t         fd       y )Nr  r   za b zr   r   Tr   r   rO  r   r   r   r   c                      t        d       S r   rn   r  s   r   r   z'test_gaussian_inverse.<locals>.<lambda>      sAq9 r   r   c                      t        d       S r   r  r  s   r   r   z'test_gaussian_inverse.<locals>.<lambda>  r  r   )r   rn   r   r@   r   r   r   r   r	   rA   r   rH   r   r   r)   r   r   )r   r   r   r   s     @@r   test_gaussian_inverser    sm   5>DAq31%%% gGAq!S!QA71:a=DGD1a4L0aR!a!^Qq!tVAX5N1OOQRSWXZS[Q[\\\\54(DAqsT"AQ"A71:a=DGDGODRM9#qb1"q&1naPQSTPTfUVh>W:XXZ[\`ac\dZdeeeeQ4199A;1a46)))3q6!9#d1gd1goq1Q3w&?47&K"LQ"NNPSTUVWTWXYTYPZZ	T!WT!W_b1Q3h'473	4Q	679:@ @ @ @ 	&A
:9:d#A&A
:9:r   c                      t        dd      \  } }|dz   }t        d| |      }t        |      } t        |      t              t        t        | dz
  z   | |dz   z  z  dz   t        | k\  fd      k(  sJ  t        |      t              t         t        z  | z  |dz   z  |dz   z  t        | dz
  t         t        z  | z        z  k(  sJ  |t              t        |dz    z  | |z  z  |z  k(  sJ t        t        |            || z  |dz
  z  k(  sJ y )Nzxm betaTr   r   r   r   r   )r   ro   r@   rH   r   r   rI   r
   r/   r6   r	   )xmr(   r   r   r  s        r   test_paretor    s3   y40HB1HEsBA1:D 3q6!9qD519~ob4!8n4q8!r'BINO O O &"1%a(RT"Wq!4!8,Z	A2a47-KKM M M 7aEAI,'U3U;;;;AaD>U2XuQw////r   c            	      $   d\  } }|dz   }t        d| |      }t        |      || z  t        |dz
        z  k(  sJ t        |      | dz  |z  t        |dz
  dz  |dz
  z        z  k(  sJ t	        |      t        ddt        dd      z  z        k(  sJ y )N)r   r   r   r   r   r   r      )ro   r	   r   rA   rE   r;   r   )r  r(   r   r   s       r   test_pareto_numericr  )  s    HB1HEsBAQ458AeaiL((((A;"a%+519q.%!)*D(EEEEE!9	!Ax1~$5"56666r   c                  2   t        dd      t        dd      \  t        t        fd       t        dd      \  t        t        fd       t        dd	      t        dd      \  t        t        fd
       t	        dd      }  t        |       t              dz  dt        z  z    z   dz  z  k(  sJ  t        |       t              t        dz  dz  dz  z  z
  dz  z   z  dz  t        z  dz  dz  z  z
  dz  z   z  z
  t        dz  dz  dz  z  z
  dz  z   z  z   t        k  fd      k(  sJ t	        dddd      }  t        |       t              dt        z  k(  sJ  t        |       t              t        t        dz  t        dk\  fd      k(  sJ t        |       t        dd      k(  sJ t        | dk        dk(  sJ t        | dk        dk(  sJ t        |       t        dt        d      z        k(  sJ y )Nr   Tr   za, br   c                       t        d       S r   rp   r   r   r   s   r   r   z$test_PowerFunction.<locals>.<lambda>7      c5!Q ? r   Fc                       t        d       S r   r  r  s   r   r   z$test_PowerFunction.<locals>.<lambda>:  r  r   r   c                       t        d dd      S )Nr   r   r   r  )r   s   r   r   z$test_PowerFunction.<locals>.<lambda>>  r  r   r   r   r   r   r   r   r   )r   r   r   r   rp   r@   r   rH   r   r	   r   r>   rE   r;   r   )r   r   r   r   s    @@@r   test_PowerFunctionr  4  s   7-E6%DAq
J?@6&DAq
J?@7T*E6%DAq
J?@c1a#A71:a=RTAaCZ1"q&144443q6!9	1a4A!A1)<#=	!Aq!tac!e|ad"#$$&'dAqD1Q3q5L1a4,?&@$ABCq&#JKTV V V V 	c1a#A71:a=AaC3q6!9	1a4a.(;;;;Q48Aa=   QU8q==QU8q==!9	!DG),,,,r   c            
      \   t        dd      } t        dd      }t        d| |      }t        |      j                  j                  t        | |z
  | |z         k(  sJ  t        |      t              t        t        t         t        z  | z  |z        dz  t        t        t         |z        ft        t        t        z  | z  |z        dz  t        t        t        |z        ft        dz  t        t        | z  t        z        z  t        |t        z        z  |t        z  |dz   t        dz  z  t        dz  z   z  z  df      k(  sJ  t        |      t              t        t        t        t        | z
  z  |z        dz   d|z  z  t!        t        | |z   k  | |z
  t        k        fd	      k(  sJ y )
Nr   Tr   rf  r   r   r   r   r   )r   rr   rG   r   r   r5   rI   r   r   r   r
   r   r   r#   r@   r"   r3   )r   rf  r   s      r   test_raised_cosiner  M  s   	4	 BsT"AS"a A!98BFBF#;;;;%"1%a(c1"R%(1*oa'As1u6QrT"WQY9I2aQSTUQU;8WZ\^_Z_`cdefhdhijdj`kZklopqrspsltZtvwxyvy|}  @A  }A  |A  BC  EF  BF  |F  IK  MN  IN  |N  wO  [P  RV  ZW  XX X X 71:a=YRR[]);a)?!A#(Fa26k26Q;7(9:CE F F Fr   c                  \   t        dd      } t        d|       } t        |      t              t	        d       t	        t
              z  | z  t        z  t        t	        d      | z  t        z  dz        t        z
  z  t        | dz   t        dz  z  dz        z  dz  dz   k(  sJ  t        |      t              t        t        t        dz   d| dz  z  z        z  | dz  z  k(  sJ t        |      t	        d      t	        t
              z  | z  dz  k(  sJ t        |      t
         | dz  z  dz  d| dz  z  z   k(  sJ  t        |      t              dt        t        dz   d| dz  z  z        z
  k(  sJ t         t        |      t              t               t        |      t              k(  sJ y )Nr   Tr   r   r   r   )r   rs   rI   r   r   r   r+   r
   r   r@   r	   rA   rH   r   )r   r   s     r   test_rayleighr  \  s   7T*EeA &"1%a(d1gXd2h->u-DQ-FTRSWUZ][\_]^M^H_bcHc-dehjoqrjrirstvwswiwxyiyez-z{|-|  @A  .A  B  B  B71:a=QsAqD5!E1H*#566uax????Q44748#E)!++++A;2#eQh,q.1UAX:55553q6!9CAqz 233333Aq	1A...r   c            	      f   t        dd      t        dd      t        d      }  t        |       t              dt        t	               t	              z   z  z  k(  sJ  t        |       t              t        t	              t	              t	              z
  z  t	        t              t	              t	              z
  z  z
  t        k  fd      k(  sJ t        ddd	      } t        |       d
t	        d	      t	        d      z
  z  k(  sJ t        | dk        t        j                  k(  sJ t        | dk        t	        d      t	        d	      t	        d      z
  z  t	        d      t	        d	      t	        d      z
  z  z
  k(  sJ  t        |       d      t	        d      t	        d	      t	        d      z
  z  t	        d      t	        d	      t	        d      z
  z  z
  k(  sJ t        dd      t        t        fd       t        dd      t        dd      t        t        fd       y )Nr   Tr   r   r   r   r   r      r   r      r   r   c                      t        d       S r   rt   r  s   r   r   z!test_reciprocal.<locals>.<lambda>y  s    z#q!4 r   r   c                  $    t        d z          S r   r  r  s   r   r   z!test_reciprocal.<locals>.<lambda>}  s    z#q1ua8 r   )r   rt   r@   r   r   rH   r   r	   r>   r   Zeror   r   r   )r   r   r   s    @@r   test_reciprocalr  j  s   sAsA31A71:a=Aq3q6'CF"2344443q6!9	3q63q6CF?#;c!fc!fsSTvo>V#VXY]^X^"_ajkkkk32AQ42s2wQ'((((QU8qvvQV9B3r7SV#34s1vR3q6AQ7RRRRR3q6":RCGc!f$45A#b'CPQFBR8SSSSS&A
:45d#Ad#A
:89r   c            	      *   t        dd      } t        dd      }t        d| |      } t        |      t              | |dt	        |  t        z        z
  z  dz   z  t	        |  t        z        z  t	        | t	        |  t        z        z        z  k(  sJ y r  )r   ru   r@   r   r   r  s      r   test_shiftedgompertzr    s    sT"A

&CQ$A71:a=AsAQBqD	M2Q67QBqD	A#sd3PQrRSt9nBUUUUUr   c            
         t        dd      } t        d|        t              t              dt        dz  | z  z   |  dz  t        j
                  z
  z  t        |       t        t        j
                  | dz        z  z  k(  sJ  t              t              t        j
                  t        t        | dz  t        j
                  z         z  t        t        j
                  | dz  t        j
                  z   ft        dd      ft        dz   | z        z  t        t              t        |       z  t        | dz        z  z  z   k(  sJ t        t        fd       y )	NnuTr   r   r   r   r   c                      t               S r   r   r   s   r   r   ztest_studentt.<locals>.<lambda>  r   r   )r   rv   r@   r   r   r   r   r(   rH   r-   r1   r   r   r   r  )r  r   s    @r   test_studenttr    s$   	t	$BbA71:a=QAb[RCEAFFN;T"Xd166SUVWSWFX=XYYYY3q6!95A#7!7qvvr!taff}>U!)!Q 1AqD589= "=>B2htBx>OPUVXYZVZP[>["] ] ] ] ]
 EFr   c            	         t        dd      } t        dd      }t        dd      }t        dd      }t        d| |||      } t        |      t              t	        d| z  d	t        z  z   |  |z   |  |z
  |z   |z   z  z  | t        k  t        |k  z  fd	|  |z
  |z   |z   z  |t        k  t        |k  z  fd	|z  d	t        z  z
  | |z   |  |z
  |z   |z   z  z  |t        k  t        |k  z  fd
      k(  sJ t        dddd	d      }t        |      t        dd	      k(  sJ t        |      t        dd      k(  sJ t        |d	k        t        dd      k(  sJ t        |      t        t        dd	            k(  sJ y )Nr   Tr   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   rw   r@   r   r   r	   r   rA   r>   rE   r;   )r   r   r   r   r   s        r   test_trapezoidalr    s   sAsAsAsACAq!$A71:a=I1qs
qb1frAvzA~5N'ORSWXRX]^ab]bQc&d'(1"q&1*q.'9AFq1u;M&N()!ac	aR!Vqb1fqj1n4M'NQRVWQW\]ab\bPc&d&/1 1 1 1
 	CAq!$AQ48Aq>!!!A;(1b/)))QU8x1~%%%!9	(1a.1111r   c                     t        d      } t        d      }t        d      }t        d| ||      }t        |      j                  j                  t        | |      k(  sJ t         t        |      t                    dk(  sJ  t        |      t              j                         d|  |z   z  t        |t        z        z  d|  |z   z  t        |t        z        z  z   d||z
  z  t        | t        z        z  z   t        dz  |  |z   z  |  |z   z  ||z
  z  z  j                         k(  sJ t         t        |      t                    dk(  sJ y )	Nr   r   r   r   zPiecewise(((-2*a + 2*x)/((-a + b)*(-a + c)), (a <= x) & (c > x)), (2/(-a + b), Eq(c, x)), ((2*b - 2*x)/((-a + b)*(b - c)), (b >= x) & (c < x)), (0, True))r   r   zg(2*(-a + b)*exp(I*c*x) - 2*(-a + c)*exp(I*b*x) - 2*(b - c)*exp(I*a*x))/(x**2*(-a + b)*(-a + c)*(b - c)))r   rx   rG   r   r   r5   r   r@   r   rJ   r   r   rI   )r   r   r   r   s       r   test_triangularr    s[   sAsAsA31a A!98Aq>111zwqz!} #_ ` ` ` )%a(+2241"q&k#ac(QQZAaC001a!e9S1X3EE1qbSTfXYWY\]W]H^`ade`eHfgooqr r r)&q)!,-mn n nr   c            	         t        dd      } t        dd      }t        d| |      }t        ddd      }t        |      j                  j                  t        | |      k(  sJ  t        |      d      dt        d      z  d	t        d      z  z   k(  sJ  t        |      d      d
t        d      z  dz  dt        d      z  dz  z   k(  sJ  t        |      d      dt        z  ddt        z  z   z  t        t        t        dt        z        z        z  k(  sJ  t        |      t              t        dt        | dz  z
  |dz  z
  dz  z  |  |z   dz  z  t        t        |k  | t        k        fd      k(  sJ y )Nr   Tr   r   r   r   r   i   ir      r   r   r   r   )r   rq   rG   r   r   r5   rJ   r   rI   r
   r@   r   r   r3   )r   r   r   r   s       r   test_quadratic_ur     sj   sAsA31A31A!98Aq>111(%a(+CF
RAY0FFFF(%a(+r#a&y{RAYq[/HHHH%"1%a(AaCacN3qQqSz?,JJJJ71:a=YA!GacMA+=(=rAvk(Ia1fa1f-(/09; < < <r   c                  b   t        dd      } t        dd      }t        d| | |z         }t        |      | |dz  z   k(  sJ t        |      j	                         |dz  dz  k(  sJ t        dd	d
      }t        |d	k        dk(  rt        |d
kD        dk(  sJ t        |dk        t        |dkD        cxk(  rt        j                  k(  sJ  J t        |      t        d      k(  sJ t        d      } t        |      |      }|j                  |d      t        j                  k(  sJ |j                  |d      dk(  sJ |j                  |d      dk(  sJ t        |      } |d      dk(  r |d	      dk(  sJ  |t        dd            t        dd      k(  sJ  |d
      dk(  r |d      dk(  sJ y )NrD  Tr   wr   r   r   r   r   r   r   r   r   g@r   rN  r  r   )r   ry   r	   rA   r   r>   r   r   rE   r;   r@   r   rH   r   )rD  r  r   r   r   r   s         r   test_uniformr    s   sAsT"AQAAQ41qs7??A;1a47*** 	QAQU8q=Qq1uX]**QU8qQx)166)))))!9	!$$$sA
1A66!S>QVV###66!R=A66!Q<1AAQ4191""Xa^A...Q4191""r   c                      t        dd      } t        dd      }t        d| | |z         }t        || k        dk(  rt        || |z   kD        dk(  sJ y)	a   This stopped working because SingleContinuousPSpace.compute_density no
    longer calls integrate on a DiracDelta but rather just solves directly.
    integrate used to call UniformDistribution.expectation which special-cased
    subsed out the Min and Max terms that Uniform produces

    I decided to regress on this class for general cleanliness (and I suspect
    speed) of the algorithm.
    rD  Tr   r  r   r   r   N)r   ry   r>   )rD  r  r   s      r   test_uniform_Pr    sY     	sAsT"AQAAQU8q=Qq1q5y\Q....r   c                  J   t        dd      } t        d      }t        d      }t        d|       }t        d|z  | |z   | dz
  z  z  t	        | |      z  |dt        |      f      t        | dz
        z  } t        |      |      j                  |      sJ |j                  j                  j                  t        d|       k(  sJ  t        |      |      t         t        t        |z        dz
  z  |z  | z  k(  sJ  t!        |      |      t        |      dz
  |z  | z  k(  sJ y )	Nr^  Tr9  r   r   r   r   r   )r   r   rz   r   r   r   r   r@   r  rG   r   r   r5   rI   r
   r   rJ   )r^  r  r   r   r  s        r   test_uniformsumr    s!   sD!A	sBsA3A
rBha1q5))(1b/9B58;L
MiXY\]X]N^
^C71:a=!!#&&& 88??(1a.000 &"1%a(aRQqSA->q-@1,DDDD )%a(+Q!Q/BBBBr   c                      t        d      } t        dd      }t        d| |      } t        |      t              t	        |t        t        | z
        z        dt        z  t        d|      z  z  k(  sJ y )Nr   r   Tr   r   r   r   )r   r{   r@   r   r   r"   r   r%   )r   r   r   s      r   test_von_misesr	     sb    	BsT"Ab!A71:a=C#a"f+."WQ]0BCCCCr   c                     t        dd      \  } }t        d| |      }t        |      j                         | t	        dd|z  z         z  k(  sJ t        |      j                         | dz  t	        dd|z  z         z  t        |      dz  z
  j                         k(  sJ t        t        |            dt	        dd|z  z         dz  z  dt	        dd|z  z         z  t	        dd|z  z         z  z
  t	        dd|z  z         z   t	        dd|z  z         dz   t	        dd|z  z         z   t        dd      z  z  k(  sJ t        t        |            dt	        dd|z  z         d	z  z  d
t	        dd|z  z         dz  z  t	        dd|z  z         z  z   d	t	        dd|z  z         z  t	        dd|z  z         z  z
  t	        dd	|z  z         z   t	        dd|z  z         dz  t	        dd|z  z         z
  dz  z  k(  sJ y )Nr  Tr   r   r   r   r   rO  r   rN  )
r   r|   r	   r   r-   rA   r6   rC   r   rD   r   s      r   test_weibullr    s   54(DAq 	QAQ4;;=Aa!A#g....A;AqD5QqS>$9AaD!G$C#K#K#MMMMHQK QuQ1W~q'8%81U1qs7^;KERSVWXYVYRYN;Z%Z]bcdghijgjcj]k%kotuvyz{|y|u|o}  @A  pA  oA  DI  JK  NO  PQ  NQ  JQ  DR  oR  U]  ^_  ab  Uc  nc  %c  c  c  cHQK Ra!A#g(9%9	%AaC.!
E!ac'N*&+-.uQ1W~-=eA!Gn-L&MOTUVYZ[\Y\U\~&^`efgjklmjmfm`npq`qtyz{~  AB  B  {B  uC  aC  FG  `G%G G G Gr   c                     d} t         j                  dt        dd      dg}|D ]  }t        d| |      }t	        t        |            t        | t        ddt        |      z  z         z        k(  sJ t	        t        |            t	        | dz  t        ddt        |      z  z         z  t        |      dz  z
        k(  rJ  y )Nr   r   r   r   r   )	r   r   r   r|   r6   r	   r   r-   rA   )r   bvalsr   r   s       r   test_weibull_numericr    s    	AVVQA*E 0CA!~Qq1QqT6z1B-B!CCCC$qD5QqtV$$qtQw.)0 0 	0 00r   c            	         t        dd      } t        d|       }t        |      j                  j                  t        |  |       k(  sJ  t        |      t              dt        t        dz   | dz  z         z  t        | dz  z  z  k(  sJ t        |      dk(  sJ  t        |      t              t        dt        d| t        z        z  | t        z  z  t        t        d      fd      k(  sJ y )	NRTr   r   r   r   r   r   )r   r~   rG   r   r   r5   r@   r   r   r   r	   rI   r   r&   r   )r  r   s     r   test_wignersemicircler  !  s    sT"Aa A!98QB?22271:a=AdAqD51a4<00"QT'::::Q4199 &"1%a(a1Q3'1-r!Qx8)DE E Er   c                     t        d      \  } }t        dd      \  }t        ddd      \  t        t        d        t        t        fd	       t        d
|        t        t        fd       t	        d       t
        t        t        t        fD ]6  t        t        fd       t        t        fd        d|       8 y )Nr  zp qTr   zm nFr  c                      t        ddd      S )Nr   r   r   rm   r   r   r   r   z-test_input_value_assertions.<locals>.<lambda>4  s    vc1a0 r   c                      t        d       S r   r  )re  r^  s   r   r   z-test_input_value_assertions.<locals>.<lambda>5  s    vc1a0 r   r   c                      t        d       S r   )rY   )re  s   r   r   z-test_input_value_assertions.<locals>.<lambda>7  s    {32 r   Exc                        d      S r   r   )fnre  r   s   r   r   z-test_input_value_assertions.<locals>.<lambda>:      2c1a= r   c                        d      S r   r   )r  r^  r   s   r   r   z-test_input_value_assertions.<locals>.<lambda>;  r  r   r   )	r   r   r   rm   rY   ro   r|   rN   r^   )r   r   qr  re  r^  r   s      @@@@r   test_input_value_assertionsr  /  s    5>DAq54(DAq55t4DAq
:01
:01
31
:23awe, z01z01
31r   c                     t        ddd      } t        d      }t        t        d      |z  t	        |dz   dz        z  dt        t
              z  z  |t         t        f      }t        t        d      t	        |dz   dz        z  dt        t
              z  z  |dt        f      }t        t              5  t        | d      j                  t              j                  |      sJ t        | dz   d      j                  t              j                  |dz         sJ t        | dkD  d      j                  t              j                  |      sJ 	 d d d        t        | dkD  | dz  dk        t        j                  k(  sJ y # 1 sw Y   2xY w)Nr   r   r   r   r   Frp  )rm   r   r2   r   r   r   r   r   rt  r	   r   r  r>   r   r   )r   r   expr1expr2s       r   test_unevaluatedr!  ?  sQ   sAqAc
AT!WQYsAqD57|+QtBxZ81rc2,GET!WS!Q$q\)1T"X:6Ar
CE		% JU#++H5>>uEEEQ'//9BB519MMMQ'//9BB5IIIJ
 QUAqD1H'''J Js   4BFFc                      t        ddd      } t        t              5  t        t	        | dkD  d            t
        k(  sJ 	 d d d        y # 1 sw Y   y xY w)NTr  r   !   Frp  )rm   r   rt  typer>   r   )r#  s    r   test_probability_unevaluatedr&  L  sK    sBA		% >Aa"fu-.+===> > >s   #A

Ac                      t        ddd      } t        ddd      }t         t        | |z   d      t              t              sJ y )Nr   r   r   r   r   Frp  )rm   r  r@   r   r2   r   s     r   test_density_unevaluatedr(  R  sA    sAqAsAqA2gacE215x@@@r   c                  (   t        dd      } t        d      }| j                  |      t        t	        d      |z  dz        dz  t
        j                  z   k(  sJ | j                  d|      dk(  sJ | j                  ||      dk(  sJ | j                  |dz  |      dk(  sJ t        |t        dd            }t        d      }t        t	        d      t        |dz
  dz   dz        z  dt	        t              z  z  |t         df      }|j                  |dk  d	
      j                  |      du sJ t        t	        d      t        |dz
  dz   dz        z  dt	        t              z  z  |dt        f      }|j                  |dkD  d	
      j                  |      du sJ t        |t        dd            }t        t	        d      t        |dz
  dz   dz        z  dt	        t              z  z  |dt        f      }|j                  |dkD  d	
      j                  |      du sJ t        t	        d      t        |dz
  dz   dz        z  dt	        t              z  z  |t         df      }|j                  |dk  d	
      j                  |      du sJ y )Nr   r   r   r   r   ro      r-  Frp  Trn     r  rN  )r   r   rH   r)   r   r   r   expectationr   r   r2   r   r   r   ru  r  )	ndr   r   ro  rv  rw  r   	expected3	expected4s	            r   test_NormalDistributionr0  X  sf   	Aq	!BsA66!9DGAIaK(*QVV3333>>!Q1$$$>>!Q1$$$>>!Q$"a'''q"4Q":;A	tBarAvk\"_!55qbzBBQ<PI==Q=/88CtKKKarAvk\"_!55qbzBB2;OI==Q=/88CtKKKq"4Q":;AarAvk\#%5!6648Db!R[QI==Q=/88CtKKKarAvk\#%5!6648Db2#q\RI==Q=/88CtKKKr   c                     t        ddd      } t        d| d      } t        |d      t              sJ t        t	        |      t
              sJ t        dddgdd	gd	dgg      }t        t	        |      j                  t              sJ  t        |      t              j                         t        d
      t        t        dz   dz  t        d
z  z   t        d      d
z  z
        z  dt        t              z  z  k(  sJ y )Nr   r   r   r#  r   Frp  r   r   r   r  r   )rm   r@   r   r  rG   r   r  r   r6   r   r   r   r   )r   measr   s      r   test_random_parametersr3  r  s    	a	B#r1D(74%(+++fTlN333sQFaVaV,-AfQi,,.LMMM74=$$&$q'#q!teBh1nqtAv6M2N*NPRSWXZS[P[*\\\\r   c                      t        ddd      } t        d| d      }t        |t        | d            t        ddd      k(  sJ y )Nr   r   r   r#  r   r   )rm   rF   r   )r   r2  s     r   test_random_parameters_givenr5  |  sB    	a	B#r1Dr"ay!VCA%6666r   c                      t        ddd      } t        d| d      }t        t         t        | t	        |t
              d      t                    t              sJ y )Nr   r   r   r   r   Frp  )rm   r  r6   r@   r   r   r   r   )r   r   s     r   test_conjugate_priorsr7    sQ    	a	BsBAhDwr2a8eDQGH  r   c                      t        ddd      } t        | dz        sJ t        t        | dz              sJ t        t        |             sJ y)z Since using solve in place of deltaintegrate we're able to perform
    substantially more complex density computations on single continuous random
    variables r   r   r   r   r   N)rm   r@   r   r   )r   s    r   test_difficult_univariater9    sH     	sAqA1a4==3q!t93q6??r   c                      t        dd      } t        ddd      }t        | dk        t        j                  u sJ t        |dk        t        j                  u sJ y )Nr   r   gr   r   r   )rY   r^   r>   r   r  )r   Gs     r   test_issue_10003r=    sP    CAc1aAQV9QV9r   c                     t        dd      } t        dd      }t        dd      \  }}}t        ddd      }t        d	||      t        d
||      t        d|      t	        d|      g}|D ]l  } t        |      |       t         |j                  j                  j                         |             z
  }t        |j                  t                    }|dk(  rlJ  y )Nr   Tr   r   zsigma xm alphar   r^  r;  r   r>   Cr	   r   )r   rm   ro   rS   rY   rH   r6   rG   r@   compute_cdfr   r*   )	r   r   r   r  r   r^  distribsr   compdiffs	            r   test_precomputed_cdfrC    s    $A	D	!B/$?E2uTD1A3E"3E"sAU#	H  3q6!9x(F(8(8(D(D(Fq(IJJH,,T231}}r   c                  V   dd l fd}  | t        ddd      dd        | t        dd      dj                          | t	        dd      dj                          | t        dd	      dj                          | t        d
dd      j                   j                          | t        ddd      j                   j                          | t        ddd      dd        | t        dd      dj                          | t        ddd      dd        | t        dd      dd       y )Nr   c                   
 t        |       }t        d      }t        |g t        |       |      d      }t        t        |g |t              t        t        t        z  |z        z  d      

fd}dD ]\  } ||      } ||      }	t        t        |      t        |	      z
        dk  sJ t        t        |      t        |	      z
        dk  r\J  y )Nr   mpmathc                 :     j                   fdgd      S )Nc                      |       S r   r   )r   r   r   s    r   r   z^test_precomputed_characteristic_functions.<locals>.test_cf.<locals>.<lambda>.<locals>.<lambda>  s    a1g r   r   )	maxdegree)quad)r   r   rF  support_lower_limitsupport_upper_limits   `r   r   zLtest_precomputed_characteristic_functions.<locals>.test_cf.<locals>.<lambda>  s    $58KM`7amop r   )r   r   r-     g-q=)
r@   r   r7   rI   r   r   r
   absr   r   )distrK  rL  r   r   cf1cf2
test_pointn1n2r   rF  s    ``       @r   test_cfz:test_precomputed_characteristic_functions.<locals>.test_cf  s    dm3K s93D9!<hG aVSVC!AJ.9p ( 	0JZBZBr"v2'%///r"v2'%///	0r   r   r   r   r   r   r   rN  rD  r^  r   r   rr   g      ?rg  r  rO  )rF  rN   rR   infrS   rY   re   rm   rr   rs   ry   r~   )rU  rF  s    @r   )test_precomputed_characteristic_functionsrX    s    0& DaOQ"CQKFJJ'JsA6::.KQFJJ/HS!Q&**fjj9F3AVZZ8La#Q*HS#6::.GCQQ'S!$b!,r   c                  
   t        dd      } t        ddd      t        ddd	d
      t        ddd      t	        dddd      t        ddd      t        dd
d      t        ddd      t        ddd      t        ddd      t        ddd      t        dd      g}|D ]N  }t        d      D ]>  }t        t         t        |      |       |        t!        |      |       | dddd      r>J  P t#        dd      } t!        |      |       j%                  t'        |       d      j)                         } t        |d !      |       j%                  t'        |       d      j)                         }t        t        ||       || dddd      sJ y )"Nr   Tr   Ar   rn  Dr   r   r   r	      r   Fr   rN  rO  r<  r  GIKr-  LAr   iNr   r   r   )r   r   r   r   USFrp  )r   rL   rU   rW   r]   r^   r_   rb   rc   re   rl   rv   rangetnr   rH   r@   rz   r   r   r   )r   rA  distr_rb  pdf01cdf01s          r   test_long_precomputed_cdfri    s   $A3A#q"a 3ACAr"#q!q!$Q"D"a S"a S!QS!H  Xq 	XAd:3u:a=!,ngenQ.?a1PQUVWWW	XX 
D!	BGBKNa!,113E#CU#A&++E!Ha8==?Ed5!neQ!qA;;;r   c                      t        ddd      } t        | | t        j                  kD        t	        dd      k(  sJ t        | | dkD        t        j                  k(  sJ y )Nr   r   r   r   r   )ry   r	   r   r   r   r   s    r   test_issue_13324rk    sO    QAQAFF
x1~---QA;!&&   r   c                  "   t        ddd      } t        ddd      }t        | |z        t        j                  k(  sJ t        | |dz   dz
  z        t        j                  k(  sJ t        || | dz   z  | | z  z
  z        t        j                  k(  sJ y )Nr   r   r   r   )ry   r	   r   r  r   s     r   test_issue_20756rm    s    RARAQU8qvvQ1q5A+166)))Q!QU)ac/"#qvv---r   c                  (   t        dd      } t        ddd      }t        t        | d            t        j
                  u sJ t        t        |d            t        j
                  u sJ t        t        |t                    t        j
                  u sJ y )Nr	   r   ra  r   r  r   r   )rY   rm   r>   r   r   r  r   )r	   ra  s     r   test_FiniteSet_probro    sp    CAsAqAR1X;!&&   R1X;!&&   R1X;!&&   r   c                  @   t        dd      } t        dd      }t        t        | d            dk(  sJ t        t        |d            dk(  sJ t        t        |d            dk(  sJ t        t        |d            dk(  sJ t        t        | t                    dk(  sJ y )Nr	   r   r   r   r   r   )rY   rS   r>   r   r   )r	   r   s     r   test_prob_neqrq    s    CA3AR1X;!R1X;!R1X;!R1X;!R1X;!r   c                     t        ddd      } t        t        | dz  | z
  dkD              t        t	        d             dz  t        t	        d      dz        dz  z
  t        dd      z   k(  sJ t        t        | dz  dz
  dkD              t        dt	        d      z  dz         dz  t        t	        d      dz        dz  z
  t        dd      z   k(  sJ y )Nra  r   r   r   r   r   )rm   r6   r>   r)   r   r*   r   ra  s    r   
test_unionrt    s    sAqAAadQhlO$	T!Wa$tAwqy/!++hq!n<= = =AadQhlO$	QtAwYq[	!d4719oa//(1a.@A A Ar   c            	         t        ddd      } t        t        t        | dkD  | dk                    t	        t        d             dz  t        t        d      dz        dz  z
  t        dd      z   k(  sJ t        t        | dk  | dk              t        | dk        k(  sJ t        t        | dkD  | dk              dk(  sJ y )Nra  r   r   r   r   )rm   r6   r>   r4   r)   r   r*   r   rs  s    r   test_Orrv    s    sAqAAbQA&'(	T!Wa$tAwqy/!++hq!n<= = =RAq1u!AE(***RAq1u!###r   c                  (   t        dd      } t        t        | d      t        | d            dk(  sJ t        t        | d      t        | d            dk(  sJ t        | dkD  t        | d            dk(  sJ t        | dk  t        | d            dk(  sJ y )Nr	   r   r   r   )rY   r>   r   )r	   s    r   test_conditional_eqrx    s    CAR1Xr!Qx A%%%R1Xr!Qx A%%%QUBq!H"""QUBq!H"""r   c                     t        d      } t        d      }t        | t        t        j
                  d| k  | dk  z  fd| dk\  | dk  z  ft        j
                  | dk\  | dk  z  fd            }t        |t        dd            }t        ||      }|j                  t        | t        t	        d      dz  | dk\  | dk  z  fd| dk\  | dk  z  ft	        d      dz  | dk\  | dk  z  fd            k(  sJ t        |j                        t        dd      k(  sJ t        |j                        t        dd      k(  sJ t        |j                        t        d	d
      k(  sJ y )Nr   r   r   r   r   r   r   r      r   )r   r   r   r   r   r   r   r5   r   r   rE   valuer	   r   rA   )r   r   r  spaces       r   #test_ContinuousDistributionHandmader}    sZ   sAc
A!YA!5AqD1Q3<7H	
!Q$1	+ ,D)$HQNCD"1d+E88vaAaDFQ!VA4F+G	
Q!VA!A$q&16a!e*<!=y"J K K K K%++(1a.000U[[>Xa^+++EKK HR$4444r   c                  `     t        t        t        dd             t        t         fd       y )Nr   r   c                  T    t        j                   t        dz   t        t        h      S r   )r   r   r   r   rs  s   r   r   z"test_issue_16318.<locals>.<lambda>+  s"    5II!QqSSTVWRXY r   )r   r   r5   r   r   rs  s   @r   test_issue_16318r  (  s     q(1a.1A
:YZr   c                  ^     t        ddt        d      dz         t        t         fd       y )Nr   r   r   r   c                  &    t         dz   z         S )Nr   )r@   r   s   r   r   z&test_compute_density.<locals>.<lambda>/  s    wq!tax0 r   )rm   r   r   r   r   s   @r   test_compute_densityr  -  s%    sAvg)*A
:01r   N(  sympy.concrete.summationsr   sympy.core.functionr   r   r   sympy.core.mulr   
sympy.corer   rA  r	   r   r
   r   r   sympy.core.relationalr   r   sympy.core.singletonr   sympy.core.symbolr   r   r   (sympy.functions.combinatorial.factorialsr   r   $sympy.functions.elementary.complexesr   r   r   r   &sympy.functions.elementary.exponentialr   r   %sympy.functions.elementary.hyperbolicr   r   #sympy.functions.elementary.integersr   (sympy.functions.elementary.miscellaneousr   $sympy.functions.elementary.piecewiser   (sympy.functions.elementary.trigonometricr    r!   r"   r#   r$   sympy.functions.special.besselr%   r&   r'   &sympy.functions.special.beta_functionsr(   'sympy.functions.special.error_functionsr)   r*   r+   r,   'sympy.functions.special.gamma_functionsr-   r.   r/   &sympy.functions.special.zeta_functionsr0   sympy.functions.special.hyperr1   sympy.integrals.integralsr2   sympy.logic.boolalgr3   r4   sympy.sets.setsr5   sympy.simplify.simplifyr6   sympy.utilities.lambdifyr7   r8   r:   r;   r<   r=   sympy.statsr>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   sympy.stats.crv_typesr   r   r   sympy.stats.joint_rv_typesr   r   sympy.stats.crvr   r   sympy.stats.compound_rvr    sympy.stats.symbolic_probabilityr   sympy.testing.pytestr   r   r   r   sympy.core.randomr   rd  Infinityr   mapr   r   r   r   r   r   r   r   r   r   r   r   r   r  r	  r  r   r.  r7  rB  rK  rT  r\  ra  rc  rl  rx  rz  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r	  r  r  r  r  r!  r&  r(  r0  r3  r5  r7  r9  r=  rC  rX  ri  rk  rm  ro  rq  rt  rv  rx  r}  r  r  r   r   r   <module>r     s0   ) ; ;  ! 8 8 * " 6 6 J D D = > 5 9 : P P F F 7 M M S S 7 / . ) $ , - : 1 ? ?
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ n m f J 2 8 E E 6ZZ
fe
1a72
	296'*?,+@HV70
2@01$=B%$6(&&,*9(3,%.-*<2 )2 )2V2;0JQ / /<G/M+O/&>6%4ME4#$
/ C C*0";80.7-2F/:*VG2$n <"#4 /  /C&DG0E 
(>AL4]7$ - -D<2!
.!A$#5[
2r   