U
    O8cn                     @   s(  d dl Z d dlmZ d dlZd dlZd dlmZmZm	Z	 d dl
mZmZmZmZmZmZ ejdejejejejejejejejejf	ddd Zd	d
 Zd ddZdd Zd!ddZG dd dZ G dd de Z!G dd de Z"G dd de Z#G dd de Z$G dd de Z%G dd de Z&dS )"    N)partial)assert_equalassert_assert_array_equal)	GeneratorMT19937PCG64	PCG64DXSMPhiloxSFC64module)Zscopeparamsc                 C   s   | j S N)param)request r   A/tmp/pip-unpacked-wheel-fd_gsd75/numpy/random/tests/test_smoke.pydtype	   s    r   c                 C   sr   |  }t t| | d}t |jdk | d}t |jdk | d}t |jdk | dd}t |jdk d S )N
   r   r   r   r   r   r   )   r   size)r   npisscalarshape)fvalr   r   r   params_0   s    
r    Fc                 C   s   d}t dd}t ddd}t ddd}t ddg}t ddd	}|rd
}|d|   }|d|   }|d|   }|d|   }|d|   }| | | |dd | | | | | | | |dd | |dd | |dd d S )Ng      @       @g      (@     Y@r   g     P@r         @)   r   r$         ?g      ?r   r   r      )r   arangereshapearraymax)r   boundedabcdegr   r   r   params_1   s*    r3   c                 C   s   d}t | tr0| D ]}|t| | || M }qnzt| t|krV|t| t|kM }nTt | tttjfrt |tttjfrt| |D ]\}}|t||M }qn|| |kM }|S )NT)	
isinstancedict
comp_statetypelisttupler   Zndarrayzip)state1state2Z	identicalkeys1s2r   r   r   r6   >   s    
 
r6   c                 C   s   |d krdt jdd }| | | | | j|t jd | j|t jd | jdd|t jd | jdd|t jd | d| | jd|t jd | j|t jd | j|t jd d S )N   r      r      l          g      &@)	r   randomrandintstandard_normalfloat32integersuint64standard_gammafloat64)rgnr   r   r   warmupO   s    

rN   c                   @   sD  e Zd Zedd Ze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#dAdB Z$dCdD Z%dEdF Z&dGdH Z'dIdJ Z(dKdL Z)dMdN Z*dOdP Z+dQdR Z,dSdT Z-dUdV Z.dWdX Z/dYdZ Z0d[d\ Z1d]d^ Z2d_d` Z3dadb Z4dcdd Z5dedf Z6dgdh Z7didj Z8dkdl Z9dmdn Z:dodp Z;dqdr Z<dsdt Z=dudv Z>dwdx Z?dydz Z@d{d| ZAd}d~ ZBdd ZCdd ZDdd ZEdd ZFdd ZGdd ZHdd ZIdS )RNGc                 C   sD   t | _d | _dg| _t| j| j | _| jjj| _d| _| 	  d S )N90  @   
r   bit_generatoradvanceseedr   rL   stateinitial_stateseed_vector_bits_extra_setupclsr   r   r   setup_class_   s    zRNG.setup_classc                 C   sH   t dd| _t ddd d d f | _t dddd| _t| _d S )Nr!   r"   g{Gz?d   r^   )r   r(   vec_1dvec_2dr)   mat	TypeError
seed_errorrZ   r   r   r   rY   j   s    zRNG._extra_setupc                 C   s   | j | jj_d S r   )rW   rL   rS   rV   selfr   r   r   _reset_stateq   s    zRNG._reset_statec                 C   sJ   t |  }|jj}|d |d ||j_|jj}tt|| d S )Nr$   )r   rS   rV   rF   r   r6   )re   rL   rV   Z	new_stater   r   r   	test_initt   s    

