
    _Mh~                     |   d dl Z d dlZd dlmZ d dlZd dlmZ d dl	m
Z
 d dlZd dlmZ ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z! d dl"m#Z# d dl$m%Z% 	 d	Z&e j'        d
k     Z(h dZ)h dZ*h dZ+h dZ,h dZ-h dZ.ddhZ/h dZ0h dZ1h dZ2h dZ3h dZ4dhZ5g Z6g dddZ7ddgg ddZ8 ej9        e7e8gddg          D ]G\  Z:Z; ej<        dti e:de;iZ= ej>        e=e;          Z?e6@                    e? eA            f           Hd  ZBejC        D                    d! eB                      ejC        D                    d"d#g          d$                         ZEd% ZFd& ZGejC        D                    d' eF                      ejC        D                    d(d)g          d*                         ZHejC        D                    d! eB                      d+             ZId, ZJd- ZKejC        jL        ejC        D                    d. eK                      d/                         ZMejC        D                    d0e#          d1             ZNejC        D                    d2g d3          d4             ZOd5 ZPd6 ZQd7 ZRd8 ZSd9 ZTd: ZUd; ZVd< ZWd= ZXd> ZYd? ZZd@ Z[dA Z\dB Z]dC Z^dD Z_dE Z`dF ZadG ZbdH ZcdI ZddJ ZedK ZfdL ZgdM ZhdN ZidO ZjdP ZkejC        D                    dQg dR          ejC        D                    dS ek                      dT                         ZldU ZmdV ZndW ZoejC        jL        dX             ZpejC        jq        dY             ZrdZ Zsd[ Ztd\g gd]d ggd^d ggd_d ggd`d ggdad ggdbd ggdcd ggddd ggdedggdfg gdgg gdhg gdig gdjg gdkg ggZudldmggdng gdodpgggZvejC        D                    dqeuevz             dr             Zwds ZxdS )u    N)raises)IntegrationWarning)stats   )check_normalizationcheck_momentcheck_mean_expectcheck_var_expectcheck_skew_expectcheck_kurt_expectcheck_entropycheck_private_entropycheck_entropy_vect_scalecheck_edge_supportcheck_named_argscheck_random_state_propertycheck_meth_dtypecheck_ppf_dtypecheck_cmplx_derivcheck_picklingcheck_rvs_broadcastcheck_freezingcheck_munp_expect)distcont)rv_continuous_frozen   l        >
   ksonekstwokappa4vonmises
gausshypernorminvgaussrecipinvgaussvonmises_linerel_breitwignerstudentized_range>   pearson3crystalballpowerlognorm>   r   r   r   r    r#   r$   r&   >   r   genexpon	exponweib	johnsonsbtukeylambdar)   genhyperbolic>   ncfncx2r!   r#   r$   >   r   r   	irwinhall	trapezoidtruncparetolevy_stabler&   >   chi2exponlognormpowerlaw
loguniform
reciprocal>   betar0   argusexponpowgengammagompertzr,   	kstwobign	truncnormr!   
wrapcauchygeninvgausshalfgennormr"   genhalflogistictruncweibull_min>)   ftr/   nctburrfisklevyalphalomaxburr12cauchykappa3r   landaulevy_lmielkeparetobradfordinvgammar    	betaprimer+   	genparetor1   	jf_skew_t	johnsonsu	powernormr2   
foldcauchy
genextreme
halfcauchy
loglaplace
skewcauchy
truncexponr(   r3   r-   r)   r$   dpareto_lognormr%   >   r   r   r*   r4   r.   r#   r&   >8   rG   rH   chir/   rI   r;   r5   r0   ricer<   gammar   r   rdistrP   cosinedgammaerlangrR   rS   gennormmaxwelldweibullr>   rW   loggammalogisticnakagamir'   r8   skewnormr    rX   rY   r1   rZ   r,   r@   rA   r]   r!   r_   r9   r:   rC   rD   r-   halflogisticr"   r.   r$   rc   r%   rF   r&   rv_histogram_instance)r      rt      ru   ru      rv   rv   rv   r   r   r   r   r      rw   rw   rw      rx   rx      ry   	   ry   )abins)r   r   
   TFdensity)r~   c               #   &  K   t           d d          t          z   D ]v\  } }| dk    r| t          v r)t          j        | |t          j        j                  V  >| t          v r)t          j        | |t          j        j                  V  p| |fV  wd S )Nr4   marks)	r   histogram_test_instancesslow_test_cont_basicpytestparammarkslowxslow_test_cont_basicxslowdistnameargs     g/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/scipy/stats/tests/test_continuous_basic.pycases_test_cont_basicr   n   s      !!!!'??    #}$$+++,xFK4DEEEEEEE...,xFK4EFFFFFFFC-       zdistname,argsni  c                    	 t          t          |           }n# t          $ r | }d} Y nw xY wt          j                            d          } |j        |||d} |j        | \  }}| dvrt          |||           t          |||            t          |||            t          |||            t          |||            t          |||            t          |||            t          |||            t          |||            t!          |||            t#          |||            d}| dk    rt%          |j        |||           n| dk    rt%          | |||           d}	|j        |j        |j        |j        |j        g}
