§
    fŠtjw  ã                   óX  — d dl mZmZmZmZmZ d dlZd dlmZ d dl	m
Z
mZmZmZmZmZmZ d dlmZmZmZmZmZmZmZmZmZmZ d dlZd dlZd dlmZ g d¢Z g d¢Z!d	gZ"d
gZ#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+ G d„ d¦  «        Z, G d„ de,¦  «        Z- G d„ de,¦  «        Z. G d„ d¦  «        Z/ G d„ d¦  «        Z0 G d„ de0¦  «        Z1 G d„ d e0¦  «        Z2 G d!„ d"¦  «        Z3 G d#„ d$e3¦  «        Z4 G d%„ d&e3¦  «        Z5 G d'„ d(¦  «        Z6 G d)„ d*e6¦  «        Z7 G d+„ d,e6¦  «        Z8 G d-„ d.¦  «        Z9 G d/„ d0¦  «        Z: G d1„ d2¦  «        Z; G d3„ d4¦  «        Z< G d5„ d6¦  «        Z= G d7„ d8¦  «        Z> G d9„ d:¦  «        Z?ej@         A                    d;eeeg¦  «        d<„ ¦   «         ZBdS )=é    )Úassert_Úassert_equalÚassert_array_almost_equalÚassert_array_almost_equal_nulpÚassert_array_lessN)Úraises)ÚifftÚfftÚfftnÚifftnÚrfftÚirfftÚfft2)
ÚarangeÚarrayÚasarrayÚzerosÚdotÚexpÚpiÚswapaxesÚdoubleÚcdouble©Úrand)i    i`  i  )é   é   é$   iÛ  é   c                 ó¸   — d|› d|› �}t          t          j                             | |z
  ¦  «        |t          j                             | ¦  «        z  |¦  «         d S )Nzsize: z  rdt: )r   ÚnpÚlinalgÚnorm)ÚxÚyÚrtolÚsizeÚrdtÚerr_msgs         ú\/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/fftpack/tests/test_basic.pyÚ_assert_close_in_normr+   #   sT   € à)�tÐ)Ð) CÐ)Ð)€GÝ•b”i—n’n Q¨¡UÑ+Ô+¨Tµ"´)·.².ÀÑ2CÔ2CÑ-CÀWÑMÔMÐMÐMÐMó    c                 ó   — t          | Ž S ©Nr   )r'   s    r*   Úrandomr/   )   s   € Ý�ˆ;Ðr,   c                 ó  — t          | ¦  «        } t          | ¦  «        }t          |t          ¬¦  «        }t	          |¦  «         dt
          z  |z  z  }t          |¦  «        D ]%}t          t          ||z  ¦  «        | ¦  «        ||<   Œ&|S ©N©Údtypeù               @©	r   Úlenr   r   r   r   Úranger   r   ©r$   Únr%   ÚwÚis        r*   Ú
direct_dftr<   -   s}   € Ý�‰
Œ
€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	          |¦  «        dt
          z  |z  z  }t          |¦  «        D ](}t          t          ||z  ¦  «        | ¦  «        |z  ||<   Œ)|S r1   r5   r8   s        r*   Údirect_idftr>   7   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          | ¦  «        } t          t          | j        ¦  «        ¦  «        D ]}t	          | |¬¦  «        } Œ| S ©N)Úaxis)r   r7   r6   Úshaper
   ©r$   rA   s     r*   Údirect_dftnrD   A   sE   € Ý�‰
Œ
€AÝ•c˜!œ'‘l”lÑ#Ô#ð ð ˆÝ�˜ÐÑÔˆˆØ€Hr,   c                 óŽ   — t          | ¦  «        } t          t          | j        ¦  «        ¦  «        D ]}t	          | |¬¦  «        } Œ| S r@   )r   r7   r6   rB   r	   rC   s     r*   Údirect_idftnrF   H   sE   € Ý�‰
Œ
€AÝ•c˜!œ'‘l”lÑ#Ô#ð ð ˆÝ�˜ÐÑÔˆˆØ€Hr,   c                 ó€  — t          | ¦  «        } t          | ¦  «        }t          |¦  «         dt          z  |z  z  }t	          |t
          ¬¦  «        }t          |dz  dz   ¦  «        D ]U}t          t          ||z  ¦  «        | ¦  «        }|r'|j	        |d|z  dz
  <   d|z  |k     r|j
        |d|z  <   ŒK|j	        |d<   ŒV|S )Nr4   r2   r   é   r   )r   r6   r   r   r   r   r7   r   r   ÚrealÚimag)r$   r9   r:   Úrr;   r%   s         r*   Údirect_rdftrL   O   sÄ   € Ý�‰
Œ
€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	          |dz  dz   ¦  «        D ]n}|r_d|z  |k     rD| d|z  dz
           d| d|z           z  z   ||<   | d|z  dz
           d| d|z           z  z
  |||z
  <   ŒQ| d|z  dz
           ||<   Œc| d         |d<   Œot          |¦  «        j        S )Nr2   r   rH   ù              ð?r   )r   r6   r   r   r7   r>   rI   )r$   r9   Úx1r;   s       r*   Údirect_irdftrP   _   sã   € Ý�‰
Œ
€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                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )Ú_TestFFTBasec                 ó`   — d | _         d | _        t          j                             d¦  «         d S ©NéÒ  )Úcdtr(   r!   r/   Úseed©Úselfs    r*   Úsetup_methodz_TestFFTBase.setup_methodp   s*   € ØˆŒØˆŒÝ
Œ	�Š�tÑÔÐÐÐr,   c                 ó^  — t          j        g d¢| j        ¬¦  «        }t          |¦  «        }t	          |j        | j        ¦  «         t          |¦  «        }t          ||¦  «         t          j        g d¢| j        ¬¦  «        }t          t          |¦  «        t          |¦  «        ¦  «         d S )N©rH   r   é   ù      @      ð?rH   r   r]   y      @       @r2   ©rH   r   r]   y      @        é   )r!   r   rV   r
   r   r3   r<   r   ©rY   r$   r%   Úy1s       r*   Útest_definitionz_TestFFTBase.test_definitionu   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                 óŠ  — t          j        g d¢| j        ¬¦  «        }t          j        g d¢| j        ¬¦  «        }t          ||gd¬¦  «        }t	          |j        | j        ¦  «         t	          |j        d¦  «         t          |d         t          |¦  «        ¦  «         t          |d         t          |¦  «        ¦  «         d S ©N©rH   r   r]   é   r2   rg   ©r9   ©r   rg   r   rH   )
r!   r   r(   r
   r   r3   rV   rB   r   r<   ©rY   rO   Ú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                 óŠ  — t          j        g d¢| j        ¬¦  «        }t          j        g d¢| j        ¬¦  «        }t          ||gd¬¦  «        }t	          |j        | j        ¦  «         t	          |j        d¦  «         t          |d         t          |¦  «        ¦  «         t          |d         t          |¦  «        ¦  «         d S )N)rH   r   r]   r^   r2   rg   rh   ri   r   rH   )	r!   r   rV   r
   r   r3   rB   r   r<   rj   s       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                 ó€   — t          t          t          g ¦  «         t          t          t          ddgddggd¦  «         d S ©NrH   r   éûÿÿÿ)Úassert_raisesÚ
