3
O้dท  ใ               @   sb   d dl Zd dljZd dlZd dlmZmZm	Z	 G dd de
ZG dd de
ZG dd de
ZdS )	้    N)ฺassert_allcloseฺassert_array_equalฺsuppress_warningsc               @   s`   e Zd Zdd Zdd Zdd Zejjde	j
dd	fd
e	j
d	fd
de	j
fgdd Zdd ZdS )ฺTestBdtrc             C   s   t jddd}t|d d S )Nr   ้   g      เ?)ฺscฺbdtrr   )ฺselfฺvalฉ r   ๚Q/var/www/html/virt/lib64/python3.6/site-packages/scipy/special/tests/test_bdtr.pyฺtest   s    zTestBdtr.testc             C   s(   t jdddgdd}t|dddg d S )Nr   r   ้   g      เ?g      ะ?g      ่?g      ๐?)r   r   r   )r	   r
   r   r   r   ฺtest_sum_is_one   s    zTestBdtr.test_sum_is_onec             C   s6   t jdddgdd}t jdddgdd}t|| d S )Ngน?g๑?gอฬฬฬฬฬ @r   g      เ?r   r   )r   r   r   )r	   ฺ
double_valฺint_valr   r   r   ฺtest_rounding   s    zTestBdtr.test_roundingzk, n, pr   g      เ?g      ๐?c             C   s<   t  }|jt tj|||}W d Q R X tj|s8td S )N)r   ฺfilterฺDeprecationWarningr   r   ฺnpฺisnanฺAssertionError)r	   ฺkฺnฺpฺsupr
   r   r   r   ฺtest_inf   s    
zTestBdtr.test_infc             C   s    t jddd}tj|std S )Ng๑?r   g      เ?g๑ฟ)r   r   r   r   r   )r	   r
   r   r   r   ฺtest_domain    s    zTestBdtr.test_domainN)ฺ__name__ฺ
__module__ฺ__qualname__r   r   r   ฺpytestฺmarkฺparametrizer   ฺinfr   r   r   r   r   r   r      s   

r   c               @   sh   e Zd Zdd Zdd Zdd Zejjde	j
dd	fd
e	j
d	fd
de	j
fgdd Zdd Zdd ZdS )ฺ	TestBdtrcc             C   s   t jddd}t|d d S )Nr   r   g      เ?)r   ฺbdtrcr   )r	   r
   r   r   r   ฺ
test_value&   s    zTestBdtrc.test_valuec             C   s(   t jdddgdd}t|dddg d S )Nr   r   r   g      เ?g      ่?g      ะ?g        )r   r&   r   )r	   r
   r   r   r   r   *   s    zTestBdtrc.test_sum_is_onec             C   s6   t jdddgdd}t jdddgdd}t|| d S )Ngน?g๑?gอฬฬฬฬฬ @r   g      เ?r   r   )r   r&   r   )r	   r   r   r   r   r   r   .   s    zTestBdtrc.test_roundingzk, n, pr   g      เ?g      ๐?c             C   s<   t  }|jt tj|||}W d Q R X tj|s8td S )N)r   r   r   r   r&   r   r   r   )r	   r   r   r   r   r
   r   r   r   r   3   s    
zTestBdtrc.test_infc             C   s8   t jddd}t jddd}tj|s*tt|d d S )Ng๑?r   g      เ?gอฬฬฬฬฬ @g      ๐?g๑ฟ)r   r&   r   r   r   r   )r	   r
   Zval2r   r   r   r   >   s    zTestBdtrc.test_domainc             C   sD   t jdddgdd}t jdddgdd}|| }t|dddg d S )Nr   r   r   g      เ?g      ๐?)r   r   r&   r   )r	   ฺ	bdtr_valsZ
bdtrc_valsฺvalsr   r   r   ฺtest_bdtr_bdtrc_sum_to_oneD   s    z$TestBdtrc.test_bdtr_bdtrc_sum_to_oneN)r   r   r    r'   r   r   r!   r"   r#   r   r$   r   r   r*   r   r   r   r   r%   %   s   

r%   c               @   sz   e Zd Zdd Zdd Zdd Zejjde	j
dd	fd
e	j
d	fd
de	j
fgdd Zejjdddgdd Zdd ZdS )ฺ	TestBdtric             C   s   t jddd}t|d d S )Nr   r   g      เ?)r   ฺbdtrir   )r	   r
   r   r   r   r'   L   s    zTestBdtri.test_valuec             C   sF   t jddgdd}tjddtjd  dtjd g}t|| d S )Nr   r   r   g      เ?)r   r,   r   Zasarrayฺsqrtr   )r	   r
   ฺactualr   r   r   r   P   s    &zTestBdtri.test_sum_is_onec             C   s2   t jddgdd}t jddgdd}t|| d S )Ngน?g๑?r   g      เ?r   r   )r   r,   r   )r	   r   r   r   r   r   r   U   s    zTestBdtri.test_roundingzk, n, pr   ็      เ?g      ๐?c             C   s<   t  }|jt tj|||}W d Q R X tj|s8td S )N)r   r   r   r   r,   r   r   r   )r	   r   r   r   r   r
   r   r   r   r   Z   s    
zTestBdtri.test_infg๑?r   ็อฬฬฬฬฬ @c             C   s    t j|||}tj|std S )N)r   r,   r   r   r   )r	   r   r   r   r
   r   r   r   r   e   s    zTestBdtri.test_domainc             C   s>   t jdddgdd}t jdddgd|}t|ddtjg d S )Nr   r   r   g      เ?)r   r   r,   r   r   ฺnan)r	   r(   Zroundtrip_valsr   r   r   ฺtest_bdtr_bdtri_roundtripm   s    z#TestBdtri.test_bdtr_bdtri_roundtripN็๑ฟ)r3   r   r/   )r0   r   r/   )r   r   r    r'   r   r   r!   r"   r#   r   r$   r   r   r2   r   r   r   r   r+   K   s   

r+   )Znumpyr   Zscipy.specialZspecialr   r!   Znumpy.testingr   r   r   ฺobjectr   r%   r+   r   r   r   r   ฺ<module>   s   
&