o
    ʩZh?                     @   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   )npZlinspacer   ZmtrandZvonmisesr   allpi)selfmur r   Y/var/www/html/lang_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   Zhypergeometricsysmaxsizeplatformappend)r   argsZ	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   seedZ	logseriessumr   )r   NZ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   r.   r/   N)r-   r&   r   Ni90  r   r   r   r&   Zdtype)r
   r   r'   listshufflearrayobjectr   )r   tZ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   r9   r   r   r   i  r   g      $@)r   p)	r
   r   ZRandomStater3   ranger'   r   choiceZ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   Zmultivariate_normalint_Z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&   r0   )r;   g?)r
   r   r'   Zfloat16Zfloat32Zfloat64r3   r(   r=   r   r   
ValueError)r   acountsdtZ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 )NrK   rM   A  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarE   r   )r
   r   r'   r3   r<   r2   gccollectr   rM   _rR   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 )NrK   r   r   r0   r$   r   )
r
   r   r'   r3   aranger4   r<   r2   rR   rS   rT   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 ZdS )z3TestRegression.test_permutation_subclass.<locals>.Mr   c                 S   s   | j S )N)rM   rC   r   r   r   	__array__   s   z=TestRegression.test_permutation_subclass.<locals>.M.__array__N)rY   rZ   r[   r
   rW   rM   r\   r   r   r   r   M   s    
r]   )r&   r   r   r   r   r   )
r
   Zndarrayr   r'   rW   viewZpermutationr   r3   r\   )r   r)   origpermr]   r>   r   r   r   test_permutation_subclass   s   z(TestRegression.test_permutation_subclassN)rY   rZ   r[   r   r#   r,   r7   rA   rD   rJ   rQ   rV   rX   ra   r   r   r   r   r   	   s    
r   )	r   Znumpy.testingr   r   r   numpyr   r
   r   r   r   r   r   <module>   s
    