ValueErrorr
   rX   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__rZ   rc   rl   rn   rt   © r,   r*   rR   rR   o   s_   € € € € € ðð ð ð
8ð 8ð 8ð7ð 7ð 7ð7ð 7ð 7ð:ð :ð :ð :ð :r,   rR   c                   ó   — e Zd Zd„ ZdS )ÚTestDoubleFFTc                 óJ   — t           j        | _        t           j        | _        d S r.   ©r!   Ú
complex128rV   Úfloat64r(   rX   s    r*   rZ   zTestDoubleFFT.setup_method–   ó   € Ý”=ˆŒÝ”:ˆŒˆˆr,   N©ru   rv   rw   rZ   rx   r,   r*   rz   rz   •   ó#   € € € € € ðð ð ð ð r,   rz   c                   ób   — e Zd Zd„ ZdZej                             de¬¦  «        d„ ¦   «         ZdS )ÚTestSingleFFTc                 óJ   — t           j        | _        t           j        | _        d S r.   ©r!   Ú	complex64rV   Úfloat32r(   rX   s    r*   rZ   zTestSingleFFT.setup_methodœ   ó   € Ý”<ˆŒÝ”:ˆŒˆˆr,   zusingle-precision FFT implementation is partially disabled, until accuracy issues with large prime powers are resolvedF)ÚrunÚreasonc                 ó   — d S r.   rx   rX   s    r*   Útest_noticezTestSingleFFT.test_notice£   s   € àˆr,   N)	ru   rv   rw   rZ   rŠ   ÚpytestÚmarkÚxfailrŒ   rx   r,   r*   rƒ   rƒ   ›   s\   € € € € € ðð ð ðK€Fð „[×Ò˜5¨ÐÑ0Ô0ðð ñ 1Ô0ðð ð r,   rƒ   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestFloat16FFTc                 óH  — t          j        g d¢t           j        ¬¦  «        }t          |d¬¦  «        }t	          |j        t           j        ¦  «         t	          |j        d¦  «         t          |t          | 
                    t           j        ¦  «        ¦  «        ¦  «         d S )Nrf   r2   rg   rh   )rg   ©r!   r   Úfloat16r
   r   r3   r†   rB   r   r<   Úastyper‡   )rY   rO   r%   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                 ó  — t          j        g d¢t           j        ¬¦  «        }t          j        g d¢t           j        ¬¦  «        }t          ||gd¬¦  «        }t	          |j        t           j        ¦  «         t	          |j        d¦  «         t          |d         t          | 
                    t           j        ¦  «        ¦  «        ¦  «         t          |d         t          | 
                    t           j        ¦  «        ¦  «        ¦  «         d S re   r“   rj   s       r*   rl   z#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)ru   rv   rw   r–   rl   rx   r,   r*   r‘   r‘   ¨   s:   € € € € € ðHð Hð HðKð Kð Kð Kð Kr,   r‘   c                   ó8   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )	Ú_TestIFFTBasec                 óD   — t           j                             d¦  «         d S rT   ©r!   r/   rW   rX   s    r*   rZ   z_TestIFFTBase.setup_method¼   ó   € Ý
