Ë
    âQ(hƒ‹  ã                   ó@  — d dl mZ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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  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„ Z0d„ Z1d„ Z2 G d„ d«      Z3 G d„ de3«      Z4 G d„ de3«      Z5 G d„ de3«      Z6 G d„ d«      Z7 G d„ d «      Z8ejr                  ju                  e!jv                  e!jx                  u d!¬"«       G d#„ d$e8«      «       Z= G d%„ d&e8«      Z> G d'„ d(e8«      Z? G d)„ d*«      Z@ejr                  ju                  e!jv                  e!jx                  u d!¬"«       G d+„ d,e@«      «       ZA G d-„ d.e@«      ZB G d/„ d0e@«      ZC G d1„ d2«      ZDejr                  ju                  e!jv                  e!jx                  u d!¬"«       G d3„ d4eD«      «       ZE G d5„ d6eD«      ZF G d7„ d8eD«      ZG G d9„ d:«      ZH G d;„ d<«      ZI G d=„ d>«      ZJ G d?„ d@«      ZK G dA„ dB«      ZL G dC„ dD«      ZM G dE„ dF«      ZNejr                  jŸ                  dGeeeeeeeeg«      dH„ «       ZPejr                  jŸ                  dGeeeeeeeeg«      dI„ «       ZQejr                  jŸ                  dGeeeeg«      dJ„ «       ZRy)Ké    )Úassert_Úassert_equalÚassert_array_almost_equalÚassert_array_almost_equal_nulpÚassert_array_lessÚassert_allcloseN)Úraises)ÚifftÚfftÚfftnÚifftnÚrfftÚirfftÚrfftnÚirfftnÚhfftÚihfftÚhfftnÚihfftn)	ÚarangeÚarrayÚasarrayÚzerosÚdotÚexpÚpiÚswapaxesÚcdouble©Úrand)i    i`  i  )é   é   é$   iÛ  é   c                 ó®   — d|› d|› �}t        t        j                  j                  | |z
  «      |t        j                  j                  | «      z  |«       y )Nzsize: z  rdt: )r   ÚnpÚlinalgÚnorm)ÚxÚyÚrtolÚsizeÚrdtÚerr_msgs         úc/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/fft/_pocketfft/tests/test_basic.pyÚ_assert_close_in_normr0   &   sC   € à�t�f˜G C 5Ð)€GÜ”b—i‘i—n‘n Q¨¡UÓ+¨T´"·)±)·.±.ÀÓ2CÑ-CÀWÕMó    c                 ó   — t        | Ž S ©Nr   )r,   s    r/   Úrandomr4   ,   s   € Ü�ˆ;Ðr1   c                 óZ   — | j                   j                  d«      }| j                  |«      S )z-Returns the same array with swapped byteorderÚS)ÚdtypeÚnewbyteorderÚastype)Úarrr7   s     r/   Úswap_byteorderr;   /   s%   € à�I‰I×"Ñ" 3Ó'€EØ�:‰:�eÓÐr1   c                 óÜ   — t        | «      } t        | «      }t        |t        ¬«      }t	        |«       dt
        z  |z  z  }t        |«      D ]  }t        t        ||z  «      | «      ||<   Œ |S ©N©r7   ù               @©	r   Úlenr   r   r   r   Úranger   r   ©r)   Únr*   ÚwÚis        r/   Ú
direct_dftrG   4   sh   € Ü�‹
€AÜˆA‹€AÜˆa”wÔ€AÜ	�‹ˆ
�B”r‘E˜!‘GÑ€AÜ�1‹Xò  ˆÜ”3�q˜‘s“8˜QÓˆˆ!Šð à€Hr1   c                 óà   — t        | «      } t        | «      }t        |t        ¬«      }t	        |«      dt
        z  |z  z  }t        |«      D ]   }t        t        ||z  «      | «      |z  ||<   Œ" |S r=   r@   rC   s        r/   Údirect_idftrI   >   sk   € Ü�‹
€AÜˆA‹€AÜˆa”wÔ€AÜˆq‹	�2”b‘5˜‘7Ñ€AÜ�1‹Xò "ˆÜ”3�q˜‘s“8˜QÓ Ñ!ˆˆ!Šð"à€Hr1   c                 ój   — t        | «      } t        | j                  «      D ]  }t        | |¬«      } Œ | S ©N)Úaxis)r   rB   Úndimr   ©r)   rL   s     r/   Údirect_dftnrO   H   s3   € Ü�‹
€AÜ�a—f‘f“ò ˆÜ�˜Ô‰ðà€Hr1   c                 ój   — t        | «      } t        | j                  «      D ]  }t        | |¬«      } Œ | S rK   )r   rB   rM   r
   rN   s     r/   Údirect_idftnrQ   O   s3   € Ü�‹
€AÜ�a—f‘f“ò ˆÜ�˜Ô‰ðà€Hr1   c                 óô   — t        | «      } t        | «      }t        |«       dt        z  |z  z  }t	        |dz  dz   t
        ¬«      }t        |dz  dz   «      D ]  }t        t        ||z  «      | «      ||<   Œ |S )Nr?   r!   é   r>   )	r   rA   r   r   r   r   rB   r   r   )r)   rD   rE   r*   rF   s        r/   Údirect_rdftrT   V   sx   € Ü�‹
€AÜˆA‹€AÜ	�‹ˆ
�B”r‘E˜!‘GÑ€AÜˆa�‰d�1‰fœGÔ$€AÜ�1�a‘4˜‘6‹]ò  ˆÜ”3�q˜‘s“8˜QÓˆˆ!Šð à€Hr1   c                 óú   — t        | «      } t        |t        ¬«      }t        |dz  dz   «      D ]7  }| |   ||<   |dkD  sŒd|z  |k  sŒt	        j
                  | |   «      |||z
  <   Œ9 t        |«      j                  S )Nr>   r!   rS   r   )r   r   r   rB   r&   ÚconjrI   Úreal)r)   rD   Úx1rF   s       r/   Údirect_irdftrY   `   s{   € Ü�‹
€AÜ	ˆqœÔ	 €BÜ�1�a‘4˜‘6‹]ò $ˆØ�!‘ˆˆ1‰Øˆq‹5�Q�q‘S˜1“WÜ—g‘g˜a ™d“mˆBˆq�‰sŠGð$ô �r‹?×ÑÐr1   c                 óZ   — t        t        | «      t        | j                  dz
  «      ¬«      S )NrS   ©Úaxes)r   r   rB   rM   ©r)   s    r/   Údirect_rdftnr^   j   s    € Ü”�Q“œe A§F¡F¨Q¡JÓ/Ô0Ð0r1   c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú_TestFFTBasec                 ó^   — d | _         d | _        t        j                  j	                  d«       y ©NéÒ  )Úcdtr-   r&   r4   Úseed©Úselfs    r/   Úsetup_methodz_TestFFTBase.setup_methodo   s    € ØˆŒØˆŒÜ
�	‰	�‰�tÕr1   c                 óP  — t        j                  g d¢| j                  ¬«      }t        |«      }t	        |j
                  | j                  «       t        |«      }t        ||«       t        j                  g d¢| j                  ¬«      }t        t        |«      t        |«      «       y )N©rS   r!   é   ù      @      ð?rS   r!   rk   y      @       @r>   ©rS   r!   rk   y      @        é   )r&   r   rd   r   r   r7   rG   r   ©rg   r)   r*   Úy1s       r/   Útest_definitionz_TestFFTBase.test_definitiont   sk   € Ü�H‰HÒ,°D·H±HÔ=ˆÜ�‹FˆÜ�Q—W‘W˜dŸh™hÔ'Ü˜‹]ˆÜ! ! BÔ'Ü�H‰H’^¨4¯8©8Ô4ˆÜ!¤# a£&¬°A«Õ7r1   c                 óz  — 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        |«      «       y ©N©rS   r!   rk   é   r>   ru   ©rD   ©r!   ru   r   rS   )
r&   r   r-   r   r   r7   rd   Úshaper   rG   ©rg   rX   Úx2r*   s       r/   Útest_n_argument_realz!_TestFFTBase.test_n_argument_real}   s~   € Ü�X‰X’i t§x¡xÔ0ˆÜ�X‰X’i t§x¡xÔ0ˆÜ��B�˜!ÔˆÜ�Q—W‘W˜dŸh™hÔ'Ü�Q—W‘W˜UÔ#Ü! ! A¡$¤z°"£~Ô6Ü! ! A¡$¤z°"£~Õ6r1   c                 óz  — 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        |«      «       y )N)rS   r!   rk   rl   r>   ru   rv   rw   r   rS   )	r&   r   rd   r   r   r7   rx   r   rG   ry   s       r/   Ú_test_n_argument_complexz%_TestFFTBase._test_n_argument_complex†   s~   € Ü�X‰X’l¨$¯(©(Ô3ˆÜ�X‰X’l¨$¯(©(Ô3ˆÜ��B�˜!ÔˆÜ�Q—W‘W˜dŸh™hÔ'Ü�Q—W‘W˜UÔ#Ü! ! A¡$¤z°"£~Ô6Ü! ! A¡$¤z°"£~Õ6r1   c                 ó  — t        dd«      D ]|  }d|z  }t        j                  |«      }t        |j	                  t
        «      «      }t        j                  j                  |«      }t        ||«       t        |«      }t        ||«       Œ~ y ©Nr!   é   )rB   r&   r   r   r9   ÚcomplexÚnumpyr   ©rg   rF   rD   r)   r*   Úy2s         r/   Útest_djbfftz_TestFFTBase.test_djbfft�   so   € Ü�q˜“ò 	,ˆAØ�1‘ˆAÜ—	‘	˜!“ˆAÜ�A—H‘HœWÓ%Ó&ˆAÜ—‘—‘˜qÓ!ˆBÜ% a¨Ô+Ü�A“ˆAÜ% a¨Õ+ñ	,r1   c                 óf   — t        t        t        g «       t        t        t        ddgddggd«       y ©NrS   r!   éûÿÿÿ)Úassert_raisesÚ
ValueErrorr   rf   s    r/   Útest_invalid_sizesz_TestFFTBase.test_invalid_sizes™   s(   € Ü”j¤# rÔ*Ü”j¤#¨¨1¨¨q°¨e }°bÕ9r1   N)	Ú__name__Ú
__module__Ú__qualname__rh   rq   r{   r}   r…   r‹   © r1   r/   r`   r`   n   s    „ òò
8ò7ò7ò,ó:r1   r`   c                   ó   — e Zd Zd„ Zy)ÚTestLongDoubleFFTc                 óX   — t         j                  | _        t         j                  | _        y r3   ©r&   Úclongdoublerd   Ú
longdoubler-   rf   s    r/   rh   zTestLongDoubleFFT.setup_methodŸ   ó   € Ü—>‘>ˆŒÜ—=‘=ˆ�r1   N©rŒ   r�   rŽ   rh   r�   r1   r/   r‘   r‘   ž   s   „ ó!r1   r‘   c                   ó   — e Zd Zd„ Zy)ÚTestDoubleFFTc                 óX   — t         j                  | _        t         j                  | _        y r3   )r&   r   rd   Úfloat64r-   rf   s    r/   rh   zTestDoubleFFT.setup_method¥   s   € Ü—:‘:ˆŒÜ—:‘:ˆ�r1   Nr—   r�   r1   r/   r™   r™   ¤   ó   „ ór1   r™   c                   ó   — e Zd Zd„ Zy)ÚTestSingleFFTc                 óX   — t         j                  | _        t         j                  | _        y r3   ©r&   Ú	complex64rd   Úfloat32r-   rf   s    r/   rh   zTestSingleFFT.setup_method«   ó   € Ü—<‘<ˆŒÜ—:‘:ˆ�r1   Nr—   r�   r1   r/   rž   rž   ª   rœ   r1   rž   c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestFloat16FFTc                 óD  — t        j                  g d¢t         j                  ¬«      }t        |d¬«      }t	        |j
                  t         j                  «       t	        |j                  d«       t        |t        |j                  t         j                  «      «      «       y )Nrt   r>   ru   rv   )ru   ©r&   r   Úfloat16r   r   r7   r¡   rx   r   rG   r9   r¢   )rg   rX   r*   s      r/   Útest_1_argument_realz#TestFloat16FFT.test_1_argument_real²   s]   € Ü�X‰X’l¬"¯*©*Ô5ˆÜ��aŒLˆÜ�Q—W‘WœbŸl™lÔ+Ü�Q—W‘W˜eÔ$Ü! !¤Z°·	±	¼"¿*¹*Ó0EÓ%FÕGr1   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        |j                  t         j                  «      «      «       t        |d   t        |j                  t         j                  «      «      «       y rs   r§   ry   s       r/   r{   z#TestFloat16FFT.test_n_argument_real¹   sš   € Ü�X‰X’l¬"¯*©*Ô5ˆÜ�X‰X’l¬"¯*©*Ô5ˆÜ��R�˜AÔˆÜ�Q—W‘WœbŸl™lÔ+Ü�Q—W‘W˜fÔ%Ü! ! A¡$¬
