
    G/Ph?                     d    d dl Z d dlZd dlmZmZmZ d dlZd dlmZ  G d d          Z	d Z
d ZdS )    N)assert_assert_array_equalassert_raises)randomc                       e 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ej                             ej        d          j        dk     d          d             Zd Zd ZdS )TestRegressionc                    t          j        ddd          D ]j}t          j        |dd          }t	          t          j        |t           j         k              o!t          j        |t           j        k                         kd S )Ng      g      @      2   )nplinspacer   vonmisesr   allpi)selfmurs      n/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/numpy/random/tests/test_randomstate_regression.pytest_VonMises_rangez"TestRegression.test_VonMises_range   sv     +c2q)) 	? 	?BAr**ABF1v:&&=26!ru*+=+=>>>>	? 	?    c           
         t          t          j        t          j        dddd          dk                          t          t          j        t          j        dddd          dk                         dg}t
          j        d	k    }|r%t
          j        d
k    r|                    d           |D ]!}t          t          j        | dk               "d S )N         
   size   r   ) r    r            win32)   r#   r#   )	r   r   r   r   hypergeometricsysmaxsizeplatformappend)r   args	is_64bitsargs       r   test_hypergeometric_rangez(TestRegression.test_hypergeometric_range   s    v,QBR@@@1DEEFFFv,RBR@@@1DEEFFF .
 K%'	 	;00KK9::: 	5 	5CF)3/!34444	5 	5r   c                 6   d}t          j        d           t          j        d|          }t          j        |dk              |z  }d|dd}t          |d	k    |           t          j        |d
k              |z  }d|dd}t          |dk     |           d S )N  r   g?r   r   zFrequency was fz, should be > 0.45g?   z, should be < 0.23gq=
ףp?)r   seed	logseriesr   sumr   )r   Nrvsnfreqmsgs        r   test_logseries_convergencez)TestRegression.test_logseries_convergence&   s    A!,,, vdai  1$9t9999tS!!!vdai  1$9t9999tS!!!!!r   c                 V   g dg dg dg dfD ]}t          j        d           t          |          }t          j        |           t	          j        |d         |d         |d         |d	         gt          
          }t          t	          j        |t          
          |           d S )N)r   r0   r   N)r   r   r0   r0   r   r   N)r   r;   r<   N)r:   r0   r   N90  r   r   r   r0   dtype)r   r1   listshuffler   arrayobjectr   )r   tshuffledexpecteds       r   test_shuffle_mixed_dimensionz+TestRegression.test_shuffle_mixed_dimension6   s    !//000+++&&&( 	K 	KA KAwwHN8$$$x1qtQqT1Q4 8GGGHrx???JJJJ	K 	Kr   c           
      D   t          j                    }t          j        g d          }t	          d          D ]f}t          j        |           |                    d           t          |                    ddt          j        d          dz            |           gd S )N)
r         r0   r   	   r   rJ   r   r   r   i  r   g      $@)r   p)	r   RandomStater   rB   ranger1   r   choiceones)r   mresis       r   test_call_within_randomstatez+TestRegression.test_call_within_randomstateB   s      h55566q 	N 	NAKNNNFF4LLLqxxrwr{{3xGGMMMM		N 	Nr   c                     t          j        dgdggd           t          j        dgdggt          j        d                     t          j        dgdggt          j        d                     d S )Nr   r   r   )r   multivariate_normalr   int_int64r   s    r   #test_multivariate_normal_size_typesz2TestRegression.test_multivariate_normal_size_typesL   st     	"A3!A6666"A3!BGAJJ????"A3!BHQKK@@@@@@r   c                     t          j        d           t          j        ddd          }t          t	          j        t	          j        |                     d           d S )NiIg-C6?d   r   zNans in random.beta)r   r1   betar   r   anyisnan)r   xs     r   test_beta_small_parametersz)TestRegression.test_beta_small_parametersT   sV     	JKS111BF28A;;''')>?????r   c                 n   t          j        d           g d}g d}t          j        t          j        t          j        fD ]t}t          j        ||          t          |          z  }t          j        ||          }t          ||v            t          t          t           j        ||dz             ud S )N  )r   r0   r   )r   r   r0   r>   )rL   g?)r   r1   r   float16float32float64rB   r3   rO   r   r   
ValueError)r   acountsdtprobscs         r   "test_choice_sum_of_probs_tolerancez1TestRegression.test_choice_sum_of_probs_tolerance[   s     	DII*bj"*4 	E 	EBHV2...V<Ea5)))AAFOOO*fmQ%)DDDDD		E 	Er   c                     t          j        d           t          j        ddg          }t	          d          D ]}t          j        |           dd l}|                                 d S )Nrc   rh     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar\   r   )r   r1   r   rB   rN   rA   gccollectr   rh   _rp   s       r   1test_shuffle_of_array_of_different_length_stringsz@TestRegression.test_shuffle_of_array_of_different_length_stringsh   sl     	DHc:&''s 	 	AN1 				


r   c                 ,   t          j        d           t          j        t          j        d          t          j        d          gt
                    }t          d          D ]}t          j        |           dd l}|	                                 d S )Nrc   r   r   r>   r.   r   )
r   r1   r   rB   arangerC   rN   rA   rp   rq   rr   s       r    test_shuffle_of_array_of_objectsz/TestRegression.test_shuffle_of_array_of_objectsw   s     	DHbillBIaLL1@@@t 	 	AN1 				