Œ	�Š�tÑÔÐÐÐr,   c                 óZ  — t          j        g d¢| j        ¦  «        }t          |¦  «        }t	          |¦  «        }t          |j        | j        ¦  «         t          ||¦  «         t          j        g d¢| j        ¦  «        }t          t          |¦  «        t	          |¦  «        ¦  «         d S )Nr\   r_   )r!   r   rV   r	   r>   r   r3   r   ra   s       r*   rc   z_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                 ó�  — t          j        g d¢| j        ¦  «        }t          |¦  «        }t	          |j        | j        ¦  «         t          |¦  «        }t          ||¦  «         t          j        g d¢| j        ¬¦  «        }t	          |j        | j        ¦  «         t          t          |¦  «        t          |¦  «        ¦  «         d S )N©rH   r   r]   rg   rH   r   r]   rg   ©rH   r   r]   rg   r`   r2   )	r!   r   r(   r	   r   r3   rV   r>   r   ra   s       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                 óÔ  — dD ]ä}t          |g¦  «                             | j        ¦  «        }t          |g¦  «                             | j        ¦  «        d|z  z   }t          t	          |¦  «        ¦  «        }t	          t          |¦  «        ¦  «        }t          |j        | j        ¦  «         t          |j        | j        ¦  «         t          ||¦  «         t          ||¦  «         Œåd S )N©	rH   é3   éo   éd   éÈ   é@   é€   é   i   rN   )r/   r•   rV   r	   r
   r   r3   r   ©rY   r'   r$   rb   Ú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  — dD ]¶}t          |g¦  «                             | j        ¦  «        }t          t	          |¦  «        ¦  «        }t	          t          |¦  «        ¦  «        }t          |j        | j        ¦  «         t          |j        | j        ¦  «         t          ||¦  «         t          ||¦  «         Œ·d S )Nr£   )	r/   r•   r(   r	   r
   r   r3   rV   r   r«   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  — | j         t          j        k    rd}n| j         t          j        k    rd}t          t
          z   D �]f}t          j                             d¦  «         t          j                             |¦  «         	                    | j         ¦  «        }t          t          |¦  «        ¦  «        }t          ||||| j         ¦  «         t          t          |¦  «        ¦  «        }t          ||||| j         ¦  «         |dt          j                             |¦  «        z  z    	                    | j        ¦  «        }t          t          |¦  «        ¦  «        }t          ||||| j         ¦  «         t          t          |¦  «        ¦  «        }t          ||||| j         ¦  «         �Œhd S )Nçñhãˆµøä>ç»½×Ùß|Û=rU   rN   )r(   r!   r‡   r~   ÚLARGE_COMPOSITE_SIZESÚLARGE_PRIME_SIZESr/   rW   r   r•   r	   r
   r+   rV   ©rY   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                 ó€   — t          t          t          g ¦  «         t          t          t          ddgddggd¦  «         d S rp   )rr   rs   r	   rX   s    r*   rt   z _TestIFFTBase.test_invalid_sizesþ   ó:   € Ý•j¥$¨Ñ+Ô+Ð+Ý•j¥$¨!¨A¨°°!¨u¨°rÑ:Ô:Ð:Ð:Ð:r,   N)
ru   rv   rw   rZ   rc   r¡   r­   r¯   r¶   rt   rx   r,   r*   r™   r™   »   s}   € € € € € ðð ð ð:ð :ð :ð	:ð 	:ð 	:ð	-ð 	-ð 	-ð-ð -ð -ð>ð >ð >ð*;ð ;ð ;ð ;ð ;r,   r™   c                   ó   — e Zd Zd„ ZdS )ÚTestDoubleIFFTc                 óJ   — t           j        | _        t           j        | _        d S r.   r|   rX   s    r*   rZ   zTestDoubleIFFT.setup_method  r   r,   Nr€   rx   r,   r*   rº   rº     r�   r,   rº   c                   ó   — e Zd Zd„ ZdS )ÚTestSingleIFFTc                 óJ   — t           j        | _        t           j        | _        d S r.   r…   rX   s    r*   rZ   zTestSingleIFFT.setup_method
  rˆ   r,   Nr€   rx   r,   r*   r½   r½   	  r�   r,   r½   c                   óF   — e Zd Zd„ Zd„ Zd„ Z G d„ d¦  «        Zd„ Zd„ ZdS )	Ú_TestRFFTBasec                 óD   — t           j                             d¦  «         d S rT   r›   rX   s    r*   rZ   z_TestRFFTBase.setup_method  rœ   r,   c                 óâ   — g d¢g d¢fD ]e}t          j        || j        ¬¦  «        }t          |¦  «        }t	          |¦  «        }t          ||¦  «         t          |j        | j        ¦  «         Œfd S )NrŸ   ©	rH   r   r]   rg   rH   r   r]   rg   r`   r2   )r!   r   r(   r   rL   r   r   r3   )rY   Útr$   r%   rb   s        r*   rc   z_TestRFFTBase.test_definition  s€   € Ø*Ð*Ð*Ð,GÐ,GÐ,GÐHð 	,ð 	,ˆAÝ”˜ $¤(Ð+Ñ+Ô+ˆAÝ�Q‘”ˆAÝ˜Q‘”ˆBÝ% a¨Ñ+Ô+Ð+Ý˜œ $¤(Ñ+Ô+Ð+Ð+ð	,ð 	,r,   c                 ó€   — t          t          t          g ¦  «         t          t          t          ddgddggd¦  «         d S rp   )rr   rs   r   rX   s    r*   rt   z _TestRFFTBase.test_invalid_sizes  r¸   r,   c                   ó   — e Zd Zd„ Zd„ ZdS )ú_TestRFFTBase.MockSeriesc                 ó8   — t          j        |¦  «        | _        d S r.   )r!   r   Údata©rY   rÉ   s     r*   Ú__init__z!_TestRFFTBase.MockSeries.__init__!  s   € Ýœ
 4Ñ(Ô(ˆDŒIˆIˆIr,   c                 óz   — 	 t          | j        |¦  «        S # t          $ r}t          d|› d�¦  «        |‚d }~ww xY w)Nz&'MockSeries' object has no attribute 'ú')ÚgetattrrÉ   ÚAttributeError)rY   ÚitemÚes      r*   Ú__getattr__z$_TestRFFTBase.MockSeries.__getattr__$  sp   € ðKÝ˜tœy¨$Ñ/Ô/Ð/øÝ!ð Kð Kð KÝ$ð &CØ;?ð&Cð &Cð &Cñ Dô DØIJðKøøøøðKøøøs   ‚ —
:¡5µ:N)ru   rv   rw   rË   rÒ   rx   r,   r*   Ú
MockSeriesrÇ      s7   € € € € € ð	)ð 	)ð 	)ð	Kð 	Kð 	Kð 	Kð 	Kr,   rÓ   c                 óÖ   — t          j        g d¢¦  «        }t                               |¦  «        }g d¢}t	          |¦  «         t          ||¦  «         t          |j        |¦  «         d S )N)g      ð?g       @g      @g      @g      @r    )r!   r   rÀ   rÓ   r   r   rÉ   )rY   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   — t          t          t          t          j        dt          j        ¬¦  «        ¦  «         d S ©Nrg   r2   )rr   Ú	TypeErrorr   r!   r   r†   rX   s    r*   Útest_complex_inputz _TestRFFTBase.test_complex_input6  s+   € Ý•i¥¥r¤y°½"¼,Ð'GÑ'GÔ'GÑHÔHÐHÐHÐHr,   N)	ru   rv   rw   rZ   rc   rt   rÓ   r×   rÛ   rx   r,   r*   rÀ   rÀ     s”   € € € € € ðð ð ð,ð ,ð ,ð;ð ;ð ;ð
	Kð 	Kð 	Kð 	Kð 	Kñ 	Kô 	Kð 	Kð	(ð 	(ð 	(ðIð Ið Ið Ið Ir,   rÀ   c                   ó   — e Zd Zd„ ZdS )ÚTestRFFTDoublec                 óJ   — t           j        | _        t           j        | _        d S r.   r|   rX   s    r*   rZ   zTestRFFTDouble.setup_method;  r   r,   Nr€   rx   r,   r*   rÝ   rÝ   :  r�   r,   rÝ   c                   ó   — e Zd Zd„ ZdS )ÚTestRFFTSinglec                 óJ   — t           j        | _        t           j        | _        d S r.   r…   rX   s    r*   rZ   zTestRFFTSingle.setup_methodA  rˆ   r,   Nr€   rx   r,   r*   rà   rà   @  r�   r,   rà   c                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )Ú_TestIRFFTBasec                 óD   — t           j                             d¦  «         d S rT   r›   rX   s    r*   rZ   z_TestIRFFTBase.setup_methodG  rœ   r,   c                 ób   ‡ — g d¢}g d¢}g d¢}g d¢}ˆ fd„} |||¦  «          |||¦  «         d S )NrŸ   )rH   ù       @      @r^   ræ   rg   ù       @      Àù      @      ð¿rç   rÃ   )	rH   ræ   r^   ræ   y      @      @y      @      Àrç   rè   rç   c                 ó   •— t          t          j        | ‰j        ¬¦  «        ¦  «        }t	          | ¦  «        }t          |j        ‰j        ¦  «         t          ||‰j        ¬¦  «         t          |t          |¦  «        ‰j        ¬¦  «         d S )Nr2   )Údecimal)