zRNG.test_initc                 C   s`   | j jj}t| j jdr@| j j| j tt|| j jj  n| j jjj}t	
d|  d S )NrT   zAdvance is not supported by )rL   rS   rV   hasattrrT   r   r6   	__class____name__pytestskip)re   rV   bitgen_namer   r   r   test_advance}   s    
zRNG.test_advancec                 C   s   | j jj}t| j jdrr| j j }|j}tt||  | j d || j j_| j j }|j}tt|| n2| j jjj	}|dkrt
d| td|  d S )Njumpedi. )r   zno "jumped" in zJump is not supported by )rL   rS   rV   rh   ro   r   r6   rD   ri   rj   AttributeErrorrk   rl   )re   rV   Zbit_gen2Zjumped_stateZbit_gen3Zrejumped_staterm   r   r   r   	test_jump   s    

zRNG.test_jumpc                 C   sF   | j jdddd}tt|dk t|dk  t|dk  d S )N              r   r   r   )rL   uniformr   lenallre   rr   r   r   test_uniform   s    zRNG.test_uniformc                 C   s   | j jtdgd ddd}tt|dk t|dk  t|dk  | j jtdgd tdgd dd}tt|dk t|dk  t|dk  | j jdtdgd dd}tt|dk t|dk  t|dk  d S )Nrr   r   rs   r   rt   r   )rL   ru   r   r*   r   rv   rw   rx   r   r   r   test_uniform_array   s     zRNG.test_uniform_arrayc                 C   s(   t t| jddk t| jj d S Nr   )r   rv   rL   rD   r    rd   r   r   r   test_random   s    zRNG.test_randomc                 C   s   t t| jddk d S r|   )r   rv   rL   rF   rd   r   r   r   test_standard_normal_zig   s    zRNG.test_standard_normal_zigc                 C   s(   t t| jddk t| jj d S r|   )r   rv   rL   rF   r    rd   r   r   r   test_standard_normal   s    zRNG.test_standard_normalc                 C   sP   t t| jdddk t t| jtdgd ddk t| jj d S r|   )r   rv   rL   rJ   r   r*   r3   rd   r   r   r   test_standard_gamma   s    &zRNG.test_standard_gammac                 C   s(   t t| jddk t| jj d S r|   )r   rv   rL   standard_exponentialr    rd   r   r   r   test_standard_exponential   s    zRNG.test_standard_exponentialc                 C   sH   | j jddd}tt|dk |jtjks0ttt	| j jdd d S )Nr   rG   rB   
rL   r   r   rv   r   r   rG   AssertionErrorr    r   re   Zrandomsr   r   r   test_standard_exponential_float   s    z#RNG.test_standard_exponential_floatc                 C   sL   | j jdddd}tt|dk |jtjks2ttt	| j jddd d S )Nr   rG   inv)r   methodr   r   r   r   r   #test_standard_exponential_float_log   s    
z'RNG.test_standard_exponential_float_logc                 C   s(   t t| jddk t| jj d S r|   )r   rv   rL   Zstandard_cauchyr    rd   r   r   r   test_standard_cauchy   s    zRNG.test_standard_cauchyc                 C   s*   t t| jdddk t| jj d S r|   )r   rv   rL   Z
standard_tr3   rd   r   r   r   test_standard_t   s    zRNG.test_standard_tc                 C   s0   t | jdddk t | jdddk d S )Nr   r%   r     )r   rL   Zbinomialrd   r   r   r   test_binomial   s    zRNG.test_binomialc                 C   s<   | j jj}| j d}|| j j_| j d}t||k d S )Nl        )rL   rS   rV   rH   r   )re   rV   Zint_1Zint_2r   r   r   test_reset_state   s
    

zRNG.test_reset_statec                 C   s4   t |  }t |  }tt|jj|jj  d S r   )r   rS   r   r6   rV   re   rL   rg2r   r   r   test_entropy_init   s
    
zRNG.test_entropy_initc                 C   sJ   t | j| j }t | j| j }|  |  tt|jj|jj d S r   )r   rS   rU   rD   r   r6   rV   r   r   r   r   	test_seed   s
    zRNG.test_seedc                 C   sZ   t | j| j }|  |jj}|jdd}t |  }||j_|jdd}t|| d S )Nr   r   )r   rS   rU   rF   rV   r   re   rL   rV   Zn1r   Zn2r   r   r   test_reset_state_gauss   s    zRNG.test_reset_state_gaussc                 C   sv   t | j| j }|jdddtjd |jj}|jdddtjd}t |  }||j_|jdddtjd}t|| d S )Nr   rC   x   rB   r   )r   rS   rU   rH   r   uint32rV   r   r   r   r   r   test_reset_state_uint32   s    zRNG.test_reset_state_uint32c                 C   sh   t | j| j }|jdd |jj}|jddd}t |  }||j_|jddd}t||k  d S )NrG   rB   r   r   r   )r   rS   rU   rD   rV   r   rw   r   r   r   r   test_reset_state_float  s    zRNG.test_reset_state_floatc                 C   s.   t ddd}| j|}t||k  d S N   r   rt   r   r(   rL   Zpermutationr   anyre   originalZpermutedr   r   r   test_shuffle  s    zRNG.test_shufflec                 C   s.   t ddd}| j|}t||k  d S r   r   r   r   r   r   test_permutation  s    zRNG.test_permutationc                 C   s   | j ddd}tt|dk | j tdgd d}tt|dk | j dtdgd }tt|dk | j tdgd tdgd }tt|dk | j tdgd tdggd }t|jdk d S )Nr!   r   r   )rL   betar   rv   r   r*   r   re   valsr   r   r   	test_beta  s    &(zRNG.test_betac                 C   s    | j d}tt|dk d S r|   )rL   bytesr   rv   r   r   r   r   
test_bytes"  s    zRNG.test_bytesc                 C   s.   | j dd}tt|dk t| j j d S Nr!   r   )rL   Z	chisquarer   rv   r3   r   r   r   r   test_chisquare&  s    zRNG.test_chisquarec                 C   s.   | j dd}tt|dk t| j j d S r   )rL   exponentialr   rv   r3   r   r   r   r   test_exponential+  s    zRNG.test_exponentialc                 C   s$   | j ddd}tt|dk d S )N   r   r   )rL   r   r   rv   r   r   r   r   test_f0  s    z
RNG.test_fc                 C   s$   | j ddd}tt|dk d S )Nr   r'   r   )rL   gammar   rv   r   r   r   r   
test_gamma4  s    zRNG.test_gammac                 C   s2   | j dd}tt|dk t| j jdd d S )Nr%   r   Tr,   )rL   Z	geometricr   rv   r3   r   r   r   r   r   test_geometric8  s    zRNG.test_geometricc                 C   s$   | j ddd}tt|dk d S r   )rL   Zgumbelr   rv   r   r   r   r   test_gumbel=  s    zRNG.test_gumbelc                 C   s$   | j ddd}tt|dk d S r   )rL   Zlaplacer   rv   r   r   r   r   test_laplaceA  s    zRNG.test_laplacec                 C   s$   | j ddd}tt|dk d S r   )rL   Zlogisticr   rv   r   r   r   r   test_logiticE  s    zRNG.test_logiticc                 C   s"   | j dd}tt|dk d S )Nr%   r   )rL   Z	logseriesr   rv   r   r   r   r   test_logseriesI  s    zRNG.test_logseriesc                 C   s$   | j ddd}tt|dk d S Nr   皙?)rL   Znegative_binomialr   rv   r   r   r   r   test_negative_binomialM  s    zRNG.test_negative_binomialc                 C   s$   | j ddd}tt|dk d S )Nr   r'   )rL   Znoncentral_chisquarer   rv   r   r   r   r   test_noncentral_chisquareQ  s    zRNG.test_noncentral_chisquarec                 C   s   | j dddd}tt|dk | j tdgd dd}tt|dk | j dtdgd d}tt|dk | j ddtdgd }tt|dk d S )Nr   r   r'   r   )rL   Znoncentral_fr   rv   r   r*   r   r   r   r   test_noncentral_fU  s    zRNG.test_noncentral_fc                 C   s$   | j ddd}tt|dk d S r   )rL   normalr   rv   r   r   r   r   test_normal_  s    zRNG.test_normalc                 C   s"   | j dd}tt|dk d S )Nr#   r   )rL   Zparetor   rv   r   r   r   r   test_paretoc  s    zRNG.test_paretoc                 C   sV   | j dd}tt|dk | j tdgd }tt|dk t| j j d S r|   )rL   Zpoissonr   rv   r   r*   r3   r   r   r   r   test_poissong  s
    zRNG.test_poissonc                 C   s"   | j dd}tt|dk d S )Nr   r   )rL   powerr   rv   r   r   r   r   
test_powern  s    zRNG.test_powerc                 C   s$   | j ddd}tt|dk d S )Nr   rA   )rL   rH   r   rv   r   r   r   r   test_integersr  s    zRNG.test_integersc                 C   s2   | j dd}tt|dk t| j jdd d S )Nr   r   Tr   )rL   Zrayleighr   rv   r3   r   r   r   r   test_rayleighv  s    zRNG.test_rayleighc                 C   s$   | j ddd}tt|dk d S r   )rL   Zvonmisesr   rv   r   r   r   r   test_vonmises{  s    zRNG.test_vonmisesc                 C   s$   | j ddd}tt|dk d S N      ?r   )rL   Zwaldr   rv   r   r   r   r   	test_wald  s    zRNG.test_waldc                 C   s"   | j dd}tt|dk d S r   )rL   Zweibullr   rv   r   r   r   r   test_weibull  s    zRNG.test_weibullc                 C   sx   | j dd}tt|dk | j | j}tt|dk | j | j}t|jdk | j | j}t|jdk d S )Nr   r^   )r$   r^   r]   )rL   Zzipfr   rv   r_   r`   r   ra   r   r   r   r   	test_zipf  s    zRNG.test_zipfc                 C   sL   | j ddd}tt| | j tdgd dd}t|jdk d S )N   rA   r   r   )rL   Zhypergeometricr   r   r   r*   r   r   r   r   r   test_hypergeometric  s    zRNG.test_hypergeometricc                 C   sL   | j ddd}tt| | j dtdgd d}t|jdk d S )Nr   r   r   r   )rL   
triangularr   r   r   r*   r   r   r   r   r   test_triangular  s    zRNG.test_triangularc                 C   s   ddg}ddgddgg}| j ||d}t|jdk | j ||d}t|jdk | j ||d}t|jdk t||k  d S )Nr   r$   r^     )r   r'   )rL   Zmultivariate_normalr   r   r   )re   ZmeanZcovxZx_zigZx_invr   r   r   test_multivariate_normal  s    zRNG.test_multivariate_normalc                 C   sH   | j dddg}t|jdk | j jdddgdd}t|jdk d S )Nr^   gUUUUUU?gUUUUUU?)r'   r   r   r&   )rL   Zmultinomialr   r   r   r   r   r   test_multinomial  s    zRNG.test_multinomialc                 C   s    | j dd}t|jdk d S )N)r   r   r   rA   )rA   r   )rL   Z	dirichletr   r   )re   sr   r   r   test_dirichlet  s    zRNG.test_dirichletc                 C   s   t | j}t |}tt| jt|k tt| jjj|jj t | j}t |}tt| jt|k tt| jjj|jj d S r   )	pickledumpsrL   loadsr   r7   r6   rS   rV   )re   ZpickZunpickr   r   r   test_pickle  s    

