a
    ç´«j ã                   @   sê   d dl Z d dlZd dlZd dlmZmZmZmZm	Z	m
Z
mZmZmZ d dlmZ d dlZG dd„ dƒZG dd„ dƒZG dd	„ d	ƒZG d
d„ dƒZG dd„ dƒZG dd„ dƒZG dd„ dƒZejjedd�G dd„ dƒƒZG dd„ dƒZdS )é    N)	Úassert_Úassert_raisesÚassert_equalÚassert_warnsÚassert_no_warningsÚassert_array_equalÚassert_array_almost_equalÚsuppress_warningsÚIS_WASM)Úrandomc                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚTestSeedc                 C   s<   t j d¡}t| d¡dƒ t j d¡}t| d¡dƒ d S )Nr   éè  i¬  ì   ÿÿ i£  )Únpr   ÚRandomStater   Úrandint©ÚselfÚs© r   ú]/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/numpy/random/tests/test_random.pyÚtest_scalar   s    zTestSeed.test_scalarc                 C   s‚   t j tdƒ¡}t| d¡dƒ t j t  d¡¡}t| d¡dƒ t j dg¡}t| d¡dƒ t j dg¡}t| d¡dƒ d S )Né
   r   iÔ  r   iÍ  r   i	  )r   r   r   Úranger   r   Úaranger   r   r   r   Ú
test_array   s    zTestSeed.test_arrayc                 C   s$   t ttjjdƒ t ttjjdƒ d S )Nç      à¿éÿÿÿÿ©r   Ú	TypeErrorr   r   r   Ú
ValueError©r   r   r   r   Útest_invalid_scalar    s    zTestSeed.test_invalid_scalarc                 C   sb   t ttjjdgƒ t ttjjdgƒ t ttjjdgƒ t ttjjg d¢ƒ t ttjjg d¢ƒ d S )Nr   r   ì        )é   é   r#   )r$   éþÿÿÿr#   r   r!   r   r   r   Útest_invalid_array%   s
    zTestSeed.test_invalid_arrayc                 C   sR   t ttjjtjg tjd�ƒ t ttjjg d¢gƒ t ttjjg d¢g d¢gƒ d S )N©Údtype©r$   r%   é   )é   é   é   )r   r    r   r   r   ÚarrayÚint64r!   r   r   r   Útest_invalid_array_shape-   s    
ÿÿz!TestSeed.test_invalid_array_shapeN)Ú__name__Ú
__module__Ú__qualname__r   r   r"   r'   r1   r   r   r   r   r      s
   
r   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚTestBinomialc                 C   sB   t jddd�}dD ]*}tt d|¡dkƒ tt ||¡|ƒ qd S )Nr%   Úintr(   )r   ç      à?r$   r   )r   Úzerosr   r   Úbinomialr   )r   r8   Úpr   r   r   Útest_n_zero7   s    zTestBinomial.test_n_zeroc                 C   s   t ttjdtjƒ d S )Nr$   )r   r    r   r9   r   Únanr!   r   r   r   Útest_p_is_nan@   s    zTestBinomial.test_p_is_nanN)r2   r3   r4   r;   r=   r   r   r   r   r5   6   s   	r5   c                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚTestMultinomialc                 C   s   t  dddg¡ d S )Néd   çš™™™™™É?çš™™™™™é?©r   Úmultinomialr!   r   r   r   Ú
test_basicF   s    zTestMultinomial.test_basicc                 C   s   t  dg d¢¡ d S )Nr?   )r@   rA   ç        rE   rE   rB   r!   r   r   r   Útest_zero_probabilityI   s    z%TestMultinomial.test_zero_probabilityc                 C   sZ   t dt dd¡  kodk n  ƒ t ddd¡}t t d|k¡ƒ t t |dk ¡ƒ d S )Néûÿÿÿr   r-   )r   r   r   r   Úall)r   Úxr   r   r   Útest_int_negative_intervalL   s    $z*TestMultinomial.test_int_negative_intervalc                 C   sÐ   ddg}t tj d|t d¡¡jdƒ t tj d|t d¡¡jdƒ t tj d|t d¡¡jdƒ t tj d|ddg¡jdƒ t tj d|d¡jdƒ t tj d|t d¡¡jdƒ tttjjd|t	dƒƒ d S )Nr7   r$   ©r$   r%   r%   ©r%   r%   r%   ©r%   r%   )
r   r   r   rC   Úuint32Úshaper/   r   r   Úfloat©r   r:   r   r   r   Ú	test_sizeR   s    ÿÿzTestMultinomial.test_sizec              	   C   s€   t ttjjdddggƒ t ttjjddgdggƒ t ttjjddgdggdgdgggƒ t ttjjdt ddgddgg¡ƒ d S )Nr   r   r$   )r   r    r   r   rC   r/   r!   r   r   r   Útest_multidimensional_pvals`   s    &z+TestMultinomial.test_multidimensional_pvalsN)r2   r3   r4   rD   rF   rJ   rR   rS   r   r   r   r   r>   E   s
   r>   c                   @   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S )ÚTestSetStatec                 C   s$   d| _ t | j ¡| _| j ¡ | _d S ©NiÒ–I)Úseedr   r   ÚprngÚ	get_stateÚstater!   r   r   r   Úsetup_methodh   s    zTestSetState.setup_methodc                 C   s<   | j  d¡}| j  | j¡ | j  d¡}tt ||k¡ƒ d S )Né   )rW   ZtomaxintÚ	set_staterY   r   r   rH   ©r   ÚoldÚnewr   r   r   rD   m   s    zTestSetState.test_basicc                 C   s@   | j jdd�}| j  | j¡ | j jdd�}tt ||k¡ƒ d S ©Nr+   ©Úsize)rW   Ústandard_normalr\   rY   r   r   rH   r]   r   r   r   Útest_gaussian_resets   s    z TestSetState.test_gaussian_resetc                 C   sR   | j  ¡  | j  ¡ }| j jdd�}| j  |¡ | j jdd�}tt ||k¡ƒ d S r`   )rW   rc   rX   r\   r   r   rH   )r   rY   r^   r_   r   r   r   Ú test_gaussian_reset_in_media_resz   s    

z-TestSetState.test_gaussian_reset_in_media_resc                 C   sz   | j d d… }| jjdd�}| j |¡ | jjdd�}| j | j ¡ | jjdd�}tt ||k¡ƒ tt ||k¡ƒ d S )Nr&   r[   ra   )rY   rW   rc   r\   r   r   rH   )r   Ú	old_stateÚx1Zx2Zx3r   r   r   Útest_backwards_compatibility…   s    z)TestSetState.test_backwards_compatibilityc                 C   s   | j  dd¡ d S ©Nr7   )rW   Únegative_binomialr!   r   r   r   Útest_negative_binomial‘   s    z#TestSetState.test_negative_binomialc                 C   s:   t  t¡� | j d¡ W d   ƒ n1 s,0    Y  d S )Nr   )ÚpytestÚraisesÚ
IndexErrorrW   r\   r!   r   r   r   Útest_set_invalid_state–   s    z#TestSetState.test_set_invalid_stateN)
r2   r3   r4   rZ   rD   rd   re   rh   rk   ro   r   r   r   r   rT   g   s   rT   c                	   @   s|   e Zd ZejjZejejej	ej
ejejejejejg	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 )ÚTestRandintc                 C   s   t t| jdtd� d S ©Nr$   r(   )r   r   ÚrfuncrP   r!   r   r   r   Útest_unsupported_type¤   s    z!TestRandint.test_unsupported_typec                 C   s    | j D ]”}|tju rdn
t |¡j}|tju r2dnt |¡jd }tt| j|d ||d� tt| j||d |d� tt| j|||d� tt| jdd|d� qd S )Nr   r%   r$   r(   )	Úityper   ÚboolÚiinfoÚminÚmaxr   r    rr   )r   ÚdtÚlbndÚubndr   r   r   Útest_bounds_checking§   s    
z TestRandint.test_bounds_checkingc                 C   s´   | j D ]¨}|tju rdn
t |¡j}|tju r2dnt |¡jd }|d }t| j||d d|d�|ƒ |}t| j||d d|d�|ƒ || d }t| j||d d|d�|ƒ qd S )Nr   r%   r$   r   ©rb   r)   )rt   r   ru   rv   rw   rx   r   rr   )r   ry   rz   r{   Útgtr   r   r   Útest_rng_zero_and_extremes°   s    
z&TestRandint.test_rng_zero_and_extremesc                 C   s’   | j D ]†}|tju rdn
t |¡j}|tju r2dnt |¡jd }z| j|||d� W q tyŠ } ztdt	|ƒ ƒ‚W Y d }~qd }~0 0 qd S )Nr   r%   r$   r(   zMNo error should have been raised, but one was with the following message:

%s)
rt   r   ru   rv   rw   rx   rr   Ú	ExceptionÚAssertionErrorÚstr)r   ry   rz   r{   Úer   r   r   Útest_full_range¾   s    
þzTestRandint.test_full_rangec                 C   s’   t j ¡  | jdd … D ]@}dD ]6}| jd|d|d�}t| ¡ |k ƒ t| ¡ dkƒ q q| jdddt jd�}t| ¡ dk ƒ t| ¡ dkƒ d S )Nr$   )r,   é   r[   r%   i   r}   r   )	r   r   rV   rt   rr   r   rx   rw   ru   )r   ry   r{   Úvalsr   r   r   Útest_in_bounds_fuzzÌ   s    
zTestRandint.test_in_bounds_fuzzc              
   C   sò   dd l }ddddddddddœ	}| jdd … D ]r}tj d	¡ tjd
