
    5[g0                         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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*y)    N)assert_allcloseassert_equal)raises)getfullargspec_no_selfnp_long)xp_assert_equal)statsc                     t        |      D ]j  \  }}|r$t        j                  | |   t        | |             ,|t	        | |   t        | |             Ht        j                  | |   t        | |             l y N)	enumeratema_nptr   getattrr   npt)res
attributesmaxpiattrs         Y/var/www/html/bid-api/venv/lib/python3.12/site-packages/scipy/stats/tests/common_tests.pycheck_named_resultsr      sh    Z(4AT(:;^CFGC$67SVWS$%78 )    c                 J    | j                   dg| }t        j                  |d       |dk(  rd\  }}nd\  }}| j                  d |      }t        j                  |d|||d	        | j                  | \  }} | j
                  |g| }	t        j                  |	d       y )
Nr         ?rv_histogram_instance)h㈵>r   )Hz>r   c                      y)N    xs    r   <lambda>z%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_normalizationr4      s    &--)D)KS)**
d
d!==4=@,c4 ($8 V^^T"FB"

2--)3/r   c                     | j                   dg| } | j                   dg| }t        j                  |      st        j                  ||d|dz          n8t        j
                  t        j                  |      |dt        |      z  z          t        j                  |      s#t        j                  |||z  z
  |d|dz          y t        j
                  t        j                  |      |d|z          y )	Nr      
   z - 1st momentdecimalr'   z - 1st moment -infinite, m1=%sz - 2ndt momentz - 2nd moment -infinite, m2=)r)   npisinfr   assert_almost_equalassert_str)r-   argmvmsgm1m2s          r   check_momentrE   -   s    	q	3	B	q	3	B88A;Ar(+o(=	? 	BHHRL:SWDD	F 88A;R"Wa(+.>(>	@ 	BHHRL#*GB5(I"IJr   c                     t        j                  |      r0| j                  d |      }t        j                  ||d|dz          y y )Nc                     | S r   r    r!   s    r   r#   z#check_mean_expect.<locals>.<lambda>@   s    Qr      z - 1st moment (expect)r8   )r:   isfiniter*   r   r<   )r-   r?   r@   rB   rC   s        r   check_mean_expectrJ   >   s@    	{{1~]];,Aq(+.F(F	H r   c                     ddh}||v rddini }t        j                  |      r1| j                  d |      }t        j                  ||||z  z   fi | y y )Nr   ksoner&   gh㈵>c                     | | z  S r   r    r!   s    r   r#   z"check_var_expect.<locals>.<lambda>I   s    QqSr   )r:   rI   r*   r   r   )r-   r?   r@   rA   rB   dist_looser_toleranceskwargsrD   s           r   check_var_expectrP   E   s]    5@"&<<fd^"F	{{1~]]=#.BAaC262 r   c                    t        j                  |      rI| j                  fd|      }t        j                  ||t        j
                  |d      z  d|dz          y t        j                  t        j                  |             y )Nc                 6    t        j                  | z
  d      S )N   r:   powerr"   r@   s    r   r#   z#check_skew_expect.<locals>.<lambda>O       bhhqsA&6r   g      ?rH   z - skewr8   )r:   rI   r*   r   r<   rU   r=   isnan)r-   r?   r@   rA   srB   m3es     `    r   check_skew_expectr[   M   sa    	{{1~mm6<Q!S)9%9()3?	D 	BHHQK r   c                 F   t        j                  |      rM| j                  fd|      }t        j                  ||dz   t        j
                  |d      z  dd|dz          y t        j                  |      s)t        j                  t        j                  |             y y )Nc                 6    t        j                  | z
  d      S )N   rT   rV   s    r   r#   z#check_kurt_expect.<locals>.<lambda>X   rW   r   g      @r6   r   z - kurtosisr%   r&   r'   )	r:   rI   r*   r   r   rU   isposinfr=   rX   )r-   r?   r@   rA   krB   m4es     `    r   check_kurt_expectrc   V   sw    	{{1~mm6<C!b&BHHQN!:!%D$'-$7	9 [[^BHHQK  r   c                 F   | j                   j                  t        j                  j                   k7  rp | j                  dg| }| j                  d |t        j                   t        j                        }t        j                  |      sy t        ||dd|dz          y y )NrH   c                     | dz  S )NrH   r    r!   s    r   r#   z#check_munp_expect.<locals>.<lambda>e   s    AFr   )lbub绽|=g-C6?z - higher moment / _munpr_   )
