B
    .ufM                 @   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   sR   xLt dddD ]:}tj|dd}tt |t j koFt |t jk qW d S )Ng      g      @      2   )npZlinspacer   ZmtrandZvonmisesr   allpi)selfmur r   d/home/ankuromar296_gmail_com/myenv/lib/python3.7/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 x |D ]}t tjj| dk qrW d S )N         
   )size   r   )i i i l        win32)l   l   l   )	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t| }d|dd}t|d	k| t |d
kt| }d|dd}t|dk | d S )Ni  r   g?)r   r   zFrequency was fz, should be > 0.45g?   z, should be < 0.23gq=
ףp?)r
   r   seedZ	logseriessumfloatr   )r   NZrvsnfreqmsgr   r   r   test_logseries_convergence"   s    z)TestRegression.test_logseries_convergencec             C   s   xdddd gdddd gdddd gdddd ggD ]\}t jd t|}t| t j|d |d |d |d gtd	}tt j|td	| q.W d S )
Nr   r"   r   )r   r   )r"   r"   )r   r   i90  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   st   t j }t ddddddddddg
}xFtdD ]:}t j| |d	 t|jd
d
t d
d d| q2W d S )Nr         r"   r   	   r   r   i  r   g      $@)r   p)	r
   r   ZRandomStater-   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 dddg}dddg}xbt jt jt jfD ]N}t j||dt| }t jj||d}t	||k t
tt jj||d d q2W d S )	Ni  r   r"   r   r   )r*   )r5   g?)r
   r   r#   Zfloat16Zfloat32Zfloat64r-   r$   r7   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   sL   t jd t ddg}xtdD ]}t j| q$W dd l}|  d S )Ni  rE   A  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar>   r   )r
   r   r#   r-   r6   r,   gccollect)r   rE   _rJ   r   r   r   1test_shuffle_of_array_of_different_length_stringsd   s    z@TestRegression.test_shuffle_of_array_of_different_length_stringsc             C   s\   t jd t jt dt dgtd}xtdD ]}t j| q4W dd l}|	  d S )Ni  r   r   )r*   i  r   )
r
   r   r#   r-   aranger.   r6   r,   rJ   rK   )r   rE   rL   rJ   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 dddg t|t d| G dd d}t jd | }t j|}t|t ddd	ddg 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"   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)rE   )r   r   r   r   	__array__   s    z=TestRegression.test_permutation_subclass.<locals>.M.__array__N)rP   rQ   rR   r
   rN   rE   rS   r   r   r   r   M   s   
rT   r   r   )
r
   Zndarrayr   r#   rN   viewZpermutationr   r-   rS   )r   r&   origZpermrT   r8   r   r   r   test_permutation_subclass   s    z(TestRegression.test_permutation_subclassN)rP   rQ   rR   r   r    r)   r1   r;   r=   rC   rI   rM   rO   rW   r   r   r   r   r   	   s   
r   )	r   Znumpy.testingr   r   r   numpyr   r
   r   r   r   r   r   <module>   s   