zRNG.test_picklec                 C   sX  | j d kr"| jj}td|  | j dkr4tj}ntj}tjdg|d}| |}|j	}| d}|j	}t
t|| tjd|d}| |}|j	}| |d }|j	}t
t||  tjd|d}| |}|j	}| |d }|j	}t
t||  dttjd|d| j d  d }| |}|j	}| |d }|j	}t
t||  d S )	Nz#Vector seeding is not supported by     r$   rB      r   i  r'   )rX   rS   rj   rk   rl   r   r   rI   r*   rV   r   r6   r(   mod)re   rm   r   rU   bgr;   r<   r   r   r   test_seed_array  sD    






zRNG.test_seed_arrayc                 C   s   t | d}t| |jj}|jdtjd}t |  }t| ||j_|jdtjd}t|| t|j	tj t
t|jj|jj d S )NrP   r@   rB   )r   rS   rN   rV   rD   r   rG   r   r   r   r   r6   re   rL   rV   Zr1r   Zr2r   r   r   test_uniform_float  s    
zRNG.test_uniform_floatc                 C   s   t |  }t| |jj}|jddtjd}t |  }t| ||j_|jddtjd}t|| t|j	tj t
t|jj|jj d S )Ng      @r@   rB   )r   rS   rN   rV   rJ   r   rG   r   r   r   r   r6   r   r   r   r   test_gamma_floats  s    
zRNG.test_gamma_floatsc                 C   s   t |  }t| |jj}|jdtjd}t |  }t| ||j_|jdtjd}t|| t|j	tj t
t|jj|jj d S Nr@   rB   r   rS   rN   rV   rF   r   rG   r   r   r   r   r6   r   r   r   r   test_normal_floats  s    
zRNG.test_normal_floatsc                 C   s   t |  }t| |jj}|jdtjd}t |  }t| ||j_|jdtjd}t|| t|j	tj t
t|jj|jj d S r   r   r   r   r   r   test_normal_zig_floats  s    
zRNG.test_normal_zig_floatsc                 C   s   | j }|jj}d}t|}||j_|j|d ||j_|j|d}t|| t|}||j_|j||jd tj|tjd}||j_|j|tjd ||j_|j|tjd}t|| d S )N      a   outr   )r   r   rB   r   r   r   )	rL   rS   rV   r   emptyrF   r   r   rG   )re   rL   rV   r   existingdirectZsizedr   r   r   test_output_fill  s$    