r   r!   r   r(   rP   r   r3   r   Úndecr	   )r$   Úxrr%   rb   rY   s       €r*   Ú_testz-_TestIRFFTBase.test_definition.<locals>._testP  sz   ø€ Ý•b”h˜q¨¬Ð1Ñ1Ô1Ñ2Ô2ˆAÝ˜a‘”ˆBÝ˜œ $¤(Ñ+Ô+Ð+Ý% a¨°D´IÐ>Ñ>Ô>Ð>Ý% a­¨R©¬¸$¼)ÐDÑDÔDÐDÐDÐDr,   rx   )rY   rO   Úx1_1rk   Úx2_1rí   s   `     r*   rc   z_TestIRFFTBase.test_definitionJ  sq   ø€ ØÐÐˆØ2Ð2Ð2ˆØ Ð Ð ˆØ:Ð:Ð:ˆð	Eð 	Eð 	Eð 	Eð 	Eð 	ˆˆb�$‰ŒˆØˆˆb�$‰Œˆˆˆr,   c                 ó¤  — dD ]Ì}t          |g¦  «                             | j        ¦  «        }t          t	          |¦  «        ¦  «        }t	          t          |¦  «        ¦  «        }t          |j        | j        ¦  «         t          |j        | j        ¦  «         t          ||| j        d|› �¬¦  «         t          ||| j        d|› �¬¦  «         ŒÍd S )Nr£   zsize=)rê   r)   )	r/   r•   r(   r   r   r   r3   r   rë   r«   s        r*   r¯   z_TestIRFFTBase.test_random_realZ  sÉ   € Ø6ð 	Xð 	XˆDÝ˜�v‘”×%Ò% d¤hÑ/Ô/ˆAÝ•t˜A‘w”w‘”ˆBÝ•e˜A‘h”h‘”ˆBÝ˜œ 4¤8Ñ,Ô,Ð,Ý˜œ 4¤8Ñ,Ô,Ð,Ý% b¨!°T´YÈÐPTÈÈÐWÑWÔWÐWÝ% b¨!°T´YÈÐPTÈÈÐWÑWÔWÐWÐWð	Xð 	Xr,   c                 ó  — | j         t          j        k    rd}n| j         t          j        k    rd}t          t
          z   D ]À}t          j                             d¦  «         t          j                             |¦  «         	                    | j         ¦  «        }t          t          |¦  «        ¦  «        }t          ||||| j         ¦  «         t          t          |¦  «        ¦  «        }t          ||||| j         ¦  «         ŒÁd S )Nr±   r²   rU   )r(   r!   r‡   r~   r³   r´   r/   rW   r   r•   r   r   r+   rµ   s        r*   r¶   z!_TestIRFFTBase.test_size_accuracyd  s×   € àŒ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                 ó€   — t          t          t          g ¦  «         t          t          t          ddgddggd¦  «         d S rp   )rr   rs   r   rX   s    r*   rt   z!_TestIRFFTBase.test_invalid_sizess  s:   € Ý•j¥%¨Ñ,Ô,Ð,Ý•j¥%¨1¨Q¨%°°1°¨¸Ñ;Ô;Ð;Ð;Ð;r,   c                 óx   — t          t          t          t          j        dt          j        ¬¦  «        ¦  «         d S rÙ   )rr   rÚ   r   r!   r   r†   rX   s    r*   rÛ   z!_TestIRFFTBase.test_complex_inputw  s+   € Ý•i¥­¬	°!½2¼<Ð(HÑ(HÔ(HÑIÔIÐIÐIÐIr,   N)	ru   rv   rw   rZ   rc   r¯   r¶   rt   rÛ   rx   r,   r*   rã   rã   F  sv   € € € € € ðð ð ðð ð ð Xð Xð Xð>ð >ð >ð<ð <ð <ðJð Jð Jð Jð Jr,   rã   c                   ó   — e Zd Zd„ ZdS )ÚTestIRFFTDoublec                 óX   — t           j        | _        t           j        | _        d| _        d S )Né   )r!   r}   rV   r~   r(   rë   rX   s    r*   rZ   zTestIRFFTDouble.setup_method  s   € Ý”=ˆŒÝ”:ˆŒØˆŒ	ˆ	ˆ	r,   Nr€   rx   r,   r*   rõ   rõ   ~  s#   € € € € € ðð ð ð ð r,   rõ   c                   ó   — e Zd Zd„ ZdS )ÚTestIRFFTSinglec                 óX   — t           j        | _        t           j        | _        d| _        d S )Nr`   )r!   r†   rV   r‡   r(   rë   rX   s    r*   rZ   zTestIRFFTSingle.setup_method†  s   € Ý”<ˆŒÝ”:ˆŒØˆŒ	ˆ	ˆ	r,   Nr€   rx   r,   r*   rù   rù   …  s#   € € € € € ðð ð ð ð r,   rù   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestfft2c                 óD   — t           j                             d¦  «         d S rT   r›   rX   s    r*   rZ   zTestfft2.setup_method�  rœ   r,   c                 ó¶   — t          j        d¦  «        }t          |dd¬¦  «        }t           j                             |dd¬¦  «        }t          ||¦  «         dS )z-FFT returns wrong result with axes parameter.©rg   rg   r   ©é   r  ©éýÿÿÿéþÿÿÿ©rB   Úaxes)Úsr  N)ÚnumpyÚonesr   r
   r   r   ©rY   r$   r%   Úy_rs       r*   Útest_regression_244zTestfft2.test_regression_244�  sV   € õ ŒJ�yÑ!Ô!ˆÝ�˜& xÐ0Ñ0Ô0ˆÝŒi�nŠn˜Q &¨xˆnÑ8Ô8ˆÝ! ! SÑ)Ô)Ð)Ð)Ð)r,   c                 ó‚   — t          t          t          g g¦  «         t          t          t          ddgddggd¦  «         d S )NrH   r   ©rg   r  )rr   rs   r   rX   s    r*   rt   zTestfft2.test_invalid_sizes™  s=   € Ý•j¥$¨¨Ñ-Ô-Ð-Ý•j¥$¨!¨Q¨°!°Q°Ð(8¸'ÑBÔBÐBÐBÐBr,   N)ru   rv   rw   rZ   r  rt   rx   r,   r*   rü   rü   Œ  sF   € € € € € ðð ð ð*ð *ð *ðCð Cð Cð Cð Cr,   rü   c                   óX  — e Zd Zd„ Zd„ Zej                             dee	z   ¦  «        d„ ¦   «         Z
ej                             deez   ¦  «        d„ ¦   «         Zd„ Zej                             dee	z   ¦  «        d„ ¦   «         Zej                             deez   ¦  «        d„ ¦   «         Zd	S )
ÚTestFftnSinglec                 óD   — t           j                             d¦  «         d S rT   r›   rX   s    r*   rZ   zTestFftnSingle.setup_methodŸ  rœ   r,   c                 ó4  — g d¢g d¢g d¢g}t          t          j        |t          j        ¦  «        ¦  «        }t	          |j        t          j        k    d¬¦  «         t          j        t          |¦  «        t          j        ¦  «        }t          ||¦  «         d S )N©rH   r   r]   ©rg   r`   é   ©é   r  é	   z-double precision output with single precision)Úmsg)r   r!   r   r‡   r   r3   r†   r   r
  s       r*   rc   zTestFftnSingle.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                 ó  — t           j                             d¦  «        }|                     ||f¦  «        d|                     ||f¦  «        z  z   }t          |j                             t           j        ¦  «        ¦  «        }t          |j                             t           j        ¦  «        ¦  «                             t           j        ¦  «        }t          |j
        t           j        ¦  «         t          ||d¦  «         d S )NrU   rN   éÐ  ©r!   r/   Údefault_rngr   rI   r•   r‡   r~   r†   r   r3   r   ©rY   r'   Úrngr$   rb   r¬   s         r*   Útest_size_accuracy_smallz'TestFftnSingle.test_size_accuracy_small­  s¼   € åŒi×#Ò# DÑ)Ô)ˆØ�JŠJ˜˜d�|Ñ$Ô$ r¨#¯*ª*°d¸D°\Ñ*BÔ*BÑ'BÑBˆÝ�!”&—-’-¥¤
Ñ+Ô+Ñ,Ô,ˆÝ�!”&—-’-¥¤
Ñ+Ô+Ñ,Ô,×3Ò3µB´LÑAÔAˆå�R”X�rœ|Ñ,Ô,Ð,Ý& r¨2¨tÑ4Ô4Ð4Ð4Ð4r,   c                 óò  — t           j                             d¦  «        } |j        |df¦  «        d |j        |df¦  «        z  z   }t          |j                             t           j        ¦  «        ¦  «        }t          |j                             t           j        ¦  «        ¦  «                             t           j        ¦  «        }t          |j
        t           j        ¦  «         t          ||d¦  «         d S )NrU   r]   rN   r  r  )rY   r'   r   r$   rb   r¬   s         r*   Útest_size_accuracy_largez'TestFftnSingle.test_size_accuracy_large·  s¼   € åŒy×$Ò$ TÑ*Ô*ˆØˆDŒK˜˜q˜	Ñ"Ô" R¨¨¬°T¸1°IÑ(>Ô(>Ñ%>Ñ>ˆÝ�!”&—-’-¥¤
Ñ+Ô+Ñ,Ô,ˆÝ�!”&—-’-¥¤
Ñ+Ô+Ñ,Ô,×3Ò3µB´LÑAÔAˆå�R”X�rœ|Ñ,Ô,Ð,Ý& r¨2¨tÑ4Ô4Ð4Ð4Ð4r,   c                 ó*  — g d¢g d¢g d¢g}t          t          j        |t          j        ¦  «        ¦  «        }t	          |j        t          j        ¦  «         t          j        t          |¦  «        t          j        ¦  «        }t          ||¦  «         d S )Nr  r  r  )r   r!   r   r”   r   r3   r†   r   r
  s       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                 ó  — t           j                             d¦  «        }|                     ||f¦  «        d|                     ||f¦  «        z  z   }t          |j                             t           j        ¦  «        ¦  «        }t          |j                             t           j        ¦  «        ¦  «                             t           j        ¦  «        }t          |j
        t           j        ¦  «         t          ||d¦  «         d S )NrU   rN   g    €„A©r!   r/   r  r   rI   r•   r”   r~   r†   r   r3   r   r  s         r*   Útest_float16_input_smallz'TestFftnSingle.test_float16_input_smallÊ  s¼   € åŒi×#Ò# DÑ)Ô)ˆØ�JŠJ˜˜d�|Ñ$Ô$ r¨C¯JªJ¸¸d°|Ñ,DÔ,DÑ'DÑDˆÝ�!”&—-’-¥¤
Ñ+Ô+Ñ,Ô,ˆÝ�!”&—-’-¥¤
Ñ+Ô+Ñ,Ô,×3Ò3µB´LÑAÔAˆå�R”X�rœ|Ñ,Ô,Ð,Ý& r¨2¨sÑ3Ô3Ð3Ð3Ð3r,   c                 ó  — t           j                             d¦  «        }|                     |df¦  «        d|                     |df¦  «        z  z   }t          |j                             t           j        ¦  «        ¦  «        }t          |j                             t           j        ¦  «        ¦  «                             t           j        ¦  «        }t          |j
        t           j        ¦  «         t          ||d¦  «         d S )NrU   r]   rN   g    €„>Ar&  r  s         r*   Útest_float16_input_largez'TestFftnSingle.test_float16_input_largeÔ  s¼   € åŒi×#Ò# DÑ)Ô)ˆØ�JŠJ˜˜a�yÑ!Ô! B s§z¢z°4¸°)Ñ'<Ô'<Ñ$<Ñ<ˆÝ�!”&—-’-¥¤
Ñ+Ô+Ñ,Ô,ˆÝ�!”&—-’-¥¤
Ñ+Ô+Ñ,Ô,×3Ò3µB´LÑAÔAˆå�R”X�rœ|Ñ,Ô,Ð,Ý& r¨2¨sÑ3Ô3Ð3Ð3Ð3r,   N)ru   rv   rw   rZ   rc   r�   rŽ   ÚparametrizeÚSMALL_COMPOSITE_SIZESÚSMALL_PRIME_SIZESr   r³   r´   r"  r$  r'  r)  rx   r,   r*   r  r  ž  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,   r  c                   ó>   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	S )
ÚTestFftnc                 óD   — t           j                             d¦  «         d S rT   r›   rX   s    r*   rZ   zTestFftn.setup_methodà  rœ   r,   c                 óX  — g d¢g d¢g d¢g}t          |¦  «        }t          |t          |¦  «        ¦  «         t          d¦  «        }t          t          |¦  «        t          |¦  «        ¦  «         t          d¦  «        }t          t          |¦  «        t          |¦  «        ¦  «         d S )Nr  r  r  ©é   é   ©r`   rg   r]   r2  )r   r   rD   r/   ©rY   r$   r%   s      r*   rc   zTestFftn.test_definitionã  s™   € ØˆYˆYØˆYˆYØˆYˆYðˆõ �‰GŒGˆÝ! !¥[°¡^¤^Ñ4Ô4Ð4å�8ÑÔˆÝ!¥$ q¡'¤'­;°q©>¬>Ñ:Ô:Ð:å�=Ñ!Ô!ˆÝ!¥$ q¡'¤'­;°q©>¬>Ñ:Ô:Ð:Ð:Ð:r,   c                 óB  — g d¢g d¢g d¢g}g d¢g d¢g d¢g}g d¢g d¢g d	¢g}g d¢g d¢g d¢g}g d¢g d¢g d¢g}g d¢g d¢g d	¢g}g d
¢g d¢g d¢g}g d¢g d¢g d¢g}g d¢g d¢g d¢g}	g d¢g d¢g d¢g}
g d¢g d¢g d¢g}g d¢g d¢g d¢g}g d¢g d¢g d¢g}g d¢g d¢g d¢g}g d¢g d¢g d¢g}g d
¢g d¢g d¢g}g d¢g d¢g d¢g}g d¢g d¢g d¢g}|||	g}|
||g}|||g}|||g}|||g}t          |||g¦  «        }t          t          |¦  «        t          |d¬¦  «        ¦  «         t          t          |¦  «        t          |d¬¦  «        ¦  «         t          t          |d¬¦  «        t          |d ¬¦  «        ¦  «         t          |d!¬¦  «        }t          t          |d"d#¦  «        t          |¦  «        ¦  «         t          |d$¬¦  «        }t          t          t          |d"d#¦  «        d"d%¦  «        t          |¦  «        ¦  «         t          |d&¬¦  «        }t          t          t          |d"d#¦  «        d#d%¦  «        t          |¦  «        ¦  «         t          |d'¬¦  «        }t          t          |d%d#¦  «        t          |¦  «        ¦  «         t          |d(¬¦  «        }t          t          |d%d"¦  «        t          |¦  «        ¦  «         t          |d)¬¦  «        }t          t          |¦  «        |d*         ¦  «         t          t          |¦  «        |d+         ¦  «         t          t          |¦  «        |d,         ¦  «         t          |d-¬¦  «        }t          t          |¦  «        |d*         ¦  «         t          t          |¦  «        |d+         ¦  «         t          t          |¦  «        |d,         ¦  «         t          |d.¬¦  «        }t          t          |d d …d d …d*f         ¦  «        |d d …d d …d*f         ¦  «         t          t          |d d …d d …d+f         ¦  «        |d d …d d …d+f         ¦  «         t          t          |d d …d d …d,f         ¦  «        |d d …d d …d,f         ¦  «         t          |d/¬¦  «        }t          t          |d d …d*d d …f         ¦  «        |d d …d*d d …f         ¦  «         t          t          |d d …d+d d …f         ¦  «        |d d …d+d d …f         ¦  «         t          t          |d d …d,d d …f         ¦  «        |d d …d,d d …f         ¦  «         t          |d0¬¦  «        }t          t          |¦  «        t          |d*         d%d"¦  «        ¦  «         t          t          |¦  «        t          |d+         d%d"¦  «        ¦  «         t          t          |¦  «        t          |d,         d%d"¦  «        ¦  «         t          |d1¬¦  «        }t          t          |¦  «        t          |d d …d*d d …f         d"d%¦  «        ¦  «         t          t          |¦  «        t          |d d …d+d d …f         d"d%¦  «        ¦  «         t          t          |¦  «        t          |d d …d,d d …f         d"d%¦  «        ¦  «         t          |d2¬¦  «        }t          t          |¦  «        t          |d d …d d …d*f         d"d%¦  «        ¦  «         t          t          |¦  «        t          |d d …d d …d+f         d"d%¦  «        ¦  «         t          t          |	¦  «        t          |d d …d d …d,f         d"d%¦  «        ¦  «         t          |d3¬¦  «        }t	          d4¦  «        D ]G}t	          d4¦  «        D ]5}t          t          |||d d …f         ¦  «        |||d d …f         ¦  «         Œ6ŒHt          |d5¬¦  «        }t	          d4¦  «        D ]G}t	          d4¦  «        D ]5}t          t          ||d d …|f         ¦  «        ||d d …|f         ¦  «         Œ6ŒHt          |d6¬¦  «        }t	          d4¦  «        D ]G}t	          d4¦  «        D ]5}t          t          |d d …||f         ¦  «        |d d …||f         ¦  «         Œ6ŒHt          |d7¬¦  «        }t          ||¦  «         d S )8Nr  r  r  )é
   é   é   )é   r÷   é   )é   é   é   )é   r2  é   )é   é   é   )é   r3  é   )rH   r7  r?  )rg   r:  rA  )r  r<  rD  )r   r8  r2  )r`   r÷   rB  )r  r=  r3  )r]   r9  r@  )r  r;  rC  )r  r>  rE  )rH   rg   r  )r7  r:  r<  )r?  rA  rD  )r   r`   r  )r8  r÷   r=  )r2  rB  r3  )r]   r  r  )r9  r;  r>  )r@  rC  rE  )r  r  éÿÿÿÿ©r  ©r   rH   r   )r   r   )r   rF  )r   rH   r   rF  r  )r   r   rH   r  )rH   r   r   )rH   r   r   )r   r   rH   ©r  rF  r   rH   r   ©rH   r   r  )r  rF  ©rF  r  )rF  r  )r  r  ©rF  r]   ©r  ©r   rx   )r   r   r   r   r7   r
   )rY   Ú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_argumentzTestFftn.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                 óú   — g d¢g d¢g}g d¢g d¢g d¢g d¢g}t          |d¬¦  «        }t          |t          |¦  «        ¦  «         t          |d¬¦  «        }t          |t          |d d	…         ¦  «        ¦  «         d S )