kr\| jddd|d�}n| jddd|d� ¡ }| 	| 
tj¡¡ ¡ }t|t |¡j |kƒ q.tj d	¡ | jdddtd� 
tj¡}| 	|¡ ¡ }t|t t¡j |kƒ d S )Nr   Z@509aea74d792fb931784c4b0135392c65aec64beee12b0cc167548a2c3d31e71Z@7b07f1a920e46f6d0fe02314155a2330bcfd7635e708da50e536c5ebb631a7d4Z@e577bfed6c935de944424667e3da285012e741892dcb7051a8f1ce68ab05c92fZ@0fbead0b06759df2cfb55e43148822d4a1ff953c7eb19a5b08445a63bb64fa9eZ@001aac3a5acb935a9b186cbe14a1ca064b8bb2dd0b045d48abeacf74d0203404)	ru   Úint16Úint32r0   Úint8Úuint16rN   Úuint64Úuint8r$   iÒ  Úlittler.   r   r}   r%   )Úhashlibrt   r   r   rV   ÚsysÚ	byteorderrr   ÚbyteswapÚsha256ÚviewrŠ   Ú	hexdigestr   r)   Únameru   )r   r�   r~   ry   ÚvalÚresr   r   r   Útest_repeatabilityÛ   s,    ø

zTestRandint.test_repeatabilityc                 C   s`   t j}t  t j¡j}t  t  t j¡j¡}t  t  t j¡jd ¡}t jj|||d�}t||ƒ d S rq   )r   r0   rv   rx   rŒ   r   r   r   )r   ry   r~   rz   r{   Úactualr   r   r   Útest_int64_uint64_corner_caseü   s    z)TestRandint.test_int64_uint64_corner_casec                 C   sÚ   | j D ]^}|tju rdn
t |¡j}|tju r2dnt |¡jd }| j|||d�}t|jt |¡ƒ qtt	fD ]f}|tu r~dn
t d¡j}|tu r–dnt d¡jd }| j|||d�}t
t|dƒ ƒ tt|ƒ|ƒ qnd S )Nr   r%   r$   r(   Úlongr)   )rt   r   ru   rv   rw   rx   rr   r   r)   r6   r   ÚhasattrÚtype)r   ry   rz   r{   Úsampler   r   r   Útest_respect_dtype_singleton  s    
z(TestRandint.test_respect_dtype_singletonN)r2   r3   r4   r   r   r   rr   ru   rŠ   r�   rˆ   r‹   r‰   rN   r0   rŒ   rt   rs   r|   r   r„   r‡   r™   r›   r    r   r   r   r   rp   œ   s   ÿ	!rp   c                   @   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dd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d&„ Zej d'ejej ¡ ej ¡ g¡d(d)„ ƒZej d'ejej ¡ ej ¡ g¡ej d*d+d,g¡d-d.„ ƒƒZd/d0„ Zd1d2„ Z d3d4„ Z!d5d6„ Z"d7d8„ Z#d9d:„ Z$d;d<„ Z%d=d>„ Z&d?d@„ Z'dAdB„ Z(dCdD„ Z)dEdF„ Z*dGdH„ Z+dIdJ„ Z,dKdL„ Z-dMdN„ Z.dOdP„ Z/dQdR„ Z0dSdT„ Z1dUdV„ Z2dWdX„ Z3dYdZ„ Z4d[d\„ Z5d]d^„ Z6d_d`„ Z7dadb„ Z8dcdd„ Z9dedf„ Z:dgdh„ Z;didj„ Z<dkdl„ Z=dmdn„ Z>dodp„ Z?dqdr„ Z@dsdt„ ZAdudv„ ZBdwdx„ ZCdydz„ ZDd{d|„ ZEd}d~„ ZFdd€„ ZGd�d‚„ ZHdƒd„„ ZId…d†„ ZJd‡dˆ„ ZKd‰dŠ„ ZLd‹dŒ„ ZMd�dŽ„ ZNd�d�„ ZOd‘d’„ ZPd“d”„ ZQd•d–„ ZRd—S )˜ÚTestRandomDistc                 C   s
   d| _ d S rU   ©rV   r!   r   r   r   rZ   +  s    zTestRandomDist.setup_methodc                 C   sJ   t j | j¡ t j dd¡}t  ddgddgddgg¡}t||d	d
� d S )Nr+   r%   ç_®\±*Íã?ç�›˜¬”îâ?ç<î�pì?ç®,º¥oˆì?çˆÂÉHÝ?çZ±­°êæè?é   ©Údecimal)r   r   rV   Zrandr/   r   ©r   rš   Údesiredr   r   r   Ú	test_rand.  s    
þzTestRandomDist.test_randc                 C   sJ   t j | j¡ t j dd¡}t  ddgddgddgg¡}t||d	d
� d S )Nr+   r%   çÿ!ã<Oqõ?ç4ð�u,Íû?çÁ³½3Ûû÷?çL«I/DÍ¿çà@ËÀŽ? @çÿHSÓ\@r©   rª   )r   r   rV   Zrandnr/   r   r¬   r   r   r   Ú
test_randn6  s    
þzTestRandomDist.test_randnc                 C   sJ   t j | j¡ t jjdddd�}t  ddgddgd	d
gg¡}t||ƒ d S )Né�ÿÿÿéc   ©r+   r%   ra   é   r+   éÌÿÿÿé)   éÐÿÿÿé¾ÿÿÿ)r   r   rV   r   r/   r   r¬   r   r   r   Útest_randint>  s    
þzTestRandomDist.test_randintc                 C   sŠ   t j | j¡ tƒ �<}| t¡}t jjdddd�}tt|ƒdkƒ W d   ƒ n1 sV0    Y  t  	ddgdd	gd
dgg¡}t
||ƒ d S )Nr¶   r·   r¸   ra   r$   r¹   r+   rº   r»   r¼   r½   )r   r   rV   r	   ÚrecordÚDeprecationWarningÚrandom_integersr   Úlenr/   r   ©r   ÚsupÚwrš   r­   r   r   r   Útest_random_integersF  s    
.
þz#TestRandomDist.test_random_integersc                 C   sx   t ƒ �H}| t¡}tj t d¡jt d¡j¡}tt	|ƒdkƒ W d   ƒ n1 sT0    Y  t d¡j}t
||ƒ d S )NÚlr$   )r	   r¿   rÀ   r   r   rÁ   rv   rx   r   rÂ   r   rÃ   r   r   r   Útest_random_integers_max_intQ  s    