_munp__func__r	   rv_continuousr)   r*   r:   infrI   r   )distr$   rB   r   refs        r   check_munp_expectro   `   s     zze11777dkk!#d#kk*DbffWkH{{3Su4 #&@ @	B 8r   c                 |     | j                   | }t        j                  t        j                  |       |dz          y )Nztest Entropy is nan)entropyr   r=   r:   rX   )r-   r?   rB   ents       r   check_entropyrs   m   s1    
&..#
CKKBHHSM!3)>#>?r   c                 l    t        j                   | j                  |  |j                  | g|        y r   )r   r   _entropy)r-   r$   
superclasss      r   check_private_entropyrw   r   s2    .+
++F:T:<r   c                 &   t        j                  ddgddgg      } | j                  |d|i}|j                         D cg c]  } | j                  |d|i }}t        j                  |      j	                  |j
                        }t        ||d       g d} | j                  |d|i}|D cg c]  } | j                  |d|i }}t        j                  |      j	                  |j
                        }t        ||d       y c c}w c c}w )	Nr   r6   rS   r^   scaleg+=)r%   )r   r6   )r:   asarrayrq   ravelreshapeshaper   )r-   r?   scv_entrY   s_ents         r   check_entropy_vect_scaler   x   s    	aVaV$	%BFNNC*r*E46HHJ?Jq^V^^S**JE?JJu%%ekk2EE5u- 
BFNNC*r*E467Bq^V^^S**BE7JJu%%ekk2EE5u- @ 8s    D	1Dc                     | j                   | }t        | t        j                        r|d   dz
  |d   f}t	        j
                   | j                  |g| ddg       t	        j
                   | j                  |g| ddg       | j                  dvrpt	        j
                   | j                  |g| t        j                   dg       t	        j
                   | j                  |g| dt        j                   g       t	        j
                   | j                  ddgg| |       t	        j
                   | j                  ddgg| |d d d          t	        j                  t        j                    | j                  ddgg|       j#                                t	        j                  t        j                    | j                  ddgg|       j#                                y )Nr   r   g        r   )skellamdlaplacer6   )r+   
isinstancer	   rv_discreter   r   r,   sfnamelogcdfr:   rl   logsfppfisfr=   rX   all)r-   r$   r"   s      r   check_edge_supportr      s   A&%++,aDFAaDLZVZZ)D)C:6YVYYq(4(3*5{{11q040BFF7C.Aa/$/#w@ZVZZc
2T2A6ZVZZc
2T2AddG< KKRG3d3488:;KKRG3d3488:;r   c                 J   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                  j                  dd      j                         }nd}t        j                  t        |      | j                  k(         t        j                  t        |      t        |      k(         t        |      }|D cg c]  } ||g|  }	}t        j                  t        j                   t        j"                  |	                   |d d  |d d  i }}}
|
r|j%                  |
j'                         |j'                         i       |D cg c]  } ||g|i | }}t        j(                  |	|       d|j+                         vr;t        j,                   | j.                  dg|i | | j.                  dg|        |
r|j%                  ddi       t1        t2        | j4                  |fi | y c c}w c c}w )N,  nr   kaboom*   )_getfullargspec_parse_argsr   r=   varargsvarkw
kwonlyargslistdefaultsr$   lenshapesreplacesplitnumargsr:   r   rI   updatepopassert_array_equalkeysr   r)   assert_raises	TypeErrorr,   )r-   r"   
shape_argsr   meths	signatureshape_argnamesshapes_methvalsnamesara   rA   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]Ba1E
	%))+quuw'(*/0%$T!a1%0tQ'affh]V]]16q6A6*V]]1:z:<  HHh^)VZZ0a0 4 1s   "J0J c                 R   | j                   }t        j                  j                  d       d | _          | j                  |ddi}d| _          | j                  |ddi}t        j                  ||       t        j                  j                  d      | _          | j                  |ddi}t        j                  ||       t        t        j                  d      r2t        j                  j                  d      } | j                  |d|d d| _         | j                   j                         } | j                  |dt        j                  j                  d      d}t        j                  ||       t        j                  | j                   j                         |       || _         y )N  size   default_rngr   )r   random_stater6   )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      s[   
 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 Fr   c                    g d} | j                   |g| }t        t        j                  t        j                  t        j
                  fD cg c]  }|j                  |       }}|D ]s  } | j                  |  || j                  |k  || j                  k  z     }|D ];  } ||g| }	t        j                  |	j                  t        j
                  k(         = u y c c}w 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biim '3F 4 #vxx!|FHH-.Dq-3-CKK		RZZ/0 	 4s   C!c                    t        j                  g d      }t         j                  t         j                  t         j                  fD cg c]  }|j                  |       }}|D ]X  }| j                  | j                  fD ];  } ||g| }t        j                  |j                  t         j                  k(         = Z y c c}w 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biim&JFKZZ,Dq-3-CKK		RZZ/0 -  Ls   	Cc           	      `   d } | j                   g dg| }t        t        j                  t        j                  t        j
                  fD cg c]  }|j                  |       }}|D ];  } | j                  |  || j                  |k  || j                  k  z     } | j                  |g|  | j                  |g|  | j                  |g| }	}}t         || j                  |g| |d       t         || j                  |g| ||z  d       t         || j                  |g| | d       t         || j                  |g| | |	z  d       t         || j                   |g|  || j                  |g|  | j                  |g| z  d       > y c c}w )Nc                 h    t        j                  |      }d} | ||dz  z   g| |z  j                  S )Nrh   y              ?)r:   r{   imag)fr"   r?   hs       r   derivz check_cmplx_deriv.<locals>.deriv  s7    JJqM!a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biim '3F 4 #vxx!|FHH-.!vzz!*c*JFJJq,?3,?1ASsAS"Sfjj!2c2CdCfmmQ55s3wTJfii1S1C4dCfllA44sd2gDIfmmQ55fjj!2c2ZVZZ5HC5HH!	# 4s   F+c                    | j                   }d| _          | j                  |ddi t        j                  |       } | j                  |ddi}t        j                  |      } |j                  |ddi}t        j                  ||        | j                  dg|  |j                  dg| g}t        j                  |d   |d          t        j                   | j                  |d   g|  |j                  |d   g|         | | }t        j                  |      }	t        j                  |	      }|j                  d      }|j                  d      }t        j                  ||       t        | d      rZ| j                  }
