
    (ph
6             
          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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J,r,J-r-   " S S5      r.S7S jr/\)\,\-\*/r0 " S S5      r1S r2S r3S r4S r5S r6S r7S r8\Rr                  Ru                  S\,45      \Rr                  Ru                  S\;" 5       S/5      \Rr                  Ru                  S\;" 5       S/5      \Rr                  Ru                  SS /5      \Rr                  Ru                  S!\Rx                  Rz                  \R|                  \R~                  /5      S" 5       5       5       5       5       r@S# rAS$ rBS% rCS& rD " S' S(5      rE " S) S*5      rF " S+ S,5      rG " S- S.5      rH " S/ S05      rI " S1 S25      rJ " S3 S4\#5      rK " S5 S65      rLg)8    N)deepcopy)inf)assert_allcloseassert_equal)
strategiesgivenreproduce_failuresettings)stats)_kolmogorov_smirnov)kolmogn)qmc)distcont)
_Domain_RealDomain
_Parameter_Parameterization_RealParameterContinuousDistributionShiftedScaledDistribution_fiinfo_generate_domain_supportMixture)StandardNormal_LogUniform_Gamma)NormalUniformc                      \ rS rSr\R
                  R                  S5      rS r\	R                  R                  S\R                  SSSS9\R                  * \R                  /5      S 5       r\	R                  R                   \" \R&                  " S	S