ddd	d
ddd}|                    | d          }| dk    rd}n| dk    rd}t3          ||||	|
           t5          ||           | dv rt6          rt9          j        d           nt=          ||           t?          ||           | dvrtA          |||            |j!        dk    rtE          ||           |j#        j$        t          j%        j$        k    r!| dk    rtM          ||t          j%                   tO          j(                    5 }|)                    tT          d           |)                    tT          d           |)                    tV          d           tY          ||           d d d            n# 1 swxY w Y   t[          ||           t]          ||           t_          |||
           ta          ||           | tb          vrte          ||           | dk    rtg          |||            d S d S )Nrs    sizerandom_state>   laplace_asymmetric{Gz?rC   r   r               ?g	@333333?      @)weibull_maxrS   rU   r3   r-   rs         ?
invweibullr   r   )ru   r%   fails on Linux 32-bit)r@   r   r/   r   r    z The occurrence of roundoff errorzExtremely bad integrandzinvalid valuerA   )4getattrr   	TypeErrornprandomRandomStatervscheck_sample_meanvar_check_cdf_ppfcheck_sf_isfcheck_cdf_sfcheck_ppf_isf	check_pdfcheck_pdf_logpdfcheck_pdf_logpdf_at_endpointscheck_cdf_logcdfcheck_sf_logsfcheck_ppf_broadcastcheck_distribution_rvscdfpdflogpdflogcdflogsfgetr   r   	_IS_32BITr   skipr   r   r   numargscheck_vecentropy	__class___entropyrv_continuousr   nptsuppress_warningsfilterr   RuntimeWarningr   check_retrieving_supportr   r   r   fails_cmplxr   check_ppf_private)r   r   r   distfnrngr   mvrM   locscale_defaultsmethsspec_xxsups                 r   test_cont_basicr   z   s1   +)) + + +*+ )


'
'C
&*s"
5
5
5C6<DAq---aC(((&#x(((h'''h'''&#x(((fc8$$$VS(+++!&#x888VS(+++63)))X...E***vz3s;;;;	]	"	" 	xeS999Z
FM\E "TC'*, ,F 	

8S!!A<	W		VQ%6>>>,,,&&&9&+,,,,vs###63 444fc8,,,~%%%!U%8%AAAJ&&fc5+>???			 	  .C

%'IJJJ

%'@AAA

>?333 ---	. . . . . . . . . . . . . . . VS)))vs###VS%(((FC   {""&#&&&;&#x00000 s    ))A"LL
Lc            
   #     K   t           j        j        } t           j        j        }t           j                            d          }t           j                            d          }t
          d d          t          z   D ]w\  }}dD ]m}dD ]f}|dk    r%|t          v rt          j        |||||           V  .|dk    r%|t          v rt          j        |||||          V  Y|dk    r%|t          v rt          j        |||||          V  |dk    r%|t          v rt          j        |||||          V  |dk    r%|t          v rt          j        |||||           V  |dk    r&|t          v rt          j        |||||          V  |dk    r&|t          v rt          j        |||||          V  2|dk    r&|t          v rt          j        |||||          V  ^||||fV  hoyd S )	NzTest fails and may be slow.reasonz*Test too slow to run to completion (>10m).)MLEMM)TFr   r   r   )r   r   r   r   r   r   r   slow_fit_mler   xslow_fit_mlexfail_fit_mleskip_fit_mleslow_fit_mmxslow_fit_mmxfail_fit_mmskip_fit_mm)r   r   failr   r   r   methodfix_argss           r   cases_test_cont_basic_fitr      so     ;DKE;#@AAD;#OPPD!!!!'?? 6 6## 	6 	6F) 6 6U??x<'?'? ,xfhdSSSSSSU??x='@'@ ,xfheTTTTTTU??x='@'@ ,xfhdSSSSSSU??x<'?'? ,xfhdSSSSSST>>h+&=&= ,xfhdSSSSSST>>h,&>&> ,xfheTTTTTTT>>h,&>&> ,xfhdSSSSSST>>h+&=&= ,xfhdSSSSSSVX5555556	66 6r   c                     t          t                              t                                        t                              t          t                    t          t                    z   t          t                    z   k    sJ t          t
                              t                                        t                              t          t
                    t          t                    z   t          t                    z   k    sJ d S N)lenr   unionr   r   r   r   r    r   r   test_cont_basic_fit_casesr      s    ##M2288FFGG]!3!33c,6G6GGH H H H""<0066{CCDDL 1 11C4D4DDE E E E E Er   zdistname, arg, method, fix_argsn_fit_samples   c                    	 t          t          |           }n# t          $ r | }Y nw xY wt          j                            d          } |j        |||d}|rt          ||||           d S t          ||||           d S )Nr   r   )	r   r   r   r   r   r   r   check_fit_args_fixcheck_fit_args)r   r   r   r   r   r   r   r   s           r   test_cont_basic_fitr      s    ))    )