Nr  r  ©rH   r   r]   r   ©rg   r`   r  r   ©r   r   r   r   ©rg   rg   ©rB   )r]   rg   rF  )r   r   ©rY   Úsmall_xÚlarge_x1r%   s       r*   Útest_shape_argumentzTestFftn.test_shape_argumentv  sœ   € Ø�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  — g d¢g d¢g d¢g}t          g d¢g d¢g d¢g d¢g¦  «        }t          |dd	¬
¦  «        }t          |t          |¦  «        ¦  «         t          |dd¬
¦  «        }t          |t          t          t          |dd¦  «        ¦  «        dd¦  «        ¦  «         d S )Nr  r  r  ri  rj  )r  r  r  r   rk  rl  rI  r  rK  rF  r  )r   r   r   r   rn  s       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                 ó  — t           j                             d¦  «        }t          |dd¬¦  «        }t          |t	          |dd¬¦  «        ¦  «         t           j                             d¦  «        }t          |dd¬¦  «        }t          |t	          |d	d¬¦  «        ¦  «         t           j                             d
¦  «        }t          |dd¬¦  «        }t          |t           j                             |dd¬¦  «        ¦  «         d S )N)r7  r`   r]   r  rL  )r  )r  rB   rF  r  )rA   r9   rM  r  rÿ   r  r   )r  r  )r  r/   r   r   r
   r5  s      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ð 	Nr,   c                 ó¤   — t          d¦  «        }t          t          d¬¦  «        5  t          |d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrÿ   zBwhen given, axes and shape arguments have to be of the same length©Úmatch)r  r  r   rH   rm  )r   rr   rs   r   )rY   r$   s     r*   Útest_shape_argument_morez!TestFftn.test_shape_argument_more¤  s¤   € Ý�)ÑÔˆÝ�:ð"<ð=ñ =ô =ð 	(ð 	(õ �˜,Ð'Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(s   ¦AÁA	ÁA	c                 ó  — t          t          d¬¦  «        5  t          g g¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  t          ddgddggd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©Nz4invalid number of data points \(\[1, 0\]\) specifiedrw  z5invalid number of data points \(\[4, -3\]\) specifiedrH   r   r  )rr   rs   r   rX   s    r*   rt   zTestFftn.test_invalid_sizes«  s#  € Ý�:ð"6ð7ñ 7ô 7ð 	ð 	õ �"�‰JŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ
 �:ð"7ð8ñ 8ô 8ð 	,ð 	,õ �1�a�&˜1˜a˜&Ð! 7Ñ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ó   —4´8»8ÁA9Á9A=Â A=N)ru   rv   rw   rZ   rc   rg  rq  rs  ru  ry  rt   rx   r,   r*   r.  r.  ß  s“   € € € € € ðð ð ð;ð ;ð ;ðD(ð D(ð D(ðL:ð :ð :ð7ð 7ð 7ðNð Nð Nð"(ð (ð (ð	,ð 	,ð 	,ð 	,ð 	,r,   r.  c                   ó4  — e Zd ZdZdZd„ Zej                             de	j
        e	j        dfe	j        e	j        dfg¦  «        d„ ¦   «         Zej                             dddg¦  «        ej                             dg d	¢¦  «        d
„ ¦   «         ¦   «         Zd„ ZdS )Ú	TestIfftnNc                 óD   — t           j                             d¦  «         d S rT   r›   rX   s    r*   rZ   zTestIfftn.setup_method»  rœ   r,   zdtype,cdtype,maxnlpr  i¬  c                 ó  — t           j                             d¦  «        }t          j        g d¢g d¢g d¢g|¬¦  «        }t	          |¦  «        }t          |j        |¦  «         t          |t          |¦  «        |¦  «         |                     d¦  «        }t          t	          |¦  «        t          |¦  «        |¦  «         |                     d¦  «        }t          t	          |¦  «        t          |¦  «        |¦  «         d S )NrU   r  r  r  r2   r1  r4  )	r!   r/   r  r   r   r   r3   r   rF   )rY   r3   ÚcdtypeÚmaxnlpr  r$   r%   s          r*   rc   zTestIfftn.test_definition¾  sæ   € õ Œi×#Ò# DÑ)Ô)ˆÝŒH�i�i�iØ�i�iØ�i�ið!à(-ð/ñ /ô /ˆõ �!‰HŒHˆÝ�Q”W˜fÑ%Ô%Ð%Ý& q­,°q©/¬/¸6ÑBÔBÐBà�JŠJ�xÑ Ô ˆÝ&¥u¨Q¡x¤xµ¸a±´À&ÑIÔIÐIà�JŠJ�}Ñ%Ô%ˆÝ&¥u¨Q¡x¤xµ¸a±´À&ÑIÔIÐIÐIÐIr,   r‚  r'   )rH   r   r¤   é    r¨   é\   c                 óT  — t           j                             d¦  «        }|                     ||g¦  «        d|                     ||g¦  «        z  z   }t          t	          t          |¦  «        ¦  «        ||¦  «         t          t          t	          |¦  «        ¦  «        ||¦  «         d S )NrU   rN   )r!   r/   r  r   r   r   )rY   r‚  r'   r  r$   s        r*   r­   zTestIfftn.test_random_complexÐ  sŠ   € õ Œi×#Ò# DÑ)Ô)ˆØ�JŠJ˜˜d�|Ñ$Ô$ r¨C¯JªJ¸¸d°|Ñ,DÔ,DÑ'DÑDˆÝ&¥u­T°!©W¬W¡~¤~°q¸&ÑAÔAÐAÝ&¥t­E°!©H¬H¡~¤~°q¸&ÑAÔAÐAÐAÐAr,   c                 ó  — t          t          d¬¦  «        5  t          g g¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  t          ddgddggd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r{  )rr   rs   r   rX   s    r*   rt   zTestIfftn.test_invalid_sizesØ  s#  € Ý�:ð"6ð7ñ 7ô 7ð 	ð 	õ �2�$‰KŒKˆKð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ
 �:ð"7ð8ñ 8ô 8ð 	-ð 	-õ �A�q�6˜A˜q˜6Ð" GÑ,Ô,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-ð 	-ð 	-r|  )ru   rv   rw   r3   r�  rZ   r�   rŽ   r*  r!   r~   r}   r‡   r†   rc   r­   rt   rx   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                   ó   — e Zd Zd„ ZdS )Ú	FakeArrayc                 ó,   — || _         |j        | _        d S r.   )Ú_dataÚ__array_interface__rÊ   s     r*   rË   zFakeArray.__init__å  s   € ØˆŒ
