
    gL                     4   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j        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d~S )    )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                            d                                          dk    sJ d S )
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          `/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/stats/tests/test_continuous_rv.pytest_single_normalr   7   s7   	4	 	 	 B7T***EsAqA	%"AQ442::::A;;%(""""
!**CsACFFqvIcAFQ;,%(
3444aAF
l56HIJ J J J QTAX;;#aik******
(1++a..C*\)QtAwwrz1U7+VAaC!G__<=+? +?"b %bMM+ + + + + + Q1b		??b    !99	!$$$$8''**//11Q666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 d S )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-----8?(1b//1111Q44477T"XX%%%%%QT77a1gg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 d S )Nr   r   r   r   c                  D    t          t                     dk              S Nr   )r?   r#   r   s   r   <lambda>z'test_ContinuousDomain.<locals>.<lambda>b   s    uSVVaZ0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2A"ah....QTQYQ''((,A>>>>
:0000111aaA8?(1b//111111r   c                     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 d S )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   s   #q!fS!Q//qAsT"""AQU88q====AE??aAE??aaq    acAgr""b!n4444A;;!AE??aA;;!AaC==Aq!!!!!q!a%  K1q5$9$99999!Q<<11a==A!a%r!!!!1a==HQKK''''1Q3??a1q5!Q////1q5!Q////Q1q5!""""Ar!a%||$$....8A;;q>>T!WWVAaC!%K%8%888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 d S )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444FB(T***DsCAsCACAgD)))GAq!Q443;;;;QU88sSy    QqS1W::1Q44!####A;;"a%A!GaK  HQKK!Q$x{{2B$BBBBBQ441T6>>>>QqS1W::1Q44!####Q1Wq[>>S1T6\A-----!99	#&&&&&&r   c                     t          ddd          t                    } t          dk                | d                              t                    k    sJ  | d          t
          j        k    sJ t          dk              }  | d          dk    sJ t          dd          t                    }  | d          dk    sJ t          dk              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 d S )Nr   r   r   r   
   r   c                  (    t           z             S N)rH   r   r   s   r   r   ztest_cdf.<locals>.<lambda>   s    s1q5zz r   r   r   T)rm   rH   r>   rewriter*   r   r   rY   r   r   r   r   r   )dr   fr   r   s      @@r   test_cdfr      sW   sAqAAAQU88qqtt||D))))))1Q4416>>>>Aq1uA1Q4419999CAAA1R55A::::QU88q11Q44x
:)))))***CAAA1Q449a#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                                          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 d S )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      sK   QA	 	#	#B2a55QBSVV$$$$$sAqA	 	#	#B2a55A::::2a55CAF
OO####CA	 	#	#B2a55A::::2a55<<>>Xb"--!B66666Q""A	 	#	#B2a55A::::2a55CDQqSMM)******31a  A	 	#	#B2a55A::::2a55QUCQ00022222S!QA	 	#	#B2a55A::::2a55C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                    |           }|%                    |           &                    | d          t          ddd          dz  k    sJ  t          t	          dd                    |           }|%                    |           &                    | 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                    |           }|%                    |           &                    | d          tN          k    sJ  t          t          ddd                    |           }|%                    |           &                    | d          dk    sJ  t          t          dddd                    |           }|%                    |           &                    | d          t          d           k    sJ  t          t          dd                    |           }|%                    |           &                    | d          dk    sJ  t          t          ddd                    |           }|%                    |           &                    | d          dk    sJ  t          t!          ddd                    |           }|%                    |           &                    | d          tP          dz   k    sJ  t          t#          ddd                    |           }|%                    |           &                    | d          tR           tU          ddd          z  k    sJ  t          t'          ddd                    |           }|%                    |           &                    | d          dk    sJ  t          t)          ddd                    |           }|%                    |           &                    | d          t+          dd          k    sJ  t          t-          ddd                    |           }|%                    |           &                    | d          t          t          j                  k    sJ  t          t/          ddd                    |           }|%                    |           &                    | d          t%          dd          k    sJ  t          t3          ddd                    |           }|%                    |           &                    | d          dtR          z  dt          d          z  z
  k    sJ  t          t7          ddd                    |           }|%                    |           &                    | 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                    |           }|%                    |           &                    | d          t          d          t          t8                    z  dz  k    sJ  t          tA          dddd                    |           }|%                    |           &                    | d          tR           t          d          z   k    sJ  t          tC          ddd                    |           }|%                    |           &                    | d          dk    sJ  t          tE          dd                    |           }|%                    |           &                    | d          dk    sJ  t          tG          dd                    |           }|%                    |           &                    | d          dtI          dd          z  tI          dd          z   tI          dd          z   k    sJ d S )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      sg   d###A gGAq!
5
$T#q!__
5
5a
8
8C%q1uh******
1
$Sa[[
1
1!
4
4C$q''!)E!A#,///qsQV|oA0!Q$q&99::?!**EqsfqviAa(() ) ) ) ) 9
$ZQ%7%7
8
8
;
;C1qs7qbd#####
7
$VCA%6%6
7
7
:
:C1qs7qb/!!!!
>
$ZQ1%=%=
>
>q
A
AC#acAqDAIaK'((!ac'22222
9
$[a%8%8
9
9!
<
<C!QU)
6
$U31%5%5
6
6q
9
9CA2a4!8r"""""
7
$VCA%6%6
7
7
:
:C#ac((5!A??*****
9
$Xc1a%8%8
9
9!
<
<C!CFF(6!A#q>>)))))
8
$WS!Q%7%7
8
8
;
;C#ac((QTE!Q$JN+++++
9
$Xc1a%8%8
9
9!
<
<C#ac((41q!A#'2222222
7
$VCA%6%6
7
7
:
:C#acAqDAIaK'((((((
7
$VCA%6%6
7
7
:
:C!aRTAI+j!aRT2222222
;
$ZQ%:%:
;
;A
>
>Cs88 H I I I I >
$\#q!%<%<
=
=a
@
@C"a%AaC.ac*AaCAadRU1B,CDDDDD
6
$Xc1%5%5
6
6q
9
9C$q''$r(("1$Q&DGGAIaKM(:(:Q(>?	QT!Q$Yq[		          ?
$ZQ1%=%=
>
>q
A
ACs88 ; < < < < 9
$WS!Q%7%7
8
8
;
;CC!HH9s1Q3xx'!aR!V*55555
8
$ZQ%7%7
8
8
;
;CCFFQJ>A%%%%%
>
$%5c1%=%=
>
>q
A
AC!GAqsOO#QqS))))) 6
$T#q!__
5
5a
8
8C88A;;Aq!!U4q%9%9!%;;;;;
1
$Sa[[
1
1!
4
4C88A;;Aq!!T!WWU4(1a..9JAF . . &
2hh&A(8Aq>>*;QVDD&EGHayQVW[a^^qvR R H !$r((
H,&, , , , , 9
$ZQ%7%7
8
8
;
;C88A;;Aq!!Q&&&&
7
$VCA%6%6
7
7
:
:C88A;;Aq!!Q&&&&
>
$ZQ1%=%=
>
>q
A
AC88A;;Aq!!c!ffW,,,,
9
$[a%8%8
9
9!
<
<C88A;;Aq!!Q&&&&
6
$U31%5%5
6
6q
9
9C88A;;Aq!!Q&&&&
7
$VCA%6%6
7
7
:
:C88A;;Aq!!Z!^3333
9
$Xc1a%8%8
9
9!
<
<C88A;;Aq!!aRQ) ) &     9
$WS!Q%7%7
8
8
;
;C88A;;Aq!!Q&&&&
9
$Xc1a%8%8
9
9!
<
<C88A;;Aq!!T!QZZ////
7
$VCA%6%6
7
7
:
:C88A;;Aq!!S[[0000
7
$VCA%6%6
7
7
:
:C88A;;Aq!!VAq\\1111
;
$ZQ%:%:
;
;A
>
>C88A;;Aq!!SUQs1vvX%55555
=
$\#q!%<%<
=
=a
@
@C88A;;Aq!!RT"a%ZQ%7QYN&r1uWT!WW_a"a%i0&1 1 1 1 1 7
$Xc1%5%5
6
6q
9
9C88A;;Aq!!T!WWT"XX%5a%77777
>
$ZQ1%=%=
>
>q
A
AC88A;;Aq!!aR#a&&[0000
8
$WS!Q%7%7
8
8
;
;C88A;;Aq!!Q&&&&
8
$ZQ%7%7
8
8
;
;C88A;;Aq!!Q&&&&
>
$%5c1%=%=
>
>q
A
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k              t          |dk              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k              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
                                  dk    sJ t          |          t          |          z
                                  dk    sJ d S )Nr   T)checkr   r   r   r   r   r   c                  t    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(    |AsA2wwHQOOSWXX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U88qQxxQQBXa__555A8?(1b//1111Q4419999QU88s2ww
:XXYYY ;666LB5
U1XXeQh
QqS	
)#rc%i..
8CR(1b//222Ac1eAaDD1Q44K!!##q((((QKK(1++%//11Q666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          k    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 d S )
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8999993q66!99	1a!e*tD1"q&A26):$;$;<<<R?aH%' ' ' ' ' ' !998Aq>>111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           d S )NalphaTr   r(   r   r   r   c                  "    t                     S r   rJ   r   s   r   r   ztest_benini.<locals>.<lambda>      (B1(E(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  ~  s   7T***E&4(((D7T***EsE4''A71::a==eAg$s1U7||(;A(==vc!E'll2T#ag,,/5IIJJK L L L L !998E2#6#66666
 E E E EFFF7---E
:>>>>>>???&d+++D
:>>>>>>???7T***E
:>>>>>>???&4(((D7---E
:>>>>>>?????r   c                  f   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 d S )
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!998Aq>>1111%"1%%a((E1$Q!A#,F,FFFFF71::a==AAJAQ'77Q

BBBBBAaDD>>Q!a%[((((HQKK  AaC1a4!AqD&(?QT+AAaC1H+LqQRsSTu+TWXZ[W[+[^_ab^b+b$ccccc DAqS!QAqttAa!eHH,,,,x{{##!q!a%!q1uqy1I/J/J'JJJJJ!99	!aQi-00000000r   c                     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          } ||                              |          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           d S )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!998Aq>>11111::DsA
q26A:!by(!a%1q5)99#qbd))CR!VQ	"-/13Q= =C477C      gGAq!#q!Q'''''sU...A
:;;;;;;<<<sT"""AsU...A
:;;;;;;<<<sT"""AsT"""AsD111A
:;;;;;;<<<<<r   c                  B   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 d S )
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%QVEWEWWWWWW7---E
:;;;;;<<<7T***E6t,,,E
:;;;;;<<<#q!A!99	!$$$$$$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          |                                           dz  z  z   z  k    sJ t          d
ddd          } t          |                                           t          d          k    sJ t          |           t!          t#          dd                    k    sJ t%          |                                           ddt          d          dz  z  z
  k    sJ d S )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.    sl   6D)))DAq
::::::;;;6&&&DAq
::::::;;;6D)))DAq
:;;;;;<<<c1a##A8?(1a..000071::a==AadFAqD!ad1a4i-$8999993q66!99	AqD5A:q!tQTAqD[/A#BdAqD1a4K0$123q&#:;DF F F F F FQ44==??ac!eQUm++++c1a##AQ44==??c"gg%%%%!99	(1a..111111A;;!!QCFFAI%555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 d S )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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    s   	4	 	 	 B7T***EsT"""AsBA%"1%%a((Cs1vv!B0F,G,GGGGG
 E E E EFFF71::a==Ar%xa"fq[-A)ABCCCCCAq		1A....8A;;q>>U3r1qv:#7#77"<<<<<	5	!	!	!B
:555556667---E
:55555666!99	"%%%%%%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           d S )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    s   $$$$$$sD!!!ACA71::a==A1qM!a!e*4S!Q$q\\A%!**LLLLL &"1%%a((DGGAIaKacAaDDFl8K8K,KESTUVSVYZ[\Y]Y]^_Y_S_Ra-.qTT!VI1uQwM@ M@ -@@Eac

-KMRTUVWTWSY\]^_\`\`ab\b[dghjkgkfklmfmMnMn-o o o o o )%a((++tAwwqyqsQqTT!V|9L9L/LUTUVWTWZ[\]Z^Z^_`Z`T`Sb121a	1a46NC NC 0CCH1::0NPUWXYZWZV\_`ab_c_cde_e^gijlmimnoioPpPp0q q q q q 	sD5111A
:****+++sED11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           d S )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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0E0EF G G G G 	sD5111A
:77777888sD4000As%%%A
:77777888sE"""AsT"""A
:777778888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           d S )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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B71::a==A1Ia!A#'l23r!t99<U1Q3ZZGGGGG3q66!99	:ac1Q3#7#7ac

#BAF"KYWWWWWWQ4419999A;;!A#3A3q66!99tAwws8B??';';;T$r((]KcRVWXRYRYZ[R[nn\\\\\sD5111A
:1111222sED111A
:11112222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 d S )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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  s   sT"""AsT"""AsT"""Ac1aA71::a==AaC1!,qsQhlqb1f-EEaGGGGG3q66!99	A1Or#:AF"C$-/ / / / / / 	s%%%A
:222222333sT"""As%%%A
:222222333sT"""As%%%A
:222222333c1aA!99	!$$$$$$r   c                     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 d S )	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k    fd	          k    sJ d S )
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000AsT"""AsAqA71::a==AAJq!tOC1II5eAhh>>>>>3q66!99	:a1#5#5eAhh#>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          |          
                                |dz  |dz  z   k    sJ t          |          
                                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 d S )
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  s1   6??DAq6D)))DAq31a  A71::a==Ac!Qq!tVac\AaC%7"8":;;;T!WWa1fqj1n%qs+,,--./ / / / / 	
1q5	A	!A)3vc1a(())!,,L,3vc1a4++,,Q//L 3rQT!V}s<7H7H'H#I#IIM3q66!99%%%% A;;1a4!b'>1111A;;1ad1a4iQTAG^0D0D&Dq&*1a4!b'>&:&:H; '; $< < < < < < <r   c            
      F	   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k              t          j
        u sJ t          |dk              t          |            k    sJ t          |dk              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          ||k              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          }|                    |d	k    d                              t0                                        |          sJ t1          dt          d|z            z  |ddf          }	|                    |dk     d                              t0                                        |	          sJ 	 d d d            n# 1 swxY w Y   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	k              t=          d          t?          d
d          z  k    sJ d S )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Q441T6>>>>A;;!D!G)####A;;!A;;'!Q--''''A;;!A;;'!Q--''''1Q3??gamm++++!Q<<5q=((((QU88quQU88sD5zz!!!!QV99CH%%%%8A;;q>>c!A#hhYt^++++a==A....CA!99	#a&&))))))c

AQU88sA2d7||####QU88q====sA	tBq"9!"<"<==A		%	% Z ZQs2b5zz\B2;77	}}QUU}33;;HEENNyYYYYYQs2b5zz\B1:66	}}QUU}33;;HEENNyYYYYYYZ Z Z Z Z Z Z Z Z Z Z Z Z Z Z 	C4  AaA(1++----aT!VQ4\224AqqyM 1224AqqyM8I3J3JJKL L L La!A#gq1ua!A#gq1u55S		(1b//12 2 2 2 2 2s   	C"N88N<?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 d S )
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    sQ   	BsA7T***E&4(((Db%..A71::a==Ds26{{5'8(,'- &- ". ". ./0wuQtV}}/DF F F F F3q66!99AdF a[[.5"7 "77;RC!G}}"E!"54=="2 2 2 2 2 2 2 2r   c                      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           d S )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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P bdBqD!1!113 4 4 4 4  E E E EFFF	$	'	'	'B
:9999:::	tU	3	3	3B
:9999:::	t	$	$	$B	$	'	'	'B
:99999:::	tU	3	3	3B
:99999:::::r   c                     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 d S )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$ii88<RT2a48H8HI J J J 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 d S )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!)r9J8J4K4KKAMMMMM3q66!99	31"q&!r(:':#;#;Q!V"DiPPPP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!          |                                          dt%          |           z  k    sJ t'          |                                          dd| z  z   k    sJ t          dd| z  d|z            }t)          |||z  |z   | |z  |z                                             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 d S )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    s   sT"""A7T***Ec1eA &"1%%a((qbhqj1n-CDDDD71::a==AAJur{23r%x==@qIIIII3q$""iR
1a   q1u-*Q%(((q1u5678Av?' '     Q446!Q<<y4000HAuc1eAQ441U7????A;;!E1H*$$$$A;;1T!WW9,,,,A;;1qs7****c1Q3%  Aaq1acAg..7799	&A2,tAwwu$aBqD	kAfaiK&?@
q!tby//$uax"}--
-	// / / / / /r   c            
      6   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k    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
           d S )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  	  sp   sT"""AsT"""AS!QA71::a==AQK1,S!AYY6uQxx?????3q66!99	:a1#5#5eAhh#>A"F	RRRRRR%"1%%a((A!Aa1Q3,?a47741::-..-//4Qxx-8 8 8 8 8
 E E E EFFFF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 d S 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s883CS1XX4F4FFFFFF3q66!99CHHS#c!A#hh%7%7777777Aq		1A......r   c            	      h   t          dd          } t          d          }t          d          }t          d          }t          d| |          }t          d| |d          } t          |          |                                          t	          || z            t	          | | z            z  t	          t	          || z             t	          | | z            z            z  | z  k    sJ  t          |          |                                          t	          | | z            t	          || z            z  t	          t	          | | z             t	          || z            z            z  | z  k    sJ  t          |          |                                          t	          t	          || z             t	          | | z            z            k    sJ  t          |          |          t	          t          |z  |z            t          t           | z  |z  dz             z  k    sJ d S )	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LLaRWc3r$w<<-QBtG"<===dBC C C C71::a==!!DMM#af++c3s4x==.QtV"<===dBC C C C3q66!99RWc1"T'll"##$ $ $ $%"1%%a((C"QKKqbgai!m8L8L,LLL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 d S )	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+??????3q66!99	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          k    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 d S )	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  sw   	BsT"""ARA &"1%%a((S2a[[!Q$q!t)a--HIIII71::a==CQVQ//1555553q66!99	3a{#3#3A#5rAv">!261*oo-a/!3T:< < < < < <aVq!fq!f-..AfQii,.MNNNN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           d S )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8?(2r"2"2222271::a==DAbDNN3r1a"f:+?+??!b&AETUTZNA[\\\\\3q66!99T!QBZ.11222222
 E E E EFFF	5	!	!	!B
:-----...s%%%A
:-----...	4	 	 	 B
:-----.....r   c                     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 d S )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bS3q66\A4E)E#FGGGGG3q66!99c!ffrk5011"4qv=======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 d S )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  s   	4	 	 	 BsT"""AsT"""Ab!A &"1%%a((r!tAvc!B$q&kk)$r!tAv,,61aA9MMO O O O 71::a==C!b!,,aqb2gq[1A1AA1E0I.IJJJJJ3q66!993Qz??Q./////8A;;q>>R!C1$5$5"55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 d S )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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  sX   5>>DAqsAq!!!!!sT"""AsT"""A
:55555666sT"""AsT"""A
:55555666T222JAq!QCAA71::a==Aqsa!en,a!A#A0A.ABBBBB3q66!991!r{?+++++8A;;q>>Q1q5	QqS111111 Q449aeQ!V_r!tQs2a4yy[/A4.HIIIIII4   ACAAQ442a43r!t99%%%%%CAA!99	!$$$$$$r   c            
      l   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 d S )	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    s1   	4	 	 	 BsT"""ACQAsA71::a==DGGC2#Aq1uI*>)B(BAadF(K$L$LLaPTUWPXPXjYZl[\n^_bc^cNdeeeee3q66!99DGGbS3q!a%y>>%9:AaC@AA!Cadd1fLLLLLLLr   c            
      :   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
k    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 d S )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 E E EFFF	4	 	 	 B7T***E#r5!!A71::a==T!WWSB3Q<!*;);&'qj*2 &3 &3 345aCRL4FH I I I I 3q66!99	T!WWrcCFFl3QuW=>>q@A$$q&!"#a%)*35 5 5 5 5 5 	#q!A71::a==DGGCQ
1$5$55qs488|DDDDDDDr   c            
      r   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 d S )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    s   6D)))DAq
://///0006&&&DAq
://///0006D)))DAqc1aA8?(1b//111171::a==Aq1Q3w1"q&11!333333q66!99	1AaCA2#6Q"?KKKKKK	Ac1aAQ441Q3;;;;!99	!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 d S )Nr   Tr   r   r   r   i)r   rj   r@   r   r   r   r   r	   rA   rH   r)   r   )r   r   s     r   test_maxwellr    s   sT"""AQA71::a==T!WWQT\#q!teQq!tVn*=*==	b!Q$    Q441T!WW9Q;tBxx'''''A;;"QT'"*qAv-----3q66!99DGGAIqsO,,tAwwqyadUAadF^9L9L/LdSUhhWXj/Y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
                    
                                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 d S )Nr   Fr   r   Tr   c                  &    t          d           S NMrk   r   r   s   r   r   ztest_Moyal.<locals>.<lambda>      uSU3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3333444	4	 	 	 B7T***E
:333334447T***Ec2uA71::a==DGGCb1fe^)<)<(<Q(>37QuW-). %/ %/ /01$r((
50@B B B B B3q66!991s4773Q57I3J3J+J1+L'M'M#MMMMM%"1%%a((A5
OC"QKK,Gr%xzHQNN:;;-<<@HH-E E E E EQ442
5((5Q<77777(%a((++qE6!8}SAYY/Fvax(1a..8990::>r((0C C C C C C Cr   c            	      d   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k    fd	          k    sJ t          ddd          }t          |          t!          t          t#          d                              k    sJ d S )
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!455:2YY? @ @ @ @AaDD>>d2hhtE{{2-22;-?-?@@Eb1fN O O O OHQKK  	E%QV$$a''r5a==)@AAC C C C3q66!99	!+B1a4!>!>uRyy!H!a% P )+ + + + + + 	aA!99	$s1vv,,////////r   c            	      6   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          |          
                                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           d S )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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    s   5>>DAq31%%%%% gGAq!S!QA71::a==DGGD1a4LL0aR!a!^Qq!tVAX5N1O1OOQRSWXZS[S[Q[\\\\\54(((DAqsT"""AQ""A71::a==DGGDGGODRMM9#qb1"q&1naPQSTPTfUVh>W:X:XXZ[\`ac\d\dZdeeeeeQ4419999A;;1a46))))3q66!99#d1ggd1ggoq1Q3w&?477&K"L"LQ"NNPSTUVWTWXYTYPZPZZ	T!WWT!WW_b1Q3h'4773	4	4Q	679:@ @ @ @ @ 	&&&A
:99999:::d###A&&&A
:9999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 d S )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    sn   y4000HB1HEsBA1::D 3q66!99qD519~ob4!8n4q8!r'BINNO O O O &"1%%a((RT"Wq!4!8,Z	A2a47-K-KKM M M M 477aEAI,'U3U;;;;;AaDD>>U2XuQw///////r   c            	      l   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 d S )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Q4458AeaiLL(((((A;;"a%+519q.%!)*D(E(EEEEEE!99	!Ax1~~$5"566666666r   c                  8   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 d S )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43q66!99	1a4A!A1)<#=	!Aq!tac!e|ad"#$$&'dAqD1Q3q5L1a4,?&@$ABCq&#JKTV V V V V V 	c1a##A71::a==AaC3q66!99	1a4a.(;;;;;;Q448Aa==    QU88q====QU88q====!99	!DGG),,,,,,,,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 d S )
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!998BFBF#;#;;;;;%"1%%a((c1"R%(1*ooa'As1u6QrT"WQY9I2aQSTUQU;;8WZ\^_Z_`cdefhdhijdj`k`kZklopqrspsltltZtvwxyvy|}  @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 X X 71::a==YRR[]););a)?!A#(Fa26k26Q;77(9:CE E F F F 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 d S )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((d1ggXd2hh->u-DQ-FTRSWWUZ][\_]^M^H_H_bcHc-dehjoqrjrirstvwswiwxyiyezez-z{|-|  @A  .A  B  B  B  B71::a==QsAqD5!E1H*#5666uax?????Q44477488#E)!+++++A;;2#eQh,q.1UAX:555553q66!99CAqz 23333333Aq		1A......r   c            	         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           d S )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4 r   r   c                  ,    t          d z              S r   r  r  s   r   r   z!test_reciprocal.<locals>.<lambda>}  s    z#q1ua88 r   )r   rt   r@   r   r   rH   r   r	   r>   r   Zeror   r   r   )r   r   r   s    @@r   test_reciprocalr  j  sm   sAsA31A71::a==Aq3q66'CFF"23444443q66!99	3q663q66CFF?#;c!ffc!ffsSTvvo>V#VXY]^X^"_ajkkkkkk32AQ442s2wwQ'(((((QU88qvQV99B3r77SVV#34s1vvR3q66AQ7RRRRRR3q66"::RCGGc!ff$45A#b''CPQFFBR8SSSSSS&&&A
:44444555d###Ad###A
:888889999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 d S 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#sd3PQrRSt99nBUBUUUU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           d S )	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EAFN;T"XXd16SUVWSWFXFX=XYYYYY3q66!995A#7#7!7qvr!taf}>U!)!Q 1AqD589= 9= "=>B2hhtBxx>OPUVXYZVZP[P[>["] ] ] ] ] ]
 E E E EFFFF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 d S )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 1 1
 	CAq!$$AQ448Aq>>!!!!A;;(1b//))))QU88x1~~%%%%!99	(1a..1111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                    
                                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  
                                k    sJ t           t          |          t                              dk    sJ d S )	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!998Aq>>1111zwqzz!}} #_ ` ` ` ` )%a((++22441"q&k#ac((QQZAaC001a!e9S1XX3EE1qbSTfXYWY\]W]H^`ade`eHfgooqqr r r r)&q))!,,--mn n n 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 d S )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     s   sAsA31A31A!998Aq>>1111(%a((++CFF
