U
    »mœdÈ  ã                   @   sl   d dl Zd dlmZmZ d dlmZ d dlmZm	Z	m
Z
 dd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ ZdS )é    N)Úassert_allcloseÚassert_)ÚFuncData)ÚgammaÚgammalnÚloggammac                  C   sv   t  ddddddg¡} |  ¡ }t  | |¡\} }| d|   ¡ }t  |t|ƒf¡j}dd	„ }t||d
dddd� 	¡  d S )Nç     àXÀç      #Àç      à¿ç      à?ç      #@ç     àX@ù              ð?c                 S   s   t  t| ƒ¡S )N)ÚnpÚexpr   ©Úz© r   úZ/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/scipy/special/tests/test_loggamma.pyÚf   s    ztest_identities1.<locals>.fr   é   ç›+¡†›„=©ZrtolZatol)
r   ÚarrayÚcopyÚmeshgridÚflattenÚvstackr   ÚTr   Úcheck©ÚxÚyr   Údatasetr   r   r   r   Útest_identities1   s    r$   c                  C   s€   t  ddddddg¡} |  ¡ }t  | |¡\} }| d|   ¡ }t  |t  |¡t|ƒ f¡j}dd	„ }t	||d
dddd� 
¡  d S )Nr   r	   r
   r   r   r   r   c                 S   s   t | d ƒS )Nr   )r   r   r   r   r   r      s    ztest_identities2.<locals>.fr   r   r   r   )r   r   r   r   r   r   Úlogr   r   r   r   r    r   r   r   Útest_identities2   s    r&   c                  C   s\   t jt  dd¡ t  dd¡f d } t  | t| ƒf¡j}dd„ }t||ddddd	� ¡  d S )
Né
   éöÿÿÿr   c                 S   s   t j| dd�} t| ƒjS )NZ
complex128)Zdtype)r   r   r   Úrealr   r   r   r   r   +   s    z)test_complex_dispatch_realpart.<locals>.fr   r   r   r   )r   Zr_Úlogspacer   r   r   r   r   )r!   r#   r   r   r   r   Útest_complex_dispatch_realpart$   s    $r+   c                  C   sd   t  dd¡d } t  | t| ƒf¡j}tt|ddddd� ¡  ttdƒt j	kƒ tt  
tdƒ¡ƒ d S )	Nr(   r'   r   r   r   r   r   éÿÿÿÿ)r   r*   r   r   r   r   r   r   r   ÚinfÚisnan)r!   r#   r   r   r   Útest_real_dispatch2   s
    r/   c                  C   s4   t tddƒƒ} t tddƒƒ}t| | ¡ ddd� d S )Ng333333Àç        ç       €çVçž¯Ò<r   r   )r   Úcomplexr   Ú	conjugate)r   Úzbarr   r   r   Útest_gh_6536;   s    r6   c                  C   sP   t  ddd¡ } t  dd„ | D ƒ¡}t  dd„ | D ƒ¡}t|| ¡ ddd	� d S )
Ni,  iâÿÿÿéd   c                 S   s   g | ]}t |d ƒ‘qS )r0   ©r3   ©Ú.0Zx0r   r   r   Ú
<listcomp>D   s     z#test_branch_cut.<locals>.<listcomp>c                 S   s   g | ]}t |d ƒ‘qS )r1   r8   r9   r   r   r   r;   E   s     r2   r   r   )r   r*   Zasarrayr   r4   )r!   r   r5   r   r   r   Útest_branch_cutA   s    r<   )Únumpyr   Znumpy.testingr   r   Zscipy.special._testutilsr   Zscipy.specialr   r   r   r$   r&   r+   r/   r6   r<   r   r   r   r   Ú<module>   s   	