'
'C
&*#-C
@
@
@C 163V44444vsC00000s    ''c                    	 t          t          |           }n# t          $ r | }d} Y nw xY wt          j         |j        |           sJ t          j         |j        |ddi          sJ t          j         |j        |dd i          sJ d S )Nrs   r   r   )r   r   r   r   isscalarr   )r   r   r   s      r   test_rvs_scalarr     s    +)) + + +*+ ;zvz3'(((((;zvz30R0011111;zvz32T223333333s    ))c                  :    t          t          j        d           d S )N)r   皙?)r   r   r4   r   r   r   &test_levy_stable_random_state_propertyr     s       1:>>>>>r   c               #     K   t                      } dh}dh}t          d d          t          z   D ]\  }}|dk    r|t          v r<t	          j        ||ddddt          j                            d                    V  Q|| v}||v}||v}t                      }t	          j        |||||d|          V  |r|r|s0t	          j        ||ddddt          j        j	        g|z             V  d S )	Nr/   r[   r4   Ttoo slowr   r   F)
setr   r   xslow_test_momentsr   r   r   r   listxfail)	fail_normalizationfail_higherfail_momentr   r   cond1cond2cond3r   s	            r   cases_test_momentsr  #  st     'K-K!!!!'?? B B#}$$))),xdD$%+[%6%6j%6%I%IK K K K K K 22++ l8S% / / / 	/ 	/ 	/  	BE 	B 	B ,xdD$&,k&7%85%@B B B B B B9B Br   z=distname,arg,normalization_ok,higher_ok,moment_ok,is_xfailingc           
      B   	 t          t          |           }n# t          $ r | }d} Y nw xY wt          j                    5 }|                    t          d           |                    t          d           |                    t          d           |r|                    t                      |j        |ddi\  }}	}
}t          j        d          5  |rt          |||            |r^t          ||||            t          ||||	|
|            t          ||||	|            t          ||||	||            t          |||            d d d            n# 1 swxY w Y   t          ||||	|            |rt!          ||||	|            d d d            d S # 1 swxY w Y   d S )	Nrs   z9The integral is probably divergent, or slowly convergent.z#The maximum number of subdivisions.z The algorithm does not converge.momentsmvskignoreall)r   r   r   r   r   r   r   r   errstater   r	   r   r
   r   r   check_loc_scaler   )r   r   normalization_ok	higher_ok	moment_okis_xfailingr   r   r   r   sks               r   test_momentsr  H  sq   +)) + + +*+ 
		 	  6C

%N	P 	P 	P

%8	: 	: 	:

%5	7 	7 	7  	+JJ)***!V\3777
1a[X&&& 		9 		9 ;#FC::: 9!&#q(;;;!&#q!QAAA aH===!&#q!QAAA!&#x888		9 		9 		9 		9 		9 		9 		9 		9 		9 		9 		9 		9 		9 		9 		9 	Q8444 	6aH55576 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6sC    ))BFA4EFE	FE	+FFFzdist,shape_argsc                 :   | dv rt          j        d           | dv rt          rt          j        d           | dv }t          t          |           }t          j        d          }t          j        d          }|j        }g }ddg}t          |          D ]Z}	|	d	z   fd
|	dz   z  z   }
|
                    ||	         t          j        |
          z             |                    d|	d	z              [|                    ||g           t          || |||d           d S )N)r!   r&   r   r   r   )r<   rX   ri   rc   rm   	exponnormr.   rC   rR   r4   rI   r"   re   rq   semicircularrk   rn   rt   )ru   r   ru   rv   r   r   d)r   r   r   r   r   r   zerosonesr   rangeappendinsertextendr   )dist
