o
    5Bi                     @   s  d dl mZmZmZmZ ddlmZ d dlZdd Z	dd Z
d	d
 Z		d5ddddZd5ddddZ		d5ddddZ		d5ddddZ		d5ddddZ		d5ddddZ		d6ddddZ		d6ddddZ		d7dddd Z		d7ddd!d"Z		d6ddd#d$Z		d7ddd%d&Z		d6ddd'd(Z		d7ddd)d*Zd+d, Z		d6ddd-d.Z		d7ddd/d0Z		d6ddd1d2Z		d7ddd3d4ZdS )8    )array_namespaceis_numpyxp_unsupported_param_msg
is_complex   )
_pocketfftNc                 C   s8   | d ur
t td|d urt td|d u rd}|S )Nworkersplanbackward)
ValueErrorr   )r   r	   norm r   X/var/www/html/Trade-python/venv/lib/python3.10/site-packages/scipy/fft/_basic_backend.py_validate_fft_args   s   r   c	              	   C   |   t |}	t|	r||||||||dS t|||}t|	dr,t|	j| }
|
||||dS t|}|||||d}|	|S )Nnaxisr   overwrite_xr   r	   fft)r   r   r   r   r   r   hasattrgetattrr   npasarray)func_strpocketfft_funcxr   r   r   r   r   r	   xpxp_funcyr   r   r   _execute_1D      



r!   c	              	   C   r   )Nsaxesr   r   r   r	   r   )r$   r%   r   r   )r   r   r   r$   r%   r   r   r   r	   r   r   r    r   r   r   _execute_nD)   r"   r&   Fr	   c                C      t dtj| ||||||d	S )Nr   r   )r!   r   r   r   r   r   r   r   r   r	   r   r   r   r   :      r   c                C   r)   )Nifftr   )r!   r   r,   r*   r   r   r   r,   @   r+   r,   c                C   r)   )Nrfftr   )r!   r   r-   r*   r   r   r   r-   F   r+   r-   c                C   r)   )Nirfftr   )r!   r   r.   r*   r   r   r   r.   L   r+   r.   c                C   r)   )Nhfftr   )r!   r   r/   r*   r   r   r   r/   R   r+   r/   c                C   r)   )Nihfftr   )r!   r   r0   r*   r   r   r   r0   X   r+   r0   c                C   r)   )Nfftnr#   )r&   r   r1   r   r$   r%   r   r   r   r	   r   r   r   r1   ^   r+   r1   c                C   r)   )Nifftnr#   )r&   r   r3   r2   r   r   r   r3   e   r+   r3   r'   c             	   C      t | ||||||dS Nr(   )r1   r2   r   r   r   fft2k      r8   c             	   C   r6   r7   )r3   r2   r   r   r   ifft2p   r9   r:   c                C   r)   )Nrfftnr#   )r&   r   r;   r2   r   r   r   r;   u   r+   r;   c             	   C   r6   r7   )r;   r2   r   r   r   rfft2{   r9   r<   c                C   r)   )Nirfftnr#   )r&   r   r=   r2   r   r   r   r=      r+   r=   c             	   C   r6   r7   )r=   r2   r   r   r   irfft2   r9   r>   c                 C   s8   | dv rd} | S | dkrd} | S | dkrt d|  | S )N)Nr
   forwardr
   orthozCInvalid norm value %s; should be "backward", "ortho", or "forward".)r   )r   r   r   r   _swap_direction   s   rA   c             	   C   sV   t | }t|rtj| ||||||dS t| |r|| } t| ||t||||dS r7   )r   r   r   hfftnr   conjr=   rA   r   r$   r%   r   r   r   r	   r   r   r   r   rB      s   

rB   c             	   C   r6   r7   )rB   r2   r   r   r   hfft2   r9   rE   c                C   sH   t | }t|rtj| ||||||dS |t| ||t||||dS r7   )r   r   r   ihfftnrC   r;   rA   rD   r   r   r   rF      s   rF   c             	   C   r6   r7   )rF   r2   r   r   r   ihfft2   r9   rG   )Nr'   NFN)NNNFN)Nr4   NFN)scipy._lib._array_apir   r   r   r    r   numpyr   r   r!   r&   r   r,   r-   r.   r/   r0   r1   r3   r8   r:   r;   r<   r=   r>   rA   rB   rE   rF   rG   r   r   r   r   <module>   s    