zRNG.test_output_fillc                 C   s   | j }|jj}d}t|}||j_|j|d ||j_|j|d}t|| tj|tjd}||j_|j|tjd ||j_|j|tjd}t|| d S Nr   r   r   rB   r   r   )rL   rS   rV   r   r   rD   r   rG   re   rL   rV   r   r   r   r   r   r   test_output_filling_uniform/  s    

zRNG.test_output_filling_uniformc                 C   s   | j }|jj}d}t|}||j_|j|d ||j_|j|d}t|| tj|tjd}||j_|j|tjd ||j_|j|tjd}t|| d S r   )rL   rS   rV   r   r   r   r   rG   r   r   r   r   test_output_filling_exponentialA  s    

z#RNG.test_output_filling_exponentialc                 C   s   | j }|jj}d}t|}||j_|jd|d ||j_|jd|d}t|| tj|tjd}||j_|jd|tjd ||j_|jd|tjd}t|| d S )Nr   r   r   r   rB   r   r   )rL   rS   rV   r   zerosrJ   r   rG   r   r   r   r   test_output_filling_gammaS  s    

zRNG.test_output_filling_gammac                 C   s   | j }|jj}d}tdd }t|}||j_|j||d ||j_|j||d}t|| tj|tjd}||j_|j||tjd ||j_|j||tjd}t|| d S )	Nr   g     @X@r   r   r   rB   r   r   )	rL   rS   rV   r   r(   r   rJ   r   rG   )re   rL   rV   r   mur   r   r   r   r   #test_output_filling_gamma_broadcaste  s     

