
    9ik             
          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+  S SK,J-r-J.r.J/r/  S SK,J0r0  S SKJ1r1J2r2J3r3   " S S5      r4S9S jr5\-\1\2\./r6\3/r7\6\7-   r8 " S S5      r9S r:S r;S r<S r=S r>S r?S r@\	R                  R                  S\145      \	R                  R                  S\C" 5       S/5      \	R                  R                  S\C" 5       S /5      \	R                  R                  S!S"/5      \	R                  R                  S#\R                  R                  \R                  \R                  /5      S$ 5       5       5       5       5       rHS% rIS& rJS' rKS( rL " S) S*5      rM " S+ S,5      rN " S- S.5      rO " S/ S05      rP " S1 S25      rQ " S3 S45      rR " S5 S6\'5      rS " S7 S85      rTg):    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)StandardNormal_LogUniform_Gamma)DiscreteDistribution)Normal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\	R                  R.                  S 5       5       5       r\	R                  R                  S\" \R6                  " 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\RB                  " \" \"RF                  5      5      5      \R<                  " \R>                  " SS9\R@                  " SS9\RB                  " \" \"RF                  5      5      5      \R*                  " 5       \R*                  " 5       S9\	R                  R.                  S 5       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      a/var/www/html/land-doc-ocr/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)r3   r9   r(   r)   r4   s        r6   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'   rB   r(   r4   r)   z<=<z(a z	 x) & (x z b))r2   drawnpstarraysfloating_dtypesrD   concatenatelinspacer   define_parametersr   rF   evalr   )r3   rM   rN   rO   rP   input_shapesresult_shapeshape_ashape_bshape_x
a_elements
b_elementsr(   r)   dr9   r4   resleft_comparisonright_comparisonrefs                        r6   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#rI   rC   TFr<   )repeatza,br   rR   r=   rR   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     r6   <lambda>DTest_RealInterval.test_contains_function_endpoints.<locals>.<lambda>`   s
    15A+rI   c                     X-   S-  $ ru   rv   r'   s     r6   rw   rx   `   s
    QUaKrI   rB   r<   r'   r   rR   )r   rD   asarrayrF   r2   r1   r   )r3   rC   r(   r)   r+   r4   r9   rj   numerical_endpointsalphabeta
above_leftbelow_rightrm   s                 r6    test_contains_function_endpoints2Test_RealInterval.test_contains_function_endpoints\   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rI   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>   rB   )r   str)r3   r   r4   s      r6   test_strTest_RealInterval.test_stro   s2    
 bqT!AYG6{d1g%%%rI   )rS   L)whitelist_categories)r(   r)   rN   rO   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[(])rB   , )r   symbolsgetr   r   )	r3   r(   r)   rN   rO   left_bracketright_bracketr4   rm   s	            r6   	test_str2Test_RealInterval.test_str2w   s}      OO%OO%)ss*!(3'ACqcA3}o66{c!!!rI   c                 ^    [        SS9n[        SS9nUR                  UR                  Ld   eg )Nrq   r*   )r   r   )r3   domain1domain2s      r6   test_symbols_gh22137&Test_RealInterval.test_symbols_gh22137   s.      &1&1goo555rI   rv   N)'__name__
__module____qualname____firstlineno__rD   randomdefault_rngrngr7   r.   markparametrizeuniformr   rE   rG   slowr   r[   mutually_broadcastable_shapesr   booleansrP   thread_unsafern   listitproductr   r   one_ofdecimals
characterssampled_fromr   r   r   r   __static_attributes__rv   rI   r6   r$   r$      sV   
))


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 "**,!**,
 [[
" 
 
"6rI   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   rR   )rV   rJ   )r   proportionsi_parameterizationr   )rL   typical)parameter_valuesr   r   regionrq   TTprX   )r   r   ignoredivideinvalid)_num_parameterizationsrZ   r   integers_num_parametersr[   r   _drawtuplebroadcastable_shapes	_variable_parametersrD   broadcast_shapesr   r   errstatelog)familyrP   r   r   rL   n_parameterizationsin_parametersrM   rc   distx_shaper9   x_result_shapey_shapeyxy_result_shapep_domainp_varr   logps                        r6   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                   H   \ rS rSr\R
                  R                  S5      \" SS9\R
                  R                  S\	5      \
" \R                  " 5       \R                  " SS9S9\R
                  R                  S	 5       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\R
                  R                  S( 5       5       5       5       5       5       r\R
                  R                  S) 5       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   rU   rP   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        [        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_dimsrL   max_sider   r   r   samplerR   ri   r   )rD   r   r   r   rZ   r[   array_shapesr   check_supportcheck_moment_funcscheck_sample_shape_NaNsr   Halton)r3   r   rP   r   r   r   tmpr   r9   r   r   r   rc   r   r   sample_shapeqrngs                    r6   test_support_moments_sample-TestDistributions.test_support_moments_sample   s     ii##D) ++F#KMPJt>yy!2!2A<>"@ A [[(;$t2#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pdfr9   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   )r9   r   r   r   )r   r   overr   r<   r  r   FTr  addition)r!   r.   skiprD   r   r   r   r   check_dist_funcr   standard_deviationr   
isinstancer   
check_cdf2check_ccdf2)r3   r   rP   r   funcmethodsargr   r   r   r   r9   r   r   r   rc   r   r   argss                      r6   
test_funcsTestDistributions.test_funcs   sa   0 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)r3   pltXaxs       r6   	test_plotTestDistributions.test_plot  sG    	+ bBVVXWWY  		s   8 
AAmethod_namec                 @   [         R                  " 5       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 )N-q=-C6?MbP?r   formulamethodcomplement_safer  rR   r   rtolr   r    tolrD   rz   getattrr   r   )	r3   r&  r"  r   r  ifuncr9   p1p2s	            r6   test_complement_safe&TestDistributions.test_complement_safe%  s    LLNJJd|$q&3{?+!I&!-.!L)RUBqE"!u1~~1qt!%%0rI   c                 >   [         R                  " 5       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 )Nr(  r)  r*  r   r.  r,  r  rR   r   r/  r1  )r3   r&  r"  r   r  r4  x1x2s           r6   test_icomplement_safe'TestDistributions.test_icomplement_safe3  s    LLNJJd|$q&3{?+1./1\*RUBqE"!u1~~RUQqT6rI   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 )Nr(  )r:      )r@  r?  rA  r:   r   r,  subtraction_safesubtractionr/  )#BǻO
㒻#B;O
;rD  )rE  rD  rG  rF  rF  r   )	r   r    r2  r  r   r   rD   rz   r   )r3   r"  r9   r   p0r5  r6  s          r6   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+rI   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>._NormaliZ  c                    > [         R                  " [        TU ]  " S0 UD65      nSUS'   [         R                  US'   U$ )Nr   rv   )rD   rz   super_entropy_formular   )r3   paramsout	__class__s      r6   rQ  HTestDistributions.test_logentropy_safe.<locals>._Normal._entropy_formula[  s9    jj!9!CF!CDA&&B
rI   rv   )r   r   r   r   rQ  r   __classcell__rT  s   @r6   _NormalrM  Z  s     rI   rX  rR   r<   r=   sigmar   r   logexp_safer,  logexpr   r   rO  rR   )r   r    rD   r   r   isinfallr   )r3   rX  r"  res1res2rm   i_fls          r6   test_logentropy_safe&TestDistributions.test_logentropy_safeX  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)NrY  rZ  )rR   ,  )ir<   -  r   r\  r]  r,  r^  r   r   rO  rR   )r   r    rD   r   r  r_  r`  r   )r3   r"  r9   r   ra  rb  rm   rc  s           r6   test_logcdf2_safe#TestDistributions.test_logcdf2_safem  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<   rZ  r  rg  rR   ri  r   r\  r]  r,  r^  r   r   )r   r    r3  rD   r   )r3   r&  r"  r9   r  ra  rb  rm   s           r6   test_logexp_safe"TestDistributions.test_logexp_safe}  s     LLq!$0T1IsAhq&[[)-0D(+D * 1\*Aw#a&   Aw$q'!!!Aw$q'!!!Aw#a&    *)s   B
B'rv   )r   r   r   r   r.   r   	fail_slowr
   r   familiesr   r   rP   r   r   r   r  r$  r7  r<  rI  rd  rj  rm  r   rv   rI   r6   r   r      s   [[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!rI   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__formular+  )r-  r   rv   *   )r   
