o
    	ñhÍ  ã                   @   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   úX/var/www/vscode/kcb/lib/python3.10/site-packages/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 || |ƒƒ qd S )N)r   r   ÚshapeÚravelÚrangeÚsizer   )r   Údr   Úa1Ú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	||ƒ q=d S )	Nr	   é   r   é   r
   r   g      2@g       @)
r   r   r   r   r   ÚarangeÚreshaper   Úfloat64r-   )Úcasesr   r)   r   r   r   Útest_multigammaln_array_arg*   s   ú	ÿr4   )Únumpyr   Únumpy.testingr   r   r   Úpytestr   r   Úscipy.specialr   r   r   r-   r4   r   r   r   r   Ú<module>   s    