z'RNG.test_output_filling_gamma_broadcastc              	   C   sp  | j }d}t|}tt |j|tjd W 5 Q R X tt |j|d d d d W 5 Q R X tj|tjd}tt |j|tj	d W 5 Q R X tj
|tjd}tt |jd|tj	d W 5 Q R X tt" |jd|d d d tjd W 5 Q R X tj
|tj	d}tt |jd|tjd W 5 Q R X tt |jd|d d d d W 5 Q R X d S )Nr   r   r   r   rB   r   )rL   r   r   rk   raisesrb   rF   rG   
ValueErrorrK   r   rJ   )re   rL   r   r   r   r   r   test_output_fill_errorx  s(    
 &zRNG.test_output_fill_errorc           
      C   sf  |t jkrd}d}nt |}t|jd }|j}|   | jj||gd |d}|   | jj|gd ||d}t	|| |   | jj||d|d}t	|| |   | jjt 
|gd t j
|gtdd|d}t	|| |   | jjt 
|gd t 
|gd d|d}	t	||	 |   | jjd|d|d}|   | jj|gd |d}t	|| d S )Nr'   r   r$   r   rB   r   )r   bool_iinfointr+   minrf   rL   rH   r   r*   object)
re   r   upperlowerinfor-   r.   r/   r0   r1   r   r   r   test_integers_broadcast  sH    




 
  
zRNG.test_integers_broadcastc                 C   s   t dg}t dg}| jj|||d}|jdks8t| jj|d ||d}|jdks\t| jj||d |d}|jdkstd S )Nr$   r   rB   )r$   )r   r*   rL   rH   r   r   )re   r   highlowr   r   r   r   test_integers_numpy  s    zRNG.test_integers_numpyc              	   C   s   |t jkrd}d}nt |}t|jd }|j}tt" | j	j
||d gd |d W 5 Q R X tt" | j	j
|d |gd |d W 5 Q R X tt$ | j	j
|d g|gd |d W 5 Q R X tt | j	j
dgdg|d W 5 Q R X d S )Nr'   r   r$   r   rB   )r   r   r   r   r+   r   rk   r   r   rL   rH   )re   r   r   r   r  r   r   r   test_integers_broadcast_errors  s    