°2·9±9¼R¿Z¹ZÓ3HÓ(IÔJÜ! ! A¡$¬
°2·9±9¼R¿Z¹ZÓ3HÓ(IÕJr1   N)rŒ   r�   rŽ   r©   r{   r�   r1   r/   r¥   r¥   °   s   „ òHóKr1   r¥   c                   ó<   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
y	)
Ú_TestIFFTBasec                 óB   — t         j                  j                  d«       y rb   ©r&   r4   re   rf   s    r/   rh   z_TestIFFTBase.setup_methodÄ   ó   € Ü
�	‰	�‰�tÕr1   c                 óL  — t        j                  g d¢| j                  «      }t        |«      }t	        |«      }t        |j                  | j                  «       t        ||«       t        j                  g d¢| j                  «      }t        t        |«      t	        |«      «       y )Nrj   rm   )r&   r   rd   r
   rI   r   r7   r   ro   s       r/   rq   z_TestIFFTBase.test_definitionÇ   sk   € Ü�H‰HÒ,¨d¯h©hÓ7ˆÜ�‹GˆÜ˜‹^ˆÜ�Q—W‘W˜dŸh™hÔ'Ü! ! BÔ'ä�H‰H’^ T§X¡XÓ.ˆÜ!¤$ q£'¬+°a«.Õ9r1   c                 óŽ  — t        j                  g d¢| j                  «      }t        |«      }t	        |j
                  | j                  «       t        |«      }t        ||«       t        j                  g d¢| j                  ¬«      }t	        |j
                  | j                  «       t        t        |«      t        |«      «       y )N©rS   r!   rk   ru   rS   r!   rk   ru   ©rS   r!   rk   ru   rn   r>   )	r&   r   r-   r
   r   r7   rd   rI   r   ro   s       r/   Útest_definition_realz"_TestIFFTBase.test_definition_realÑ   s}   € Ü�H‰HÒ&¨¯©Ó1ˆÜ�‹GˆÜ�Q—W‘W˜dŸh™hÔ'Ü˜‹^ˆÜ! ! BÔ'ä�H‰H’[¨¯©Ô1ˆÜ�Q—W‘W˜dŸh™hÔ'Ü!¤$ q£'¬+°a«.Õ9r1   c                 ó´  — t        dd«      D ]É  }d|z  }t        j                  |«      }t        |j	                  | j
                  «      «      }t        j                  j                  |j	                  | j
                  «      «      }t        ||| j                  | j                  ¬«       t        |«      }t        ||| j                  | j                  ¬«       ŒË y )Nr!   r€   )r+   Úatol)rB   r&   r   r
   r9   rd   r‚   r   r   r+   r¶   rƒ   s         r/   r…   z_TestIFFTBase.test_djbfftÜ   sš   € Ü�q˜“ò 	BˆAØ�1‘ˆAÜ—	‘	˜!“ˆAÜ�Q—X‘X˜dŸh™hÓ'Ó(ˆAÜ—‘—‘ §¡¨¯©Ó 2Ó3ˆBÜ˜A˜b t§y¡y°t·y±yÕAÜ�Q“ˆAÜ˜A˜b t§y¡y°t·y±yÖAñ	Br1   c                 ó²  — dD ]Ò  }t        |g«      j                  | j                  «      }t        |g«      j                  | j                  «      d|z  z   }t        t	        |«      «      }t	        t        |«      «      }t        |j                  | j                  «       t        |j                  | j                  «       t        ||«       t        ||«       ŒÔ y )N©	rS   é3   éo   éd   éÈ   é@   é€   é   i   ù              ð?)r4   r9   rd   r
   r   r   r7   r   ©rg   r,   r)   rp   r„   s        r/   Útest_random_complexz!_TestIFFTBase.test_random_complexæ   s    € Ø6ò 	-ˆDÜ˜�v“×%Ñ% d§h¡hÓ/ˆAÜ˜�v“×%Ñ% d§h¡hÓ/°"°Q±$Ñ6ˆAÜ”c˜!“f“ˆBÜ”T˜!“W“ˆBÜ˜Ÿ™ 4§8¡8Ô,Ü˜Ÿ™ 4§8¡8Ô,Ü% b¨!Ô,Ü% b¨!Õ,ñ	-r1   c                 ó\  — dD ]§  }t        |g«      j                  | j                  «      }t        t	        |«      «      }t	        t        |«      «      }t        |j                  | j                  «       t        |j                  | j                  «       t        ||«       t        ||«       Œ© y )Nr¸   )	r4   r9   r-   r
   r   r   r7   rd   r   rÁ   s        r/   Útest_random_realz_TestIFFTBase.test_random_realñ   s}   € Ø6ò 	-ˆDÜ˜�v“×%Ñ% d§h¡hÓ/ˆAÜ”c˜!“f“ˆBÜ”T˜!“W“ˆBÜ˜Ÿ™ 4§8¡8Ô,Ü˜Ÿ™ 4§8¡8Ô,Ü% b¨!Ô,Ü% b¨!Õ,ñ	-r1   c                 ó  — t         t        z   D �]t  }t        j                  j	                  d«       t        j                  j                  |«      j                  | j                  «      }t        t        |«      «      }t        ||| j                  || j                  «       t        t        |«      «      }t        ||| j                  || j                  «       |dt        j                  j                  |«      z  z   j                  | j                  «      }t        t        |«      «      }t        ||| j                  || j                  «       t        t        |«      «      }t        ||| j                  || j                  «       �Œw y ©Nrc   rÀ   )ÚLARGE_COMPOSITE_SIZESÚLARGE_PRIME_SIZESr&   r4   re   r    r9   r-   r
   r   r0   r+   rd   )rg   r,   r)   r*   s       r/   Útest_size_accuracyz _TestIFFTBase.test_size_accuracyû   s	  € ä)Ô,=Ñ=ó 	CˆDÜ�I‰I�N‰N˜4Ô Ü—	‘	—‘˜tÓ$×+Ñ+¨D¯H©HÓ5ˆAÜ”S˜“V“ˆAÜ! ! Q¨¯	©	°4¸¿¹ÔBÜ”D˜“G“ˆAÜ! ! Q¨¯	©	°4¸¿¹ÔBà�RœŸ	™	Ÿ™ tÓ,Ñ,Ñ,×4Ñ4°T·X±XÓ>ˆAÜ”S˜“V“ˆAÜ! ! Q¨¯	©	°4¸¿¹ÔBÜ”D˜“G“ˆAÜ! ! Q¨¯	©	°4¸¿¹ÖBñ	Cr1   c                 óf   — t        t        t        g «       t        t        t        ddgddggd«       y r‡   )r‰   rŠ   r
   rf   s    r/   r‹   z _TestIFFTBase.test_invalid_sizes  ó(   € Ü”j¤$¨Ô+Ü”j¤$¨!¨A¨°°!¨u¨°rÕ:r1   N)rŒ   r�   rŽ   rh   rq   r´   r…   rÂ   rÄ   rÉ   r‹   r�   r1   r/   r¬   r¬   Ã   s,   „ òò:ò	:òBò	-ò-òCó ;r1   r¬   z Long double is aliased to double)Úreasonc                   ó   — e Zd Zd„ Zy)ÚTestLongDoubleIFFTc                 ót   — t         j                  | _        t         j                  | _        d| _        d| _        y ©Nç»½×Ùß|Û=)r&   r”   rd   r•   r-   r+   r¶   rf   s    r/   rh   zTestLongDoubleIFFT.setup_method  s&   € Ü—>‘>ˆŒÜ—=‘=ˆŒØˆŒ	Øˆ�	r1   Nr—   r�   r1   r/   rÎ   rÎ     s   „ ór1   rÎ   c                   ó   — e Zd Zd„ Zy)ÚTestDoubleIFFTc                 ót   — t         j                  | _        t         j                  | _        d| _        d| _        y rÐ   )r&   Ú
