3
Od                 @   s  d dl Zd dlmZmZ d dlZd dlmZmZm	Z	m
Z
mZmZmZmZ d dljZd dlmZ ejjdeefeefgejjdddd	d
gejjddd	d
dddgejjdd dgejjdddgdd Zejjdeefeefgejjdddd	d
gejjdejejejejejgejjdd dgejjdddgejjdddgdd Zejjde	e
feefgejjdddd	d
gejjdd)d+d-d0d2d5d7d9d<g	ejjdddgdd Zejjde	e
feefgejjdddd	d
gejjdd>d@dBgejjdejejejejejgejjdddgejjdddgdd  Zejjd!d"d#d$d%gejjdddd	d
gejjdddgd&d' ZdS )C    N)assert_allcloseassert_array_equal)dctidctdctnidctndstidstdstnidstn)fftpackzforward, backwardtype            n   
      axisnormZorthoc             C   sx   t jj||}| ||||d}|||||d}t|| dgd }	d|	|< t j||	dd}
||
||||}t|| d S )	N)r   r   r   r   r   edge)mode)r   r   )r   r   )nprandomrandr   pad)forwardbackwardr   r   r   r   xyzr   y2z2 r%   X/var/www/html/virt/lib64/python3.6/site-packages/scipy/fft/tests/test_real_transforms.pytest_identity_1d   s    

r'   dtypeoverwrite_xTFc             C   s   t jjdd}|j }| |||||d}	|	j }
||	||||d}|slt||ddd t|| t|	|
 nt||ddd d S )N      )r   r   r)   gư>)rtolatol)r   r   r   copyr   r   )r   r   r   r(   r   r   r)   r    x_origr!   y_origr"   r%   r%   r&   test_identity_1d_overwrite$   s    

r1   zshape, axes      c             C   s   t jj|}|d k	r t j||}| ||||d}|||||d}t|| |d kr`dg|j }	nBt|trdg|j }	d|	|< n"d	g|j }	x|D ]}
d
|	|
< qW t j||	dd}||||||}t|| d S )N)axesr   r   r   r   )r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   taker   ndim
isinstanceintr   )r   r   r   shaper4   r   r    r!   r"   r   ar#   r$   r%   r%   r&   test_identity_nd<   s"    



r;   c             C   s   t jj|j|}|j }	|d k	r.t j||}| ||||d}
|
j }||
|||d}|rlt||	ddd n$t||ddd t||	 t|
| d S )N)r4   r   gư>)r,   r-   )r   r   Zastyper.   r5   r   r   )r   r   r   r9   r4   r(   r   r)   r    r/   r!   r0   r"   r%   r%   r&   test_identity_nd_overwriteg   s    
r<   funcr   r   r   r
   c             C   sD   t jjdd}tt| |||d}tt| |||d}t|| d S )Nr+   r   )r   )r   r   r   getattrfftr   r   )r=   r   r   r    Zfft_resZfftpack_resr%   r%   r&   test_fftpack_equivalience   s    r@   r   r   )rA   r   r   r   )rB   r   r   r   )rC   Nr   r   r   r   )rD   rE   r   r2   )rF   Nr   r2   r   r   )rG   rH   r   r   r3   )rI   Nr   r   r3   )rJ   r   r   r   r3   r   r   )rK   rL   r   r   )rM   r   r   r   )rN   r   r   r   )rO   N)Znumpyr   Znumpy.testingr   r   ZpytestZ	scipy.fftr   r   r   r   r   r	   r
   r   r?   Zscipyr   markZparametrizer'   Zfloat16Zfloat32Zfloat64Z	complex64Z
complex128r1   r;   r<   r@   r%   r%   r%   r&   <module>   sV   (
"$ $