+
    LV-jw  ã                   óÜ  € ^ RI HtHtHtHtHt ^ RIt^ RIHt ^ RI	H
t
HtHtHtHtHtHt ^ RIHtHtHtHtHtHtHtHtHtHt ^ RIt^ RIt^ RIHt . R:Ot . R;Ot!R.t"^.t#R t$R	 t%R
 t&R t'R t(R t)R t*R t+ ! R R4      t, ! R R],4      t- ! R R],4      t. ! R R4      t/ ! R R4      t0 ! R R]04      t1 ! R R]04      t2 ! R R4      t3 ! R  R!]34      t4 ! R" R#]34      t5 ! R$ R%4      t6 ! R& R']64      t7 ! R( R)]64      t8 ! R* R+4      t9 ! R, R-4      t: ! R. R/4      t; ! R0 R14      t< ! R2 R34      t= ! R4 R54      t> ! R6 R74      t?]P€                  Pƒ                  R8]]].4      R9 4       tBR# )<é    )Ú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©ÚrandiÛ  c                 ó¾   € R V RV 2p\        \        P                  P                  W,
          4      V\        P                  P                  V 4      ,          V4       R# )zsize: z  rdt: N)r   ÚnpÚlinalgÚnorm)ÚxÚyÚrtolÚsizeÚrdtÚerr_msgs   &&&&& Úo/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/fftpack/tests/test_basic.pyÚ_assert_close_in_normr'   #   sA   € à�t�f˜G C 5Ð)€GÜ”b—i‘i—n‘n Q¥UÓ+¨T´"·)±)·.±.ÀÓ2CÕ-CÀWÖMó    c                 ó   € \        V !  # ©Nr   )r#   s   &r&   Úrandomr+   )   s   € Ü�‰;Ðr(   c                 óü   € \        V 4      p \        V 4      p\        V\        R 7      p\	        V4      ) R\
        ,          V,          ,          p\        V4       F   p\        \        WC,          4      V 4      W$&   K"  	  V# ©©Údtypeù               @©	r   Úlenr   r   r   r   Úranger   r   ©r    Únr!   ÚwÚis   &    r&   Ú
