o
    Ô­jí  ã                   @   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   úk/var/www/html/CropPilot/venv/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   Né90  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„ ZdS )z3TestRegression.test_permutation_subclass.<locals>.Mr   c                 S   s   | j S )N)r^   rQ   r   r   r   Ú	__array__’   s   z=TestRegression.test_permutation_subclass.<locals>.M.__array__N)rl   rm   rn   r
   rj   r^   ro   r   r   r   r   ÚM�   s    
rp   )r+   r   r   r   r   r   )
r
   Úndarrayr   r,   rj   ÚviewÚpermutationr   r<   ro   )r   r/   ÚorigÚpermrp   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¡ksJ ‚t jjddgd ddd�}|jt  t¡ks-J ‚t jjddd�}|jt  t¡ks?J ‚t jjdddd�}|jt  t¡ksRJ ‚d S )	Nr   gš™™™™™¹?r+   )rE   r   F)rE   Úreplacer   r   )r„   r   )r
   r   rH   r9   Úint)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   C3�4 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   rv   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-drx   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