a
    ߙfb                     @   sf   d dl Z d dlZd dlmZmZ d dlmZ d dlm	Z	 dd Z
e jddd	 d
d	 gdd ZdS )    N)convolveconvolve_fft)Gaussian2DKernel)NDDatac                  C   s   t d} d| d< t| }td}t||}t jd dd df \}}|d t d|d d |d d    }t jj||dd	 t	||}t jj||dd	 d S )
N   r         r
   r   g      r
      gư>)Zatol)
npzerosr   r   r   ZmgridZexpZtestingZassert_allcloser   )arrZnddtest_kernelresultxyZexpectedZresultf r   Mlib/python3.9/site-packages/astropy/convolution/tests/test_convolve_nddata.pytest_basic_nddata   s    

*
r   convfuncc                  G   s   t | dddS NZinterpolateT)Znan_treatmentZnormalize_kernel)r   argsr   r   r   <lambda>       r   c                  G   s   t | dddS r   )r   r   r   r   r   r      r   c                 C   s   t d}d |d<  |d<  |d< |d< d|d< t|}|d	k }d
|d< t||d}| }t j|d< t|}td}| ||}| ||}	| ||}
t |	|
sJ t ||
rJ t ||	rJ t t |j	t t |j	ksJ d S )Nr   g?)   r
   )   r
   )r
   r   )r
   r   g      ?r	   r   T)maskr   )
r   r   r   copynanr   ZallclosesumZisnandata)r   r   Zndd_baser   Zndd_maskZarrnanZndd_nanr   Zresult_baseZ
result_nanZresult_maskr   r   r   test_masked_nddata   s$    
 



r#   )ZpytestZnumpyr   Zastropy.convolution.convolver   r   Zastropy.convolution.kernelsr   Zastropy.nddatar   r   ZmarkZparametrizer#   r   r   r   r   <module>   s   