r   c                     G d dt           j                  }t          j        d           t          j        d                              |          }t          j        |          }t          |t          j        g d                     t          |t          j        d                              |                      G d d          }t          j        d            |            }t          j        |          }t          |t          j        g d                     t          |	                                t          j        d	                     d S )
Nc                       e Zd ZdS )3TestRegression.test_permutation_subclass.<locals>.NN)__name__
__module____qualname__ r   r   r4   rz      s        Dr   r4   r   r   )r   r0   r   c                   6    e Zd Z ej        d          ZddZdS )3TestRegression.test_permutation_subclass.<locals>.Mr
   Nc                     | j         S )N)rh   )r   r?   copys      r   	__array__z=TestRegression.test_permutation_subclass.<locals>.M.__array__   s	    vr   )NN)r{   r|   r}   r   rv   rh   r   r~   r   r   Mr      s7        	!A     r   r   )r0   r   r   r   r   r
   )
r   ndarrayr   r1   rv   viewpermutationr   rB   r   )r   r4   origpermr   rQ   s         r   test_permutation_subclassz(TestRegression.test_permutation_subclass   sB   	 	 	 	 	
 	 	 	 	Ay||  ##!$''4)))!4!455541!2!21!5!5666	 	 	 	 	 	 	 	 	AACC!!$$4///!:!:;;;1;;==")A,,77777r   c                     t           j        dk    rdnd}t          j        d          5  t	          j        ddd|	           d d d            d S # 1 swxY w Y   d S )
Nbigz<i4z>i4znon-native byteorder is notmatchr      r   )r   r?   )r%   	byteorderpytestdeprecated_callr   randint)r   other_byteord_dts     r   test_warns_byteorderz#TestRegression.test_warns_byteorder   s    $'MU$:$:55#*GHHH 	D 	DN1c2BCCCC	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	Ds   AAAc                     t           j                            d          }t           j                            d          }|                    dd          |                    dd          k    sJ d S )Ni[)r1   r   r\   )r   r   rM   r   )r   rs1rs2s      r   "test_named_argument_initializationz1TestRegression.test_named_argument_initialization   sb    i##I..i###33{{1c""ckk!S&9&9999999r   c                 n   t           j                            ddgdz  d          }|j        t          j        t           j                  k    sJ t           j                            ddgdz  dd          }|j        t          j        t           j                  k    sJ t           j                            dd          }|j        t          j        t           j                  k    sJ t           j                            ddd          }|j        t          j        t           j                  k    sJ d S )	Nr   g?r0   )rL   r   F)rL   replacer   r   )r   r   )r   r   rO   r?   long)r   rl   s     r   test_choice_retun_dtypez&TestRegression.test_choice_retun_dtype   s    IRB4733w"(27++++++IRB47EBBw"(27++++++IRa((w"(27++++++IRQ77w"(27++++++++r   lr!   zCannot test with 32-bit C long)reasonc                     t          j        d           t          j        g dd          }t          j        dd          }t          ||           d S )Nr   )
l   
 l   /*/ l   u&-n l   LC0 l   C34 l   RD7 l   v l   g}1 i	tll   ^C? rX   r>   r!   r   r   )r   r1   r   rB   r   r   )r   rF   actuals      r   test_randint_117zTestRegression.test_randint_117   sh     	A8 5 5 5<CE E E B///68,,,,,r   c                     t           j                            d           t          t          j        dg d          g d           d S )Nr=   r   )r         ?g      ?g      ?r   )r   r   r   r   r   )r   r   r1   r   binomialrY   s    r   test_p_zero_streamz!TestRegression.test_p_zero_stream   sP     		u6?1.E.E.EFF*??	, 	, 	, 	, 	,r   c                     t           j                            d           t          j        g dg dg          }t	          t          j        dgdggdd          |           d S )	Ni_ )
r   r   r   r   r   r   r   r   r   r   )
r   r   r0   r   r   r   r
   r   r   r   r   r   r   )r0   r   r   )r   r   r1   rB   r   r   )r   rF   s     r   test_n_zero_streamz!TestRegression.test_n_zero_stream   sz     		w8;;;;;;= > >6?QC";7KKK#	% 	% 	% 	% 	%r   N)r{   r|   r}   r   r,   r8   rG   rT   rZ   ra   rm   rt   rw   r   r   r   r   r   markskipifr   iinfomaxr   r   r   r~   r   r   r   r      sf       ? ? ?5 5 5 " " " 
K 
K 
KN N NA A A@ @ @E E E    8 8 8,D D D: : :	, 	, 	, [)E1?  A A- -A A-, , ,% % % % %r   r   c                      t          j        dg           j        dk    sJ t          j        dg d          j        dk    sJ d S )Nr   )r   r   )rJ   r
   r   r   )rJ   r
   r   r   )r   multinomialshaper~   r   r   test_multinomial_emptyr      sQ     b"%%+t3333a)444:lJJJJJJr   c                      t          j        t          d          5  t          j        dd           d d d            d S # 1 swxY w Y   d S )Nzpvals must be a 1-dr   r   g333333?)r   raises	TypeErrorr   r   r~   r   r   test_multinomial_1d_pvalr      s    	y(=	>	>	> $ $2s###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $s   ?AA)r%   r   numpy.testingr   r   r   numpyr   r   r   r   r   r~   r   r   <module>r      s    



                    ~% ~% ~% ~% ~% ~% ~% ~%BK K K$ $ $ $ $r   