ÿ.z+TestRandomDist.test_random_integers_max_intc                 C   sr   t  ¡ �V t  dt¡ tttjjt d¡j	ƒ tttjjt d¡j	t d¡j	ƒ W d   ƒ n1 sd0    Y  d S )NÚerrorrÇ   )
ÚwarningsÚcatch_warningsÚsimplefilterrÀ   r   r   r   rÁ   rv   rx   r!   r   r   r   Útest_random_integers_deprecated`  s    

þþz.TestRandomDist.test_random_integers_deprecatedc                 C   sH   t j | j¡ t j d¡}t  ddgddgddgg¡}t||dd	� d S )
Nr¸   r£   r¤   r¥   r¦   r§   r¨   r©   rª   )r   r   rV   r/   r   r¬   r   r   r   Útest_randomn  s    
þzTestRandomDist.test_randomc                 C   s8   t j | j¡ t j dd¡}t  g d¢¡}t||ƒ d S )Nr,   )r%   r+   r%   r+   ©r   r   rV   Úchoicer/   r   r¬   r   r   r   Útest_choice_uniform_replacev  s    z*TestRandomDist.test_choice_uniform_replacec                 C   s@   t j | j¡ t jjddg d¢d�}t  g d¢¡}t||ƒ d S )Nr,   )çš™™™™™Ù?rÒ   çš™™™™™¹?rÓ   ©r:   )r$   r$   r%   r%   rÏ   r¬   r   r   r   Útest_choice_nonuniform_replace|  s    z-TestRandomDist.test_choice_nonuniform_replacec                 C   s<   t j | j¡ t jjdddd�}t  g d¢¡}t||ƒ d S )Nr,   r+   F©Úreplace)r   r$   r+   rÏ   r¬   r   r   r   Útest_choice_uniform_noreplace‚  s    z,TestRandomDist.test_choice_uniform_noreplacec                 C   sB   t j | j¡ t jjdddg d¢d�}t  g d¢¡}t||ƒ d S )Nr,   r+   F)rÓ   g333333Ó?r7   rÓ   ©r×   r:   )r%   r+   r$   rÏ   r¬   r   r   r   Ú test_choice_nonuniform_noreplaceˆ  s    ÿz/TestRandomDist.test_choice_nonuniform_noreplacec                 C   s<   t j | j¡ t j g d¢d¡}t  g d¢¡}t||ƒ d S )N)ÚaÚbÚcÚdr,   )rÝ   rÞ   rÝ   rÞ   rÏ   r¬   r   r   r   Útest_choice_noninteger�  s    z%TestRandomDist.test_choice_nonintegerc                 C   s4  t jj}tt|ddƒ tt|ddƒ tt|ddgddggdƒ tt|g dƒ tt|g d¢dddgddggd	� tt|ddgdg d
¢d	� tt|ddgdddgd	� tt|ddgdddgd	� tt|g d¢ddd� tt|g d¢ddd� tt|g d¢ddd� tt|g d¢ddd� tt|g d¢ddg d¢d� d S )Nr   r+   g      @r$   r%   r,   )r$   r%   r+   r,   g      Ð?rÔ   )rÒ   rÒ   r@   gš™™™™™ñ?gš™™™™™¹¿rÒ   r*   FrÖ   r&   )r   )r   r$   )r$   r   r   rÙ   )r   r   rÐ   r   r    )r   rŸ   r   r   r   Útest_choice_exceptions•  s$    ÿÿz%TestRandomDist.test_choice_exceptionsc              	   C   s4  ddg}t t tjjddd�¡ƒ t t tjjddd�¡ƒ t t tjjdd|d�¡ƒ t t tjjdd|d�¡ƒ t t tjjddgdd�¡ƒ t tjjd gdd�d u ƒ t ddg¡}tjdtd	�}||d
< t tjj|dd�|u ƒ tƒ }t t tjjd|dd�¡ ƒ t t tjjd|dd�¡ ƒ t t tjjd|d|d�¡ ƒ t t tjjd|d|d�¡ ƒ t t tjjddg|dd�¡ ƒ t tjjd g|dd�j	d
kƒ t ddg¡}tjdtd	�}||d
< t tjj||dd� 
¡ |u ƒ d}g d¢}ttjjd|dd�j|ƒ ttjjd|dd�j|ƒ ttjjd|d|d�j|ƒ ttjjd|d|d�j|ƒ ttjjt d¡|dd�j|ƒ ttjjd
d
dd�jdƒ ttjjd
dd
d�jdƒ ttjjddd
d�jdƒ ttjjd
d
d�jdƒ ttjjg dd�jdƒ ttjjddgdd�jdƒ tttjjg dƒ d S )NrÓ   çÍÌÌÌÌÌì?r%   TrÖ   FrÙ   r$   r(   r   )r%   r+   )rÓ   rÓ   rÓ   rÓ   rÒ   r@   r.   )r+   r   r,   ra   iöÿÿÿ)r   r   rÛ   rÜ   )r   r   Zisscalarr   rÐ   r/   ÚemptyÚobjectÚtupleÚndimÚitemr   rO   r   r   r   r    )r   r:   rÛ   Úarrr   r   r   r   Útest_choice_return_shape¨  sL      " ÿz'TestRandomDist.test_choice_return_shapec                 C   s.   t  g d¢¡}g d¢}ttt jj||d� d S )N)é*   r$   r%   )NNNrÔ   )r   r/   r   r    r   rÐ   )r   rÛ   r:   r   r   r   Útest_choice_nan_probabilitiesÖ  s    z,TestRandomDist.test_choice_nan_probabilitiesc                 C   s,   t j | j¡ t j d¡}d}t||ƒ d S )Nr   s
   ‚Uižÿ—+Wf¥)r   r   rV   Úbytesr   r¬   r   r   r   Ú
test_bytesÛ  s    zTestRandomDist.test_bytesc                 C   s�   dd„ dd„ dd„ dd„ dd„ dd„ dd„ d	d„ d
d„ dd„ dd„ fD ]D}t j | j¡ |g d¢ƒ}t j |¡ |}|g d¢ƒ}t||ƒ qFd S )Nc                 S   s
   t  g ¡S ©N)r   r/   ©rI   r   r   r   Ú<lambda>ä  ó    z-TestRandomDist.test_shuffle.<locals>.<lambda>c                 S   s   | S rí   r   rî   r   r   r   rï   å  rð   c                 S   s   t  | ¡ t j¡S rí   )r   ÚasarrayÚastyperŠ   rî   r   r   r   rï   æ  rð   c                 S   s   t  | ¡ t j¡S rí   )r   rñ   rò   Úfloat32rî   r   r   r   rï   ç  rð   c                 S   s   t  | ¡ t j¡S rí   )r   rñ   rò   Z	complex64rî   r   r   r   rï   è  rð   c                 S   s   t  | ¡ t¡S rí   )r   rñ   rò   rã   rî   r   r   r   rï   é  rð   c                 S   s   dd„ | D ƒS )Nc                 S   s   g | ]}||f‘qS r   r   ©Ú.0Úir   r   r   Ú
<listcomp>ê  rð   úATestRandomDist.test_shuffle.<locals>.<lambda>.<locals>.<listcomp>r   rî   r   r   r   rï   ê  rð   c                 S   s   t  dd„ | D ƒ¡S )Nc                 S   s   g | ]}||g‘qS r   r   rô   r   r   r   r÷   ë  rð   rø   )r   rñ   rî   r   r   r   rï   ë  rð   c                 S   s   t  | | g¡jS rí   )r   ZvstackÚTrî   r   r   r   rï   ì  rð   c                 S   s*   t  dd„ | D ƒdtfdtfg¡ t j¡S )Nc                 S   s   g | ]}||f‘qS r   r   rô   r   r   r   r÷   î  rð   rø   rÛ   rÜ   )r   rñ   r6   r”   Zrecarrayrî   r   r   r   rï   î  s   ÿþc                 S   s$   t  dd„ | D ƒdtfdt jfg¡S )Nc                 S   s   g | ]}||f‘qS r   r   rô   r   r   r   r÷   ò  rð   rø   rÛ   rÜ   )r   rñ   rã   r‰   rî   r   r   r   rï   ò  s   ÿ)
r$   r%   r+   r,   r-   r.   é   r…   é	   r   )
r   r$   rû   r.   r%   r,   r-   r…   rú   r+   )r   r   rV   Úshuffler   )r   ÚconvÚalistrš   r­   r   r   r   Útest_shuffleá  s$    òzTestRandomDist.test_shufflec                 C   sÄ   t j t  tdƒd¡d d d¡}t j t  d¡d d d¡}| ¡ }| ¡ }tdƒD ]h}t j |¡ t	t
|j|j  ƒt
|j|j  ƒƒ t j |¡ t	t
|j|j  ƒt
|j|j  ƒƒ qVd S )Né   )r-   r,   r+   r$   r   é2   )r   ÚmaZmasked_valuesZreshaper   r   Úcopyr   rü   r   ÚsortedÚdataÚmask)r   rÛ   rÜ   Za_origZb_origrö   r   r   r   Útest_shuffle_maskedû  s    " ÿ ÿz"TestRandomDist.test_shuffle_maskedr   c                 C   sb   ddddddddœ}t jtd	d
��}| |¡ W d   ƒ n1 sB0    Y  d|d jv s^J ‚d S )Nr   r$   r%   r+   r,   r-   r.   )r   r$   r%   r+   r,   r-   r.   z!you are shuffling a 'dict' object©ÚmatchrÎ   )rl   ÚwarnsÚUserWarningrü   Úfilename)r   r   ÚvaluesZrecr   r   r   Útest_shuffle_untyped_warning	  s    ÿ(z+TestRandomDist.test_shuffle_untyped_warningÚuse_array_likeTFc                    sò   G dd„ dt jƒ}d t  dg¡t  d¡t  d¡t  d¡g}t j|td�}dd„ |D ƒ‰ |rd| |¡}t‡ fd	d
„|D ƒƒs~J ‚|rÊt|t jj	ƒsÊt
jtdd�� | |¡ W d   ƒ qî1 s¾0    Y  n$| |¡ t‡ fdd
„|D ƒƒsîJ ‚d S )Nc                   @   s   e Zd ZdS )z>TestRandomDist.test_shuffle_no_object_unpacking.<locals>.MyArrN)r2   r3   r4   r   r   r   r   ÚMyArr  s   r  r+   r   rú   r(   c                 S   s   h | ]}t |ƒ’qS r   ©Úidrô   r   r   r   Ú	<setcomp>  rð   zBTestRandomDist.test_shuffle_no_object_unpacking.<locals>.<setcomp>c                 3   s   | ]}t |ƒˆ v V  qd S rí   r  rô   ©Zitem_idsr   r   Ú	<genexpr>#  rð   zBTestRandomDist.test_shuffle_no_object_unpacking.<locals>.<genexpr>z#Shuffling a one dimensional array.*r  c                 3   s   | ]}t |ƒˆ v V  qd S rí   r  rô   r  r   r   r  ,  rð   )r   Úndarrayr/   Zfloat64rã   r”   rH   Ú
isinstancer   Ú	Generatorrl   r
  r  rü   )r   r   r  r  Úitemsrç   r   r  r   Ú test_shuffle_no_object_unpacking  s    $ÿ
ÿ*
z/TestRandomDist.test_shuffle_no_object_unpackingc                 C   s–   t j | j¡ t  d¡j}t j |¡ tt  |¡g d¢ƒ t j | j¡}| |¡ tt  |¡g d¢ƒ t j 	| j¡}| |¡ tt  |¡g d¢ƒ d S )Nr-   )r   r$   r,   r+   r%   )r   r$   r%   r+   r,   )r,   r$   r   r+   r%   )
r   r   rV   r   r  rü   r   rñ   r   Údefault_rng)r   rÛ   Úrngr   r   r   Útest_shuffle_memoryview.  s    

z&TestRandomDist.test_shuffle_memoryviewc                 C   sP   t  d¡}d|j_tjtdd�� t j |¡ W d   ƒ n1 sB0    Y  d S )Nr+   Fz	read-onlyr  )	r   r8   ÚflagsZ	writeablerl   rm   r    r   rü   )r   rÛ   r   r   r   Útest_shuffle_not_writeable=  s    
z)TestRandomDist.test_shuffle_not_writeablec                 C   sN   t j | j¡ t jjdddd�}t  ddgddgd	d
gg¡}t||dd� d S )NrÓ   rá   r¸   ra   gAàÁKÄ�?g‘ñØhA?g õÒ‡o¿>gÎ¬XfÈ+q?gSâë1Ã$?g'8zXŒ ?r©   rª   )r   r   rV   Úbetar/   r   r¬   r   r   r   Ú	test_betaC  s    þÿzTestRandomDist.test_betac                 C   sJ   t j | j¡ t jjdddd�}t  ddgddgd	d
gg¡}t||ƒ d S )Nr?   gÉv¾Ÿ/Ý?r¸   ra   é%   é+   ré   é0   é.   é-   )r   r   rV   r9   r/   r   r¬   r   r   r   Útest_binomialL  s    
þzTestRandomDist.test_binomialc                 C   sL   t j | j¡ t jjddd�}t  ddgddgdd	gg¡}t||d
d� d S )Nr  r¸   ra   g+Qð]uðO@gëòìÇ+Q@gY7`´ZqP@gÈe‡(fŒG@gþv¯t€R@gEIÈ‹R@é   rª   )r   r   rV   Ú	chisquarer/   r   r¬   r   r   r   Útest_chisquareT  s    
þzTestRandomDist.test_chisquarec                 C   st   t j | j¡ t  ddg¡}t jjj|dd�}t  ddgddggd	d
gddggddgddggg¡}t||dd� d S )Nç“­I<ÝI@ç÷ÉEZßC@r¸   ra   gÉi{ßsá?gn,	åAÝ?göÇ]‹^óã?gpDéBØ?gÈ§#¼yªá?gr°¸‡«Ü?g—«1UÞâ?gÈÑ¨œUCÚ?g£…^,%÷â?g»ôB§µÚ?gÚ‰OoX;â?gMì`!O‰Û?r©   rª   )r   r   rV   r/   ÚmtrandÚ	dirichletr   )r   Úalpharš   r­   r   r   r   Útest_dirichlet\  s    
ÿÿÿüzTestRandomDist.test_dirichletc                 C   sÈ   t  ddg¡}tt j |t  d¡¡jdƒ tt j |t  d¡¡jdƒ tt j |t  d¡¡jdƒ tt j |ddg¡jdƒ tt j |d¡jdƒ tt j |t  d¡¡jdƒ ttt jj|t	dƒƒ d S )Nr+  r,  r$   rK   r%   rL   rM   )
r   r/   r   r   r.  rN   rO   r   r   rP   rQ   r   r   r   Útest_dirichlet_sizeh  s    z"TestRandomDist.test_dirichlet_sizec                 C   s�   t  ddg¡}ttt jjj|ƒ tttjddggƒ tttjdgdggƒ tttjdgdggdgdgggƒ tttjt  ddgddgg¡ƒ d S )NgHáz®Gá?g¼‰Ø—²Òœ¼r-   r$   )r   r/   r   r    r   r-  r.  )r   r/  r   r   r   Útest_dirichlet_bad_alphat  s    "z'TestRandomDist.test_dirichlet_bad_alphac                 C   sL   t j | j¡ t jjddd�}t  ddgddgdd	gg¡}t||d
d� d S )Ngï8EGrùñ?r¸   ra   gN÷·Uñ?gbI0æð?gùVU\õº@gˆ:€ì3ù@g©ºUýå?g�Ÿ"qoû?r©   rª   )r   r   rV   Úexponentialr/   r   r¬   r   r   r   Útest_exponential  s    
þzTestRandomDist.test_exponentialc                 C   s*   t tjjdd�dƒ tttjjdd� d S ©Nr   ©Úscaleç       €)r   r   r   r3  r   r    r!   r   r   r   Útest_exponential_0‡  s    z!TestRandomDist.test_exponential_0c                 C   sN   t j | j¡ t jjdddd�}t  ddgddgd	d
gg¡}t||dd� d S )Né   éM   r¸   ra   g7¶„ó?gµ`j‹�ü?g6¶"+÷?gÜ³2>•‰ó?g‘cÍ>+Yð?g¡_}áS‚õ?r©   rª   )r   r   rV   Úfr/   r   r¬   r   r   r   Útest_f‹  s    
þzTestRandomDist.test_fc                 C   sN   t j | j¡ t jjdddd�}t  ddgddgd	d
gg¡}t||dd� d S )Nr-   r+   r¸   ra   gÔ�GMçš8@g §â”ÈŒ<@g˜	´":@gÂvÀñÇ#)@gZQø·?@gr‚‚[•¦@@é   rª   )r   r   rV   Úgammar/   r   r¬   r   r   r   Ú
test_gamma“  s    
þzTestRandomDist.test_gammac                 C   s.   t tjjddd�dƒ tttjjddd� d S )Nr   )rO   r7  r8  )r   r   r   r?  r   r    r!   r   r   r   Útest_gamma_0›  s    zTestRandomDist.test_gamma_0c                 C   sH   t j | j¡ t jjddd�}t  ddgddgddgg¡}t||ƒ d S )	Nç_c97Ýš¿?r¸   ra   r…   rú   é   r-   r:  )r   r   rV   Ú	geometricr/   r   r¬   r   r   r   Útest_geometricŸ  s    
þzTestRandomDist.test_geometricc                 C   sN   t j | j¡ t jjdddd�}t  ddgddgd	d
gg¡}t||dd� d S )NrB  ç       @r¸   ©Úlocr7  rb   gåûØ•ßÉ?g¨s0í Ö?gÊð#0÷¿gï(ôx”÷¿g-¶KÇD´ñ?géÅ¯p`@æ¿r©   rª   )r   r   rV   Úgumbelr/   r   r¬   r   r   r   Útest_gumbel§  s    
þzTestRandomDist.test_gumbelc                 C   s*   t tjjdd�dƒ tttjjdd� d S r5  )r   r   r   rI  r   r    r!   r   r   r   Útest_gumbel_0¯  s    zTestRandomDist.test_gumbel_0c                 C   sü   t j | j¡ t jjddddd�}t  ddgddgddgg¡}t||ƒ t jjdddd	d�}t  g d
¢¡}t||ƒ t jjdddd	d�}t  g d¢¡}t||ƒ t jjdddd	d�}t  g d¢¡}t||ƒ t jjdddd	d�}t  g d¢¡}t||ƒ d S )Nr   r-   r>  r¸   ra   rû   r   r+   r,   )r+   r+   r+   r+   r©   r:  )r:  r:  r:  r:  )r   r   r   r   )r   r   rV   Úhypergeometricr/   r   r¬   r   r   r   Útest_hypergeometric³  s&    
þ



