403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/scipy/fftpack/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/scipy/fftpack/tests/__pycache__/test_basic.cpython-311.pyc
�

d�c�v��b�ddlmZmZmZmZmZddlZddlmZddl	m
Z
mZmZm
Z
mZmZmZddlmZmZmZmZmZmZmZmZmZmZmZddlZddlZddlm Z gd�Z!gd�Z"d	gZ#d
gZ$d�Z%d�Z&d
�Z'd�Z(d�Z)d�Z*d�Z+d�Z,d�Z-Gd�d��Z.Gd�de.��Z/Gd�de.��Z0Gd�d��Z1Gd�d��Z2Gd�de2��Z3Gd �d!e2��Z4Gd"�d#��Z5Gd$�d%e5��Z6Gd&�d'e5��Z7Gd(�d)��Z8Gd*�d+e8��Z9Gd,�d-e8��Z:Gd.�d/��Z;Gd0�d1��Z<Gd2�d3��Z=Gd4�d5��Z>Gd6�d7��Z?Gd8�d9��Z@Gd:�d;��ZAejB�Cd<ee
eg��d=���ZDdS)>�)�assert_�assert_equal�assert_array_almost_equal�assert_array_almost_equal_nulp�assert_array_lessN)�raises)�ifft�fft�fftn�ifftn�rfft�irfft�fft2)�arange�add�array�asarray�zeros�dot�exp�pi�swapaxes�double�cdouble��rand)i i`i)���$i��c��d|�d|��}ttj�||z
��|tj�|��z|��dS)Nzsize: z  rdt: )r�np�linalg�norm)�x�y�rtol�size�rdt�err_msgs      �@/usr/lib/python3/dist-packages/scipy/fftpack/tests/test_basic.py�_assert_close_in_normr,#sQ���%)�T�T�3�3�/�G��b�i�n�n�Q��U�+�+�T�"�)�.�.��2C�2C�-C�W�M�M�M�M�M�c��t|�S�Nr)r(s r+�randomr0)s����;�r-c�N�t|��}tj||��}|Sr/)rr�outer)�n�datas  r+�get_matr5-s#���!�9�9�D��9�T�4� � �D��Kr-c��t|��}t|��}t|t���}t	|��dt
z|zz}t
|��D]%}tt||z��|��||<�&|S�N��dtype�@�	r�lenrrrr�rangerr�r%r3r&�w�is     r+�
direct_dftrA3s}����
�
�A��A���A�
�a�w����A�	����
�B�r�E�!�G��A�
�1�X�X� � ���3�q��s�8�8�Q����!����Hr-c��t|��}t|��}t|t���}t	|��dt
z|zz}t
|��D](}tt||z��|��|z||<�)|Sr7r;r>s     r+�direct_idftrC=s�����
�
�A��A���A�
�a�w����A��q�	�	�2�b�5��7��A�
�1�X�X�"�"���3�q��s�8�8�Q����!��!����Hr-c��t|��}tt|j����D]}t	||���}�|S�N)�axis)rr=r<�shaper
�r%rFs  r+�direct_dftnrIGsE����
�
�A��c�!�'�l�l�#�#�������������Hr-c��t|��}tt|j����D]}t	||���}�|SrE)rr=r<rGr	rHs  r+�direct_idftnrKNsE����
�
�A��c�!�'�l�l�#�#�������������Hr-c��t|��}t|��}t|��dtz|zz}t	|t
���}t
|dzdz��D]U}tt||z��|��}|r'|j	|d|zdz
<d|z|kr
|j
|d|z<�K|j	|d<�V|S)Nr:r8r�r)rr<rrrrr=rr�real�imag)r%r3r?�rr@r&s      r+�direct_rdftrQUs�����
�
�A��A���A�	����
�B�r�E�!�G��A�
�a�v����A�
�1�a�4��6�]�]������A�a�C���!�����	��v�A�a��c�!�e�H���s�Q�w�w����!�A�#����6�A�a�D�D��Hr-c��t|��}t|��}t|t���}t	|dzdz��D]n}|r_d|z|krD|d|zdz
d|d|zzz||<|d|zdz
d|d|zzz
|||z
<�Q|d|zdz
||<�c|d|d<�ot|��jS)Nr8rrM��?r)rr<rrr=rCrN)r%r3�x1r@s    r+�direct_irdftrUes�����
�
�A��A���A�	�q��	 �	 �	 �B�
�1�a�4��6�]�]�����	���s�Q�w�w��!�A�#�a�%��2�a��!��f�9�,��1���A�a�C��E�(�R��!�A�#��Y�.��1�Q�3����!�A�#�a�%���1����a�D�B�q�E�E��r�?�?��r-c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�_TestFFTBasec�`�d|_d|_tj�d��dS�N��)�cdtr)r"r0�seed��selfs r+�setup_methodz_TestFFTBase.setup_methodvs*��������
�	���t�����r-c�^�tjgd�|j���}t|��}t	|j|j��t
|��}t||��tjgd�|j���}tt|��t
|����dS)N�rMr��@�?rMrrby@@r8�rMrrby@�)r"rr[r
rr9rAr�r^r%r&�y1s    r+�test_definitionz_TestFFTBase.test_definition{s����H�,�,�,�D�H�=�=�=����F�F���Q�W�d�h�'�'�'�
��]�]��!�!�B�'�'�'��H�^�^�^�4�8�4�4�4��!�#�a�&�&��A���7�7�7�7�7r-c��tjgd�|j���}tjgd�|j���}t||gd���}t	|j|j��t	|jd��t|dt|����t|dt|����dS�N�rMrrb�r8rl�r3�rrlrrM)
r"rr)r
rr9r[rGrrA�r^rT�x2r&s    r+�test_n_argument_realz!_TestFFTBase.test_n_argument_real�s���
�X�i�i�i�t�x�
0�
0�
0��
�X�i�i�i�t�x�
0�
0�
0����B��!������Q�W�d�h�'�'�'��Q�W�U�#�#�#�!�!�A�$�z�"�~�~�6�6�6�!�!�A�$�z�"�~�~�6�6�6�6�6r-c��tjgd�|j���}tjgd�|j���}t||gd���}t	|j|j��t	|jd��t|dt|����t|dt|����dS)N)rMrrbrcr8rlrmrnrrM)	r"rr[r
rr9rGrrAros    r+�_test_n_argument_complexz%_TestFFTBase._test_n_argument_complex�s���
�X�l�l�l�$�(�
3�
3�
3��
�X�l�l�l�$�(�
3�
3�
3����B��!������Q�W�d�h�'�'�'��Q�W�U�#�#�#�!�!�A�$�z�"�~�~�6�6�6�!�!�A�$�z�"�~�~�6�6�6�6�6r-c��tttg��tttddgddggd��dS�NrMr���)�
assert_raises�
ValueErrorr
r]s r+�test_invalid_sizesz_TestFFTBase.test_invalid_sizes�s:���j�#�r�*�*�*��j�#��1��q��e�}�b�9�9�9�9�9r-N)�__name__�
__module__�__qualname__r_rhrqrsry�r-r+rWrWus_���������
8�8�8�7�7�7�7�7�7�:�:�:�:�:r-rWc��eZdZd�ZdS)�
TestDoubleFFTc�J�tj|_tj|_dSr/�r"rr[rr)r]s r+r_zTestDoubleFFT.setup_method�����:����9����r-N�rzr{r|r_r}r-r+rr��#����������r-rc�^�eZdZd�Zej�dd���d���ZdS)�
TestSingleFFTc�J�tj|_tj|_dSr/�r"�	complex64r[�float32r)r]s r+r_zTestSingleFFT.setup_method�����<����:����r-Fzusingle-precision FFT implementation is partially disabled, until accuracy issues with large prime powers are resolved)�run�reasonc��dSr/r}r]s r+�test_noticezTestSingleFFT.test_notice�s���r-N)rzr{r|r_�pytest�mark�xfailr�r}r-r+r�r��sb����������[���5�*a��b�b�
�
�b�b�
�
�
r-r�c��eZdZd�Zd�ZdS)�TestFloat16FFTc�H�tjgd�tj���}t|d���}t	|jtj��t	|jd��t|t|�
tj������dS)Nrkr8rlrm)rl�r"r�float16r
rr9r�rGrrA�astyper�)r^rTr&s   r+�test_1_argument_realz#TestFloat16FFT.test_1_argument_real�s}��
�X�l�l�l�"�*�
5�
5�
5����a�L�L�L���Q�W�b�l�+�+�+��Q�W�e�$�$�$�!�!�Z��	�	�"�*�0E�0E�%F�%F�G�G�G�G�Gr-c��tjgd�tj���}tjgd�tj���}t||gd���}t	|jtj��t	|jd��t|dt|�
tj������t|dt|�
tj������dSrjr�ros    r+rqz#TestFloat16FFT.test_n_argument_real�s���
�X�l�l�l�"�*�
5�
5�
5��
�X�l�l�l�"�*�
5�
5�
5����R��A������Q�W�b�l�+�+�+��Q�W�f�%�%�%�!�!�A�$�
�2�9�9�R�Z�3H�3H�(I�(I�J�J�J�!�!�A�$�
�2�9�9�R�Z�3H�3H�(I�(I�J�J�J�J�Jr-N)rzr{r|r�rqr}r-r+r�r��s:������H�H�H�K�K�K�K�Kr-r�c�8�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	dS)	�
_TestIFFTBasec�D�tj�d��dSrY�r"r0r\r]s r+r_z_TestIFFTBase.setup_method����
�	���t�����r-c�Z�tjgd�|j��}t|��}t	|��}t|j|j��t||��tjgd�|j��}tt|��t	|����dS)Nrard)r"rr[r	rCrr9rrfs    r+rhz_TestIFFTBase.test_definition�s����H�,�,�,�d�h�7�7����G�G��
��^�^���Q�W�d�h�'�'�'�!�!�B�'�'�'��H�^�^�^�T�X�.�.��!�$�q�'�'�+�a�.�.�9�9�9�9�9r-c��tjgd�|j��}t|��}t	|j|j��t|��}t||��tjgd�|j���}t	|j|j��tt|��t|����dS)N�rMrrbrlrMrrbrl�rMrrbrlrer8)	r"rr)r	rr9r[rCrrfs    r+�test_definition_realz"_TestIFFTBase.test_definition_real�s����H�&�&�&���1�1����G�G���Q�W�d�h�'�'�'�
��^�^��!�!�B�'�'�'��H�[�[�[���1�1�1���Q�W�d�h�'�'�'�!�$�q�'�'�+�a�.�.�9�9�9�9�9r-c���dD]�}t|g���|j��}t|g���|j��d|zz}tt	|����}t	t|����}t|j|j��t|j|j��t||��t||����dS)N�	rM�3�o�d���@��irS)r0r�r[r	r
rr9r�r^r(r%rg�y2s     r+�test_random_complexz!_TestIFFTBase.test_random_complex�s���6�	-�	-�D���v���%�%�d�h�/�/�A���v���%�%�d�h�/�/�"�Q�$�6�A��c�!�f�f���B��T�!�W�W���B����4�8�,�,�,����4�8�,�,�,�%�b�!�,�,�,�%�b�!�,�,�,�,�	-�	-r-c�x�dD]�}t|g���|j��}tt	|����}t	t|����}t|j|j��t|j|j��t||��t||����dS)Nr�)	r0r�r)r	r
rr9r[rr�s     r+�test_random_realz_TestIFFTBase.test_random_real�s���6�	-�	-�D���v���%�%�d�h�/�/�A��c�!�f�f���B��T�!�W�W���B����4�8�,�,�,����4�8�,�,�,�%�b�!�,�,�,�%�b�!�,�,�,�,�	-�	-r-c�R�|jtjkrd}n|jtjkrd}tt
zD�]f}tj�d��tj�|���	|j��}tt|����}t|||||j��tt|����}t|||||j��|dtj�|��zz�	|j
��}tt|����}t|||||j��tt|����}t|||||j����hdS)N��h㈵��>绽���|�=rZrS)r)r"r��float64�LARGE_COMPOSITE_SIZES�LARGE_PRIME_SIZESr0r\rr�r	r
r,r[�r^r'r(r%r&s     r+�test_size_accuracyz _TestIFFTBase.test_size_accuracy�sV���8�r�z�!�!��D�D�
�X���
#�
#��D�)�,=�=�	>�	>�D��I�N�N�4� � � ��	���t�$�$�+�+�D�H�5�5�A��S��V�V���A�!�!�Q��d�D�H�=�=�=��D��G�G���A�!�!�Q��d�D�H�=�=�=��R��	���t�,�,�,�,�4�4�T�X�>�>�A��S��V�V���A�!�!�Q��d�D�H�=�=�=��D��G�G���A�!�!�Q��d�D�H�=�=�=�=�	>�	>r-c��tttg��tttddgddggd��dSru)rwrxr	r]s r+ryz _TestIFFTBase.test_invalid_sizes�:���j�$��+�+�+��j�$�!�A���!�u�
�r�:�:�:�:�:r-N)
rzr{r|r_rhr�r�r�r�ryr}r-r+r�r��s}���������:�:�:�	:�	:�	:�	-�	-�	-�-�-�-�>�>�>�*;�;�;�;�;r-r�c��eZdZd�ZdS)�TestDoubleIFFTc�J�tj|_tj|_dSr/r�r]s r+r_zTestDoubleIFFT.setup_methodr�r-Nr�r}r-r+r�r�r�r-r�c��eZdZd�ZdS)�TestSingleIFFTc�J�tj|_tj|_dSr/r�r]s r+r_zTestSingleIFFT.setup_method
r�r-Nr�r}r-r+r�r��#����������r-r�c�F�eZdZd�Zd�Zd�ZGd�d��Zd�Zd�ZdS)	�
_TestRFFTBasec�D�tj�d��dSrYr�r]s r+r_z_TestRFFTBase.setup_methodr�r-c���gd�gd�fD]e}tj||j���}t|��}t	|��}t||��t
|j|j���fdS)Nr��	rMrrbrlrMrrbrlrer8)r"rr)r
rQrrr9)r^�tr%r&rgs     r+rhz_TestRFFTBase.test_definitions���*�*�*�,G�,G�,G�H�	,�	,�A����$�(�+�+�+�A��Q���A��Q���B�%�a��+�+�+����$�(�+�+�+�+�	,�	,r-c��tttg��tttddgddggd��dSru)rwrxr
r]s r+ryz _TestRFFTBase.test_invalid_sizesr�r-c��eZdZd�Zd�ZdS)�_TestRFFTBase.MockSeriesc�8�tj|��|_dSr/)r"rr4�r^r4s  r+�__init__z!_TestRFFTBase.MockSeries.__init__$s���
�4�(�(�D�I�I�Ir-c��	t|j|��S#t$r)}td�|�����|�d}~wwxYw)Nz-'MockSeries' object has no attribute '{attr}')�attr)�getattrr4�AttributeError�format)r^�item�es   r+�__getattr__z$_TestRFFTBase.MockSeries.__getattr__'sh��
A��t�y�$�/�/�/��!�
A�
A�
A�$�'B�&,�f�$�f�&7�&7�:�:�?@�A�����
A���s��
A
�$A�A
N)rzr{r|r�r�r}r-r+�
MockSeriesr�#s7������	)�	)�	)�	A�	A�	A�	A�	Ar-r�c���tjgd���}t�|��}gd�}t	|��t||��t|j|��dS)N)g�?g@g@g@g@r�)r"rr�r�r
rr4)r^r%�xs�expecteds    r+�test_non_ndarray_with_dtypez)_TestRFFTBase.test_non_ndarray_with_dtype/si���H�)�)�)�*�*��
�
%�
%�a�
(�
(��"�?�?���R����	�Q��!�!�!��R�W�h�'�'�'�'�'r-c�x�ttttjdtj�����dS�Nrlr8)rw�	TypeErrorr
r"rr�r]s r+�test_complex_inputz _TestRFFTBase.test_complex_input:s+���i��r�y��"�,�'G�'G�'G�H�H�H�H�Hr-N)	rzr{r|r_rhryr�r�r�r}r-r+r�r�s����������,�,�,�;�;�;�

A�
A�
A�
A�
A�
A�
A�
A�	(�	(�	(�I�I�I�I�Ir-r�c��eZdZd�ZdS)�TestRFFTDoublec�J�tj|_tj|_dSr/r�r]s r+r_zTestRFFTDouble.setup_method?r�r-Nr�r}r-r+r�r�>r�r-r�c��eZdZd�ZdS)�TestRFFTSinglec�J�tj|_tj|_dSr/r�r]s r+r_zTestRFFTSingle.setup_methodEr�r-Nr�r}r-r+r�r�Dr�r-r�c�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�_TestIRFFTBasec�D�tj�d��dSrYr�r]s r+r_z_TestIRFFTBase.setup_methodKr�r-c�b��gd�}gd�}gd�}gd�}�fd�}|||��|||��dS)Nr�)rM�@@rcr�rl�@��@�r�r�)	rMr�rcr�y@@y@�r�r�r�c� ��ttj|�j�����}t	|��}t|j�j��t||�j���t|t|���j���dS)Nr8)�decimal)
rr"rr)rUrr9r�ndecr	)r%�xrr&rgr^s    �r+�_testz-_TestIRFFTBase.test_definition.<locals>._testTsz����b�h�q���1�1�1�2�2�A��a���B����$�(�+�+�+�%�a��D�I�>�>�>�>�%�a��R���$�)�D�D�D�D�D�Dr-r})r^rT�x1_1rp�x2_1r�s`     r+rhz_TestIRFFTBase.test_definitionNsq���
�
�
��2�2�2��
 �
 �
 ��:�:�:��	E�	E�	E�	E�	E�	��b�$����
��b�$�����r-c��dD]�}t|g���|j��}tt	|����}t	t|����}t|j|j��t|j|j��t|||jd|z���t|||jd|z�����dS)Nr�zsize=%d)r�r*)	r0r�r)rr
rr9rr�r�s     r+r�z_TestIRFFTBase.test_random_real^s���6�		A�		A�D���v���%�%�d�h�/�/�A��t�A�w�w���B��e�A�h�h���B����4�8�,�,�,����4�8�,�,�,�%�b�!�T�Y�/8�4�/?�
A�
A�
A�
A�%�b�!�T�Y�/8�4�/?�
A�
A�
A�
A�
A�		A�		Ar-c��|jtjkrd}n|jtjkrd}tt
zD]�}tj�d��tj�|���	|j��}tt|����}t|||||j��tt|����}t|||||j����dS)Nr�r�rZ)
r)r"r�r�r�r�r0r\rr�rr
r,r�s     r+r�z!_TestIRFFTBase.test_size_accuracyjs����8�r�z�!�!��D�D�
�X���
#�
#��D�)�,=�=�	>�	>�D��I�N�N�4� � � ��	���t�$�$�+�+�D�H�5�5�A��d�1�g�g���A�!�!�Q��d�D�H�=�=�=��U�1�X�X���A�!�!�Q��d�D�H�=�=�=�=�
	>�	>r-c��tttg��tttddgddggd��dSru)rwrxrr]s r+ryz!_TestIRFFTBase.test_invalid_sizesys:���j�%��,�,�,��j�%�1�Q�%��1����;�;�;�;�;r-c�x�ttttjdtj�����dSr�)rwr�rr"rr�r]s r+r�z!_TestIRFFTBase.test_complex_input}s+���i���	�!�2�<�(H�(H�(H�I�I�I�I�Ir-N)	rzr{r|r_rhr�r�ryr�r}r-r+r�r�Jsv������������ 