_overridesr  r   	QMCEngineaddrD   broadcast_toget_valid_parametersshaper   testingdtype_dtypeisscalarr`  isfinitenanr   anyequal)r   fnamer   rc   r   
full_shapesample_methodr  r-  rj   valid_parameterssample1sample2s                r6   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&/ rI   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      r6   r   r     s    <<>DAy$2y$277dkk!!!77dkk!!!77dkk!!!77dkk!!!rI   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   r-  atolV瞯<>   r   logmeanr   logskewness>   r   ư>>   r  r0  gH׊>rs  rt  r+  r   )r   copyr.   r/   NotImplementedErrorr3  r  rv  rx  rD   r|  r   r{  r  r   expr}  )
r   r  r  rc   r  r  rm   tol_overrider-  rj   s
             r6   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_formular+  _logcdf_formula_logccdf_formularC  _cdf_formula_ccdf_formular   _cdf2_formulaUTwo argument cdf functions are currently only supported for continuous distributions.r,   r,  +=r                  )r  rv  rx  r  rD   r|  r   r{  r   r  r  r   r.   r/   r  r  r  r   r}  
r   r   r9   r   rc   r  rm   r-  r5   rj   s
             r6   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)Nrs  r    ccdf2_formular+  r  r,   r,  r  r  )r  rv  rx  r  r  rD   r|  r   r{  r   r  r  r   r.   r/   r  r  r  r   r}  r  s
             r6   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                 "
   [        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;  a  [        U [         5      (       aH  [        R"                  " U R$                  S:H  U R&                  S:H  -  U R&                  S:H  -  5      (       d4  [        R(                  " X;US:H  -     5      R+                  5       (       d   eg g g )N>   r   r	  rq   r   rB   >   ilogcdfr  r   rO  rR   >   r  >   r   >   r  >   r  >   r  >   r  >   r   r  >   r	  r  >   r   r  r  r   r  r   r  )rz  r   r   r   r4   classify_argrD   broadcast_arraysr   r  r  ry  r{  r  r   updater"   r  nr   r  r`  )r   r  r  rj   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_discreterm   excludes                        r6   r  r  B  s   +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()  h//11 =1 MNN
 {{3LA,=>?@DDFFFF O !rI   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  [        T [        5      (       aH  [        R                  " T R                  S:H  T R                  S:H  -  T R                  S:H  -  5      (       d  U" USSXTS:*  S	9  U" USSU5        M     [        T [         5      (       a  g 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)Nr,  r:   r  )momentr   r{  r.   r/   r  )orderkindr-  rm   successrj   r  r   s         r6   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_rt  Forders   )rv  r3  setrange)r  r  formula_name	overridesr+  r  r   s         r6   has_formula'check_moment_funcs.<locals>.has_formula  sO    !$x0OOL1	$-(CaM:rI   r  rawr   F)r  r   r,  r  r+  generalr   quadrature_icdfcentralrR   r<   	transformstandardizedr   r=   	normalize)NNT)reset_cacher  r  r  r{  rT  r   r    r!   r   rD   r  r  r"   r  r   r   )	r   rc   r  r  r   rm   r   varr  s	   `       @r6   r   r     sC    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 4**FFDFFaKDFFaK8DFFaKHII !^Y!VDac2  $122 	 3rI   r   r   )r<   r=   
dist_shape)r>   rR   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   rR   r   r   )axisF)r  g{Gz?)rD   r   r   r   r.   r  r   r   	Generatorr{  r   r   r@   sum)r   r  r   r  r  r   num_parametersr   r  sample_sizesample_array_shaper  r9   	statisticpvaluep_thresholdnum_pvaluesnum_small_pvaluess                     r6   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8rI   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  
parametersrD   onesr  boolitemsr4   r1   rC   r   rF   _invalid)r   r   r  parameterizationr  namevalue	parameterr(   r)   
a_included
b_includedvalids                r6   rz  rz  C  s    ''J 33*556 4 40I'--/!$	
 77- 8 /!*!1!1!;!;
 *	%*:U,,55 6 6 	7 		# 0* )T]]+rI   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  rO  rR   )rD   r  r  r  zerosr1   r   r  rC   r{  intisnan)r   r  r  
valid_argsendpoint_argsoutside_argsnan_argsr(   r)   r  r  insideonoutsider  s                  r6   r  r  j  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##rI   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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Nq= f! , (       d  f       GN[= f! , (       d  f       GN3= 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NK= f! , (       d  f       GN&= f! , (       d  f       g = f)Nc                   ,    \ rS rSr\" S\" 5       S9rSrg)#test_input_validation.<locals>.Testi  r9   rX   rv   N)r   r   r   r   r   r   r   r   rv   rI   r6   Testr    s    "3}?	rI   r  z`The `Test` distribution family does not accept parameters, but parameters `{'a'}` were provided.r,   rR   r(   zAAttribute `tol` of `Test` must be a positive float, if specified.r2  rY  rO  zEArgument `order` of `Test.moment` must be a finite, positive integer.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  crX   ri   r9   rv   N)r   r   r   r   r   r   _p1_p2r   r  r   r   rv   rI   r6   Test2r    s<    S9S9/S9:"3}?	rI   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	  ri   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   r.   r/   
ValueErrorrD   rz   r  r  r   r   r0   objectr   )r  r5   r  r   s       r6   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 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	1q 
2	1 
2	1	1	1	1	1	1	1
 
2	1	1	1 
2	1 
2	1
 
2	1
 
2	1
 
2	1
 
1	0 
2	1s   LL	L(;L:1MM%M0N#NN&8N8'O
)O O.
L
L%(
L7:
M	
M
M-0
M?
N
N#&
N58
O

O
O+.
O<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 )NrO  r<   r:   r'   ru  r   rv   )	r2   r!   r   pickleloadsdumpsr   rD   r`  )kwargsdist1dist2dist3ra  rb  res3s          r6   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$,rI   c                   ,    \ rS rSrS rS rS rS rSrg)TestAttributesi  c                 x   [        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        UR	                  SS9nUR	                  SS9n[        XE5        [        R                  " X5:H  5      (       a   eSUl        UR	                  SS9nUR	                  SS9n[        XE5        [        R                  " X5: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Na= 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   r,  r   r+  z/Attribute `cache_policy` of `StandardNormal`...r   )r   r.   r/   r  r   r   r   rD   r`  r  r  )r3   r   r5   r   cached_meanquadrature_means         r6   test_cache_policy TestAttributes.test_cache_policy  s   :6X]].g>IIWI% ?yy{]].g>IIWI% ? !]].g>IIWI% ?yy{iiwi/[' ))<)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5C ?> ?>
 ?>* ?> 65s;   G$&G6H HH+$
G36
H
H
H(+
H9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  r(  r   r,  r/  gGz?r  )r   r    r.   r/   r  r2  rD   r  r  r   absr   )
r3   r9   r"  r5   X1X2rm   ra  rb  r   s
             r6   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   rR   r'   r<   skip_all       @r  r  )r(   r)   validation_policyrO  c                        \ rS rSrS rS rSrg)0TestAttributes.test_iv_policy.<locals>.MyUniformi-  c                     gN	incorrectrv   )r3   r  r  s      r6   rQ  ATestAttributes.test_iv_policy.<locals>.MyUniform._entropy_formula.      "rI   c                     gr4  rv   )r3   r  rR  s      r6   _moment_raw_formulaDTestAttributes.test_iv_policy.<locals>.MyUniform._moment_raw_formula1  r7  rI   rv   N)r   r   r   r   rQ  r9  r   rv   rI   r6   	MyUniformr2  -  s    ##rI   r;  r5  r  )r  r  z/Attribute `validation_policy` of `MyUniform`...r,   r   )
r!   r   r0  rD   rz   r   r  r.   r/   r  )r3   r"  r(   r)   r;  r5   s         r6   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)NrR   r<   mur[  r=   r   r:   )r   r    r@  r[  r.   r/   AttributeError)r3   r"  Ys      r6   test_shapesTestAttributes.test_shapes?  s    LLAQ'LLQCq) ttqyyww!||ttAw!||wwqzQ ]]>*AD + QttAw!|| +*s   C		
Crv   N)	r   r   r   r   r#  r+  r<  rC  r   rv   rI   r6   r  r    s    &*P1<,>rI   r  c                   ^   \ rS rSr\R
                  R                  S\" \\	-   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Srg)TestMakeDistributioniS  zi, distdatac           
      z   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" 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  [-        U[        R.                  5      (       a;  ['        [        R0                  " UR3                  5       5      UR+                  5       US9  ['        UR5                  5       UR5                  5       US9  ['        UR7                  5       UUUS9  ['        UR9                  5       UUUS9  X7;  a  ['        UR;                  5       UUUS9  X8;  a  ['        UR=                  S S!9UUUS9  [-        U[        R>                  5      (       aS  ['        URA                  U5      URA                  U5      US9  ['        URC                  U5      URC                  U5      US9  OR['        URE                  U5      URE                  U5      US9  ['        URG                  U5      URG                  U5      US9  ['        URI                  U5      URI                  U5      US9  ['        UR#                  U5      UR#                  U5      US9  X9;  a)  ['        URK                  U5      URM                  U5      US9  ['        URO                  U5      URQ                  U5      US9  UR)                  5       u  nnURS                  U5      nUUUS:H  '   URU                  U5      nUUUS:H  '   ['        URW                  U5      UUS9  ['        URY                  U5      UUS9  [[        S"5       HC  nX:R                  U0 5      ;  d  M  ['        UR]                  US#S$9UR]                  U5      UUS9  ME     [[        S%S&5       H9  nX;;  d  M
  ['        UR]                  US'S$9UR                  SUS-
     5      UUS9  M;     [-        U[        R>                  5      (       aF  S(n['        UR!                  SUS9UR_                  S[        R                  R                  U5      S)9US9  S S S 5        g ! , (       d  f       g = f)+Nr   >   zipfargusksonekstwokappa4logserskellamexponpowgenexpongompertz	exponweib	johnsonsb	kstwobign	powernorm
betanbinomhalfgennormnorminvgausspowerlognormrecipinvgaussvonmises_linestudentized_rangeSCIPY_XSLOW0zSkipping as XSLOW>   vonmises	hypergeomlevy_stablepoisson_binomnchypergeom_fishernchypergeom_walleniusgh㈵>)rJ  rK  rT  pearson3>   rJ  rO  rd  >   chirJ  rK  rO  invgammarS  rd  >   triangarcsine	trapezoid
skewcauchy>   levyr|   levy_l
foldcauchy
halfcauchyparetorg  r;   rO  rJ  r   rR      s4XF r:   r{  r   gHz>r(  r   r   mvskr/  )r0  r  excessr  r   r  r  r=   r>   r  l   1XS+- )r@   random_staterv   )0r  osenvironr   r.   r  r3  r   rM   r2   zipsplitrD   r   r   make_distributionr   r  r   r   r  r   r  rv_discreter  r   r   r   r   r   r   rv_continuousr  r   logpmfpmfr  r  logsfr  sfppfisfr   r	  r  r  rvs) r3   r   distdatadistnamer   custom_tolerancesskip_entropyskip_skewnessskip_kurtosisskip_logccdfskip_rawskip_standardizedr   rR  r   CustomDistributionr"  rB  r9   r   r0  r  mvskr(   rs  ref_ppfref_isfr  r   s                                    r6   test_rv_generic$TestMakeDistribution.test_rv_genericT  s   A;;
 2::>>-5668;KKK+, 
 
  '+T:#Z0F2 HN z"|% (1uh'DHKKc$++++D18A;?@UWii##$45"44T:((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eeAhGGAFOeeAhGGA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 < !235993H3H3N !& !P%)+i <;;s    M$V,?V,BV,,
V:c           
         [         R                  R                  S5      n " S S5      n[        R                  " U" 5       5      nU" [         R
                  " S5      [         R
                  " S5      S9n[        R
                  " [        SSS95      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                  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R+                  XS9UR+                  XS95        M+     M=     UR                  S	SSS9n
UR                  S	SSS9n[        X5        [         R,                  " X:H  5      (       a   e[        UR/                  SS9UR/                  SS95        UR/                  SS9UR/                  SS9:X  a   eg )Nrq  c                   b    \ 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g)6TestMakeDistribution.test_custom.<locals>.MyLogUniformi  c                     gNz1.16.0rv   r3   s    r6   __make_distribution_version__TTestMakeDistribution.test_custom.<locals>.MyLogUniform.__make_distribution_version__      rI   c                 X    S[         R                  4SS.S[         R                  4SS.S.$ )Nr   FFrB   r(   r'   rD   r   r  s    r6   r  ATestMakeDistribution.test_custom.<locals>.MyLogUniform.parameters  s.    ,-rvv;^T,/=~VX XrI   c                 
    SS0$ )Nr+   r'   rv   r  s    r6   r  >TestMakeDistribution.test_custom.<locals>.MyLogUniform.support  s    #Z00rI   c                 h    SU[         R                  " U5      [         R                  " U5      -
  -  -  $ )NrR   rD   r   )r3   r9   r(   r)   s       r6   r   :TestMakeDistribution.test_custom.<locals>.MyLogUniform.pdf  s'    ARVVAY!6788rI   Nr   c                    UR                  US9n[        R                  " [        R                  " U5      U[        R                  " U5      [        R                  " U5      -
  -  -   5      $ )Nr?   )r   rD   r  r   )r3   r{  r(   r)   r   r   s         r6   r   =TestMakeDistribution.test_custom.<locals>.MyLogUniform.sample  sH    KKUK+vvbffQi!rvvay266!9/D*EEFFrI   c                ^    US:X  a'  US:X  a   XC-
  [         R                  " XC-  5      -  S-   $ g g )NrR   r  g|=r  )r3   r  r  r(   r)   s        r6   r  =TestMakeDistribution.test_custom.<locals>.MyLogUniform.moment  s4    A:$%- ERVVAC[0588 #0:rI   rv   )r  )r   r   r   r   propertyr  r  r  r   r   r  r   rv   rI   r6   MyLogUniformr    sS        X X 1 19 26 G9rI   r  rR   r=   r'   r  r&  r:   rr  r  r  r  r   r  r   r+  )r{  r   r-  rr  r,  r   )rD   r   r   r   rz  r  r!   r   r  r   r  r   r   r  r   r  r  r  r   r	  r  r  r`  r   )r3   r   r  
LogUniformr"  rB  r9   r   r  r  sample_formulasample_inverses               r6   test_custom TestMakeDistribution.test_custom  sd   ii##$45	9 	96 ,,\^<
bffQi0IIgb)*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 )D:MN766.:;;;;i0!&&&2MN666+qvv\v/JJJJJrI   zignore::RuntimeWarningr	  rO  r   rR   )g r'  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 )Nrq  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>.MyGenExtremei  c                     gr  rv   r  s    r6   r  eTestMakeDistribution.test_custom_variable_support.<locals>.MyGenExtreme.__make_distribution_version__  r  rI   c                     [         R                  * [         R                  4SS.[         R                  * [         R                  4SS.S[         R                  4SS.S.$ )Nr  rB   r   r	  r@  r[  r  r  s    r6   r  RTestMakeDistribution.test_custom_variable_support.<locals>.MyGenExtreme.parameters  sL     *,'8~V*,&&"&&(9W,-rvv;^T rI   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   rv   rD   r  
empty_liker   r	  r@  r[  results       r6   left]TestMakeDistribution.test_custom_variable_support.<locals>.MyGenExtreme.support.<locals>.left  sh    #%#6#6qe#DLA5]]1-F&(ffWF6N$&1uI!eqQx0G$GFq5M!":%rI   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       r6   right^TestMakeDistribution.test_custom_variable_support.<locals>.MyGenExtreme.support.<locals>.right  sf    #%#6#6qe#DLA5]]1-F%'VVF6N$&1uI!eqQx0G$GFq5M!":%rI   r  rB   rv   )r3   r  r  s      r6   r  OTestMakeDistribution.test_custom_variable_support.<locals>.MyGenExtreme.support  s    && '+]PPrI   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   rR   rv   rD   r  r  r  )r3   r9   r	  r@  r[  tmaskr  s           r6   r   KTestMakeDistribution.test_custom_variable_support.<locals>.MyGenExtreme.pdf   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!rI   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  )r3   r9   r	  r@  r[  r  r  s          r6   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"~%rI   rv   N)r   r   r   r   r  r  r  r  r   r  r   rv   rI   r6   MyGenExtremer    sH          Q Q"	"&rI   r  r   rR   r  r	  r:   rr  gh㈵>r/  )rD   r   r   r   rz  
genextremer   r  r   r  r   r   r  r   r  r  r  r   r	  )
r3   r	  r   r  GenExtreme1GenExtreme2r)  r*  r9   r   s
             r6   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[1rI   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 )Nrq  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>.MyBetaiO  c                     gr  rv   r  s    r6   r  iTestMakeDistribution.test_custom_multiple_parameterizations.<locals>.MyBeta.__make_distribution_version__P  r  rI   c                 v    S[         R                  4S[         R                  4S.SS[         R                  4S.4$ )Nr   r'   rq   r@  nur  r  s    r6   r  VTestMakeDistribution.test_custom_multiple_parameterizations.<locals>.MyBeta.parametersT  s6     bff+QK8!!RVV5 rI   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  rv   )r3   r(   r)   r@  r  s        r6   process_parameters^TestMakeDistribution.test_custom_multiple_parameterizations.<locals>.MyBeta.process_parameters[  s:    =Q]rzbjBBAAb;;rI   c                 
    SS0$ )Nr+   rq   rv   r  s    r6   r  STestMakeDistribution.test_custom_multiple_parameterizations.<locals>.MyBeta.supportd  s    #V,,rI   c                 B    [         R                  R                  XU5      $ N)r   _ufuncs	_beta_pdfr3   r9   r(   r)   r@  r  s         r6   r   OTestMakeDistribution.test_custom_multiple_parameterizations.<locals>.MyBeta.pdfh  s    00q99rI   c                 0    [         R                  " X#U5      $ r  )r   betaincr  s         r6   r  OTestMakeDistribution.test_custom_multiple_parameterizations.<locals>.MyBeta.cdfk  s    qQ//rI   rv   )NNNN)r   r   r   r   r  r  r  r  r  r   r  r   rv   rI   r6   MyBetar  O  sK         < - -:0rI   r  r'   r  r:   rr  )rD   r   r   r   rz  r}   r   r  r   r  r   r   r  r   r	  )r3   r(   r)   r   r  Betar@  r  r"  rB  Zr9   r   s                r6   &test_custom_multiple_parameterizations;TestMakeDistribution.test_custom_multiple_parameterizationsJ  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/rI   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...)	r.   r/   r  r   rz  ra  r_  r  r  r3   r5   s     r6   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[        R                  S:  a  [        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[        R                  S:  a  [        U" SS	95      S:X  d   eSUR                  ;   d   eg )Nr   )_distribution_namesr<   r  zGamma(a=2.0)2z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   rz  gammar   rD   __version__repr__doc__rW  )r3   r  r   s      r6   test_repr_str_docs'TestMakeDistribution.test_repr_str_docs  s    P',,.D5$'''' / &&u{{34!9~///>>S q	?&@@@@$,,&&&&&u'8'894Q< $EEEE>>S !%)VVVV&$,,666rI   rv   N)r   r   r   r   r.   r   r   	enumerater   r   r  r  r   filterwarningsrD   rz   r  r  r  r  r   rv   rI   r6   rF  rF  S  s   [[]Ih6M,NOd+ Pd+L<K@ [[[[ 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|.7rI   rF  c                      \ rS rSrS rS r\R                  R                  S5      \	" \
R                  " 5       \
R                  " SS9S9\R                  R                  S 5       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"   r.   r/   r  r  )r3   r"  r5   s      r6    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,' rr   )lbubr=   r:   ru  r  r  r  r  r=   r:   )'rD   r   r   minimummaximumr   truncater    	truncnormr  r  r   r   r   r   r   r  r   r   r  r  sqrtr   r   r  r   r  r  r   r	  r  r  r  r  r  r  r  r   r`  )	r3   r   r  r  rB  Y0r   r   r   s	            r6   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4rI   r:   r   r   r   c           	         [         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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R/                  5       UR/                  5       5        [        UR1                  U5      UR1                  U5      [         R2                  " U5      -
  5        [        UR5                  U5      UR5                  U5      U-  5        [        UR7                  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R7                  Xx5      UR7                  U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?                  U
5      UR?                  U
5      U-  U-   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        [G        SS5       H  n[        URI                  US5      URI                  U5      5        [        URI                  US5      URI                  US5      UU-  -  5        [        URI                  US5      URI                  US5      [         R,                  " U5      U-  -  5        M     S S S 5        US	U-  -
  U-   nXoS	-  -  U-  n[         RJ                  " URL                  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R/                  5       UR/                  5       U-   5        [        UR1                  U5      UR1                  U5      U-   5        [        UR5                  U5      UR5                  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        [G        SS5       H  n[        URI                  US5      URI                  US5      5        [        URI                  US5      URI                  US5      5        [        URI                  US5      URI                  US5      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  )rP  __init__r   )r3   r  r  rT  s      r6   r  ATestTransforms.test_loc_scale.<locals>.TransformedNormal.__init__  s     !1CDCFCrI   rv   )r   r   r   r   r  r   rV  rW  s   @r6   TransformedNormalr    s    D DrI   r!  )rR   r   r   r   rR   )r   rL   )locscaler   r   r<   r  r   r  r  r  )'rD   r   r   r   r   r"  r#  r   r   normr  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  )r3   rP   r   r   r!  r   r   r9   r   r   r   rc   r   r   r"  r#  dist0dist_refx0y0r(   r)   a0b0r   zs                             r6   test_loc_scaleTestTransforms.test_loc_scale  ss   
 ii##D)	D 9 	D ,SlQPMPJt>hh

 ::#3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	 !1 <B 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 !) <;U <;T <;s   Sh9Oi9
i
i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 )Nr  rr   r  )r#  r  r  r  r  r  r=      M [ r   )%rD   r   r   r    r   r  e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   )r3   r/  r   r@  r[  r"  rB  r  r   r   r   s              r6   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GrI   r#  )rR   r<   rO  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)Nr  rr   r  r   r  rr  r   r   r2  r   )rD   r   r   r%  r(  r   rz  rg  r   r   r  r   r   r   r   r   r  r   r  r   r	  r  r  r  r   r  r  )r3   r#  r   r(   r%  InvGammar  r"  rB  r   r   r   r   s                r6   test_reciprocalTestTransforms.test_reciprocale  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)Nr  rr   r  r  r  r  r  r  r=   r   )r   r2  r   )$rD   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   )	r3   r   r(   r"  r  rB  r   r   r   s	            r6   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)NrR   r<   r'   zUniform(a=1.0, b=2.0)zlog(r   z1/(zexp(rO  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  r.   r/   r  )r3   r"  X_strr5   s       r6   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'   )rD   r   r   r   r   r   r  r  )	r3   r   r(   r)   r"  r#  r9   rB  r"  s	            r6   test_arithmetic_operators(TestTransforms.test_arithmetic_operators  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":;rI   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 )Nr  rr   r  r  r  r  r  r  r=   r:   r   )%rD   r   r   r   r(  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   r`  )r3   r   r"  rB  r  r   r   r   s           r6   test_absTestTransforms.test_abs  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!!!!rI   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  rR   )r   rz  weibull_minr(  r   r  r   r  r  r  r  )r3   Weibullr"  rB  s       r6   test_abs_finite_support&TestTransforms.test_abs_finite_support  s     ))%*;*;<aLGQXXa[!((1+.QUU1XquuQx(QXXa[!((1+.QUU1XquuQx(QYYq\199Q<0QVVAYq	*rI   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 )Nr  r<   rR   )dfr:   r  r  r  r/  r  r  r=   r   )$rD   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   r`  )r3   r   rB  r  r   r   r   s          r6   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!!!!rI   rv   N)r   r   r   r   r  r  r.   r   ro  r   r   rP   r   r   r-  r   r5  xfail_on_32bitr9  r=  rC  rH  rL  rQ  rV  r   rv   rI   r6   r	  r	    sE    5D [[2

!
(;(;a(HI[[[A  J [AH [[1[[Y7#H 8 #HL [[2[[Wj1[[ QR&H S 2 &HP [[1H HB D<$"@+"rI   r	  c                   b    \ rS rSr\R
                  R                  S5      S 5       rS rS r	Sr
g)TestOrderStatistici3  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   rR   r'   r   r=   )r  rr  r  r  r  r  r  r  r+  r,  r   r  r   r   z0`r` and `n` must contain only positive integers.r,   rO  rA  )&rD   r   r   r!   rz   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  r.   r/   r  )
r3   r   r"  r  r\  rB  r  r   r   r5   s
             r6   test_order_statistic'TestOrderStatistic.test_order_statistic4  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   rz  r   r]  r   r  )r3   r!   r"  rB  r  s        r6   test_support_gh22037'TestOrderStatistic.test_support_gh22037_  sV     ))%--8IaC!G!!!qA.		QYY[1rI   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 )Nr@  rO  rR   r=   r>   r   g333333ӿr   ra  r'   )
r   rz  r$  r  r  r]  rD   r|  r   r  )r3   r    TruncatedNormalr(   r)   r\  r  r9   r)  Y1Z1r*  Z2s                r6   test_composition_gh22037+TestOrderStatistic.test_composition_gh22037i  s    
 ((411%//BBx1A3*1fXwX^^B1%""2a0q&""2a0


""266!9bffQi8rI   rv   N)r   r   r   r   r.   r   ro  r^  rb  ri  r   rv   rI   r6   rZ  rZ  3  s.    [[2(1 (1T29rI   rZ  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  )r.   r/   r  r   rF   r1   __str__r  s    r6   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rn  )r.   r/   r  r   validater  s    r6   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)rO  rR   r9   rX   r  g      @r  r  TF)r   r   rD   rz   rs  r   )	r3   rv  rw  r4   r  r9   arrr}  r  s	            r6   "test_RealParameter_uncommon_dtypes3TestFullCoverage.test_RealParameter_uncommon_dtypes  sj     w'"3v6	JJSz2%..q2.FES!!!UT5M*rI   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  r9   )r  r  r*   rX   c                     g)Nr   rv   r3   r9   r  r  s       r6   _logpdf_formula^TestFullCoverage.test_ContinuousDistribution_set_invalid_nan.<locals>.TestDist._logpdf_formula  s    rI   rv   N)	r   r   r   r   r   r   r   r  r   rv   rI   r6   TestDistr~    s    &s=83TUIrI   r  r  r  )r   rD   float32r~  rz   r  r}  )r3   r  r"  r}  r9   s        r6   +test_ContinuousDistribution_set_invalid_nan<TestFullCoverage.test_ContinuousDistribution_set_invalid_nan  sT    
	- 	
 J

JJuE*xx{  E)))rI   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  rR   )r   rD   float64maxfinfoint64iinfor  s    r6   test_fiinfoTestFullCoverage.test_fiinfo  sj    rzz"~&**bhhrzz.B.F.FFFFrxx{#''288BHH+=+A+AAAArI   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   )r3   msgs     r6   test_generate_domain_support-TestFullCoverage.test_generate_domain_support  sJ    &~63s:::&v.-444&{3.#555rI   c                 $   [        SSS9n[        R                  S:  a  [        U5      S:X  d   eO[        U5      S:X  d   e[        R                  S:  a  [        US-  S-   5      S	:X  d   eO[        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   rR   r'   r  zUniform(a=0.0, b=1.0)z-Uniform(a=np.float64(0.0), b=np.float64(1.0))r=   r<   z3.0*Uniform(a=0.0, b=1.0) + 2.0zOnp.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!   rD   r  r  r  r  r  )r3   r"  s     r6   #test_ContinuousDistribution__repr__4TestFullCoverage.test_ContinuousDistribution__repr__  s    a1>>C755557MMMM>>C!a=$EEEE!a=%  
 bhhqkQ'AwCCCCbhhq

3rwwq

7STAw9
 	
 
rI   rv   N)r   r   r   r   rp  rt  r.   r   r   rD   float16int16r  rz  r  r  r  r  r   rv   rI   r6   rl  rl  {  sl    "* [[6 "

BJJ7 ""**578+8+* B6
rI   rl  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$                  " \\R                  R'                  \R(                  S:  SS9S9\R$                  " \R*                  " S\R                  S9\-  \R                  " S\R,                  S9-   \R                  R'                  \R(                  S:  SS9S9S\-  S-   \S-  S\-  S-   S-  S\-  S-   S-  S\-  SS\-  S-   -  SS\-   -  \R0                  " \SSS9\R2                  " \SS5      \R4                  " \
\/SS/S9\" \5      \R8                  " \5      \R:                  " S\-   5      \R"                  " SS/5      \-  \R"                  " SS/5      -   /5      S 5       r\R                  R!                  S
\\R>                  " S	S5      \
-  S-   S\
-  \R>                  " S	S5      -   \R>                  " S	S5      \
-  S-   \R2                  " \SS5      \R2                  " \\R*                  " S	5      * \R*                  " S	5      5      \R0                  " \
\R@                  " SS	5      S	S9\S-  SS\R8                  " \5      -   -  S\-  /
5      S 5       r!Sr"g) 	TestReprsi  r   rR   r'   r  r  rO  r?  i  r   r/  r  z#numpy 1.x didn't have dtype in repr)reason)marksr<   r  r=   r>   r   ra  g?g?g333333?r   weightsr&  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  )r(  r  r   r]  r  )r   r    )r!   r:   i  rr  )numpyr  r  scipy.statsr(  r  r   r]  r  r   r    scipy.stats._new_distributionsr!   ra   r  r   r   r}  )r3   r   r  r  r(  r  r   r]  r  r   r    r!   new_distr  r  s                  r6   test_executableTestReprs.test_executable  sg    L 	 !HH/:T
#++BD+1///5W&}}---rI   c                 8    [        [        U5      5      S:  d   eg )N   )lenr  )r3   r   s     r6   test_not_too_longTestReprs.test_not_too_long  s    $ 4:$$$rI   rv   N)#r   r   r   r   r!   UrD   r  Vr    r"  rB  r  r  r.   r   r   r  paramskipifr  r  r  r   r]  r  r   r(  r  r   r  fullaranger  r   rv   rI   r6   r  r    s   !qA"**S/RZZ_5A"AA!1A"((4.*A[[#s$$LLkk((NNS(@ )  LL,Q.!2::1NNkk((NNS(@ )  aC!GqDqS1WqLqS1WqLqD!aLQK!!!qA.NN1c3'MM1a&3*5FIIaLIIa!eHHc3Z "RXXsCj%99=	
"F.G"F. [[GGD#"S(!GbggdC((GGD#"S(NN1b!$NN1rwwt}nbggdm<!!!ryyD'9TBqD1uyy|#$qD	
%%rI   r  c                   ^    \ rS rSr\" S\" \R                  * \R                  4S9S9rS r	Sr
g)	MixedDisti  r9   r*   rX   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  )rD   r  rE   r  r  s       r6   _pdf_formulaMixedDist._pdf_formula  s    rwwqw//0266$4q?P:P3QQ3255!112RVVD1S5#+PQAQ<Q5RRS 	TrI   rv   N)r   r   r   r   r   r   rD   r   r   r  r   rv   rI   r6   r  r    s(    s=RVVGRVVCT+UVITrI   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...rY  z5All elements of `components` must have scalar shapes.rR   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.rA  r  )r.   r/   r  r   r    r  s     r6   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{  rv   )r:   c           
        ^ [         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mUR7                  TUS9n	U	R8                  T:X  d   e[:        R<                  " U	R?                  5       UR$                  5      R@                  S:  d   eg )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 )Nrv   )rD   r  r|  r   )rj   rm   r  r{  s      r6   r   /TestMixture.test_basic.<locals>.assert_allcloseL  s6    {{{3''''JJ&&s:6:rI   r  r   r  r  r  )r:   r   r   r   g?)!rD   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   ks_1sampravelr  )
r3   r{  r   r"  rB  r9   r   r  r  r   s
    `        r6   
test_basicTestMixture.test_basicD  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 HHUH$ww%~~aggi/66===rI   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>   rh  )	r   rz  r   r   rD   r_   r   r   dgamma)r3   r(   r  r"  rB  r9   s         r6   test_default_weights TestMixture.test_default_weightsp  sn    ''4AJMM1b'"KKAs#a%,,"3"7"7":;rI   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:   rR   r   )r    r   r.   r/   rA  
componentsr  )r3   r  r  r"  s       r6   test_propertiesTestMixture.test_propertiesx  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:   r?   )rD   r   r   r   rz  cauchyr   r|  r   r   r	  r  r  )r3   r   CauchyX0r"  r   s         r6   test_inverseTestMixture.test_inverse  s     ii##$;<((6XMM2(#JJBJ


""166!9bggaj9


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


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


""1::a="++a.ArI   N)r   r   r   r   r  r.   r   r   r  r  r  r  r   rv   rI   r6   r  r  "  sB    ?B [[Wr5k2)> 3)>V<*$BrI   r  )r   )U	itertoolsr   rv  r  r  r   r  rD   r   r.   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   continuous_familiesdiscrete_familiesrp  r   r   r   r  r  r  r  r   r   r   r   r   r  r   Sobolr  rz  r  r  r  r  rF  r	  rZ  rl  r  r  r  rv   rI   r6   <module>r     s    	      7 E E % %   0 (  <' ' ' O N ? 1 1y6 y6x"NL 
	    !22! !B 'F"4$l0$f$@WGttH F9-UWf$56'898*-bii&9&93::syy%QR9 S . : 7 .
9<%N$8@,F  w wtT7 T7n
G" G"RE9 E9PO
 O
dK% K%\T& TtB tBrI   