shape_args
shape_onlydistfunclocscalenargsallargsbshaper  shps              r   test_rvs_broadcastr&  r  s5   222J"""y"+,,,  M MJ
 ud##H
(1++CGFOOEEGVF5\\    1uhq1u%z!}RWS\\1222aQNNC<    $SIIIIIr   zx,n,sf,cdf,pdf,rtol))gh㈵> ʚ;g$?gm%?g0eD@g+<)g&.!>r'  gי?gscl)D>g ^RUU!@vIh%,=)gMb@?r'  g_H'9$      ?gL.'r(  c                    t           j        }t          j        |                    | |          |                    | |          |                    | |          g          }t          j        |||g          }t          j        |||           t          j	        |d         |d         z   d           t          j        |
                    ||          g| gd           d S )Nrtolr   r   r)  :0yE>)r   r   r   arraysfr   r   r   assert_allcloseassert_equalisf)	r   nr/  r   r   r,  ksvalsexpecteds	            r   test_gh17775_regressionr7    s    $ 
B8RUU1a[["&&A,,q!=>>DxS#''HhT2222T!WtAw&,,,A!4888888r   c                  j   t           j                            d          } t          j                            t          j        d          d|           }t          j        |          }t          j	        t          j
        |dk              d           t          j                            dt          j        d          |           }t          j        |          }t          j	        t          j
        |dk              d           t          j                            t          j        d          t          j        d          |           }t          j        |          }t          j	        t          j
        |dk              d           t          j                            t          j        dgdgg          t          j        d          |           }t          j        |                                          }t          j	        t          j
        |dk              d           t          t          t          j        j        ddgddggddgddggd           t          t          t          j        j        g dddd           t          t          t          j        j        g d	g d
dgdggd           d S )N{   r   r   )r   r!  r   r   z0All the values are equal, but they shouldn't be!)rt   ru   rv   r   )rt   rt   )r   r   r   r   )r   r   r   r   rt   )rv   )r   r   r   r   normr   r  diffr   assert_r  r  r.  ravelassert_raises
ValueErrorrf   )r   r5  r  s      r   test_rvs_gh2069_regressionr@    s    )


$
$C:>>bhqkk>EED
AKqAv RSSS:>>arwqzz>DDD
AKqAv RSSS:>>bhqkk#>NND
AKqAv RSSS:>>bhaSz22"'!**'*  , ,D


AKqAv RSSS*ejn1v1v.>q6Aq6"A' ' '*eko|||Q6JJJ*eko|||\\\3*d$ $ $ $ $r   c                     t           j        } t          j        |                     ddt
          j                  d           t          j        |                     dgdgt
          j        g          d           t          j        |                     dt
          j         d          d           t          j        |                     dgt
          j         gdg          d           t          j        |                     dgdgt
          j        g          d           t          j        |                     ddt
          j                  d           t          j        |                     dgt
          j         gdg          d           t          j        |                     dt
          j         d          d           t          j        |                     dt
          j         d          d           d S )Nr   r   gA?g|N?)r   rA   r   assert_almost_equalr   r   inf_cdf)tns    r   test_nomodify_gh9900_regressionrG    s    
B BFF1a00.0 0 0BGGQC!rvh77.0 0 0 BFF2w22/1 1 1BGGRDBF7)aS99/1 1 1 BGGQC!rvh77.0 0 0BFF1a00.0 0 0 BGGRDBF7)aS99/1 1 1BFF1rvgq11  BFF2w22/1 1 1 1 1r   c                     t          j        g d          } t          j        g d          }d t          | |          D             }t          j        t
          j                            d| |          |           d t          | |          D             }t          j        t
          j                            d| |          |           d t          | |          D             }t          j        t
          j                            | | |          |           d t          | |          D             }t          j        t
          j                            || |          |           d S )	N)r   rt   ru   rv   r   rw   )ry      r       r   0   c                 V    g | ]&\  }}t           j                            d ||          'S )rx   r   r:   r   .0_a_bs      r   
<listcomp>z4test_broadcast_gh9990_regression.<locals>.<listcomp>  1    
B
B
Bvr252r**
B
B
Br   rx   c                 V    g | ]&\  }}t           j                            d ||          'S r   rM  rN  s      r   rR  z4test_broadcast_gh9990_regression.<locals>.<listcomp>  rS  r   r   c                 V    g | ]&\  }}t           j                            |||          'S r   rM  rN  s      r   rR  z4test_broadcast_gh9990_regression.<locals>.<listcomp>  1    
C
C
CB5B++
C
C
Cr   c                 V    g | ]&\  }}t           j                            |||          'S r   rM  rN  s      r   rR  z4test_broadcast_gh9990_regression.<locals>.<listcomp>  rV  r   )r   r.  zipr   assert_array_almost_equalr   r:   r   )r{   banss      r    test_broadcast_gh9990_regressionr\    sB    	###$$A
&&&''A
B
BQq
B
B
BC!%"2"6"6q!Q"?"?EEE
B
BQq
B
B
BC!%"2"6"6q!Q"?"?EEE
C
C#a((
C
C
CC!%"2"6"6q!Q"?"?EEE
C
C#a((
C
C
CC!%"2"6"6q!Q"?"?EEEEEr   c            	          t           j                            t          j        g d          dt          j        g d          z
  dz  t          j        t          j        g d          d           d S )N)      @       @r)  r   )g      @r   g      @r^  )r{   rZ  r   r!  )r   rA   r   r   r.  rD  r   r   r    test_broadcast_gh7933_regressionr`    sp    	O
!!///***c
1
&H___%%      r   c                  V   t           j        ddd         } t           j        t          j        d           t          j        d          f         }d t          | |          D             }t          j                            | |t           j                  }t          j	        ||           d S )Nrt   y             @Y@2   3   c                 j    g | ]0\  }}t           j                            ||t          j                  1S r   )r   rA   r   r   rD  )rO  _xrP  s      r   rR  z*test_gh2002_regression.<locals>.<listcomp>+  s2    LLLB##BBF33LLLr   )
r   r_r  rX  r   rA   r   rD  r   rY  )r   r{   r6  r[  s       r   test_gh2002_regressionrh  &  s     	b4iA
rwr{{lBGBKK'(ALL#a))LLLH
/

aBF
+
+C!#x00000r   c                  |    d} t           j                            dt          j        | g| dz   gg                     d S )Ng(\@r   )r   r^   ppfr   r.  )cs    r   test_gh1320_regressionrl  0  s=    A	bha#gY'78899999r   c                     t           j                            d           g d} ddt          j        d          z  dz  z
  }ddt          j        d          z  dz  z   }t	          t          t          j                  t          j                                      | d          \  }}t          j
        ||d	
           t          j
        ||z   |d	
           d S )Ni  )r   r   r   r   r   皙?rt   ru   r   r   r   rv   )decimal)r   r   seedsqrtsupertyper   uniformfitr   rC  )r   r{   rZ  r   r!  s        r   test_method_of_momentsrw  <  s    INN4Aa

l1nAa

l1nAtEM**EM::>>q>NNJCCA....CIq!444444r   c                     t          j        |           rt          ||            t          j        |          rt          ||           d S d S r   )r   isfinitecheck_sample_meancheck_sample_var)popmeanpopvarsamples      r   r   r   H  sV    	{7 +&'***	{6 )((((() )r   c                 J    t          j        | |          j        }|dk    sJ d S )Nr   )r   ttest_1samppvalue)r~  r|  probs      r   rz  rz  O  s(    VW--4D$;;;;;;r   c                     t          j        | fd d          }|j        }|j        |j        }}||cxk    r|k    sn J d S )Nc                 0    |                      d|          S )Nr   )ddofaxis)var)r   r  s     r   <lambda>z"check_sample_var.<locals>.<lambda>[  s    1400 r   gףp=
?)confidence_level)r   	bootstrapconfidence_intervallowhigh)r~  r}  resconfr  r  s         r   r{  r{  U  sj     /		00  C
 "D$)C&    D        r   c                 ~    g d}t          j         | j         | j        |g|R  g|R  |t          |dz              d S )N)gMbP?r   g+?z - cdf-ppf roundtriprp  err_msg)r   rC  r   rj  DECIMAL)r   r   msgvaluess       r   r   r   c  sj       FJFJzvz&'?3'?'?'?F#FFF"GS2>34 4 4 4 4 4r   c                 ~    t          j         | j         | j        g dg|R  g|R  g dt          |dz              d S )Nr   r   ?z - sf-isf roundtripr  )r   rC  r/  r2  r  r   r   r  s      r   r   r   j  sh    IFIjfj&G3&G&G&GN#NNN+OOWc1G23 3 3 3 3 3r   c                     t          j         | j        ddgg|R  d | j        ddgg|R  z
  t          |dz              d S )Nr   r  r)  z - cdf-sf relationshipr  )r   rC  r   r/  r  r  s      r   r   r   p  sm    JFJSz8C888)&)S#J"="="="==$+S4656 6 6 6 6 6r   c                     t          j        ddg          }t          j         | j        |g|R   | j        d|z
  g|R  t          |dz              d S )Nr   r  r   z - ppf-isf relationshipr  )r   r.  r   rC  r2  rj  r  )r   r   r  ps       r   r   r   w  sv    
#sAJFJq/3///AaC1F#1F1F1F$+S5667 7 7 7 7 7r   c                     | j         dg|R  }d} | j        |g|R  }|dk     s|dk    r|dz   } | j        |g|R  } | j        ||z   g|R   | j        ||z
  g|R  z
  |z  dz  }|dz  }t          j        ||t
          |           d S )	Nr   gư>g-C6?     @r   r_  z - cdf-pdf relationshipr  )rj  r   r   r   rC  r  )r   r   r  medianepspdfvcdfdiffs          r   r   r   ~  s    VZ"c"""F
