o
    >~#g?                     @   sZ   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 dZ	dd Z
dd	 ZdS )
    N)assert_assert_array_equalassert_raises)randomc                   @   s   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zejjedjdk dd d!d" Zd#d$ Zd%d& Zd'S )(TestRegressionc                 C   sL   t dddD ]}t|dd}tt |t j ko!t |t jk qd S )Ng      g      @      2   )nplinspacer   vonmisesr   allpi)selfmur r   /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/numpy/random/tests/test_randomstate_regression.pytest_VonMises_range   s   (z"TestRegression.test_VonMises_rangec              	   C   s   t ttjddddddk  t ttjddddddk dg}tjd	k}|r4tjd
kr4|d |D ]}t tj| dk q6d S )N         
   size   r   ) r   r           win32)   r   r   )	r   r
   r   r   hypergeometricsysmaxsizeplatformappend)r   args	is_64bitsargr   r   r   test_hypergeometric_range   s     

z(TestRegression.test_hypergeometric_rangec                 C   s|   d}t d t jd|d}t|dk| }d|dd}t|d	k| t|d
k| }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msgr   r   r   test_logseries_convergence&   s   
z)TestRegression.test_logseries_convergencec                 C   s|   g dg dg dg dfD ]-}t d t|}t | tj|d |d |d |d	 gtd
}ttj|td
| qd S )N)r   r+   r   N)r   r   r+   r+   r   r   N)r   r5   r6   N)r4   r+   r   N90  r   r   r   r+   dtype)r   r,   listshuffler
   arrayobjectr   )r   tshuffledexpectedr   r   r   test_shuffle_mixed_dimension6   s   

&z+TestRegression.test_shuffle_mixed_dimensionc                 C   s\   t  }tg d}tdD ]}t | |d t|jddtdd d| qd S )N)
r         r+   r   	   r   rC   r   r   r   i  r   g      $@)r   p)	r   RandomStater
   r<   ranger,   r   choiceones)r   mresir   r   r   test_call_within_randomstateB   s   

"z+TestRegression.test_call_within_randomstatec                 C   sR   t jdgdggdd t jdgdggtdd t jdgdggtdd d S )Nr   r   r   )r   multivariate_normalr
   int_int64r   r   r   r   #test_multivariate_normal_size_typesL   s    z2TestRegression.test_multivariate_normal_size_typesc                 C   s6   t d t jdddd}ttt| d d S )NiIg-C6?d   r   zNans in random.beta)r   r,   betar   r
   anyisnan)r   xr   r   r   test_beta_small_parametersT   s   
z)TestRegression.test_beta_small_parametersc                 C   sz   t d g d}g d}tjtjtjfD ]%}tj||dt| }t j||d}t	||v  t
tt j||d d qd S )N  )r   r+   r   )r   r   r+   r8   )rE   g?)r   r,   r
   float16float32float64r<   r.   rH   r   r   
ValueError)r   acountsdtprobscr   r   r   "test_choice_sum_of_probs_tolerance[   s   
z1TestRegression.test_choice_sum_of_probs_tolerancec                 C   sD   t d tddg}tdD ]}t | qdd l}|  d S )NrY   r^     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarS   r   )r   r,   r
   r<   rG   r;   gccollectr   r^   _re   r   r   r   1test_shuffle_of_array_of_different_length_stringsh   s   
z@TestRegression.test_shuffle_of_array_of_different_length_stringsc                 C   sT   t d tjtdtdgtd}tdD ]}t | qdd l}|	  d S )NrY   r   r   r8   r)   r   )
r   r,   r
   r<   aranger=   rG   r;   re   rf   rg   r   r   r    test_shuffle_of_array_of_objectsw   s   
z/TestRegression.test_shuffle_of_array_of_objectsc                 C   s   G dd dt j}td t d|}t|}t|t g d t|t d| G dd d}td | }t|}t|t g d t|	 t d	 d S )
Nc                   @   s   e Zd ZdS )z3TestRegression.test_permutation_subclass.<locals>.NN)__name__
__module____qualname__r   r   r   r   r/      s    r/   r   r   )r   r+   r   c                   @   s    e Zd ZedZdddZdS )z3TestRegression.test_permutation_subclass.<locals>.Mr   Nc                 S   s   | j S )N)r^   )r   r9   copyr   r   r   	__array__   s   z=TestRegression.test_permutation_subclass.<locals>.M.__array__)NN)rl   rm   rn   r
   rj   r^   rp   r   r   r   r   M   s    
rq   )r+   r   r   r   r   r   )
r
   ndarrayr   r,   rj   viewpermutationr   r<   rp   )r   r/   origpermrq   rJ   r   r   r   test_permutation_subclass   s   



z(TestRegression.test_permutation_subclassc                 C   sV   t jdkrdnd}tjdd tjddd|d	 W d    d S 1 s$w   Y  d S )
Nbigz<i4z>i4znon-native byteorder is notmatchr      r   )r   r9   )r!   	byteorderpytestdeprecated_callr   randint)r   other_byteord_dtr   r   r   test_warns_byteorder   s   "z#TestRegression.test_warns_byteorderc                 C   s:   t jd}t jjdd}|dd|ddksJ d S )Ni[)r,   r   rS   )r
   r   rF   r   )r   rs1rs2r   r   r   "test_named_argument_initialization   s    z1TestRegression.test_named_argument_initializationc                 C   s   t jjddgd dd}|jt t jksJ t jjddgd ddd}|jt t jks/J t jjddd}|jt t jksBJ t jjdddd}|jt t jksVJ d S )	Nr   g?r+   )rE   r   F)rE   replacer   r   )r   r   )r
   r   rH   r9   long)r   rb   r   r   r   test_choice_retun_dtype   s   z&TestRegression.test_choice_retun_dtypelr   zCannot test with 32-bit C long)reasonc                 C   s8   t d tjg ddd}t jd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? rP   r8   r   r   r   )r   r,   r
   r<   r   r   )r   r@   actualr   r   r   test_randint_117   s   

zTestRegression.test_randint_117c                 C   s*   t jd ttdg dg d d S )Nr7   r   )r         ?g      ?g      ?r   )r   r   r   r   r   )r
   r   r,   r   binomialrQ   r   r   r   test_p_zero_stream   s   z!TestRegression.test_p_zero_streamc                 C   sD   t jd t g dg dg}ttjdgdggddd| d S )	Ni_ )
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   r   )r
   r   r,   r<   r   r   )r   r@   r   r   r   test_n_zero_stream   s   
z!TestRegression.test_n_zero_streamN)rl   rm   rn   r   r(   r3   rA   rM   rR   rX   rc   ri   rk   rw   r   r   r   r}   markskipifr
   iinfomaxr   r   r   r   r   r   r   r      s*    

	r   c                   C   s4   t dg jdksJ t jdg ddjdksJ d S )Nr   )r   r   )rC   r   r   r   )rC   r   r   r   )r   multinomialshaper   r   r   r   test_multinomial_empty   s   r   c                   C   s@   t jtdd tdd W d    d S 1 sw   Y  d S )Nzpvals must be a 1-dry   r   g333333?)r}   raises	TypeErrorr   r   r   r   r   r   test_multinomial_1d_pval   s   "r   )r!   r}   numpy.testingr   r   r   numpyr
   r   r   r   r   r   r   r   r   <module>   s     B