
     h<                         d dl Z d dlZd dlZd dlmZ d dlmZmZ d dl	m
Z d dlmc mZ d dlmZ d dlmZ ddZd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%d Z&d Z'd Z(d Z)dS )    N)assert_allcloseassert_equal)raises)getfullargspec_no_self)statsFc                     t          |          D ]Z\  }}|r*t          j        | |         t          | |                     1t	          j        | |         t          | |                     [d S N)	enumeratema_nptr   getattrnpt)res
attributesmaiattrs        Z/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/scipy/stats/tests/common_tests.pycheck_named_resultsr      sw    Z(( 9 94 	9AT(:(:;;;;SVWS$%7%78888	9 9    c                 2    | j         dg|R  }t          j        |d           |dk    rd\  }}nd\  }}|                     d |          }t          j        |d|||d	            | j        | \  }} | j        |g|R  }	t          j        |	d           d S )
Nr         ?rv_histogram_instance)h㈵>r   )Hz>r   c                     dS )N    xs    r   <lambda>z%check_normalization.<locals>.<lambda>    s    1 r   )argsT)atolrtolerr_msgverbose)momentr   r   expectsupportcdf)
distfnr!   distnamenorm_momentr"   r#   normalization_expect_a_bnormalization_cdfs
             r   check_normalizationr1      s    &-)D)))KS)))***
dd
d!==4=@@,c4d, , , , V^T"FB"
2----)3/////r   c                     | j         dg|R  } | j         dg|R  }t          j        |          st          j        ||d|dz              n:t          j        t          j        |          |dt          |          z  z              t          j        |          s#t          j        |||z  z
  |d|dz              d S t          j        t          j        |          |dt          |          z  z              d S )	Nr      
   z - 1st momentdecimalr$   z - 1st moment -infinite, m1=%sz - 2ndt momentz - 2nd moment -infinite, m2=%s)r&   npisinfr   assert_almost_equalassert_str)r*   argmvmsgm1m2s          r   check_momentrB   )   s>   	q	3			B	q	3			B8A;; AAr3+<, 	- 	- 	- 	- 	- 	BHRLL5B??	A 	A 	A 8A;; AR"WaS,F- 	. 	. 	. 	. 	. 	. 	BHRLL5B??	A 	A 	A 	A 	Ar   c                     t          j        |          r4|                     d |          }t          j        ||d|dz              d S d S )Nc                     | S r	   r   r   s    r   r    z#check_mean_expect.<locals>.<lambda>=   s    Q r      z - 1st moment (expect)r5   )r7   isfiniter'   r   r9   )r*   r<   r=   r?   r@   s        r   check_mean_expectrG   ;   se    	{1~~ 6]];;,,Aq#4;5 	6 	6 	6 	6 	6 	66 6r   c                     |dk    rddini }t          j        |          r2|                     d |          }t          j        ||||z  z   fi | d S d S )Nr   r#   gh㈵>c                     | | z  S r	   r   r   s    r   r    z"check_var_expect.<locals>.<lambda>E   s
    QqS r   )r7   rF   r'   r   r   )r*   r<   r=   r>   r?   kwargsrA   s          r   check_var_expectrK   B   sr    "&===fd^^2F	{1~~ 3]]==#..BAaC226222223 3r   c                    t          j        |          rL|                     fd|          }t          j        ||t          j        |d          z  d|dz              d S t          j        t          j        |                     d S )Nc                 4    t          j        | z
  d          S )N   r7   powerr   r=   s    r   r    z#check_skew_expect.<locals>.<lambda>K       bhqsA&6&6 r   g      ?rE   z - skewr5   )r7   rF   r'   r   r9   rP   r:   isnan)r*   r<   r=   r>   sr?   m3es     `    r   check_skew_expectrV   I   s    	{1~~ !mm6666<<Q!S)9)9%93?	4 	4 	4 	4 	4 	4 	BHQKK     r   c                 H   t          j        |          rP|                     fd|          }t          j        ||dz   t          j        |d          z  dd|dz              d S t          j        |          s(t          j        t          j        |                     d S d S )Nc                 4    t          j        | z
  d          S )N   rO   rQ   s    r   r    z#check_kurt_expect.<locals>.<lambda>T   rR   r   g      @r3   r   z - kurtosis)r"   r#   r$   )	r7   rF   r'   r   r   rP   isposinfr:   rS   )r*   r<   r=   r>   kr?   m4es     `    r   check_kurt_expectr]   R   s    	{1~~ !mm6666<<C!b&BHQNN!:Dm+	- 	- 	- 	- 	- 	-[^^ !BHQKK     ! !r   c                 p     | j         | }t          j        t          j        |           |dz              d S )Nztest Entropy is nan)entropyr   r:   r7   rS   )r*   r<   r?   ents       r   check_entropyra   [   s9    