S9\R*                  " 5       \R*                  " 5       \R,                  " 5       S9S 5       5       r\	R                  R                  S\R                  * \R                  SSS4S/5      S 5       r\	R                  R                   \" \R2                  " \R4                  " SS9\R6                  " SS9\R8                  " \" \R>                  5      5      5      \R2                  " \R4                  " SS9\R6                  " SS9\R8                  " \" \R>                  5      5      5      \R*                  " 5       \R*                  " 5       S9S 5       5       r S r!Sr"g)Test_RealDomain   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      T/var/www/html/venv/lib/python3.13/site-packages/scipy/stats/tests/test_continuous.pytest_ivTest_RealDomain.test_iv   s9    z2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)r/   r5   r$   r%   r0   s        r2   test_contains_simple$Test_RealDomain.test_contains_simple#   s?     w1vGV__Q'!%AF);<    r9   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_valuer8   g     @@)elementsr6   r#   r>   r$   r0   r%   z<=<z(a z	 x) & (x z b))r.   drawnpstarraysfloating_dtypesr@   concatenatelinspacer   define_parametersr   rB   evalr   )r/   rI   rJ   rK   rL   input_shapesresult_shapeshape_ashape_bshape_x
a_elements
b_elementsr$   r%   dr5   r0   resleft_comparisonright_comparisonrefs                        r2   test_containsTest_RealDomain.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 z(3'AC  KM!J!/KM!J	L ooa0 #.$3#.4CS)3C2DCHIS#rE   caseFTz(-\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 )Nr8   r:   r>   )r   str)r/   rl   r0   s      r2   test_strTest_RealDomain.test_strX   s2    
 tBQx4!9E6{d1g%%%rE   )rO   L)whitelist_categories)r$   r%   rJ   rK   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[(])r>   , )r   symbolsgetr   ro   )	r/   r$   r%   rJ   rK   left_bracketright_bracketr0   ri   s	            r2   	test_str2Test_RealDomain.test_str2`   s}     OO%OO%)ss*v(3'ACqcA3}o66{c!!!rE   c                 ^    [        SS9n[        SS9nUR                  UR                  Ld   eg )Nr   rN   r&   )r   rz   )r/   domain1domain2s      r2   test_symbols_gh22137$Test_RealDomain.test_symbols_gh22137x   s.     //goo555rE    N)#__name__
__module____qualname____firstlineno__r@   randomdefault_rngrngr3   r*   markparametrizeuniformr   rA   rC   slowr   rW   mutually_broadcastable_shapesr   booleansrL   rj   rp   one_ofdecimals
characterssampled_fromlistr   rz   r~   r   __static_attributes__r   rE   r2   r    r       s   
))


0C1 [[S3;;r2I;#F$&FF7BEE#3 4=4= [[
$44AN!**,!**,!#&	# 
&P [[V
&&"%%&78'& &	& [[
Ze,37W__ 568 e,37W__ 568 "**,!**,

"
 
"6rE   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   rN   )rR   rF   )r   proportionsi_parameterizationr   )rH   typical)parameter_valuesr   r   regionr   TTprT   )r   r   ignoredivideinvalid)_num_parameterizationsrV   r   integers_num_parametersrW   r   _drawtuplebroadcastable_shapes	_variable_parametersr@   broadcast_shapesr   r   errstatelog)familyrL   r   r   rH   n_parameterizationsin_parametersrI   r_   distx_shaper5   x_result_shapey_shapeyxy_result_shapep_domainp_varr   logps                        r2   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6<0H3x0E

7
=A	Hh	7vvay 
8 Aq$oMM 
8	7s   G  
Gc                      \ rS rSr\R
                  R                  S5      \" SS9\R
                  R                  S\	5      \
" \R                  " 5       \R                  " SS9S9S	 5       5       5       5       r\R
                  R                  S
5      \R
                  R                  S\	5      \R
                  R                  SSSS1S4SSS1S4SS1S4SS1S4SS1S4SS1S4SS1S4SS1S4SS1S4SS1S4S1 SkS4S1 SkS4S 1 SkS4S!1 SkS4S"S#S$1S%4S&S#S$1S'4/5      \" SS9\
" \R                  " 5       \R                  " SS9S9S( 5       5       5       5       5       rS) r\R
                  R                  S*SS!/5      S+ 5       r\R
                  R                  S*SS!/5      S, 5       rS- rS. rS/ r\R
                  R                  S*SS /5      S0 5       rS1rg)2TestDistributions   <      )max_examplesr   r   rQ   rL   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_dimsrH   max_sider   r   r   samplerN   re   r   )r@   r   r   r   rV   rW   array_shapesr   check_supportcheck_moment_funcscheck_sample_shape_NaNsr   Halton)r/   r   rL   r   r   r   tmpr   r5   r   r   r   r_   r   r   sample_shapeqrngs                    r2   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r6   zfunc, methods, argentropylog/exp
quadratureN
logentropymedianicdfmodeoptimizationmeancachevarianceskewnesskurtosispdfr5   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   )r5   r   r   r   )r   r   overr   r8   r   r   FTr   addition)r   r*   skipr@   r   r   r   r   check_dist_funcr   standard_deviationr   
isinstancer   
check_cdf2check_ccdf2)r/   r   rL   r   funcmethodsargr   r   r   r   r5   r   r   r   r_   r   r   argss                      r2   
test_funcsTestDistributions.test_funcs   sa   . WKKABii##D) ++F#KMPJt>?*[[(J{D,HDI~wO	 K :D335q8$--/J [[(Jd$=>>5=+nGtUA/7KtT1'JV^)lGeQ?GLdA/7K KJ KJ KJs   7)E/A%E.
E+.
E<c                      SS K Jn  [        SSS9nUR	                  5       nX1R                  5       :X  d   eg ! [         a     g f = f)Nr                 ?r#   )matplotlib.pyplotpyplotImportErrorr   plotgca)r/   pltXaxs       r2   	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   rN   r   rtolr   r   tolr@   asarraygetattrr   r   )	r/   r  r  r   r   ifuncr5   p1p2s	            r2   test_complement_safe&TestDistributions.test_complement_safe  s    LLNJJd|$q&3{?+!I&!-.!L)RUBqE"!u1~~1qt!%%0rE   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   rN   r   r  r  )r/   r  r  r   r   r  x1x2s           r2   test_icomplement_safe'TestDistributions.test_icomplement_safe  s    LLNJJd|$q&3{?+1./1\*RUBqE"!u1~~RUQqT6rE   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  )r6      )r*  r)  r+  r6   r   r  subtraction_safesubtractionr  )#BǻO
㒻#B;O
;r.  )r/  r.  r1  r0  r0  r   )	r   r   r  r   r   r   r@   r  r   )r/   r  r5   r   p0r  r   s          r2   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+rE   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>._Normali7  c                    > [         R                  " [        TU ]  " S0 UD65      nSUS'   [         R                  US'   U$ )Nr   r   )r@   r  super_entropy_formular   )r/   paramsout	__class__s      r2   r;  HTestDistributions.test_logentropy_safe.<locals>._Normal._entropy_formula8  s9    jj!9!CF!CDA&&B
rE   r   )r   r   r   r   r;  r   __classcell__r>  s   @r2   _Normalr7  7  s     rE   rB  rN   r8   r9   sigmar   r   logexp_safer  logexpr   r   r9  rN   )r   r   r@   r   r   isinfallr   )r/   rB  r  res1res2ri   i_fls          r2   test_logentropy_safe&TestDistributions.test_logentropy_safe5  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)NrC  rD  )rN   ,  )ir8   -  r   rF  rG  r  rH  r   r   r9  rN   )r   r   r@   r   r   rI  rJ  r   )r/   r  r5   r   rK  rL  ri   rM  s           r2   test_logcdf2_safe#TestDistributions.test_logcdf2_safeJ  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)Nr8   rD  r   rQ  rN   rS  r   rF  rG  r  rH  r   r   )r   r   r  r@   r   )r/   r  r  r5   r   rK  rL  ri   s           r2   test_logexp_safe"TestDistributions.test_logexp_safeZ  s     LLq!$0T1IsAhq&[[)-0D(+D * 1\*Aw#a&   Aw$q'!!!Aw$q'!!!Aw#a&    *)s   B
B'r   )r   r   r   r   r*   r   	fail_slowr
   r   familiesr   r   rL   r   r   r   r  r!  r&  r3  rN  rT  rW  r   r   rE   r2   r   r      sY   [[22[[Xx0

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

!
(;(;a(HIL J %! 1 ,LB [[]UFO<1 =1 [[]UFO<
7 =
7,,,*,  [[]Xy,AB! C!rE   r   c                 P   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H<  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[        R$                  " [        R&                  " X5      5      (       a   e[        X5        GM?     g )	Nr   inverse_transform__formular  )r  r   r   *   )r   
_overridesr   r   	QMCEngineaddr@   broadcast_toget_valid_parametersshaper   testingdtype_dtypeisscalarrJ  isfinitenananyequal)r   fnamer   r_   r   
full_shapesample_methodr   r  rf   valid_parameterssample1sample2s                r2   r   r   i  sG   ,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66"((301111W&' rE   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)ru  check_nans_and_edgesre  _shaperg  rh  )r   r$   r%   s      r2   r   r     s    <<>DAy$2y$277dkk!!!77dkk!!!77dkk!!!77dkk!!!rE   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   r  gH׊>r]  r^  r  r   )r   copyr*   r+   NotImplementedErrorr  rv  r`  rb  r@   rf  r   re  ri  r   exprg  )
r   rn  r   r_   r   r   ri   tol_overrider  rf   s
             r2   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(       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 )N_logcdf2_formular  _logcdf_formula_logccdf_formular-  _cdf_formula_ccdf_formular   _cdf2_formular  +=ry                  )r~  r`  rb  r   r@   rf  r   re  r   ri  r  r   r   rg  	r   r   r5   r   r_   r   ri   r  rf   s	            r2   r   r     s    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;>rvvdkk!vk67HHQ&H1 	


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


		<857";;s#### rE   c           	      V   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 H  n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  M  [
        R                  " U5      (       a  M   e   g )	Nr]  r    ccdf2_formular  r  r  r  )r~  r`  rb  r   r   r@   rf  r   re  r   ri  r  r   r   rg  r  s	            r2   r   r     s-    llnGC5R0>??I
