
    (ph              !       F   S SK Jr  S SKrS SKrS SKJrJrJr  S SK	J
r
  S SKJrJr  S SKrSr\R                   R                   \R                   R"                  \R                   R$                  \R                   R&                  \R                   R(                  \R                   R*                  \R                   R,                  \R                   R.                  \R                   R0                  \R                   R2                  \R                   R4                  \R                   R6                  \R                   R8                  \R:                  \R<                  \R                   R>                  \R@                  \RB                  \RD                  \RF                  \RH                  \RJ                  \RL                  \RN                  \RP                  \RR                  \" \RT                  SSS	9\" \RV                  SSS	94r,\R                   R                   \R                   R"                  \R                   R$                  \R                   R&                  \R                   R(                  \R                   R*                  \R                   R,                  \R                   R.                  \R                   R0                  \R                   R2                  \R                   R4                  \R                   R6                  \R                   R8                  \R                   R:                  \R                   R<                  \R                   R>                  \R                   R@                  \R                   RB                  \R                   RD                  \R                   RF                  \R                   RH                  \R                   RJ                  \R                   RL                  \R                   RN                  \R                   RP                  \R                   RR                  \" \R                   RT                  SSS	9\" \R                   RV                  SSS	94r-\
R                   \
R"                  \
R$                  \
R&                  \
R(                  \
R*                  \
R,                  \
R.                  \
R0                  \
R2                  \
R4                  \
R6                  \
R8                  \
R:                  \
R<                  \
R>                  \
R@                  \
RB                  \
RD                  \
RF                  \
RH                  \
RJ                  \
RL                  \
RN                  \
RP                  \
RR                  \
RT                  \
RV                  4r.\R^                  Ra                  S
\1" \-\,\.5      5      S 5       r2\R                   R                   \R                   R"                  \R                   R$                  \R                   R&                  \R                   R(                  \R                   R*                  \R                   R,                  \R                   R.                  \R                   R0                  \R                   R2                  \R                   R4                  \R                   R6                  \R                   R8                  \R                   R:                  \R                   R<                  \R                   R>                  \R                   R@                  \R                   RB                  4r3\
R                   \
R"                  \
R$                  \
R&                  \
R(                  \
R*                  \
R,                  \
R.                  \
R0                  \
R2                  \
R4                  \
R6                  \
R8                  \
R:                  \
R<                  \
R>                  \
R@                  \
RB                  4r4\R^                  Ra                  S\1" \3\45      5      S 5       r5g)    )partialN)_fftlog
_pocketfftset_backend)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idstnfhtifht   g      ?)dlnmuzfunc, np_func, mockc                    [         R                  " S5      R                  S5      nU" UR                  [         R                  5      5      n[        U " U5      USS9  [        [        SS9   SUR                  l	        U " U5      n[        XRR                  5        [        UR                  R                  S5        S S S 5        [        U " U5      USS9  g ! , (       d  f       N = f)	N   
   r    g|=)atolTonlyr      )nparangereshapeastypefloat64r   r   r   number_callscr	   return_value)funcnp_funcmockxanswerys         O/var/www/html/venv/lib/python3.13/site-packages/scipy/fft/tests/test_backend.pytest_backend_callr:   8   s    
		"f%AQXXbjj)*FDGV%0	\	-GQ))*T&&((!,	 
. DGV%0 
.	-s   *AC
C!z
func, mockc                    [         R                  " S5      R                  S5      n[        R                  " [
        SS9   U " USS9  S S S 5        [        [        SS9   S	UR                  l	        U " USS9n[        X1R                  5        [        UR                  R                  S
5        [        UR                  R                  S
   S   S5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr$   r%   zprecomputed plan)matchfoo)planTr(   r   r*   r>   )r+   r,   r-   pytestraisesNotImplementedErrorr   r   r0   r1   r	   r2   	last_argsl)r3   r5   r6   r8   s       r9   test_backend_planrD   V   s    
		"g&A	*2D	EQU 
F 
\	-Q))*T&&((!,T^^%%a(0%8 
.	- 
F	E 
.	-s   CA4C+
C(+
C9)6	functoolsr   numpyr+   	scipy.fftscipyr   r   r   scipy.fft.testsr   numpy.testingr   r	   r?   fnamesr
   r   r   r   r   r   r   r   r   r   r   r   hffthfft2hfftnihfftihfft2ihfftnr   r   r   r   r   r   r   r   r   r   np_funcsfuncsmocksmarkparametrizezipr:   
plan_funcs
plan_mocksrD        r9   <module>r\      s7      6 6 ( 7 
 FFJJRVV[[FFKKrvv||FFKKrvv||FFLL"&&--FFKK)):+;+;FFLL*++Z->->NNJOOZ__j>N>NNNJOOZ__j>N>NGKKQ3/GLLaC0
2 
					%))//	%))//	%))**EII,<,<	%))//	%))**EII,<,<															A#	.	Q3	/
	1 
		<,,l.?.?			L..0B0B			L..0B0B			\00,2E2E			L..0B0B			\00,2E2E			<,,			L..			<,,			L..			<,,
	. .E8U0KL1 M1 iimmUYY^^UYY^^iinneiioouyyiinneiioouyyiioouyy//1A1Aiinneiioouyyiioouyy//1A1AC
  1 1<3D3D!3!3\5G5G!3!3\5G5G  ,"5"5|7J7J!3!3\5G5G  ,"5"5|7J7JL
 s:z'BC9 D9r[   