
    _Mh                        d dl mZmZmZmZmZ ddlmZ d dlZ	d Z
h dZd Zd Z	 	 d dddZd dddZ	 	 d dddZ	 	 d dddZ	 	 d dddZ	 	 d dddZ	 	 d!dddZ	 	 d!dddZ	 	 d"dddZ	 	 d"dddZ	 	 d!dddZ	 	 d"dddZ	 	 d!dddZ	 	 d"dddZd Z	 	 d!dddZ	 	 d"dddZ	 	 d!dddZ	 	 d"dddZ dS )#    )array_namespaceis_numpyxp_unsupported_param_msg
is_complexxp_float_to_complex   )
_pocketfftNc                     | t          t          d                    |t          t          d                    |d}|S )Nworkersplanbackward)
ValueErrorr   )r   r   norms      X/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/scipy/fft/_basic_backend.py_validate_fft_argsr      sK    1)<<===1&99:::|K    >   fftfftnhfftifftifftnirfftirfftnc	           	         t          |          }	t          |	          r&t          j        |          } ||||||||          S t	          |||          }t          |	d          rft          |	j        |           }
| t          v r9	  |
||||          }n&#  t          ||	          } |
||||          }Y nxY w|S  |
||||          S t          j        |          } |||||          }|	                    |          S )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|| SJqMM~a14d*5wTS S S 	S gtT22Dr5 	5"&(++}$$<ga14d;;;<'2..ga14d;;;JwqADt4444

1AqADt444A::a==   B !B8c	           	         t          |          }	t          |	          r&t          j        |          } ||||||||          S t	          |||          }t          |	d          rft          |	j        |           }
| t          v r9	  |
||||          }n&#  t          ||	          } |
||||          }Y nxY w|S  |
||||          S t          j        |          } |||||          }|	                    |          S )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.   Fr   c                F    t          dt          j        | ||||||	  	        S )Nr   r   )r,   r	   r   r'   r   r   r   r   r   r   s          r   r   r   M   s2    ujna14d#.dL L L Lr   c                F    t          dt          j        | ||||||	  	        S )Nr   r   )r,   r	   r   r7   s          r   r   r   S   2    vzQT#.dL L L Lr   c                F    t          dt          j        | ||||||	  	        S )Nrfftr   )r,   r	   r;   r7   s          r   r;   r;   Y   r9   r   c                F    t          dt          j        | ||||||	  	        S )Nr   r   )r,   r	   r   r7   s          r   r   r   _   3    w
 0!qt$#.dL L L Lr   c                F    t          dt          j        | ||||||	  	        S )Nr   r   )r,   r	   r   r7   s          r   r   r   e   r9   r   c                F    t          dt          j        | ||||||	  	        S )Nihfftr   )r,   r	   r@   r7   s          r   r@   r@   k   r=   r   c                F    t          dt          j        | ||||||	  	        S )Nr   r0   )r3   r	   r   r'   r1   r2   r   r   r   r   s          r   r   r   q   r9   r   c                F    t          dt          j        | ||||||	  	        S )Nr   r0   )r3   r	   r   rB   s          r   r   r   x   r=   r   r4   c          	      .    t          | ||||||          S Nr5   )r   rB   s          r   fft2rH   ~   s    1dD+wTBBBBr   c          	      .    t          | ||||||          S rG   )r   rB   s          r   ifft2rJ          AtT;dCCCCr   c                F    t          dt          j        | ||||||	  	        S )Nrfftnr0   )r3   r	   rM   rB   s          r   rM   rM      r=   r   c          	      .    t          | ||||||          S rG   )rM   rB   s          r   rfft2rO      rK   r   c                F    t          dt          j        | ||||||	  	        S )Nr   r0   )r3   r	   r   rB   s          r   r   r      s3    x!2AD#.dL L L Lr   c          	      .    t          | ||||||          S rG   )r   rB   s          r   irfft2rR          !QdKtDDDDr   c                 X    | dv rd} n"| dk    rd} n| dk    rt          d|  d          | S )N)Nr   forwardr   orthozInvalid norm value z.; should be "backward", "ortho", or "forward".)r   )r   s    r   _swap_directionrW      s]    !!!				 2t 2 2 2 3 3 	3Kr   c          	      ,   t          |           }t          |          r/t          j        |           } t	          j        | ||||||          S t          | |          r|                    |           } t          | ||t          |          |||          S rG   )
r   r   r    r!   r	   hfftnr   conjr   rW   r'   r1   r2   r   r   r   r   r(   s           r   rY   rY      s    			B|| SJqMM1dD+wTRRRR!R GGAJJ!Qod33wT3 3 3 3r   c          	      .    t          | ||||||          S rG   )rY   rB   s          r   hfft2r]      rK   r   c                   t          |           }t          |          r/t          j        |           } t	          j        | ||||||          S |                    t          | ||t          |          |||                    S rG   )	r   r   r    r!   r	   ihfftnrZ   rM   rW   r[   s           r   r_   r_      s    			B|| TJqMM AtT;dSSSS775At_T%:%:$gD: : : ; ; ;r   c          	      .    t          | ||||||          S rG   )r_   rB   s          r   ihfft2ra      rS   r   )Nr4   NFN)NNNFN)NrD   NFN)!scipy._lib._array_apir   r   r   r   r    r	   numpyr    r   r$   r,   r3   r   r   r;   r   r   r@   r   r   rH   rJ   rM   rO   r   rR   rW   rY   r]   r_   ra    r   r   <module>rf      s                            LKK  2  2 "&#'L15L L L L LLL L L L L #'$(L26L L L L L $(%)L37L L L L L #'$(L26L L L L L $(%)L37L L L L L %)$(L26L L L L L &*%)L37L L L L L )-$(C26C C C C C
 *.%)D37D D D D D
 &*%)L37L L L L L *.$(D26D D D D D
 '+&*L48L L L L L +/&*E48E E E E E
   &*%)	337	3 	3 	3 	3 	3 *.%)D37D D D D D
 '+&*;48; ; ; ; ; +/&*E48E E E E E E Er   