3
Od                 @   sV   d dl Z d dlZd dlmZ d dlmZ d dljZG dd de	Z
G dd de	ZdS )    N)assert_allclose)assert_equalc               @   sf   e Zd Zdd Zdd Zejjdddej	gejjddd	ej	gejjd
ddej	gdd Z
dS )
TestHyperuc             C   sT   t jdddddgdd	dddgt jd
dd\}}}t jt jtj|||sPtd S )N   g      ?r   d   
   g      r   g      ir   )npZmeshgridZlinspaceallisnanschyperuAssertionError)selfabx r   [/var/www/html/virt/lib64/python3.6/site-packages/scipy/special/tests/test_hypergeometric.pytest_negative_x   s
    zTestHyperu.test_negative_xc             C   s   t jddddkstd S )Nr   r   g      ?)r   r   r   )r   r   r   r   test_special_cases   s    zTestHyperu.test_special_casesr   g      ?r   r      r   g      ?   c             C   s2   t jtj|||t jt j|||gks.td S )N)r	   r   r   r   anyr   )r   r   r   r   r   r   r   test_nan_inputs   s    zTestHyperu.test_nan_inputsN)__name__
__module____qualname__r   r   pytestmarkparametrizer	   nanr   r   r   r   r   r   	   s
   r   c               @   s   e Z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	ejjdd3d4d5d6d9gdd Z
ejjdd:d<d=d?d@dBgdd ZejjddEdGdIdLdOgd%d& Zd'd( Zd)d* Zejjd+dRdUdXgd/d0 Zd1S )Y
TestHyp1f1za, b, xr   c             C   s   t jtj|||std S )N)r	   r   r   hyp1f1r   )r   r   r   r   r   r   r   r      s    zTestHyp1f1.test_nan_inputsc             C   s$   t tjddddd	d
gdtj d S )Nr   r   r   r      g      ?r   )r   r   r#   r	   Zinfty)r   r   r   r   
test_poles&   s    zTestHyp1f1.test_polesza, b, x, result      ?)a?r   *@8<S?r   gO§?c             C   s   t tj||||ddd d S )Nr   gV瞯<)atolrtol)r   r   r#   )r   r   r   r   resultr   r   r   r   )   s    
zTestHyp1f1.test_special_cases)\(?O<?Q?r   {Gz?z.A%{@G; ?      ?QM@ݕtu@cmB?c             C   s   t tj||||ddd d S )Nr   gV瞯<)r-   r.   )r   r   r#   )r   r   r   r   r/   r   r   r   test_geometric_convergence5   s    z%TestHyp1f1.test_geometric_convergenceӐs?   *A ?2   gIp?3   gb#5f?c             C   s   t tj||||ddd d S )Nr   g&.>)r-   r.   )r   r   r#   )r   r   r   r   r/   r   r   r   test_a_negative_integerE   s    z"TestHyp1f1.test_a_negative_integerc             C   s"   d}t tjddd|ddd d S )	Ng_?g{Gz?   r$   r   gV瞯<)r-   r.   r'   )r   r   r#   )r   desiredr   r   r   test_gh_3492R   s    zTestHyp1f1.test_gh_3492c             C   s"   d}t tjddd|ddd d S )Ng 
4?r      g{Gz?r   gV瞯<)r-   r.   )r   r   r#   )r   rB   r   r   r   test_gh_3593[   s    zTestHyp1f1.test_gh_3593za, b, x, desiredr$         @      @c             C   s   t j||||kstd S )N)r   r#   r   )r   r   r   r   rB   r   r   r   test_gh_11099d   s    zTestHyp1f1.test_gh_11099Nr   )r   r   r)   r)   )r   r   r)   r*   )r   r   r)   r+   )r   r   r)   r,   O§ؿ)rI   r   r)   rJ   )r   r   r0   r1   r   )r   r   r0   r2   )r   r   r3   r4   )rK   r   r3   r5   )r6   r   r7   r8         )rL   r   r7   r9   r         )r   r   r6   rM   )rN   r   r6   r;   )rO   r   r6   r=   Ipп)rP   r   r6   rQ   b#5fɿ)rR   r   r6   rS   r   r%   )r   r%   r   r   r   r'   )r   r'   r   rF   r%   r%   )r%   r%   r   rG   )r   r   r   r   r   r    r	   r!   r   r(   r   r:   r@   rC   rE   rH   r   r   r   r   r"      s<   


		r"   )r   Znumpyr	   Znumpy.testingr   r   Zscipy.specialZspecialr   objectr   r"   r   r   r   r   <module>   s   
