
    Cpjv             
       B   S SK rS SKrS SKrS SKJr  S SKrS SKJr  S SK	r	S SK
JrJr  S SKJrJrJrJr  S SKJs  Jr  S SKJr  S SKJr  S SKJr  S S	KJr  S S
KJr  S SKJrJ r   S SK!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,  S SK-J.r.J/r/J0r0  S SK-J1r1  S SKJ2r2J3r3J4r4J5r5   " S S5      r6S>S jr7\.\2\3\4\//r8\5/r9\8\9-   r: " S S5      r;S r<S r=S r>S r?S r@S rAS rBS rC\	R                  R                  S\245      \	R                  R                  S\F" 5       S/5      \	R                  R                  S \F" 5       S!/5      \	R                  R                  S"S#/5      \	R                  R                  S$\R                  R                  \R                  \R                  /5      S% 5       5       5       5       5       rKS& rLS' rMS( rNS) rO " S* S+5      rP " S, S-5      rQ " S. S/5      rR " S0 S15      rS " S2 S35      rT " S4 S55      rU " S6 S7\'5      rV " S8 S95      rWS: rX " S; S<5      rYS= rZg)?    N)deepcopy)inf)assert_allcloseassert_equal)
strategiesgivenreproduce_failuresettings)special)stats)_kolmogorov_smirnov)kolmogn)qmc)distcontdistdiscrete)_Domain_RealInterval
_Parameter_Parameterization_RealParameterContinuousDistributionShiftedScaledDistribution_fiinfo_generate_domain_supportMixture_logexpxmexpy)StandardNormal_LogUniform_Gamma)DiscreteDistribution)NormalLogisticUniformBinomialc                      \ rS rSr\R
                  R                  S5      rS r\	R                  R                  S\R                  SSSS9\R                  * \R                  /5      S 5       r\	R                  R                   \" \R&                  " S	S
S9\R*                  " 5       \R*                  " 5       \R,                  " 5       S9S 5       5       r\	R                  R                  S\" \R4                  " SS/SS95      5      \	R                  R                  SSS/5      S 5       5       r\	R                  R                  S\R                  * \R                  SSS4S/5      S 5       r\	R                  R                   \" \R:                  " \R<                  " SS9\R>                  " SS9\R@                  " \" \!RD                  5      5      5      \R:                  " \R<                  " SS9\R>                  " SS9\R@                  " \" \!RD                  5      5      5      \R*                  " 5       \R*                  " 5       S9S 5       5       r#S  r$S!r%g")#Test_RealInterval   l   @x	 c                     [        SS9nSn[        R                  " [        US9   UR	                  [
        5        S S S 5        g ! , (       d  f       g = f)Nab	endpointsz0The endpoints of the distribution are defined...match)r   pytestraises	TypeErrorget_numerical_endpointsdict)selfdomainmessages      ]/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/scipy/stats/tests/test_continuous.pytest_ivTest_RealInterval.test_iv   s9    4D]]9G4**40 544s   A