t        j                  |
      }t        j                  |      }|
j                  |j                  cxk(  rdk(  sJ  J || _         y )	Nr   r   r   r   r   r   )r   fit)r   r   pickledumpsloadsr   r   r   r,   r   r   __name__)r-   r$   r   rY   r   	unpickledr   mediansfrozen_distpklfit_functionpickled_fit_functionunpickled_fit_functions                r   check_picklingr   "  s   
 D FFJJ1VA	T	"	"BQI		%1	%BR vzz#%%}y}}S'@4'@AGWQZ,ZVZZ
2T2"Y]]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 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 y )Nr   r6   )locry   r   )r   r	   rk   r   r   )r-   r$   locscalervs       r   check_freezingr   M  sj     &%--.q)1:		"	"B4464=??"""4464=??"""r   c                 4    t         j                  j                  d         j                  | }t	        |j
                  |d|z         |sMt        j                   fd|      }t         j                  j                  d        || }t        ||d       y y )N{   z%s: rvs failed to broadcastc                  "     j                   |  S r   )r   )allargsdistfuncs    r   r#   z%check_rvs_broadcast.<locals>.<lambda>_  s    LHLL',Br   )otypesgvIh%<=r   )r:   r   r   r   r   r~   	vectorizer   )	r   r.   r   r~   
shape_onlyotypesampler   expecteds	   `        r   check_rvs_broadcastr  Z  sw    IINN3X\\7#Fu&Ch&NO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_apir   scipyr	   r   r4   rE   rJ   rP   r[   rc   ro   rs   rw   r   r   r   r   r   r   r   r   r   r  r    r   r   <module>r     s       7 * # # 2 90$K"H3!!
B@
<. <,$1N&R11#8(V
#6r   