complex128rd   r›   r-   r+   r¶   rf   s    r/   rh   zTestDoubleIFFT.setup_method  s&   € Ü—=‘=ˆŒÜ—:‘:ˆŒØˆŒ	Øˆ�	r1   Nr—   r�   r1   r/   rÓ   rÓ     s   „ ór1   rÓ   c                   ó   — e Zd Zd„ Zy)ÚTestSingleIFFTc                 ót   — t         j                  | _        t         j                  | _        d| _        d| _        y )Nçñhãˆµøä>g-Cëâ6?)r&   r¡   rd   r¢   r-   r+   r¶   rf   s    r/   rh   zTestSingleIFFT.setup_method#  s&   € Ü—<‘<ˆŒÜ—:‘:ˆŒØˆŒ	Øˆ�	r1   Nr—   r�   r1   r/   r×   r×   "  s   „ ór1   r×   c                   óD   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Z G d„ d«      Zd„ Z	y	)
Ú_TestRFFTBasec                 óB   — t         j                  j                  d«       y rb   r®   rf   s    r/   rh   z_TestRFFTBase.setup_method+  r¯   r1   c                 óä   — g d¢g d¢fD ]e  }t        j                  || j                  ¬«      }t        |«      }t	        |«      }t        ||«       t        |j                  | j                  «       Œg y )Nr²   )	rS   r!   rk   ru   rS   r!   rk   ru   rn   r>   )	r&   r   r-   r   rT   r   r   r7   rd   )rg   Útr)   r*   rp   s        r/   rq   z_TestRFFTBase.test_definition.  sY   € Ú*Ò,GÐHò 	,ˆAÜ—‘˜ $§(¡(Ô+ˆAÜ�Q“ˆAÜ˜Q“ˆBÜ% a¨Ô+Ü˜Ÿ™ $§(¡(Õ+ñ	,r1   c                 óÆ   — t        dd«      D ]R  }d|z  }t        j                  |«      }t        j                  j	                  |«      }t	        |«      }t        ||«       ŒT y r   )rB   r&   r   r   r   r   ©rg   rF   rD   r)   rp   r*   s         r/   r…   z_TestRFFTBase.test_djbfft6  sQ   € Ü�q˜“ò 	,ˆAØ�1‘ˆAÜ—	‘	˜!“ˆAÜ—‘—‘˜Q“ˆBÜ�Q“ˆAÜ% a¨Õ+ñ	,r1   c                 óf   — t        t        t        g «       t        t        t        ddgddggd«       y r‡   )r‰   rŠ   r   rf   s    r/   r‹   z _TestRFFTBase.test_invalid_sizes>  rË   r1   c                 ó¨   — t        j                  d| j                  ¬«      }t        t        d¬«      5  t        |«       d d d «       y # 1 sw Y   y xY w)Né
   r>   úx must be a real sequence©Úmatch)r&   r   rd   r‰   Ú	TypeErrorr   ©rg   r)   s     r/   Útest_complex_inputz _TestRFFTBase.test_complex_inputB  s=   € Ü�H‰H�R˜tŸx™xÔ(ˆÜœ9Ð,GÔHñ 	Ü�ŒG÷	÷ 	ñ 	ús   ³AÁAc                   ó   — e Zd Zd„ Zd„ Zy)ú_TestRFFTBase.MockSeriesc                 ó8   — t        j                  |«      | _        y r3   )r&   r   Údata©rg   rí   s     r/   Ú__init__z!_TestRFFTBase.MockSeries.__init__I  s   € ÜŸ
™
 4Ó(ˆD�Ir1   c                 ór   — 	 t        | j                  |«      S # t        $ r}t        d|› d�«      |‚d }~ww xY w)Nz&'MockSeries' object has no attribute 'ú')Úgetattrrí   ÚAttributeError)rg   ÚitemÚes      r/   Ú__getattr__z$_TestRFFTBase.MockSeries.__getattr__L  sO   € ðKÜ˜tŸy™y¨$Ó/Ð/øÜ!ò KÜ$ð &;Ø;?¸&Àð&Có DØIJðKûðKús   ‚ ˜	6¡1±6N)rŒ   r�   rŽ   rï   rö   r�   r1   r/   Ú
MockSeriesrë   H  s   „ ò	)ó	Kr1   r÷   c                 ó¾   — t        j                  g d¢«      }t        j                  |«      }g d¢}t	        |«       t        ||«       t        |j                  |«       y )N)g      ð?g       @g      @g      @g      @r³   )r&   r   rÛ   r÷   r   r   rí   )rg   r)   ÚxsÚexpecteds       r/   Útest_non_ndarray_with_dtypez)_TestRFFTBase.test_non_ndarray_with_dtypeS  sG   € Ü�H‰HÒ)Ó*ˆÜ×%Ñ% aÓ(ˆâ"ˆÜˆRŒô 	�Q˜Ô!Ü�R—W‘W˜hÕ'r1   N)
rŒ   r�   rŽ   rh   rq   r…   r‹   ré   r÷   rû   r�   r1   r/   rÛ   rÛ   *  s,   „ òò,ò,ò;ò÷	Kñ 	Kó	(r1   rÛ   c                   ó   — e Zd Zd„ Zy)ÚTestRFFTLongDoublec                 óX   — t         j                  | _        t         j                  | _        y r3   r“   rf   s    r/   rh   zTestRFFTLongDouble.setup_methoda  r–   r1   Nr—   r�   r1   r/   rý   rý   ^  s   „ ó!r1   rý   c                   ó   — e Zd Zd„ Zy)ÚTestRFFTDoublec                 óX   — t         j                  | _        t         j                  | _        y r3   )r&   rÕ   rd   r›   r-   rf   s    r/   rh   zTestRFFTDouble.setup_methodg  s   € Ü—=‘=ˆŒÜ—:‘:ˆ�r1   Nr—   r�   r1   r/   r   r   f  rœ   r1   r   c                   ó   — e Zd Zd„ Zy)ÚTestRFFTSinglec                 óX   — t         j                  | _        t         j                  | _        y r3   r    rf   s    r/   rh   zTestRFFTSingle.setup_methodm  r£   r1   Nr—   r�   r1   r/   r  r  l  rœ   r1   r  c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú_TestIRFFTBasec                 óB   — t         j                  j                  d«       y rb   r®   rf   s    r/   rh   z_TestIRFFTBase.setup_methods  r¯   r1   c                 ó`   ‡ — g d¢}g d¢}|d d }g d¢}|d d }ˆ fd„} |||«        |||«       y )N)rS   ù       @      @rl   y      ð?       @y      @      @)rS   r	  rl   r	  ru   ù       @      Àù      @      ð¿r
  rn   )	rS   r	  rl   r	  y      @      @y      @      Àr
  r  r
  c                 óL  •— t        t        j                  | ‰j                  ¬«      t	        |«      ¬«      }t        | t	        |«      «      }t        |j                  ‰j                  «       t        ||‰j                  ¬«       t        |t        |«      ‰j                  ¬«       y )Nr>   rv   )Údecimal)r   r&   r   rd   rA   rY   r   r7   r-   r   Úndecr
   )r)   Úxrr*   rp   rg   s       €r/   Ú_testz-_TestIRFFTBase.test_definition.<locals>._test}  sh   ø€ Ü”b—h‘h˜q¨¯©Ô1´S¸³WÔ=ˆAÜ˜a¤ R£Ó)ˆBÜ˜Ÿ™ $§(¡(Ô+Ü% a¨°D·I±IÕ>Ü% a¬¨R«¸$¿)¹)ÖDr1   r�   )rg   rX   Úx1_1Úx2_1rz   r  s   `     r/   rq   z_TestIRFFTBase.test_definitionv  sB   ø€ Ú$ˆÚ2ˆØ�"�1ˆXˆÚ:ˆØ�"�1ˆXˆô	Eñ 	ˆb�$ŒÙˆb�$�r1   c                 óV  — t        dd«      D ]š  }d|z  }t        j                  d|d«      dt        j                  d|dz   d«      z  z   }d|d<   |dz  dk(  rt        j                  |d   «      |d<   t        j                  j                  |«      }t        |«      }t        ||«       Œœ y )Nr!   r€   éÿÿÿÿrÀ   r   rS   )rB   r&   r   rW   r   r   r   rà   s         r/   r…   z_TestIRFFTBase.test_djbfft‡  sš   € Ü�q˜“ò 	,ˆAØ�1‘ˆAÜ—	‘	˜"˜a Ó# b¬2¯9©9°Q¸¸!¹¸QÓ+?Ñ&?Ñ?ˆAØˆAˆa‰DØ�1‰u˜ŠzÜŸ™  "¡›��"‘Ü—‘—‘˜a“ˆBÜ�a“ˆAÜ% a¨Õ+ñ	,r1   c                 ó°  — dD ]Ñ  }t        |g«      j                  | j                  «      }t        t	        |«      |¬«      }t	        t        ||dz  dz
  ¬«      «      }t        |j                  | j                  «       t        |j                  | j                  «       t        ||| j                  d|z  ¬«       t        ||| j                  d|z  ¬«       ŒÓ y )Nr¸   rv   r!   rS   zsize=%d)r  r.   )