direct_dftr8   -   s_   € Ü�‹
€AÜˆA‹€AÜˆa”wÔ€AÜ	�‹ˆ
�B”r•E˜!•GÕ€AÜ�1ŽXˆÜ”3�q•s“8˜QÓˆ‹ñ à€Hr(   c                 ó  € \        V 4      p \        V 4      p\        V\        R 7      p\	        V4      R\
        ,          V,          ,          p\        V4       F'  p\        \        WC,          4      V 4      V,          W$&   K)  	  V# r-   r1   r4   s   &    r&   Údirect_idftr:   7   sb   € Ü�‹
€AÜˆA‹€AÜˆa”wÔ€AÜˆq‹	�2”b•5˜•7Õ€AÜ�1ŽXˆÜ”3�q•s“8˜QÓ Õ!ˆ‹ñ à€Hr(   c                 ó~   € \        V 4      p \        \        V P                  4      4       F  p\	        WR 7      p K  	  V # ©)Úaxis)r   r3   r2   Úshaper
   ©r    r=   s   & r&   Údirect_dftnr@   A   s1   € Ü�‹
€AÜ”c˜!Ÿ'™'“lÖ#ˆÜ�ÔŠñ $à€Hr(   c                 ó~   € \        V 4      p \        \        V P                  4      4       F  p\	        WR 7      p K  	  V # r<   )r   r3   r2   r>   r	   r?   s   & r&   Údirect_idftnrB   H   s1   € Ü�‹
€AÜ”c˜!Ÿ'™'“lÖ#ˆÜ�ÔŠñ $à€Hr(   c                 óÌ  € \        V 4      p \        V 4      p\        V4      ) R \        ,          V,          ,          p\	        V\
        R7      p\        V^,          ^,           4       Fz  p\        \        WB,          4      V 4      pV'       dF   VP                  V^V,          ^,
          &   ^V,          V8  d   VP                  V^V,          &   Ki  Kk  VP                  V^ &   K|  	  V# )r0   r.   )r   r2   r   r   r   r   r3   r   r   ÚrealÚimag)r    r5   r6   Úrr7   r!   s   &     r&   Údirect_rdftrG   O   s¯   € Ü�‹
€AÜˆA‹€AÜ	�‹ˆ
�B”r•E˜!•GÕ€AÜˆa”vÔ€AÜ�1�a•4˜•6Ž]ˆÜ”�A•C“˜!ÓˆßØ—v‘vˆAˆa��c�!�e‰HØ��s�QŒwØŸ™��!�A•#“ñ ð —6‘6ˆAˆa‹Dñ ð €Hr(   c                 ó  € \        V 4      p \        V 4      p\        V\        R 7      p\	        V^,          ^,           4       F³  pV'       d�   ^V,          V8  dt   V ^V,          ^,
          ,          RV ^V,          ,          ,          ,           W#&   V ^V,          ^,
          ,          RV ^V,          ,          ,          ,
          W!V,
          &   KŒ  V ^V,          ^,
          ,          W#&   K§  V ^ ,          V^ &   Kµ  	  \        V4      P                  # )r.   ù              ð?)r   r2   r   r   r3   r:   rD   )r    r5   Úx1r7   s   &   r&   Údirect_irdftrK   _   sÂ   € Ü�‹
€AÜˆA‹€AÜ	ˆqœÔ	 €BÜ�1�a•4˜•6Ž]ˆßØ��s�QŒwØ˜!˜A�#˜a�%� 2 a¨¨!­¥f¥9Õ,�‘Ø˜A˜a�C �E�( R¨¨!¨A­#­¥YÕ.��Q•3“à˜!˜A�#˜a�%��“à�a•DˆBˆq‹Eñ ô �r‹?×ÑÐr(   c                   ó>   a € ] tR t^ot o R tR tR tR tR tRt	V t
R# )Ú_TestFFTBasec                ó`   € R V n         R V n        \        P                  P	                  R4       R # )NéÒ  )Úcdtr$   r   r+   Úseed©Úselfs   &r&   Úsetup_methodÚ_TestFFTBase.setup_methodp   s    € ØˆŒØˆŒÜ
�	‰	�‰�tÖr(   c                óT  € \         P                  ! . ROV P                  R7      p\        V4      p\	        VP
                  V P                  4       \        V4      p\        W#4       \         P                  ! . ROV P                  R7      p\        \        V4      \        V4      4       R# )é   r.   N©rW   é   é   ù      @      ð?rW   rY   rZ   y      @       @©rW   rY   rZ   y      @        é   )r   r   rP   r
   r   r/   r8   r   ©rS   r    r!   Úy1s   &   r&   Útest_definitionÚ_TestFFTBase.test_definitionu   si   € Ü�HŠHÒ,°D·H±HÔ=ˆÜ�‹FˆÜ�Q—W‘W˜dŸh™hÔ'Ü˜‹]ˆÜ! !Ô'Ü�HŠH’^¨4¯8©8Ô4ˆÜ!¤# a£&¬°A«Ö7r(   c                óŽ  € \         P                  ! . ROV P                  R7      p\         P                  ! . ROV P                  R7      p\        W.^R7      p\	        VP
                  V P                  4       \	        VP                  R4       \        V^ ,          \        V4      4       \        V^,          \        V4      4       R# ©rW   r.   ©r5   N©rW   rY   rZ   é   ©rY   rf   )
r   r   r$   r
   r   r/   rP   r>   r   r8   ©rS   rJ   Úx2r!   s   &   r&   Útest_n_argument_realÚ!_TestFFTBase.test_n_argument_real~   s|   € Ü�XŠX’i t§x¡xÔ0ˆÜ�XŠX’i t§x¡xÔ0ˆÜ��˜!ÔˆÜ�Q—W‘W˜dŸh™hÔ'Ü�Q—W‘W˜UÔ#Ü! ! A¥$¤z°"£~Ô6Ü! ! A¥$¤z°"£~Ö6r(   c                óŽ  € \         P                  ! . ROV P                  R7      p\         P                  ! . ROV P                  R7      p\        W.^R7      p\	        VP
                  V P                  4       \	        VP                  R4       \        V^ ,          \        V4      4       \        V^,          \        V4      4       R# )rW   r.   rd   N)rW   rY   rZ   r[   rg   )	r   r   rP   r
   r   r/   r>   r   r8   rh   s   &   r&   Ú_test_n_argument_complexÚ%_TestFFTBase._test_n_argument_complex‡   s|   € Ü�XŠX’l¨$¯(©(Ô3ˆÜ�XŠX’l¨$¯(©(Ô3ˆÜ��˜!ÔˆÜ�Q—W‘W˜dŸh™hÔ'Ü�Q—W‘W˜UÔ#Ü! ! A¥$¤z°"£~Ô6Ü! ! A¥$¤z°"£~Ö6r(   c                óh   € \        \        \        . 4       \        \        \        ^^.^^..R4       R# ©rW   Néûÿÿÿ)Úassert_raisesÚ
ValueErrorr
   rR   s   &r&   Útest_invalid_sizesÚ_TestFFTBase.test_invalid_sizes�   s(   € Ü”j¤# rÔ*Ü”j¤#¨¨1¨¨q°¨e }°bÖ9r(   ©rP   r$   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rT   r`   rj   rm   rt   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r&   rM   rM   o   s#   ø‡ € òò
8ò7ò7÷:ð :r(   rM   c                   ó&   a € ] tR t^•t o R tRtV tR# )ÚTestDoubleFFTc                óZ   € \         P                  V n        \         P                  V n        R # r*   ©r   Ú
complex128rP   Úfloat64r$   rR   s   &r&   rT   ÚTestDoubleFFT.setup_method–   ó   € Ü—=‘=ˆŒÜ—:‘:ˆŽr(   rv   N©rw   rx   ry   rz   rT   r{   r|   r}   s   @r&   r€   r€   •   ó   ø‡ € ÷ð r(   r€   c                   óp   a € ] tR t^›t o R tRt]P                  P                  R]R7      R 4       t	Rt
V tR# )ÚTestSingleFFTc                óZ   € \         P                  V n        \         P                  V n        R # r*   ©r   Ú	complex64rP   Úfloat32r$   rR   s   &r&   rT   ÚTestSingleFFT.setup_methodœ   ó   € Ü—<‘<ˆŒÜ—:‘:ˆŽr(   zusingle-precision FFT implementation is partially disabled, until accuracy issues with large prime powers are resolvedF)ÚrunÚreasonc                ó   € R # r*   © rR   s   &r&   Útest_noticeÚTestSingleFFT.test_notice£   s   € ár(   rv   N)rw   rx   ry   rz   rT   r’   ÚpytestÚmarkÚxfailr•   r{   r|   r}   s   @r&   rŠ   rŠ   ›   s:   ø‡ € òðK€Fð ‡[�[×Ñ˜5¨ÐÓ0ñó 1ör(   rŠ   c                   ó,   a € ] tR t^¨t o R tR tRtV tR# )ÚTestFloat16FFTc                óH  € \         P                  ! . RO\         P                  R7      p\        V^R7      p\	        VP
                  \         P                  4       \	        VP                  R4       \        V\        VP                  \         P                  4      4      4       R# )rW   r.   rd   Nre   )rf   ©r   r   Úfloat16r
   r   r/   r�   r>   r   r8   ÚastyperŽ   )rS   rJ   r!   s   &  r&   Útest_1_argument_realÚ#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ÖGr(   c                ó  € \         P                  ! . RO\         P                  R7      p\         P                  ! . RO\         P                  R7      p\        W.^R7      p\	        VP
                  \         P                  4       \	        VP                  R4       \        V^ ,          \        VP                  \         P                  4      4      4       \        V^,          \        VP                  \         P                  4      4      4       R# rc   r�   rh   s   &   r&   rj   Ú#TestFloat16FFT.test_n_argument_real±   s˜   € Ü�XŠX’l¬"¯*©*Ô5ˆÜ�XŠX’l¬"¯*©*Ô5ˆÜ��˜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ÖJr(   r”   N)rw   rx   ry   rz   r    rj   r{   r|   r}   s   @r&   r›   r›   ¨   s   ø‡ € òH÷Kð Kr(   r›   c                   óJ   a € ] tR t^»t o R tR tR tR tR tR t	R t
RtV tR	# )
Ú_TestIFFTBasec                óD   € \         P                  P                  R 4       R# ©rO   N©r   r+   rQ   rR   s   &r&   rT   Ú_TestIFFTBase.setup_method¼   ó   € Ü
�	‰	�‰�tÖr(   c                óP  € \         P                  ! . ROV P                  4      p\        V4      p\	        V4      p\        VP                  V P                  4       \        W#4       \         P                  ! . ROV P                  4      p\        \        V4      \	        V4      4       R# )rW   NrX   r\   )r   r   rP   r	   r:   r   r/   r   r^   s   &   r&   r`   Ú_TestIFFTBase.test_definition¿   si   € Ü�HŠHÒ,¨d¯h©hÓ7ˆÜ�‹GˆÜ˜‹^ˆÜ�Q—W‘W˜dŸh™hÔ'Ü! !Ô'ä�HŠH’^ T§X¡XÓ.ˆÜ!¤$ q£'¬+°a«.Ö9r(   c                ó’  € \         P                  ! . ROV P                  4      p\        V4      p\	        VP
                  V P                  4       \        V4      p\        W#4       \         P                  ! . ROV P                  R7      p\	        VP
                  V P                  4       \        \        V4      \        V4      4       R# )rW   r.   N©rW   rY   rZ   rf   rW   rY   rZ   rf   ©rW   rY   rZ   rf   r]   )	r   r   r$   r	   r   r/   rP   r:   r   r^   s   &   r&   Útest_definition_realÚ"_TestIFFTBase.test_definition_realÉ   s{   € Ü�HŠHÒ&¨¯©Ó1ˆÜ�‹GˆÜ�Q—W‘W˜dŸh™hÔ'Ü˜‹^ˆÜ! !Ô'ä�HŠH’[¨¯©Ô1ˆÜ�Q—W‘W˜dŸh™hÔ'Ü!¤$ q£'¬+°a«.Ö9r(   c                óÄ  € R FÙ  p\        V.4      P                  V P                  4      p\        V.4      P                  V P                  4      RV,          ,           p\        \	        V4      4      p\	        \        V4      4      p\        VP                  V P                  4       \        VP                  V P                  4       \        W24       \        WB4       KÛ  	  R# )rW   rI   N©	rW   é3   éo   éd   éÈ   é@   é€   é   i   )r+   rŸ   rP   r	   r
   r   r/   r   ©rS   r#   r    r_   Úy2s   &    r&   Útest_random_complexÚ!_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Ö,ó 7r(   c                ó^  € R F¦  p\        V.4      P                  V P                  4      p\        \	        V4      4      p\	        \        V4      4      p\        VP                  V P                  4       \        VP                  V P                  4       \        W24       \        WB4       K¨  	  R# )rW   Nr³   )	r+   rŸ   r$   r	   r
   r   r/   rP   r   r»   s   &    r&   Útest_random_realÚ_TestIFFTBase.test_random_realß   st   € Û6ˆDÜ˜�v“×%Ñ% d§h¡hÓ/ˆAÜ”c˜!“f“ˆBÜ”T˜!“W“ˆBÜ˜Ÿ™ 4§8¡8Ô,Ü˜Ÿ™ 4§8¡8Ô,Ü% bÔ,Ü% bÖ,ó 7r(   c                óR  € V P                   \        P                  8X  d   R pM!V P                   \        P                  8X  d   Rp\        \
        ,            EFM  p\        P                  P                  R4       \        P                  P                  V4      P                  V P                   4      p\        \        V4      4      p\        W4XW P                   4       \        \        V4      4      p\        W4WV P                   4       VR\        P                  P                  V4      ,          ,           P                  V P                  4      p\        \        V4      4      p\        W4WV P                   4       \        \        V4      4      p\        W4WV P                   4       EKP  	  R# )çñhãˆµøä>ç»½×Ùß|Û=rO   rI   N)r$   r   rŽ   r„   ÚLARGE_COMPOSITE_SIZESÚLARGE_PRIME_SIZESr+   rQ   r   rŸ   r	   r
   r'   rP   ©rS   r"   r#   r    r!   s   &    r&   Útest_size_accuracyÚ _TestIFFTBase.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Ü”S˜“V“ˆAÜ! !¨¨d·H±HÔ=Ü”D˜“G“ˆAÜ! !¨°D·H±HÔ=à�RœŸ	™	Ÿ™ tÓ,Õ,Õ,×4Ñ4°T·X±XÓ>ˆAÜ”S˜“V“ˆAÜ! !¨°D·H±HÔ=Ü”D˜“G“ˆAÜ! !¨°D·H±H×=ó >r(   c                óh   € \        \        \        . 4       \        \        \        ^^.^^..R4       R# rp   )rr   rs   r	   rR   s   &r&   rt   Ú _TestIFFTBase.test_invalid_sizesþ   ó(   € Ü”j¤$¨Ô+Ü”j¤$¨!¨A¨°°!¨u¨°rÖ:r(   r”   N)rw   rx   ry   rz   rT   r`   r°   r½   rÀ   rÈ   rt   r{   r|   r}   s   @r&   r¥   r¥   »   s-   ø‡ € òò:ò	:ò	-ò-ò>÷*;ð ;r(   r¥   c                   ó&   a € ] tR tRt o R tRtV tR# )ÚTestDoubleIFFTi  c                óZ   € \         P                  V n        \         P                  V n        R # r*   r‚   rR   s   &r&   rT   ÚTestDoubleIFFT.setup_method  r†   r(   rv   Nr‡   r}   s   @r&   rÎ   rÎ     rˆ   r(   rÎ   c                   ó&   a € ] tR tRt o R tRtV tR# )ÚTestSingleIFFTi	  c                óZ   € \         P                  V n        \         P                  V n        R # r*   rŒ   rR   s   &r&   rT   ÚTestSingleIFFT.setup_method
  r�   r(   rv   Nr‡   r}   s   @r&   rÒ   rÒ   	  rˆ   r(   rÒ   c                   óR   a € ] tR tRt o R tR tR t ! R R4      tR tR t	R	t
V tR
# )Ú_TestRFFTBasei  c                óD   € \         P                  P                  R 4       R# r§   r¨   rR   s   &r&   rT   Ú_TestRFFTBase.setup_method  rª   r(   c                óè   € . RO. RO3 Fe  p\         P                  ! WP                  R7      p\        V4      p\	        V4      p\        W44       \        VP                  V P                  4       Kg  	  R# )rW   r.   Nr®   ©	rW   rY   rZ   rf   rW   rY   rZ   rf   r]   )r   r   r$   r   rG   r   r   r/   )rS   Útr    r!   r_   s   &    r&   r`   Ú_TestRFFTBase.test_definition  sQ   € Ú*Ò,GÓHˆAÜ—’˜§(¡(Ô+ˆAÜ�Q“ˆAÜ˜Q“ˆBÜ% aÔ+Ü˜Ÿ™ $§(¡(Ö+ó Ir(   c                óh   € \        \        \        . 4       \        \        \        ^^.^^..R4       R# rp   )rr   rs   r   rR   s   &r&   rt   Ú _TestRFFTBase.test_invalid_sizes  rÌ   r(   c                   ó,   a € ] tR tRt o R tR tRtV tR# )Ú_TestRFFTBase.MockSeriesi   c                ó<   € \         P                  ! V4      V n        R # r*   )r   r   Údata©rS   râ   s   &&r&   Ú__init__Ú!_TestRFFTBase.MockSeries.__init__!  s   € ÜŸ
š
 4Ó(ˆDŽIr(   c                óv   €  \        V P                  V4      #   \         d   p\        R T R24      ThRp?ii ; i)z&'MockSeries' object has no attribute 'Ú'N)Úgetattrrâ   ÚAttributeError)rS   ÚitemÚes   && r&   Ú__getattr__Ú$_TestRFFTBase.MockSeries.__getattr__$  sO   € ðKÜ˜tŸy™y¨$Ó/Ð/øÜ!ô KÜ$ð &;Ø;?¸&Àð&Có DØIJðKûðKús   ‚ ˜8£3³8)râ   N)rw   rx   ry   rz   rä   rì   r{   r|   r}   s   @r&   Ú
MockSeriesrà      s   ø‡ € ò	)÷	Kð 	Kr(   rî   c                óÀ   € \         P                  ! . RO4      p\        P                  V4      p. ROp\	        V4       \        W4       \        VP                  V4       R# )ç      ð?N)rð   g       @g      @g      @g      @r¯   )r   r   rÖ   rî   r   r   râ   )rS   r    ÚxsÚexpecteds   &   r&   Útest_non_ndarray_with_dtypeÚ)_TestRFFTBase.test_non_ndarray_with_dtype+  sE   € Ü�HŠHÒ)Ó*ˆÜ×%Ñ% aÓ(ˆâ"ˆÜˆRŒô 	�QÔ!Ü�R—W‘W˜hÖ'r(   c           	     óx   € \        \        \        \        P                  ! ^\        P
                  R7      4       R# ©rf   r.   N)rr   Ú	TypeErrorr   r   r   r�   rR   s   &r&   Útest_complex_inputÚ _TestRFFTBase.test_complex_input6  s   € Ü”i¤¤r§y¢y°¼"¿,¹,Ô'GÖHr(   r”   N)rw   rx   ry   rz   rT   r`   rt   rî   ró   rø   r{   r|   r}   s   @r&   rÖ   rÖ     s1   ø‡ € òò,ò;÷
	Kñ 	Kò	(÷Ið Ir(   rÖ   c                   ó&   a € ] tR tRt o R tRtV tR# )ÚTestRFFTDoublei:  c                óZ   € \         P                  V n        \         P                  V n        R # r*   r‚   rR   s   &r&   rT   ÚTestRFFTDouble.setup_method;  r†   r(   rv   Nr‡   r}   s   @r&   rû   rû   :  rˆ   r(   rû   c                   ó&   a € ] tR tRt o R tRtV tR# )ÚTestRFFTSinglei@  c                óZ   € \         P                  V n        \         P                  V n        R # r*   rŒ   rR   s   &r&   rT   ÚTestRFFTSingle.setup_methodA  r�   r(   rv   Nr‡   r}   s   @r&   rÿ   rÿ   @  rˆ   r(   rÿ   c                   óD   a € ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
Ú_TestIRFFTBaseiF  c                óD   € \         P                  P                  R 4       R# r§   r¨   rR   s   &r&   rT   Ú_TestIRFFTBase.setup_methodG  rª   r(   c                óT   a € . ROp. ROp. ROp. ROpV 3R lpV! W4       V! W44       R# )rW   c                 ó$  <€ \        \        P                  ! V SP                  R 7      4      p\	        V 4      p\        VP                  SP                  4       \        W#SP                  R7       \        V\        V4      SP                  R7       R# )r.   )ÚdecimalN)
r   r   r   r$   rK   r   r/   r   Úndecr	   )r    Úxrr!   r_   rS   s   &&  €r&   Ú_testÚ-_TestIRFFTBase.test_definition.<locals>._testP  sY   ø€ Ü”b—h’h˜q¨¯©Ô1Ó2ˆAÜ˜a“ˆBÜ˜Ÿ™ $§(¡(Ô+Ü% a°D·I±IÕ>Ü% a¬¨R«¸$¿)¹)×Dr(   Nr®   )rW   ù       @      @r[   r  rf   ù       @      Àù      @      ð¿r  rÚ   )	rW   r  r[   r  y      @      @y      @      Àr  r  r  r”   )rS   rJ   Úx1_1ri   Úx2_1r  s   f     r&   r`   Ú_TestIRFFTBase.test_definitionJ  s-   ø€ ÚˆÚ2ˆÚ ˆÚ:ˆõ	Eñ 	ˆbŒÙˆbŽr(   c                óž  € R FÆ  p\        V.4      P                  V P                  4      p\        \	        V4      4      p\	        \        V4      4      p\        VP                  V P                  4       \        VP                  V P                  4       \        W2V P                  RV 2R7       \        WBV P                  RV 2R7       KÈ  	  R# )rW   zsize=)r  r%   Nr³   )	r+   rŸ   r$   r   r   r   r/   r   r	  r»   s   &    r&   rÀ   Ú_TestIRFFTBase.test_random_realZ  s’   € Û6ˆDÜ˜�v“×%Ñ% d§h¡hÓ/ˆAÜ”t˜A“w“ˆBÜ”e˜A“h“ˆBÜ˜Ÿ™ 4§8¡8Ô,Ü˜Ÿ™ 4§8¡8Ô,Ü% b°T·Y±YÈ%ÐPTÈvÈÕWÜ% b°T·Y±YÈ%ÐPTÈvÈ×Wó 7r(   c                ó  € V P                   \        P                  8X  d   R pM!V P                   \        P                  8X  d   Rp\        \
        ,            F°  p\        P                  P                  R4       \        P                  P                  V4      P                  V P                   4      p\        \        V4      4      p\        W4XW P                   4       \        \        V4      4      p\        W4WV P                   4       K²  	  R# )rÃ   rÄ   rO   N)r$   r   rŽ   r„   rÅ   rÆ   r+   rQ   r   rŸ   r   r   r'   rÇ   s   &    r&   rÈ   Ú!_TestIRFFTBase.test_size_accuracyd  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“ˆAÜ! !¨¨d·H±HÔ=Ü”U˜1“X“ˆAÜ! !¨°D·H±HÖ=ó >r(   c                óh   € \        \        \        . 4       \        \        \        ^^.^^..R4       R# rp   )rr   rs   r   rR   s   &r&   rt   Ú!_TestIRFFTBase.test_invalid_sizess  s(   € Ü”j¤%¨Ô,Ü”j¤%¨1¨Q¨%°°1°¨¸Ö;r(   c           	     óx   € \        \        \        \        P                  ! ^\        P
                  R7      4       R# rö   )rr   r÷   r   r   r   r�   rR   s   &r&   rø   Ú!_TestIRFFTBase.test_complex_inputw  s   € Ü”i¤¬¯	ª	°!¼2¿<¹<Ô(HÖIr(   r”   N)rw   rx   ry   rz   rT   r`   rÀ   rÈ   rt   rø   r{   r|   r}   s   @r&   r  r  F  s+   ø‡ € òòò Xò>ò<÷Jð Jr(   r  c                   ó&   a € ] tR tRt o R tRtV tR# )ÚTestIRFFTDoublei~  c                óh   € \         P                  V n        \         P                  V n        ^V n        R# )é   N)r   rƒ   rP   r„   r$   r	  rR   s   &r&   rT   ÚTestIRFFTDouble.setup_method  s   € Ü—=‘=ˆŒÜ—:‘:ˆŒØˆŽ	r(   ©rP   r	  r$   Nr‡   r}   s   @r&   r  r  ~  s   ø‡ € ÷ð r(   r  c                   ó&   a € ] tR tRt o R tRtV tR# )ÚTestIRFFTSinglei…  c                óh   € \         P                  V n        \         P                  V n        ^V n        R# )r]   N)r   r�   rP   rŽ   r$   r	  rR   s   &r&   rT   ÚTestIRFFTSingle.setup_method†  s   € Ü—<‘<ˆŒÜ—:‘:ˆŒØˆŽ	r(   r   Nr‡   r}   s   @r&   r"  r"  …  s   ø‡ € ÷ð r(   r"  c                   ó2   a € ] tR tRt o R tR tR tRtV tR# )ÚTestfft2iŒ  c                óD   € \         P                  P                  R 4       R# r§   r¨   rR   s   &r&   rT   ÚTestfft2.setup_method�  rª   r(   c                ó¨   € \         P                  ! R4      p\        VRRR7      p\         P                  P	                  VRRR7      p\        W#4       R# )z-FFT returns wrong result with axes parameter.©r>   Úaxes)Úsr+  N©rf   rf   rY   ©é   r/  ©éýÿÿÿéþÿÿÿ)ÚnumpyÚonesr   r
   r   r   ©rS   r    r!   Úy_rs   &   r&   Útest_regression_244ÚTestfft2.test_regression_244�  s@   € ô �JŠJ�yÓ!ˆÜ�˜& xÔ0ˆÜ�i‰i�n‰n˜Q &¨xˆnÓ8ˆÜ! !Ö)r(   c                ój   € \        \        \        . .4       \        \        \        ^^.^^..R4       R# )rW   N©rf   r1  )rr   rs   r   rR   s   &r&   rt   ÚTestfft2.test_invalid_sizes™  s+   € Ü”j¤$¨¨Ô-Ü”j¤$¨!¨Q¨°!°Q°Ð(8¸'ÖBr(   r”   N)	rw   rx   ry   rz   rT   r7  rt   r{   r|   r}   s   @r&   r&  r&  Œ  s   ø‡ € òò*÷Cð Cr(   r&  c                   óz  a € ] tR tRt o R tR t]P                  P                  R]	]
,           4      R 4       t]P                  P                  R]],           4      R 4       tR t]P                  P                  R]	]
,           4      R 4       t]P                  P                  R]],           4      R	 4       tR
tV tR# )ÚTestFftnSingleiž  c                óD   € \         P                  P                  R 4       R# r§   r¨   rR   s   &r&   rT   ÚTestFftnSingle.setup_methodŸ  rª   r(   c                ó:  € . RO. RO. RO.p\        \        P                  ! V\        P                  4      4      p\	        VP
                  \        P                  8H  RR7       \        P                  ! \        V4      \        P                  4      p\        W#4       R# )rW   z-double precision output with single precision)ÚmsgN©rW   rY   rZ   ©rf   r]   é   ©é   r/  é	   )r   r   r   rŽ   r   r/   r�   r   r5  s   &   r&   r`   ÚTestFftnSingle.test_definition¢  sj   € ÚÚÚðˆô ”—’˜!œRŸZ™ZÓ(Ó)ˆÜ�—‘œ2Ÿ<™<Ñ'ØCõ	Eô �hŠh”t˜A“w¤§¡Ó-ˆÜ& qÖ.r(   r#   c                ó  € \         P                  P                  R 4      pVP                  W34      RVP                  W34      ,          ,           p\        VP                  P                  \         P                  4      4      p\        VP                  P                  \         P                  4      4      P                  \         P                  4      p\        VP                  \         P                  4       \        WER4       R# ©rO   rI   éÐ  N©r   r+   Údefault_rngr   rD   rŸ   rŽ   r„   r�   r   r/   r   ©rS   r#   Úrngr    r_   r¼   s   &&    r&   Útest_size_accuracy_smallÚ'TestFftnSingle.test_size_accuracy_small­  sœ   € ä�i‰i×#Ñ# DÓ)ˆØ�J‰J˜�|Ó$ r¨#¯*©*°d°\Ó*BÕ'BÕBˆÜ�!—&‘&—-‘-¤§
