o
    gV                     @   sB   d dl Z d dlmZmZmZ d dlmZ d dlZG dd dZdS )    N)assert_assert_array_equalassert_raises)randomc                   @   sd   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S )TestRegressionc                 C   sN   t dddD ]}tj|dd}tt |t j ko"t |t jk qd S )Ng      g      @      2   )nplinspacer   mtrandvonmisesr   allpi)selfmur r   \/var/www/html/api-tag/env/lib/python3.10/site-packages/numpy/random/tests/test_regression.pytest_VonMises_range   s   (z"TestRegression.test_VonMises_rangec              	   C   s   t ttjjddddddk  t ttjjddddddk dg}tjd	k}|r6tjd
kr6|d |D ]}t tjj| dk q8d S )N         
   size   r   ) r   r   l        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 jd t j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
   r   seed	logseries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 j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   Ni90  r   r   r   r+   dtype)r
   r   r,   listshufflearrayobjectr   )r   tshuffledexpectedr   r   r   test_shuffle_mixed_dimension2   s   
&z+TestRegression.test_shuffle_mixed_dimensionc                 C   s`   t j }t g d}tdD ]}t j| |d t|jddt dd d| qd S )N)
r         r+   r   	   r   rB   r   r   r   i  r   g      $@)r   p)	r
   r   RandomStater;   ranger,   r   choiceones)r   mresir   r   r   test_call_within_randomstate>   s   

"z+TestRegression.test_call_within_randomstatec                 C   sX   t jjdgdggdd t jjdgdggt dd t jjdgdggt dd d S )Nr   r   r   )r
   r   multivariate_normalint_int64)r   r   r   r   #test_multivariate_normal_size_typesH   s   "z2TestRegression.test_multivariate_normal_size_typesc                 C   s:   t jd t jjdddd}tt t | d d S )NiIg-C6?d   r   zNans in np.random.beta)r
   r   r,   betar   anyisnan)r   xr   r   r   test_beta_small_parametersP   s   z)TestRegression.test_beta_small_parametersc                 C   s   t jd g d}g d}t jt jt jfD ]'}t j||dt| }t jj||d}t	||v  t
tt jj||d d qd S )N  )r   r+   r   )r   r   r+   r7   )rD   g?)r
   r   r,   float16float32float64r;   r.   rG   r   r   
ValueError)r   acountsdtprobscr   r   r   "test_choice_sum_of_probs_toleranceW   s   z1TestRegression.test_choice_sum_of_probs_tolerancec                 C   sH   t jd t ddg}tdD ]}t j| qdd l}|  d S )NrW   r\     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarQ   r   )r
   r   r,   r;   rF   r:   gccollectr   r\   _rc   r   r   r   1test_shuffle_of_array_of_different_length_stringsd   s   z@TestRegression.test_shuffle_of_array_of_different_length_stringsc                 C   sX   t jd t jt dt dgtd}tdD ]}t j| qdd l}|	  d S )NrW   r   r   r7   r)   r   )
r
   r   r,   r;   aranger<   rF   r:   rc   rd   re   r   r   r    test_shuffle_of_array_of_objectss   s   z/TestRegression.test_shuffle_of_array_of_objectsc                 C   s   G dd dt j}t jd t d|}t j|}t|t g d t|t d| G dd d}t jd | }t j|}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   r8   copyr   r   r   	__array__   s   z=TestRegression.test_permutation_subclass.<locals>.M.__array__)NN)rj   rk   rl   r
   rh   r\   rn   r   r   r   r   M   s    
ro   )r+   r   r   r   r   r   )
r
   ndarrayr   r,   rh   viewpermutationr   r;   rn   )r   r/   origpermro   rI   r   r   r   test_permutation_subclass   s   z(TestRegression.test_permutation_subclassN)rj   rk   rl   r   r(   r3   r@   rL   rP   rV   ra   rg   ri   ru   r   r   r   r   r   	   s    
r   )	r!   numpy.testingr   r   r   numpyr   r
   r   r   r   r   r   <module>   s
    