
    (ph0                         S SK r S SKrS SKJr  S SKJrJr  S SKJ	r
  S SKJs  Jr  S SKJrJr  S SKJr  S SKJr  SS jrS rS	 rS
 rS rS rS rS rS rS r S r!S r"S r#S r$S r%S r&S r'S r(S r)S r*g)    N)assert_allcloseassert_equal)raises)getfullargspec_no_selfnp_long)xp_assert_equal)statsc                     [        U5       Hn  u  pEU(       a$  [        R                  " X   [        X5      5        M0  Ub  [	        X   [        X5      5        ML  [
        R                  " X   [        X5      5        Mp     g N)	enumeratema_nptr   getattrr   npt)res
attributesmaxpiattrs         Q/var/www/html/venv/lib/python3.13/site-packages/scipy/stats/tests/common_tests.pycheck_named_resultsr      sZ    Z((:;^CFGC$67SVWS%78 )    c           	      >   U R                   " S/UQ76 n[        R                  " US5        US:X  a  Su  pEOSu  pEU R                  S US9n[        R                  " USXEUSS	9  U R                  " U6 u  pxU R
                  " U/UQ76 n	[        R                  " U	S5        g )
Nr         ?rv_histogram_instance)h㈵>r   )Hz>r   c                     g)N    xs    r   <lambda>%check_normalization.<locals>.<lambda>$   s    1r   )argsT)atolrtolerr_msgverbose)momentr   r   expectsupportcdf)
distfnr%   distnamenorm_momentr&   r'   normalization_expect_a_bnormalization_cdfs
             r   check_normalizationr5      s    --)D)KS)**