&.#
CKBHSMM!3)>#>?????r   c                 X    t          j         | j        |  |j        | g|R             d S r	   )r   r   _entropy)r*   r!   
superclasss      r   check_private_entropyre   `   sD    .+
+F:T:::< < < < <r   c                     t          j        ddgddgg          }  j        d|i} fd|                                D             }t          j        |                              |j                  }t          ||d           g d	}  j        d|i} fd
|D             }t          j        |                              |j                  }t          ||d           d S )Nr   r3   rN   rY   scalec                 *    g | ]} j         d |iS rg   r_   .0rT   r<   r*   s     r   
<listcomp>z,check_entropy_vect_scale.<locals>.<listcomp>j   s*    ???q^V^S***???r   g+=)r"   )r   r3   c                 *    g | ]} j         d |iS ri   rj   rk   s     r   rm   z,check_entropy_vect_scale.<locals>.<listcomp>q   s*    777q^V^S***777r   )r7   asarrayr_   ravelreshapeshaper   )r*   r<   scv_ents_ents   ``   r   check_entropy_vect_scalerw   f   s   	aVaV$	%	%BFNC*r**E?????BHHJJ???EJu%%ek22EE5u---- 
BFNC*r**E77777B777EJu%%ek22EE5u------r   c                     | j         | }t          | t          j                  r|d         dz
  |d         f}t	          j         | j        |g|R  ddg           t	          j         | j        |g|R  ddg           | j        dvr\t	          j         | j	        |g|R  t          j         dg           t	          j         | j        |g|R  dt          j         g           t	          j         | j        ddgg|R  |           t	          j         | j        ddgg|R  |d d d                    t	          j        t          j         | j        ddgg|R                                                       t	          j        t          j         | j        ddgg|R                                                       d S )Nr   r   g        r   )skellamdlaplacer3   )r(   
isinstancer   rv_discreter   r   r)   sfnamelogcdfr7   inflogsfppfisfr:   rS   all)r*   r!   r   s      r   check_edge_supportr   v   s   A&%+,, aDFAaDLZVZ)D)))C:666YVYq(4(((3*555{111q04000BF7C.AAAa/$///#w@@@ZVZc
2T222A666ZVZc
2T222AdddG<<< KRG3d3334488::;;;KRG3d3334488::;;;;;r   c                 2   t          | j                  }t          j        |j        d u            t          j        |j        d u            t          j        |j                    t          j        t          |j                  t          |          k               |j	        d t          |                    }| j        r.| j                            dd                                          }nd}t          j        t          |          | j        k               t          j        t          |          t          |          k               t                    fd|D             }t          j        t          j        t          j        |                               |d d          d d          i c}	|	r                    |	                                                                i           fd|D             }
t          j        ||
           d                                vr0t          j         | j        dgR i  | j        dgR             |	                    dd	i           t1          t2          | j        fi  d S )
N,  c                 "    g | ]} |gR  S r   r   )rl   meth
shape_argsr   s     r   rm   z$check_named_args.<locals>.<listcomp>   s+    333TDD Z   333r   c                 (    g | ]} |gR i S r   r   )rl   r   ar[   r   s     r   rm   z$check_named_args.<locals>.<listcomp>   s3    000$TT!a1000r   nr   kaboom*   )_getfullargspec_parse_argsr   r:   varargsvarkw
kwonlyargslistdefaultsr!   lenshapesreplacesplitnumargsr7   r   rF   updatepopassert_array_equalkeysr   r&   assert_raises	TypeErrorr)   )r*   r   r   r   meths	signatureshape_argnamesshapes_valsnamesr>   r   r[   s    ``        @@r   check_named_argsr      s      233IK	!T)***K	4'(((KI(()))KY'((DNN:;;;^Oc(mm^O4N} -''S117799KG.///KGN 3 33444 j!!J33333U333DKr{4(())*** #Z]BKE1a
 <	%))++quuww'(((000000%000tQ'''affhh]V]16q666A66*V]1:z:::< < <  < HHh^)VZ00a00000r   c                    | j         }t          j                            d           d | _          | j        |ddi}d| _          | j        |ddi}t          j        ||           t          j                            d          | _          | j        |ddi}t          j        ||           t          t          j        d          r-t          j        	                    d          } | j        |d|d d| _         | j         
                                } | j        |dt          j                            d          d}t          j        ||           t          j        | j         
                                |           || _         d S )N  size   default_rngr   )r   random_stater3   )r   r7   randomseedrvsr   r   RandomStatehasattrr   	get_state)	r*   r!   rndmr0r1r2rng
orig_stater3s	            r   check_random_state_propertyr      s   
 D INN4F	T	"	"	"B F	T	"	"	"BR)//55F	T	"	"	"BR ry-(( 4i##D))
Dqs3333 F$..00J	T	0E0Ed0K0K	L	L	LBR V(2244jAAA Fr   c                 b   g d} | j         |g|R  fdt          j        t          j        t          j        t          j        fD             }|D ]^} | j        |  || j        |k     || j        k     z           }|D ]2} ||g|R  }t          j
        |j        t          j        k               3_d S )N      ?      ?      ?c                 :    g | ]}                     |          S r   astyperl   tpx0s     r   rm   z$check_meth_dtype.<locals>.<listcomp>   5     G G Gbiimm G G Gr   )r   r7   int_float16float32float64	_argcheckr   br   r:   dtypefloat_)	r*   r<   r   q0x_castr   r   valr   s	           @r   check_meth_dtyper      s    			B	B				BG G G G"*bj"*EG G GF  0 0#vx!|FH-. 	0 	0D$q-3---CK	RY.////	0	0 0r   c                    t          j        g d          fdt           j        t           j        t           j        fD             }|D ]C}| j        | j        fD ]2} ||g|R  }t          j        |j	        t           j
        k               3Dd S )Nr   c                 :    g | ]}                     |          S r   r   )rl   r   r   s     r   rm   z#check_ppf_dtype.<locals>.<listcomp>   s#    KKKbiimmKKKr   )r7   rp   r   r   r   r   r   r   r:   r   r   )r*   r<   q_castqr   r   r   s         @r   check_ppf_dtyper      s    	%%%	&	&BKKKKrz2:rz&JKKKF 0 0Z, 	0 	0D$q-3---CK	RY.////	00 0r   c           	         d } | j         g dg|R  fdt          j        t          j        t          j        t          j        fD             }|D ]} | j        |  || j        |k     || j        k     z           } | j	        |g|R   | j
        |g|R   | j        |g|R  }}}t           || j
        |g|R  |d           t           || j        |g|R  ||z  d           t           || j        |g|R  | d           t           || j        |g|R  | |z  d           t           || j        |g|R   || j	        |g|R   | j	        |g|R  z  d           d S )Nc                 \    t          j        |          }d} | ||dz  z   g|R  |z  j        S )Ng|=y              ?)r7   rp   imag)fr   r<   hs       r   derivz check_cmplx_deriv.<locals>.deriv   s<    JqMM!ad(!S!!!!#))r   )r   gRQ?r   c                 :    g | ]}                     |          S r   r   r   s     r   rm   z%check_cmplx_deriv.<locals>.<listcomp>   r   r   r   r#   )r   r7   r   r   r   r   r   r   r   pdfr)   r~   r   r   r   logpdf)	r*   r<   r   r   r   r   r)   r~   r   s	           @r   check_cmplx_derivr      s$   * * *
 
&&&	-	-	-	-BG G G G"*bj"*EG G GF  # ##vx!|FH-.!vz!*c***JFJq,?3,?,?,?1ASsASASAS"Sfj!2c222CdCCCCfmQ5555s3wTJJJJfi1S111C4dCCCCflA4444sd2gDIIIIfmQ5555fj!2c222ZVZ5HC5H5H5HH!	# 	# 	# 	# 	## #r   c                 t   | j         }d| _          | j        |ddi t          j        |           } | j        |ddi}t          j        |          } |j        |ddi}t          j        ||            | j        dg|R   |j        dg|R  g}t          j        |d         |d                    t          j         | j        |d         g|R   |j        |d         g|R              | | }t          j        |          }	t          j        |	          }|                    d          }|                    d          }t          j        ||           t          | d          rJ| j
        }
t          j        |
          }t          j        |          }|
j        |j        cxk    rdk    sn J || _         d S )	Nr   r   r   r   r   r   )r   fit)r   r   pickledumpsloadsr   r   r   r)   r   r   __name__)r*   r!   r   rT   r   	unpickledr   mediansfrozen_distpklfit_functionpickled_fit_functionunpickled_fit_functions                r   check_picklingr     s   
 D FFJ1VA	T	"	"	"BQI		%1	%	%BR vz#%%%%}y}S'@4'@'@'@AGWQZ,,,ZVZ
2T222"Y]71:55557 7 7 &$-K
,{
#
#CS!!I	a	 	 B	A		BR vu Qz%|L99!'.B!C!C$(>(GPPPP5PPPPPP Fr   c                     t          | t          j                  rddd}nddi} | |i |}|j         | | j        k    sJ |j         | | j        k    sJ d S )Nr   r3   )locrg   r   )r|   r   rv_continuousr   r   )r*   r!   locscalervs       r   check_freezingr   ;  s     &%-.. q))1:		"	"	"B4664=?""""4664=?""""""r   c                 2    t           j                            d             j        | }t	          |j        |d|z             |sQt          j         fd|          }t           j                            d            || }t          ||d           d S d S )N{   z%s: rvs failed to broadcastc                       j         |  S r	   )r   )allargsdistfuncs    r   r    z%check_rvs_broadcast.<locals>.<lambda>M  s    LHL',B r   )otypesgvIh%<=r   )r7   r   r   r   r   rs   	vectorizer   )	r   r+   r   rs   
shape_onlyotypesampler   expecteds	   `        r   check_rvs_broadcastr  H  s    INN3X\7#Fu&Ch&NOOO 6lBBBB5QQQ
	s3=u555555	6 6r   c                    | j         g n| j                             d          }t          t          ||pg                     }|                    dd           }d}d}d}d|v r8 | j        dd|i|}	 | j        d	d|i|}