RAY0FFFFF(%a((++r#a&&y{RAYq[/HHHHH%"1%%a((AaCacN3qQqSz??,JJJJJ71::a==YA!GacMA+=(=rAvk(Ia1fa1f--(/09; ; < < < < < <r   c                  D   t          dd          } t          dd          }t          d| | |z             }t          |          | |dz  z   k    sJ t          |                                          |dz  dz  k    sJ t          dd	d
          }t          |d	k               dk    rt          |d
k              dk    sJ t          |dk               t          |dk              cxk    rt          j        k    sn J t          |          t          d          k    sJ t          d          } t          |          |          }|                    |d          t          j        k    sJ |                    |d          dk    s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 d S )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Q441qs7????A;;1a47**** 	QAQU88q==Qq1uXX]]]]QU88qQxx))))16))))))!99	!$$$$sA

1A66!S>>QV####66!R==A66!Q<<1AA1Q4419911Xa^^A....1Q441991r   c                      t          dd          } t          dd          }t          d| | |z             }t          || k               dk    rt          || |z   k              dk    sJ dS )	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    st     	sAsT"""AQAAQU88q==Qq1q5y\\Q......r   c                     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          |          |                              |          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 d S )	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88;L
M
MiXY\]X]N^N^
^C71::a==!!#&&&&& 8?(1a..0000 &"1%%a((aRQqSA->q-@1,DDDDD )%a((++Q!Q/BBBBBBBr   c                  0   t          d          } t          dd          }t          d| |          } t          |          t                    t	          |t          t          | z
            z            dt          z  t          d|          z  z  k    sJ d S )Nr   r   Tr   r   r   r   )r   r{   r@   r   r   r"   r   r%   )r   r   r   s      r   test_von_misesr	     s    	BsT"""Ab!A71::a==C#a"f++.."WQ]]0BCCCCCCCr   c                     t          dd          \  } }t          d| |          }t          |                                          | t	          dd|z  z             z  k    sJ t          |                                          | dz  t	          dd|z  z             z  t          |          dz  z
                                  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 d S )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Q44;;==Aa!A#g.....A;;AqD5QqS>>$9AaDD!G$C#K#K#M#MMMMMHQKK  QuQ1W~~q'8%81U1qs7^^;KERSVWXYVYRYNN;Z%Z]bcdghijgjcj]k]k%kotuvyz{|y|u|o}o}  @A  pA  oA  DI  JK  NO  PQ  NQ  JQ  DR  DR  oR  U]  ^_  ab  Uc  Uc  nc  %c  c  c  c  cHQKK  Ra!A#g(9%9	%AaC..!
