o
    *ήc                     @   s   d dl mZ d dlmZ d dlm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mZ dd Zdd	 Zd
d Zdd Zdd ZdS )    )Rational)S)import_module)	BinomialsampleDieFiniteRVDiscreteUniform	BernoulliBetaBinomialHypergeometric
Rademacher)skipraisesc                  C   s8   t dd} td}|std t| | dkdksJ d S )NX   scipyz#Scipy is not installed. Abort tests   )r   r   r   r   )r   r    r   W/tmp/pip-target-vg8gfxp4/lib/python/sympy/stats/sampling/tests/test_sample_finite_rv.pytest_given_sample   s
   
r   c                  C   s   t dddtddddg} d}td}|std	 n!| D ]}t||dd
}|D ]}||jjjv s2J q'qtt	dd  tt	dd  d S )NBr   皙?H         numpyz6Numpy is not installed. Abort tests for _sample_numpy.sizelibraryc                   S      t tdddS )NDr   r    r   r   r   r   r   r   <lambda>       z#test_sample_numpy.<locals>.<lambda>c                   S   s   t djjddS )Nr"   
tensorflowr#   )r   pspacer   r   r   r   r   r%       s    )
r   r   r   r   r   r(   domainsetr   NotImplementedError)distribs_numpyr   r   r   sampssamr   r   r   test_sample_numpy   s$   

r/   c            	      C   s   t dtjtddtdddtdttdtdtdd	t	d
ddt
ddddtddddtdg} d}td}|sBtd d S | D ]7}t||d}t|dd}|D ]}||jjjv s_J qTtdD ]}tdD ]}|| | |jjjv syJ qjqdqDd S )NFr      r   r   r   Yr   r"   Beg333333?Bir   Bbr   r   Rr   r   z3Scipy not installed. Abort tests for _sample_scipy.)r   )r   r   )r   r   Halfr   r	   listranger   r
   r   r   r   r   r   r   r   r(   r)   r*   )	distribs_scipyr   r   r   r-   samps2r.   ijr   r   r   test_sample_scipy#   s0   
r?   c                  C   sx   t ddtdddg} d}td}|std d S | D ]}t||dd	}|D ]}||jjjv s1J q&qtt	d
d  d S )Nr   g?Nr   r   r   pymcz4PyMC is not installed. Abort tests for _sample_pymc.r   c                   S   r!   )Nr"   rA   r#   r$   r   r   r   r   r%   M   r&   z"test_sample_pymc.<locals>.<lambda>)
r
   r   r   r   r   r(   r)   r*   r   r+   )distribs_pymcr   rA   r   r-   r.   r   r   r   test_sample_pymc>   s   
rC   c               	   C   s   t dtjtddtddd} d}g d}|D ];}z0t|}|rIt| ||dd}t| ||dd}t| ||dd}t||ksAJ t||krIJ W q tyS   Y qw d S )	Nr0   r   r1   r2   
   )r   r   rA   r   )r   r    seed)r   r   r8   r   r   r   allr+   )r0   r   	librarieslibimported_libs0s1s2r   r   r   test_sample_seedP   s"    rM   N)sympy.core.numbersr   sympy.core.singletonr   sympy.externalr   sympy.statsr   r   r   r   r	   r
   r   r   r   sympy.testing.pytestr   r   r   r/   r?   rC   rM   r   r   r   r   <module>   s    ,