r4   r9   r-   r   r   r   r7   rd   r   r  rÁ   s        r/   rÄ   z_TestIRFFTBase.test_random_real’  s°   € Ø6ò 		AˆDÜ˜�v“×%Ñ% d§h¡hÓ/ˆAÜ”t˜A“w $Ô'ˆBÜ”e˜A $ q¡&¨¡(Ô,Ó-ˆBÜ˜Ÿ™ 4§8¡8Ô,Ü˜Ÿ™ 4§8¡8Ô,Ü% b¨!°T·Y±YØ/8¸4Ñ/?õAä% b¨!°T·Y±YØ/8¸4Ñ/?öAñ		Ar1   c           
      ó<  — | j                   t        j                  k(  rd}n| j                   t        j                  k(  rd}t        t
        z   D ]Í  }t        j                  j                  d«       t        j                  j                  |«      j                  | j                   «      }t        t        |«      t        |«      «      }t        |||| j                   «       t        t        |dt        |«      z  dz
  «      «      }t        ||||| j                   «       ŒÏ y )NrÙ   rÑ   rc   r!   rS   )r-   r&   r¢   r›   rÇ   rÈ   r4   re   r    r9   r   r   rA   r0   )rg   r+   r,   r)   r*   s        r/   rÉ   z!_TestIRFFTBase.test_size_accuracyž  sË   € à�8‰8”r—z‘zÒ!Ø‰DØ�X‰XœŸ™Ò#ØˆDä)Ô,=Ñ=ò 	>ˆDÜ�I‰I�N‰N˜4Ô Ü—	‘	—‘˜tÓ$×+Ñ+¨D¯H©HÓ5ˆAÜ”d˜1“gœs 1›vÓ&ˆAÜ! ! Q¨¨d°D·H±HÔ=Ü”U˜1˜a¤# a£&™j¨1™nÓ-Ó.ˆAÜ! ! Q¨¨d°D·H±HÕ=ñ	>r1   c                 óf   — t        t        t        g «       t        t        t        ddgddggd«       y r‡   )r‰   rŠ   r   rf   s    r/   r‹   z!_TestIRFFTBase.test_invalid_sizes­  s(   € Ü”j¤%¨Ô,Ü”j¤%¨1¨Q¨%°°1°¨¸Õ;r1   N)	rŒ   r�   rŽ   rh   rq   r…   rÄ   rÉ   r‹   r�   r1   r/   r  r  r  s!   „ òòò"	,ò
Aò>ó<r1   r  c                   ó   — e Zd Zd„ Zy)ÚTestIRFFTLongDoublec                 óf   — t         j                  | _        t         j                  | _        d| _        y ©Nr€   ©r&   rÕ   rd   r›   r-   r  rf   s    r/   rh   z TestIRFFTLongDouble.setup_method¸  ó   € Ü—=‘=ˆŒÜ—:‘:ˆŒØˆ�	r1   Nr—   r�   r1   r/   r  r  µ  s   „ ór1   r  c                   ó   — e Zd Zd„ Zy)ÚTestIRFFTDoublec                 óf   — t         j                  | _        t         j                  | _        d| _        y r  r  rf   s    r/   rh   zTestIRFFTDouble.setup_method¿  r  r1   Nr—   r�   r1   r/   r  r  ¾  s   „ ór1   r  c                   ó   — e Zd Zd„ Zy)ÚTestIRFFTSinglec                 óf   — t         j                  | _        t         j                  | _        d| _        y )Nrn   )r&   r¡   rd   r¢   r-   r  rf   s    r/   rh   zTestIRFFTSingle.setup_methodÆ  s   € Ü—<‘<ˆŒÜ—:‘:ˆŒØˆ�	r1   Nr—   r�   r1   r/   r"  r"  Å  s   „ ór1   r"  c                   óF  — e Zd Zd„ Zd„ Zej                  j                  dee	z   «      d„ «       Z
ej                  j                  deez   «      d„ «       Zd„ Zej                  j                  dee	z   «      d„ «       Zej                  j                  deez   «      d„ «       Zy	)
ÚTestFftnSinglec                 óB   — t         j                  j                  d«       y rb   r®   rf   s    r/   rh   zTestFftnSingle.setup_methodÍ  r¯   r1   c                 ó6  — g d¢g d¢g d¢g}t        t        j                  |t        j                  «      «      }t	        |j
                  t        j                  k(  d¬«       t        j                  t        |«      t        j                  «      }t        ||«       y )N©rS   r!   rk   ©ru   rn   é   ©é   é   é	   z-double precision output with single precision)Úmsg)r   r&   r   r¢   r   r7   r¡   r   ©rg   r)   r*   Úy_rs       r/   rq   zTestFftnSingle.test_definitionÐ  sl   € ÚÚÚðˆô ”—‘˜!œRŸZ™ZÓ(Ó)ˆÜ�—‘œ2Ÿ<™<Ñ'ØCõ	Eô �h‰h”t˜A“w¤§¡Ó-ˆÜ& q¨#Õ.r1   r,   c                 óú  — t         j                  j                  d«      }|j                  ||f«      d|j                  ||f«      z  z   }t        |j                  j                  t         j                  «      «      }t        |j                  j                  t         j                  «      «      j                  t         j                  «      }t        |j                  t         j                  «       t        ||d«       y )Nrc   rÀ   éÐ  ©r&   r4   Údefault_rngr   rW   r9   r¢   r›   r¡   r   r7   r   ©rg   r,   Úrngr)   rp   r„   s         r/   Útest_size_accuracy_smallz'TestFftnSingle.test_size_accuracy_smallÛ  s¢   € ä�i‰i×#Ñ# DÓ)ˆØ�J‰J˜˜d�|Ó$ r¨C¯J©J¸¸d°|Ó,DÑ'DÑDˆÜ�!—&‘&—-‘-¤§