Ø#'Ô#;ˆÔ Ð Ð r,   N)ru   rv   rw   rË   rx   r,   r*   rˆ  rˆ  ä  s#   € € € € € ð<ð <ð <ð <ð <r,   rˆ  c                   ó   — e Zd Zd„ Zdd„ZdS )Ú
FakeArray2c                 ó   — || _         d S r.   ©rŠ  rÊ   s     r*   rË   zFakeArray2.__init__ë  s   € ØˆŒ
ˆ
ˆ
r,   Nc                 ó   — | j         S r.   r�  )rY   r3   Úcopys      r*   Ú	__array__zFakeArray2.__array__î  s
   € ØŒzÐr,   )NN)ru   rv   rw   rË   r’  rx   r,   r*   r�  r�  ê  s7   € € € € € ðð ð ðð ð ð ð ð r,   r�  c                   ój  — e Zd ZdZej        ej        fZeej        ej	        fz   Z
g d¢Zd„ Zd„ Zej                             de
¦  «        ej                             de¦  «        ej                             ddd	g¦  «        ej                             d
g d¢¦  «        d„ ¦   «         ¦   «         ¦   «         ¦   «         Zej                             de¦  «        ej                             de¦  «        ej                             ddd	g¦  «        ej                             d
g d¢¦  «        d„ ¦   «         ¦   «         ¦   «         ¦   «         Zd„ Zej                             de
¦  «        ej                             ddd	g¦  «        ej                             d
g d¢¦  «        d„ ¦   «         ¦   «         ¦   «         ZdS )ÚTestOverwritez4Check input overwrite behavior of the FFT functions.)r  r<  rƒ  c                 óö   — |                      ¦   «         }d„ t          t          fD ]S} | ||¦  «        |||¬¦  «         |j        › d|j        › |j        ›d|›d|›d|›d�}|st          ||d|› �¬	¦  «         ŒTd S )
Nc                 ó   — | S r.   rx   )r$   s    r*   ú<lambda>z&TestOverwrite._check.<locals>.<lambda>û  s   € ˜q€ r,   ©Úoverwrite_xú(z, z, axis=z, overwrite_x=ú)zspurious overwrite in )r)   )r‘  rˆ  r�  ru   r3   rB   r   )	rY   r$   ÚroutineÚfftsizerA   r™  rk   ÚfakeÚsigs	            r*   Ú_checkzTestOverwrite._checkù  sÞ   € Ø�VŠV‰XŒXˆØ �[¥)­ZÐ8ð 	Lð 	LˆDØˆG�D�D˜‘H”H˜g t¸ÐEÑEÔEÐEàÔ&ð Bð B¨¬ð B°!´'ð Bð B¸wð Bð BØðBð BØ1<ðBð Bð BˆCàð LÝ˜R Ð,JÀSÐ,JÐ,JÐKÑKÔKÐKøð	Lð 	Lr,   c                 ó\  — t           j                             d¦  «         t          j        |t           j        ¦  «        r+t          j        j        |Ž dt          j        j        |Ž z  z   }nt          j        j        |Ž }|                     |¦  «        }|                      |||||¬¦  «         d S )NrU   rN   r˜  )r!   r/   rW   Ú
issubdtypeÚcomplexfloatingÚrandnr•   r   )	rY   rœ  r3   rB   rA   Úoverwritable_dtypesr�  r™  rÉ   s	            r*   Ú	_check_1dzTestOverwrite._check_1d  sŸ   € å
Œ	�Š�tÑÔÐÝŒ=˜¥Ô 2Ñ3Ô3ð 	+Ý”9”? EÐ*¨Rµ´	´ÀÐ0GÑ-GÑGˆDˆDå”9”? EÐ*ˆDØ�{Š{˜5Ñ!Ô!ˆà�Š�D˜' 7¨DØ +ð 	ñ 	-ô 	-ð 	-ð 	-ð 	-r,   r3   r�  r™  TFz
shape,axes))©r<  rF  )©r<  r   r   )©r   r<  rH   c           	      ó¶   — t           j        t           j        f}|                      t          ||||||¦  «         |                      t
          ||||||¦  «         d S r.   )r!   r}   r†   r¦  r
   r	   ©rY   r3   r�  r™  rB   r  Úoverwritables          r*   Útest_fft_ifftzTestOverwrite.test_fft_ifft  sf   € õ œ¥r¤|Ð4ˆØ�Š•s˜E 5¨$°Ø ñ	-ô 	-ð 	-à�Š•t˜U E¨4°Ø ñ	-ô 	-ð 	-ð 	-ð 	-r,   c           	      ó”   — | j         }|                      t          ||||||¦  «         |                      t          ||||||¦  «         d S r.   )Úreal_dtypesr¦  r   r   r«  s          r*   Útest_rfft_irfftzTestOverwrite.test_rfft_irfft  s`   € ð Ô'ˆØ�Š•u˜e U¨D°,Ø ñ	-ô 	-ð 	-à�Š•t˜U E¨4°Ø ñ	-ô 	-ð 	-ð 	-ð 	-r,   c                 ó&  ‡
— t           j                             d¦  «         t          j        |t           j        ¦  «        r+t          j        j        |Ž dt          j        j        |Ž z  z   }nt          j        j        |Ž }|                     |¦  «        }ˆ
fd„Š
|€|}n"t          t          j        ||¦  «        ¦  «        } ‰
|¦  «        D ]F}	|  	                    |||	||¬¦  «         |j
        dk    r|  	                    |j        ||	||¬¦  «         ŒGd S )NrU   rN   c              3   óº   •K  — t          | ¦  «        dk    rdV — d S | d         dz  | d         | d         dz  fD ] } ‰| dd …         ¦  «        D ]
}|f|z   V — ŒŒ!d S )Nr   rx   r   rH   )r6   )Úshprf  ÚrestÚfftshape_iters      €r*   rµ  z2TestOverwrite._check_nd_one.<locals>.fftshape_iter2  s’   øè è € Ý�3‰xŒx˜1Š}ˆ}Ø�����à˜aœ& !™) S¨¤V¨S°¬V°A©XÐ6ð *ð *�AØ - ¨c°!°"°"¬gÑ 6Ô 6ð *ð *˜Ø ˜d T™kÐ)Ð)Ð)Ð)ð*ð*ð *r,   r˜  rH   )r!   r/   rW   r¢  r£  r¤  r•   ÚtupleÚtaker   ÚndimÚT)rY   rœ  r3   rB   r  r¥  r™  rÉ   Ú
part_shapeÚfftshaperµ  s             @r*   Ú_check_nd_onezTestOverwrite._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§  rN  )r¨  rN  )r©  ©rH   )©r  r<  N)r¾  ©r   rH   )©r  r<  r   r¿  )rÀ  rJ  )rÀ  rN  )rÀ  r½  )rÀ  )r   )rÀ  N)rÀ  rH  c                 ó²   — t           j        t           j        f}|                      t          |||||¦  «         |                      t
          |||||¦  «         d S r.   )r!   r}   r†   r¼  r   r   )rY   r3   r™  rB   r  r¬  s         r*   Útest_fftn_ifftnzTestOverwrite.test_fftn_ifftnF  sf   € õ  œ¥r¤|Ð4ˆØ×Ò�4 ¨¨t°\Ø&ñ	(ô 	(ð 	(à×Ò�5 %¨°°lØ&ñ	(ô 	(ð 	(ð 	(ð 	(r,   N)ru   rv   rw   Ú__doc__r!   r‡   r~   r¯  r†   r}   ÚdtypesÚfftsizesr   r¦  r�   rŽ   r*  r­  r°  r¼  rÂ  rx   r,   r*   r”  r”  ò  s2  € € € € € Ø>Ð>à”:˜rœzÐ*€KØ˜BœL¨"¬-Ð8Ñ8€FØˆ{ˆ{€HðLð Lð Lð
-ð 
-ð 
-ð „[×Ò˜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                 óä  — t           j                             dd¦  «        } | |d¬¦  «        } | |t          j        ddg¦  «        ¬¦  «        }t	          ||¦  «          | |d¬¦  «        } | |t          j        dg¦  «        ¬¦  «        }t	          ||¦  «          | |dd	¬
¦  «        } | |t          j        ddg¦  «        t          j        ddg¦  «        ¬
¦  «        }t	          ||¦  «         d S )Nr7  )r`   r`   rm  r`   rL  rG  rF  )rg   r  )rH   r   r  rg   r  rH   r   )r!   r/   r   r   r   )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,   )CÚnumpy.testingr   r   r   r   r   r�   r   rr   Úscipy.fftpackr	   r
   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r!   Ú	numpy.fftÚnumpy.randomr   r³   r+  r´   r,  r+   r/   r<   r>   rD   rF   rL   rP   rR   rz   rƒ   r‘   r™   rº   r½   rÀ   rÝ   rà   rã   rõ   rù   rü   r  r.  r~  rˆ  r�  r”  rŽ   r*  rË  rx   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ðVð ð ð ð �]ñ ô ð ðð ð ð ð �]ñ ô ð ð2Jð 2Jð 2Jð 2Jð 2Jñ 2Jô 2Jð 2Jðpð ð ð ð �nñ ô ð ðð ð ð ð �nñ ô ð ðCð Cð Cð Cð Cñ Cô Cð Cð$>4ð >4ð >4ð >4ð >4ñ >4ô >4ð >4ðBU,ð U,ð U,ð U,ð U,ñ U,ô U,ð U,ðp*-ð *-ð *-ð *-ð *-ñ *-ô *-ð *-ðZ<ð <ð <ð <ð <ñ <ô <ð <ðð ð ð ð ñ ô ð ðh(ð h(ð h(ð h(ð h(ñ h(ô h(ð h(ðV „×Ò˜ $¨¨tÐ!4Ñ5Ô5ð!ð !ñ 6Ô5ð!ð !ð !r,   