z"TestRandomDist.test_hypergeometricc                 C   sN   t j | j¡ t jjdddd�}t  ddgddgd	d
gg¡}t||dd� d S )NrB  rF  r¸   rG  gð¥ bÙOå?g¹Â¸ëÉçà?gpJmµú	@g{KÏ*Ët	@g•:^w-š«¿gˆY~oõûû?r©   rª   )r   r   rV   Úlaplacer/   r   r¬   r   r   r   Útest_laplaceÍ  s    
þzTestRandomDist.test_laplacec                 C   s*   t tjjdd�dƒ tttjjdd� d S r5  )r   r   r   rN  r   r    r!   r   r   r   Útest_laplace_0Õ  s    zTestRandomDist.test_laplace_0c                 C   sN   t j | j¡ t jjdddd�}t  ddgddgd	d
gg¡}t||dd� d S )NrB  rF  r¸   rG  g#€�K-zñ?g€îJš¬ë?g�92ÄÜ@gØ±ã÷[@gê#+^ÑÀË¿g¢¥-óâ@r©   rª   )r   r   rV   Úlogisticr/   r   r¬   r   r   r   Útest_logisticÙ  s    
þzTestRandomDist.test_logisticc                 C   sN   t j | j¡ t jjdddd�}t  ddgddgd	d
gg¡}t||dd� d S )NrB  rF  r¸   )ÚmeanÚsigmarb   g›ŽòÚÉ�0@goÎ,+4FB@gù�ƒ)Ê­6@g†§5éêæ?gnþxN—nP@g…©)‡úµU@r(  rª   )r   r   rV   Ú	lognormalr/   r   r¬   r   r   r   Útest_lognormalá  s    
þzTestRandomDist.test_lognormalc                 C   s*   t tjjdd�dƒ tttjjdd� d S )Nr   )rT  r$   r8  )r   r   r   rU  r   r    r!   r   r   r   Útest_lognormal_0é  s    zTestRandomDist.test_lognormal_0c                 C   sH   t j | j¡ t jjddd�}t  ddgddgddgg¡}t||ƒ d S )NgÆ€@õŒí?r¸   )r:   rb   r%   r.   rC  r+   )r   r   rV   Ú	logseriesr/   r   r¬   r   r   r   Útest_logseriesí  s    
þzTestRandomDist.test_logseriesc                 C   sh   t j | j¡ t jjddgd dd�}t  g d¢g d¢gg d¢g d	¢gg d
¢g d¢gg¡}t||ƒ d S )Nr   çUUUUUUÅ?r.   r¸   ra   )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   r   rV   rC   r/   r   r¬   r   r   r   Útest_multinomialõ  s    
ÿÿÿüzTestRandomDist.test_multinomialc                 C   sh  t j | j¡ d}ddgddgg}d}t j |||¡}t  ddgddggd	d
gddggddgddggg¡}t||dd� t j ||¡}t  ddg¡}t||dd� ddg}ddgddgg}ttt jj||ƒ tt jj||dd� t	t
t jj||dd� t jddgddggt jd�}tƒ �:}t j ||¡ | t¡}t|ƒdk�sDJ ‚W d   ƒ n1 �sZ0    Y  d S )N)rB  r   r$   r   r¸   g4¸Výj÷?g¾±Ž¥y'@g÷I1‰õù?g—SÙBïŠ#@gû…ªe<@g ÒÔ4W(@g6ŠRÂ¿„û?gò9r
v"@g‹–Ñ�æ?g{§×ïÂ#@gò4Íx›—¿gÇçú"öf"@r©   rª   gN}©O6¦ì?gÐÇYM÷W"@r%   Úignore)Zcheck_validÚraiserÓ   r(   )r   r   rV   Zmultivariate_normalr/   r   r   ÚRuntimeWarningr   r   r    ró   r	   r¿   rÂ   )r   rS  Zcovrb   rš   r­   rÄ   rÅ   r   r   r   Útest_multivariate_normal   sB    
ÿÿÿüÿÿ
z'TestRandomDist.test_multivariate_normalc                 C   sJ   t j | j¡ t jjdddd�}t  ddgddgd	d
gg¡}t||ƒ d S )Nr?   g|ò°Pkš¿?r¸   )Únr:   rb   iP  iI  i|  ic  i  i‡  )r   r   rV   rj   r/   r   r¬   r   r   r   rk   (  s    
þz%TestRandomDist.test_negative_binomialc                 C   sÔ   t j | j¡ t jjdddd�}t  ddgddgdd	gg¡}t||d
d� t jjdddd�}t  ddgddgddgg¡}t||d
d� t j | j¡ t jjdddd�}t  ddgddgddgg¡}t||d
d� d S )Nr-   r¸   )ÚdfÚnoncrb   gôûÖGë7@g!© ÈÜ´*@gž1}“z9?@g¹+é©¸™0@g26E_r#@g¦�I�!ó1@r>  rª   r7   r@   g�÷ô‹÷?g’šT¶ˆDÃ?gÀõ?Tƒ?gÍ+òqnlð?gÓ~|òùDÕ?gë°¬òÇÃ?r   g›{¿0¾1#@gpŽ§²rs'@gþ~;ïÑÓ$@g"‹†dIŽ@gö°Õöë÷*@gÑ}Ÿ'Á,@)r   r   rV   Únoncentral_chisquarer/   r   r¬   r   r   r   Útest_noncentral_chisquare0  s(    
þ
þ
þz(TestRandomDist.test_noncentral_chisquarec                 C   sP   t j | j¡ t jjddddd�}t  ddgdd	gd
dgg¡}t||dd� d S )Nr-   r%   r$   r¸   )ÚdfnumÚdfdenrb  rb   gŒ^ýíå~ö?gƒ/+c¢äÕ?g"¡®.ž@gü†Œ÷Ž´@g×7í§ŸþÛ?g»ŒE·Öò?r>  rª   )r   r   rV   Únoncentral_fr/   r   r¬   r   r   r   Útest_noncentral_fE  s    ÿ
þz TestRandomDist.test_noncentral_fc                 C   sN   t j | j¡ t jjdddd�}t  ddgddgd	d
gg¡}t||dd� d S )NrB  rF  r¸   rG  gíœ&&n@gO»G_Ê@gÜ~w²ø@gtÁÜûw]Õ¿gm&¨5ú½@gŒñ$È>Û@r©   rª   )r   r   rV   Únormalr/   r   r¬   r   r   r   Útest_normalN  s    
þzTestRandomDist.test_normalc                 C   s*   t tjjdd�dƒ tttjjdd� d S r5  )r   r   r   ri  r   r    r!   r   r   r   Útest_normal_0V  s    zTestRandomDist.test_normal_0c                 C   sP   t j | j¡ t jjddd�}t  ddgddgdd	gg¡}t jj||d
d� d S )NrB  r¸   ©rÛ   rb   gÅWò˜I£@gùÔ¨y–@gy£Ÿ]Ó0‰Ag1~ÖÒ\�AgåËíãša@gÑY„
²7Aé   )Znulp)r   r   rV   Úparetor/   ÚtestingZassert_array_almost_equal_nulpr¬   r   r   r   Útest_paretoZ  s    þÿ
zTestRandomDist.test_paretoc                 C   sH   t j | j¡ t jjddd�}t  ddgddgddgg¡}t||ƒ d S )NrB  r¸   )Úlamrb   r   r$   )r   r   rV   Úpoissonr/   r   r¬   r   r   r   Útest_poissoni  s    
þzTestRandomDist.test_poissonc                 C   s`   t  d¡j}d}ttt jj|ƒ ttt jj|gd ƒ ttt jj|ƒ ttt jj|gd ƒ d S )NrÇ   r   r   )r   rv   rx   r   r    r   rr  )r   ZlambigZlamnegr   r   r   Útest_poisson_exceptionsq  s    z&TestRandomDist.test_poisson_exceptionsc                 C   sL   t j | j¡ t jjddd�}t  ddgddgdd	gg¡}t||d
d� d S )NrB  r¸   rl  gõ;•'û”?gÜ´èwÞ*�?g×†5›Ø?gF¡GÙ?g ÆËD]?gýÞ$`°ÉÀ?r©   rª   )r   r   rV   Úpowerr/   r   r¬   r   r   r   Ú
test_powery  s    
þzTestRandomDist.test_powerc                 C   sL   t j | j¡ t jjddd�}t  ddgddgdd	gg¡}t||d
d� d S )Nr   r¸   )r7  rb   g"íu¨ÈÆ+@gîN$MBÄ*@g7v8Bô4@gêÿª55@geãˆ&@g~ŽÓ£ÌZ1@r>  rª   )r   r   rV   Úrayleighr/   r   r¬   r   r   r   Útest_rayleigh�  s    
þzTestRandomDist.test_rayleighc                 C   s*   t tjjdd�dƒ tttjjdd� d S r5  )r   r   r   rw  r   r    r!   r   r   r   Útest_rayleigh_0‰  s    zTestRandomDist.test_rayleigh_0c                 C   sJ   t j | j¡ t jjdd�}t  ddgddgddgg¡}t||d	d
� d S )Nr¸   ra   gMo³DL®è?g6Ï([9ÀgðºrF=òí?gÉM'	-™ ÀgóV¼ëûÀgVA:ìQyÇ?r©   rª   )r   r   rV   Zstandard_cauchyr/   r   r¬   r   r   r   Útest_standard_cauchy�  s    
þz#TestRandomDist.test_standard_cauchyc                 C   sJ   t j | j¡ t jjdd�}t  ddgddgddgg¡}t||d	d
� d S )Nr¸   ra   g°ö–Ü�Üî?gc!z¨ì?g&N˜¥"�@g¬NIàŠÇ@gFÇï>ú’ã?g¡~‚MEø?r©   rª   )r   r   rV   Zstandard_exponentialr/   r   r¬   r   r   r   Útest_standard_exponential•  s    
þz(TestRandomDist.test_standard_exponentialc                 C   sL   t j | j¡ t jjddd�}t  ddgddgdd	gg¡}t||d
d� d S )Nr+   r¸   )rO   rb   g)§ž@g¾§Ä¾¤„@gd]‰,qÂ@gP‡kÌ{@g9B#Œ1@gÔÚv÷‡ @r>  rª   )r   r   rV   Ústandard_gammar/   r   r¬   r   r   r   Útest_standard_gamma�  s    
þz"TestRandomDist.test_standard_gammac                 C   s*   t tjjdd�dƒ tttjjdd� d S )Nr   )rO   r8  )r   r   r   r|  r   r    r!   r   r   r   Útest_standard_gamma_0¥  s    z$TestRandomDist.test_standard_gamma_0c                 C   sJ   t j | j¡ t jjdd�}t  ddgddgddgg¡}t||d	d
� d S )Nr¸   ra   r¯   r°   r±   r²   r³   r´   r©   rª   )r   r   rV   rc   r/   r   r¬   r   r   r   Útest_standard_normal©  s    
þz#TestRandomDist.test_standard_normalc                 C   sL   t j | j¡ t jjddd�}t  ddgddgdd	gg¡}t||d
d� d S )Nr   r¸   )ra  rb   g\VÔHÂï?gßhUÍ%›¶¿gÿH$ðMÏõ?güøüL›³á¿gV«qdz¥Ç¿gã–€Õý“ã?r©   rª   )r   r   rV   Ú
standard_tr/   r   r¬   r   r   r   Útest_standard_t±  s    
þzTestRandomDist.test_standard_tc                 C   sP   t j | j¡ t jjddddd�}t  ddgdd	gd
dgg¡}t||dd� d S )Ng{®Gáz@gö(\�Âu$@g×£p=
W4@r¸   )ÚleftÚmodeÚrightrb   g:§}ŒÂ\)@ghØ±TjÓ(@g‡Ç¨L‰30@g6Úœ™ÅA0@g6¤õ—sh&@gœí<Šáþ,@r>  rª   )r   r   rV   Ú
triangularr/   r   r¬   r   r   r   Útest_triangular¹  s    ÿ
þzTestRandomDist.test_triangularc                 C   sN   t j | j¡ t jjdddd�}t  ddgddgd	d
gg¡}t||dd� d S )Nç®Gáz®ó?g®Gáz%@r¸   )ÚlowÚhighrb   g>#¥HÃö@g£¨uºó@g•ï‡§Ý#@g„}d]#@gø†‰N¶õ@g­w)*ó @r©   rª   )r   r   rV   Úuniformr/   r   r¬   r   r   r   Útest_uniformÂ  s    
þzTestRandomDist.test_uniformc                 C   sš   t  d¡j}t  d¡j}t jj}tt|t j dƒ tt|dt jƒ tt|||ƒ tt|t j gdgƒ tt|dgt jgƒ t jjt  	|d¡|d d� d S )NrP   r   r$   g  Ø…W4vC)rˆ  r‰  )
r   Zfinforw   rx   r   rŠ  r   ÚOverflowErrorÚinfÚ	nextafter)r   ZfminZfmaxÚfuncr   r   r   Útest_uniform_range_boundsÊ  s    z(TestRandomDist.test_uniform_range_boundsc                 C   sn   G dd„ dt jƒ}t  d¡ |¡}ttt jj||ƒ G dd„ dt jƒ}t  d¡ |¡}ttt jj|ddƒ d S )Nc                   @   s   e Zd Zdd„ ZdS )zGTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingFloatc                 S   s   t ‚d S rí   ©r   r!   r   r   r   Ú	__float__â  s    zQTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingFloat.__float__N)r2   r3   r4   r’  r   r   r   r   ÚThrowingFloatá  s   r“  g      ð?c                   @   s   e Zd Zdd„ ZeZdS )zITestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingIntegerc                 S   s   t ‚d S rí   r‘  r!   r   r   r   Ú__int__ê  s    zQTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingInteger.__int__N)r2   r3   r4   r”  Ú	__index__r   r   r   r   ÚThrowingIntegeré  s   r–  r$   )	r   r  r/   r”   r   r   r   rŠ  rL  )r   r“  Zthrowing_floatr–  Zthrowing_intr   r   r   Ú!test_scalar_exception_propagationÚ  s    ÿz0TestRandomDist.test_scalar_exception_propagationc                 C   sN   t j | j¡ t jjdddd�}t  ddgddgd	d
gg¡}t||dd� d S )Nr‡  ç¤p=
×£ø?r¸   ©ÚmuÚkapparb   gL×üZI@g¦¢'N"@gÀ·…þkrØ?g”k=mœ@g�¹Ú‰ó?gÜ^Ì=�\ý?r©   rª   )r   r   rV   Úvonmisesr/   r   r¬   r   r   r   Útest_vonmisesò  s    
þzTestRandomDist.test_vonmisesc                 C   s:   t j | j¡ t jjdddd�}t j t  |¡ ¡ ¡ d S )NrE   gg5_PŸG>i@B r™  )r   r   rV   rœ  ro  r   ÚisfiniterH   )r   Úrr   r   r   Útest_vonmises_smallú  s    z"TestRandomDist.test_vonmises_smallc                 C   sN   t j | j¡ t jjdddd�}t  ddgddgd	d
gg¡}t||dd� d S )Nr‡  r˜  r¸   )rS  r7  rb   gÉZ¥ƒ¢@g-ïŸg†@g¦8
ÄÖmÖ?gÃÎVP"ø?g`Vô áÎ?gx©^½&3Ì?r>  rª   )r   r   rV   Úwaldr/   r   r¬   r   r   r   Ú	test_wald   s    
þzTestRandomDist.test_waldc                 C   sL   t j | j¡ t jjddd�}t  ddgddgdd	gg¡}t||d
d� d S )Nr‡  r¸   rl  g@–Ý6ï?g¦Óé]Aí?g(Ã1Ú¥Rþ?gù¤U þ?g“Í2§_uå?g^}-­Qö?r©   rª   )r   r   rV   Úweibullr/   r   r¬   r   r   r   Útest_weibull  s    
þzTestRandomDist.test_weibullc                 C   s@   t j | j¡ tt jjddd�t  d¡ƒ ttt jjdd� d S )Nr   r:  rl  r8  )rÛ   )r   r   rV   r   r£  r8   r   r    r!   r   r   r   Útest_weibull_0  s    zTestRandomDist.test_weibull_0c                 C   sH   t j | j¡ t jjddd�}t  ddgddgddgg¡}t||ƒ d S )	Nr‡  r¸   rl  éB   é   r$   r+   r(  )r   r   rV   Úzipfr/   r   r¬   r   r   r   Ú	test_zipf  s    
þzTestRandomDist.test_zipfN)Sr2   r3   r4   rZ   r®   rµ   r¾   rÆ   rÈ   rÍ   rÎ   rÑ   rÕ   rØ   rÚ   rß   rà   rè   rê   rì   rÿ   r  rl   ÚmarkZparametrizer   r   r   r  r  r  r  r  r!  r'  r*  r0  r1  r2  r4  r9  r=  r@  rA  rE  rJ  rK  rM  rO  rP  rR  rV  rW  rY  r[  r_  rk   rd  rh  rj  rk  rp  rs  rt  rv  rx  ry  rz  r{  r}  r~  r  r�  r†  r‹  r�  r—  r�  r   r¢  r¤  r¥  r©  r   r   r   r   r¡   '  s    .ÿ
ÿ	(		r¡   c                   @   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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/d0„ Zd1d2„ Zd3d4„ Zd5d6„ Zd7d8„ Zd9d:„ Zd;d<„ Z d=d>„ Z!d?d@„ Z"dAS )BÚTestBroadcastc                 C   s
   d| _ d S )NiÍ[r¢   r!   r   r   r   rZ   !  s    zTestBroadcast.setup_methodc                 C   s   t j | j¡ d S rí   )r   r   rV   r!   r   r   r   ÚsetSeed$  s    zTestBroadcast.setSeedc                 C   sn   dg}dg}t jj}t  g d¢¡}|  ¡  ||d |ƒ}t||dd� |  ¡  |||d ƒ}t||dd� d S )Nr   r$   ©gºlö×÷á?g_x¤¥á?g=å*BNà?r+   r>  rª   )r   r   rŠ  r/   r¬  r   )r   rˆ  r‰  rŠ  r­   rš   r   r   r   r‹  *  s    zTestBroadcast.test_uniformc                 C   s˜   dg}dg}dg}t jj}t  g d¢¡}|  ¡  ||d |ƒ}t||dd� tt||d |ƒ |  ¡  |||d ƒ}t||dd� tt|||d ƒ d S )Nr   r$   r   )g-rö´@g¦Y®lõ@g-µ`¦wý?r+   r>  rª   )r   r   ri  r/   r¬  r   r   r    )r   rH  r7  Ú	bad_scaleri  r­   rš   r   r   r   rj  :  s    zTestBroadcast.test_normalc                 C   sÂ   dg}dg}dg}dg}t jj}t  g d¢¡}|  ¡  ||d |ƒ}t||dd� tt||d |ƒ tt||d |ƒ |  ¡  |||d ƒ}t||dd� tt|||d ƒ tt|||d ƒ d S )	Nr$   r%   r   r&   )gnÍQVfÉ?gV©‹šKB³?gv®`køÏ?r+   r>  rª   )r   r   r   r/   r¬  r   r   r    )r   rÛ   rÜ   Úbad_aZbad_br   r­   rš   r   r   r   r!  M  s     zTestBroadcast.test_betac                 C   sX   dg}dg}t jj}t  g d¢¡}|  ¡  ||d ƒ}t||dd� tt||d ƒ d S ©Nr$   r   )gö.Ug¬Zè?gi Pr�qè?gçÅEKÌæ?r+   r>  rª   )r   r   r3  r/   r¬  r   r   r    )r   r7  r®  r3  r­   rš   r   r   r   r4  c  s    zTestBroadcast.test_exponentialc                 C   sX   dg}dg}t jj}t  g d¢¡}|  ¡  ||d ƒ}t||dd� tt||d ƒ d S r°  )r   r   r|  r/   r¬  r   r   r    )r   rO   Ú	bad_shapeZ	std_gammar­   rš   r   r   r   r}  p  s    z!TestBroadcast.test_standard_gammac                 C   sÂ   dg}dg}dg}dg}t jj}t  g d¢¡}|  ¡  ||d |ƒ}t||dd� tt||d |ƒ tt||d |ƒ |  ¡  |||d ƒ}t||dd� tt|||d ƒ tt|||d ƒ d S )	Nr$   r%   r   r&   )gö.Ug¬Zø?gi Pr�qø?gçÅEKÌö?r+   r>  rª   )r   r   r?  r/   r¬  r   r   r    )r   rO   r7  r±  r®  r?  r­   rš   r   r   r   r@  }  s     zTestBroadcast.test_gammac                 C   sÂ   dg}dg}dg}dg}t jj}t  g d¢¡}|  ¡  ||d |ƒ}t||dd� tt||d |ƒ tt||d |ƒ |  ¡  |||d ƒ}t||dd� tt|||d ƒ tt|||d ƒ d S )	Nr$   r%   r   r&   )gb—�yÊœé?g»åoðÄë?gT¹æ7Í@r+   r>  rª   )r   r   r<  r/   r¬  r   r   r    )r   re  rf  Ú	bad_dfnumÚ	bad_dfdenr<  r­   rš   r   r   r   r=  “  s     zTestBroadcast.test_fc           
      C   sd  dg}dg}dg}dg}dg}dg}t jj}t  g d¢¡}|  ¡  ||d ||ƒ}	t|	|dd	� tt||d ||ƒ tt||d ||ƒ tt||d ||ƒ |  ¡  |||d |ƒ}	t|	|dd	� tt|||d |ƒ tt|||d |ƒ tt|||d |ƒ |  ¡  ||||d ƒ}	t|	|dd	� tt||||d ƒ tt||||d ƒ tt||||d ƒ d S )