¡
Ó+Ó,ˆÜ�!—&‘&—-‘-¤§
¡
Ó+Ó,×3Ñ3´B·L±LÓAˆä�R—X‘XœrŸ|™|Ô,Ü& r¨2¨tÕ4r1   c                 óú  — t         j                  j                  d«      }|j                  |df«      d|j                  |df«      z  z   }t        |j                  j                  t         j                  «      «      }t        |j                  j                  t         j                  «      «      j                  t         j                  «      }t        |j                  t         j                  «       t        ||d«       y )Nrc   rk   rÀ   r3  r4  r6  s         r/   Útest_size_accuracy_largez'TestFftnSingle.test_size_accuracy_largeå  s¢   € ä�i‰i×#Ñ# DÓ)ˆØ�J‰J˜˜a�yÓ! B¨¯©°T¸1°IÓ)>Ñ$>Ñ>ˆÜ�!—&‘&—-‘-¤§
¡
Ó+Ó,ˆÜ�!—&‘&—-‘-¤§
¡
Ó+Ó,×3Ñ3´B·L±LÓAˆä�R—X‘XœrŸ|™|Ô,Ü& r¨2¨tÕ4r1   c                 ó.  — g d¢g d¢g d¢g}t        t        j                  |t        j                  «      «      }t	        |j
                  t        j                  «       t        j                  t        |«      t        j                  «      }t        ||«       y )Nr(  r)  r+  )r   r&   r   r¨   r   r7   r¡   r   r0  s       r/   Útest_definition_float16z&TestFftnSingle.test_definition_float16ï  sa   € ÚÚÚðˆô ”—‘˜!œRŸZ™ZÓ(Ó)ˆÜ�Q—W‘WœbŸl™lÔ+Ü�h‰h”t˜A“w¤§¡Ó-ˆÜ& q¨#Õ.r1   c                 óú  — t         j                  j                  d«      }|j                  ||f«      d|j                  ||f«      z  z   }t        |j                  j                  t         j                  «      «      }t        |j                  j                  t         j                  «      «      j                  t         j                  «      }t        |j                  t         j                  «       t        ||d«       y )Nrc   rÀ   g    €„A©r&   r4   r5  r   rW   r9   r¨   r›   r¡   r   r7   r   r6  s         r/   Útest_float16_input_smallz'TestFftnSingle.test_float16_input_smallø  s¢   € ä�i‰i×#Ñ# DÓ)ˆØ�J‰J˜˜d�|Ó$ r¨#¯*©*°d¸D°\Ó*BÑ'BÑBˆÜ�!—&‘&—-‘-¤§
¡
Ó+Ó,ˆÜ�!—&‘&—-‘-¤§
¡
Ó+Ó,×3Ñ3´B·L±LÓAˆä�R—X‘XœrŸ|™|Ô,Ü& r¨2¨sÕ3r1   c                 óú  — t         j                  j                  d«      }|j                  |df«      d|j                  |df«      z  z   }t        |j                  j                  t         j                  «      «      }t        |j                  j                  t         j                  «      «      j                  t         j                  «      }t        |j                  t         j                  «       t        ||d«       y )Nrc   rk   rÀ   g    €„>Ar>  r6  s         r/   Útest_float16_input_largez'TestFftnSingle.test_float16_input_large  s¢   € ä�i‰i×#Ñ# DÓ)ˆØ�J‰J˜˜a�yÓ! B s§z¡z°4¸°)Ó'<Ñ$<Ñ<ˆÜ�!—&‘&—-‘-¤§
¡
Ó+Ó,ˆÜ�!—&‘&—-‘-¤§
¡
Ó+Ó,×3Ñ3´B·L±LÓAˆä�R—X‘XœrŸ|™|Ô,Ü& r¨2¨sÕ3r1   N)rŒ   r�   rŽ   rh   rq   ÚpytestÚmarkÚparametrizeÚSMALL_COMPOSITE_SIZESÚSMALL_PRIME_SIZESr8  rÇ   rÈ   r:  r<  r?  rA  r�   r1   r/   r%  r%  Ì  sÅ   „ òò	/ð ‡[�[×Ñ˜VÐ%:Ð=NÑ%NÓOñ5ó Pð5ð ‡[�[×Ñ˜VÐ%:Ð=NÑ%NÓOñ5ó Pð5ò/ð ‡[�[×Ñ˜VÐ%:Ð=NÑ%NÓOñ4ó Pð4ð ‡[�[×Ñ˜VÐ%:Ð=NÑ%NÓOñ4ó Pñ4r1   r%  c                   óH   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zy)ÚTestFftnc                 óB   — t         j                  j                  d«       y rb   r®   rf   s    r/   rh   zTestFftn.setup_method  r¯   r1   c                 óþ   — g d¢g d¢g d¢g}t        |«      }t        |t        |«      «       t        d«      }t        t        |«      t        |«      «       t        d«      }t        t        |«      t        |«      «       y )Nr(  r)  r+  ©é   é   ©rn   ru   rk   rL  )r   r   rO   r4   ©rg   r)   r*   s      r/   rq   zTestFftn.test_definition  sc   € ÚÚÚðˆô �‹GˆÜ! !¤[°£^Ô4ä�8ÓˆÜ!¤$ q£'¬;°q«>Ô:ä�=Ó!ˆÜ!¤$ q£'¬;°q«>Õ:r1   c                 ó:  — 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 ]7  }t	        d4«      D ]'  }t        t        |||d d …f   «      |||d d …f   «       Œ) Œ9 t        |d5¬«      }t	        d4«      D ]7  }t	        d4«      D ]'  }t        t        ||d d …|f   «      ||d d …|f   «       Œ) Œ9 t        |d6¬«      }t	        d4«      D ]7  }t	        d4«      D ]'  }t        t        |d d …||f   «      |d d …||f   «       Œ) Œ9 t        |d7¬«      }t        ||«       y )8Nr(  r)  r+  )rã   é   é   )é   r€   é   )é   é   é   )é   rL  é   )é   é   é   )é   rM  é   )rS   rã   rX  )ru   rS  rZ  )r,  rU  r]  )r!   rQ  rL  )rn   r€   r[  )r-  rV  rM  )rk   rR  rY  )r*  rT  r\  )r.  rW  r^  )rS   ru   r,  )rã   rS  rU  )rX  rZ  r]  )r!   rn   r-  )rQ  r€   rV  )rL  r[  rM  )rk   r*  r.  )rR  rT  rW  )rY  r\  r^  )éýÿÿÿéþÿÿÿr  r[   ©r   rS   r!   )r   r!   )r   r  )r!   rS   r   r  r_  )r!   r   rS   r`  )rS   r!   r   )rS   r   r!   )r   r!   rS   ©r`  r  r   rS   r!   ©rS   r!   ©r_  r`  )r_  r  ©r  r`  )r  r_  )r`  r_  ©r  rk   ©r`  ©r   r�   )r   r   r   r   rB   r   )rg   Ú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*   rF   Újs                               r/   Útest_axes_argumentzTestFftn.test_axes_argument  s  € âÚÚðˆò ÚÚð ˆò ÚÚð ˆò Ú!Ú!ð#ˆ	ò Ú!Ú!ð#ˆ	ò Ú!Ú!ð#ˆ	ò !Ú Ú ð"ˆ	ò !Ú Ú ð"ˆ	ò !Ú Ú ð"ˆ	ò Ú!¢<ð1ˆ	âÚ!¢<ð1ˆ	âÚ!¢<ð1ˆ	âÚÚð ˆ	ò "Ú!Ú!ð#ˆ	ò "Ú!Ú!ð#ˆ	ò !Ú Ú ð"ˆ	ò !Ú Ú ð"ˆ	ò !Ú Ú ð"ˆ	ð  	¨9Ð5ˆ	Ø 	¨9Ð5ˆ	Ø 	¨9Ð5ˆ	Ø 	¨9Ð5ˆ	Ø 	¨9Ð5ˆ	Ü�6˜6 6Ð*Ó+ˆä!¤$ q£'Ü"& q¨|Ô"<ô	>ä!¤$ q£'¬4°¸	Ô+BÔCÜ!¤$ q¨vÔ"6¼¸QÀWÔ8MÔNÜ�˜Ô#ˆÜ!¤(¨1¨b°"Ó"5´t¸I³ÔGÜ�˜Ô#ˆÜ!¤(¬8°A°r¸2Ó+>ÀÀBÓ"GÜ"& y£/ô	3ä�˜Ô#ˆÜ!¤(¬8°A°r¸2Ó+>ÀÀBÓ"GÜ"& y£/ô	3ä�˜Ô#ˆÜ!¤(¨1¨b°"Ó"5´t¸I³ÔGÜ�˜Ô#ˆÜ!¤(¨1¨b°"Ó"5´t¸I³ÔGä�˜Ô"ˆÜ!¤$ v£,°°!±Ô5Ü!¤$ v£,°°!±Ô5Ü!¤$ v£,°°!±Ô5ä�˜Ô ˆÜ!¤$ v£,°°!±Ô5Ü!¤$ v£,°°!±Ô5Ü!¤$ v£,°°!±Ô5ä�˜Ô"ˆÜ!¤$ qªªA¨q¨¡zÓ"2°A²aº¸A°g±JÔ?Ü!¤$ qªªA¨q¨¡zÓ"2°A²aº¸A°g±JÔ?Ü!¤$ qªªA¨q¨¡zÓ"2°A²aº¸A°g±JÔ?ä�˜Ô"ˆÜ!¤$ qª¨Aªq¨¡zÓ"2°A²a¸ºA°g±JÔ?Ü!¤$ qª¨Aªq¨¡zÓ"2°A²a¸ºA°g±JÔ?Ü!¤$ qª¨Aªq¨¡zÓ"2°A²a¸ºA°g±JÔ?ä�˜Ô"ˆÜ!¤$ y£/´8¸A¸a¹DÀ"ÀbÓ3IÔJÜ!¤$ y£/´8¸A¸a¹DÀ"ÀbÓ3IÔJÜ!¤$ y£/´8¸A¸a¹DÀ"ÀbÓ3IÔJä�˜Ô"ˆÜ!¤$ y£/Ü"*¨1ªQ°²1¨W©:°r¸2Ó">ô	@ä!¤$ y£/Ü"*¨1ªQ°²1¨W©:°r¸2Ó">ô	@ä!¤$ y£/Ü"*¨1ªQ°²1¨W©:°r¸2Ó">ô	@ô �˜Ô"ˆÜ!¤$ y£/Ü"*¨1ªQ²°1¨W©:°r¸2Ó">ô	@ä!¤$ y£/Ü"*¨1ªQ²°1¨W©:°r¸2Ó">ô	@ä!¤$ y£/Ü"*¨1ªQ²°1¨W©:°r¸2Ó">ô	@ô �˜ÔˆÜ�q“ò 	GˆAÜ˜1“Xò G�Ü)¬#¨a°°1²a°©j«/¸1¸QÀÂ1¸W¹:ÕFñGð	Gô �˜ÔˆÜ�q“ò 	GˆAÜ˜1“Xò G�Ü)¬#¨a°²1°a°©j«/¸1¸QÂÀ1¸W¹:ÕFñGð	Gô �˜ÔˆÜ�q“ò 	GˆAÜ˜1“Xò G�Ü)¬#¨a²°1°a°©j«/¸1ºQÀÀ1¸W¹:ÕFñGð	Gô �˜ÔˆÜ! ! QÕ'r1   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	 «      «       y )
Nr(  r)  ©rS   r!   rk   r   ©ru   rn   r*  r   ©r   r   r   r   ©ru   ru   ©Ús)rk   ru   r  )r   r   ©rg   Úsmall_xÚlarge_x1r*   s       r/   Útest_shape_argumentzTestFftn.test_shape_argument¤  s_   € ÚÚðˆâ Ú Ú Ú ð"ˆô
 �˜FÔ#ˆÜ! !¤T¨(£^Ô4ä�˜FÔ#ˆÜ! !¤T¨(°3°B¨-Ó%8Õ9r1   c                 ó   — 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«      «       y )Nr(  r)  r+  rƒ  r„  )r,  r-  r.  r   r…  r†  rb  ©rˆ  r\   re  r  r`  )r   r   r   r   r‰  s       r/   Útest_shape_axes_argumentz!TestFftn.test_shape_axes_argument²  s€   € ÚÚÚðˆô š,Ú&Ú&Ú&ð(ó )ˆô �˜F¨Ô2ˆÜ! !¤T¨(£^Ô4Ü�˜F¨Ô2ˆä! !¤XÜ”˜( B¨Ó+Ó,¨b°"ó&6õ 	7r1   c                 óÊ  — t         j                  j                  d«      }t        |dd¬«      }t        |t	        |dd¬«      «       t         j                  j                  d«      }t        |dd¬«      }t        |t	        |d	d¬«      «       t         j                  j                  d