C6:f#s###Dt #vz&'3'''vz&3,----vz&3,----./23367G $$CD'7CHHHHHHr   c                    t          j        g d          } | j        |g|R  }|t          j        |                   } | j        |g|R  } | j        |g|R  }||dk    t          j        |          z           }|t          j        |                   }|dz  }t          j        t          j        |          |d|           d S )N)rn  r   皙?r   333333?ffffff?皙?r    - logpdf-log(pdf) relationshiprx   r  	r   r.  rj  ry  r   r   r   rC  logr   argsr  pointsr5  r   r   s          r   r   r     s    X999::F6:f$t$$$DD!!"D
&*T
!D
!
!
!CV]4'$'''F
sax2;s+++
,CBK''(F,,CBF3KKCHHHHHHr   c                    t          j        ddg          } | j        |g|R  }|t          j        |                   } | j        |g|R  } | j        |g|R  }||dk    t          j        |          z           }|t          j        |                   }|dz  }t          j        t          j        |          |d|           d S )Nr   r   r  rx   r  r  r  s          r   r   r     s    Xq!fF6:f$t$$$DD!!"D
&*T
!D
!
!
!CV]4'$'''F
sax2;s+++
,CBK''(F,,CBF3KKCHHHHHHr   c                 d   t          j        g d          } | j        |g|R  }|t          j        |                   } | j        |g|R  } | j        |g|R  }||dk             }|t          j        |                   }|dz  }t          j        t          j        |          |d|           d S )N)	        rn  r   r  r   r  r  r  r)  r   z - logsf-log(sf) relationshiprx   r  )	r   r.  rj  ry  r/  r   r   rC  r  )r   r  r  r  r5  r/  r   s          r   r   r     s    XCCCDDF6:f$t$$$DD!!"D	4	$			BFL%%%%E	B!GB"+e$$%E**CBF2JJq#FFFFFFr   c                 d   t          j        g d          } | j        |g|R  }|t          j        |                   } | j        |g|R  } | j        |g|R  }||dk             }|t          j        |                   }|dz  }t          j        t          j        |          |d|           d S )N)	r   rn  r   r  r   r  r  r  r)  r   z - logcdf-log(cdf) relationshiprx   r  )	r   r.  rj  ry  r   r   r   rC  r  )r   r  r  r  r5  r   r   s          r   r   r     s    XAAABBF6:f$t$$$DD!!"D
&*T
!D
!
!
!CV]4'$'''F
cQh-CBK''(F,,CBF3KKCHHHHHHr   c                     dg z  }|rfd|D             } | j         dg|R  } | j         dg|R  }|dz  }t          j        ||gz  d|           d S )Nr   c                 @    g | ]}t          j        |gz            S r   )r   r.  )rO  _num_repeatss     r   rR  z'check_ppf_broadcast.<locals>.<listcomp>  s*    999!{*++999r   r   z - ppf multiplerx   r  )rj  r   rC  )r   r   r  r  r  mediansr  s         @r   r   r     s    KD
 :9999S999VZ"c"""Ffj$t$$$GCGfX%;QPSTTTTTTr   c                 F   t          j        || |d          \  }}||k     rt          j        | | |d          \  }}t          j        ||k    dt	          |          z   dz   t	          |          z   dz   t	          |          z   dz   t	          |          z              d S d S )Ni  )r  NzD = z	; pval = z
; alpha = z
args = )r   kstestr   r<  str)r  r  rM   r   Dpvals         r   r   r     s     l344888GAtu ,tT===4D5L&3q66/K"?#d))"K #!#&u::#.0;#<>A$ii#H 	I 	I 	I 	I 	I 	r   c                 P    t          j         | j        |  | j        |            d S r   )r   r1  
vecentropyr   )r   r  s     r   r   r     s/    &V&-v/EFFFFFr   c                     t          j        ddg          t          j        ddg          }} | j        |||d\  }}t          j        ||z  |z   |           t          j        ||z  |z  |           d S )N      $@g      4@r   r!  )r   r.  r   r   r0  )	r   r   r   r   r  r   r!  mtvts	            r   r
  r
    s     4,''4,)?)?CV\3Cu555FB%#r***%r*****r   c                      | j         t          j        g d          g|R  }t          j        t          j        t          j        |                     |dz              d S )Nr  zppf private is nan)_ppfr   r.  r   r<  anyisnan)r   r   r  ppfss       r   r   r     s\    6;rx0073777DKBF28D>>***C2F,FGGGGGr   c                     d\  }} | j         | } | j         |||d}t          j        t          j        |          |z  |z   t          j        |                     d S )N)r   rt   r  )supportr   rC  r   r.  )r   r  r   r!  suppsupp_loc_scales         r   r   r     sq    JC6>4 D#V^Ts%@@@NBHTNN5036H^446 6 6 6 6r   c                 X   t          j        d          5  t          j                    5 }|                    t
          d           |                    t
          d           |                     ||          }|                     |d|          }d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        t          |          d	t          |          z   k               t          j        t          |          d	t          |          z   k               d S )