E!ac'NN*&+-.uQ1W~~-=eA!Gnn-L&MOTUVYZ[\Y\U\~~&^`efgjklmjmfm`n`npq`qtyz{~  AB  B  {B  uC  uC  aC  FG  `G%G 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    sJ d S )Nr   r   r   r   r   )	r   r   r   r|   r6   r	   r   r-   rA   )r   bvalsr   r   s       r   test_weibull_numericr    s    	AVQA*E 0 0CA!~~Qq1QqTT6z1B1B-B!C!CCCCC$$qD5QqttV$$$qttQw.)0 )0 0 0 0 0 00 0r   c            	      B   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 d S )	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!998QB??222271::a==AdAqD51a4<000"QT':::::Q4419999 &"1%%a((a1Q3'1-r!Qxx8)DDE E E 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 ]Ct          t          fd           t          t          fd            d|           Dd S )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0 r   c                  &    t          d           S r   r  )re  r^  s   r   r   z-test_input_value_assertions.<locals>.<lambda>5  s    vc1a00 r   r   c                  $    t          d           S r   )rY   )re  s   r   r   z-test_input_value_assertions.<locals>.<lambda>7  s    {322 r   Exc                        d          S r   r   )fnre  r   s   r   r   z-test_input_value_assertions.<locals>.<lambda>:      22c1a== 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444DAq
:00111
:00000111
31
:2222333awe,  z000000111z00000011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          
                    t                                        |          sJ t          | dz   d          
                    t                                        |dz             sJ t          | dk    d          
                    t                                        |          sJ 	 d d d            n# 1 swxY w Y   t          | dk    | dz  dk               t          j        k    sJ d S )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!  ?  s   sAqAc