t          |
|	           t          t          t          j        |                    5   | j        dd|i| d d d            n# 1 swxY w Y   t          t          t          j        |                    5   | j        d	i | d d d            n# 1 swxY w Y    | j        dg|R  }
t          |
|	           t          t          t          j        |                    5   | j        di | d d d            d S # 1 swxY w Y   d S  | j        di |}	t          t          t          j        |                    5   | j        d	ddi|}
d d d            n# 1 swxY w Y   t          j                            t                    5   | j        dddi|}
t          |
|	           d d d            n# 1 swxY w Y    | j        dg|R  }
t          |
|	           t          t          t          j        |                    5   | j        di | d d d            d S # 1 swxY w Y   d S )
N, r   z/moment() missing 1 required positional argumentz9_parse_args() missing 1 required positional argument: 'n'z/moment() got multiple values for first argumentr   matchr   )r   )r   r   dictzipr   meanr&   r   r   r   reescaper7   testingassert_warnsDeprecationWarning)r*   r<   r+   r   
kwd_shapesr   message1message2message3r  r   s              r   'check_deprecation_warning_gh5982_momentr  S  s    =(RRfm.A.A$.G.GFc&#),,--JsD!!A@HJH@H
f}}6;111j11 fm111j11X&&& 9BIh,?,?@@@ 	- 	-FM,,A,,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-
 9BIh,?,?@@@ 	+ 	+FM**z***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ fmA$$$$X&&& 9BIh,?,?@@@ 	( 	(FM''J'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 6;,,,, 9BIh,?,?@@@ 	6 	6&-55Q5*55C	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 Z$$%788 	+ 	+&-22!2z22CC***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+
 fmA$$$$X&&& 9BIh,?,?@@@ 	( 	(FM''J'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(sl   :CCC	D##D'*D'4FFFG--G14G1 IIIJ44J8;J8c                 z     j         g n j                             d          }t          t          ||pg                     }|                    dd           } fd}d}d}d}	d|v r3 |d
d|i|}
  j        dd|i|}t          ||
           t          t          t          j
        |                    5    j        d
d|i| d d d            n# 1 swxY w Y   t          t          t          j
        |                    5    j        di | d d d            n# 1 swxY w Y     j        dg|R  }t          ||
           t          t          t          j
        |                    5    j        d
i | d d d            d S # 1 swxY w Y   d S  |d
i |}
t          t          t          j
        |	                    5    j        ddd	i|}d d d            n# 1 swxY w Y   t          j                            t                    5    j        d
