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/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/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
    