
    (ph                        S SK JrJrJrJrJr  SSKJr  S SKr	S r
1 SkrS rS r  SSS	.S
 jjrSSS	.S jjr  SSS	.S jjr  SSS	.S jjr  SSS	.S jjr  SSS	.S jjr  SSS	.S jjr  SSS	.S jjr  SSS	.S jjr  SSS	.S jjr  SSS	.S jjr  SSS	.S jjr  SSS	.S jjr  SSS	.S jjrS r  SSS	.S jjr  SSS	.S jjr  SSS	.S jjr  SSS	.S jjr g)     )array_namespaceis_numpyxp_unsupported_param_msg
is_complexxp_float_to_complex   )
_pocketfftNc                 l    U b  [        [        S5      5      eUb  [        [        S5      5      eUc  SnU$ )Nworkersplanbackward)
ValueErrorr   )r   r   norms      K/var/www/html/venv/lib/python3.13/site-packages/scipy/fft/_basic_backend.py_validate_fft_argsr      s?    1)<==1&9::|K    >   fftfftnhfftifftifftnirfftirfftnc	           
         [        U5      n	[        U	5      (       a  [        R                  " U5      nU" X#XEXgUS9$ [	        XxU5      n[        U	S5      (       a1  [        U	R                  U 5      n
U [        ;   a
   U
" X#XES9nU$ U
" X#XES9$ [        R                  " U5      nU" X#XES9nU	R                  U5      $ !   [        X)5      nU
" X#XES9n U$ = f)Nnaxisr   overwrite_xr   r   r   )r   r   r   
r   r   npasarrayr   hasattrgetattrr   complex_funcsr   )func_strpocketfft_funcxr   r   r   r   r   r   xpxp_funcresys                r   _execute_1Dr,          		B||JJqMa4*5TS 	S gT2Dr5"&&(+}$<a4; JqD44


1AqD4A::a=<'.a4;J   9B7 7Cc	           
         [        U5      n	[        U	5      (       a  [        R                  " U5      nU" X#XEXgUS9$ [	        XxU5      n[        U	S5      (       a1  [        U	R                  U 5      n
U [        ;   a
   U
" X#XES9nU$ U
" X#XES9$ [        R                  " U5      nU" X#XES9nU	R                  U5      $ !   [        X)5      nU
" X#XES9n U$ = f)Nsaxesr   r   r   r   r   )r1   r2   r   r   )r%   r&   r'   r1   r2   r   r   r   r   r(   r)   r*   r+   s                r   _execute_nDr3   4   r-   r.   r   c                :    [        S[        R                  XX#XEUS9	$ )Nr   r   )r,   r	   r   r'   r   r   r   r   r   r   s          r   r   r   M   s"    ujnna4#.dL Lr   c                :    [        S[        R                  XX#XEUS9	$ )Nr   r   )r,   r	   r   r6   s          r   r   r   S   "    vzT#.dL Lr   c                :    [        S[        R                  XX#XEUS9	$ )Nrfftr   )r,   r	   r:   r6   s          r   r:   r:   Y   r8   r   c                :    [        S[        R                  XX#XEUS9	$ )Nr   r   )r,   r	   r   r6   s          r   r   r   _   $    w
 0 0!t#.dL Lr   c                :    [        S[        R                  XX#XEUS9	$ )Nr   r   )r,   r	   r   r6   s          r   r   r   e   r8   r   c                :    [        S[        R                  XX#XEUS9	$ )Nihfftr   )r,   r	   r?   r6   s          r   r?   r?   k   r<   r   c                :    [        S[        R                  XX#XEUS9	$ )Nr   r0   )r3   r	   r   r'   r1   r2   r   r   r   r   s          r   r   r   q   r8   r   c                :    [        S[        R                  XX#XEUS9	$ )Nr   r0   )r3   r	   r   rA   s          r   r   r   x   r<   r   c          
          [        XX#XEUS9$ Nr4   )r   rA   s          r   fft2rE   ~   s    d+TBBr   c          
          [        XX#XEUS9$ rD   )r   rA   s          r   ifft2rG          t;dCCr   c                :    [        S[        R                  XX#XEUS9	$ )Nrfftnr0   )r3   r	   rJ   rA   s          r   rJ   rJ      r<   r   c          
          [        XX#XEUS9$ rD   )rJ   rA   s          r   rfft2rL      rH   r   c                :    [        S[        R                  XX#XEUS9	$ )Nr   r0   )r3   r	   r   rA   s          r   r   r      s$    x!2!2A#.dL Lr   c          
          [        XX#XEUS9$ rD   )r   rA   s          r   irfft2rO          !KtDDr   c                 X    U S;   a  Sn U $ U S:X  a  Sn U $ U S:w  a  [        SU  S35      eU $ )N)Nr   forwardr   orthozInvalid norm value z.; should be "backward", "ortho", or "forward".)r   )r   s    r   _swap_directionrT      sY    !! K 
	 K 
.tf 52 2 3 	3Kr   c          
          [        U 5      n[        U5      (       a-  [        R                  " U 5      n [        R
                  " XX#XEUS9$ [        X5      (       a  UR                  U 5      n [        XU[        U5      XEUS9$ rD   )
r   r   r    r!   r	   hfftnr   conjr   rT   r'   r1   r2   r   r   r   r   r(   s           r   rV   rV      sn    		B||JJqMd+TRR!GGAJ!od3T3 3r   c          
          [        XX#XEUS9$ rD   )rV   rA   s          r   hfft2rZ      rH   r   c                    [        U 5      n[        U5      (       a-  [        R                  " U 5      n [        R
                  " XX#XEUS9$ UR                  [        XU[        U5      XEUS95      $ rD   )	r   r   r    r!   r	   ihfftnrW   rJ   rT   rX   s           r   r\   r\      sa    		B||JJqM  t;dSS775t_T%:$D: ; ;r   c          
          [        XX#XEUS9$ rD   )r\   rA   s          r   ihfft2r^      rP   r   )NNFN)NNNFN)N)r_   NFN)!scipy._lib._array_apir   r   r   r   r    r	   numpyr    r   r$   r,   r3   r   r   r:   r   r   r?   r   r   rE   rG   rJ   rL   r   rO   rT   rV   rZ   r\   r^    r   r   <module>re      s      L22 "&#'L15LLL #'$(L26L $(%)L37L #'$(L26L $(%)L37L %)$(L26L &*%)L37L )-$(C26C
 *.%)D37D
 &*%)L37L *.$(D26D
 '+&*L48L +/&*E48E
 &*%)	337	3 *.%)D37D
 '+&*;48; +/&*E48Er   