Your IP : 3.138.143.105
�
��bg�� � �& � d Z g d�ZddlZddlmZmZmZmZmZm Z ddl
mZ ddl
mZ ddlmZ ej ej d �
� � Zd� Zd� Zd
� Zddddd�Zd� Zd'd�Z ee� � d(d�� � Z ee� � d(d�� � Z ee� � d(d�� � Z ee� � d(d�� � Z ee� � d(d�� � Z ee� � d(d�� � Zd)d�Zddedfd�Zd'd�Z ee � � d'd�� � Z! ee � � d'd�� � Z" ee � � d*d!�� � Z# ee � � d*d"�� � Z$ ee � � d'd#�� � Z% ee � � d*d$�� � Z& ee � � d'd%�� � Z' ee � � d*d&�� � Z(dS )+a}
Discrete Fourier Transforms
Routines in this module:
fft(a, n=None, axis=-1, norm="backward")
ifft(a, n=None, axis=-1, norm="backward")
rfft(a, n=None, axis=-1, norm="backward")
irfft(a, n=None, axis=-1, norm="backward")
hfft(a, n=None, axis=-1, norm="backward")
ihfft(a, n=None, axis=-1, norm="backward")
fftn(a, s=None, axes=None, norm="backward")
ifftn(a, s=None, axes=None, norm="backward")
rfftn(a, s=None, axes=None, norm="backward")
irfftn(a, s=None, axes=None, norm="backward")
fft2(a, s=None, axes=(-2,-1), norm="backward")
ifft2(a, s=None, axes=(-2, -1), norm="backward")
rfft2(a, s=None, axes=(-2,-1), norm="backward")
irfft2(a, s=None, axes=(-2, -1), norm="backward")
i = inverse transform
r = transform of purely real data
h = Hermite transform
n = n-dimensional transform
2 = 2-dimensional transform
(Note: 2D routines are just nD routines with different default
behavior.)
)�fft�ifft�rfft�irfft�hfft�ihfft�rfftn�irfftn�rfft2�irfft2�fft2�ifft2�fftn�ifftn� N)�asarray�zeros�swapaxes� conjugate�take�sqrt� )�_pocketfft_internal)�normalize_axis_index)� overridesz numpy.fft)�modulec � � t || j � � }|�
| j | }d|z }| j | |k r�t | j � � }t d � � gt |� � z }|| |k r)t d|� � ||<