Nr%   r+   r,   r   r   r&   )gÈr±^G"@g/�*@g‹°�Ñ†š!@r>  rª   )r   r   rg  r/   r¬  r   r   r    )
r   re  rf  rb  r²  r³  Úbad_noncZnonc_fr­   rš   r   r   r   rh  ©  s4    zTestBroadcast.test_noncentral_fc                 C   s<   |   ¡  t ddg¡}tjjddddd�}t||dd� d S )Ng¬ªaŒ‚z@gn4M;î%é?rá   r%   ra   r>  rª   )r¬  r   r/   r   rg  r   )r   r­   rš   r   r   r   Útest_noncentral_f_small_dfÊ  s    z(TestBroadcast.test_noncentral_f_small_dfc                 C   sX   dg}dg}t jj}t  g d¢¡}|  ¡  ||d ƒ}t||dd� tt||d ƒ d S )Nr$   r   )g~¼}ÐN?â?g‘$FŽŸà?g'rS�èÀ?r+   r>  rª   )r   r   r)  r/   r¬  r   r   r    )r   ra  Úbad_dfr)  r­   rš   r   r   r   r*  Ð  s    zTestBroadcast.test_chisquarec                 C   sÂ   dg}dg}dg}dg}t jj}t  g d¢¡}|  ¡  ||d |ƒ}t||dd� tt||d |ƒ tt||d |ƒ |  ¡  |||d ƒ}t||dd� tt|||d ƒ tt|||d ƒ d S )	Nr$   r%   r   r&   )g©ç wÌ "@g2øêWR@g�ˆâRY@r+   r>  rª   )r   r   rc  r/   r¬  r   r   r    )r   ra  rb  r¶  r´  Znonc_chir­   rš   r   r   r   rd  Ý  s     z'TestBroadcast.test_noncentral_chisquarec                 C   sX   dg}dg}t jj}t  g d¢¡}|  ¡  ||d ƒ}t||dd� tt||d ƒ d S )Nr$   r   )gTÄò�@g~‹Fžl@gÆštø�pð?r+   r>  rª   )r   r   r€  r/   r¬  r   r   r    )r   ra  r¶  Útr­   rš   r   r   r   r�  ó  s    zTestBroadcast.test_standard_tc                 C   s˜   dg}dg}dg}t jj}t  g d¢¡}|  ¡  ||d |ƒ}t||dd� tt||d |ƒ |  ¡  |||d ƒ}t||dd� tt|||d ƒ d S )Nr%   r$   r   )g´®W!è@gü�OBº¦ÀgÈ}Ç?àý¿r+   r>  rª   )r   r   rœ  r/   r¬  r   r   r    )r   rš  r›  Z	bad_kapparœ  r­   rš   r   r   r   r�     s    zTestBroadcast.test_vonmisesc                 C   sX   dg}dg}t jj}t  g d¢¡}|  ¡  ||d ƒ}t||dd� tt||d ƒ d S )Nr$   r   )g&ƒ8¾?ò?g�e�âFXò?gªÕ‹Ë�Ÿð?r+   r>  rª   )r   r   rn  r/   r¬  r   r   r    )r   rÛ   r¯  rn  r­   rš   r   r   r   rp    s    zTestBroadcast.test_paretoc                 C   sX   dg}dg}t jj}t  g d¢¡}|  ¡  ||d ƒ}t||dd� tt||d ƒ d S r°  )r   r   r£  r/   r¬  r   r   r    )r   rÛ   r¯  r£  r­   rš   r   r   r   r¤     s    zTestBroadcast.test_weibullc                 C   sX   dg}dg}t jj}t  g d¢¡}|  ¡  ||d ƒ}t||dd� tt||d ƒ d S )Nr$   r   r­  r+   r>  rª   )r   r   ru  r/   r¬  r   r   r    )r   rÛ   r¯  ru  r­   rš   r   r   r   rv  -  s    zTestBroadcast.test_powerc                 C   s˜   dg}dg}dg}t jj}t  g d¢¡}|  ¡  ||d |ƒ}t||dd� tt||d |ƒ |  ¡  |||d ƒ}t||dd� tt|||d ƒ d S )Nr   r$   r   )g:¨×BKc±?gÖ3®šk²?gî~qÉÁ“?r+   r>  rª   )r   r   rN  r/   r¬  r   r   r    )r   rH  r7  r®  rN  r­   rš   r   r   r   rO  :  s    zTestBroadcast.test_laplacec                 C   s˜   dg}dg}dg}t jj}t  g d¢¡}|  ¡  ||d |ƒ}t||dd� tt||d |ƒ |  ¡  |||d ƒ}t||dd� tt|||d ƒ d S )Nr   r$   r   )gÈ'�£ZyÑ?g÷dSO=Ñ?gÏ3Lõ1³Õ?r+   r>  rª   )r   r   rI  r/   r¬  r   r   r    )r   rH  r7  r®  rI  r­   rš   r   r   r   rJ  M  s    zTestBroadcast.test_gumbelc                 C   s˜   dg}dg}dg}t jj}t  g d¢¡}|  ¡  ||d |ƒ}t||dd� tt||d |ƒ |  ¡  |||d ƒ}t||dd� tt|||d ƒ d S )Nr   r$   r   )gÂ“y±ÕÀ?gªÀJõR�Á?gþ
~Æ&‘£?r+   r>  rª   )r   r   rQ  r/   r¬  r   r   r    )r   rH  r7  r®  rQ  r­   rš   r   r   r   rR  `  s    zTestBroadcast.test_logisticc                 C   s˜   dg}dg}dg}t jj}t  g d¢¡}|  ¡  ||d |ƒ}t||dd� tt||d |ƒ |  ¡  |||d ƒ}t||dd� tt|||d ƒ d S )Nr   r$   r   )gÄñò�ÏH"@g¼ùÜ®ƒÍ @gvv	ý²:@r+   r>  rª   )r   r   rU  r/   r¬  r   r   r    )r   rS  rT  Z	bad_sigmarU  r­   rš   r   r   r   rV  s  s    zTestBroadcast.test_lognormalc                 C   sX   dg}dg}t jj}t  g d¢¡}|  ¡  ||d ƒ}t||dd� tt||d ƒ d S )Nr$   r   )gÝ±lËo½ó?gé/Ó‚´Æó?gz~ßRó?r+   r>  rª   )r   r   rw  r/   r¬  r   r   r    )r   r7  r®  rw  r­   rš   r   r   r   rx  †  s    zTestBroadcast.test_rayleighc                 C   sÞ   dg}dg}dg}dg}t jj}t  g d¢¡}|  ¡  ||d |ƒ}t||dd� tt||d |ƒ tt||d |ƒ |  ¡  |||d ƒ}t||dd� tt|||d ƒ tt|||d ƒ tt|d	dƒ tt|dd	ƒ d S )
Nr7   r$   r   r&   )g@mò ‰e¾?g¸�`ŸIß¿?g¸‡|2‹í?r+   r>  rª   rE   )r   r   r¡  r/   r¬  r   r   r    )r   rS  r7  Zbad_meanr®  r¡  r­   rš   r   r   r   r¢  “  s$    zTestBroadcast.test_waldc                 C   sj  dg}dg}dg}dg}dg}|d \}}t jj}t  g d¢¡}	|  ¡  ||d ||ƒ}
t|
|	dd� tt||d ||ƒ tt||d ||ƒ tt||d ||ƒ |  ¡  |||d |ƒ}
t|
|	dd� tt|||d |ƒ tt|||d |ƒ tt|||d |ƒ |  ¡  ||||d ƒ}
t|
|	dd� tt||||d ƒ tt||||d ƒ tt||||d ƒ d S )Nr$   r+   r%   r,   )g,âP;bD @gºÁ±È%G @g,~S²¨ @r>  rª   )r   r   r…  r/   r¬  r   r   r    )r   r‚  r„  rƒ  Zbad_left_oneZbad_mode_oneZbad_left_twoZbad_mode_twor…  r­   rš   r   r   r   r†  «  s@    ÿÿ
ÿzTestBroadcast.test_triangularc           	      C   sä   dg}dg}dg}dg}dg}t jj}t  g d¢¡}|  ¡  ||d |ƒ}t||ƒ tt||d |ƒ tt||d |ƒ tt||d |ƒ |  ¡  |||d ƒ}t||ƒ tt|||d ƒ tt|||d ƒ tt|||d ƒ d S )Nr$   r7   r   ç      ø?©r$   r$   r$   r+   )r   r   r9   r/   r¬  r   r   r    )	r   r`  r:   Úbad_nÚ	bad_p_oneÚ	bad_p_twoZbinomr­   rš   r   r   r   r'  Ï  s&    

zTestBroadcast.test_binomialc           	      C   sä   dg}dg}dg}dg}dg}t jj}t  g d¢¡}|  ¡  ||d |ƒ}t||ƒ tt||d |ƒ tt||d |ƒ tt||d |ƒ |  ¡  |||d ƒ}t||ƒ tt|||d ƒ tt|||d ƒ tt|||d ƒ d S )Nr$   r7   r   r¸  )r$   r   r$   r+   )r   r   rj   r/   r¬  r   r   r    )	r   r`  r:   rº  r»  r¼  Z	neg_binomr­   rš   r   r   r   rk   æ  s&    

