
    tKg                        d dl mZmZmZmZ ddlmZ d dlZ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y)    )array_namespaceis_numpyxp_unsupported_param_msg
is_complex   )
_pocketfftNc                 f    | t        t        d            |t        t        d            |d}|S )Nworkersplanbackward)
ValueErrorr   )r
   r   norms      \/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/scipy/fft/_basic_backend.py_validate_fft_argsr      s?    1)<==1&9::|K    c	           	      P   t        |      }	t        |	      r$t        j                  |      } ||||||||      S t	        |||      }t        |	d      r"t        |	j                  |       }
 |
||||      S t        j                  |      } |||||      }|	j                  |      S )Nnaxisr   overwrite_xr
   r   fft)r   r   r   r   r   npasarrayr   hasattrgetattrr   )func_strpocketfft_funcxr   r   r   r   r
   r   xpxp_funcys               r   _execute_1Dr#          		B|JJqMa14d*5wTS 	S gtT2Dr5"&&(+qADt44


1AqADt4A::a=r   c	           	      P   t        |      }	t        |	      r$t        j                  |      } ||||||||      S t	        |||      }t        |	d      r"t        |	j                  |       }
 |
||||      S t        j                  |      } |||||      }|	j                  |      S )Nsaxesr   r   r
   r   r   )r'   r(   r   r   )r   r   r   r'   r(   r   r   r
   r   r    r!   r"   s               r   _execute_nDr)   *   r$   r   r   c                F    t        dt        j                  | ||||||	      S )Nr   r   )r#   r   r   r   r   r   r   r   r
   r   s          r   r   r   <   s(    ujnna14d#.dL Lr   c                F    t        dt        j                  | ||||||	      S )Nifftr   )r#   r   r.   r,   s          r   r.   r.   B   (    vzQT#.dL Lr   c                F    t        dt        j                  | ||||||	      S )Nrfftr   )r#   r   r1   r,   s          r   r1   r1   H   r/   r   c                F    t        dt        j                  | ||||||	      S )Nirfftr   )r#   r   r3   r,   s          r   r3   r3   N   *    w
 0 0!qt$#.dL Lr   c                F    t        dt        j                  | ||||||	      S )Nhfftr   )r#   r   r6   r,   s          r   r6   r6   T   r/   r   c                F    t        dt        j                  | ||||||	      S )Nihfftr   )r#   r   r8   r,   s          r   r8   r8   Z   r4   r   c                F    t        dt        j                  | ||||||	      S )Nfftnr&   )r)   r   r:   r   r'   r(   r   r   r
   r   s          r   r:   r:   `   r/   r   c                F    t        dt        j                  | ||||||	      S )Nifftnr&   )r)   r   r=   r;   s          r   r=   r=   g   r4   r   c          	      &    t        | ||||||      S Nr*   )r:   r;   s          r   fft2r@   m   s    1dD+wTBBr   c          	      &    t        | ||||||      S r?   )r=   r;   s          r   ifft2rB   r       AtT;dCCr   c                F    t        dt        j                  | ||||||	      S )Nrfftnr&   )r)   r   rE   r;   s          r   rE   rE   w   r4   r   c          	      &    t        | ||||||      S r?   )rE   r;   s          r   rfft2rG   }   rC   r   c                F    t        dt        j                  | ||||||	      S )Nirfftnr&   )r)   r   rI   r;   s          r   rI   rI      s*    x!2!2AD#.dL Lr   c          	      &    t        | ||||||      S r?   )rI   r;   s          r   irfft2rK          !QdKtDDr   c                 N    | dv rd} | S | dk(  rd} | S | dk7  rt        d| z        | S )N)Nr   forwardr   orthozCInvalid norm value %s; should be "backward", "ortho", or "forward".)r   )r   s    r   _swap_directionrP      sU    !! K 
	 K 
 2489 : 	:Kr   c          	          t        |       }t        |      r1t        j                  |       } t	        j
                  | ||||||      S t        | |      r|j                  |       } t        | ||t        |      |||      S r?   )
r   r   r   r   r   hfftnr   conjrI   rP   r   r'   r(   r   r   r
   r   r    s           r   rR   rR      su    		B|JJqM1dD+wTRR!RGGAJ!Qod3wT3 3r   c          	      &    t        | ||||||      S r?   )rR   r;   s          r   hfft2rV      rC   r   c                    t        |       }t        |      r1t        j                  |       } t	        j
                  | ||||||      S |j                  t        | ||t        |      |||            S r?   )	r   r   r   r   r   ihfftnrS   rE   rP   rT   s           r   rX   rX      si    		B|JJqM  AtT;dSS775At_T%:$gD: ; ;r   c          	      &    t        | ||||||      S r?   )rX   r;   s          r   ihfft2rZ      rL   r   )NNFN)NNNFN)N)r[   NFN)scipy._lib._array_apir   r   r   r    r   numpyr   r   r#   r)   r   r.   r1   r3   r6   r8   r:   r=   r@   rB   rE   rG   rI   rK   rP   rR   rV   rX   rZ    r   r   <module>ra      s      $$ "&#'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   