&&(z"RNG.test_integers_broadcast_errorsN)Jrj   
__module____qualname__classmethodr\   rY   rf   rg   rn   rq   rz   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   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   rO   ^   s   


		




&!rO   c                   @   s    e Zd Zedd Zdd ZdS )TestMT19937c                 C   sJ   t | _d | _dg| _t| j| j | _| jjj| _d| _| 	  t
| _d S )Ni! ! r   )r   rS   rT   rU   r   rL   rV   rW   rX   rY   r   rc   rZ   r   r   r   r\     s    zTestMT19937.setup_classc                 C   sh   t j }|d | }|| jj_| jjj}t|d |d d k	  t|d |d d k d S )Nc   r$   rV   r=   r'   pos)
r   rD   ZRandomStaterF   Z	get_staterL   rS   rV   r   rw   )re   ZnprgrV   r<   r   r   r   test_numpy_state  s    



zTestMT19937.test_numpy_stateN)rj   r  r  r	  r\   r  r   r   r   r   r
    s   

r
  c                   @   s   e Zd Zedd ZdS )
TestPhiloxc                 C   sD   t | _d| _dg| _t| j| j | _| jjj| _d| _| 	  d S Nl         rP   rQ   )
r
   rS   rT   rU   r   rL   rV   rW   rX   rY   rZ   r   r   r   r\     s    zTestPhilox.setup_classNrj   r  r  r	  r\   r   r   r   r   r    s   r  c                   @   s   e Zd Zedd ZdS )	TestSFC64c                 C   sD   t | _d | _dg| _t| j| j | _| jjj| _d| _| 	  d S )NrP      )
r   rS   rT   rU   r   rL   rV   rW   rX   rY   rZ   r   r   r   r\     s    zTestSFC64.setup_classNr  r   r   r   r   r    s   r  c                   @   s   e Zd Zedd ZdS )	TestPCG64c                 C   sD   t | _d| _dg| _t| j| j | _| jjj| _d| _| 	  d S r  rR   rZ   r   r   r   r\     s    zTestPCG64.setup_classNr  r   r   r   r   r    s   r  c                   @   s   e Zd Zedd ZdS )TestPCG64DXSMc                 C   sD   t | _d| _dg| _t| j| j | _| jjj| _d| _| 	  d S r  )
r	   rS   rT   rU   r   rL   rV   rW   rX   rY   rZ   r   r   r   r\   
  s    zTestPCG64DXSM.setup_classNr  r   r   r   r   r  	  s   r  c                   @   s(   e Zd Zedd Zdd Zdd ZdS )TestDefaultRNGc                 C   sB   t | _d| _dg| _tjj| j | _| jjj| _	d| _
|   d S r  )r   rS   rT   rU   r   rD   default_rngrL   rV   rW   rX   rY   rZ   r   r   r   r\     s    zTestDefaultRNG.setup_classc                 C   s   t t| jjt d S r   )r   r4   rL   rS   r   rd   r   r   r   test_default_is_pcg64"  s    z$TestDefaultRNG.test_default_is_pcg64c              	   C   s   t j  t jd  t jd t jd t jd t jddg tt t jd W 5 Q R X tt t jddg W 5 Q R X d S )NrP   r   l	   -tE+I6%Yl  l	   )	~eR :TI*6 rt   )r   rD   r  rk   r   r   rd   r   r   r   r   '  s    
zTestDefaultRNG.test_seedN)rj   r  r  r	  r\   r  r   r   r   r   r   r    s   
r  )F)N)'r   	functoolsr   Znumpyr   rk   Znumpy.testingr   r   r   Znumpy.randomr   r   r   r	   r
   r   Zfixturer   Zint8Zint16Zint32Zint64Zuint8Zuint16r   rI   r   r    r3   r6   rN   rO   r
  r  r  r  r  r  r   r   r   r   <module>   s:       

!
    u