z$TestBroadcast.test_negative_binomialc                 C   sz   t j ¡ j}dg}dg}|d g}t jj}t  g d¢¡}|  ¡  ||d ƒ}t||ƒ tt	||d ƒ tt	||d ƒ d S )Nr$   r   r%   )r$   r$   r   r+   )
r   r   r   Z_poisson_lam_maxrr  r/   r¬  r   r   r    )r   Zmax_lamrq  Zbad_lam_oneZbad_lam_tworr  r­   rš   r   r   r   rs  ý  s    

zTestBroadcast.test_poissonc                 C   s¢   dg}dg}t jj}t  g d¢¡}|  ¡  ||d ƒ}t||ƒ tt||d ƒ t jdd��2 tt|t j	ƒ tt|ddt j	gƒ W d   ƒ n1 s”0    Y  d S )Nr%   r   )r%   r%   r$   r+   r\  )Úinvalid)
r   r   r¨  r/   r¬  r   r   r    Zerrstater<   )r   rÛ   r¯  r¨  r­   rš   r   r   r   r©    s    
zTestBroadcast.test_zipfc                 C   sj   dg}dg}dg}t jj}t  g d¢¡}|  ¡  ||d ƒ}t||ƒ tt||d ƒ tt||d ƒ d S )Nr7   r   r¸  rL   r+   )r   r   rD  r/   r¬  r   r   r    )r   r:   r»  r¼  Zgeomr­   rš   r   r   r   rE    s    
zTestBroadcast.test_geometricc                 C   sš  dg}dg}dg}dg}dg}dg}dg}t jj}t  g d¢¡}	|  ¡  ||d ||ƒ}
t|
|	ƒ tt||d ||ƒ tt||d ||ƒ tt||d ||ƒ tt||d ||ƒ |  ¡  |||d |ƒ}
t|
|	ƒ tt|||d |ƒ tt|||d |ƒ tt|||d |ƒ tt|||d |ƒ |  ¡  ||||d ƒ}
t|
|	ƒ tt||||d ƒ tt||||d ƒ tt||||d ƒ tt||||d ƒ d S )	Nr$   r%   r   r&   r   r,   r¹  r+   )r   r   rL  r/   r¬  r   r   r    )r   ZngoodZnbadZnsampleZ	bad_ngoodZbad_nbadZbad_nsample_oneZbad_nsample_twoZ	hypergeomr­   rš   r   r   r   rM  '  s<    