d
!==4=@,c ($8 ^^T"FB

2--)3/r   c                    U R                   " S/UQ76 nU R                   " S/UQ76 n[        R                  " U5      (       d  [        R                  " XRSUS-   S9  O:[        R
                  " [        R                  " U5      US[        U5       3-   5        [        R                  " U5      (       d   [        R                  " XeU-  -
  USUS-   S9  g [        R
                  " [        R                  " U5      USU< 3-   5        g )	Nr      
   z - 1st momentdecimalr(   z - 1st moment -infinite, m1=z - 2ndt momentz - 2nd moment -infinite, m2=)r*   npisinfr   assert_almost_equalassert_str)r.   argmvmsgm1m2s          r   check_momentrF   -   s    	q	3	B	q	3	B88A;;r(+o(=	? 	BHHRL8R	BB	D 88A;;"Wa(+.>(>	@ 	BHHRL#*GB5(I"IJr   c                     [         R                  " U5      (       a-  U R                  S U5      n[        R                  " XBSUS-   S9  g g )Nc                     U $ r   r    r!   s    r   r#   #check_mean_expect.<locals>.<lambda>@   s    Qr      z - 1st moment (expect)r9   )r;   isfiniter+   r   r=   )r.   r@   rA   rC   rD   s        r   check_mean_expectrL   >   s@    	{{1~~]];,q(+.F(F	H r   c                     SS1nXE;   a  SS0O0 n[         R                  " U5      (       a0  U R                  S U5      n[        R                  " XsX"-  -   40 UD6  g g )Nr   ksoner'   gh㈵>c                 
    X -  $ r   r    r!   s    r   r#   "check_var_expect.<locals>.<lambda>I   s    QSr   )r;   rK   r+   r   r   )r.   r@   rA   rB   rC   dist_looser_toleranceskwargsrE   s           r   check_var_expectrS   E   sX    5@"<fd^"F	{{1~~]]=#.BAC262 r   c                    ^ [         R                  " U5      (       aH  U R                  U4S jU5      n[        R                  " Xd[         R
                  " US5      -  SUS-   S9  g [        R                  " [         R                  " U5      5        g )Nc                 8   > [         R                  " U T-
  S5      $ )N   r;   powerr"   rA   s    r   r#   #check_skew_expect.<locals>.<lambda>O       bhhqsA&6r   g      ?rJ   z - skewr9   )r;   rK   r+   r   r=   rX   r>   isnan)r.   r@   rA   rB   srC   m3es     `    r   check_skew_expectr_   M   sa    	{{1~~mm6<!S)9%9()3?	D 	BHHQK r   c                 `  ^ [         R                  " U5      (       aL  U R                  U4S jU5      n[        R                  " XdS-   [         R
                  " US5      -  SSUS-   S9  g [         R                  " U5      (       d+  [        R                  " [         R                  " U5      5        g g )Nc                 8   > [         R                  " U T-
  S5      $ )N   rW   rY   s    r   r#   #check_kurt_expect.<locals>.<lambda>X   r[   r   g      @r7   r   z - kurtosisr&   r'   r(   )	r;   rK   r+   r   r   rX   isposinfr>   r\   )r.   r@   rA   rB   krC   m4es     `    r   check_kurt_expectrh   V   sy    	{{1~~mm6<Cb&BHHQN!:!%D$'-$7	9 [[^^BHHQK  r   c                 F   U R                   R                  [        R                  R                   :w  ao  U R                  " S/UQ76 nU R                  S U[        R                  * [        R                  S9n[        R                  " U5      (       d  g [        X4SSUS-   S9  g g )NrJ   c                     U S-  $ )NrJ   r    r!   s    r   r#   #check_munp_expect.<locals>.<lambda>e   s    AFr   )lbub绽|=g-C6?z - higher moment / _munprd   )
_munp__func__r	   rv_continuousr*   r+   r;   infrK   r   )distr%   rC   r   refs        r   check_munp_expectru   `   s     zze11777kk!#d#kk*DbffWkH{{3u4 #&@ @	B 8r   c                     U R                   " U6 n[        R                  " [        R                  " U5      (       + US-   5        g )Nztest Entropy is nan)entropyr   r>   r;   r\   )r.   r@   rC   ents       r   check_entropyry   m   s/    
..#
CKKBHHSM!3)>#>?r   c                 n    [         R                  " U R                  " U6 UR                  " U /UQ76 5        g r   )r   r   _entropy)r.   r%   
superclasss      r   check_private_entropyr}   r   s.    ."++F:T:<r   c                 $   [         R                  " SS/SS//5      nU R                  " USU06nUR                  5        Vs/ s H  o@R                  " USU06PM     nn[         R                  " U5      R	                  UR
                  5      n[        X5SS9  / SQnU R                  " USU06nU Vs/ s H  o@R                  " USU06PM     nn[         R                  " U5      R	                  UR
                  5      n[        X5SS9  g s  snf s  snf )	Nr   r7   rV   rb   scaleg+=)r&   )r   r7   )r;   asarrayrw   ravelreshapeshaper   )r.   r@   scv_entr]   s_ents         r   check_entropy_vect_scaler   x   s    	aVaV$	%BNNC*r*E46HHJ?Jq^^S**JE?JJu%%ekk2EEu- 
BNNC*r*E467Bq^^S**BE7JJu%%ekk2EEu- @ 8s   D1Dc                    U R                   " U6 n[        U [        R                  5      (       a  US   S-
  US   4n[        R
                  " U R                  " U/UQ76 SS/5        [        R
                  " U R                  " U/UQ76 SS/5        U R                  S;  ar  [        R
                  " U R                  " U/UQ76 [        R                  * S/5        [        R
                  " U R                  " U/UQ76 S[        R                  * /5        [        R
                  " U R                  " SS//UQ76 U5        [        R
                  " U R                  " SS//UQ76 US S S2   5        [        R                  " [        R                   " U R                  " SS//UQ76 5      R#                  5       5        [        R                  " [        R                   " U R                  " SS//UQ76 5      R#                  5       5        g )Nr   r   g        r   )skellamdlaplacer7   )r,   
isinstancer	   rv_discreter   r   r-   sfnamelogcdfr;   rr   logsfppfisfr>   r\   all)r.   r%   r"   s      r   check_edge_supportr      s   A&%++,,aDFAaDLVZZ)D)C:6VYYq(4(3*5{{11q040BFF7C.Aa/$/#w@VZZc
2T2A6VZZc
2T2AddG< KKRG3d3488:;KKRG3d3488:;r   c                    [        U R                  5      n[        R                  " UR                  S L 5        [        R                  " UR
                  S L 5        [        R                  " UR                  (       + 5        [        R                  " [        UR                  5      [        U5      :H  5        UR                  S [        U5      *  nU R                  (       a+  U R                  R                  SS5      R                  5       nOSn[        R                  " [        U5      U R                  :H  5        [        R                  " [        U5      [        U5      :H  5        [        U5      nU Vs/ s H  o" U/UQ76 PM     n	n[        R                  " [        R                   " [        R"                  " U	5      5      5        US S  US S  0 pn
U
(       a  UR%                  U
R'                  5       UR'                  5       05        U Vs/ s H  o" U/UQ70 UD6PM     nn[        R(                  " X5        SUR+                  5       ;  a<  [        R,                  " U R.                  " S/UQ70 UD6U R.                  " S/UQ76 5        U
(       a  M  UR%                  SS05        [1        [2        U R4                  U40 UD6  g s  snf s  snf )N,  nr   kaboom*   )_getfullargspec_parse_argsr   r>   varargsvarkw
kwonlyargslistdefaultsr%   lenshapesreplacesplitnumargsr;   r   rK   updatepopassert_array_equalkeysr   r*   assert_raises	TypeErrorr-   )r.   r"   
shape_argsr   meths	signatureshape_argnamesshapes_methvalsnamesarf   rB   s                 r   check_named_argsr      s      2 23IKK	!!T)*KK	4'(KKI((()KKY''(DN:;^^Oc(m^4N}}--''S1779KKG./KKGN 334 j!J-23UTD Z UD3KKr{{4()* #Z]BaE
	%))+quuw'(*/0%$T!a1%0t'affhV]]16q6A6#]]1:z:< % HHh^)VZZ0a0 4 1s   1J>Kc                 \   U R                   n[        R                  R                  S5        S U l         U R                  " USS06nSU l         U R                  " USS06n[
        R                  " X45        [        R                  R                  S5      U l         U R                  " USS06n[
        R                  " X55        [        [        R                  S5      (       a2  [        R                  R                  S5      nU R                  " USUS.6  SU l         U R                   R                  5       nU R                  " US[        R                  R                  S5      S.6n[
        R                  " X85        [
        R                  " U R                   R                  5       U5        X l         g )N  size   default_rngr   )r   random_stater7   )r   r;   randomseedrvsr   r   RandomStatehasattrr   	get_state)	r.   r%   rndmr0r1r2rng
orig_stater3s	            r   check_random_state_propertyr      sL   
 D IINN4F	T	"	"B F	T	"	"BR))//5F	T	"	"BR ryy-((ii##D)

Dqs3 F$$..0J	T		0E0Ed0K	LBR V((224jA r   c                    / SQnU R                   " U/UQ76 n[        [        R                  [        R                  [        R
                  4 Vs/ s H  oTR                  U5      PM     nnU Hu  nU R                  " U6   XpR                  U:  XpR                  :  -     nU H=  nU" U/UQ76 n	[        R                  " U	R                  [        R
                  :H  5        M?     Mw     g s  snf N)      ?      ?      ?)r   r   r;   float16float32float64astype	_argcheckr   br   r>   dtype)
r.   r@   r   q0x0tpx_castr"   r   vals
             r   check_meth_dtyper      s    	B	B		B'.

BJJ')zz'3 4 '3iim '3F 4 #xx!|HH-.Dq-3-CKK		RZZ/0 	 4s   C&c                    [         R                  " / SQ5      n[         R                  [         R                  [         R                  4 Vs/ s H  o2R                  U5      PM     nnU H\  nU R                  U R                  4 H=  nU" U/UQ76 n[        R                  " UR                  [         R                  :H  5        M?     M^     g s  snf r   )r;   r   r   r   r   r   r   r   r   r>   r   )r.   r@   r   r   q_castqr   r   s           r   check_ppf_dtyper      s    	%	&B')zz2::rzz&JK&Jiim&JFKZZ,Dq-3-CKK		RZZ/0 -  Ls   
C	c           	      B   S nU R                   " / SQ/UQ76 n[        [        R                  [        R                  [        R
                  4 Vs/ s H  oCR                  U5      PM     nnU GH)  nU R                  " U6   X`R                  U:  X`R                  :  -     nU R                  " U/UQ76 U R                  " U/UQ76 U R                  " U/UQ76 pn[        U" U R                  U/UQ76 USS9  [        U" U R                  U/UQ76 Xx-  SS9  [        U" U R                  U/UQ76 U* SS9  [        U" U R                  U/UQ76 U* U	-  SS9  [        U" U R                   U/UQ76 U" U R                  U/UQ76 U R                  " U/UQ76 -  SS9  GM,     g s  snf )Nc                 h    [         R                  " U5      nSnU " XS-  -   /UQ76 U-  R                  $ )Nrn   y              ?)r;   r   imag)fr"   r@   hs       r   deriv check_cmplx_deriv.<locals>.deriv  s5    JJqM!d(!S!!#)))r   )r   gRQ?r   r   r'   )r   r   r;   r   r   r   r   r   r   r   pdfr-   r   r   r   r   logpdf)
r.   r@   r   r   r   r   r"   r   r-   r   s
             r   check_cmplx_derivr     s   *
 
&	-	-B'.

BJJ')zz'3 4 '3iim '3F 4 #xx!|HH-.zz!*c*FJJq,?3,?1ASsAS"fjj!2c2CdCfmmQ55swTJfii1S1C4dCfllA44sd2gDIfmmQ55fjj!2c2VZZ5HC5HH!	# 4s   Fc                    U R                   nSU l         U R                  " USS06  [        R                  " U 5      nU R                  " USS06n[        R                  " U5      nUR                  " USS06n[
        R                  " XF5        U R                  " S/UQ76 UR                  " S/UQ76 /n[
        R                  " US   US   5        [
        R                  " U R                  " US   /UQ76 UR                  " US   /UQ76 5        U " U6 n[        R                  " U5      n	[        R                  " U	5      nUR                  SS9nUR                  SS9n[
        R                  " XF5        [        U S5      (       a^  U R                  n
[        R                  " U
5      n[        R                  " U5      nU
R                  UR                  s=:X  a  S:X  d   e   eX l         g )	Nr   r   r   r   r   r   )r   fit)r   r   pickledumpsloadsr   r   r   r-   r   r   __name__)r.   r%   r   r]   r   	unpickledr   mediansfrozen_distpklfit_functionpickled_fit_functionunpickled_fit_functions                r   check_picklingr   "  s   
 D F
JJ1VA	T	"	"BQI		%1	%BR zz#%%y}}S'@4'@AGWQZ,VZZ
2T2]]71:557 $-K
,,{
#CS!I	a	 B	A	BR vuzz%||L9!'.B!C$$(>(G(GP5PPPPP r   c                     [        U [        R                  5      (       a  SSS.nOSS0nU " U0 UD6nUR                  U " U6 R                  :X  d   eUR                  U " U6 R                  :X  d   eg )Nr   r7   )locr   r   )r   r	   rq   r   r   )r.   r%   locscalervs       r   check_freezingr  M  sm     &%--..q)1:		"	"B4464=??"""4464=??"""r   c                 2  ^  [         R                  R                  S5        T R                  " U6 n[	        UR
                  X1 S35        U(       dH  [         R                  " U 4S jUS9n[         R                  R                  S5        U" U6 n[        XhSS9  g g )N{   z: rvs failed to broadcastc                  "   > TR                   " U 6 $ r   )r   )allargsdistfuncs    r   r#   %check_rvs_broadcast.<locals>.<lambda>_  s    HLL',Br   )otypesgvIh%<=r   )r;   r   r   r   r   r   	vectorizer   )	r  r/   r  r   
shape_onlyotypesampler   expecteds	   `        r   check_rvs_broadcastr  Z  ss    IINN3\\7#Fu
2K&LMllB5Q
		s=u5	 r   )FN)+r   numpyr;   numpy.testingtestingr   r   r   pytestr   r   numpy.ma.testutilsr   	testutilsr   scipy._lib._utilr   r   r   scipy._lib._array_api_no_0dr   scipyr	   r   r5   rF   rL   rS   r_   rh   ru   ry   r}   r   r   r   r   r   r   r   r   r  r  r    r   r   <module>r     s       7 * # # 8 90$K"H3!!
B@
<. <,$1N&R11#8(V
#6r   