U
    HvfÎ  ã                   @   sZ   d dl Zd dlmZmZmZ d dlmZ d dl	m
Z
mZ G dd„ dƒZdd„ Zd	d
„ ZdS )é    N)Úassert_array_equalÚassert_array_almost_equal_nulpÚassert_almost_equal)Úraises)ÚgammalnÚmultigammalnc                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚTestMultiGammaLnc                 C   s4   t j d¡ t  t j ¡ ¡}tt|dƒt|ƒƒ d S )NéÒ  é   )ÚnpÚrandomÚseedÚabsÚrandnr   r   r   )ÚselfÚa© r   úH/tmp/pip-unpacked-wheel-96ln3f52/scipy/special/tests/test_spfun_stats.pyÚtest1   s    zTestMultiGammaLn.test1c                 C   sL   t  ddg¡}t|dƒ}t  t  t j¡¡t|ƒ t|d ƒ }t||ƒ d S )Ng      @ç      $@é   ç      à?)r   Úarrayr   ÚlogÚsqrtÚpir   r   )r   r   ÚresultÚexpectedr   r   r   Útest2   s    
&zTestMultiGammaLn.test2c                 C   s   t ttddƒ d S )Nr   g333333ó?)Úassert_raisesÚ
ValueErrorr   )r   r   r   r   Útest_bararg   s    zTestMultiGammaLn.test_barargN)Ú__name__Ú
__module__Ú__qualname__r   r   r!   r   r   r   r   r   	   s   r   c                 C   sT   t | |ƒ}t| j|jƒ |  ¡ }| ¡ }t| jƒD ]}t|| t || |ƒƒ q2d S )N)r   r   ÚshapeZravelÚrangeÚsizer   )r   Údr   Za1Zresult1Úir   r   r   Ú _check_multigammaln_array_result   s    
r*   c                  C   s’   t j d¡ t  t j dd¡¡d dft  t j dd¡¡d dft  dd¡ ddd¡dft  dg¡dft  d¡dfg} | D ]\}}t	||ƒ qzd S )	Nr	   é   r   é   r
   r   g      2@g       @)
r   r   r   r   r   ZarangeZreshaper   Zfloat64r*   )Zcasesr   r(   r   r   r   Útest_multigammaln_array_arg*   s    ú	r-   )Znumpyr   Znumpy.testingr   r   r   Zpytestr   r   Zscipy.specialr   r   r   r*   r-   r   r   r   r   Ú<module>   s   