Nr  r  !The shape parameter of the erlangcategorymessagezfloating point number truncatedro  powell)	optimizerr   rt   	r   r	  r   r   r   r   rv  r<  r   )r   r   r   r   r   r5  vals2s          r   r   r     s   		"	"	" C CC$9$;$; Cs

N> 	 	@ 	@ 	@

N< 	 	> 	> 	>zz#fz--

3(6
BBC C C C C C C C C C C C C C C C C C C C C C C C C C C C C C KD		Qs3xxZ'(((KE

aCj()))))s5   B5A(BB5B"	"B5%B"	&B55B9<B9c           	         t          j        d          5  t          j                    5 }|                    t
          d           |                     |d|          }|                     |d|          }t          j        t          |          d	t          |          z   k               t          j        |d
         dk               t          j        |d         dk               t          j        t          |          d	t          |          z   k               t          |          dk    rw|                     ||d         |          }t          j        t          |          d	t          |          z   k               t          j        |d         |d         k               t          |          dk    rw|                     ||d         |          }t          j        t          |          d	t          |          z   k               t          j        |d         |d         k               t          |          d	k    rw|                     ||d	         |          }	t          j        t          |	          d	t          |          z   k               t          j        |	d	         |d	         k               d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr  r  r  r  r   )flocr   r   )fscaler   rt   rb  rB  )f0r   )f1r   )f2r   r  )
r   r   r   r   r   r5  r  vals3vals4vals5s
             r   r   r     s   		"	"	" , ,C$9$;$; ,s

N> 	 	@ 	@ 	@ zz#Afz55

3q
88CII3s88+,,,DHM"""E"IN###CJJ!CHH*,---s88a<<JJss1vfJ==EKE

aCj0111KaCF*+++s88a<<JJss1vfJ==EKE

aCj0111KaCF*+++s88a<<JJss1vfJ==EKE

aCj0111KaCF*++++, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,s5   KJK;KK	KK	KK#&K#c               #      K   t           D ]=\  } }| t          v r)t          j        | |t          j        j                  V  7| |fV  >d S )Nr   )r   slow_with_listsr   r   r   r   r   s     r   cases_test_methods_with_listsr  %  sf      !    #&&,xFK4DEEEEEEEC-	   r   r   )r   r   r   r   r/  r   rj  r2  zdistname, argsc                 B  	 t          t          |          }t          ||           	|dk    r|                     d          rddg}nddg}d |D             }ddg}d	d
g} 	|g|R ||d}t          j        |	fdt          |g|||R  D             dd           d S )Nr   r  r   rt   r   rn  c                     g | ]}|gd z  	S )rt   r   )rO  r{   s     r   rR  z+test_methods_with_lists.<locals>.<listcomp>:  s    """qc!e"""r   r   r   g)\(?r  c                     g | ]} | S r   r   )rO  r   rG   s     r   rR  z+test_methods_with_lists.<locals>.<listcomp>?  s    DDD1ADDDr   g+=r(  )r,  atol)r   r   
startswithr   r0  rX  )
r   r   r  r  r   shape2r   r!  resultrG   s
            @r   test_methods_with_listsr  -  s     5(##DfA<F$5$5e$<$<!H#J""T"""Fc(CIEQq0600s%000FDDDDA(C(C(CU(C(C(CDDD"0 0 0 0 0 0r   c                      t           j                            ddd          } t          | t                    sJ t           j                            dd          }t          |t                    sJ d S )Nr   r   rv   ry   )r   rJ   moment
isinstancefloatrK   )vals0vals1s     r   (test_burr_fisk_moment_gh13234_regressionr  C  sd    JaA&&EeU#####Ja##EeU#######r   c            
      b   t           j                            dt          j        g d          d          } t          j        g d          }t          j        | |           t           j                            dt          j        g d          d          }t          j        t          j        t          j        t          j        g          }t          j        ||           t           j                            dt          j        g d          g d          }t          j        t          j        dt          j        g          }t          j        ||           t           j                            dd	d
          }t          j        }t          j        ||           t          ||j	                  sJ t           j                            dg dg d          }t          j        dt          j        t          j        g          }	t          j        ||	           t           j                            dg dg d          }