((1+		!
$CJJCII|4uw{{3<?rvvdll1l78IIa6I2 	


""3%"8


		3995


		<857";;s#### rE   c                 T   [        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S	;   a  [        X>   [        R                  * 5        [        X?   [        R                  * 5        [        UUU) -     [        R                  * 5        [        UUU) -     [        R                  * 5        GOFUS
;   aD  [        X>   S5        [        X?   S5        [        UUU) -     S5        [        UUU) -     S5        GOUS;   aF  [        X>   [        * 5        [        X?   S5        [        UU   [        * 5        [        UU   S5        GOUS;   a<  [        X>   S5        [        X?   S5        [        UU   S5        [        UU   S5        GOnUS;   aF  [        X>   S5        [        X?   [        * 5        [        UU   S5        [        UU   [        * 5        GO"US;   a;  [        X>   S5        [        X?   S5        [        UU   S5        [        UU   S5        OUS;   ak  [        X9S:H     [        R                  5        [        X9S:H     [        R                  5        [        X8S:H     XS:H     5        [        X8S:H     XS:H     5        OpUS;   aj  [        X9S:H     [        R                  5        [        X9S:H     [        R                  5        [        X8S:H     XS:H     5        [        X8S:H     XS:H     5        US;  a4  [        R                  " X;US:H  -     5      R                  5       (       d   eg g )N>   r   r   r   r   r>   >   ilogcdfr   r   r9  rN   >   r   >   r   >   r   >   r   >   r   >   r   >   r   r  >   r   r   >   r   r{  ru  r   r|  )rd  r   r   r   r0   classify_argr@   broadcast_arraysr   rk  ru  rc  re  rj  rJ  )r   rn  r   rf   rq  
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_pluss                     r2   rv  rv    s   +D1!! 6\J
	)	) SD!9M
^^**
"4j9O)+)<)<=M *O>M*O&4C1I[,I &'0rvv&<<>DA
99%A
99%A$*.>>#q(,<<&",0@@%*.>> 
S+bffW5S*RVVG4S+yj89BFF7CS*iZ78266'B	'	S+Q/S*A.S+yj891=S*iZ78!<	*	S+cT2S*A.S+,sd3S*+Q/	'	S+Q/S*A.S+,a0S*+Q/	+	S+Q/S*SD1S+,a0S*+cT2	(	S+Q/S*A.S+,a0S*+Q/	%	%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MM{{3LA,=>?@DDFFFF NrE   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         T R                  SS5        T R                  SS5        T R                  SS5        [        SS5       HB  nT R                  USS
S9nU" USSUU" US5      S	9  T R                  US5        U" USSU5        MD     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XdS-  -  -  nUR                  U:X  d   eU" USSUU" US5      S	9  U" USSXTS:*  S	9  U" USSU5        Ma     [        T [        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  r6   r  )momentr   re  r*   r+   r  )orderkindr  ri   successrf   ry  r   s         r2   check!check_moment_funcs.<locals>.check`  si    ++e&+9CC4E	>:99		)))23E7 433s    A::
Bc           	         > SU S3nTR                  U5      nU(       d  g[        TU5      n[        US[        [        S5      5      5      nX;   $ )N_moment_r^  Forders   )r`  r  setrange)r  r  formula_name	overridesr  r  r   s         r2   has_formula'check_moment_funcs.<locals>.has_formulai  sO    !$x0OOL1	$-(CaM:rE   r  rawr   F)r  r   r  r  r  generalr   quadrature_icdfcentralrN   r8   	transformstandardizedrm   r9   	normalize)NNT)reset_cacher  r  rv  re  r>  r   r   r   r   r   )r   r_   r  r  r   ri   varry  s   `      @r2   r   r   X  s    D8 8 	 1Xa/kk!U<k8T8T37yyL(((awT2a	3Au0EFa	3a9>>U\\)!U-sDA  	 	KK9KK91a[kk!U<k8aS!!Y/Q;q.3Q	SAy!aS)  	 1XaGU3kk!Y|k<yyL(((aGS$7aIsK94MNaIsF;>>U\\)!Y 13E%--/AF !YS%a/;AF=1e$$KK5!!YS1# & 	 	KK>"KK>"KK>"1a[kk!Y|k<aK!!^4	6A~&aK-  ++a<+
8C1Xa%8kk!Y|k<s1u~MyyL(((aC!!^4	6aCa@ac2  $122 	 3rE   r   r   )r8   r9   
dist_shape)r:   rN   rn  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   rN   r   r   )axisF)r   g{Gz?)r@   r   r   r   r*   r   r   r   	Generatorre  r   r   r<   sum)r   r  r   rn  r  r   num_parametersr   nsample_sizesample_array_shaperp  r5   	statisticpvaluep_thresholdnum_pvaluesnum_small_pvaluess                     r2   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8rE   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rg  r   )r   _parameterizationsupdate
parametersr@   onesrw  boolitemsr0   r-   r?   r   rB   _invalid)r   r   r  parameterizationr  namevalue	parameterr$   r%   
a_included
b_includedvalids                r2   rd  rd    s    ''J 33*556 4 40I'--/!$	
 77- 8 /!*!1!1!;!;
 *	%*:U,,55 6 6 	7 		# 0* )T]]+rE   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  r9  rN   )r@   r  rw  r  zerosr-   r   r  r?   re  intisnan)r   r   r  
valid_argsendpoint_argsoutside_argsnan_argsr$   r%   r  r  insideonoutsiderk  s                  r2   r  r     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##rE   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=  r5   rT   r   N)r   r   r   r   r   r   r   r   r   rE   r2   Testr  =  s    "3{}=	rE   r  z`The `Test` distribution family does not accept parameters, but parameters `{'a'}` were provided.r(   rN   r$   zAAttribute `tol` of `Test` must be a positive float, if specified.r  rC  r9  zEArgument `order` of `Test.moment` must be a finite, positive integer.z2Argument `kind` of `Test.moment` must be one of...r8   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>.Test2iZ  crT   re   r5   r   N)r   r   r   r   r   r   _p1_p2r   r  r   r   r   rE   r2   Test2r  Z  s<    S7S7/S9:"3{}=	rE   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  re   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+   
ValueErrorr@   r  rk  r  r   r   r,   objectr   )r  r1   r  r   s       r2   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 )Nr9  r8   r6   r#   r_  r   r   )	r.   r   r   pickleloadsdumpsr   r@   rJ  )kwargsdist1dist2dist3rK  rL  res3s          r2   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$,rE   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   r@   rJ  r  r  )r/   r   r1   r   cached_meanquadrature_means         r2   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(   g      )r   r   r  r  r   r  r  gGz?r   )r   r   r*   r+   r  r  r@   rk  r   r   absr   )
r/   r5   r  r1   X1X2ri   rK  rL  r   s
             r2   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   rN   r#   r8   skip_all       @r  r  )r$   r%   validation_policyr9  c                        \ rS rSrS rS rSrg)0TestAttributes.test_iv_policy.<locals>.MyUniformi  c                     gN	incorrectr   )r/   r   r  s      r2   r;  ATestAttributes.test_iv_policy.<locals>.MyUniform._entropy_formula      "rE   c                     gr  r   )r/   r  r<  s      r2   _moment_raw_formulaDTestAttributes.test_iv_policy.<locals>.MyUniform._moment_raw_formula  r  rE   r   N)r   r   r   r   r;  r  r   r   rE   r2   	MyUniformr    s    ##rE   r!  r  r  )r  r  z/Attribute `validation_policy` of `MyUniform`...r(   r   )
r   r   r  r@   r  r   r  r*   r+   r  )r/   r  r$   r%   r!  r1   s         r2   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)NrN   r8   murE  r9   r   r6   )r   r   r&  rE  r*   r+   AttributeError)r/   r  Ys      r2   test_shapesTestAttributes.test_shapes  s    LLAQ'LLQCq) ttqyyww!||ttAw!||wwqzQ ]]>*AD + QttAw!|| +*s   C		
Cr   N)	r   r   r   r   r
  r  r"  r)  r   r   rE   r2   r  r    s    &*P1<,>rE   r  c                   p    \ rS rSr\R
                  R                  S\" \5      5      S 5       r	S r
S rSrg)TestMakeDistributioni	  zi, distdatac           
      V	   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SS1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       UR-                  5       US9  ['        UR/                  5       UUUS9  ['        UR1                  5       UUUS9  X7;  a  ['        UR3                  5       UUUS9  X8;  a  ['        UR5                  SS 9UUUS9  ['        UR7                  U5      UR7                  U5      US9  ['        UR9                  U5      UR9                  U5      US9  ['        UR;                  U5      UR;                  U5      US9  ['        UR#                  U5      UR#                  U5      US9  X9;  a)  ['        UR=                  U5      UR?                  U5      US9  ['        URA                  U5      URC                  U5      US9  ['        URE                  U5      URG                  U5      US9  ['        URI                  U5      URK                  U5      US9  [M        S!5       HC  nX:R                  U0 5      ;  d  M  ['        URO                  US"S#9URO                  U5      UUS9  ME     [M        S$S%5       H9  nX;;  d  M
  ['        URO                  US&S#9UR                  SUS-
     5      UUS9  M;     S'n['        UR!                  SUS9URQ                  S[        R                  R                  U5      S(9US9  S S S 5        g ! , (       d  f       g = f)*Nr   >   argusksonekstwokappa4exponpowgenexpongompertz	exponweib	johnsonsb	kstwobign	powernormhalfgennormpowerlognormrecipinvgaussvonmises_linestudentized_rangeSCIPY_XSLOW0zSkipping as XSLOW>   vonmiseslevy_stablegh㈵>)r/  r0  r7  pearson3r2  r/  >   chir/  r0  r2  invgammar6  >   triangarcsine	trapezoid
skewcauchy>   levyalphalevy_l
foldcauchy
halfcauchyparetorD  r7   ry   rN   l   s4XF r6   re  r   gHz>r  r   r   mvskr  )r  ry  excessr  rm   r  r  r9   r:   r  l   1XS+- )r<   random_stater   ))r  osenvironr{   r*   r   r  r   rI   r.   zipsplitr@   r   r   make_distributionr   r   r   r   ru  r   r   r   r   r   r   r   r   r   r   logsfr   sfr   ppfr   isfr  r  rvs)r/   r   distdatadistnamer   custom_tolerancesskip_entropyskip_skewnessskip_kurtosisskip_logccdfskip_rawskip_standardizedr   r<  r   CustomDistributionr  r(  r5   r   r  ry  mvskr  r   s                               r2   test_make_distribution+TestMakeDistribution.test_make_distribution
  s   A;T 2::>>-5668;KKK+, 
 
  '+T:#Z0#W-8G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AHHJ
>AFFHad>AJJL!$TB,

adF,

h
 ?%)6AHHQK!4@AEE!HaeeAhT:AHHQK!4@AEE!HaeeAhT:+		!aggajtDAFF1IqttAwT:AFF1IquuQxd;AGGAJat<q<<r#::#AHHUH$?$%HHUO$TK " q!4#AHHUH$H$%GGF57O$<4dT % #DAHH24H8EEr		8M8Md8SET!%'? <;;s    I1R?RA9R
R(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.z4The argument must be an instance of `rv_continuous`.)	r*   r+   r  r   rW  rA  r@  r  r  r/   r1   s     r2   r  *TestMakeDistribution.test_input_validationT  s    3]].g>##E$5$56 ? 1]].g>##ENN3 ? I]]: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_namesr8   r  zGamma(a=2.0)2zGamma(a=np.float64(2.0))Gamma)betazHalfGeneralizedNormal(beta=2.0)z+HalfGeneralizedNormal(beta=np.float64(2.0))HalfGeneralizedNormal)(scipy.stats._distribution_infrastructurerq  keyshasattrr   rW  gammaro   r@   __version__repr__doc__r9  )r/   rq  r   s      r2   test_repr_str_docs'TestMakeDistribution.test_repr_str_docsa  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6rE   r   N)r   r   r   r   r*   r   r   	enumerater   rk  r  r}  r   r   rE   r2   r,  r,  	  s8    [[]Ih,?@G' AG'R.7rE   r,  c                   N   \ rS rSrS r\R                  R                  S5      \" \	R                  " 5       \	R                  " SS9S9S 5       5       r\R                  R                  S5      \R                  R                  S	S
S/5      S 5       5       r\R                  R                  S5      \R                  R                  S/ SQ5      \R                  R                  S5      S 5       5       5       r\R                  R                  S5      S 5       rS rS rS rS rS rSrg)TestTransformsis  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,' r9   rN   )lbubr9   r6   rR  r        ?ri  rj  r9   r6   )'r@   r   r   minimummaximumr   truncater   	truncnormr\  r   r   r   r   r   r   rZ  r   r   r  r   sqrtr   r   ru  r   r   rY  r   r   r[  r   r   r   rX  r  r   r   rJ  )	r/   r   r  r  r(  Y0r   r   r   s	            r2   test_truncateTestTransforms.test_truncatev  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4rE   r6   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 )N)r:  __init__r   )r/   r   r  r>  s      r2   r  ATestTransforms.test_loc_scale.<locals>.TransformedNormal.__init__  s     !1CDCFCrE   r   )r   r   r   r   r  r   r@  rA  s   @r2   TransformedNormalr    s    D DrE   r  )rN   r   r   r   rN   )r   rH   )locscaler   r   r8   r  rm   r  r  r  )'r@   r   r   r   r   r  r  r   r   normru  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  rw  )r/   rL   r   r   r  r   r   r5   r   r   r   r_   r   r   r  r  dist0dist_refx0y0r$   r%   a0b0r   zs                             r2   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rm   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  r  r  )r  r  r  r  ri  rj  r9      M [ r   )%r@   r   r   r   r   r  elognormr\  r   r   r   r   r   r   rZ  r   r   r  r   r  r   r   ru  r   r   rY  r   r   r[  r   r   r   rX  r  r   r   )r/   r  r   r&  rE  r  r(  r  r   r   r   s              r2   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GrE   r  )rN   r8   r9  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  r  r  r   r  rO  r   r   r  r   )r@   r   r   r  r  r   rW  rD  r   r   r   r   r   r   r   r   ru  r   r   r   r   r   r   r   r   r  r   )r/   r  r   r$   r  InvGammar  r  r(  r   r   r   r   s                r2   test_reciprocalTestTransforms.test_reciprocal&  s[    ii##N3JJv
 ggenc%je **5>>:\HqM)  !8FQK&1+IIIGI-FF1Ivvayrzz|(<=		RZZ\2
BIIK0		RZZ\2a"&&),a"&&),q	2771:.q	2771:.
BHHQK0RYYq\2RYYq\2		!bjjm4[[(;AIIdORZZ-=>AJJt,bkk$.?@ < T*E8883E,FG	 <;s   -AM55
Nc           	         [         R                  R                  S5      nUR                  S5      n[        US9n[        R
                  " U5      n[        R                  " U5      nUR                  SUS9nUR                  U5      n[        UR                  5       [         R                  " UR                  5       5      5        [        UR                  5       UR                  5       5        [        UR                  5       UR                  S5      5        [        UR                  5       UR                  5       5        [        UR                  5       UR!                  5       5        [        UR#                  5       [         R$                  " UR!                  5       5      5        [        UR'                  5       UR	                  S5      5        [        UR)                  5       UR	                  S5      S	-   5        [        UR+                  5       UR+                  5       5        [        UR-                  U5      UR-                  U5      5        [        UR                  U5      UR                  U5      5        [        UR/                  U5      UR1                  U5      5        [        UR3                  U5      UR                  U5      5        [        UR5                  U5      UR7                  U5      5        [        UR9                  U5      UR9                  U5      5        [        UR;                  U5      UR;                  U5      5        [        UR=                  U5      UR?                  U5      5        [         R@                  " S
S9   [        URC                  [         R                  " U5      5      UR                  U5      5        [        URE                  [         R                  " U5      5      UR7                  U5      5        S S S 5        Sn[        URG                  US9[         R                  " URG                  US95      5        g ! , (       d  f       NK= f)Nr  r  r  r  r  r  ri  rj  r9   r   )r   r  r   )$r@   r   r   r   r   loggammar   r\  r   r   r   r   r   rZ  r   r   r  r   r  r   r   ru  r   r   rY  r   r   r[  r   r   r   rX  r   r  r   r   )	r/   r   r$   r  r  r(  r   r   r   s	            r2   test_logTestTransforms.test_logQ  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)NrN   r8   r#   zUniform(a=1.0, b=2.0)zlog(rx   z1/(zexp(r9  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   ro   r   r   r  r*   r+   r  )r/   r  X_strr1   s       r2   test_monotonic_transforms(TestTransforms.test_monotonic_transformss  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(\?r9   d   r#   )r@   r   r   r   r   r   r   r   )	r/   r   r$   r%   r  r  r5   r(  r  s	            r2   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":;rE   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  r  r  r  r  r  ri  rj  r9   r6   r   )%r@   r   r   r   r  r   foldnormr\  r   r   r   r   r   r   rZ  r   r   r  r   r  r   r   ru  r   r   rY  r   r   r[  r   r   r   rX  r  r   r   rJ  )r/   r   r  r(  r  r   r   r   s           r2   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!!!!rE   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 )Nr8   )r  rN   )r   rW  weibull_minr  r   r   r   r   r   r   r   )r/   Weibullr  r(  s       r2   test_abs_finite_support&TestTransforms.test_abs_finite_support  s     ))%*;*;<aLGQXXa[!((1+.QUU1XquuQx(QXXa[!((1+.QUU1XquuQx(QYYq\199Q<0QVVAYq	*rE   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  r8   rN   )dfr6   r  r  r}  r  ri  rj  r9   r   )$r@   r   r   r   r   chi2r\  r   r   r   r   r   r   r   r   r  r   r  r   r   ru  r   r   rY  r   rZ  r   r[  r   r   r   rX  r  r   r   rJ  )r/   r   r(  r  r   r   r   s          r2   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!!!!rE   r   N)r   r   r   r   r  r*   r   rY  r   r   rL   r   r  r   r  xfail_on_32bitr  r  r  r  r  r  r  r   r   rE   r2   r  r  s  s.    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<$"@+"rE   r  c                   b    \ rS rSr\R
                  R                  S5      S 5       rS rS r	Sr
g)TestOrderStatistici  r   c                 
   [         R                  R                  S5      n[        SSS9nSn[         R                  " S/S/S//5      n[
        R                  " X#US9n[
        R                  " XCS-   U-
  5      nUR                  SUS	9nUR                  U5      n[        [         R                  " UR                  5       5      UR                  5       5        [        UR                  5       UR                  5       5        [        UR                  5       UR                  5       5        [        UR                  5       UR!                  5       5        [        UR#                  5       UR                  S
5      SS9  [        UR%                  5       UR                  S5      S-   SS9  [        UR'                  5       UR)                  S5      5        [        UR+                  5       UR+                  5       5        [        UR-                  U5      UR-                  U5      5        [        UR                  USS9UR                  USS95        [        UR/                  USS9UR/                  USS95        [        UR1                  USS9UR1                  USS95        [        UR3                  USS9UR3                  USS95        [        UR5                  U5      UR5                  U5      5        [        UR7                  U5      UR7                  U5      5        [        UR9                  U5      UR;                  U5      5        [         R<                  " SSS9   [        UR?                  [         R@                  " U5      5      UR)                  U5      5        [        URC                  [         R@                  " U5      5      URE                  U5      5        S S S 5        Sn	[F        RH                  " [J        U	S9   [
        R                  " X#SS9  S S S 5        [F        RH                  " [J        U	S9   [
        R                  " USUS9  S S S 5        [F        RH                  " [J        U	S9   [
        R                  " X#SS9  S S S 5        [F        RH                  " [J        U	S9   [
        R                  " USUS9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nz= f! , (       d  f       g = f)Nl   Cvu= r   rN   r#   rm   r9   )r  rr  r  ri  rz  r  rj  r  r  r  r   r   r   r   z0`r` and `n` must contain only positive integers.r(   r9  r  )&r@   r   r   r   r  r   order_statisticrt  r\  r   r   r  r   r   r   r   r  r   r   r   rZ  ru  r   r   r   r   r   r   r   rX  r   r  r   r   r[  r*   r+   r  )
r/   r   r  r  r  r(  r  r   r   r1   s
             r2   test_order_statistic'TestOrderStatistic.test_order_statistic  sf   ii##$45a1JJaS1#'!!!A.ZZq519%FF7F-FF1I 	q||~.

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

bffh/

bhhsm%@

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


""266!9bffQi8rE   r   N)r   r   r   r   r*   r   rY  r  r  r  r   r   rE   r2   r  r    s.    [[2(1 (1T29rE   r  c                       \ rS rSrS rS r\R                  R                  S\	R                  \	R                  4\	R                  \	R                  4/5      S 5       rS rS rS rS	 rS
rg)TestFullCoveragei<  c                    [         R                  " [        5         [        R                  " S S5        S S S 5        [         R                  " [        5         [        R
                  " S S5        S S S 5        [         R                  " [        5         [        R                  " S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       NY= f! , (       d  f       g = fNr  )r*   r+   r  r   rB   r-   __str__r/   s    r2   test_DomainTestFullCoverage.test_Domain?  s~    ]]./T2& 0]]./++D"5 0]]./OOD! 0/	 0/////s#   B/C C/
B= 
C
Cc                     [         R                  " [        5         [        R                  " S S5        S S S 5        g ! , (       d  f       g = fr  )r*   r+   r  r   validater  s    r2   test_ParameterTestFullCoverage.test_ParameterG  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)r9  rN   r5   rT   r  g      @r  r  TF)r   r   r@   r  r  r   )	r/   r  r  r0   r  r5   arrrg  r  s	            r2   "test_RealParameter_uncommon_dtypes3TestFullCoverage.test_RealParameter_uncommon_dtypesK  sj     W%"3v6	JJSz2%..q2.FES!!!UT5M*rE   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]  r5   )r  r  r&   rT   c                     g)Nr   r   r/   r5   r   r  s       r2   _logpdf_formula^TestFullCoverage.test_ContinuousDistribution_set_invalid_nan.<locals>.TestDist._logpdf_formula_  s    rE   r   N)	r   r   r   r   r   r   r   r  r   r   rE   r2   TestDistr  ]  s    &s;3RSIrE   r  r  r  )r   r@   float32rh  r  r   rg  )r/   r  r  rg  r5   s        r2   +test_ContinuousDistribution_set_invalid_nan<TestFullCoverage.test_ContinuousDistribution_set_invalid_nanX  sT    
	- 	
 J

JJuE*xx{  E)))rE   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  rN   )r   r@   float64maxfinfoint64iinfor  s    r2   test_fiinfoTestFullCoverage.test_fiinfoh  sj    rzz"~&**bhhrzz.B.F.FFFFrxx{#''288BHH+=+A+AAAArE   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   )r/   msgs     r2   test_generate_domain_support-TestFullCoverage.test_generate_domain_supportl  sJ    &~63s:::&v.-444&{3.#555rE   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   rN   r#   rr  zUniform(a=0.0, b=1.0)z-Uniform(a=np.float64(0.0), b=np.float64(1.0))r9   r8   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   r@   rz  r{  r  r  r  )r/   r  s     r2   #test_ContinuousDistribution__repr__4TestFullCoverage.test_ContinuousDistribution__repr__v  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
 	
 
rE   r   N)r   r   r   r   r  r  r*   r   r   r@   float16int16r  r  r  r  r
  r  r   r   rE   r2   r  r  <  sl    "* [[6 "

BJJ7 ""**578+8+* B6
rE   r  c                      \ rS rSr\" SSS9r\" \R                  " S5      \R                  " S5      S9r\	" SSS9r
\	" SSS9r\	" \R                  " S	5      SS9r\R                  R!                  S
\\\R"                  " SS/5      -
  \R$                  " \\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   rN   r#   r  r  r9  r%  i  r   r  rr  z#numpy 1.x didn't have dtype in repr)reason)marksr8   r  r9   r:   rm   r  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   r6   i  rO  )numpyr  r  scipy.statsr  r  r   r  r  r   r   scipy.stats._new_distributionsr   r]   r{  r   r   rg  )r/   r   r  r  r  r  r   r  r  r   r   r   new_distrr  rs  s                  r2   test_executableTestReprs.test_executable  sg    L 	 !HH/:T
#++BD+1///5W&}}---rE   c                 8    [        [        U5      5      S:  d   eg )N   )lenr{  )r/   r   s     r2   test_not_too_longTestReprs.test_not_too_long  s    $ 4:$$$rE   r   N)#r   r   r   r   r   Ur@   r  Vr   r  r(  r  r  r*   r   r   r  paramskipifrz  r  r  r   r  r  r   r  r  r   r  fullaranger"  r   r   rE   r2   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	
%%rE   r  c                   ^    \ rS rSr\" S\" \R                  * \R                  4S9S9rS r	Sr
g)	MixedDisti  r5   r&   rT   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皙?皙?r8         g      ?333333??r  )r@   r  rA   r  r  s       r2   _pdf_formulaMixedDist._pdf_formula  s    rwwqw//0266$4q?P:P3QQ3255!112RVVD1S5#+PQAQ<Q5RRS 	TrE   r   N)r   r   r   r   r   r   r@   r   r   r2  r   r   rE   r2   r+  r+    s(    s;266'266AR+STITrE   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...rC  z5All elements of `components` must have scalar shapes.rN   r8   )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.r  r/  )r*   r+   r  r   r   rn  s     r2   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re  r   )r6   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  r1  r-  r0  r  c                    > TS:X  a  [         R                  " U 5      (       d   e[         R                  R                  " X40 UD6  g )Nr   )r@   ri  rf  r   )rf   ri   r  re  s      r2   r   /TestMixture.test_basic.<locals>.assert_allclose  s6    {{{3''''JJ&&s:6:rE   )r  r  r  rm   r  rz  r  )r6   r   rm   r   g?)!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   re  r   ks_1sampravelr  )
r/   re  r   r  r(  r5   r   r  r  r   s
    `        r2   
test_basicTestMixture.test_basic  s   ii##$67VuC0&Cs2KL&(KJJu	;
 	7		QYY[1!&&(+
AHHJ/!&&(+

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

ajjl3

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

1qzz!}5
AGGAJ/6Dq : ! :%*, " 7 HHUH$ww%~~aggi/66===rE   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:   rR  )	r   rW  ry  r   r@   r[   r   r   dgamma)r/   r$   rs  r  r(  r5   s         r2   test_default_weights TestMixture.test_default_weights1  sn    ''4AJMM1b'"KKAs#a%,,"3"7"7":;rE   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)Nr9  r.  r%  r  r1  r:  r  r6   rN   r   )r   r   r*   r+   r'  
componentsr  )r/   rG  r  r  s       r2   test_propertiesTestMixture.test_properties9  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Rr6   r;   )r@   r   r   r   rW  cauchyr   rf  r   r   r   r  r   )r/   r   CauchyX0r  r   s         r2   test_inverseTestMixture.test_inverseK  s     ii##$;<((6XMM2(#JJBJ


""166!9bggaj9


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


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


""1::a="++a.ArE   N)r   r   r   r   r  r*   r   r   r?  rD  rH  rN  r   r   rE   r2   r5  r5    sB    ?B [[Wr5k2)> 3)>V<*$BrE   r5  )r   )MrS  r  r~  r   r  r@   r   r*   numpy.testingr   r   
hypothesisr   r   r	   r
   hypothesis.extra.numpyextrarW   scipyr   scipy.stats._fitr   scipy.stats._ksstatsr   r  r   scipy.stats._distr_paramsr   rv  r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r    r   rZ  r   r   r   r   r   r   rv  r   r   r   r   r   r  r   Sobolr  rd  r  r  r  r  r,  r  r  r  r  r+  r5  r   rE   r2   <module>rY     s   	      7 E E % %  0 (  .' ' ' O N 'd6 d6N"NL 
	z! z!x'>"4$l)$X$2HGVn| F9-UWf$56'898*-bii&9&93::syy%QR9 S . : 7 .
9<%N$8@,F  w wtg7 g7T" "BE9 E9PO
 O
dK% K%\T& TtB tBrE   