B
    .uf                 @   sJ   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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   sP   xJt dddD ]8}t|dd}tt |t j koDt |t jk qW d S )Ng      g      @      2   )npZlinspacer   Zvonmisesr   allpi)selfmur r   p/home/ankuromar296_gmail_com/myenv/lib/python3.7/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}|rhtjd
krh|d x|D ]}t tj| dk qnW 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 d t 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   seedZ	logseriesr
   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 ]Z}t 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#   listshuffler
   arrayobjectr   )r   tZshuffledexpectedr   r   r   test_shuffle_mixed_dimension6   s    



&z+TestRegression.test_shuffle_mixed_dimensionc             C   sp   t  }tddddddddddg
}xDtdD ]8}t | |d	 t|jd
d
td
d d| q0W d S )Nr         r"   r   	   r   r   i  r   g      $@)r   p)	r   RandomStater
   r-   ranger#   r   choiceZ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   Z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   s   t d dddg}dddg}x^tjtjtjfD ]J}tj||dt| }t j||d}t	||k t
tt j||d d q0W d S )	Ni  r   r"   r   r   )r*   )r5   g?)r   r#   r
   Zfloat16Zfloat32Zfloat64r-   r$   r8   r   r   
ValueError)r   acountsdtZprobscr   r   r   "test_choice_sum_of_probs_tolerance[   s    


z1TestRegression.test_choice_sum_of_probs_tolerancec             C   sH   t d tddg}xtdD ]}t | q"W dd l}|  d S )Ni  rG   A  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar@   r   )r   r#   r
   r-   r7   r,   gccollect)r   rG   _rL   r   r   r   1test_shuffle_of_array_of_different_length_stringsh   s    
z@TestRegression.test_shuffle_of_array_of_different_length_stringsc             C   sX   t d tjtdtdgtd}xtdD ]}t | q2W dd l}|	  d S )Ni  r   r   )r*   i  r   )
r   r#   r
   r-   aranger.   r7   r,   rL   rM   )r   rG   rN   rL   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 dddg t|t d| G dd d}td | }t|}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)rG   )r   r   r   r   	__array__   s    z=TestRegression.test_permutation_subclass.<locals>.M.__array__N)rR   rS   rT   r
   rP   rG   rU   r   r   r   r   M   s   
rV   r   r   )
r
   Zndarrayr   r#   rP   viewZpermutationr   r-   rU   )r   r&   origZpermrV   r9   r   r   r   test_permutation_subclass   s    



z(TestRegression.test_permutation_subclassc          	   C   s@   t jdkrdnd}tjdd tjddd|d	 W d Q R X d S )
Nbigz<i4z>i4znon-native byteorder is not)matchr      r   )r   r*   )r   	byteorderpytestZdeprecated_callr   randint)r   Z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s6td S )Ni[)r#   r   r@   )r
   r   r6   r_   AssertionError)r   Zrs1Z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,tt jjddgd ddd}|jt tksZtt jjddd}|jt tks~tt jjdddd}|jt tkstd S )	Nr   g?r"   )r5   r   F)r5   replacer   )r   )rc   r   )r
   r   r8   r*   intra   )r   rJ   r   r   r   test_choice_retun_dtype   s    z&TestRegression.test_choice_retun_dtypell        zCannot test with 32-bit C long)reasonc             C   sH   t d tjdddddddd	d
dg
dd}t jddd}t|| d S )Nr   l   
 l   /*/ l   u&-n l   LC0 l   C34 l   RD7 l   v l   g}1 i	tll   ^C? r>   )r*   l        r   )r   )r   r#   r
   r-   r_   r   )r   r0   actualr   r   r   test_randint_117   s    
zTestRegression.test_randint_117c          	   C   s6   t jd ttddddddgdddddg d S )Ni90  r   r   g      ?g      ?g      ?)r
   r   r#   r   binomial)r   r   r   r   test_p_zero_stream   s    z!TestRegression.test_p_zero_streamc             C   sd   t jd t ddddddddddg
ddddddddddg
g}ttjdgdggd	d
d| d S )Ni_ r   r   r   r"   r   r   r   g      ?)r"   r   )r   )r
   r   r#   r-   r   rj   )r   r0   r   r   r   test_n_zero_stream   s
    z!TestRegression.test_n_zero_streamN)rR   rS   rT   r   r    r)   r1   r<   r?   rE   rK   rO   rQ   rY   r`   rb   re   r^   markZskipifr
   Ziinfomaxri   rk   rl   r   r   r   r   r      s$   

r   )
r   r^   Znumpy.testingr   r   r   numpyr
   r   r   r   r   r   r   <module>   s
   