t          j        dt          j        dg          }t          j        |
|           t           j                            dg dg d          }t          j        t          j        t          j        t          j        g          }t          j        ||           t           j
                            ddd	d	          }t          j        }t          j        ||           t          ||j	                  sJ t           j
                            dg dd	d	          }t          j        t          j        t          j        t          j        g          }t          j        ||           t           j
                            dg dg dg d          }t          j        dt          j        t          j        g          }t          j        ||d           t           j                            dddgddg          }t          j        ddg          }t          j        ||d           dd	ddt          j        g}dd	ddt          j        g}dd	t          j        d          g}d d	ddt          j        g}t          j        |                              d!          }t          j        |                              d"          }t          j        |                              d#          }t          j        |          }t           j                            d||||$          }t          j        ||||          \  }}}}t          j        |          D ]}t          j        d%d%&          5  |d	         }t           j                            d||         ||         ||         ||         $          }t          j                            ||         |           d d d            n# 1 swxY w Y   d S )'Nr   r   rt   ru   orderr   r!  r)  r_  r^  rB  )r   r   r_  rt   r   )r   r   rt   )ru   r  r  )r   r   r   )r   rb  g      Y@g      9@r  )g      rb  g      Yr  dfr   r!  )r)  r  r_  )r)  g      r  g ﲙ"@r-  r+  r   r)  g      :@g      @gvIh%<=gg@g )rB  r   r   r   )rB  r   r   )rB  r   )r  r{   rZ  r   r!  r  )invaliddivide)r   r:  r  r   r.  r   r1  nanr  r   rd   r0  pirr  reshaper;   broadcast_arraysndenumerater	  testing)r  	expected0r  	expected1r  	expected2r  	expected3r  	expected4r  	expected5vals6	expected6vals7	expected7vals8	expected8vals9	expected9vals10
expected10r{   rZ  r   r!  vals11ir6  s                                r   *test_moments_with_array_gh12192_regressionr  K  s   JA28III+>+>aHHE&&IUI&&& JA28III+>+>bIIE"&"&"&122IUI&&& JA28III+>+>$.JJ  0 0E"&"bf-..IUI&&& JA1B77EIUI&&&eY011111 JA999KKKHHE#rvrv.//IUI&&& JA999NNNKKE#rvv.//IUI&&& JA999<L<L<LMME"&"&"&122IUI&&& I1;;EIUI&&&eY011111 I1CCE"&"&"&122IUI&&& I1#0==  2 2E*bfbf566Iyt4444 Zq2r(RH55F3+&&J
7777 
q!S"% A	q!S"% ABGAJJ
C1abe$E
M**A
J''A
(3--


(
(CHUOOEZQ!qcGGF*1ae<<Aq#u^A 9 9[(;;; 	9 	9!Az((qAaDAaD-0V58 ) E EHJ##F1Ix888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	99 9s   ,A+X##X'	*X'	c                     t           j                            dt          j        g d          dgg          } t          j        g dg          }t          j        | |           | j        |j        k    sJ t           j                            dt          j        dgdgdgg          g d          }t          j        g dg dg d	g          }t          j        ||           |j        |j        k    sJ t           j                            dg dd
d          }t          j        g d          }t          j	        ||d           |j        |j        k    sJ t           j                            ddgdgdggg dg d          }t          j        t          j
        t          j
        dgt          j
        t          j
        dgt          j
        t          j
        dgg          }t          j	        ||d           |j        |j        k    sJ d S )Nr   r  r  r  rt   ru   )r)  r)  r)  )r_  r_  r_  )r^  r^  r^  r  r)  r  )g e3E?g> ?g e3E?r-  r+  r_  r^  )r  r)  r_  )g      r  r^  g@3F@gw,W.