«      }t        |dd¬«      }t        |t         j                  j                  |dd¬«      «       y )N)rã   rn   rk   r,  rf  )r-  )r\   rˆ  r  r-  )rL   rD   rg  r`  ©ru   ru   r!   rd  ©r-  r-  )r‚   r4   r   r   r   rO  s      r/   Útest_shape_axes_argument2z"TestFftn.test_shape_axes_argument2Á  s³   € ä�L‰L×Ñ Ó.ˆÜ�˜ $Ô'ˆÜ! !¤S¨°°qÔ%9Ô:ô �L‰L×Ñ Ó.ˆÜ�˜ $Ô'ˆÜ! !¤S¨°°qÔ%9Ô:ô �L‰L×Ñ 	Ó*ˆÜ�˜ VÔ,ˆÜ! !Ü"'§)¡)§.¡.°¸ÀV .Ó"Lõ	Nr1   c                 ó€   — t        d«      }t        t        d¬«      5  t        |d¬«       d d d «       y # 1 sw Y   y xY w)Nr‘  z)shape requires more axes than are presentrå   )r-  r-  r!   rS   r‡  )r   r‰   rŠ   r   rè   s     r/   Útest_shape_argument_morez!TestFftn.test_shape_argument_moreÒ  s9   € Ü�)ÓˆÜœ:Ø!LôNñ 	$ä��lÕ#÷	$÷ 	$ñ 	$ús   �4´=c                 óØ   — t        t        d¬«      5  t        g g«       d d d «       t        t        d¬«      5  t        ddgddggd«       d d d «       y # 1 sw Y   Œ6xY w# 1 sw Y   y xY w©Nz4invalid number of data points \(\[1, 0\]\) specifiedrå   z5invalid number of data points \(\[4, -3\]\) specifiedrS   r!   )ru   r_  )r‰   rŠ   r   rf   s    r/   r‹   zTestFftn.test_invalid_sizesØ  su   € Üœ:ð"6ô7ñ 	ô �"�ŒJ÷	ô
 œ:ð"7ô8ñ 	,ô �1�a�&˜1˜a˜&Ð! 7Ô+÷	,ð 	,÷	ð 	ú÷
	,ð 	,úó   ’A¸A ÁAÁ A)c                 ót   — t         j                  j                  d«      }t        t        |g ¬«      |d¬«       y ©N)r!   r!   r!   r[   gH¯¼šò×z>©r¶   )r‚   r4   r   r   rè   s     r/   Útest_no_axeszTestFftn.test_no_axesã  s)   € Ü�L‰L×Ñ Ó(ˆÜœ˜Q RÔ(¨!°$Ö7r1   c                 ó¦   — t        j                  d«      }t        |dd¬«      }t         j                  j                  |dd¬«      }t	        ||«       y)z-FFT returns wrong result with axes parameter.r‘  r’  rd  rŽ  N)r‚   Úonesr   r   r   r0  s       r/   Útest_regression_244zTestFftn.test_regression_244ç  sB   € ô �J‰J�yÓ!ˆÜ��f 8Ô,ˆÜ�i‰i�n‰n˜Q &¨xˆnÓ8ˆÜ˜˜3Õr1   N)rŒ   r�   rŽ   rh   rq   r�  rŒ  r�  r“  r•  r‹   rœ  rŸ  r�   r1   r/   rH  rH    s7   „ òò;òD(òL:ò7òNò"$ò	,ò8ó r1   rH  c                   óT  — e Zd ZdZdZd„ Zej                  j                  de	j                  e	j                  dfe	j                  e	j                  dfg«      d„ «       Zej                  j                  dddg«      ej                  j                  dg d	¢«      d
„ «       «       Zd„ Zd„ Zy)Ú	TestIfftnNc                 óB   — t         j                  j                  d«       y rb   r®   rf   s    r/   rh   zTestIfftn.setup_methodô  r¯   r1   údtype,cdtype,maxnlpr3  é¬  c                 ó°  — t         j                  j                  d«      }t        j                  g d¢g d¢g d¢g|¬«      }t	        |«      }t        |j                  |«       t        |t        |«      |«       |j                  d«      }t        t	        |«      t        |«      |«       |j                  d«      }t        t	        |«      t        |«      |«       y ©Nrc   r(  r)  r+  r>   rK  rN  )	r&   r4   r5  r   r   r   r7   r   rQ   ©rg   r7   ÚcdtypeÚmaxnlpr7  r)   r*   s          r/   rq   zTestIfftn.test_definition÷  ó£   € ô �i‰i×#Ñ# DÓ)ˆÜ�H‰H’iÚÚð!à(-ô/ˆô �!‹HˆÜ�Q—W‘W˜fÔ%Ü& q¬,°q«/¸6ÔBà�J‰J�xÓ ˆÜ&¤u¨Q£x´¸a³À&ÔIà�J‰J�}Ó%ˆÜ&¤u¨Q£x´¸a³À&ÕIr1   r©  r,   ©rS   r!   r¹   é    r½   é\   c                 ó  — t         j                  j                  d«      }|j                  ||g«      d|j                  ||g«      z  z   }t        t	        t        |«      «      ||«       t        t        t	        |«      «      ||«       y rÆ   )r&   r4   r5  r   r   r   )rg   r©  r,   r7  r)   s        r/   rÂ   zTestIfftn.test_random_complex	  si   € ô �i‰i×#Ñ# DÓ)ˆØ�J‰J˜˜d�|Ó$ r¨C¯J©J¸¸d°|Ó,DÑ'DÑDˆÜ&¤u¬T°!«W£~°q¸&ÔAÜ&¤t¬E°!«H£~°q¸&ÕAr1   c                 óØ   — t        t        d¬«      5  t        g g«       d d d «       t        t        d¬«      5  t        ddgddggd«       d d d «       y # 1 sw Y   Œ6xY w# 1 sw Y   y xY wr—  )r‰   rŠ   r   rf   s    r/   r‹   zTestIfftn.test_invalid_sizes  su   € Üœ:ð"6ô7ñ 	ô �2�$ŒK÷	ô
 œ:ð"7ô8ñ 	-ô �A�q�6˜A˜q˜6Ð" GÔ,÷	-ð 	-÷	ð 	ú÷
	-ð 	-úr˜  c                 ót   — t         j                  j                  d«      }t        t        |g ¬«      |d¬«       y rš  )r‚   r4   r   r   rè   s     r/   rœ  zTestIfftn.test_no_axes  s)   € Ü�L‰L×Ñ Ó(ˆÜœ˜a bÔ)¨1°4Ö8r1   )rŒ   r�   rŽ   r7   r¨  rh   rB  rC  rD  r&   r›   rÕ   r¢   r¡   rq   rÂ   r‹   rœ  r�   r1   r/   r¡  r¡  ð  s´   „ Ø€EØ€Fòð ‡[�[×ÑÐ2Ø!Ÿz™z¨2¯=©=¸$Ð?Ø!Ÿz™z¨2¯<©<¸Ð>ð@óAñJóAðJð ‡[�[×Ñ˜X¨¨d |Ó4Ø‡[�[×Ñ˜VÒ%;Ó<ñBó =ó 5ðBò	-ó9r1   r¡  c                   óœ  — e Zd ZdZdZd„ Zej                  j                  de	j                  e	j                  dfe	j                  e	j                  dfg«      d„ «       Zej                  j                  dg d¢«      d	„ «       Zej                  j                  d
eeg«      d„ «       Zej                  j                  d
eeg«      d„ «       Zd„ Zy)Ú	TestRfftnNc                 óB   — t         j                  j                  d«       y rb   r®   rf   s    r/   rh   zTestRfftn.setup_method$  r¯   r1   r£  r3  r¤  c                 ó°  — t         j                  j                  d«      }t        j                  g d¢g d¢g d¢g|¬«      }t	        |«      }t        |j                  |«       t        |t        |«      |«       |j                  d«      }t        t	        |«      t        |«      |«       |j                  d«      }t        t	        |«      t        |«      |«       y r¦  )	r&   r4   r5  r   r   r   r7   r   r^   r§  s          r/   rq   zTestRfftn.test_definition'  rª  r1   r,   r«  c                 ó¾   — t         j                  j                  d«      }|j                  ||g«      }t        t	        t        |«      |j                  «      |d¬«       y )Nrc   rÑ   r›  )r&   r4   r5  r   r   r   rx   )rg   r,   r7  r)   s       r/   Útest_randomzTestRfftn.test_random9  sC   € ä�i‰i×#Ñ# DÓ)ˆØ�J‰J˜˜d�|Ó$ˆÜœœu Q›x¨¯©Ó1°1¸5ÖAr1   Úfuncc                 óÌ   — t        t        d¬«      5   |g g«       d d d «       t        t        d¬«      5   |ddgddggd«       d d d «       y # 1 sw Y   Œ3xY w# 1 sw Y   y xY wr—  ©r‰   rŠ   ©rg   r·  s     r/   r‹   zTestRfftn.test_invalid_sizes?  su   € äœ:ð"6ô7ñ 	ñ �"�ŒJ÷	ô
 œ:ð"7ô8ñ 	,ñ �1�a�&˜1˜a˜&Ð! 7Ô+÷	,ð 	,÷	ð 	ú÷
	,ð 	,ús   ’
AµAÁAÁA#c                 ód   — t        t        d¬«      5   |g g ¬«       d d d «       y # 1 sw Y   y xY w)Nz#at least 1 axis must be transformedrå   r[   r¹  rº  s     r/   rœ  zTestRfftn.test_no_axesK  s/   € äœ:Ø!FôHñ 	á�˜"Õ÷	÷ 	ñ 	ús   ’&¦/c                 ó¬   — t        t        d¬«      5  t        t        j                  dt        j
                  ¬«      «       d d d «       y # 1 sw Y   y xY w)Nrä   rå   rã   r>   )r‰   rç   r   r&   r   r¡   rf   s    r/   ré   zTestRfftn.test_complex_inputQ  s9   € Üœ9Ð,GÔHñ 	4Ü”"—(‘(˜2¤R§\¡\Ô2Ô3÷	4÷ 	4ñ 	4ús   ’/A
Á
A)rŒ   r�   rŽ   r7   r¨  rh   rB  rC  rD  r&   r›   rÕ   r¢   r¡   rq   r¶  r   r   r‹   rœ  ré   r�   r1   r/   r²  r²     sä   „ Ø€EØ€Fòð ‡[�[×ÑÐ2Ø!Ÿz™z¨2¯=©=¸$Ð?Ø!Ÿz™z¨2¯<©<¸Ð>ð@óAñJóAðJð ‡[�[×Ñ˜VÒ%;Ó<ñBó =ðBð
 ‡[�[×Ñ˜V e¨V _Ó5ñ	,ó 6ð	,ð ‡[�[×Ñ˜V e¨V _Ó5ñó 6ðó
4r1   r²  c                   ó   — e Zd Zd„ Zy)Ú	FakeArrayc                 ó4   — || _         |j                  | _        y r3   )Ú_dataÚ__array_interface__rî   s     r/   rï   zFakeArray.__init__W  s   € ØˆŒ
Ø#'×#;Ñ#;ˆÕ r1   N)rŒ   r�   rŽ   rï   r�   r1   r/   r¾  r¾  V  s   „ ó<r1   r¾  c                   ó   — e Zd Zd„ Zdd„Zy)Ú
FakeArray2c                 ó   — || _         y r3   ©rÀ  rî   s     r/   rï   zFakeArray2.__init__]  s	   € Øˆ�
r1   Nc                 ó   — | j                   S r3   rÅ  )rg   r7   Úcopys      r/   Ú	__array__zFakeArray2.__array__`  s   € Ø�z‰zÐr1   )NN)rŒ   r�   rŽ   rï   rÈ  r�   r1   r/   rÃ  rÃ  \  s   „ òôr1   rÃ  c                   ó�  — e Zd ZdZej
                  ej                  ej                  gZeej                  ej                  ej                  gz   Zg d¢Zd„ Zd„ Zej"                  j%                  de«      ej"                  j%                  de«      ej"                  j%                  ddd	g«      ej"                  j%                  d