¡
Ó+Ó,ˆÜ�!—&‘&—-‘-¤§
¡
Ó+Ó,×3Ñ3´B·L±LÓAˆä�R—X‘XœrŸ|™|Ô,Ü& r¨tÖ4r(   c                ó  € \         P                  P                  R 4      pVP                  ! V^34      RVP                  ! V^34      ,          ,           p\        VP                  P                  \         P                  4      4      p\        VP                  P                  \         P                  4      4      P                  \         P                  4      p\        VP                  \         P                  4       \        WER4       R# rJ  rL  )rS   r#   r   r    r_   r¼   s   &&    r&   Útest_size_accuracy_largeÚ'TestFftnSingle.test_size_accuracy_large·  s    € ä�y‰y×$Ñ$ TÓ*ˆØ�KŠK˜˜q˜	Ó" R¨¯ª°T¸1°IÓ(>Õ%>Õ>ˆÜ�!—&‘&—-‘-¤§
¡
Ó+Ó,ˆÜ�!—&‘&—-‘-¤§
¡
Ó+Ó,×3Ñ3´B·L±LÓAˆä�R—X‘XœrŸ|™|Ô,Ü& r¨tÖ4r(   c                ó2  € . RO. RO. RO.p\        \        P                  ! V\        P                  4      4      p\	        VP
                  \        P                  4       \        P                  ! \        V4      \        P                  4      p\        W#4       R# )rW   NrB  rC  rE  )r   r   r   rž   r   r/   r�   r   r5  s   &   r&   Útest_definition_float16Ú&TestFftnSingle.test_definition_float16Á  s_   € ÚÚÚðˆô ”—’˜!œRŸZ™ZÓ(Ó)ˆÜ�Q—W‘WœbŸl™lÔ+Ü�hŠh”t˜A“w¤§¡Ó-ˆÜ& qÖ.r(   c                ó  € \         P                  P                  R 4      pVP                  W34      RVP                  W34      ,          ,           p\        VP                  P                  \         P                  4      4      p\        VP                  P                  \         P                  4      4      P                  \         P                  4      p\        VP                  \         P                  4       \        WER4       R# )rO   rI   g    €„AN©r   r+   rM  r   rD   rŸ   rž   r„   r�   r   r/   r   rN  s   &&    r&   Útest_float16_input_smallÚ'TestFftnSingle.test_float16_input_smallÊ  sœ   € ä�i‰i×#Ñ# DÓ)ˆØ�J‰J˜�|Ó$ r¨C¯J©J¸°|Ó,DÕ'DÕDˆÜ�!—&‘&—-‘-¤§
¡
Ó+Ó,ˆÜ�!—&‘&—-‘-¤§
¡
Ó+Ó,×3Ñ3´B·L±LÓAˆä�R—X‘XœrŸ|™|Ô,Ü& r¨sÖ3r(   c                ó
  € \         P                  P                  R 4      pVP                  V^34      RVP                  V^34      ,          ,           p\        VP                  P                  \         P                  4      4      p\        VP                  P                  \         P                  4      4      P                  \         P                  4      p\        VP                  \         P                  4       \        WER4       R# )rO   rI   g    €„>ANrY  rN  s   &&    r&   Útest_float16_input_largeÚ'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¨sÖ3r(   r”   N)rw   rx   ry   rz   rT   r`   r—   r˜   ÚparametrizeÚSMALL_COMPOSITE_SIZESÚSMALL_PRIME_SIZESrP  rÅ   rÆ   rS  rV  rZ  r]  r{   r|   r}   s   @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ö4r(   r=  c                   óP   a € ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
tV tR# )ÚTestFftniß  c                óD   € \         P                  P                  R 4       R# r§   r¨   rR   s   &r&   rT   ÚTestFftn.setup_methodà  rª   r(   c                ó   € . RO. RO. RO.p\        V4      p\        V\        V4      4       \        R4      p\        \        V4      \        V4      4       \        R4      p\        \        V4      \        V4      4       R# )rW   NrB  rC  rE  ©é   é   ©r]   rf   rZ   rh  )r   r   r@   r+   ©rS   r    r!   s   &  r&   r`   ÚTestFftn.test_definitionã  sc   € ÚÚÚðˆô �‹GˆÜ! !¤[°£^Ô4ä�8ÓˆÜ!¤$ q£'¬;°q«>Ô:ä�=Ó!ˆÜ!¤$ q£'¬;°q«>Ö:r(   c           
     ó>  € . RO. RO. RO.p. RO. RO. R	O.p. R
O. RO. RO.p. RO. RO. R
O.p. RO. RO. RO.p. RO. R	O. RO.p. RO. RO. RO.p. RO. RO. RO.p. RO. RO. RO.p	. RO. RO. RO.p
. RO. RO. RO.p. RO. RO. RO.p. RO. RO. RO.p. RO. RO. RO.p. RO. RO. RO.p. RO. RO. RO.p. RO. RO. RO.p. RO. RO. RO.pWxV	.pW«V.pVVV.pWEV.pWÞV.p\        WV.4      p\        \        V4      \        VR"R7      4       \        \        V4      \        VR#R7      4       \        \        VR$R7      \        VR%R7      4       \        VR&R7      p\        \        VR!R4      \        V4      4       \        VR'R7      p\        \        \        VR!R4      R!R 4      \        V4      4       \        VR(R7      p\        \        \        VR!R4      RR 4      \        V4      4       \        VR)R7      p\        \        VR R4      \        V4      4       \        VR*R7      p\        \        VR R!4      \        V4      4       \        VR+R7      p\        \        V4      V^ ,          4       \        \        V4      V^,          4       \        \        V4      V^,          4       \        VR,R7      p\        \        V4      V^ ,          4       \        \        V4      V^,          4       \        \        V4      V^,          4       \        VR-R7      p\        \        VR.,          4      VR.,          4       \        \        VR/,          4      VR/,          4       \        \        VR0,          4      VR0,          4       \        VR1R7      p\        \        VR2,          4      VR2,          4       \        \        VR3,          4      VR3,          4       \        \        VR4,          4      VR4,          4       \        VR5R7      p\        \        V4      \        V^ ,          R R!4      4       \        \        V4      \        V^,          R R!4      4       \        \        V4      \        V^,          R R!4      4       \        VR6R7      p\        \        V4      \        VR2,          R!R 4      4       \        \        V4      \        VR3,          R!R 4      4       \        \        V4      \        VR4,          R!R 4      4       \        VR7R7      p\        \        V4      \        VR.,          R!R 4      4       \        \        V4      \        VR/,          R!R 4      4       \        \        V	4      \        VR0,          R!R 4      4       \        VR8R7      p\	        ^4       F>  p\	        ^4       F,  p\        \        VVVR3,          4      VVVR3,          4       K.  	  K@  	  \        VR9R7      p\	        ^4       F>  p\	        ^4       F,  p\        \        VVRV3,          4      VVRV3,          4       K.  	  K@  	  \        VR:R7      p\	        ^4       F>  p\	        ^4       F,  p\        \        VRVV3,          4      VRVV3,          4       K.  	  K@  	  \        VR;R7      p\        VV4       R# )<rW   ©r+  ºNNNNrB  rC  rE  )é
   é   é   )é   r  é   )é   é   é   )é   rh  é   )é   é   é   )é   ri  é   )rW   rp  rx  )rf   rs  rz  )rF  ru  r}  )rY   rq  rh  )r]   r  r{  )r/  rv  ri  )rZ   rr  ry  )rD  rt  r|  )rG  rw  r~  )rW   rf   rF  )rp  rs  ru  )rx  rz  r}  )rY   r]   r/  )rq  r  rv  )rh  r{  ri  )rZ   rD  rG  )rr  rt  rw  )ry  r|  r~  r1  r2  éÿÿÿÿ)r1  r2  r  ©r   rW   rY   )r   rY   )r   r  )rY   rW   r   )rY   r   rW   )rW   rY   r   )rW   r   rY   )r   rY   rW   ©r2  r  ©rW   rY   r0  )ro  ro  r   )ro  ro  rW   )ro  ro  rY   )r1  r  )ro  r   ro  )ro  rW   ro  )ro  rY   ro  ©r  r2  )r  r1  )r2  r1  ©r  ©r2  ©r   r”   )r   r   r   r   r3   r
   )rS   Ú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!   r7   Újs   &                           r&   Útest_axes_argumentÚTestFftn.test_axes_argumentð  sß  € âÚÚðˆò ÚÚð ˆò ÚÚð ˆò Ú!Ú!ð#ˆ	ò Ú!Ú!ð#ˆ	ò Ú!Ú!ð#ˆ	ò !Ú Ú ð"ˆ	ò !Ú Ú ð"ˆ	ò !Ú Ú ð"ˆ	ò Ú!¢<ð1ˆ	âÚ!¢<ð1ˆ	âÚ!¢<ð1ˆ	âÚÚð ˆ	ò "Ú!Ú!ð#ˆ	ò "Ú!Ú!ð#ˆ	ò !Ú Ú ð"ˆ	ò !Ú Ú ð"ˆ	ò !Ú Ú ð"ˆ	ð ¨9Ð5ˆ	Ø¨9Ð5ˆ	Ø 	¨9Ð5ˆ	Ø¨9Ð5ˆ	Ø¨9Ð5ˆ	Ü�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¨¥zÓ"2°A°gµJÔ?Ü!¤$ q¨¥zÓ"2°A°gµJÔ?Ü!¤$ q¨¥zÓ"2°A°gµJÔ?ä�˜Ô"ˆÜ!¤$ q¨¥zÓ"2°A°gµJÔ?Ü!¤$ q¨¥zÓ"2°A°gµJÔ?Ü!¤$ q¨¥zÓ"2°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¨W­:°r¸2Ó">ô	@ä!¤$ y£/Ü"*¨1¨W­:°r¸2Ó">ô	@ä!¤$ y£/Ü"*¨1¨W­:°r¸2Ó">ô	@ô �˜Ô"ˆÜ!¤$ y£/Ü"*¨1¨W­:°r¸2Ó">ô	@ä!¤$ y£/Ü"*¨1¨W­:°r¸2Ó">ô	@ä!¤$ y£/Ü"*¨1¨W­:°r¸2Ó">ô	@ô �˜ÔˆÜ�q–ˆAÜ˜1–X�Ü)¬#¨a°°1°a°­j«/¸1¸QÀÀ1¸W½:ÖFó ñ ô �˜ÔˆÜ�q–ˆAÜ˜1–X�Ü)¬#¨a°°1°a°­j«/¸1¸QÀÀ1¸W½:ÖFó ñ ô �˜ÔˆÜ�q–ˆAÜ˜1–X�Ü)¬#¨a°°1°a°­j«/¸1¸QÀÀ1¸W½:ÖFó ñ ô �˜ÔˆÜ! ! QÖ'r(   c                óÀ   € . RO. RO.p. RO. RO. RO. RO.p\        VRR7      p\        V\        V4      4       \        VR	R7      p\        V\        VRR
 4      4       R# )rW   ©r>   NrB  rC  ©rW   rY   rZ   r   ©rf   r]   rD  r   ©r   r   r   r   ©rf   rf   )rZ   rf   r  )r   r   ©rS   Úsmall_xÚlarge_x1r!   s   &   r&   Útest_shape_argumentÚTestFftn.test_shape_argumentv  s_   € ÚÚðˆâ Ú Ú Ú ð"ˆô
 � Ô'ˆÜ! !¤T¨(£^Ô4ä� Ô'ˆÜ! !¤T¨(°3°B¨-Ó%8Ö9r(   c                ó  € . RO. RO. RO.p\        . RO. RO. RO. R	O.4      p\        VR
RR7      p\        V\        V4      4       \        VR
RR7      p\        V\        \        \        VRR4      4      RR4      4       R# )rW   r*  NrB  rC  rE  r£  r¤  )rF  r/  rG  r   r¥  r¦  r2  r  r�  rƒ  )r   r   r   r   r§  s   &   r&   Útest_shape_axes_argumentÚ!TestFftn.test_shape_axes_argument„  s€   € ÚÚÚðˆô š,Ú&Ú&Ú&ð(ó )ˆô � ¨XÔ6ˆÜ! !¤T¨(£^Ô4Ü� ¨XÔ6ˆä! !¤XÜ”˜( B¨Ó+Ó,¨b°"ó&6ö 	7r(   c           	     óÌ  € \         P                  P                  R4      p\        VRRR7      p\        V\	        VR^R7      4       \         P                  P                  R4      p\        VR
RR7      p\        V\	        VR	^R7      4       \         P                  P                  R4      p\        VRRR7      p\        V\         P                  P                  VRRR7      4       R# )rp  )r+  r>   )r=   r5   )r+  r,  N)rp  r]   rZ   rF  r  r„  )r/  r2  r…  r-  r0  r.  )r3  r+   r   r   r
   rk  s   &  r&   Útest_shape_axes_argument2Ú"TestFftn.test_shape_axes_argument2“  s³   € ä�L‰L×Ñ Ó.ˆÜ�˜ dÔ+ˆÜ! !¤S¨°°qÔ%9Ô:ô �L‰L×Ñ Ó.ˆÜ�˜ dÔ+ˆÜ! !¤S¨°°qÔ%9Ô:ô �L‰L×Ñ 	Ó*ˆÜ�˜¨Ô0ˆÜ! !Ü"'§)¡)§.¡.°¸ÀV .Ó"Lö	Nr(   c                ó¢   € \        R4      p\        \        RR7      ;_uu_ 4        \        VRR7       RRR4       R#   + '       g   i     R# ; i)rf   zBwhen given, axes and shape arguments have to be of the same length©Úmatchr¢  Nr-  )r/  r/  rY   rW   )r   rr   rs   r   )rS   r    s   & r&   Útest_shape_argument_moreÚ!TestFftn.test_shape_argument_more¤  sA   € Ü�)ÓˆÜœ:ð"<÷=ö =ô �˜,Õ'÷=÷ =÷ =ò =ús	   ¥=½A	c                ó  € \        \        R R7      ;_uu_ 4        \        . .4       RRR4       \        \        RR7      ;_uu_ 4        \        ^^.^^..R4       RRR4       R#   + '       g   i     LF; i  + '       g   i     R# ; i©z4invalid number of data points \(\[1, 0\]\) specifiedr³  Nz5invalid number of data points \(\[4, -3\]\) specifiedr:  )rr   rs   r   rR   s   &r&   rt   ÚTestFftn.test_invalid_sizes«  sz   € Üœ:ð"6÷7ö 7ô �"�ŒJ÷7ô
 œ:ð"7÷8ö 8ô �1�a�&˜1˜a˜&Ð! 7Ô+÷8ñ 8÷7÷ 7ú÷
8÷ 8ð 8úó   šA%ÁA8Á%A5	Á8B		r”   N)rw   rx   ry   rz   rT   r`   rŸ  rª  r­  r°  rµ  rt   r{   r|   r}   s   @r&   rc  rc  ß  s5   ø‡ € òò;òD(òL:ò7òNò"(÷	,ð 	,r(   rc  c                   ób  a € ] tR tRt o RtRtR t]P                  P                  R]
P                  ]
P                  R3]
P                  ]
P                  R3.4      R 4       t]P                  P                  RRR.4      ]P                  P                  R	. RO4      R
 4       4       tR tRtV tR# )Ú	TestIfftni·  Nc                óD   € \         P                  P                  R 4       R# r§   r¨   rR   s   &r&   rT   ÚTestIfftn.setup_method»  rª   r(   zdtype,cdtype,maxnlprK  i¬  c                ó´  € \         P                  P                  R 4      p\         P                  ! . RO. RO. RO.VR7      p\	        V4      p\        VP                  V4       \        V\        V4      V4       VP                  R4      p\        \	        V4      \        V4      V4       VP                  R4      p\        \	        V4      \        V4      V4       R# )rO   r.   NrB  rC  rE  rg  rj  )	r   r+   rM  r   r   r   r/   r   rB   )rS   r/   ÚcdtypeÚmaxnlprO  r    r!   s   &&&&   r&   r`   ÚTestIfftn.test_definition¾  s£   € ô �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³À&ÖIr(   rÁ  r#   c                ó  € \         P                  P                  R 4      pVP                  W".4      RVP                  W".4      ,          ,           p\        \	        \        V4      4      WA4       \        \        \	        V4      4      WA4       R# )rO   rI   N)r   r+   rM  r   r   r   )rS   rÁ  r#   rO  r    s   &&&  r&   r½   ÚTestIfftn.test_random_complexÐ  sa   € ô �i‰i×#Ñ# DÓ)ˆØ�J‰J˜�|Ó$ r¨C¯J©J¸°|Ó,DÕ'DÕDˆÜ&¤u¬T°!«W£~°qÔAÜ&¤t¬E°!«H£~°qÖAr(   c                ó  € \        \        R R7      ;_uu_ 4        \        . .4       RRR4       \        \        RR7      ;_uu_ 4        \        ^^.^^..R4       RRR4       R#   + '       g   i     LF; i  + '       g   i     R# ; ir¸  )rr   rs   r   rR   s   &r&   rt   ÚTestIfftn.test_invalid_sizesØ  sz   € Üœ:ð"6÷7ö 7ô �2�$ŒK÷7ô
 œ:ð"7÷8ö 8ô �A�q�6˜A˜q˜6Ð" GÔ,÷8ñ 8÷7÷ 7ú÷
8÷ 8ð 8úrº  r”   )rW   rY   r´   é    r¸   é\   )rw   rx   ry   rz   r/   rÀ  rT   r—   r˜   r_  r   r„   rƒ   rŽ   r�   r`   r½   rt   r{   r|   r}   s   @r&   r¼  r¼  ·  s·   ø‡ € Ø€EØ€Fòð ‡[�[×ÑÐ2Ø!Ÿz™z¨2¯=©=¸$Ð?Ø!Ÿz™z¨2¯<©<¸Ð>ð@óAñJóAðJð ‡[�[×Ñ˜X¨¨d |Ó4Ø‡[�[×Ñ˜VÒ%;Ó<ñBó =ó 5ðB÷	-ð 	-r(   r¼  c                   ó&   a € ] tR tRt o R tRtV tR# )Ú	FakeArrayiä  c                ó4   € Wn         VP                  V n        R # r*   )Ú_dataÚ__array_interface__rã   s   &&r&   rä   ÚFakeArray.__init__å  s   € ØŒ
Ø#'×#;Ñ#;ˆÖ r(   )rÍ  rÌ  N)rw   rx   ry   rz   rä   r{   r|   r}   s   @r&   rÊ  rÊ  ä  s   ø‡ € ÷<ð <r(   rÊ  c                   ó0   a € ] tR tRt o R tRR ltRtV tR# )Ú
FakeArray2iê  c                ó   € Wn         R # r*   ©rÌ  rã   s   &&r&   rä   ÚFakeArray2.__init__ë  s   € ØŽ
r(   Nc                ó   € V P                   # r*   rÒ  )rS   r/   Úcopys   &&&r&   Ú	__array__ÚFakeArray2.__array__î  s   € Ø�z‰zÐr(   rÒ  )NN)rw   rx   ry   rz   rä   rÖ  r{   r|   r}   s   @r&   rÐ  rÐ  ê  s   ø‡ € ò÷ò r(   rÐ  c                   ó€  a € ] tR tRt o Rt]P                  ]P                  3t]]P                  ]P                  3,           t. ROtR tR t]P                   P#                  R]4      ]P                   P#                  R]4      ]P                   P#                  RRR	.4      ]P                   P#                  R
. RO4      R 4       4       4       4       t]P                   P#                  R]4      ]P                   P#                  R]4      ]P                   P#                  RRR	.4      ]P                   P#                  R
. RO4      R 4       4       4       4       tR t]P                   P#                  R]4      ]P                   P#                  RRR	.4      ]P                   P#                  R
. RO4      R 4       4       4       tRtV tR# )ÚTestOverwriteiò  z4Check input overwrite behavior of the FFT functions.c                ó  € VP                  4       pR  \        \        3 Fc  pV! V! V4      W4VR7       VP                   RVP                   VP
                  : RV: RV: RV: R2pV'       d   KS  \        WaRV 2R7       Ke  	  R	# )
c                 ó   € V # r*   r”   )r    s   &r&   Ú<lambda>Ú&TestOverwrite._check.<locals>.<lambda>û  s   € ™qr(   ©Úoverwrite_xÚ(z, z, axis=z, overwrite_x=Ú)zspurious overwrite in )r%   N)rÕ  rÊ  rÐ  rw   r/   r>   r   )	rS   r    ÚroutineÚfftsizer=   rß  ri   ÚfakeÚsigs	   &&&&&&   r&   Ú_checkÚTestOverwrite._checkù  s„   € Ø�V‰V‹XˆÙ ¤)¬ZÓ8ˆDÙ‘D˜“H˜g¸ÕEà×&Ñ&Ð' q¨¯©¨	°!·'±'±¸B¸w¹kð JØ™( .°±¸qðBˆCç‘;Ü˜RÐ.DÀSÀEÐ,J×Kó 9r(   c                ó²  € \         P                  P                  R 4       \         P                  ! V\         P                  4      '       dJ   \         P                  P
                  ! V!  R\         P                  P
                  ! V!  ,          ,           pM\         P                  P
                  ! V!  pVP                  V4      pV P                  W�WdVR7       R# )rO   rI   rÞ  N)r   r+   rQ   Ú
issubdtypeÚcomplexfloatingÚrandnrŸ   ræ  )	rS   râ  r/   r>   r=   Úoverwritable_dtypesrã  rß  râ   s	   &&&&&&&& r&   Ú	_check_1dÚTestOverwrite._check_1d  sŠ   € ä
�	‰	�‰�tÔÜ�=Š=˜¤× 2Ñ 2×3Ò3Ü—9‘9—?’? EÑ*¨R´·	±	·²ÀÑ0GÕ-GÕG‰Dä—9‘9—?’? EÑ*ˆDØ�{‰{˜5Ó!ˆà�‰�D 7Ø +ð 	ö 	-r(   r/   rã  rß  TFz
shape,axesc           	     ó¦   € \         P                  \         P                  3pV P                  \        WWVW#4       V P                  \
        WWVW#4       R # r*   )r   rƒ   r�   rí  r
   r	   ©rS   r/   rã  rß  r>   r+  Úoverwritables   &&&&&& r&   Útest_fft_ifftÚTestOverwrite.test_fft_ifft  s@   € ô Ÿ™¤r§|¡|Ð4ˆØ�‰”s˜E¨$Øô	-à�‰”t˜U¨4Øö	-r(   c           	     ó~   € V P                   pV P                  \        WWVW#4       V P                  \        WWVW#4       R # r*   )Úreal_dtypesrí  r   r   rð  s   &&&&&& r&   Útest_rfft_irfftÚTestOverwrite.test_rfft_irfft  s9   € ð ×'Ñ'ˆØ�‰”u˜e¨DØô	-à�‰”t˜U¨4Øö	-r(   c           	     óŽ  a
€ \         P                  P                  R 4       \         P                  ! V\         P                  4      '       dJ   \         P                  P
                  ! V!  R\         P                  P
                  ! V!  ,          ,           pM\         P                  P
                  ! V!  pVP                  V4      pV
3R lo
Vf   TpM\        \         P                  ! W44      4      pS
! V4       FI  p	V P                  WqW”VR7       VP                  ^8”  g   K*  V P                  VP                  WVVR7       KK  	  R# )rO   rI   c              3   óÞ   <"  € \        V 4      ^ 8:  d   Rx € R# V ^ ,          ^,          V ^ ,          V ^ ,          ^,          3 F%  pS! V R,          4       F  pV3V,           x € K  	  K'  	  R# 5i)r   :rW   NNNr”   )r2   )Úshprž  ÚrestÚfftshape_iters   &  €r&   rü  Ú2TestOverwrite._check_nd_one.<locals>.fftshape_iter2  sZ   øé € Ü�3‹x˜1Œ}Ø”à˜a�& !�) S¨¥V¨S°­V°A­XÓ6�AÙ -¨c°"­gÖ 6˜Ø ˜d T�kÔ)ó !7ó 7ùs   ƒA*A-NrÞ  )r   r+   rQ   ré  rê  rë  rŸ   ÚtupleÚtakeræ  ÚndimÚT)rS   râ  r/   r>   r+  rì  rß  râ   Ú
part_shapeÚfftshaperü  s   &&&&&&&   @r&   Ú_check_nd_oneÚTestOverwrite._check_nd_one)  sç   ø€ ä
�	‰	�‰�tÔÜ�=Š=˜¤× 2Ñ 2×3Ò3Ü—9‘9—?’? EÑ*¨R´·	±	·²ÀÑ0GÕ-GÕG‰Dä—9‘9—?’? EÑ*ˆDØ�{‰{˜5Ó!ˆõ	*ð Š<Ø‰JäœrŸwšw uÓ3Ó4ˆJá% jÖ1ˆHØ�K‰K˜ xØ$/ð ô 1à�y‰y˜1Ž}Ø—‘˜DŸF™F G°tØ(3ð ö 5ó	 2r(   Nc                ó¦   € \         P                  \         P                  3pV P                  \        WWEV4       V P                  \
        WWEV4       R # r*   )r   rƒ   r�   r  r   r   )rS   r/   rß  r>   r+  rñ  s   &&&&& r&   Útest_fftn_ifftnÚTestOverwrite.test_fftn_ifftnF  sD   € ô  Ÿ™¤r§|¡|Ð4ˆØ×Ñœ4 ¨tØ&ô	(à×Ñœ5 %°Ø&ö	(r(   r”   )r/  ru  rÇ  ))©ru  r  )©ru  rY   r   )©rY   ru  rW   ))r	  N)r	  r†  )r
  r†  )r  ©rW   )©r/  ru  N)r  ©r   rW   )©r/  ru  rY   r  )r  r‚  )r  r†  )r  r  )r  )rY   )r  N)r  r€  )rw   rx   ry   rz   Ú__doc__r   rŽ   r„   rõ  r�   rƒ   ÚdtypesÚfftsizesræ  rí  r—   r˜   r_  rò  rö  r  r  r{   r|   r}   s   @r&   rÙ  rÙ  ò  s›  ø‡ € Ù>à—:‘:˜rŸz™zÐ*€KØ˜BŸL™L¨"¯-©-Ð8Õ8€FÚ€HòLò
-ð ‡[�[×Ñ˜W fÓ-Ø‡[�[×Ñ˜Y¨Ó1Ø‡[�[×Ñ˜]¨T°5¨MÓ:Ø‡[�[×Ñ˜\ò ,:ó ;ñ-ó;ó ;ó 2ó .ð-ð ‡[�[×Ñ˜W kÓ2Ø‡[�[×Ñ˜Y¨Ó1Ø‡[�[×Ñ˜]¨T°5¨MÓ:Ø‡[�[×Ñ˜\ò ,:ó ;ñ-ó;ó ;ó 2ó 3ð-ò5ð: ‡[�[×Ñ˜W fÓ-Ø‡[�[×Ñ˜]¨T°5¨MÓ:Ø‡[�[×Ñ˜\ò ,Eó Fñ(óFó ;ó .ö(r(   rÙ  Úfuncc                 ó²  € \         P                  P                  ^
^
4      pV ! VRR7      pV ! V\         P                  ! ^^.4      R7      p\	        W#4       V ! VRR7      pV ! V\         P                  ! R.4      R7      p\	        W#4       V ! VRR	R7      pV ! V\         P                  ! ^^.4      \         P                  ! ^^ .4      R7      p\	        W#4       R# )
rp  r¢  rn  r*  N)r]   r]   r  r„  )rf   rF  )rW   r   )r   r+   r   r   r   )r  ÚaÚexpectÚactuals   &   r&   Útest_shape_axes_ndarrayr  ]  s­   € ô 	�	‰	�‰�r˜2Ó€Aá�!˜6Ô"€FÙ�!œ2Ÿ8š8 Q¨ FÓ+Ô,€FÜ�Ô á�!˜%Ô €FÙ�!œ"Ÿ(š( B 5›/Ô*€FÜ�Ô á�!˜6¨Ô/€FÙ�!œ2Ÿ8š8 Q¨ FÓ+´"·(²(¸A¸q¸6Ó2BÔC€FÜ�Ö r(   )i    i`  i  )rY   é   é$   )CÚnumpy.testingr   r   r   r   r   r—   r   rr   Úscipy.fftpackr	   r
   r   r   r   r   r   r3  r   r   r   r   r   r   r   r   r   r   r   Ú	numpy.fftÚnumpy.randomr   rÅ   r`  rÆ   ra  r'   r+   r8   r:   r@   rB   rG   rK   rM   r€   rŠ   r›   r¥   rÎ   rÒ   rÖ   rû   rÿ   r  r  r"  r&  r=  rc  r¼  rÊ  rÐ  rÙ  r˜   r_  r  r”   r(   r&   Ú<module>r     s¥  ð÷Nõ Nã Ý *ß C× CÑ C÷.÷ .÷ .ã Û Ý òÐ ò
Ð ð 	ðÐ ð ðÐ ò
Nòòòòòòò  ÷ #:ñ #:ôL�Lô ô
�Lô 
÷Kñ K÷&E;ñ E;ôP�]ô ô�]ô ÷(Iñ (IôV�]ô ô�]ô ÷2Jñ 2Jôp�nô ô�nô ÷Cñ C÷$>4ñ >4÷BU,ñ U,÷p*-ñ *-÷Z<ñ <÷ñ ÷h(ñ h(ðV ‡�×Ñ˜ $¨¨tÐ!4Ó5ñ!ó 6ò!r(   