AT!WWQYsAqD57||+QtBxxZ81rc2,GGET!WWS!Q$q\\)1T"XX:6Ar
CCE		%	% J JU###++H55>>uEEEEEQ'''//99BB519MMMMMQ'''//99BB5IIIIIIJ J J J J J J J J J J J J J J
 QUAqD1H''''''s   &CF88F<?F<c                      t          ddd          } t          t                    5  t          t	          | dk    d                    t
          k    sJ 	 d d d            d S # 1 swxY w Y   d S )NTr  r   !   Frp  )rm   r   rt  typer>   r   )r#  s    r   test_probability_unevaluatedr&  L  s    sBA		%	% > >Aa"fu---..+=====> > > > > > > > > > > > > > > > > >s   .A""A&)A&c                      t          ddd          } t          ddd          }t           t          | |z   d          t                    t                    sJ d S )Nr   r   r   r   r   Frp  )rm   r  r@   r   r2   r   s     r   test_density_unevaluatedr(  R  s\    sAqAsAqA2gacE222155x@@@@@@@r   c                  j   t          dd          } t          d          }|                     |          t          t	          d          |z  dz            dz  t
          j        z   k    sJ |                     d|          dk    sJ |                     ||          dk    s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          }|                    |dk     d	
                              |          du sJ t          t	          d          t          |dz
  dz   dz            z  dt	          t                    z  z  |dt          f          }|                    |dk    d	
                              |          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          }|                    |dk    d	
                              |          du sJ t          t	          d          t          |dz
  dz   dz            z  dt	          t                    z  z  |t           df          }|                    |dk     d	
                              |          du sJ d S )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  s   	Aq	!	!BsA66!99DGGAIaK((*QV33333>>!Q1$$$$>>!Q1$$$$>>!Q$""a''''q"4Q":":;;A	tBarAvk\"_!5!55qbzBBQ<PPI==Q=//88CCtKKKKarAvk\"_!5!55qbzBB2;OOI==Q=//88CCtKKKKq"4Q":":;;AarAvk\#%5!6!66488Db!R[QQI==Q=//88CCtKKKKarAvk\#%5!6!66488Db2#q\RRI==Q=//88CCtKKK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                                                    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 d S )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%(((+++++fTllN33333sQFaVaV,--AfQii,.LMMMMM74==$$&&$q''#q!teBh1nqttAv6M2N2N*NPRSWXZS[S[P[*\\\\\\\r   c                      t          ddd          } t          d| d          }t          |t          | d                    t          ddd          k    sJ d S )Nr   r   r   r#  r   r   )rm   rF   r   )r   r2  s     r   test_random_parameters_givenr5  |  sY    	a		B#r1Dr"ayy!!VCA%6%6666666r   c                      t          ddd          } t          d| d          }t          t           t          | t	          |t
                    d          t                              t                    sJ d S )Nr   r   r   r   r   Frp  )rm   r  r6   r@   r   r   r   r   )r   r   s     r   test_conjugate_priorsr7    sy    	a		BsBAhDwr2a88eDDDQGGHH      r   c                      t          ddd          } t          | dz            sJ t          t          | dz                      sJ t          t          |                     sJ dS )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    sg     	sAqA1a4==3q!t993q66??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 d S )Nr   r   gr   r   r   )rY   r^   r>   r   r  )r   Gs     r   test_issue_10003r=    sb    CAc1aAQV99QV99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 ]~} t          |          |           t           |j        j        	                                |                     z
  }t          |
                    t                              }|dk    sJ d S )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111A3E""3E""sAU##	H   3q66!99x(F(8(D(D(F(Fq(I(IJJJH,,T22331}}}}} r   c                     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           d S )Nr   c                 4  
 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     sJ }d S )Nr   mpmathc                 B                           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    aa1gg 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/    $5$5$5$5$58KM`7amop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   dmm3KK s93D99!<<hGG aVSSVVC!AJJ.99ppppppp ( 	0 	0JZBZBr"vv2''%////r"vv2''%/////	0 	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    st   MMM0 0 0 0 0& GDaOOQ"""GCQKKFJ'''GJsA6:...GKQFJ///GHS!Q&*fj999GF3AVZ888GLa##Q***GHS#6:...GGCQQ'''G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 ]f}t          d          D ]T}t          t           t          |          |           |            t!          |          |           | dddd          sJ Ugt#          dd          } t!          |          |                               t'          |           d                                          } t          |d !          |                               t'          |           d                                          }t          t          ||           || dddd          sJ d S )"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 Xq 	X 	XAd:3u::a==!,,ngennQ.?.?a1PQUVWWWWWWW	X 
D!		BGBKKNNa!,,1133E#CU###A&&++E!HHa88==??Ed5!nneQ!qA;;;;;;;;r   c                      t          ddd          } t          | | t          j        k              t	          dd          k    sJ t          | | dk              t          j        k    sJ d S )Nr   r   r   r   r   )ry   r	   r   r   r   r   s    r   test_issue_13324rk    sa    QAQAF
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 d S )Nr   r   r   r   )ry   r	   r   r  r   s     r   test_issue_20756rm    s    RARAQU88qvQ1q5A+16))))Q!QU)ac/"##qv------r   c                  T   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 d S )Nr	   r   ra  r   r  r   r   )rY   rm   r>   r   r   r  r   )r	   ra  s     r   test_FiniteSet_probro    s    CAsAqAR1XX;;!&    R1XX;;!&    R1XX;;!&      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 d S )Nr	   r   r   r   r   r   )rY   rS   r>   r   r   )r	   r   s     r   test_prob_neqrq    s    CA3AR1XX;;!R1XX;;!R1XX;;!R1XX;;!R1XX;;!r   c                  ,   t          ddd          } t          t          | dz  | z
  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z  dz
  dk                        t          dt	          d          z  dz             dz  t          t	          d          dz            dz  z
  t          dd          z   k    sJ d S )Nra  r   r   r   r   r   )rm   r6   r>   r)   r   r*   r   ra  s    r   