g d¢«      d„ «       «       «       «       Zej"                  j%                  de«      ej"                  j%                  de«      ej"                  j%                  ddd	g«      ej"                  j%                  d
g d¢«      d„ «       «       «       «       Zd„ Zej"                  j%                  de«      ej"                  j%                  ddd	g«      ej"                  j%                  d
g d¢«      d„ «       «       «       Zy)ÚTestOverwritez4Check input overwrite behavior of the FFT functions.)r-  rU  r¬  c                 óø   — |j                  «       }d„ t        t        fD ]Y  } | ||«      |||¬«       |j                  › d|j                  › |j
                  ›d|›d|›d|›d�}	|rŒIt        ||d|	› �¬	«       Œ[ y )
Nc                 ó   — | S r3   r�   r]   s    r/   ú<lambda>z&TestOverwrite._check.<locals>.<lambda>n  s   € ˜q€ r1   )Úoverwrite_xú(z, z, axis=z, overwrite_x=ú)zspurious overwrite in )r.   )rÇ  r¾  rÃ  rŒ   r7   rx   r   )
rg   r)   ÚroutineÚfftsizerL   rÎ  Úshould_overwriterz   ÚfakeÚsigs
             r/   Ú_checkzTestOverwrite._checkl  s�   € Ø�V‰V‹XˆÙ ¤)¬ZÐ8ò 	LˆDÙ‘D˜“H˜g t¸ÕEà×&Ñ&Ð' q¨¯©¨	°!·'±'°¸B¸w¸kð JØ˜( .°°¸qðBˆCâ#Ü˜R Ð.DÀSÀEÐ,JÖKñ	Lr1   c                 ó°  — t         j                  j                  d«       t        j                  |t         j                  «      r=t        j                  j
                  |Ž dt        j                  j
                  |Ž z  z   }nt        j                  j
                  |Ž }|j                  |«      }|xr ||v xr |||   k  }	| j                  ||||||	¬«       y )Nrc   rÀ   ©rÎ  rÓ  )r&   r4   re   Ú
issubdtypeÚcomplexfloatingÚrandnr9   rÖ  )
rg   rÑ  r7   rx   rL   Úoverwritable_dtypesrÒ  rÎ  rí   rÓ  s
             r/   Ú	_check_1dzTestOverwrite._check_1dv  s·   € ä
�	‰	�‰�tÔÜ�=‰=˜¤× 2Ñ 2Ô3Ü—9‘9—?‘? EÐ*¨R´·	±	·±ÀÐ0GÑ-GÑG‰Dä—9‘9—?‘? EÐ*ˆDØ�{‰{˜5Ó!ˆà'ò 7Ø %Ð)<Ð <ò7à '¨5°©;Ñ 6ð 	ð 	�‰�D˜' 7¨DØ +Ø%5ð 	õ 	7r1   r7   rÒ  rÎ  TFz
shape,axes))©rU  r  )©rU  r!   r   )©r!   rU  rS   c           	      óÎ   — t         j                  t         j                  t         j                  f}| j	                  t
        ||||||«       | j	                  t        ||||||«       y r3   )r&   r”   rÕ   r¡   rÝ  r   r
   ©rg   r7   rÒ  rÎ  rx   r\   Úoverwritables          r/   Útest_fft_ifftzTestOverwrite.test_fft_ifft†  sR   € ô Ÿ™¬¯©´r·|±|ÐDˆØ�‰”s˜E 5¨$°Ø ô	-à�‰”t˜U E¨4°Ø õ	-r1   c           	      óˆ   — | j                   }| j                  t        ||||||«       | j                  t        ||||||«       y r3   )Úreal_dtypesrÝ  r   r   râ  s          r/   Útest_rfft_irfftzTestOverwrite.test_rfft_irfft“  sE   € ð ×'Ñ'ˆØ�‰”u˜e U¨D°,Ø ô	-à�‰”t˜U E¨4°Ø õ	-r1   c                 ót  ‡‡‡‡