z!TestBroadcast.test_hypergeometricc                 C   sj   dg}dg}dg}t jj}t  g d¢¡}|  ¡  ||d ƒ}t||ƒ tt||d ƒ tt||d ƒ d S )Nr7   r%   r   r¹  r+   )r   r   rX  r/   r¬  r   r   r    )r   r:   r»  r¼  rX  r­   rš   r   r   r   rY  J  s    
zTestBroadcast.test_logseriesN)#r2   r3   r4   rZ   r¬  r‹  rj  r!  r4  r}  r@  r=  rh  rµ  r*  rd  r�  r�  rp  r¤  rv  rO  rJ  rR  rV  rx  r¢  r†  r'  rk   rs  r©  rE  rM  rY  r   r   r   r   r«    s@   !$#r«  zcan't start thread)Úreasonc                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )Ú
TestThreadc                 C   s   t dƒ| _d S )Nr,   )r   Úseedsr!   r   r   r   rZ   [  s    zTestThread.setup_methodc                    sÌ   ddl m‰  t t| jƒf| ¡}t t| jƒf| ¡}‡ ‡fdd„t| j|ƒD ƒ}dd„ |D ƒ dd„ |D ƒ t| j|ƒD ]\}}ˆtj |¡|ƒ q|t 	¡ j
jdkr¾tjdkr¾t||ƒ n
t||ƒ d S )	Nr   )ÚThreadc                    s(   g | ] \}}ˆ ˆt j |¡|fd �‘qS ))ÚtargetÚargs)r   r   r   )rõ   r   Úo©rÁ  Úfunctionr   r   r÷   e  s   ÿz-TestThread.check_function.<locals>.<listcomp>c                 S   s   g | ]}|  ¡ ‘qS r   )Ústart©rõ   rI   r   r   r   r÷   g  rð   c                 S   s   g | ]}|  ¡ ‘qS r   )ÚjoinrÈ  r   r   r   r÷   h  rð   r,   Úwin32)Ú	threadingrÁ  r   râ   rÂ   rÀ  Úzipr   r   Zintpr)   Úitemsizer�   Úplatformr   r   )r   rÆ  ÚszZout1Zout2r·  r   rÄ  r   rÅ  r   Úcheck_function^  s    
ÿzTestThread.check_functionc                 C   s   dd„ }| j |dd� d S )Nc                 S   s   | j dd�|d< d S )Né'  ra   .)ri  ©rY   Úoutr   r   r   Ú
gen_randomu  s    z*TestThread.test_normal.<locals>.gen_random)rÑ  ©rÏ  ©rÐ  ©r   rÔ  r   r   r   rj  t  s    zTestThread.test_normalc                 C   s   dd„ }| j |dd� d S )Nc                 S   s   | j t d¡d�|d< d S )N©r?   r   r6  .)r3  r   ZonesrÒ  r   r   r   rÔ  z  s    z'TestThread.test_exp.<locals>.gen_randomrØ  rÕ  rÖ  r×  r   r   r   Útest_expy  s    zTestThread.test_expc                 C   s   dd„ }| j |dd� d S )Nc                 S   s   | j ddgd dd�|d< d S )Nr   rZ  r.   rÑ  ra   .)rC   rÒ  r   r   r   rÔ    s    z/TestThread.test_multinomial.<locals>.gen_random)rÑ  r.   rÕ  rÖ  r×  r   r   r   r[  ~  s    zTestThread.test_multinomialN)r2   r3   r4   rZ   rÐ  rj  rÙ  r[  r   r   r   r   r¿  X  s
   r¿  c                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚTestSingleEltArrayInputc                 C   s4   t  dg¡| _t  dg¡| _t  dg¡| _d| _d S )Nr%   r+   r,   )r$   )r   r/   ÚargOneÚargTwoÚargThreeÚtgtShaper!   r   r   r   rZ   †  s    z$TestSingleEltArrayInput.setup_methodc                 C   sœ   t jjt jjt jjt jjt jjt jjt jjt jj	t jj
