o
    Eb                     @   s  d dl Zd dlZd dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
 d dlZdZejjejjejjejjejjejjejjejjejjejjejjejjejjejejejjejejejej ej!ej"ej#ej$ej%ej&fZ'ejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejj ejj!ejj"ejj#ejj$ejj%ejj&fZ(ejejejejejejejejejejejejejejejejejejejej ej!ej"ej#ej$ej%ej&fZ)ej*+de,e(e'e)dd	 Z-ejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjfZ.ejejejejejejejejejejejejejejejejejejfZ/ej*+d
e,e.e/dd Z0dS )    N)set_backend)
_pocketfft)mock_backend)assert_allcloseassert_equal)fftfft2fftnifftifft2ifftnrfftrfft2rfftnirfftirfft2irfftndctidctdctnidctndstidstdstnidstnzfunc, np_func, mockc                 C   s   t dd}||}t| ||dd ttdd d|_| |}t||j t|jd W d    n1 s9w   Y  t| ||dd d S )	N   
      g|=)ZatolTZonlyr      )	nparangereshaper   r   r   number_callsr   return_value)funcZnp_funcmockxZanswery r*   >/usr/lib/python3/dist-packages/scipy/fft/tests/test_backend.pytest_backend_call-   s   r,   z
func, mockc                 C   s   t dd}tjtdd | |dd W d    n1 s w   Y  ttdd( d	|_| |dd}t	||j
 t	|jd
 t	|jd
 d d W d    d S 1 sVw   Y  d S )Nr   r   zprecomputed plan)matchZfoo)planTr   r   r    r.   )r!   r"   r#   pytestZraisesNotImplementedErrorr   r   r$   r   r%   Z	last_args)r&   r'   r(   r)   r*   r*   r+   test_backend_planK   s   "r1   )1Znumpyr!   Z	scipy.fftZscipyr   r   Zscipy.fft.testsr   Znumpy.testingr   r   r/   fnamesr   r   r	   r
   r   r   r   r   r   r   r   r   ZhfftZhfft2ZhfftnZihfftZihfft2Zihfftnr   r   r   r   r   r   r   r   Znp_funcsZfuncsZmocksZmarkZparametrizezipr,   Z
plan_funcsZ
plan_mocksr1   r*   r*   r*   r+   <module>   sj    		