test_unionrt    s	   sAqAAadQhlOO$$	T!WWa$tAwwqy//!++hq!nn<= = = =AadQhlOO$$	QtAwwYq[		!d47719ooa//(1a..@A A A A A Ar   c            	      
   t          ddd          } t          t          t          | dk    | 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k    | dk                         dk    sJ d S )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!WWa$tAwwqy//!++hq!nn<= = = =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k    t          | d                    dk    sJ t          | dk     t          | d                    dk    sJ d S )Nr	   r   r   r   )rY   r>   r   )r	   s    r   test_conditional_eqrx    s    CAR1XXr!Qxx  A%%%%R1XXr!Qxx  A%%%%QUBq!HH""""QUBq!HH""""""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 d S )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}    s   sAc

A!YA!5AqD1Q3<7H	
!Q$1	+ + , ,D)$HQNNCCCD"1d++E8vaAaDDFQ!VA4F+G	
Q!VA!A$$q&16a!e*<!=y"J "J K K K K K K%+(1a..0000U[>>Xa^^++++EK  HR$4$4444444r   c                  ~     t          t          t          dd                     t          t           fd           d S )Nr   r   c                  X    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!QqSSTVWRXYY r   )r   r   r5   r   r   rs  s   @r   test_issue_16318r  (  s:    q(1a..11A
:YYYYZZZZZr   c                  z     t          ddt          d          dz             t          t           fd           d S )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0 r   )rm   r   r   r   r   s   @r   test_compute_densityr  -  s?    sAvg)**A
:00001111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     s.   ) ) ) ) ) ) ; ; ; ; ; ; ; ; ; ;       ! ! ! ! ! ! 8 8 8 8 8 8 8 8 8 8 8 8 * * * * * * * * " " " " " " 6 6 6 6 6 6 6 6 6 6 J J J J J J J J D D D D D D D D D D D D = = = = = = = = > > > > > > > > 5 5 5 5 5 5 9 9 9 9 9 9 : : : : : : P P P P P P P P P P P P P P F F F F F F F F F F 7 7 7 7 7 7 M M M M M M M M M M M M S S S S S S S S S S 7 7 7 7 7 7 / / / / / / . . . . . . ) ) ) ) ) ) ) ) $ $ $ $ $ $ , , , , , , - - - - - - : : : : : : 1 1 1 1 1 1 ? ? ? ? ? ? ? ? ? ?
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ n m m m m m m m m m f f f f f f f f J J J J J J J J 2 2 2 2 2 2 8 8 8 8 8 8 E E E E E E E E E E E E 6 6 6 6 6 6Z
#fe

1a7 7 72
 
 
	2 	2 	29 9 96' ' '*? ? ?,+ + +@H H HV7 7 70
2 
2 
2@ @ @01 1 1$= = =B% % %$6 6 6(& & &&, , ,*9 9 9(3 3 3,% % %.- - -* * *< < <2 )2 )2 )2V2 2 2; ; ;0J J JQ Q Q / / /<G G G/ / /M M M+ + +O O O/ / /&> > >6 6 6% % %4M M ME E E4# # #$
/ 
/ 
/ C C C*0 0 0"; ; ;80 0 0.7 7 7- - -2F F F/ / /: : :*V V VG G G2 2 2$n n n < < <"# # #4 / /  /C C C&D D DG G G0 0 0E E E   
( 
( 
(> > >A A AL L L4] ] ]7 7 7        $ - - -D< < <2! ! !
. . .! ! !  A A A$ $ $# # #5 5 5[ [ [
2 2 2 2 2r   