ddi|}t          ||
           d d d            n# 1 swxY w Y     j        dg|R  }t          ||
           t          t          t          j
        |                    5    j        d
i | d d d            d S # 1 swxY w Y   d S )Nr	  alphac                  H     j         dg| R i | j         dg| R i |fS )Nr   r   )r   )r!   kwdsr*   s     r   my_intervalz>check_deprecation_warning_gh5982_interval.<locals>.my_interval  sK    
4/$///$//
4/$///$//1 	1r   z1interval() missing 1 required positional argumentz=_parse_args() missing 1 required positional argument: 'alpha'z1interval() got multiple values for first argumentr   r
  r   r   )r   )r   r   r  r  r   intervalr   r   r   r  r  r7   r  r  r  )r*   r<   r+   r   r  r  r  r  r  r  r  r   s   `           r   )check_deprecation_warning_gh5982_intervalr    s    =(RRfm.A.A$.G.GFc&#),,--JNN7D))E1 1 1 1 1 CHNHBH&;99U9j99 fo===*==X&&& 9BIh,?,?@@@ 	7 	7FO66%6:666	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7
 9BIh,?,?@@@ 	/ 	/FO..:...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ foc(C(((X&&& 9BIh,?,?@@@ 	* 	*FO))j)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* ;,,,, 9BIh,?,?@@@ 	> 	>!&/==Q=*==C	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> Z$$%788 	+ 	+!&/:::z::CC***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+
 foc(C(((X&&& 9BIh,?,?@@@ 	* 	*FO))j)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*sl   ;CCC
D$$D(+D(5FFFG))G-0G- IIIJ00J47J4)F)*r   r  numpyr7   numpy.testingr  r   r   r   pytestr   r   numpy.ma.testutilsr   	testutilsr   scipy._lib._utilr   r   scipyr   r   r1   rB   rG   rK   rV   r]   ra   re   rw   r   r   r   r   r   r   r   r   r  r  r  r   r   r   <module>r'     s    				           7 7 7 7 7 7 7 7 * * * * * * # # # # # # # # # F F F F F F      9 9 9 90 0 0$A A A$6 6 63 3 3! ! !! ! !@ @ @
< < <. . . < < <,$1 $1 $1N& & &R0 0 00 0 0# # #8( ( (V
# 
# 
#6 6 64( 4( 4(n8* 8* 8* 8* 8*r   