Ax
            sizec                     [         R                  * [         R                  p2[        X#4SS9n[	        UR                  U5      X!:  X:*  -  5        g )NFTr-   	inclusive)npr   pir   r   contains)r5   r;   r*   r+   r6   s        r8   test_contains_simple&Test_RealInterval.test_contains_simple%   s?     w1!=IV__Q'!%AF);<    r?   r   
num_shapesmin_side)shapesinclusive_ainclusive_bdatac           	         Uu  pVUu  pxn	[        SSSSS9n
[        SSSSS9nUR                  [        R                  " [        R                  " 5       XzS95      nUR                  [        R                  " [        R                  " 5       XS95      nX-
  n[
        R                  " [
        R                  " X-
  US5      [
        R                  " XS5      [
        R                  " XU-   S5      /5      n[        S	X#4S
9nUR                  [        S[        5       S9[        S[        5       S95        UR                  U[        XS	95      nU(       a  SOSnU(       a  SOSn[        SU SU S35      n[        UU5        g )NFg     @   )	allow_nanallow_infinity	min_value	max_valuer>   g     @@)elementsr<   r)   rE   r*   r6   r+   z<=<z(a z	 x) & (x z b))r4   drawnpstarraysfloating_dtypesrG   concatenatelinspacer   define_parametersr   rI   evalr   )r5   rP   rQ   rR   rS   input_shapesresult_shapeshape_ashape_bshape_x
a_elements
b_elementsr*   r+   dr;   r6   resleft_comparisonright_comparisonrefs                        r8   test_containsTest_RealInterval.test_contains-   si    &,"$0!' E%$(A7
E%$%6
IIdkk$"6"6"8")@ AIIdkk$"6"6"8")@ A ENNBKKQ3KKb1KKQ335 6 (3'AC  MO!L!/MO!L	N ooa0 #.$3#.4CS)3C2DCHIS#rL   rF   TFr>   )repeatza,br   rU   r?   rU   c           	         S S 4n[        XAS9n[        R                  " USU-  -
  S-  X#-
  S-  US-  X#-   S-  USU-  -   S-  /5      nUR                  U[	        X#S95      nX#-
  S-  X#-   S-  4nXR                  [	        X#S95      :X  d   eUu  pUS   (       a  X:*  OX:  nUS   (       a  Xj:*  OXj:  nX-  n[        X}5        g )Nc                     X-
  S-  $ Nr>    r)   s     r8   <lambda>DTest_RealInterval.test_contains_function_endpoints.<locals>.<lambda>^   s
    15A+rL   c                     X-   S-  $ rx   ry   r)   s     r8   rz   r{   ^   s
    QUaKrL   rE   r>   r)   r   rU   )r   rG   asarrayrI   r4   r3   r   )r5   rF   r*   r+   r-   r6   r;   rm   numerical_endpointsalphabeta
above_leftbelow_rightrp   s                 r8    test_contains_function_endpoints2Test_RealInterval.test_contains_function_endpointsZ   s     ./GH	HJJQqS!aeQY!aeQYQqS!LMooa0 !{QUaK8"&D&DTA^&TTTT)#,Q<UZUY
#,Q<aiQX&SrL   casez(-\infty, \pi])r*      TFz[a, 5)c                 L    [        US S USS S9n[        U5      US   :X  d   eg )Nr>   r@   rE   )r   str)r5   r   r6   s      r8   test_strTest_RealInterval.test_strm   s2    
 bqT!AYG6{d1g%%%rL   )rV   L)whitelist_categories)r*   r+   rQ   rR   c                     [         R                  R                  X5      n[         R                  R                  X"5      nU(       a  SOSnU(       a  SOSn[        X4X44S9nU U SU U 3n[	        U5      U:X  d   eg )N[(])rE   , )r   symbolsgetr   r   )	r5   r*   r+   rQ   rR   left_bracketright_bracketr6   rp   s	            r8   	test_str2Test_RealInterval.test_str2u   s}     OO%OO%)ss*!(3'ACqcA3}o66{c!!!rL   c                 ^    [        SS9n[        SS9nUR                  UR                  Ld   eg )Nrt   r,   )r   r   )r5   domain1domain2s      r8   test_symbols_gh22137&Test_RealInterval.test_symbols_gh22137   s.      &1&1goo555rL   ry   N)&__name__
__module____qualname____firstlineno__rG   randomdefault_rngrngr9   r0   markparametrizeuniformr   rH   rJ   slowr   r^   mutually_broadcastable_shapesr   booleansrS   rq   listitproductr   r   one_ofdecimals
characterssampled_fromr   r   r   r   __static_attributes__ry   rL   r8   r&   r&      s.   
))


0C1 [[S3;;r2I;#F$&FF7BEE#3 4=4= [[
$44AN!**,!**,!#&	# 
&P [[[$rzz4-PQ/R*ST[[UVV$45 6 U" [[V
&&"%%&78'& &	& [[
Ze,37W__ 568 e,37W__ 568 "**,!**,

"
 
"6rL   r&   c                    U R                  5       nUS:  ap  UR                  [        R                  " SUS-
  S95      nU R	                  U5      nUR                  [
        R                  " UUS95      u  pU R                  XUUS9n
OU R                  US9n
[        5       n	UR                  [
        R                  " U	US95      nU
R                  R                  XR                  X2SS	9n[        R                  " X5      nUR                  [
        R                  " UUS95      nU
R                  R                  XR                  X2SS	9n[        R                  " X5      n[        S
S5      n[        SUS9nUR                  XUS9n[        R                   " SSS9   [        R"                  " U5      nS S S 5        XUUWXU4$ ! , (       d  f       N= f)Nr   rU   )rY   rM   )r   proportionsi_parameterizationr   rO   typical)parameter_valuesr   r   regionrt   TTpr[   )r   r   ignoredivideinvalid)_num_parameterizationsr]   r   integers_num_parametersr^   r   _drawtuplebroadcastable_shapes	_variable_parametersrG   broadcast_shapesr   r   errstatelog)familyrS   r   r   rO   n_parameterizationsin_parametersrP   rf   distx_shaper;   x_result_shapey_shapeyxy_result_shapep_domainp_varr   logps                        r8   draw_distribution_from_familyr      s    !779QIIj))!7J17LMN--a0#yy..,8@B C ||F/0  2 |||$w ii11,;CE FGG6F6F(3Y 	 	PA((?Nii11.;CE FGG6F6F(3Y 	 	PA))'BOV\2H3x0E

7
=A	Hh	7vvay 
8 Aq$oMM 
8	7s   G  
Gc                      \ rS rSr\R
                  R                  S5      \" SS9\R
                  R                  S\	5      \
" \R                  " 5       \R                  " SS9S9S	 5       5       5       5       r\R
                  R                  S
5      \R
                  R                  S\	5      \R
                  R                  SSSS1S4SSS1S4SS1S4SS1S4SS1S4SS1S4SS1S4SS1S4SS1S4SS1S4S1 SkS4S1 SkS4S 1 SkS4S!1 SkS4S"S#S$1S%4S&S#S$1S'4/5      \" SS9\
" \R                  " 5       \R                  " SS9S9S( 5       5       5       5       5       rS) r\R
                  R                  S*SS!/5      S+ 5       r\R
                  R                  S*SS!/5      S, 5       rS- rS. rS/ r\R
                  R                  S*SS /5      S0 5       rS1rg)2TestDistributions   <      max_examplesr   r   rX   rS   seedc                    [         R                  R                  U5      nSn[        XXE5      nUu  pxpppUR	                  [
        R                  " SSSS95      n[         R                  " SSS9   [        U5        [        X|5        [        X|5        [        USXU5        [        R                  " SUS	9n[        USXU5        S S S 5        g ! , (       d  f       g = f)
Nffffff?皙?r   r   r   r   )min_dimsrO   max_sider   r   r   samplerU   rl   r   )rG   r   r   r   r]   r^   array_shapesr   check_supportcheck_moment_funcscheck_lmoment_funcscheck_sample_shape_NaNsr   Halton)r5   r   rS   r   r   r   tmpr   r;   r   r   r   rf   r   r   sample_shapeqrngs                    r8   test_support_moments_sample-TestDistributions.test_support_moments_sample   s    
 ii##D) ++F#KMPJt>yy!2!2A<>"@ A [[(;$t23#D(LPST::,D#D(LPTU <;;s   /AC
Cr<   zfunc, methods, argentropylog/exp
quadratureN
logentropymedianicdfmodeoptimizationmeancachevarianceskewnesskurtosispdfr;   logpdflogcdf>   
complementr   r   cdflogccdfccdfilogccdfr  	inversionr   iccdfr   c           	         U[         :X  a  US:X  a  [        R                  " S5        [        R                  R                  U5      nSn[        XXx5      n	U	u  pppnnXUS.n[        R                  " SSSS9   Uc  [        XS X5        OUU;   a  [        XUU   UU5        S S S 5        US:X  a+  [        U
R                  5       S-  U
R                  5       5        [        R                  " SSSS9   [        U
[        5      (       dO  US	:X  a"  S
1n[        U
SXUU5        [        U
SXUU5        O'US:X  a!  S1n[        U
SXUU5        [        U
SXUU5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr   z'Mode is not unique; `method`s disagree.r   )r;   r   r   r   )r   r   overr  r>   r	  r   FTr  addition)r#   r0   skiprG   r   r   r   r   check_dist_funcr   standard_deviationr  
isinstancer   
check_cdf2check_ccdf2)r5   r   rS   r   funcmethodsargr   r   r   r   r;   r   r   r   rf   r   r   argss                      r8   
test_funcsTestDistributions.test_funcs   sa   . WKKABii##D) ++F#KMPJt>?*[[(J{D,HDI~wO	 K :D335q8$--/J [[(Jd$=>>5=+nGtUA/7KtT1'JV^)lGeQ?GLdA/7K KJ KJ KJs   7)E/A%E.
E+.
E<c                      SS K Jn  [        SSS9nUR	                  5       nX1R                  5       :X  d   eg ! [         a     g f = f)Nr                 ?r)   )matplotlib.pyplotpyplotImportErrorr#   plotgca)r5   pltXaxs       r8   	test_plotTestDistributions.test_plot  sG    	+ bBVVXWWY  		s   8 
AAmethod_namec                 @   [         R                  " SSS9nSUl        [        R                  " SS/5      n[        X!5      n[        USU-   5      nU" USS	9nU" US
S	9nU" USS	9n[        US   US   5        US   US   :w  d   e[        US   US   UR                  S9  g )NrU   r>   musigma-q=-C6?MbP?r   formulamethodcomplement_safer  r   rtolr   r!   tolrG   r}   getattrr   r   )	r5   r+  r'  r   r  ifuncr;   p1p2s	            r8   test_complement_safe&TestDistributions.test_complement_safe!  s    LLAQ'JJd|$q&3{?+!I&!-.!L)RUBqE"!u1~~1qt!%%0rL   c                 >   [         R                  " SSS9nSUl        [        R                  " SS/5      n[        X!5      n[        USU-   5      nU" USS	9nU" US
S	9n[        US   US   5        US   US   :w  d   e[        U" US   5      US   UR                  S9  g )NrU   r>   r-  r0  r1  r2  r   r6  r4  r  r   r7  r9  )r5   r+  r'  r   r  r<  x1x2s           r8   test_icomplement_safe'TestDistributions.test_icomplement_safe/  s    LLAQ'JJd|$q&3{?+1./1\*RUBqE"!u1~~RUQqT6rL   c                    [         R                  " 5       nSUl        / SQn/ SQnUR                  X#SS9nUR                  X#SS9nUR                  X#SS9n[	        Xe5        [        XTUR                  S9  [        R                  " / S	Q5      n[        R                  " / S
Q5      nUR                  S5      X2-
  -  nUR                  X#SS9nUR                  X#SS9n[	        US5        [        XTUR                  S9  g )Nr0  )r<      )rH  rG  rI  r<   r   r4  subtraction_safesubtractionr7  )#BǻO
㒻#B;O
;rL  )rM  rL  rO  rN  rN  r   )	r   r!   r:  r	  r   r   rG   r}   r  )r5   r'  r;   r   p0r=  r>  s          r8   test_subtraction_safe'TestDistributions.test_subtraction_safe<  s    LLN UU1U-UU1 2U3UU1U.RQUU+ JJ=>JJ<= UU1Xqs^UU1 2U3UU1U.RQUU+rL   c                     " S S[         R                  5      nU" / SQS9n[        R                  " SS9   UR	                  SS9nUR	                  S	S9nS S S 5        UR	                  S
S9nSS/n[        R
                  " WU   5      R                  5       (       d   eWS   US   :X  d   e[        X6   XV   5        g ! , (       d  f       Nn= f)Nc                   (   ^  \ rS rSrU 4S jrSrU =r$ )7TestDistributions.test_logentropy_safe.<locals>._NormaliV  c                    > [         R                  " [        TU ]  " S0 UD65      nSUS'   [         R                  US'   U$ )Nr   ry   )rG   r}   super_entropy_formular   )r5   paramsout	__class__s      r8   rY  HTestDistributions.test_logentropy_safe.<locals>._Normal._entropy_formulaW  s9    jj!9!CF!CDA&&B
rL   ry   )r   r   r   r   rY  r   __classcell__r\  s   @r8   _NormalrU  V  s     rL   r`  rU   r>   r?   r/  r   r   logexp_safer4  logexpr   r   rW  rU   )r   r!   rG   r   r   isinfallr   )r5   r`  r'  res1res2rp   i_fls          r8   test_logentropy_safe&TestDistributions.test_logentropy_safeT  s    	ell 	 )$[[)<<}<5D<<x<0D * ll,l/2wxxT
#''))))Aw$q'!!! 	TZ+ *)s   B==
Cc                    [         R                  " / SQS9n/ SQn/ SQn[        R                  " SS9   UR	                  X#SS9nUR	                  X#S	S9nS S S 5        UR	                  X#S
S9nSS/n[        R
                  " WU   5      R                  5       (       d   eWS   US   :X  d   e[        XG   Xg   5        g ! , (       d  f       No= f)Nra  rb  )rU   ,  )ir>   -  r   rc  rd  r4  re  r   r   rW  rU   )r   r!   rG   r   r  rf  rg  r   )r5   r'  r;   r   rh  ri  rp   rj  s           r8   test_logcdf2_safe#TestDistributions.test_logcdf2_safei  s    LLy)[[)88A87D88A82D * hhqLh12wxxT
#''))))Aw$q'!!! 	TZ+ *)s   !B==
Cc                 T   [         R                  " SS9nUS:X  a  SS/OSS/n[        X!5      n[        R                  " SS9   U" US	S
9nU" USS
9nS S S 5        U" USS
9nWS   US   :X  d   eUS   WS   :w  d   eUS   US   :X  d   eUS   US   :w  d   eg ! , (       d  f       NN= f)Nr>   rb  r  rn  rU   rp  r   rc  rd  r4  re  r   r   )r   r!   r;  rG   r   )r5   r+  r'  r;   r  rh  ri  rp   s           r8   test_logexp_safe"TestDistributions.test_logexp_safey  s     LLq!$0T1IsAhq&[[)-0D(+D * 1\*Aw#a&   Aw$q'!!!Aw$q'!!!Aw#a&    *)s   B
B'ry   )r   r   r   r   r0   r   	fail_slowr
   r   familiesr   r   rS   r   r   r  r)  r?  rD  rQ  rk  rq  rt  r   ry   rL   r8   r   r      sY   [[22[[Xx0

!
(;(;a(HIV J 1  V$ [[2[[Xx0[[1(9l*CTJ+i-FM'&48%'7>%y$7)G9d;)G9d;)G9d;$yk37')c:')PRUV$&MsS(*QSVW%'NPST)L++FO&{(CSI !$ 2

!
(;(;a(HIL J %! 1 ,LB [[]UFO<1 =1 [[]UFO<
7 =
7,0,*,  [[]Xy,AB! C!rL   r   c                 z   X#-   nUS:X  a  U R                   nS1nU R                  SU S35      (       a0  [        U[        R                  5      (       d  UR                  S5        U GHQ  nW" X(US9n	[        R                  " [        U 5      U	R                  5      n
[        U	R                  U5        [        R                  R                  U	R                  U R                  5        US:X  a  [        R                  " U	5      (       d   e[        R                  " [        R                   " X   5      5      (       d   e[        X)    [        R"                  5        U" X(SS9nU" X(SS9n[        U [$        5      (       d1  [        R&                  " [        R(                  " X5      5      (       a   e[        X5        GMT     g )	Nr   inverse_transform__formular3  )r5  r   ry   *   )r   
_overridesr  r   	QMCEngineaddrG   broadcast_toget_valid_parametersshaper   testingdtype_dtypeisscalarrg  isfinitenanr    anyequal)r   fnamer   rf   r   
full_shapesample_methodr  r5  rm   valid_parameterssample1sample2s                r8   r   r     sW   ,J"#G5'*++JsCMM4R4RILSA??+?+E+.996SYY
+


		4;;7
 ;;s####vvbkk#"789999S*+RVV4DD$ 455 vvbhhs45555W&/ rL   c                 @   U R                  5       u  p[        U SS U5        [        U SS U5        UR                  U R                  :X  d   eUR                  U R                  :X  d   eUR                  U R
                  :X  d   eUR                  U R
                  :X  d   eg )Nsupport)r  check_nans_and_edgesr  _shaper  r  )r   r*   r+   s      r8   r   r     s    <<>DAy$2y$277dkk!!!77dkk!!!77dkk!!!77dkk!!!rL   c                    Uc
  [        5       OU4nUR                  5       nSU;   a4  [        R                  " [        5         [        X5      " USS06  S S S 5        [        X5      " U6 n[        XX&5        SS0nUS;   a  SS0nOUS;   a  SS0nO
US;   a  S	S
0nU R                  SU S35      (       a  UR                  S5        [        R                  R                  UR                  U5        U[        5       :X  a  [        R                  " U5      (       d   eU GH  n[        X5      " USU06n	SU;   aK  [        R                  R                  " [        R                  " U	5      [        R                  " U5      40 UD6  O![        R                  R                  " X40 UD6  [        R                  R                  U	R                   UR                   5        [        R                  R                  U	R                  U5        U[        5       :X  d  M  [        R                  " U	5      (       a  GM   e   g ! , (       d  f       GN= f)Nr  r5  atolV瞯<>   r   logmeanr  logskewness>   r   ư>>   r  r8  gH׊>rz  r{  r3  r   )r   copyr0   r1   NotImplementedErrorr;  r  r}  r  rG   r  r   r  r  r   expr  )
r   r  r  rf   r  r  rp   tol_overrider5  rm   s
             r8   r  r    s    k57vDllnG' ]]./D $7w7 0 $

%Cc/ E?L>>	(	 ~	*	~5'*++IJJCII|4 uw{{3d"D88E>JJ&&rvvc{BFF3K 7)57 JJ&&s@<@ 	

		3995


		<857";;s#### 7 0/s   H33
Ic           
         UR                  5       nU(       a  U R                  S5      (       a  UR                  S5        U R                  S5      (       d  U R                  S5      (       a  UR                  S5        U R                  S5      (       d  U R                  S5      (       a  UR                  S5        OU R                  S	5      (       a  UR                  S5        U R                  S5      (       d  U R                  S5      (       a  UR                  S5        U R                  S5      (       d  U R                  S5      (       a  UR                  S5        U R                  U5      U R                  U5      -
  n[        R
                  R                  UR                  U5        U[        5       :X  a  [        R                  " U5      (       d   eU GH  n[        U [        5      (       aa  S
n[        R                  " [        US9   U(       a$  [        R                  " U R!                  X#US95      OU R                  X#US9n	S S S 5        Mz  U(       a$  [        R                  " U R!                  X#US95      OU R                  X#US9n	[        R
                  R#                  XSS9  U(       a8  [        R
                  R                  U	R$                  US-   R$                  5        O4[        R
                  R                  U	R$                  UR$                  5        [        R
                  R                  U	R                  U5        U[        5       :X  d  GM  [        R                  " U	5      (       a  GM   e   g ! , (       d  f       GN;= f)N_logcdf2_formular3  _logcdf_formula_logccdf_formularK  _cdf_formula_ccdf_formular   _cdf2_formulaUTwo argument cdf functions are currently only supported for continuous distributions.r.   r4  +=r                  )r  r}  r  r	  rG   r  r   r  r   r  r  r    r0   r1   r  r  r  r   r  
r   r   r;   r   rf   r  rp   r5  r7   rm   s
             r8   r  r    sw    llnG
??-..KK	"??,--AS1T1TKK&OON++???33KK	"???++KK	"??>**dooo.N.NKK&OO-..??#566KK	"
((1+
#CJJCII|4uw{{3d0113G2'BCFrvvdkk!vk>? HHQ&H9  C ;>rvvdkk!vk67HHQ&H1 	


""3%"8JJ##CIIb/?/?@JJ##CIIsyy9


		<857";;s#####  CBs   	<M99
N	c           
      j   UR                  5       nU R                  SU(       a  SOS S35      (       a  UR                  S5        U R                  U5      U R	                  U5      -   n[
        R                  R                  UR                  U5        U[        5       :X  a  [
        R                  " U5      (       d   eU GH_  nSn[        U [        5      (       a_  [        R                  " [        US9   U(       a$  [
        R                   " U R#                  X#US95      OU R	                  X#US9n	S S S 5        Mz  U(       a$  [
        R                   " U R#                  X#US95      OU R	                  X#US9n	[
        R                  R%                  XS	S
9  [
        R                  R                  U	R&                  UR&                  5        [
        R                  R                  U	R                  U5        U[        5       :X  d  GMB  [
        R                  " U	5      (       a  GM`   e   g ! , (       d  f       N= f)Nrz  r    ccdf2_formular3  r  r.   r4  r  r  )r  r}  r  r	  r  rG   r  r   r  r   r  r  r    r0   r1   r  r  r
  r   r  r  s
             r8   r  r    s    llnGC5R0>??I
((1+		!
$CJJCII|4uw{{3/d0112'BDGrvvdll1l?@ IIa6I:  C <?rvvdll1l78IIa6I2 	


""3%"8


		3995


		<857";;s####  CBs   3<H$$
H2	c                 f	   [        U 5      nUS;   a  [        SSS9nO.US;   a  [        [        * S4SS9nOU R                  R                  n[        XU5      n[        R                  " U/UQ76 tpFUu  pxpXt-  n[        X4)    [        R                  5        [        X:   [        R                  5        U R                  5       u  p[        R                  " XR                  5      n[        R                  " XR                  5      nU	S:H  U-  nU	S:H  U-  nUS:H  U-  nUS:H  U-  n[        U [        5      nUS	;   a  [        X>   [        R                  * 5        [        X?   [        R                  * 5        U(       d  [        R                  * O[        R                  n[        UUU) -     U5        [        UUU) -     U5        GOUS
;   a]  [        X>   S5        [        X?   S5        U(       d  SO[        R                  n[        UUU) -     U5        [        UUU) -     U5        GO&US;   aM  U(       dF  [        X>   [        * 5        [        X?   S5        [        UU   [        * 5        [        UU   S5        GOUS;   aC  U(       d<  [        X>   S5        [        X?   S5        [        UU   S5        [        UU   S5        GOUS;   aM  U(       dF  [        X>   S5        [        X?   [        * 5        [        UU   S5        [        UU   [        * 5        GO7US;   aB  U(       d;  [        X>   S5        [        X?   S5        [        UU   S5        [        UU   S5        OUS;   ar  U(       dk  [        X9S:H     [        R                  5        [        X9S:H     [        R                  5        [        X8S:H     XS:H     5        [        X8S:H     XS:H     5        OwUS;   aq  U(       dj  [        X9S:H     [        R                  5        [        X9S:H     [        R                  5        [        X8S:H     XS:H     5        [        X8S:H     XS:H     5        1 Skn[        U [        5      (       a  UR                  SS15        UU;  a4  [        R                   " X;US:H  -     5      R#                  5       (       d   eg g )N>   r   r  rt   r   rE   >   ilogcdfr  r   rW  rU   >   r  >   r  >   r  >   r	  >   r
  >   r  >   r   r  >   r  r  >   r   r  r  r  r  r  r  )r  r   r   r   r6   classify_argrG   broadcast_arraysr   r  r  r  r  r  r    updater  rg  )r   r  r  rm   r  
arg_domainclassified_args	valid_argendpoint_argoutside_argnan_arg	all_validr*   r+   outside_arg_minusoutside_arg_plusendpoint_arg_minusendpoint_arg_plusis_discreterp   excludes                        r8   r  r  >  sK   +D1!!"V|L
	)	)"sdAY,O
^^**
"4j9O)+)<)<=M *O>M*O&4C1I[,I &'0rvv&<<>DA
99%A
99%A$*.>>#q(,<<&",0@@%*.>>T#78K 
S+bffW5S*RVVG4(rvvgbffS+yj893?S*iZ78#>	'	S+Q/S*A."aS+yj893?S*iZ78#>	*	[S+cT2S*A.S+,sd3S*+Q/	'	+S+Q/S*A.S+,a0S*+Q/	+	kS+Q/S*SD1S+,a0S*+cT2	(	;S+Q/S*A.S+,a0S*+Q/	%	%kS*+RVV4S)*BFF3S+,a0B.CDS*+Qq/@-AB	'	'S*+RVV4S)*BFF3S+,a0B.CDS*+Qq/@-ABGG$,--x()G{{3LA,=>?@DDFFFF rL   c                   ^ ^ SmSUU 4S jjnU 4S jnT R                  5         [        S5       H  nU" USSSS	9  T R                  USS
S9n[        T SS U5        UR                  U:X  d   eU" USSUSS	9  U" USSXS" US5      S	9  U" USSXTS:H  S	9  T R
                  [        R                  :X  d  M  U" USSUSS	9  M     T R                  5         T R                  SS5        T R                  SS5        [        SS5       HR  nT R                  USS
S9nU" USSUU" US5      =(       d	    U" US5      S	9  T R                  US5        U" USSU5        MT     T R                  5         [        S5       H  nU" USSSS	9  T R                  USS
S9nUR                  U:X  d   eU" USSUSS	9  U" USSXS" US5      S	9  U" USSXTS:*  S	9  T R
                  [        R                  :X  a
  U" USSUSS	9  T R
                  [        R                  :X  a  US:X  d  U" USSUU" US5      =(       d    US:*  S	9  U" US5      (       a  M  T R                  US5        U" USSU5        M     T R                  5       nT R                  5         T R                  SS5        T R                  SS5        T R                  SS5        [        SS5       H  nT R                  USS
S9nU" USSUU" US5      =(       a    [        R                  " US:H  5      (       + S	9  T R                  US5        U" USSU[        R                  " US:H  5      (       + S	9  M     T R                  SSS
S9nT R                  5         [        S5       H_  nU" USSSS	9  T R                  USS
S9XtS-  -  -  nUR                  U:X  d   eU" USSUU" US5      S	9  U" USSXTS:*  S	9  U" USSU5        Ma     T R                  5         g )Ng&.>Tc                   > U(       a=  TR                  XUS9n[        XSTSU -  -  S9  UR                  UR                  :X  d   eg [        R                  " [
        5         TR                  XUS9  S S S 5        g ! , (       d  f       g = f)Nr4  r<   r  )momentr   r  r0   r1   r  )orderkindr5  rp   successrm   r  r   s         r8   check!check_moment_funcs.<locals>.check  si    ++e&+9CC4E	>:99		)))23E7 433s    A::
Bc           	         > SU S3nTR                  U5      nU(       d  g[        TU5      n[        US[        [        S5      5      5      nX;   $ )N_moment_r{  Forders   )r}  r;  setrange)r  r  formula_name	overridesr3  r  r   s         r8   has_formula'check_moment_funcs.<locals>.has_formula  sO    !$x0OOL1	$-(CaM:rL   r  rawr  Fr  r   r4  r  r3  generalr   quadrature_icdfcentralrU   r>   	transformstandardizedr   r?   	normalize)NNT)reset_cacher  r  r  r  r\  r   r!   r#   r  rG   r  )	r   rf   r  r  r   rp   r  varr  s	   `       @r8   r   r     s    D8 8 	 1Xa/kk!U<k8T8T37yyL(((awT2a	3Au0EFa	3a9>>U\\)!U-sDA  	 	KK9KK91a[kk!U<k8aS!!Y/Q;q.3Q	SAy!aS)  	 1XaGU3kk!Y|k<yyL(((aGS$7aIsK94MNaIsF;>>U\\)!Y 13E%--/AF !YS%a/;AF=1e$$KK5!!YS1# & }}H 	KK>"KK>"KK>"1a[kk!Y|k<aK!!^4RRVVHPQM=R9R	TA~&aK"&&Q:O6OP  ++a<+
8C1Xa%8kk!Y|k<s1u~MyyL(((aC!!^4	6aCa@ac2  	rL   c           
        ^ ^ [        T [        5      (       d6  Sn[        R                  " [        US9   T R                  S5        S S S 5        g SmSUU 4S jjnSn[        SS5       H  nU" XTS	US
9  T R                  XTSS9n[        T SS U5        UR                  U:X  d   eU" XTS	USS
9  U" XTSUT R                  S5      =(       a%    US:  =(       d    T R                  R                  S:H  S
9  U" XTSXeS:H  S
9  T R                  S5      (       d  M  U" XTSUSS
9  M     Sn[        SS5       H  nT R                  XTSS9nUR                  U:X  d   eU" XTSUT R                  S5      =(       a%    US:  =(       d    T R                  R                  S:H  S
9  U" XTSUSS
9  T R                  S5      (       d  M  U" XTSUSS
9  M     g ! , (       d  f       g = f)Nz8L-moments are currently available only for continuous...r.   rU   g&.!>FTc                 
  > U(       a7  TR                  XUS9n[        XSTS9  UR                  UR                  :X  d   eg [        R                  " [
        5         TR                  XUS9  S S S 5        g ! , (       d  f       g = f)Nstandardizer5  r  )lmomentr   r  r0   r1   r  )r  r  r5  rp   r  rm   r  r   s         r8   r  "check_lmoment_funcs.<locals>.check
  sa    ,,uf,MCC4099		)))23UFK 433s   A44
Br  r  r  order_statisticsr  r  r3  _lmoment_formular   r#   r  _icdf_formular  r?   )FNNT)r  r   r0   r1   r  r  r  r  r  r}  r\  r   )r   rf   r7   r  r  r   rp   r  s   `      @r8   r   r     s    d233L]].g>LLO ?DL L K1a[ag{;ll1>PlQT9dC8yyL(((agsD9aioo&89 Jq5HDNN$;$;y$H	K 	aiAv????++!"3S$G  K1a[ll1>PlQyyL(((aioo&89 Jq5HDNN$;$;y$H	K 	aie<???++!"3S$G A ?>s   G
Gr   r   )r>   r?   
dist_shape)r@   rU   r  r   rng_typec                 &   [         R                  R                  S5      nU R                  5       nU(       a  US:X  a  [        R
                  " S5        U R                  X5      nSnU4U-   n	X-   n
US:X  a  UR                  nU[         R                  R                  :w  a  U" SUS9nW" XS9nUR                  U
:X  d   e[        X|SS	9n[        UR                  S   US
S9nSnUR                  n[         R                  " X:  5      nUUU-  :  d   eg )Nl   MLy r   z3Distribution can't have a shape without parameters.i   r   rU   r   r   )axisF)r	  g{Gz?)rG   r   r   r   r0   r  r   r   	Generatorr  r   r   rB   sum)r   r  r   r  r  r   num_parametersr   nsample_sizesample_array_shaper  r;   	statisticpvaluep_thresholdnum_pvaluesnum_small_pvaluess                     r8   test_sample_against_cdfr  /  s    ))


0C++-Nn)IJ<<
(DA$.K$1299&&&%k+A77(((( $D!4IQWWQZ6FK++Kv34{[8888rL   c           	      ,   U R                   n0 nU R                   H  nUR                  UR                  5        M      [        R
                  " U R                  [        S9nUR                  5        H  u  pVXR;  a  M  X%   nUR                  R                  US9u  pUR                  R                  u  pU
(       a  X:*  OX:  nX(       a  Xi:*  OXi:  -  n[        XR                  R                  XaS95        XL-  nM     [        U) U R                  5        U$ )Nr  r   )r   _parameterizationsr  
parametersrG   onesr  boolitemsr6   r3   rF   r   rI   _invalid)r   r   r  parameterizationr  namevalue	parameterr*   r+   
a_included
b_includedvalids                r8   r  r  R  s    ''J 33*556 4 40I'--/!$	
 77- 8 /!*!1!1!;!;
 *	%*:U,,55 6 6 	7 		# 0* )T]]+rL   c                    Uc  [         R                  " U R                  [        S9n[         R                  " U R                  [        S9n[         R                  " U R                  [        S9n[         R                  " U R                  [        S9nX4XV4$ UR                  U R                  S9u  px[         R                  " XxU5      u  pxnUR                  u  pU	(       a  Xq:*  OXq:  nX(       a  X:*  OX:  -  n[         R                  " UR                  [        S9nSXU:H  '   SXU:H  '   [         R                  " UR                  [        S9nSX(       a  X:  OX:*  '   SX(       a  X:  OX:*  '   [         R                  " U5      nXX4$ )Nr  r  rW  rU   )rG   r  r  r  zerosr3   r   r  rF   r  intisnan)r   r  r  
valid_argsendpoint_argsoutside_argsnan_argsr*   r+   r  r  insideonoutsider  s                  r8   r  r  y  sA   
{WWT[[5
D9xx4888DKKt4,@@--)) . +DA ##A#.IA#'11J%ah17F
JsxCG3F	!''	%BBCxLBCxLhhqwwc*G57GSW256GQW2
((3-Cw##rL   c                      " S S[         5      n Sn[        R                  " [        US9   U " SS9  S S S 5        Sn[        R                  " [        US9   U " [        R
                  " / 5      S9  S S S 5        [        R                  " [        US9   U " / S	QS9  S S S 5        [        R                  " [        US9   U " [        R                  S9  S S S 5        [        R                  " [        US9   U " S
S9  S S S 5        Sn[        R                  " [        US9   U " 5       R                  S
5        S S S 5        [        R                  " [        US9   U " 5       R                  [        R                  5        S S S 5        Sn[        R                  " [        US9   U " 5       R                  S5        S S S 5        Sn[        R                  " [        US9   U " 5       R                  SSS9  S S S 5         " S S[         5      nSn[        R                  " [        US9   U" SS9  S S S 5        Sn[        R                  " [        US9   U" 5         S S S 5        Sn[        R                  " [        US9   U" SS// S	QS9  S S S 5        Sn[        R                  " [        US9   U" / S	Q/ S	QS9nUR                  SS/5        S S S 5        Sn[        R                  " [        US9   U" S[        5       /SS/S9  S S S 5        Sn[        R                  " [        US9   U" / S	Q/ S	QS9nUR                  SS9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNm= f! , (       d  f       GN9= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN]= f! , (       d  f       GN8= f! , (       d  f       g = f)Nc                   ,    \ rS rSr\" S\" 5       S9rSrg)#test_input_validation.<locals>.Testi  r;   r[   ry   N)r   r   r   r   r   r   r   r   ry   rL   r8   Testr    s    "3}?	rL   r  z`The `Test` distribution family does not accept parameters, but parameters `{'a'}` were provided.r.   rU   r*   zAAttribute `tol` of `Test` must be a positive float, if specified.r:  ra  rW  zVArgument `order` of `Test.moment` must be a finite integer greater than or equal to 0.zWArgument `order` of `Test.lmoment` must be a finite integer greater than or equal to 1.r   z2Argument `kind` of `Test.moment` must be one of...r>   coconutr  c                   p    \ rS rSr\" S\" 5       S9r\" S\" 5       S9r\" \\5      /r	\" S\" 5       S9r
Srg)$test_input_validation.<locals>.Test2i  cr[   rl   r;   ry   N)r   r   r   r   r   r   _p1_p2r   r  r   r   ry   rL   r8   Test2r    s<    S9S9/S9:"3}?	rL   r  zkThe provided parameters `{a}` do not match a supported parameterization of the `Test2` distribution family.zLThe `Test2` distribution family requires parameters, but none were provided.zjThe parameters `{c, d}` provided to the `Test2` distribution family cannot be broadcast to the same shape.)r  rl   zmThe argument provided to `Test2.pdf` cannot be be broadcast to the same shape as the distribution parameters.z$Parameter `c` must be of real dtype.z<Parameter `convention` of `Test2.kurtosis` must be one of...
convention)r   r0   r1   
ValueErrorrG   r}   r  r  r   r  r  r2   objectr  )r  r7   r  r   s       r8   test_input_validationr"    s   @% @7G	z	1q 
2 RG	z	1B  
2	z	1 
2	z	1 
2	z	1 
2<G	z	1b 
2	z	1bff 
2<G	z	1q 
2 CG	z	1ai( 
2@& @FG	z	1
 
2 G	z	1 
2LG	z	1A)$ 
2?G	z	1yI.!Q 
2 5G	y	0FH!Q( 
1 MG	z	1yI.+ 
2	1{ 
2	1 
2	1	1	1	1	1	1	1
 
2	1	1	1
 
2	1 
2	1 
2	1
 
2	1
 
2	1
 
2	1
 
1	0 
2	1s   L>M	M";M41NN%N*N<OO O22P!P#P(P:>
M
M"
M14
N
N
N'*
N9<
O
O 
O/2
P
P
P%(
P7:
Qc                  J   [        SS/SS9n [        S0 U D6n[        U5      n[        R                  " [        R
                  " U5      5      nUR                  5       UR                  5       UR                  5       pen[        R                  " XT:g  5      (       d   e[        R                  " Xd:g  5      (       d   eUR                  SS9UR                  SS9UR                  SS9pen[        R                  " XT:H  5      (       d   e[        R                  " Xd:H  5      (       d   eg )NrW  r>   r<   r)   r|  r   ry   )	r4   r#   r   pickleloadsdumpsr   rG   rg  )kwargsdist1dist2dist3rh  ri  res3s          r8   test_rng_deepcopy_pickler,    s    RGr"FfEUOELLe,-E||~u||~u||~D66$,66$,|||+U\\b\-A5<<TV<CWD66$,66$,rL   c                   ,    \ rS rSrS rS rS rS rSrg)TestAttributesi  c                 (   [        SS9nSn[        R                  " [        US9   UR	                  SS9  S S S 5        UR	                  5       n[        R                  " [        US9   UR	                  SS9  S S S 5        S Ul        [        R                  " [        US9   UR	                  SS9  S S S 5        UR	                  5       nUR	                  SS9n[        XC5        [        R                  " U5      n[        UR	                  SS9U5        UR                  5         [        UR	                  SS9U5        UR	                  SS9nUR	                  SS9n[        XF5        [        R                  " X6:H  5      (       a   eSUl        UR	                  SS9nUR	                  SS9n[        XF5        [        R                  " X6:H  5      (       a   eUR                  5         [        R                  " [        US9   UR	                  SS9  S S S 5        S	n[        R                  " [        US9   S
Ul        S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       Np= f! , (       d  f       g = f)Nno_cache)cache_policyzD`StandardNormal` does not provide an accurate implementation of the r.   r  r4  r   r3  z/Attribute `cache_policy` of `StandardNormal`...r   )r   r0   r1   r  r   r1  r   r   r  r  rG   rg  r   )r5   r   r7   r   cached_meanr)  quadrature_means          r8   test_cache_policy TestAttributes.test_cache_policy  s   :6X]].g>IIWI% ?yy{]].g>IIWI% ? !]].g>IIWI% ?yy{iiwi/[' 		$TYYgY.<TYYgY.< ))<)8iiwi/[266$12222 'yy	y*iiwi/[266$12222]].g>IIWI% ? D]]:W5 )D 65O ?> ?>
 ?>6 ?> 65s;   H<&II 8I2+J<
I
I 
I/2
J 
Jc                 *   Sn[         R                  " 5       nSn[        R                  " [        US9   SUl        S S S 5        [        R                  " [        US9   SUl        S S S 5        [        R                  " [        US9   [        R                  Ul        S S S 5        [         R                  " SS9n[         R                  " SS9nUR                  U5      nUR                  US	S
9nUR                  US	S
9n[        XvUR
                  S9  [        XUR
                  S9  [        Xv-
  5      [        X-
  5      :  d   eSn	UR
                  UR
                  sUl        Ul        UR                  U	5      nUR                  U	SS
9nUR                  U	SS
9n[        XvUR
                  S9  [        XUR
                  S9  [        X-
  5      [        Xv-
  5      :  d   eg ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNo= f)N      @z+Attribute `tol` of `StandardNormal` must...r.         )r   r   r  r0  r   r4  r7  gGz?r  )r   r!   r0   r1   r   r:  rG   r  r	  r   absr   )
r5   r;   r'  r7   X1X2rp   rh  ri  r   s
             r8   test_tolTestAttributes.test_tol  s   LLN?]]:W5AE 6]]:W5AE 6]]:W5FFAE 6 \\d#\\e$eeAhvvav-vvav-//4:TZ000ffQiwwqw-wwqw-//4:TZ000/ 655555s#   GG1H
G.1
H 
Hc                 f   [        SSS9nUR                  S5      S:X  d   eSUl        UR                  [        R                  " S5      5      S:X  d   e[        R                  " S5      [        R                  " S5      p2[        X#SS	9nUR                  [        R                  " S5      5      S
:X  d   e " S S[         5      nU" X#SS	9nUR                  5       S:X  d   eUR                  SS
S9S:X  d   eSn[        R                  " [        US9   SUl        S S S 5        g ! , (       d  f       g = f)Nr   rU   r)   r>   skip_all       @r   r  )r*   r+   validation_policyrW  c                        \ rS rSrS rS rSrg)0TestAttributes.test_iv_policy.<locals>.MyUniformiG  c                     gN	incorrectry   )r5   r  r'  s      r8   rY  ATestAttributes.test_iv_policy.<locals>.MyUniform._entropy_formulaH      "rL   c                     grE  ry   )r5   r  rZ  s      r8   _moment_raw_formulaDTestAttributes.test_iv_policy.<locals>.MyUniform._moment_raw_formulaK  rH  rL   ry   N)r   r   r   r   rY  rJ  r   ry   rL   r8   	MyUniformrC  G  s    ##rL   rL  rF  r  )r  r  z/Attribute `validation_policy` of `MyUniform`...r.   r   )
r#   r  rA  rG   r}   r   r  r0   r1   r   )r5   r'  r*   r+   rL  r7   s         r8   test_iv_policyTestAttributes.test_iv_policy:  s   a1uuQx1}}(uuRZZ^$))) zz"~rzz"~1a
;uuRZZ^$***	# 	# *=yy{k))) xxU"x-<<< D]]:W5"+A 655s   D""
D0c                    [         R                  " SSS9n[         R                  " S/SS9nUR                  S:X  d   eUR                  S:X  d   eUR                  S   S:X  d   eUR                  S   S:X  d   e[        R
                  " [        5         SUl        S S S 5        SUR                  S'   UR                  S   S:X  d   eg ! , (       d  f       N3= f)NrU   r>   r-  r?   r   r<   )r   r!   r.  r/  r0   r1   AttributeError)r5   r'  Ys      r8   test_shapesTestAttributes.test_shapesY  s    LLAQ'LLQCq) ttqyyww!||ttAw!||wwqzQ ]]>*AD + QttAw!|| +*s   C		
Cry   N)	r   r   r   r   r4  r<  rM  rR  r   ry   rL   r8   r.  r.    s    ,*\1<,>rL   r.  c                   ,   \ rS rSr\R
                  R                  S\" \" \	\
-   5      5      5      S 5       rS r\R
                  R                  \R
                  R                  S5      \R
                  R                  SSSS	\R                   " / S
Q5      /5      S 5       5       5       r\R
                  R                  \R
                  R                  SS\R                   " / SQ5      /5      \R
                  R                  SS\R                   " / SQ5      /5      S 5       5       5       rS rS r\R
                  R                  \" SS9\" \R0                  " 5       S9S 5       5       5       r\R
                  R                  SSS/5      S 5       rSrg)TestMakeDistributionim  zi, distdatac           
      ^   US   n1 Skn[        [        R                  R                  SS5      5      (       d  X4;   a  [        R
                  " S5        US;   a  g SSS.nS	S
1n1 Skn1 Skn1 Skn	1 SkS1S1S.n
SS1n[        [        U5      nUR                  (       a1  [        [        UR                  R                  S5      US   5      5      O0 n[        R                  R                  S5      n[        R                  " U5      nUR!                  5        VVs0 s H  u  nnU[        R"                  " UU/5      _M!     nnnU" S*0 UD6nU" S*0 UD6nUR%                  SUS9nUR'                  U5      nUR                  US5      nSn[        R(                  " SSS9   UR                  S5      u  nnnn[+        UR-                  5       UR-                  5       5        X6;  a'  [+        UR/                  5       UR/                  5       US9  [1        U[        R2                  5      (       a;  [+        [        R4                  " UR7                  5       5      UR/                  5       US9  [+        UR9                  5       UR9                  5       US9  [+        UR;                  5       UUUS9  [+        UR=                  5       UUUS9  X7;  a  [+        UR?                  5       UUUS9  X8;  a  [+        URA                  S S!9UUUS9  [1        U[        RB                  5      (       aS  [+        URE                  U5      URE                  U5      US9  [+        URG                  U5      URG                  U5      US9  OR[+        URI                  U5      URI                  U5      US9  [+        URK                  U5      URK                  U5      US9  [+        URM                  U5      URM                  U5      US9  [+        UR'                  U5      UR'                  U5      US9  X9;  a)  [+        URO                  U5      URQ                  U5      US9  [+        URS                  U5      URU                  U5      US9  UR-                  5       u  nn[        RV                  " UU5      u  nnURY                  U5      nUUS:H     UUS:H  '   UR[                  U5      nUUS:H     UUS:H  '   [+        UR]                  U5      UUS9  [+        UR_                  U5      UUS9  [a        S"5       HC  n X:R                  U 0 5      ;  d  M  [+        URc                  U S#S$9URc                  U 5      UUS9  ME     [a        S%S&5       H9  n X;;  d  M
  [+        URc                  U S'S$9UR                  SU S-
     5      UUS9  M;     [1        U[        RB                  5      (       aP  S(n![+        UR%                  SU!S9URe                  URf                  [        R                  R                  U!5      S)9US9  S S S 5        g s  snnf ! , (       d  f       g = f)+Nr   >   argusksonekstwokappa4exponpowgenexpongompertz	exponweib	johnsonsb	kstwobign	powernormnorminvgausspowerlognormrecipinvgaussvonmises_linestudentized_rangeSCIPY_XSLOW0zSkipping as XSLOW>   vonmises	hypergeomlevy_stablepoisson_binomnchypergeom_fishernchypergeom_walleniusgh㈵>)rX  rY  r`  pearson3>   rX  r[  rn  >   chirX  rY  r[  invgammar_  rn  >   triangarcsinedlaplace	trapezoid
skewcauchy>   levyr   levy_l
foldcauchy
halfcauchyparetorq  r=   r[  rX  r   rU      s4XF r<   r  r   gHz>r0  r   r   mvskr7  )r8  r  excessr  r   r  r  r?   r@   r  l   1XS+- )rB   random_statery   )4r  osenvironr   r0   r  r;  r   rP   r4   zipsplitrG   r   r   make_distributionr  r}   r   r	  r   r   r  r   r  rv_discreter  r   r   r   r  r  r  rv_continuousr  r  logpmfpmfr  r
  logsfr  sfr  ppfisfr   r  r  r  rvsr  )"r5   r   distdatadistnamer   custom_tolerancesskip_entropyskip_skewnessskip_kurtosisskip_logccdfskip_rawskip_standardizedr   rZ  r   CustomDistributionkeyvalr'  rQ  r;   r   r8  r  mvskr*   rz  ref_ppfref_isfr  r   s"                                     r8   test_rv_generic$TestMakeDistribution.test_rv_genericn  s   A;! 2::>>-5668;KKK+, 
 
  '+T:#Z0F2$N z"|% (1uh'DHKKc$++++D18A;?@UWii##$45"44T:>DllnMn(#s#rzz3*--nM((N6NHH23H'EE!H $$Xt4[[(;JAq!QAIIK5+		QYY[tD!U..//  q||~ 6		$OAHHJ
>AFFHad>AJJL!$TB,

adF,

h
 ?%)6$ 3 344QXXa[tDa!%%(>QXXa[tDa!%%(>AHHQK!4@AEE!HaeeAhT:+		!aggajtDAFF1IqttAwT: 99;DAq&&q!,DAqeeAhGQiGAFOeeAhGQiGAFOAFF1IwT:AGGAJd;q<<r#::#AHHUH$?$%HHUO$TK " q!4#AHHUH$H$%GGF57O$<4dT % $ 3 344 'rt < !17735993H3H3N !& !P%)+k <; N <;s    &XN
X*?X-B"X
X,c           
      ,   [         R                  R                  S5      n " S S5      n[        R                  " U" 5       5      nU" S[         R
                  S9n[        R                  " [        SSS95      n[        U5      S[         R
                   S3:X  d   e[        U5      S	[         R
                   S
3:X  d   eUR                  SUS9nUR                  U5      n[        UR                  5       UR                  5       5        [        UR                  5       UR                  5       5        [        UR                  5       UR                  5       5        [        UR!                  U5      UR!                  U5      5        [        UR#                  U5      UR#                  U5      5        [        UR%                  U5      UR%                  U5      5        [        UR                  U5      UR                  U5      5        [        UR'                  U5      UR'                  U5      5        [        UR)                  U5      UR)                  U5      5        [        UR+                  U5      UR+                  U5      5        [        UR-                  U5      UR-                  U5      5        S H;  n[/        S5       H)  n	[        UR1                  XS9UR1                  XS95        M+     M=     S HK  n
[/        SS5       H8  n	U
(       a  U	S:  a  M  [        UR3                  XS9UR3                  XS95        M:     MM     UR                  SSSS9nUR                  SSSS9n[        X5        [         R4                  " X:H  5      (       a   e[        UR7                  SS9UR7                  SS95        UR7                  SS9UR7                  SS9:X  a   e[        UR3                  SS9UR3                  SS95        UR3                  SS9UR3                  SS9:X  a   eg )Nr|  c                   h    \ rS rSr\S 5       r\S 5       r\S 5       rS rSS.S jr	SS	 jr
S
 rSrg)6TestMakeDistribution.test_custom.<locals>.MyLogUniformi  c                     gN1.16.0ry   r5   s    r8   __make_distribution_version__TTestMakeDistribution.test_custom.<locals>.MyLogUniform.__make_distribution_version__      rL   c                 X    S[         R                  4SS.S[         R                  4SS.S.$ )Nr   FFrE   r*   r)   rG   r   r  s    r8   r  ATestMakeDistribution.test_custom.<locals>.MyLogUniform.parameters  s.    ,-rvv;^T,/=~VX XrL   c                 
    SS0$ )Nr-   r)   ry   r  s    r8   r  >TestMakeDistribution.test_custom.<locals>.MyLogUniform.support  s    #Z00rL   c                 h    SU[         R                  " U5      [         R                  " U5      -
  -  -  $ )NrU   rG   r   )r5   r;   r*   r+   s       r8   r  :TestMakeDistribution.test_custom.<locals>.MyLogUniform.pdf  s'    ARVVAY!6788rL   Nr   c                    UR                  US9n[        R                  " [        R                  " U5      U[        R                  " U5      [        R                  " U5      -
  -  -   5      $ )NrA   )r   rG   r  r   )r5   r  r*   r+   r   r   s         r8   r   =TestMakeDistribution.test_custom.<locals>.MyLogUniform.sample  sH    KKUK+vvbffQi!rvvay266!9/D*EEFFrL   c                ^    US:X  a'  US:X  a   XC-
  [         R                  " XC-  5      -  S-   $ g g )NrU   r  g|=r  )r5   r  r  r*   r+   s        r8   r  =TestMakeDistribution.test_custom.<locals>.MyLogUniform.moment  s4    A:$%- ERVVAC[0588 #0:rL   c                v   [         R                  " X2-  5      nX2-
  U-  nUS-
  U-  US-   U-  -   US-  -  nUS-  SU-  -
  S-   U-  US-  SU-  -   S-   U-  -
  US-  -  nUS-  SUS-  -  -
  SU-  -   S-
  U-  US-  SUS-  -  -   SU-  -   S-   U-  -   US-  -  nXVXxS.n	U	R                  [        U5      S 5      $ )	Nr>   r     r?   r   x   r@   )rU   r>   r?   r@   )rG   r   r   r  )
r5   r  r*   r+   r  l1l2l3l4lss
             r8   r  >TestMakeDistribution.test_custom.<locals>.MyLogUniform.lmoment  s    FF13Keq[1ukQUaK/1a47!taczB!+q!taczB!.CCqAvM!tbAg~1,s2a7A1a4"Q$.49:=>!VDr1vvc%j$//rL   ry   )r  )r   r   r   r   propertyr  r  r  r  r   r  r  r   ry   rL   r8   MyLogUniformr    sX        X X 1 19 26 G90rL   r  r   r)   r  zMyLogUniform(a=1.0, b=r   z-MyLogUniform(a=np.float64(1.0), b=np.float64(z))r<   r}  r  r  r  r   r  rD   rU   r?   r  r   r3  )r  r   r5  ry  r4  r   r  )rG   r   r   r   r  er  r#   r   reprr   r	  r   r  r   r   r  r  r  r
  r  r   r  r  r  r  rg  r   )r5   r   r  
LogUniformr'  rQ  r;   r   r  r  r  sample_formulasample_inverses                r8   test_custom TestMakeDistribution.test_custom  s.   ii##$45#	0 #	0J ,,\^<
rtt$IIgb)*1v1"$$q9999AwI"$$rRRRRHH23H'EE!H		QYY[1		QYY[1
AHHJ/QXXa[1a!%%(+QXXa[1a!%%(+		!aiil3q	166!9-q	166!9-
AGGAJ/6Dq : ! :< " 7 )Kq!519		%	 I !		%	 IK % ) )D:MN766.:;;;;i0!&&&2MN666+qvv\v/JJJJ			3		):	;	=99I9.!))CT)2UUUUUrL   zignore::RuntimeWarningr  rW  r   rU   )g r8  r  r   g @c                    [         R                  R                  S5      n " S S5      n[        R                  " U" 5       5      n[        R                  " [        R
                  5      nU" USSS9nU" US9nUR                  SUS	9nUR                  U5      n	[        UR                  5       UR                  5       5        [        UR                  5       UR                  5       S
S9  [        UR                  5       UR                  5       5        [        UR                  U5      UR                  U5      5        [        UR                  U5      UR                  U5      5        [        UR                  U5      UR                  U5      5        [        UR                  U5      UR                  U5      5        [        UR                  U5      UR                  U5      5        [        UR!                  U5      UR!                  U5      5        [        UR#                  U	5      UR#                  U	5      5        [        UR%                  U	5      UR%                  U	5      5        g )Nr|  c                   P    \ rS rSr\S 5       r\S 5       r\S 5       rS rS r	Sr
g)	GTestMakeDistribution.test_custom_variable_support.<locals>.MyGenExtremei5  c                     gr  ry   r  s    r8   r  eTestMakeDistribution.test_custom_variable_support.<locals>.MyGenExtreme.__make_distribution_version__6  r  rL   c                     [         R                  * [         R                  4SS.[         R                  * [         R                  4SS.S[         R                  4SS.S.$ )Nr  rE   r   r  r.  r/  r  r  s    r8   r  RTestMakeDistribution.test_custom_variable_support.<locals>.MyGenExtreme.parameters:  sL     *,'8~V*,&&"&&(9W,-rvv;^T rL   c                     S nS nX4SS.$ )Nc                     [         R                  " XU5      u  pn[         R                  " U 5      n[         R                  * X0S:  '   XS:     X S:     X S:     -  -   X0S:  '   US   $ Nr   ry   rG   r  
empty_liker   r  r.  r/  results       r8   left]TestMakeDistribution.test_custom_variable_support.<locals>.MyGenExtreme.support.<locals>.leftD  sh    #%#6#6qe#DLA5]]1-F&(ffWF6N$&1uI!eqQx0G$GFq5M!":%rL   c                     [         R                  " XU5      u  pn[         R                  " U 5      n[         R                  X0S:*  '   XS:     X S:     X S:     -  -   X0S:  '   US   $ r  r  r  s       r8   right^TestMakeDistribution.test_custom_variable_support.<locals>.MyGenExtreme.support.<locals>.rightK  sf    #%#6#6qe#DLA5]]1-F%'VVF6N$&1uI!eqQx0G$GFq5M!":%rL   r  rE   ry   )r5   r  r  s      r8   r  OTestMakeDistribution.test_custom_variable_support.<locals>.MyGenExtreme.supportB  s    && '+]PPrL   c                X   [         R                  " XX45      u  pp4[         R                  " U5      nUS:H  n[         R                  " X   X6   -
  * XF   -  5      XV'   SX&)    X)    X6)    -
  -  XF)    -  -
  SX&)    -  -  XV) '   SU-  USU-
  -  -  [         R                  " U* 5      -  nUS   $ Nr   rU   ry   rG   r  r  r  )r5   r;   r  r.  r/  tmaskr  s           r8   r  KTestMakeDistribution.test_custom_variable_support.<locals>.MyGenExtreme.pdfT  s    "$"5"5aB"FbMM!$Q&&17RX#5!6u{!BC51U8bi#78uEEahJ % 51q1u:-bffaRj8bz!rL   c                6   [         R                  " XX45      u  pp4[         R                  " U5      nUS:H  n[         R                  " X   X6   -
  * XF   -  5      XV'   SX&)    X)    X6)    -
  -  XF)    -  -
  SX&)    -  -  XV) '   [         R                  " U* 5      S   $ r  r  )r5   r;   r  r.  r/  r  r  s          r8   r	  KTestMakeDistribution.test_custom_variable_support.<locals>.MyGenExtreme.cdf_  s    "$"5"5aB"FbMM!$Q&&17RX#5!6u{!BC51U8bi#78uEEahJ % vvqbz"~%rL   ry   N)r   r   r   r   r  r  r  r  r  r	  r   ry   rL   r8   MyGenExtremer  5  sH          Q Q"	"&rL   r  r   rU   r  r  r<   r}  gh㈵>r7  )rG   r   r   r   r  
genextremer   r	  r   r  r   r   r  r  r  r
  r  r   r  )
r5   r  r   r  GenExtreme1GenExtreme2r:  r;  r;   r   s
             r8   test_custom_variable_support1TestMakeDistribution.test_custom_variable_support/  s    ii##$452	& 2	&h --ln=--e.>.>?1!,1IIBCI(FF1I

bjjl3

bjjl>		RYY[1		!biil3q	266!9-		!biil3q	266!9-

1rzz!}5
BGGAJ/
BGGAJ/RXXa[1rL   r*         ?)r  r   r@  g      @g       @r+   c                    [         R                  R                  S5      n " S S5      n[        R                  " [        R
                  5      n[        R                  " U" 5       5      nXU-   -  nX-   nU" XS9nU" XgS9n	U" XS9n
U
R                  SUS9nU
R                  U5      n[        UR                  5       U
R                  5       5        [        UR                  5       U
R                  5       5        [        UR                  U5      U
R                  U5      5        [        UR                  U5      U
R                  U5      5        [        UR                  U5      U
R                  U5      5        [        UR                  U5      U
R                  U5      5        [        UR                  U5      U
R                  U5      5        [        U	R                  5       U
R                  5       5        [        U	R                  5       U
R                  5       5        [        U	R                  U5      U
R                  U5      5        [        U	R                  U5      U
R                  U5      5        [        U	R                  U5      U
R                  U5      5        [        U	R                  U5      U
R                  U5      5        [        U	R                  U5      U
R                  U5      5        g )Nr|  c                   Z    \ rS rSr\S 5       r\S 5       rS
S jr\S 5       rS r	S r
S	rg)KTestMakeDistribution.test_custom_multiple_parameterizations.<locals>.MyBetai  c                     gr  ry   r  s    r8   r  iTestMakeDistribution.test_custom_multiple_parameterizations.<locals>.MyBeta.__make_distribution_version__  r  rL   c                 v    S[         R                  4S[         R                  4S.SS[         R                  4S.4$ )Nr   r)   rt   r.  nur  r  s    r8   r  VTestMakeDistribution.test_custom_multiple_parameterizations.<locals>.MyBeta.parameters  s6     bff+QK8!!RVV5 rL   Nc                 F    Ub  Ub  Uc  Uc	  X-   nX-  nOX4-  nXA-
  nXX4S.$ )N)r*   r+   r.  r  ry   )r5   r*   r+   r.  r  s        r8   process_parameters^TestMakeDistribution.test_custom_multiple_parameterizations.<locals>.MyBeta.process_parameters  s:    =Q]rzbjBBAAb;;rL   c                 
    SS0$ )Nr-   rt   ry   r  s    r8   r  STestMakeDistribution.test_custom_multiple_parameterizations.<locals>.MyBeta.support  s    #V,,rL   c                 B    [         R                  R                  XU5      $ N)r   _ufuncs	_beta_pdfr5   r;   r*   r+   r.  r  s         r8   r  OTestMakeDistribution.test_custom_multiple_parameterizations.<locals>.MyBeta.pdf  s    00q99rL   c                 0    [         R                  " X#U5      $ r  )r   betaincr  s         r8   r	  OTestMakeDistribution.test_custom_multiple_parameterizations.<locals>.MyBeta.cdf  s    qQ//rL   ry   )NNNN)r   r   r   r   r  r  r  r  r  r  r	  r   ry   rL   r8   MyBetar    sK         < - -:0rL   r
  r)   r  r<   r}  )rG   r   r   r   r  r   r   r	  r   r  r   r  r  r   r  )r5   r*   r+   r   r
  Betar.  r  r'  rQ  Zr;   r   s                r8   &test_custom_multiple_parameterizations;TestMakeDistribution.test_custom_multiple_parameterizations~  s    ii##$45	0 	0> &&uzz2((2a%[UQb 1NHH23H'EE!H		QYY[1
AHHJ/a!%%(+a!%%(+q	166!9-q	166!9-
AGGAJ/		QYY[1
AHHJ/a!%%(+a!%%(+q	166!9-q	166!9-
AGGAJ/rL   c                    Sn[         R                  " [        US9   [        R                  " [        R
                  5        S S S 5        Sn[         R                  " [        US9   [        R                  " [        R                  5        S S S 5        Sn[         R                  " [        US9   [        R                  " [        5       5        S S S 5        g ! , (       d  f       N= f! , (       d  f       Nb= f! , (       d  f       g = f)Nz`levy_stable` is not supported.r.   z`vonmises` is not supported.z&The argument must be an instance of...)	r0   r1   r  r   r  rk  ri  r   r!  r5   r7   s     r8   r"  *TestMakeDistribution.test_input_validation  s    3]].g>##E$5$56 ? 1]].g>##ENN3 ? ;]]:W5##FH- 65 ?> ?> 65s#   %C$%C%,C6
C"%
C36
Dc                    SSK Jn  UR                  5        H  n[        [        U5      (       a  M   e   [        R
                  " [        R                  5      n[        U" SS95      S:X  d   e[        U" SS95      S:X  d   eSUR                  ;   d   e[        R
                  " [        R                  5      n[        U" SS95      S	:X  d   e[        U" SS95      S
:X  d   eSUR                  ;   d   eg )Nr   )_distribution_namesr>   r  zGamma(a=2.0)zGamma(a=np.float64(2.0))Gamma)r   zHalfGeneralizedNormal(beta=2.0)z+HalfGeneralizedNormal(beta=np.float64(2.0))HalfGeneralizedNormal)(scipy.stats._distribution_infrastructurer  keyshasattrr   r  gammar   r  __doc__halfgennorm)r5   r  r   s      r8   test_repr_str_docs'TestMakeDistribution.test_repr_str_docs  s    P',,.D5$'''' / &&u{{34!9~///D1I"<<<<$,,&&&&&u'8'894Q< $EEEEDaL!%RRRR&$,,666rL   r   r   )rS   c                   ^^^ [         R                  R                  S5      n[        [         R                  " UR                  S5      5      5      m[        [         R                  " UR                  S5      S-  5      5      m[        [         R                  " UR                  S5      5      5      m " UUU4S jS5      n[        R                  " U" 5       5      nSn[        XAX%SS9nUu  pxpppTS   [         R                  " UR                  5      :  a'  [         R                  " UR                  5      TS   :  d   eTS   [         R                  " UR                  5      :  a'  [         R                  " UR                  5      TS   :  d   eTS   [         R                  " U5      :  a  [         R                  " U5      TS   :  d   eg )	Nl   94-'+ r>   c                      > \ rS rSrSr\R                  * \R                  4 YS.S\R                  4 Y S.S.r\R                  * \R                  4 YS.rS r	Sr
g)	=TestMakeDistribution.test_draw_distribution.<locals>.MyNormali  r  )r-   r   r   )ur  c                     S[         R                  " S[         R                  -  5      -  U-  [         R                  " X-
  U-  S-  * S-  5      -  $ NrU   r>   rG   sqrtrH   r  )r5   r;   r!  r  s       r8   r  ATestMakeDistribution.test_draw_distribution.<locals>.MyNormal.pdf  sA    2771RUU7++a/"&&AC7Q,q2IIIrL   ry   N)r   r   r   r   r  rG   r   r  r  r  r   )	s_typical	u_typical	x_typicals   r8   MyNormalr     sW    ,4)/1vvgrvv->9U./[YOQJ&(ffWbff$5)LGJrL   r*  )r   r  r  r  rU   r   r   )rG   r   r   r   sortstandard_normalr   r  r   minr!  maxr  )r5   rS   r   r*  r   r   r   r   r;   r   r   r   rf   r   r   r'  r(  r)  s                  @@@r8   test_draw_distribution+TestMakeDistribution.test_draw_distribution  sQ    ii##$78"''#"5"5a"89:	"''#**Q-/23	"''#"5"5a"89:		J 	J ((4'+F#UVWMPJt>|bffTVVn,)A,1NNN|bffTVVn,)A,1NNN|bffQi'BFF1I	!,DDD,DrL   r   Nry   c                    ^  " U4S jS5      n[         R                  " U" 5       5      nU" 5       nUR                  5       [        R                  * [        R                  4:X  d   eg )Nc                   h   > \ rS rSrSr Y c  0 O Y rS\R                  * \R                  40rS r	Sr
g)ATestMakeDistribution.test_no_parameters.<locals>.MyStandardNormali  r  Nr-   c                     S[         R                  " S[         R                  -  5      -  [         R                  " US-  * S-  5      -  $ r#  r$  r5   r;   s     r8   r  ETestMakeDistribution.test_no_parameters.<locals>.MyStandardNormal.pdf  s5    2771RUU7++bffadU1Wo==rL   ry   )r   r   r   r   r  r  rG   r   r  r  r   )r   s   r8   MyStandardNormalr3    s2    ,4) yaJ"bffWbff$56G>rL   r7  )r   r  r  rG   r   )r5   r   r7  r   r'  s    `   r8   test_no_parameters'TestMakeDistribution.test_no_parameters  sN    	> 	> 001A1CDyy{w////rL   )r   r   r   r   r0   r   r   r   	enumerater   r   r  r  r   filterwarningsrG   r}   r  r  r"  r  r
   r   r   rS   r/  r8  r   ry   rL   r8   rU  rU  m  s   [[]D8l;R1S,TUf+ Vf+PTVp [[[[ 89[[S2q!RZZ8P-Q"RSJ2 T : J2X [[[[S3

3L(M"NO[[S3

3L(M"NO<0 P P <0|.7 [[2

!"E #  E6 [[S4*-0 .0rL   rU  c                   T   \ rS rSrS rS r\R                  R                  S5      \	" \
R                  " 5       \
R                  " SS9S9S 5       5       r\R                  R                  S	5      \R                  R                  S
SS/5      S 5       5       r\R                  R                  S5      \R                  R                  S/ SQ5      \R                  R!                  S5      S 5       5       5       r\R                  R                  S	5      S 5       rS rS rS rS rS rSrg)TestTransformsi  c                     [         R                  " SSS9nSn[        R                  " [        US9   [         R
                  " U5        S S S 5        g ! , (       d  f       g = f)Nr<   r  )r  r   z@Transformations are currently only supported for continuous RVs.r.   )r   r$   r0   r1   r  r  )r5   r'  r7   s      r8    test_ContinuousDistribution_only/TestTransforms.test_ContinuousDistribution_only  s@    NNR3' U]].g>IIaL ?>>s   A
Ac                    [         R                  R                  S5      nUR                  S5      nUR                  S5      n[         R                  " X#5      [         R                  " X#5      p2[
        R                  " [        5       X#S9n[
        R                  " X#5      nUR                  SUS9nUR                  U5      n[        UR                  5       [         R                  " UR                  5       S-   5      5        [        UR                  5       UR                  5       5        [        UR                  5       UR!                  S5      5        [        UR#                  5       UR#                  5       5        [        UR%                  5       UR'                  5       5        [        UR)                  5       [         R*                  " UR'                  5       5      5        [        UR-                  5       UR                  S5      5        [        UR/                  5       UR                  S	5      S
-   5        [        UR1                  5       UR1                  5       5        [        UR3                  U5      UR3                  U5      5        [        UR                  U5      UR                  U5      5        [        UR5                  U5      UR7                  U5      5        [        UR9                  U5      UR!                  U5      5        [        UR;                  U5      UR=                  U5      5        [        UR?                  U5      UR?                  U5      5        [        URA                  U5      URA                  U5      5        [        URC                  U5      URE                  U5      5        [        URG                  [         R                  " U5      5      UR!                  U5      5        [        URI                  [         R                  " U5      5      UR=                  U5      5        URK                  S5      n[         RL                  " X:  X:  -  5      (       d   eg )N   b2,' ru   )lbubr?   r<   r  r  r  r  r  r?   r<   )'rG   r   r   minimummaximumr   truncater!   	truncnormr  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   rg  )	r5   r   rC  rD  rQ  Y0r   r   r   s	            r8   test_truncateTestTransforms.test_truncate  s   ii##N3ZZZZB#RZZ%7BNN682__R$FF7F-FF1Irzz|b/@(AB		RZZ\2
BFF3K0"''),

bffh/,,.0AB

bhhsm4

bhhsma&78		RZZ\2a"&&),a"&&),q	2558,q	266!9-
BFF1I.RYYq\2RYYq\2		!bhhqk2		"&&),bffQi8

266!9-rvvay9"vvv{v{34444rL   r<   r   r   r   c           
      z   [         R                  R                  U5      n " S S[        5      n[	        XAUSSS9nUu  pgpppUR
                  nUR                  n[        5       n[        R                  " XS9n[        XS9nX~-
  U-  nX-
  U-  nUR                  5       u  nnUR                  5       u  nn[        UUU-   5        [        UUU-   5        [         R                  " SSS	9   [        [         R                  " UR                  5       5      UR!                  5       5        [        UR!                  5       UR!                  5       5        [        UR#                  5       UR#                  5       U-   5        [        UR%                  5       UR%                  5       U-   5        [        UR'                  5       UR'                  5       U-   5        [        UR)                  5       UR)                  5       US
-  -  5        [        UR+                  5       UR)                  5       S-  5        [        UR-                  5       UR-                  5       [         R.                  " U5      -  5        [        UR1                  5       UR1                  5       5        [        UR3                  U5      UR3                  U5      [         R4                  " U5      -
  5        [        UR7                  U5      UR7                  U5      U-  5        [        UR9                  U5      UR9                  U5      5        [        UR;                  U5      UR;                  U5      5        [        UR=                  U5      UR=                  U5      5        [        UR?                  U5      UR?                  U5      5        [        UR9                  Xx5      UR9                  UU5      5        [        UR;                  Xx5      UR;                  UU5      5        [        UR=                  Xx5      UR=                  UU5      5        [        UR?                  Xx5      UR?                  UU5      5        [        URA                  U
5      URA                  U
5      U-  U-   5        [        URC                  U	5      URC                  U	5      U-  U-   5        [        URE                  U
5      URE                  U
5      U-  U-   5        [        URG                  U	5      URG                  U	5      U-  U-   5        [I        SS5       H  n[        URK                  US5      URK                  U5      5        [        URK                  US5      URK                  US5      UU-  -  5        [        URK                  US5      URK                  US5      [         R.                  " U5      U-  -  5        M     [I        SS5       H[  n[        URM                  U5      URM                  U5      SS9  US:  d  M4  [        URM                  USS9URM                  USS9SS9  M]     S S S 5        US
U-  -
  U-   nXoS
-  -  U-  n[         RN                  " URP                  5      nUR                  5       u  nnUR                  5       u  nn[        UUU-   5        [        UUU-   5        [         R                  " SSS	9   [        UR                  5       UR                  5       U-   5        [        UR!                  5       UR!                  5       U-   5        [        UR#                  5       UR#                  5       U-   5        [        UR%                  5       UR%                  5       U-   5        [        UR'                  5       UR'                  5       U-   5        [        UR)                  5       UR)                  5       U-   5        [        UR+                  5       UR+                  5       U-   5        [        UR-                  5       UR-                  5       U-   5        [        UR1                  5       UR1                  5       U-   5        [        UR3                  U5      UR3                  U5      U-   5        [        UR7                  U5      UR7                  U5      U-   5        [        UR9                  U5      UR9                  U5      U-   5        [        UR;                  U5      UR;                  U5      U-   5        [        UR=                  U5      UR=                  U5      U-   5        [        UR?                  U5      UR?                  U5      U-   5        [        URA                  U
5      URA                  U
5      U-   5        [        URC                  U	5      URC                  U	5      U-   5        [        URE                  U
5      URE                  U
5      U-   5        [        URG                  U	5      URG                  U	5      U-   5        [I        SS5       H  n[        URK                  US5      URK                  US5      5        [        URK                  US5      URK                  US5      5        [        URK                  US5      URK                  US5      5        M     [I        SS5       H]  n[        URM                  U5      URM                  U5      5        US:  d  M5  [        URM                  USS9URM                  USS95        M_     S S S 5        g ! , (       d  f       GN= f! , (       d  f       g = f)Nc                   (   ^  \ rS rSrU 4S jrSrU =r$ )8TestTransforms.test_loc_scale.<locals>.TransformedNormali>  c                 >   > [         TU ]  " [        5       /UQ70 UD6  g r  )rX  __init__r   )r5   r  r'  r\  s      r8   rR  ATestTransforms.test_loc_scale.<locals>.TransformedNormal.__init__?  s     !1CDCFCrL   ry   )r   r   r   r   rR  r   r^  r_  s   @r8   TransformedNormalrP  >  s    D DrL   rT  )rU   r   r   r   rU   )r   rO   )locscaler-  r   r   r>   r  r   r  r  r  g:0yE>r  r?   Tr  ))rG   r   r   r   r   rU  rV  r   r   normr!   r  r   r   r  r   r   r   r   r   r  r  r  signr  r  r   r  r  r	  r
  r  r  r   r  r  r  r  r  r  r  )r5   rS   r   r   rT  r   r   r;   r   r   r   rf   r   r   rU  rV  dist0dist_refdist_ref_lmomentx0y0r*   r+   a0b0r   zs                              r8   test_loc_scaleTestTransforms.test_loc_scale8  sA    ii##D)	D 9 	D ,SlQPMPJt>hh

 ::#3!S6gg||~1B28$28$[[(;BFF4??#45t||~FDLLNH,<,<,>?DKKM5<<>C+?@DIIK);<DIIK);<DMMOU^^-=q-HID335t}}7KLDMMOU^^-=-NODMMOU^^-=>DKKNELL,<rvve},LMDHHQK2)>?DKKNELL,<=DHHQK27DLLOU]]2->?DIIaL%**R.9DKK-u||B/CDDHHQNEIIb",=>DLL.b"0EFDIIaOUZZB-?@DLL.d0CE0IC0OPDIIaL%**Q-*=*CDDMM$/1Ee1Kc1QRDJJqM5;;q>%+?#+EF1a[Au 5xq7IJAy 9 %Q	 :UAX EGA~ > %Q ?"''%.RSBS SU	 ! 1a[Q1A1I1I!1LSWX6#DLLL$E$4$<$<QD$<$Q)-/ != <N qu#1H}u$HHT[[!||~1B26"26"[[(;DOO-u/?/?/AA/EFDLLNEMMOa,?@DKKM5<<>A+=>DIIK)9:DIIK)9:DMMOU^^-=-ABD335u7O7O7QTU7UVDMMOU^^-=-ABDMMOU^^-=-ABDKKNELLOA,=>DHHQK1)9:DKKNELLOa,?@DHHQK1)9:DLLOU]]1-=-ABDIIaL%**Q-!*;<DLL.d0Ca0GHDIIaL%**Q-!*;<DMM$/1E1IJDJJqM5;;q>A+=>1a[Au 5u||Au7MNAy 95<<9;UVA~ > %Q ?A !
 1a[Qq1AB6#DLLL$E$)MM!M$FH !3 <;a <;` <;s&   (Tl+lPl,%,l,
l),
l:r   exp_powr  powc           	         [         R                  R                  S5      nUR                  S5      nUR                  S5      n[        5       U-  U-   nUS:X  a  [        R
                  " U5      nO[         R                  U-  n[        R                  " U[         R
                  " U5      S9nUR                  SUS9nUR                  U5      n	[        UR                  5       [         R                  " UR                  5       5      5        [        UR                  5       UR                  5       5        [        UR                  5       UR                  S5      5        [        UR!                  5       UR!                  5       5        [        UR#                  5       UR%                  5       5        [        UR'                  5       [         R(                  " UR%                  5       5      5        [        UR+                  5       UR	                  S5      5        [        UR-                  5       UR	                  S	5      S
-   5        [        UR/                  5       UR/                  5       5        [        UR1                  U5      UR1                  U5      5        [        UR                  U5      UR                  U5      5        [        UR3                  U5      UR5                  U5      5        [        UR7                  U	5      UR                  U	5      5        [        UR9                  U	5      UR;                  U	5      5        [        UR=                  U5      UR=                  U5      5        [        UR?                  U5      UR?                  U5      5        [        URA                  U5      URC                  U5      5        [        URE                  [         R                  " U	5      5      UR                  U	5      5        [        URG                  [         R                  " U	5      5      UR;                  U	5      5        Sn
[        URI                  U
S9[         R
                  " URI                  U
S95      5        g )NrB  ru   r  )rV  rE  rF  r  r  r  r?      M [ r   )%rG   r   r   r!   r   r  r  lognormr  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   )r5   rc  r   r.  r/  r'  rQ  rK  r   r   r   s              r8   test_exp_powTestTransforms.test_exp_pow  s    ii##N3ZZ

6"HUNRe		!A	A]]5r
3FF7F-FF1Irzz|(<=		RZZ\2
BFF3K0"''),

bffh/,,.0AB

bhhsm4

bhhsma&78		RZZ\2a"&&),a"&&),q	2558,q	266!9-
BFF1I.RYYq\2RYYq\2		!bhhqk2		"&&),bffQi8

266!9-rvvay9T*BFF18883E,FGrL   rV  )rU   r>   rW  z/`scale=-1` fails on 32-bit; needs investigationc                    [         R                  R                  S5      nUR                  S5      n[         R                  " U5      [	        U5      p[
        R                  " [
        R                  5      nXA-  U" US9-  nUS:  a	  [        US9O	[        US9* nX-  nUR                  SUS9n	UR                  U	5      n
[         R                  " U
5      n[        UR                  5       [         R                  " UR                  5       5      5        [        UR                  5       UR                  5       5        [        UR                  5       UR                  5       5        [        UR!                  5       UR!                  5       5        [        UR#                  U	5      UR#                  U	5      5        [        UR                  U	5      UR                  U	5      5        [        UR%                  U	5      UR%                  U	5      5        [        UR'                  U
5      UR'                  U
5      5        [        UR)                  U
5      UR)                  U
5      5        [        UR+                  U	5      UR+                  U	5      5        [        UR-                  U	5      UR-                  U	5      5        [        UR/                  U	5      UR/                  U	5      5        [         R0                  " SSS9   [        UR3                  U5      UR3                  U5      5        [        UR5                  U5      UR5                  U5      5        S S S 5        S	n[        UR                  US
9XR                  US
9-  5        g ! , (       d  f       N9= f)NrB  ru   r  r   rE  r}  r   r   rf  r   )rG   r   r   rX  r9  r   r  rq  r   r   r	  r   r   r   r   r   r  r  r  r   r  r  r  r
  r   r  r  )r5   rV  r   r*   rX  InvGammarK  r'  rQ  r   r   r   r   s                r8   test_reciprocalTestTransforms.test_reciprocal  s[    ii##N3JJv
 ggenc%je **5>>:\HqM)  !8FQK&1+IIIGI-FF1Ivvayrzz|(<=		RZZ\2
BIIK0		RZZ\2a"&&),a"&&),q	2771:.q	2771:.
BHHQK0RYYq\2RYYq\2		!bjjm4[[(;AIIdORZZ-=>AJJt,bkk$.?@ < T*E8883E,FG	 <;s   -AM55
Nc           	         [         R                  R                  S5      nUR                  S5      n[        US9n[        R
                  " U5      n[        R                  " U5      nUR                  SUS9nUR                  U5      n[        UR                  5       [         R                  " UR                  5       5      5        [        UR                  5       UR                  5       5        [        UR                  5       UR                  S5      5        [        UR                  5       UR                  5       5        [        UR                  5       UR!                  5       5        [        UR#                  5       [         R$                  " UR!                  5       5      5        [        UR'                  5       UR	                  S5      5        [        UR)                  5       UR	                  S5      S	-   5        [        UR+                  5       UR+                  5       5        [        UR-                  U5      UR-                  U5      5        [        UR                  U5      UR                  U5      5        [        UR/                  U5      UR1                  U5      5        [        UR3                  U5      UR                  U5      5        [        UR5                  U5      UR7                  U5      5        [        UR9                  U5      UR9                  U5      5        [        UR;                  U5      UR;                  U5      5        [        UR=                  U5      UR?                  U5      5        [         R@                  " S
S9   [        URC                  [         R                  " U5      5      UR                  U5      5        [        URE                  [         R                  " U5      5      UR7                  U5      5        S S S 5        Sn[        URG                  US9[         R                  " URG                  US95      5        g ! , (       d  f       NK= f)NrB  ru   r  rE  rF  r  r  r  r?   r   )r   rf  r   )$rG   r   r   r   r   loggammar   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   )	r5   r   r*   r'  rK  rQ  r   r   r   s	            r8   test_logTestTransforms.test_log  s   ii##N3JJvQK^^AIIaLFF7F-FF1Irzz|(<=		RZZ\2
BFF3K0"''),

bffh/,,.0AB

bhhsm4

bhhsma&78		RZZ\2a"&&),a"&&),q	2558,q	266!9-
BFF1I.RYYq\2RYYq\2		!bhhqk2[[*AIIbffQi0"&&)<AJJrvvay1266!9= + T*BFF18883E,FG	 +*s   A=Q
Qc                    [        SSS9nSn[        [        R                  " U5      5      SU S3:X  d   e[        SU-  5      SU S3:X  d   e[        [        R                  " U5      5      SU S3:X  d   e[        S	SS9nS
n[
        R                  " [        US9   SU-    S S S 5        Sn[
        R                  " [        US9   [        R                  " U5        S S S 5        Sn[
        R                  " [        US9   SU-    S S S 5        [
        R                  " [        US9   SU-    S S S 5        [
        R                  " [        US9   SS/U-    S S S 5        Sn[
        R                  " [        US9   US-    S S S 5        [
        R                  " [        US9   US-    S S S 5        [
        R                  " [        US9   USS/-    S S S 5        g ! , (       d  f       GN<= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)NrU   r>   r)   zUniform(a=1.0, b=2.0)zlog(r   z1/(zexp(rW  z=Division by a random variable is only implemented when the...r.   zBThe logarithm of a random variable is only implemented when the...z@Raising an argument to the power of a random variable is only...r        ?z=Raising a random variable to the power of an argument is onlyr   )r#   r   r   r   r  r0   r1   r  )r5   r'  X_strr7   s       r8   test_monotonic_transforms(TestTransforms.test_monotonic_transforms  s    a1'599Q< d5'O3331q5zs5'^+++599Q< d5'O333bAQ]].g>E ?V]].g>IIaL ?T]].g>AI ?]].g>F ?]].g>#J!O ? R]].g>"I ?]].g>F ?]].g>#sO ?>% ?> ?> ?>>>>> ?>>>>>s`   GG)?G;&HH8H.H?I
G&)
G8;
H	
H
H+.
H<?
I
Ic                 H   [         R                  R                  S5      nSu  p#pEUR                  SSS5      n[	        X#S9nXW-  U-   n[        UR                  U5      UR                  Xd-
  U-  5      5        XGU-  -   n[        UR                  U5      UR                  Xd-
  U-  5      5        Xu-  U-
  n[        UR                  U5      UR                  Xd-   U-  5      5        U[	        X#S9U-  -
  n[        UR                  U5      UR                  U* U-   U-  5      5        g )Nl   lO[5 )g7A`?gq=
ףp?g=
ףp=?g(\?r?   d   r)   )rG   r   r   r   r   r   r	  r  )	r5   r   r*   r+   rU  rV  r;   rQ  r'  s	            r8   test_arithmetic_operators(TestTransforms.test_arithmetic_operatorsA  s    ii##$782cKKAs#!!GcMa!%%E(9":;E'Ma!%%E(9":;GcMa!%%E(9":;q&u,,a!&&1"s(E)9":;rL   c                 @   [         R                  R                  S5      nUR                  S5      n[        R                  " [        5       U-   5      n[        R                  " U5      nUR                  SUS9nUR                  U5      n[        UR                  5       [         R                  " UR                  5       S-   5      5        [        UR                  5       UR                  5       5        [        UR                  5       UR                  S5      5        [        UR                  5       UR                  5       5        [        UR!                  5       UR#                  5       5        [        UR%                  5       [         R&                  " UR#                  5       5      5        [        UR)                  5       UR                  S5      5        [        UR+                  5       UR                  S5      S	-   5        [        UR-                  5       UR-                  5       5        [        UR/                  U5      UR/                  U5      5        [        UR                  U5      UR                  U5      5        [        UR1                  U5      UR3                  U5      5        [        UR5                  U5      UR                  U5      5        [        UR7                  U5      UR9                  U5      5        [        UR;                  U5      UR;                  U5      5        [        UR=                  U5      UR=                  U5      5        [        UR?                  U5      URA                  U5      5        [        URC                  [         R                  " U5      5      UR                  U5      5        [        URE                  [         R                  " U5      5      UR9                  U5      5        URG                  S
5      n[         RH                  " US:  5      (       d   eg )NrB  ru   rE  rF  r  r  r  r  r?   r<   r   )%rG   r   r   r   r9  r!   foldnormr  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   rg  )r5   r   rU  rQ  rK  r   r   r   s           r8   test_absTestTransforms.test_absS  s   ii##N3jj IIfhn%^^C FF7F-FF1Irzz|b/@(AB		RZZ\2
BFF3K0"''),

bffh/,,.0AB

bhhsm4

bhhsma&78		RZZ\2a"&&),a"&&),q	2558,q	266!9-
BFF1I.RYYq\2RYYq\2		!bhhqk2		"&&),bffQi8

266!9-rvvay9"vvfqj!!!!rL   c                 h   [         R                  " [         R                  5      nU" SS9n[        U* 5      n[	        UR                  S5      UR                  S5      5        [	        UR                  S5      UR                  S5      5        [	        UR                  S5      UR                  S5      5        [	        UR                  S5      UR                  S5      5        [	        UR                  S5      UR                  S5      5        [	        UR                  S5      UR                  S5      5        g )Nr>   r  rU   )r   r  weibull_minr9  r   r  r  r  r	  r
  r  )r5   Weibullr'  rQ  s       r8   test_abs_finite_support&TestTransforms.test_abs_finite_supports  s     ))%*;*;<aLGQXXa[!((1+.QUU1XquuQx(QXXa[!((1+.QUU1XquuQx(QYYq\199Q<0QVVAYq	*rL   c                    [         R                  R                  S5      n[        5       S-  n[        R
                  " SS9nUR                  SUS9nUR                  U5      n[        UR                  5       [         R                  " UR                  5       S-   5      SS	9  [        UR                  5       UR                  5       SS	9  [        UR                  5       UR                  5       5        [        UR                  5       UR                  5       5        [        UR                  5       UR                  5       5        [        UR!                  5       [         R"                  " UR                  5       5      5        [        UR%                  5       UR	                  S
5      5        [        UR'                  5       UR	                  S5      S-   5        [        UR)                  5       UR)                  5       5        [        UR+                  U5      UR+                  U5      5        [        UR                  U5      UR                  U5      5        [        UR-                  U5      UR/                  U5      5        [        UR1                  U5      UR3                  U5      5        [        UR5                  U5      UR7                  U5      5        [        UR9                  U5      UR9                  U5      5        [        UR;                  U5      UR;                  U5      5        [        UR=                  U5      UR?                  U5      5        [        URA                  [         R                  " U5      5      UR3                  U5      5        [        URC                  [         R                  " U5      5      UR7                  U5      5        URE                  S5      n[         RF                  " US:  5      (       d   eg )NrB  r>   rU   )dfr<   rF  r  r  r7  r  r  r?   r   )$rG   r   r   r!   r   chi2r  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   rg  )r5   r   rQ  rK  r   r   r   s          r8   test_powTestTransforms.test_pow  sw   ii##N3HaKZZ1FF2CF(FF1Irzz|b/@(AM		RZZ\=
BIIK0"''),

bffh/,,.0AB

bhhsm4

bhhsma&78		RZZ\2a"&&),a"&&),q	2558,q	266!9-
BFF1I.RYYq\2RYYq\2		!bhhqk2		"&&),bffQi8

266!9-rvvay9"vvfqj!!!!rL   ry   N)r   r   r   r   r?  rL  r0   r   rv  r   r   rS   r   ra  r   rh  xfail_on_32bitrl  rp  rv  r{  r  r  r  r   ry   rL   r8   r=  r=    s3    5D [[2

!
(;(;a(HIgH J gH` [[1[[Y7#H 8 #HL [[2[[Wj1[[ QR&H S 2 &HP [[1H HB D<$"@+"rL   r=  c                   b    \ rS rSr\R
                  R                  S5      S 5       rS rS r	Sr
g)TestOrderStatistici  r   c                 
   [         R                  R                  S5      n[        SSS9nSn[         R                  " S/S/S//5      n[
        R                  " X#US9n[
        R                  " XCS-   U-
  5      nUR                  SUS	9nUR                  U5      n[        [         R                  " UR                  5       5      UR                  5       5        [        UR                  5       UR                  5       5        [        UR                  5       UR                  5       5        [        UR                  5       UR!                  5       5        [        UR#                  5       UR                  S
5      SS9  [        UR%                  5       UR                  S5      S-   SS9  [        UR'                  5       UR)                  S5      5        [        UR+                  5       UR+                  5       5        [        UR-                  U5      UR-                  U5      5        [        UR                  USS9UR                  USS95        [        UR/                  USS9UR/                  USS95        [        UR1                  USS9UR1                  USS95        [        UR3                  USS9UR3                  USS95        [        UR5                  U5      UR5                  U5      5        [        UR7                  U5      UR7                  U5      5        [        UR9                  U5      UR;                  U5      5        [         R<                  " SSS9   [        UR?                  [         R@                  " U5      5      UR)                  U5      5        [        URC                  [         R@                  " U5      5      URE                  U5      5        S S S 5        Sn	[F        RH                  " [J        U	S9   [
        R                  " X#SS9  S S S 5        [F        RH                  " [J        U	S9   [
        R                  " USUS9  S S S 5        [F        RH                  " [J        U	S9   [
        R                  " X#SS9  S S S 5        [F        RH                  " [J        U	S9   [
        R                  " USUS9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nz= f! , (       d  f       g = f)Nl   Cvu= r   rU   r)   r   r?   )r  rrE  rF  r  r  r  r  r  r3  r4  r   r  r   r   z0`r` and `n` must contain only positive integers.r.   rW  rt  )&rG   r   r   r#   r}   r   order_statisticr   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   r1   r   )
r5   r   r'  r  r  rQ  rK  r   r   r7   s
             r8   test_order_statistic'TestOrderStatistic.test_order_statistic  sf   ii##$45a1JJaS1#'!!!A.ZZq519%FF7F-FF1I 	q||~.

=		RZZ\2"''),

bffh/

bhhsm%@

bhhsma&7eD
BFF3K0		RZZ\2a"&&),a	2AEE!LE4QRq3QVVAlV5STq3QVVAkV5RS)4aggag6TURYYq\2RYYq\2		!bhhqk2[[(;AIIbffQi1266!9=AJJrvvay1266!9= < E]]:W5!!!B/ 6]]:W5!!!rQ/ 6]]:W5!!!C0 6]]:W5!!!sa0 65 <;
 65555555s=   A=R5/S&SS(S95
S
S
S%(
S69
Tc                     [         R                  " [         R                  5      nU" 5       nUS-  S-   n[         R                  " USSS9n[	        UR                  5       UR                  5       5        g )Nr   r>   r?   r  r  )r   r  r   r  r   r  )r5   r#   r'  rQ  r  s        r8   test_support_gh22037'TestOrderStatistic.test_support_gh22037  sV     ))%--8IaC!G!!!qA.		QYY[1rL   c                    [         R                  " [         R                  5      n[         R                  " [         R                  5      nSS/SpCSS/S//peS//S///nU" 5       n[         R                  " XU5      n	[         R
                  " XUS	9n
U" X4S
9n[         R
                  " XUS	9n[        R                  R                  U
R                  U5      UR                  U5      5        g )Nrs  rW  rU   r?   r@   r   g333333ӿr   r  r)   )
r   r  rW  rJ  rI  r  rG   r  r   r	  )r5   r!   TruncatedNormalr*   r+   r  r  r;   r:  Y1Z1r;  Z2s                r8   test_composition_gh22037+TestOrderStatistic.test_composition_gh22037  s    
 ((411%//BBx1A3*1fXwX^^B1%""2a0q&""2a0


""266!9bffQi8rL   ry   N)r   r   r   r   r0   r   rv  r  r  r  r   ry   rL   r8   r  r    s.    [[2(1 (1T29rL   r  c                       \ rS rSrS rS r\R                  R                  S\	R                  \	R                  4\	R                  \	R                  4/5      S 5       rS rS rS rS	 rS
rg)TestFullCoveragei  c                    [         R                  " [        5         [        R                  " S S5        S S S 5        [         R                  " [        5         [        R
                  " S S5        S S S 5        [         R                  " [        5         [        R                  " S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       NY= f! , (       d  f       g = fNr   )r0   r1   r  r   rI   r3   __str__r  s    r8   test_DomainTestFullCoverage.test_Domain  s~    ]]./T2& 0]]./++D"5 0]]./OOD! 0/	 0/////s#   B/C C/
B= 
C
Cc                     [         R                  " [        5         [        R                  " S S5        S S S 5        g ! , (       d  f       g = fr  )r0   r1   r  r   validater  s    r8   test_ParameterTestFullCoverage.test_Parameter  s+    ]]./b) 0//s	   <
A
)dtype_in	dtype_outc                     [        S5      n[        SUS9n[        R                  " SS/US9nUR	                  U0 S9u  pgn[        Xe5        Xr:X  d   e[        USS	/5        g )
N)rW  rU   r;   r[   r  g      @r  r  TF)r   r   rG   r}   r  r   )	r5   r  r  r6   r  r;   arrr  r  s	            r8   "test_RealParameter_uncommon_dtypes3TestFullCoverage.test_RealParameter_uncommon_dtypes  sj     w'"3v6	JJSz2%..q2.FES!!!UT5M*rL   c                      " S S[         5      nU" 5       n[        R                  nX2l        [        R                  " S/US9nUR                  U5      R                  U:X  d   eg )Nc                   0    \ rS rSr\" S\" SS9S9rS rSrg)	NTestFullCoverage.test_ContinuousDistribution_set_invalid_nan.<locals>.TestDisti	  r;   )r  r   r,   r[   c                     g)Nr   ry   r5   r;   r  r'  s       r8   _logpdf_formula^TestFullCoverage.test_ContinuousDistribution_set_invalid_nan.<locals>.TestDist._logpdf_formula  s    rL   ry   N)	r   r   r   r   r   r   r   r  r   ry   rL   r8   TestDistr  	  s    &s=83TUIrL   r  r  r  )r   rG   float32r  r}   r  r  )r5   r  r'  r  r;   s        r8   +test_ContinuousDistribution_set_invalid_nan<TestFullCoverage.test_ContinuousDistribution_set_invalid_nan  sT    
	- 	
 J

JJuE*xx{  E)))rL   c                 p   [        [        R                  " S5      5      R                  [        R                  " [        R                  5      R                  :X  d   e[        [        R
                  " S5      5      R                  [        R                  " [        R
                  5      R                  :X  d   eg )Nr   rU   )r   rG   float64r.  finfoint64iinfor  s    r8   test_fiinfoTestFullCoverage.test_fiinfo  sj    rzz"~&**bhhrzz.B.F.FFFFrxx{#''288BHH+=+A+AAAArL   c                     [        [        5      nSU;   d   e[        [        5      nSU;   d   e[        [        5      nSU;   d   eg )Nz"accepts no distribution parameterszaccepts one parameterizationzaccepts two parameterizations)r   r   r!   r   )r5   msgs     r8   test_generate_domain_support-TestFullCoverage.test_generate_domain_support  sJ    &~63s:::&v.-444&{3.#555rL   c                    [        SSS9n[        U5      S:X  d   e[        US-  S-   5      S:X  d   e[        [        R                  " S5      SS9n[        U5      S	:X  d   e[        [        R                  " S[        R                  S
9[        R
                  " S[        R                  S
9S9n[        U5      S:X  d   eg )Nr   rU   r)   z-Uniform(a=np.float64(0.0), b=np.float64(1.0))r?   r>   zOnp.float64(3.0)*Uniform(a=np.float64(0.0), b=np.float64(1.0)) + np.float64(2.0)r@   z'Uniform(a=array([0., 0., 0., 0.]), b=1)r  z[Uniform(a=array([0., 0., 0., 0.], dtype=float32), b=array([1., 1., 1., 1.], dtype=float32)))r#   r  rG   r  r  r  )r5   r'  s     r8   #test_ContinuousDistribution__repr__4TestFullCoverage.test_ContinuousDistribution__repr__"  s    a1AwIIIIAaC!G}!
 	
 

 bhhqkQ'AwCCCCbhhq

3rwwq

7STAw9
 	
 
rL   ry   N)r   r   r   r   r  r  r0   r   r   rG   float16int16r  r  r  r  r  r  r   ry   rL   r8   r  r    sl    "* [[6 "

BJJ7 ""**578+8+* B6
rL   r  c                      \ rS rSr\" SSS9r\" \R                  " S5      \R                  " S5      S9r\	" SSS9r
\	" SSS9r\	" \R                  " S	5      SS9r\R                  R!                  S
\\\R"                  " SS/5      -
  \\R$                  " S\R                  S9\-  \R                  " S\R&                  S9-   S\-  S-   \S-  S\-  S-   S-  S\-  S-   S-  S\-  SS\-  S-   -  SS\-   -  \R*                  " \SSS9\R,                  " \SS5      \R.                  " \
\/SS/S9\" \5      \R2                  " \5      \R4                  " S\-   5      \R"                  " SS/5      \-  \R"                  " SS/5      -   /5      S 5       r\R                  R!                  S
\\R8                  " S	S5      \
-  S-   S\
-  \R8                  " S	S5      -   \R8                  " S	S5      \
-  S-   \R,                  " \SS5      \R,                  " \\R$                  " S	5      * \R$                  " S	5      5      \R*                  " \
\R:                  " SS	5      S	S9\S-  SS\R2                  " \5      -   -  S\-  /
5      S 5       rSrg)	TestReprsi4  r   rU   r)   r  r   rW  r-  i  r   r@  r>   r  r?   r@   r   r  g?g?g333333?r   weightsr7  c                    SSK Jn  SSK Jn  SSKJnJnJnJnJn  SSKJ	n	J
n
  SSKJn  [        [        U5      5      nUR                  SSS	9nUR                  SSS	9n[!        X5        UR"                  UR"                  L d   eg )
Nr   )array)r  )r9  r  r   r  rI  )r   r!   )r#   r<   i  r}  )numpyr  r  scipy.statsr9  r  r   r  rI  r   r!   scipy.stats._new_distributionsr#   rd   r  r   r   r  )r5   r   r  r  r9  r  r   r  rI  r   r!   r#   new_distr  r  s                  r8   test_executableTestReprs.test_executable;  sf    4 	 !HH/:T
#++BD+1///5W&}}---rL   c                 8    [        [        U5      5      S:  d   eg )N   )lenr  )r5   r   s     r8   test_not_too_longTestReprs.test_not_too_longa  s    $ 4:$$$rL   ry   N) r   r   r   r   r#   UrG   r  Vr!   r'  rQ  r  r  r0   r   r   r  r  r  r   r  rI  r   r9  r  r   r  fullaranger  r   ry   rL   r8   r  r  4  s~   !qA"**S/RZZ_5A"AA!1A"((4.*A[[#s$$GGARZZ(*RXXarzz-JJaC!GqDqS1WqLqS1WqLqD!aLQK!!!qA.NN1c3'MM1a&3*5FIIaLIIa!eHHc3Z "RXXsCj%99%	
../.. [[GGD#"S(!GbggdC((GGD#"S(NN1b!$NN1rwwt}nbggdm<!!!ryyD'9TBqD1uyy|#$qD	
%%rL   r  c                   ^    \ rS rSr\" S\" \R                  * \R                  4S9S9rS r	Sr
g)	MixedDistiv  r;   r,   r[   c                 D   SS[         R                  " S[         R                  -  5      -  -  [         R                  " SUS-   S-  S-  -  5      -  SS[         R                  " S[         R                  -  5      -  -  [         R                  " SUS-
  S-  S-  -  5      -  -   $ )	N皙?皙?r>         g      ?333333??r  r$  r  s       r8   _pdf_formulaMixedDist._pdf_formulax  s    rwwqw//0266$4q?P:P3QQ3255!112RVVD1S5#+PQAQ<Q5RRS 	TrL   ry   N)r   r   r   r   r   r   rG   r   r   r  r   ry   rL   r8   r  r  v  s(    s=RVVGRVVCT+UVITrL   r  c                   t    \ rS rSrS r\R                  R                  SSS/5      S 5       rS r	S r
S	 rSrg
)TestMixturei}  c                    Sn[         R                  " [        US9   [        / 5        S S S 5        Sn[         R                  " [        US9   [        S5        S S S 5        Sn[         R                  " [        US9   [        [	        SS/S9[	        5       /5        S S S 5        S	n[         R                  " [        US9   [        [	        5       /S
S
/S9  S S S 5        Sn[         R                  " [        US9   [        [	        5       /S/S9  S S S 5        Sn[         R                  " [        US9   [        [	        5       /S/S9  S S S 5        Sn[         R                  " [        US9   [        [	        5       [	        5       /S
S/S9  S S S 5        Sn[         R                  " [        US9   [        [	        5       [	        5       /SS/S9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNa= f! , (       d  f       GN:= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nz7`components` must contain at least one random variable.r.   z3Each element of `components` must be an instance...ra  z5All elements of `components` must have scalar shapes.rU   r>   )r.  z5`components` and `weights` must have the same length.r  r  z)`weights` must have floating point dtype.z`weights` must sum to 1.0.r   z#All `weights` must be non-negative.rt  r  )r0   r1   r   r   r!   r  s     r8   r"  !TestMixture.test_input_validation~  s   K]]:W5BK 6 H]]:W5I 6 J]]:W5V1v&12 6 J]]:W5VXJc
3 6 >]]:W5VXJ, 6 >]]:W5VXJ, 6 /]]:W5VXvx(3*= 6 8]]:W5VXvx(3+> 659 65 65 65 65 65 65 65 65s_   GG!:G3<H5H-H)%H:'I
G!
G03
H
H
H&)
H7:
I
Ir  ry   )r<   c           
      0  ^ [         R                  R                  S5      n[        [	        SSS9[	        SSS94SS9n[        5       nUR                  T5      nU4S	 jnU" UR                  5       UR                  5       5        U" UR                  5       UR                  5       5        U" UR                  5       UR                  5       5        U" UR                  5       UR                  5       5        U" UR                  5       UR                  5       5        U" UR                  5       UR                  5       5        U" UR                  5       UR                  5       5        U" UR                  5       UR                  5       5        U" UR                  5       UR                  5       5        U" UR                  U5      UR                  U5      5        U" UR!                  U5      UR!                  U5      5        U" UR#                  U5      UR#                  U5      5        U" UR%                  U5      UR%                  U5      5        U" UR'                  U5      UR'                  U5      5        U" UR)                  U5      UR)                  U5      5        U" UR+                  U5      UR+                  U5      5        U" UR-                  U5      UR-                  U5      5        U" UR/                  U5      UR/                  U5      5        U" UR1                  U5      UR1                  U5      5        S
 H7  n[3        S5       H%  nU" UR5                  XS9UR5                  XS9SS9  M'     M9     Sn	[6        R8                  " [:        U	S9   UR=                  S5        S S S 5        SmUR?                  TUS9n
U
R@                  T:X  d   e[B        RD                  " U
RG                  5       UR$                  5      RH                  S:  d   eg ! , (       d  f       Nr= f)Nl   $8-@      пr  r-  r  r  r  r  r  c                    > TS:X  a  [         R                  " U 5      (       d   e[         R                  R                  " X40 UD6  g )Nry   )rG   r  r  r   )rm   rp   r'  r  s      r8   r   /TestMixture.test_basic.<locals>.assert_allclose  s6    {{{3''''JJ&&s:6:rL   r  r   r  r  r  z(L-moments are not currently available...r.   rU   )r<   r   r   r   g?)%rG   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   r1   r  r  r   r  r   ks_1sampravelr  )r5   r  r   r'  rQ  r;   r   r  r  r7   r   s    `         r8   
test_basicTestMixture.test_basic  s   ii##$67VuC0&Cs2KL&(KJJu	;
 	7		QYY[1!&&(+
AHHJ/!&&(+

ajjl3,,.0D0D0FG

ajjl3

ajjl3QXXa[1a!%%(+QXXa[1a!%%(+		!aiil3q	166!9-		!aiil3q	166!9-

1qzz!}5
AGGAJ/6Dq : ! :%*, " 7
 =]].g>IIaL ? HHUH$ww%~~aggi/66=== ?>s   	P
Pc                 4   Sn[         R                  " [         R                  5      nU" US9n[         R                  " X3* 45      n[        R
                  " SSS5      n[        UR                  U5      [         R                  " US9R                  U5      5        g )Nr  r  r@   ro  )	r   r  r  r   rG   rb   r   r  dgamma)r5   r*   r  r'  rQ  r;   s         r8   test_default_weights TestMixture.test_default_weights  sn    ''4AJMM1b'"KKAs#a%,,"3"7"7":;rL   c                    [        SSS9[        SSS9/nSn[        XS9n[        R                  " [        5         SUl        S S S 5        [        R                  " [        5         SUl        S S S 5        US	   UR
                  S
'   UR
                  S
   US
   :X  d   eUS	   UR                  S
'   UR                  S
   US
   :X  d   eg ! , (       d  f       N= f! , (       d  f       Nt= f)Nr  r  r-  r  r  r  r  r<   rU   r   )r!   r   r0   r1   rP  
componentsr  )r5   r  r  r'  s       r8   test_propertiesTestMixture.test_properties  s    S16S3LM
J0 ]]>*AL +]]>*AI + %Q-Q||A*Q-///qz		!yy|wqz))) +***s   C	$C	
C
C(c                    [         R                  R                  S5      n[        R                  " [        R
                  5      nU" 5       n[        R                  " X3/5      nUR                  SS9n[         R                  R                  UR                  U5      UR                  U5      5        [         R                  R                  UR                  U5      UR                  U5      5        [         R                  R                  UR                  U5      UR                  U5      5        [         R                  R                  UR                  U5      UR                  U5      5        g )Nl    nppRr<   rA   )rG   r   r   r   r  cauchyr   r  r   r   r  r  r  )r5   r   CauchyX0r'  r   s         r8   test_inverseTestMixture.test_inverse  s     ii##$;<((6XMM2(#JJBJ


""166!9bggaj9


""1771:rxx{;


""199Q<A?


""1::a="++a.ArL   N)r   r   r   r   r"  r0   r   r   r  r  r  r  r   ry   rL   r8   r  r  }  sB    ?B [[Wr5k2,> 3,>\<*$BrL   r  c                      [         R                  " [         R                  5      n U " SSS9n[        UR	                  S5      S5        g )Ng      ?   )r*   r  r   )r   r  zipfianr   r	  )Zipfianzdists     r8   !test_zipfian_distribution_wrapperr
    s6     %%emm4Gdb!E2$rL   c                   &    \ rS rSrS rS rS rSrg)Test_logexpxmexpyi 	  c                 x    [         R                  " S5      n[        [        X5      [         R                  * 5        g Nr@  )rG   r}   r   r   r   r5  s     r8   test_x_equals_y!Test_logexpxmexpy.test_x_equals_y	  s$    JJrN]1(266'2rL   c                     [         R                  " S5      [         R                  " [        * 5      p![        [	        X5      U5        g r  )rG   r}   r   r   r   )r5   r;   r   s      r8   test_y_neg_inf Test_logexpxmexpy.test_y_neg_inf		  s+    zz"~rzz3$/1]1(!,rL   c                 v    [         R                  " [         R                  5      n[        [	        X5      U5        g r  )rG   r}   r  r   r   r5  s     r8   test_nanTest_logexpxmexpy.test_nan	  s#    JJrvv]1(!,rL   ry   N)r   r   r   r   r  r  r  r   ry   rL   r8   r  r   	  s    3
-
-rL   r  c                      [        [        R                  " S5      [        R                  " S5      S9n U R                  SS9n[        R                  " U5      (       d   eg )Ng8L:ҿg{վ?)log_alog_br   r4  )r   rG   r  r   r  )luactuals     r8   test_gh_25180r  	  sJ    	2::&:;::&89
;BWWNW+F;;vrL   )r   )[	itertoolsr   r  r$  r  r   r  rG   r   r0   numpy.testingr   r   
hypothesisr   r   r	   r
   hypothesis.extra.numpyextrar^   scipyr   r   scipy.stats._fitr   scipy.stats._ksstatsr   r  r   scipy.stats._distr_paramsr   r   r  r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r    r!   r"   r#   r$   r&   r   continuous_familiesdiscrete_familiesrw  r   r   r   r  r  r  r  r   r   r   r   r   r   r  r   Sobolr  r  r  r"  r,  r.  rU  r=  r  r  r  r  r  r
  r  r  ry   rL   r8   <module>r)     s2    	      7 E E % %   0 (  <6 6 6 6 O N ? ; ;v6 v6r"NL 
    !22}! }!~ 'F"4$l0$f$@PGfk\-H` F9-UWf$56'898*-bii&9&93::syy%QR9 S . : 7 .
9<%N$8E,P  } }@\0 \0~R" R"hE9 E9PI
 I
X?% ?%DT& TwB wBt%- -(rL   