A�
A�
A�
>�
>�
>�<�<�<�J�J�J�J�Jr-r�c��eZdZd�ZdS)�TestIRFFTDoublec�X�tj|_tj|_d|_dS)N�)r"rr[rr)r�r]s r+r_zTestIRFFTDouble.setup_method�s���:����9�����	�	�	r-Nr�r}r-r+r�r��s#����������r-r�c��eZdZd�ZdS)�TestIRFFTSinglec�X�tj|_tj|_d|_dS)Nre)r"r�r[r�r)r�r]s r+r_zTestIRFFTSingle.setup_method�s���<����:�����	�	�	r-Nr�r}r-r+r�r��s#����������r-r�c� �eZdZd�Zd�Zd�ZdS)�Testfft2c�D�tj�d��dSrYr�r]s r+r_zTestfft2.setup_method�r�r-c��tjd��}t|dd���}tj�|dd���}t||��dS)z-FFT returns wrong result with axes parameter.�rlrlr��r��������rG�axes)�srN)�numpy�onesrr
rr�r^r%r&�y_rs    r+�test_regression_244zTestfft2.test_regression_244�sV��
�J�y�!�!����&�x�0�0�0���i�n�n�Q�&�x�n�8�8��!�!�S�)�)�)�)�)r-c��tttgg��tttddgddggd��dS)NrMr�rlr)rwrxrr]s r+ryzTestfft2.test_invalid_sizes�s=���j�$���-�-�-��j�$�!�Q��!�Q��(8�'�B�B�B�B�Br-N)rzr{r|r_rryr}r-r+rr�sF���������*�*�*�C�C�C�C�Cr-rc�X�eZdZd�Zd�Zej�dee	z��d���Z
ej�deez��d���Z
d�Zej�dee	z��d���Zej�deez��d���Zd	S)
�TestFftnSinglec�D�tj�d��dSrYr�r]s r+r_zTestFftnSingle.setup_method�r�r-c�4�gd�gd�gd�g}ttj|tj����}t	|jtjkd���tjt|��tj��}t||��dS)N�rMrrb�rlre���r�	z-double precision output with single precision)�msg)rr"rr�rr9r�rrs    r+rhzTestFftnSingle.test_definition�s���
�Y�Y�
�Y�Y�
�Y�Y�
��
���!�R�Z�(�(�)�)�����2�<�'�C�	E�	E�	E�	E��h�t�A�w�w���-�-��&�q�#�.�.�.�.�.r-r(c���tj�||��dtj�||��zz}t|j�tj����}t|j�tj�����tj��}t|j
tj��t||d��dS)NrS���r"r0rrrNr�r�r�r�rr9rr�s     r+�test_size_accuracy_smallz'TestFftnSingle.test_size_accuracy_small�s����I�N�N�4��&�&��B�I�N�N�4��,F�,F�)F�F��
�!�&�-�-��
�+�+�
,�
,��
�!�&�-�-��
�+�+�
,�
,�
3�
3�B�L�
A�
A���R�X�r�|�,�,�,�&�r�2�t�4�4�4�4�4r-c���tj�|d��dtj�|d��zz}t|j�tj����}t|j�tj�����tj��}t|j
tj��t||d��dS)NrbrSr r!r�s     r+�test_size_accuracy_largez'TestFftnSingle.test_size_accuracy_large�s����I�N�N�4��#�#�b������a�)@�)@�&@�@��
�!�&�-�-��
�+�+�
,�
,��
�!�&�-�-��
�+�+�
,�
,�
3�
3�B�L�
A�
A���R�X�r�|�,�,�,�&�r�2�t�4�4�4�4�4r-c�*�gd�gd�gd�g}ttj|tj����}t	|jtj��tjt|��tj��}t||��dS)Nrrr)rr"rr�rr9r�rrs    r+�test_definition_float16z&TestFftnSingle.test_definition_float16�s~��
�Y�Y�
�Y�Y�
�Y�Y�
��
���!�R�Z�(�(�)�)���Q�W�b�l�+�+�+��h�t�A�w�w���-�-��&�q�#�.�.�.�.�.r-c���tj�||��dtj�||��zz}t|j�tj����}t|j�tj�����tj��}t|j
tj��t||d��dS)NrSg��A�r"r0rrrNr�r�r�r�rr9rr�s     r+�test_float16_input_smallz'TestFftnSingle.test_float16_input_small�s����I�N�N�4��&�&��B�I�N�N�4��,F�,F�)F�F��
�!�&�-�-��
�+�+�
,�
,��
�!�&�-�-��
�+�+�
,�
,�
3�
3�B�L�
A�
A���R�X�r�|�,�,�,�&�r�2�s�3�3�3�3�3r-c���tj�|d��dtj�|d��zz}t|j�tj����}t|j�tj�����tj��}t|j
tj��t||d��dS)NrbrSg��>Ar(r�s     r+�test_float16_input_largez'TestFftnSingle.test_float16_input_large�s����I�N�N�4��#�#�b������a�)@�)@�&@�@��
�!�&�-�-��
�+�+�
,�
,��
�!�&�-�-��
�+�+�
,�
,�
3�
3�B�L�
A�
A���R�X�r�|�,�,�,�&�r�2�s�3�3�3�3�3r-N)rzr{r|r_rhr�r��parametrize�SMALL_COMPOSITE_SIZES�SMALL_PRIME_SIZESr"r�r�r$r&r)r+r}r-r+rr�s���������	/�	/�	/��[���V�%:�=N�%N�O�O�5�5�P�O�5��[���V�%:�=N�%N�O�O�5�5�P�O�5�/�/�/��[���V�%:�=N�%N�O�O�4�4�P�O�4��[���V�%:�=N�%N�O�O�4�4�P�O�4�4�4r-rc�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�TestFftnc�D�tj�d��dSrYr�r]s r+r_zTestFftn.setup_method�r�r-c�X�gd�gd�gd�g}t|��}t|t|����td��}tt|��t|����td��}tt|��t|����dS)Nrrr����rerlrbr4)rrrIr0�r^r%r&s   r+rhzTestFftn.test_definition�s���
�Y�Y�
�Y�Y�
�Y�Y�
��
��G�G��!�!�[��^�^�4�4�4��8����!�$�q�'�'�;�q�>�>�:�:�:��=�!�!��!�$�q�'�'�;�q�>�>�:�:�:�:�:r-c�B�gd�gd�gd�g}gd�gd�gd�g}gd�gd�gd	�g}gd�gd�gd�g}gd�gd�gd�g}gd�gd�gd	�g}gd
�gd�gd�g}gd
�gd�gd�g}gd�gd�gd�g}	gd�gd�gd�g}
gd�gd�gd�g}gd�gd�gd�g}gd�gd�gd�g}
gd�gd�gd�g}gd�gd�gd�g}gd
�gd
�gd�g}gd�gd�gd�g}gd�gd�gd�g}|||	g}|
||g}|||g}|||g}|
||g}t|||g��}tt|��t|d�����tt|��t|d�����tt|d���t|d �����t|d!���}tt|d"d#��t|����t|d$���}ttt|d"d#��d"d%��t|����t|d&���}ttt|d"d#��d#d%��t|����t|d'���}tt|d%d#��t|����t|d(���}tt|d%d"��t|����t|d)���}tt|��|d*��tt|��|d+��tt|��|d,��t|d-���}tt|��|d*��tt|��|d+��tt|��|d,��t|d.���}tt|dd�dd�d*f��|dd�dd�d*f��tt|dd�dd�d+f��|dd�dd�d+f��tt|dd�dd�d,f��|dd�dd�d,f��t|d/���}tt|dd�d*dd�f��|dd�d*dd�f��tt|dd�d+dd�f��|dd�d+dd�f��tt|dd�d,dd�f��|dd�d,dd�f��t|d0���}tt|
��t|d*d%d"����tt|��t|d+d%d"����tt|��t|d,d%d"����t|d1���}tt|��t|dd�d*dd�fd"d%����tt|��t|dd�d+dd�fd"d%����tt|��t|dd�d,dd�fd"d%����t|d2���}tt|��t|dd�dd�d*fd"d%����tt|��t|dd�dd�d+fd"d%����tt|	��t|dd�dd�d,fd"d%����t|d3���}t	d4��D]G}t	d4��D]5}tt|||dd�f��|||dd�f���6�Ht|d5���}t	d4��D]G}t	d4��D]5}tt||dd�|f��||dd�|f���6�Ht|d6���}t	d4��D]G}t	d4��D]5}tt|dd�||f��|dd�||f���6�Ht|d7���}t||��dS)8Nrrr)�
��)�
r��)���)�r4�)���)�r5�)rMr9rA)rlr<rC)rr>rF)rr:r4)rer�rD)rr?r5)rbr;rB)rr=rE)rr@rG)rMrlr)r9r<r>)rArCrF)rrer)r:r�r?)r4rDr5)rbrr)r;r=r@)rBrErG)rr	����r�rrMr)rr)rrH)rrMrrHr)rrrMr	)rMrr)rMrr)rrrM�r	rHrrMr�rMrr)rrH�rHr	)rHr)r	r�rHrb�r	�rr})rrrrr=r
)r^�plane1�plane2�plane3�	ki_plane1�	ki_plane2�	ki_plane3�	jk_plane1�	jk_plane2�	jk_plane3�	kj_plane1�	kj_plane2�	kj_plane3�	ij_plane1�	ij_plane2�	ij_plane3�	ik_plane1�	ik_plane2�	ik_plane3�	ijk_space�	ikj_space�	jik_space�	jki_space�	kij_spacer%r&r@�js                            r+�test_axes_argumentzTestFftn.test_axes_argument�s
���)�)��)�)��)�)����,�,��,�,��,�,� ���,�,��,�,��,�,� ���Y�Y�!�\�\�!�\�\�#�	��Y�Y�!�\�\�!�\�\�#�	��Y�Y�!�\�\�!�\�\�#�	�!�[�[� �[�[� �[�[�"�	�!�[�[� �[�[� �[�[�"�	�!�[�[� �[�[� �[�[�"�	��Y�Y�!�\�\�<�<�<�1�	��Y�Y�!�\�\�<�<�<�1�	��Y�Y�!�\�\�<�<�<�1�	��Y�Y��Y�Y��Y�Y� �	�"�\�\�!�\�\�!�\�\�#�	�"�\�\�!�\�\�!�\�\�#�	�!�[�[� �[�[� �[�[�"�	�!�[�[� �[�[� �[�[�"�	�!�[�[� �[�[� �[�[�"�	��	�9�5�	��	�9�5�	��	�9�5�	��	�9�5�	��	�9�5�	��6�6�6�*�+�+��!�$�q�'�'�"&�q�|�"<�"<�"<�	>�	>�	>�!�$�q�'�'�4��	�+B�+B�+B�C�C�C�!�$�q�v�"6�"6�"6��Q�W�8M�8M�8M�N�N�N����#�#�#��!�(�1�b�"�"5�"5�t�I���G�G�G����#�#�#��!�(�8�A�r�2�+>�+>��B�"G�"G�"&�y�/�/�	3�	3�	3����#�#�#��!�(�8�A�r�2�+>�+>��B�"G�"G�"&�y�/�/�	3�	3�	3����#�#�#��!�(�1�b�"�"5�"5�t�I���G�G�G����#�#�#��!�(�1�b�"�"5�"5�t�I���G�G�G����"�"�"��!�$�v�,�,��!��5�5�5�!�$�v�,�,��!��5�5�5�!�$�v�,�,��!��5�5�5���� � � ��!�$�v�,�,��!��5�5�5�!�$�v�,�,��!��5�5�5�!�$�v�,�,��!��5�5�5����"�"�"��!�$�q����A�A�A�q��z�"2�"2�A�a�a�a����A�g�J�?�?�?�!�$�q����A�A�A�q��z�"2�"2�A�a�a�a����A�g�J�?�?�?�!�$�q����A�A�A�q��z�"2�"2�A�a�a�a����A�g�J�?�?�?����"�"�"��!�$�q����A�q�q�q��z�"2�"2�A�a�a�a��A�A�A�g�J�?�?�?�!�$�q����A�q�q�q��z�"2�"2�A�a�a�a��A�A�A�g�J�?�?�?�!�$�q����A�q�q�q��z�"2�"2�A�a�a�a��A�A�A�g�J�?�?�?����"�"�"��!�$�y�/�/�8�A�a�D�"�b�3I�3I�J�J�J�!�$�y�/�/�8�A�a�D�"�b�3I�3I�J�J�J�!�$�y�/�/�8�A�a�D�"�b�3I�3I�J�J�J����"�"�"��!�$�y�/�/�"*�1�Q�Q�Q��1�1�1�W�:�r�2�">�">�	@�	@�	@�!�$�y�/�/�"*�1�Q�Q�Q��1�1�1�W�:�r�2�">�">�	@�	@�	@�!�$�y�/�/�"*�1�Q�Q�Q��1�1�1�W�:�r�2�">�">�	@�	@�	@�
���"�"�"��!�$�y�/�/�"*�1�Q�Q�Q����1�W�:�r�2�">�">�	@�	@�	@�!�$�y�/�/�"*�1�Q�Q�Q����1�W�:�r�2�">�">�	@�	@�	@�!�$�y�/�/�"*�1�Q�Q�Q����1�W�:�r�2�">�">�	@�	@�	@�
��������q���	G�	G�A��1�X�X�
G�
G��)�#�a��1�a�a�a��j�/�/�1�Q��1�1�1�W�:�F�F�F�F�
G���������q���	G�	G�A��1�X�X�
G�
G��)�#�a��1�1�1�a��j�/�/�1�Q����1�W�:�F�F�F�F�
G���������q���	G�	G�A��1�X�X�
G�
G��)�#�a����1�a��j�/�/�1�Q�Q�Q��1�W�:�F�F�F�F�
G�
�������!�!�Q�'�'�'�'�'r-c��gd�gd�g}gd�gd�gd�gd�g}t|d���}t|t|����t|d���}t|t|dd	�����dS)
Nrr�rMrrbr�rlrerr�rrrr�rlrl�rG)rbrlrH)rr�r^�small_x�large_x1r&s    r+�test_shape_argumentzTestFftn.test_shape_argumentxs����9�9��9�9��� �L�L� �L�L� �L�L� �L�L�"��

���'�'�'��!�!�T�(�^�^�4�4�4����'�'�'��!�!�T�(�3�B�3�-�%8�%8�9�9�9�9�9r-c�J�gd�gd�gd�g}tgd�gd�gd�gd�g��}t|dd	�
��}t|t|����t|dd�
��}t|ttt|dd
����dd
����dS)Nrrrrkrl)rrrrrmrnrKr
rMrHr	)rrrrrps    r+�test_shape_axes_argumentz!TestFftn.test_shape_axes_argument�s����9�9��9�9��9�9����,�,�,�&�,�,�&�,�,�&�,�,�(�)�)��
���X�6�6�6��!�!�T�(�^�^�4�4�4����X�6�6�6��!�!�X���(�B��+�+�,�,�b�"�&6�&6�	7�	7�	7�	7�	7r-c��tj�d��}t|dd���}t|t	|dd�����tj�d��}t|dd���}t|t	|d	d�����tj�d
��}t|dd���}t|tj�|dd�
����dS)N)r9rerbrrN)r)rrGrHr)rFr3rOr	rrr)rr)r
r0rrr
r7s   r+�test_shape_axes_argument2z"TestFftn.test_shape_axes_argument2�s����L���
�.�.�����d�+�+�+��!�!�S���q�%9�%9�%9�:�:�:�
�L���
�.�.�����d�+�+�+��!�!�S���q�%9�%9�%9�:�:�:�
�L���	�*�*������0�0�0��!�!�"'�)�.�.���V�.�"L�"L�	N�	N�	N�	N�	Nr-c��td��}ttd���5t|d���ddd��dS#1swxYwYdS)NrzBwhen given, axes and shape arguments have to be of the same length��match)rrrrMro)rrwrxr)r^r%s  r+�test_shape_argument_morez!TestFftn.test_shape_argument_more�s����)����
�:�"<�=�=�=�	(�	(�
��,�'�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�	(�	(s�A�A	�A	c��ttd���5tgg��ddd��n#1swxYwYttd���5tddgddggd��ddd��dS#1swxYwYdS�Nz4invalid number of data points \(\[1, 0\]\) specifiedryz5invalid number of data points \(\[4, -3\]\) specifiedrMrr)rwrxrr]s r+ryzTestFftn.test_invalid_sizes�s#��
�:�"6�7�7�7�	�	�
�"��J�J�J�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�:�"7�8�8�8�	,�	,�
�1�a�&�1�a�&�!�7�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,��4�8�8�A9�9A=�A=N)rzr{r|r_rhrirsrurwr{ryr}r-r+r0r0�s����������;�;�;�D(�D(�D(�L:�:�:�
7�
7�
7�N�N�N�"(�(�(�	,�	,�	,�	,�	,r-r0c�4�eZdZdZdZd�Zej�de	j
e	jdfe	je	j
dfg��d���Zej�dddg��ej�dgd	���d
�����Zd�ZdS)�	TestIfftnNc�D�tj�d��dSrYr�r]s r+r_zTestIfftn.setup_method�r�r-zdtype,cdtype,maxnlpr i�
c��tjgd�gd�gd�g|���}t|��}t|j|��t|t
|��|��td��}tt|��t
|��|��td��}tt|��t
|��|��dS)Nrrrr8r3r6)r"rrrr9rrKr0)r^r9�cdtype�maxnlpr%r&s      r+rhzTestIfftn.test_definition�s���
�H�i�i�i��i�i��i�i�!�(-�
/�
/�
/��
�!�H�H���Q�W�f�%�%�%�&�q�,�q�/�/�6�B�B�B��8����&�u�Q�x�x��a���&�I�I�I��=�!�!��&�u�Q�x�x��a���&�I�I�I�I�Ir-r�r()rMrr�� r��\c��t||g��dt||g��zz}ttt|����||��ttt|����||��dS)NrS)r0rrr)r^r�r(r%s    r+r�zTestIfftn.test_random_complex�sm��
�D�$�<� � �2�f�d�D�\�&:�&:�#:�:��&�u�T�!�W�W�~�~�q�&�A�A�A�&�t�E�!�H�H�~�~�q�&�A�A�A�A�Ar-c��ttd���5tgg��ddd��n#1swxYwYttd���5tddgddggd��ddd��dS#1swxYwYdSr})rwrxrr]s r+ryzTestIfftn.test_invalid_sizes�s#��
�:�"6�7�7�7�	�	�
�2�$�K�K�K�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�:�"7�8�8�8�	-�	-�
�A�q�6�A�q�6�"�G�,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-r~)rzr{r|r9r�r_r�r�r,r"r��
complex128r�r�rhr�ryr}r-r+r�r��s��������E�
�F�����[���2�!�z�2�=�$�?�!�z�2�<��>�@�A�A�J�J�A�A�J��[���X��d�|�4�4��[���V�%;�%;�%;�<�<�B�B�=�<�5�4�B�
	-�	-�	-�	-�	-r-r�c��eZdZd�ZdS)�	FakeArrayc�,�||_|j|_dSr/)�_data�__array_interface__r�s  r+r�zFakeArray.__init__�s����
�#'�#;�� � � r-N)rzr{r|r�r}r-r+r�r��s#������<�<�<�<�<r-r�c��eZdZd�Zd�ZdS)�
FakeArray2c��||_dSr/�r�r�s  r+r�zFakeArray2.__init__�s
����
�
�
r-c��|jSr/r�r]s r+�	__array__zFakeArray2.__array__�s
���z�r-N)rzr{r|r�r�r}r-r+r�r��s2�������������r-r�c�j�eZdZdZejejfZeejej	fzZ
gd�Zd�Zd�Z
ej�de
��ej�de��ej�ddd	g��ej�d
gd���d���������Zej�de��ej�de��ej�ddd	g��ej�d
gd���d
���������Zd�Zej�de
��ej�ddd	g��ej�d
gd���d�������ZdS)�
TestOverwritez4Check input overwrite behavior of the FFT functions.)rr>r�c��|���}d�ttfD]S}|||��|||���|j�d|j�|j�d|�d|�d|�d�}|st
||d|z�	���TdS)
Nc��|Sr/r})r%s r+�<lambda>z&TestOverwrite._check.<locals>.<lambda>�s��q�r-��overwrite_x�(z, z, axis=z, overwrite_x=�)zspurious overwrite in %s)r*)�copyr�r�rzr9rGr)	r^r%�routine�fftsizerFr�rp�fake�sigs	         r+�_checkzTestOverwrite._check�s���
�V�V�X�X�� �[�)�Z�8�	N�	N�D��G�D�D��H�H�g�t��E�E�E�E�� � � �!�'�'�1�7�7�7�G�G�G�T�T�T�;�;�;�P�C��
N��R��,F��,L�M�M�M�M��
	N�	Nr-c�\�tj�d��tj|tj��r+tjj|�dtjj|�zz}ntjj|�}|�|��}|�|||||���dS)NrZrSr�)r"r0r\�
issubdtype�complexfloating�randnr�r�)	r^r�r9rGrF�overwritable_dtypesr�r�r4s	         r+�	_check_1dzTestOverwrite._check_1ds���
�	���t����
�=��� 2�3�3�	+��9�?�E�*�R��	���0G�-G�G�D�D��9�?�E�*�D��{�{�5�!�!�����D�'�7�D� +�	�	-�	-�	-�	-�	-r-r9r�r�TFz
shape,axes))�r>rH)�r>rr)�rr>rMc	��tjtjf}|�t||||||��|�t
||||||��dSr/)r"r�r�r�r
r	�r^r9r�r�rGr�overwritables       r+�
test_fft_ifftzTestOverwrite.test_fft_ifftsf���
�r�|�4�����s�E�5�$����	-�	-�	-����t�U�E�4����	-�	-�	-�	-�	-r-c	��|j}|�t||||||��|�t||||||��dSr/)�real_dtypesr�rr
r�s       r+�test_rfft_irfftzTestOverwrite.test_rfft_irffts`���'�����u�e�U�D�,���	-�	-�	-����t�U�E�4����	-�	-�	-�	-�	-r-c�&�
�tj�d��tj|tj��r+tjj|�dtjj|�zz}ntjj|�}|�|��}�
fd��
|�|}n"ttj||����}�
|��D]F}	|�	|||	||���|j
dkr|�	|j||	||����GdS)NrZrSc3��K�t|��dkrdV�dS|ddz|d|ddzfD] }�|dd���D]
}|f|zV���!dS)Nrr}rrM)r<)�shprh�rest�
fftshape_iters   �r+r�z2TestOverwrite._check_nd_one.<locals>.fftshape_iter2s�������3�x�x�1�}�}��������a�&�!�)�S��V�S��V�A�X�6�*�*�A� -�
�c�!�"�"�g� 6� 6�*�*�� �d�T�k�)�)�)�)�*�*�*r-r�rM)r"r0r\r�r�r�r��tuple�taker��ndim�T)r^r�r9rGrr�r�r4�
part_shape�fftshaper�s          @r+�
_check_nd_onezTestOverwrite._check_nd_one)s-���
�	���t����
�=��� 2�3�3�	+��9�?�E�*�R��	���0G�-G�G�D�D��9�?�E�*�D��{�{�5�!�!��	*�	*�	*�	*�	*��<��J�J��r�w�u�d�3�3�4�4�J�%�
�j�1�1�	5�	5�H��K�K��g�x��$/�
�
1�
1�
1��y�1�}�}����D�F�G�X�t�(3��5�5�5��		5�	5r-)
)r�N)r�rP)r�rP)r��rM)�rr>N)r��rrM)�rr>rr�)r�rL)r�rP)r�r�)r�)r)r�N)r�rJc��tjtjf}|�t|||||��|�t
|||||��dSr/)r"r�r�r�rr)r^r9r�rGrr�s      r+�test_fftn_ifftnzTestOverwrite.test_fftn_ifftnFsf�� �
�r�|�4�����4���t�\�&�	(�	(�	(����5�%���l�&�	(�	(�	(�	(�	(r-N)rzr{r|�__doc__r"r�r�r�r�r��dtypes�fftsizesr�r�r�r�r,r�r�r�r�r}r-r+r�r��s2������>�>��:�r�z�*�K�
�B�L�"�-�8�
8�F��{�{�H�N�N�N�
-�
-�
-��[���W�f�-�-��[���Y��1�1��[���]�T�5�M�:�:��[���\�,:�,:�,:�;�;�-�-�;�;�;�:�2�1�.�-�-��[���W�k�2�2��[���Y��1�1��[���]�T�5�M�:�:��[���\�,:�,:�,:�;�;�-�-�;�;�;�:�2�1�3�2�-�5�5�5�:�[���W�f�-�-��[���]�T�5�M�:�:��[���\�,E�,E�,E�F�F�(�(�F�F�;�:�.�-�(�(�(r-r��funcc���tj�dd��}||d���}||tjddg�����}t	||��||d���}||tjdg�����}t	||��||dd	�
��}||tjddg��tjd
dg���
��}t	||��dS)Nr9)rererorerNrIrH)rlr)rMrr
rlrrMr)r"r0rrr)r��a�expect�actuals    r+�test_shape_axes_ndarrayr�]s���	�	���r�2���A�
�T�!�6�
"�
"�
"�F�
�T�!�2�8�Q��F�+�+�
,�
,�
,�F���� � � �
�T�!�%�
 �
 �
 �F�
�T�!�"�(�B�5�/�/�
*�
*�
*�F���� � � �
�T�!�6��
/�
/�
/�F�
�T�!�2�8�Q��F�+�+�"�(�A�q�6�2B�2B�
C�
C�
C�F���� � � � � r-)E�
numpy.testingrrrrrr�rrw�
scipy.fftpackr	r
rrr
rrr
rrrrrrrrrrrr"�	numpy.fft�numpy.randomrr�r-r�r.r,r0r5rArCrIrKrQrUrWrr�r�r�r�r�r�r�r�r�r�r�rrr0r�r�r�r�r�r,r�r}r-r+�<module>r�s���N�N�N�N�N�N�N�N�N�N�N�N�N�N�
�
�
�
�*�*�*�*�*�*�C�C�C�C�C�C�C�C�C�C�C�C�C�C�C�C�C�C�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�������������������
����	������
N�N�N�������
�
�
�
�
�
�
�
�
�
�
�
�

�

�

� 
 �
 �
 � #:�#:�#:�#:�#:�#:�#:�#:�L�����L����
�
�
�
�
�L�
�
�
�K�K�K�K�K�K�K�K�&E;�E;�E;�E;�E;�E;�E;�E;�P�����]���������]����)I�)I�)I�)I�)I�)I�)I�)I�X�����]���������]����4J�4J�4J�4J�4J�4J�4J�4J�t�����n���������n����C�C�C�C�C�C�C�C�$:4�:4�:4�:4�:4�:4�:4�:4�zU,�U,�U,�U,�U,�U,�U,�U,�p(-�(-�(-�(-�(-�(-�(-�(-�V<�<�<�<�<�<�<�<���������h(�h(�h(�h(�h(�h(�h(�h(�V�����$��t�!4�5�5�!�!�6�5�!�!�!r-

Youez - 2016 - github.com/yon3zu
LinuXploit