t jjt jjt jjf}t jjt jjf}|D ]6}||v r~|t  dg¡ƒ}n
|| jƒ}t|j| jƒ q`d S ri   )r   r   r3  r|  r)  r€  rn  r£  ru  rw  rr  r¨  rD  rX  r/   rÛ  r   rO   rÞ  )r   ÚfuncsÚ	probfuncsr�  rÓ  r   r   r   Útest_one_arg_funcsŒ  s    û
z*TestSingleEltArrayInput.test_one_arg_funcsc                 C   sè   t jjt jjt jjt jjt jjt jjt jjt jj	t jj
t jjt jjt jjt jjt jjf}t jjt jjf}|D ]v}||v r†t  dg¡}n| j}|| j|ƒ}t|j| jƒ || jd |ƒ}t|j| jƒ || j|d ƒ}t|j| jƒ qld S )Nr7   r   )r   r   rŠ  ri  r   r?  r<  rc  rœ  rN  rI  rQ  rU  r¡  r9   rj   r/   rÜ  rÛ  r   rO   rÞ  )r   rß  rà  r�  rÜ  rÓ  r   r   r   Útest_two_arg_funcsŸ  s&    úz*TestSingleEltArrayInput.test_two_arg_funcsc              	   C   s°   t tjtjtjtjtjtjtjtj	g	}tj
j}t dg¡}t dg¡}|D ]`}||||d�}t|j| jƒ ||d ||d�}t|j| jƒ |||d |d�}t|j| jƒ qJd S )Nr$   r   r(   )ru   r   rŠ   r�   rˆ   r‹   r‰   rN   r0   rŒ   r   r   r/   r   rO   rÞ  )r   rt   r�  r‰  rˆ  ry   rÓ  r   r   r   r¾   º  s    ÿz$TestSingleEltArrayInput.test_randintc                 C   sŒ   t jjt jjt jjg}|D ]l}|| j| j| jƒ}t|j	| j
ƒ || jd | j| jƒ}t|j	| j
ƒ || j| jd | jƒ}t|j	| j
ƒ qd S )Nr   )r   r   rg  r…  rL  rÛ  rÜ  rÝ  r   rO   rÞ  )r   rß  r�  rÓ  r   r   r   Útest_three_arg_funcsË  s    ÿz,TestSingleEltArrayInput.test_three_arg_funcsN)r2   r3   r4   rZ   rá  râ  r¾   rã  r   r   r   r   rÚ  …  s
   rÚ  )rÊ   rl   Únumpyr   Znumpy.testingr   r   r   r   r   r   r   r	   r
   r   r�   r   r5   r>   rT   rp   r¡   r«  rª  Zskipifr¿  rÚ  r   r   r   r   Ú<module>   s2   ,'"5      |    >,