‡— t         j                  j                  d«       t        j                  ‰t         j                  «      r=t        j                  j
                  |Ž dt        j                  j
                  |Ž z  z   }nt        j                  j
                  |Ž }|j                  ‰«      }ˆ
fd„Š
d„ Šˆˆˆˆfd„} ‰
 ‰||«      «      D ]d  }	| j                  |||	|‰ |||	|«      ¬«       |j                  dkD  sŒ2| j                  |j                  ||	|‰ ||j                  |	|«      ¬«       Œf y )Nrc   rÀ   c              3   ó–   •K  — t        | «      dk  rd–— y | d   dz  | d   | d   dz  fD ]  } ‰| dd  «      D ]
  }|f|z   –— Œ Œ y ­w)Nr   r�   r!   rS   )rA   )Úshpr€  ÚrestÚfftshape_iters      €r/   rì  z2TestOverwrite._check_nd_one.<locals>.fftshape_iter©  sg   øè ø€ Ü�3‹x˜1Š}Ø“à˜a™& !™) S¨¡V¨S°©V°A©XÐ6ò *�AÙ -¨c°!°"¨gÓ 6ò *˜Ø ˜d T™kÓ)ñ*ñ*ùs   ƒAA	c                 óH   — |€| S t        t        j                  | |«      «      S r3   )Útupler&   Útake)rx   r\   s     r/   Ú
part_shapez/TestOverwrite._check_nd_one.<locals>.part_shape±  s"   € Øˆ|Ø�äœRŸW™W U¨DÓ1Ó2Ð2r1   c                 ó”   •—  ‰| j                   |«      }‰xr1 t        j                  |«      t        j                  |«      k  xr ‰‰v S r3   )rx   r&   Úprod)rí   rx   r\   rˆ  r7   rÜ  rÎ  rð  s       €€€€r/   rÓ  z5TestOverwrite._check_nd_one.<locals>.should_overwrite·  sF   ø€ Ù˜4Ÿ:™: tÓ,ˆAØò 5Ü—G‘G˜E“N¤b§g¡g¨a£jÑ0ò5àÐ!4Ð4ð6r1   rØ  rS   )
r&   r4   re   rÙ  rÚ  rÛ  r9   rÖ  rM   ÚT)rg   rÑ  r7   rx   r\   rÜ  rÎ  rí   rÓ  Úfftshaperì  rð  s     `  ``   @@r/   Ú_check_nd_onezTestOverwrite._check_nd_one   s  ü€ ä
�	‰	�‰�tÔÜ�=‰=˜¤× 2Ñ 2Ô3Ü—9‘9—?‘? EÐ*¨R´·	±	·±ÀÐ0GÑ-GÑG‰Dä—9‘9—?‘? EÐ*ˆDØ�{‰{˜5Ó!ˆô	*ò	3÷	6ñ &¡j°¸Ó&=Ó>ò 		9ˆHØ�K‰K˜˜g x°Ø$/Ù)9¸$ÀÈ$Ó)Oð ô Qð �y‰y˜1‹}à—‘˜DŸF™F G¨X°tØ(3Ù-=Ø $§¡¨°$ó.8ð õ 9ñ		9r1   ))rÞ  N)rÞ  rh  )rß  rh  )rà  ©rS   )©r-  rU  N)r÷  ©r   rS   )©r-  rU  r!   rø  )rù  rc  )rù  rh  )rù  rö  )rù  )r!   )rù  N)rù  ra  c                 óÊ   — t         j                  t         j                  t         j                  f}| j	                  t
        |||||«       | j	                  t        |||||«       y r3   )r&   r”   rÕ   r¡   rõ  r   r   )rg   r7   rÎ  rx   r\   rã  s         r/   Útest_fftn_ifftnzTestOverwrite.test_fftn_ifftnÈ  sR   € ô  Ÿ™¬¯©´r·|±|ÐDˆØ×Ñœ4 ¨¨t°\Ø&ô	(à×Ñœ5 %¨°°lØ&õ	(r1   N)rŒ   r�   rŽ   Ú__doc__r&   r¢   r›   r•   ræ  r¡   rÕ   r”   ÚdtypesÚfftsizesrÖ  rÝ  rB  rC  rD  rä  rç  rõ  rû  r�   r1   r/   rÊ  rÊ  e  s¥  „ Ù>à—:‘:˜rŸz™z¨2¯=©=Ð9€KØ˜BŸL™L¨"¯-©-¸¿¹ÐHÑH€FÚ€HòLò7ð  ‡[�[×Ñ˜W fÓ-Ø‡[�[×Ñ˜Y¨Ó1Ø‡[�[×Ñ˜]¨T°5¨MÓ:Ø‡[�[×Ñ˜\ò ,:ó ;ñ-ó;ó ;ó 2ó .ð-ð ‡[�[×Ñ˜W kÓ2Ø‡[�[×Ñ˜Y¨Ó1Ø‡[�[×Ñ˜]¨T°5¨MÓ:Ø‡[�[×Ñ˜\ò ,:ó ;ñ-ó;ó ;ó 2ó 3ð-ò&9ðP ‡[�[×Ñ˜W fÓ-Ø‡[�[×Ñ˜]¨T°5¨MÓ:Ø‡[�[×Ñ˜\ò ,Eó Fñ(óFó ;ó .ñ(r1   rÊ  r·  c                 óš   — t        j                  dt        ¬«      }t        t        d¬«      5   | |d¬«       d d d «       y # 1 sw Y   y xY w)Nrã   r>   zBInvalid norm value 'o', should be "backward", "ortho" or "forward"rå   Úo)r(   )r&   r   Úfloatr‰   rŠ   )r·  r)   s     r/   Útest_invalid_normr  ß  sF   € ô 	�	‰	�"œEÔ"€AÜ	”zðAô
Bñ ñ 	ˆQ�SÕ÷÷ ñ ús   ­AÁA
c                 óÐ   — t         j                  j                  d«      }|j                  d«      d|j                  d«      z  z   }t	         | t        |«      «       | |«      «       y )Nrc   rã   rÀ   ©r&   r4   ÚRandomStater    r   r;   ©r·  r7  r)   s      r/   Útest_swapped_byte_order_complexr  é  sO   € ô �)‰)×
Ñ
 Ó
%€CØ�‰�‹�r˜CŸH™H R›LÑ(Ñ(€AÜ‘Dœ¨Ó*Ó+©T°!«WÕ5r1   c                 ó¦   — t         j                  j                  d«      }|j                  d«      }t	         | t        |«      «       | |«      «       y )Nrc   rã   r  r  s      r/   Útest_swapped_byte_order_realr	  ñ  s;   € ä
�)‰)×
Ñ
 Ó
%€CØ�‰�‹€AÜ‘Dœ¨Ó*Ó+©T°!«WÕ5r1   )SÚnumpy.testingr   r   r   r   r   r   rB  r	   r‰   Úscipy.fft._pocketfftr
   r   r   r   r   r   r   r   r   r   r   r   r‚   r   r   r   r   r   r   r   r   r   r&   Ú	numpy.fftÚnumpy.randomr    rÇ   rE  rÈ   rF  r0   r4   r;   rG   rI   rO   rQ   rT   rY   r^   r`   r‘   r™   rž   r¥   r¬   rC  Úskipifr•   r›   rÎ   rÓ   r×   rÛ   rý   r   r  r  r  r  r"  r%  rH  r¡  r²  r¾  rÃ  rÊ  rD  r  r  r	  r�   r1   r/   ú<module>r     sþ  ð÷,÷ ,ó Ý *÷>÷ >÷ >ó >÷&÷ &õ &ã Û Ý òÐ ò
Ð ð 	ðÐ ð ðÐ ò
Nòòò
òòòòò ò1÷-:ñ -:ô`!˜ô !ô�Lô ô�Lô ÷Kñ K÷&J;ñ J;ðZ ‡�×Ñ�B—M‘M R§Z¡ZÐ/Ø=ð ó ?ô˜ó ó?ðô�]ô ô�]ô ÷2(ñ 2(ðh ‡�×Ñ�B—M‘M R§Z¡ZÐ/Ø=ð ó ?ô!˜ó !ó?ð!ô�]ô ô�]ô ÷=<ñ =<ðF ‡�×Ñ�B—M‘M R§Z¡ZÐ/Ø=ð ó ?ô˜.ó ó?ðô�nô ô�nô ÷>4ñ >4÷B` ñ ` ÷F.9ñ .9÷`34ñ 34÷l<ñ <÷ñ ÷w(ñ w(ðt ‡�×Ñ˜ # t¨T°5Ø!% u¨e°Vð"=ó >ñó>ðð ‡�×Ñ˜ # t¨T°5Ø#(¨&°$¸ð"?ó @ñ6ó@ð6ð ‡�×Ñ˜ %¨°°uÐ!=Ó>ñ6ó ?ñ6r1   