@gf3&@)r   r:  r  r   r.  r   r1  shaperd   r0  r  )r  r  r  r  r  r  r  r  s           r   /test_broadcasting_in_moments_gh12192_regressionr    s   JA28III+>+>seLLE,,,((IUI&&&;)/))))JA28aS1#sO+D+D$-II  / /E,,,lllCDDIUI&&&;)/))))I12RHHE===>>Iyt4444;)/))))I12$rd);#0==  2 2E2626:6626:6626:68 9 9I yt4444;)/))))))r   c                      g dd} t          j        fd| D                       }t          j        t          j                            |                     }t	          j        ||           d S )N)r   r         @      @      @r  c                 .    g | ]fd D             S )c                 R    g | ]#}t           j                             |           $S r  )r   rQ   )rO  r  r  s     r   rR  z8test_kappa3_array_gh13582.<locals>.<listcomp>.<listcomp>  s>     ( ( ( \''v'>> ( ( (r   r   )rO  r  shapess    @r   rR  z-test_kappa3_array_gh13582.<locals>.<listcomp>  sK     ? ? ?,2( ( ( ( &( ( ( ? ? ?r   r   )r   r.  r   rQ   r   r0  )r  r  res2r!  s      @r   test_kappa3_array_gh13582r#    s     '&&FG
( ? ? ? ?6=? ? ? @ @C8EL&&vw&??@@DT"""""r   c                  T   t          j        g d          t          j        g d          d} t          j        fd| D                       }t          j        t          j                            |                     }t	          j        ||           t          j        g d          t          j        g d          t          j        fd| D                       }t          j        t          j                            |                     }t	          j        ||           t          j        g d	          t          j        g d
          d d d f         t          j        t          j                            |                     }|j        dk    sJ d S )N)r   r  r  r  r  )r   r   g      r   r  r  c                 L    g | ]fd t          d          D              S )c                 l    g | ]0}t           j                             |         |                    1S r  r   r   rO  r  hr  r  s     r   rR  z8test_kappa4_array_gh13582.<locals>.<listcomp>.<listcomp>  H     & & & \''!adF'CC & & &r   r   r  rO  r  r)  r  s    @r   rR  z-test_kappa4_array_gh13582.<locals>.<listcomp>  [     = = =*0& & & & & &!!HH& & & = = =r   r   )rB        пr.  r   rB  r   )r   r   r   gUUUUUUտrB  r   c                 L    g | ]fd t          d          D              S )c                 l    g | ]0}t           j                             |         |                    1S r  r'  r(  s     r   rR  z8test_kappa4_array_gh13582.<locals>.<listcomp>.<listcomp>  r*  r   rw   r+  r,  s    @r   rR  z-test_kappa4_array_gh13582.<locals>.<listcomp>  r-  r   )rB  r   r   )rB  r   r   r   )rv   rv   ru   )r   r.  r   r   r   r0  r  )r  r  r"  r)  r  s      @@r   test_kappa4_array_gh13582r1    s   
***++A
((())AG
( = = = = =4;= = = > >C8EL&&q!W&==>>DT""" 	+++,,A
)))**A
( = = = = =4;= = = > >C8EL&&q!W&==>>DT""" 	A
!!!""111d7+A8EL&&q!W&==>>D:""""""r   c                     d} t          j        t          |           5  t          j                    j         d d d            n# 1 swxY w Y   t          j        t          |           5  t          j                    j         d d d            n# 1 swxY w Y   dt          j        _        t          j                    }t          |t                    sJ t          t          j        d           d S )Nz.'rv_continuous_frozen' object has no attribute)matchherringpmf)
r   r   AttributeErrorr   r:  r5  logpmfr  r   delattr)r  frozen_norms     r   test_frozen_attributesr:    s>    ?G	~W	5	5	5  
              	~W	5	5	5  
              EJN*,,Kk#788888EJs#   AA
A)BBBc                     t           j                            d          } t           j         d}}t	          j        t          j                            ||          t          j	                            |                     |                     d          |                     d          }}|                     d          dk     }d||<   ||         }t          j                            ||          }t	          j        ||         t          j	                            |                     t	          j        ||          t          j                            ||          ||                               d S )Nr   )ru   ru   )r   r   )
r   r   default_rngrD  r   r1  r   rq   r   r:  )r   r   r{   maskx_normr  s         r   test_skewnorm_pdf_gh16038r?    s   
)


"
"CF7AqAU^''1--uz~~a/@/@AAA::6:""CJJFJ$;$;qA::6:""S(DAdGtWF
.

Q
"
"CSY
v 6 6777S$Z!3!3AteHah!G!GHHHHHr   r   r   r   r   r   r/  r   rj  r2  r  entropyexpectr  meanstdr  intervalgffffff?r  r   mvcasec                 2   | \  }}t          t          j                    |          } || }| t          v rt	          |t
          j                  sJ d S t	          |d         t
          j                  sJ t	          |d         t
          j                  sJ d S )Nr   r   )r   r   r:  
scalar_outr  r   number)rF  method_namer  r   r  s        r   test_scalar_for_scalarrK     s     KUZ\\;//F
&$-Cz#ry)))))))#a&"),,,,,#a&"),,,,,,,r   c                     t           j                            g d          } t          | d         t          j                  sJ t          | d         t          j                  sJ t           j                            g d          } t          | d         t          j                  sJ t          | d         t          j                  sJ t           j                            dg d          } t          | t          j                  sJ d S )Nr  r   r   r   )r   r:  rv  r  r   rI  fit_loc_scalennlf)r  s    r   test_scalar_for_scalar2rO    s    
*..
#
#Cc!fbi(((((c!fbi(((((
*
"
"999
-
-Cc!fbi(((((c!fbi(((((
*//&)))
,
,Cc29%%%%%%%r   r   )ysysnumpyr   numpy.testingr  r   r   r   r>  scipy.integrater   	itertoolsscipyr   common_testsr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   scipy.stats._distr_paramsr   !scipy.stats._distn_infrastructurer   r  maxsizer   r   r   r   r   r   r   r   r   r   r   r   r   r  r   case1case2productrF  r~   	histogram_histrv_histogram_rv_histr  tupler   r   parametrizer   r   r   r   r   r   r  r   r  r&  r7  r@  rG  r\  r`  rh  rl  rw  r   rz  r{  r   r   r   r   r   r   r   r   r   r   r   r   r
  r   r   r   r   r  r  r  r  r  r#  r   r1  r:  r?  rH  scalars_outrK  rO  r   r   r   <module>rd     s   



            * * * * * * . . . . . .          
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? / . . . . . B B B B B B	 [5 	< < <  CBB : : : 9 9 9OOOKKK23RRR2 2 2< < <5 5 5? ? ? ''  * * *34	6 	6!fjjj))&Y&u~e}EE 9 9MD'BL11411111E!u!%999H##Xuuww$78888	  	  	  )>)>)@)@AAu%%R1 R1 &% BAR1j"6 "6 "6JF F F :22446 63%001 1 106 61 )>)>)@)@AA
4 
4 BA
4? ? ?"B "B "BJ  '++--/ /#6 #6/ / #6L *H55&J &J 65&Jj .? ? ?	@ 	@9 9	@ 	@9$$ $ $:!1 !1 !1HF F F,  1 1 1: : :	5 	5 	5) ) )  ! ! !4 4 43 3 36 6 67 7 7I I I$
I 
I 
I
I 
I 
I
G 
G 
G
I 
I 
I
U 
U 
UI I I&G G G+ + +H H H6 6 6
* 
* 
*, , ,2       $A $A $A B B)+H+H+J+JKK0 0 LKB B0&$ $ $Q9 Q9 Q9h* * *4 # # # # # #0  
I 
I 
I bkEA3<(QC51#,!oqc{WqcNUQCLqclXsOi_xnnvrlUBK%F
 TF#i_w6GH k!9::
- 
- ;:
-	& 	& 	& 	& 	&r   