a
    LªfV  ã                   @   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¡oDt  |t jk¡ƒ qd S )Ng      Àg      @é   é   é2   )ÚnpZlinspacer   ZmtrandZvonmisesr   ÚallÚpi)ÚselfÚmuÚr© r   ú[/var/www/ai-form-bot/venv/lib/python3.9/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}|rltjd
krl| d¡ |D ]}t tjj|Ž dkƒ qpd 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&   ©Ú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   r:   r   r   r   iá  r   g      $@)r   Úp)	r
   r   ZRandomStater4   Ú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 ]N}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float64r4   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'   r4   r=   r3   Ú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 |¡ q2dd l}| 	¡  d S )NrK   r   r   r0   r$   r   )
r
   r   r'   r4   Úaranger5   r=   r3   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d„ZdS )z3TestRegression.test_permutation_subclass.<locals>.Mr   Nc                 S   s   | j S )N)rM   )r   r1   Úcopyr   r   r   Ú	__array__Ž   s    z=TestRegression.test_permutation_subclass.<locals>.M.__array__)NN)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   r4   r]   )r   r)   ÚorigÚpermr^   r?   r   r   r   Útest_permutation_subclass   s    z(TestRegression.test_permutation_subclassN)rY   rZ   r[   r   r#   r,   r8   rB   rD   rJ   rQ   rV   rX   rb   r   r   r   r   r   	   s   
r   )	r   Znumpy.testingr   r   r   Únumpyr   r
   r   r   r   r   r   Ú<module>   s   