§
    fŠtj
Z  ã                   óö  — d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlm	Z	m
Z
 d dlmZ d dlmZ d dlmZmZmZmZmZmZ egZej        j        Zd„ Zd„ Z G d„ d	¦  «        Zej                             d
ej        ej        ej        ej         ej!        ej"        g¦  «        ej                             dddg¦  «        ej                             dej        ej#        ej$        ej%        ej&        ej'        g¦  «        d„ ¦   «         ¦   «         ¦   «         Z( ed¬¦  «         G d„ d¦  «        ¦   «         Z)ej                             dej        ej%        ej*        ej+        g¦  «        d„ ¦   «         Z, eej-        ¦  «         G d„ d¦  «        ¦   «         Z.ej                             d eej        ¦  «         eej%        ¦  «         eej*        ¦  «         eej+        ¦  «         eej$        ¦  «         eej'        ¦  «         eej/        ¦  «         eej-        ¦  «         eej0        ¦  «         eej1        ¦  «        g
¦  «        d„ ¦   «         Z2ej                             d
ddg¦  «        ej                             d eej        ¦  «         eej%        ¦  «         eej+        ¦  «         eej$        ¦  «         eej'        ¦  «         eej-        ¦  «         eej0        ¦  «        g¦  «        d„ ¦   «         ¦   «         Z3dS )é    N)Úrandom)Úassert_array_almost_equalÚassert_allclose)Úraises)Úis_numpyÚxp_sizeÚxp_assert_closeÚxp_assert_equalÚmake_xp_test_caseÚmake_xp_pytest_paramc                 ón   — | j         dv r|j        }n#| j         dv r|j        }nt          d| › �¦  «        ‚|S )N)ÚfftÚfftnÚfft2ÚifftÚifftnÚifft2ÚhfftÚhfftnÚhfft2ÚirfftÚirfftnÚirfft2)ÚrfftÚrfftnÚrfft2ÚihfftÚihfftnÚihfft2zUnknown FFT function: )Ú__name__Ú
complex128Úfloat64Ú
ValueError)ÚfuncÚxpÚdtypes      úX/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/fft/tests/test_basic.pyÚget_expected_input_dtyper(      sU   € à„}ð Hð Hð Hà”ˆˆØ	ŒÐQÐ	QÐ	QØ”
ˆˆåÐ8°$Ð8Ð8Ñ9Ô9Ð9à€Ló    c                 ó4  — t          | ¦  «        }dt          j        z  t          j        |¦  «        t	          |¦  «        z  z  }t          j        |¦  «                             dd¦  «        |z  }t          j        | t          j        |¦  «        z  d¬¦  «        S )Ny       €       Àéÿÿÿÿé   ©Úaxis)ÚlenÚnpÚpiÚarangeÚfloatÚreshapeÚsumÚexp)ÚxÚLÚphases      r'   Úfft1r:   #   ss   € ÝˆA‰Œ€AØ•”‰I•r”y ‘|”|¥E¨!¡H¤HÑ,Ñ-€EÝŒI�a‰LŒL× Ò   QÑ'Ô'¨%Ñ/€EÝŒ6�!•B”F˜5‘M”M‘/¨Ð*Ñ*Ô*Ð*r)   c                   ó,  — e Zd Z eej        ej        ej        ej        ¦  «        d„ ¦   «         Z e	dd¬¦  «        d„ ¦   «         Z
 eej        ¦  «        d„ ¦   «         Z e	dd¬¦  «        d„ ¦   «         Z eej        ej        ¦  «        d	„ ¦   «         Z eej        ej        ¦  «        d
„ ¦   «         Z eej        ej        ¦  «        d„ ¦   «         Z eej        ej        ¦  «        d„ ¦   «         Z eej        ej        ¦  «        d„ ¦   «         Z eej        ej        ¦  «        d„ ¦   «         Z eej        ej        ¦  «        d„ ¦   «         Z eej        ¦  «        d„ ¦   «         Z eej        ej        ¦  «        d„ ¦   «         Z eej        ej        ¦  «        d„ ¦   «         Z eej        ej        ¦  «        d„ ¦   «         Z eej         ej        ¦  «        d„ ¦   «         Z! eej         ej"        ¦  «        d„ ¦   «         Z# eej$        ej%        ¦  «        d„ ¦   «         Z& eej        ¦  «        d„ ¦   «         Z' eej(        ej)        ¦  «        d„ ¦   «         Z* eej        ej)        ¦  «        d„ ¦   «         Z+d„ Z,e-j.         /                    d e0ej        ¦  «         e0ej        ¦  «         e0ej        ¦  «         e0ej        ¦  «        g¦  «        d„ ¦   «         Z1e-j.         /                    d e0ej(        ¦  «         e0ej)        ¦  «        g¦  «        d„ ¦   «         Z2e-j.         /                    d e0ej        ¦  «         e0ej        ¦  «         e0ej        ¦  «         e0ej        ¦  «        g¦  «        d„ ¦   «         Z3e-j.         /                    d e0ej        ¦  «         e0ej        ¦  «         e0ej        ¦  «         e0ej        ¦  «         e0ej$        ¦  «         e0ej%        ¦  «         e0ej(        ¦  «         e0ej)        ¦  «        g¦  «        d„ ¦   «         Z4 eej        ej        ej"        ej         ej        ej        ¦  «        d „ ¦   «         Z5e-j.         /                    d!e6j7        e6j8        g¦  «        d"„ ¦   «         Z9 eej        ej        ¦  «        e-j.         /                    d!d#d$g¦  «        d%„ ¦   «         ¦   «         Z: eej        ej        ¦  «        e-j.         /                    d!d&d'g¦  «        d(„ ¦   «         ¦   «         Z;e-j.         /                    dej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej         ej"        ej$        ej%        ej(        ej)        g¦  «        d)„ ¦   «         Z<d*S )+ÚTestFFTc           
      óÔ  — d}|                      t          |¦  «        dt          |¦  «        z  z   ¦  «        }|                      t          |¦  «        ¦  «        }dD ]‹}t          t          j        t          j        |d|…         ¦  «        ¦  «        |d|…         ¦  «         t          t          j        t          j        |d|…         ¦  «        |¦  «        |d|…         ¦  «         ŒŒd S )Né   ù              ð?)	r,   é   é   é€   r>   é5   é•   i  i�  r   )Úasarrayr   r	   r   r   r   r   ©Úselfr%   Úmaxlenr7   ÚxrÚis         r'   Útest_identityzTestFFT.test_identity+   sÍ   € àˆØ�JŠJ•v˜f‘~”~¨­6°&©>¬>Ñ(9Ñ9Ñ:Ô:ˆØ�ZŠZ�˜v™œÑ'Ô'ˆà8ð 	Fð 	FˆAÝ�CœH¥S¤W¨Q¨q°¨s¬V¡_¤_Ñ5Ô5°q¸¸1¸´vÑ>Ô>Ð>Ý�CœI¥c¤h¨r°!°A°#¬wÑ&7Ô&7¸Ñ;Ô;¸RÀÀ!À¼WÑEÔEÐEÐEð	Fð 	Fr)   Tz&significant overhead for some backends)Únp_onlyÚreasonc           
      óð  — d}|                      t          |¦  «        dt          |¦  «        z  z   ¦  «        }|                      t          |¦  «        ¦  «        }t          d|¦  «        D ]‹}t          t	          j        t	          j        |d|…         ¦  «        ¦  «        |d|…         ¦  «         t          t	          j        t	          j        |d|…         ¦  «        |¦  «        |d|…         ¦  «         ŒŒd S )Nr>   r?   r,   r   )rE   r   Úranger	   r   r   r   r   rF   s         r'   Útest_identity_extensivezTestFFT.test_identity_extensive5   s×   € àˆØ�JŠJ•v˜f‘~”~¨­6°&©>¬>Ñ(9Ñ9Ñ:Ô:ˆØ�ZŠZ�˜v™œÑ'Ô'ˆÝ�q˜&Ñ!Ô!ð 	Fð 	FˆAÝ�CœH¥S¤W¨Q¨q°¨s¬V¡_¤_Ñ5Ô5°q¸¸1¸´vÑ>Ô>Ð>Ý�CœI¥c¤h¨r°!°A°#¬wÑ&7Ô&7¸Ñ;Ô;¸RÀÀ!À¼WÑEÔEÐEÐEð	Fð 	Fr)   c           
      ó:  — t          d¦  «        dt          d¦  «        z  z   }|                     t          |¦  «        ¦  «        }|                     |¦  «        }t          t	          j        |¦  «        |¦  «         t          t	          j        |d¬¦  «        |¦  «         t          t	          j        |d¬¦  «        ||                     |                     d|j        ¬¦  «        ¦  «        z  ¦  «         t          t	          j        |d¬¦  «        |dz  ¦  «         d S )Né   r?   Úbackward©ÚnormÚortho©r&   Úforward)r   rE   r:   r	   r   Úsqrtr"   ©rG   r%   r7   Úexpects       r'   Útest_fftzTestFFT.test_fft>   sî   € å�2‰JŒJ˜�F 2™JœJ™Ñ&ˆØ—’�D ™GœGÑ$Ô$ˆØ�JŠJ�q‰MŒMˆÝ�œ ™
œ
 FÑ+Ô+Ð+Ý�œ ¨
Ð3Ñ3Ô3°VÑ<Ô<Ð<Ý�œ ¨Ð0Ñ0Ô0Ø §¢¨¯ª°B¸b¼j¨Ñ)IÔ)IÑ!JÔ!JÑJñ	Mô 	Mð 	Må�œ ¨	Ð2Ñ2Ô2°F¸R±KÑ@Ô@Ð@Ð@Ð@r)   zsome backends allow `n=0`c                 ó„   — |                      g d¢|j        ¬¦  «        }t          t          t          j        |d¦  «         d S )N©r,   r@   é   rW   r   )rE   r!   Úassert_raisesr#   r   )rG   r%   r7   s      r'   Ú
test_fft_nzTestFFT.test_fft_nI   s9   € à�JŠJ�y�y�y¨¬ˆJÑ6Ô6ˆÝ•j¥#¤'¨1¨aÑ0Ô0Ð0Ð0Ð0r)   c           	      óR  — |                      t          d¦  «        dt          d¦  «        z  z   ¦  «        }t          t          j        t          j        |¦  «        ¦  «        |¦  «         dD ]:}t          t          j        t          j        ||¬¦  «        |¬¦  «        |¦  «         Œ;d S )NrR   r?   ©rS   rV   rX   rT   )rE   r   r	   r   r   ©rG   r%   r7   rU   s       r'   Ú	test_ifftzTestFFT.test_ifftN   s˜   € à�JŠJ•v˜b‘z”z B¥v¨b¡z¤z¡MÑ1Ñ2Ô2ˆÝ�œ¥¤¨¡¤Ñ,Ô,¨aÑ0Ô0Ð0Ø4ð 	Kð 	KˆDÝ�CœH¥S¤W¨Q°TÐ%:Ñ%:Ô%:ÀÐFÑFÔFÈÑJÔJÐJÐJð	Kð 	Kr)   c           
      óF  — |                      t          d¦  «        dt          d¦  «        z  z   ¦  «        }t          j        t          j        |d¬¦  «        d¬¦  «        }t          t          j        |¦  «        |¦  «         t          t          j        |d¬¦  «        |¦  «         t          t          j        |d¬¦  «        ||                     |                      d	|j        ¬
¦  «        ¦  «        z  ¦  «         t          t          j        |d¬¦  «        |d	z  ¦  «         d S ©N©rR   é   r?   r,   r-   r   rS   rT   rV   éX  rW   rX   )rE   r   r   r	   r   rY   r"   rZ   s       r'   Ú	test_fft2zTestFFT.test_fft2U   sý   € à�JŠJ•v˜hÑ'Ô'¨"­V°HÑ-=Ô-=Ñ*=Ñ=Ñ>Ô>ˆÝ”�œ ¨Ð+Ñ+Ô+°!Ð4Ñ4Ô4ˆÝ�œ ™œ VÑ,Ô,Ð,Ý�œ ¨Ð4Ñ4Ô4°fÑ=Ô=Ð=Ý�œ ¨Ð1Ñ1Ô1Ø §¢¨¯ª°GÀ2Ä:¨Ñ)NÔ)NÑ!OÔ!OÑOñ	Qô 	Qð 	Qå�œ ¨Ð3Ñ3Ô3°V¸wÑ5GÑHÔHÐHÐHÐHr)   c           
      óF  — |                      t          d¦  «        dt          d¦  «        z  z   ¦  «        }t          j        t          j        |d¬¦  «        d¬¦  «        }t	          t          j        |¦  «        |¦  «         t	          t          j        |d¬¦  «        |¦  «         t	          t          j        |d¬¦  «        ||                     |                      d	|j        ¬
¦  «        ¦  «        z  ¦  «         t	          t          j        |d¬¦  «        |d	z  ¦  «         d S rg   )rE   r   r   r   r	   r   rY   r"   rZ   s       r'   Ú
test_ifft2zTestFFT.test_ifft2_   sý   € à�JŠJ•v˜hÑ'Ô'¨"­V°HÑ-=Ô-=Ñ*=Ñ=Ñ>Ô>ˆÝ”�#œ( 1¨1Ð-Ñ-Ô-°AÐ6Ñ6Ô6ˆÝ�œ	 !™œ fÑ-Ô-Ð-Ý�œ	 !¨*Ð5Ñ5Ô5°vÑ>Ô>Ð>Ý�œ	 !¨'Ð2Ñ2Ô2Ø §¢¨¯ª°GÀ2Ä:¨Ñ)NÔ)NÑ!OÔ!OÑOñ	Qô 	Qð 	Qå�œ	 !¨)Ð4Ñ4Ô4°fÀÑ6HÑIÔIÐIÐIÐIr)   c           
      ón  — |                      t          d¦  «        dt          d¦  «        z  z   ¦  «        }t          j        t          j        t          j        |d¬¦  «        d¬¦  «        d¬¦  «        }t          t          j        |¦  «        |¦  «         t          t          j        |d¬¦  «        |¦  «         t          t          j        |d	¬¦  «        ||                     |                      d
|j        ¬¦  «        ¦  «        z  ¦  «         t          t          j        |d¬¦  «        |d
z  ¦  «         d S )N©rR   ri   é
   r?   r@   r-   r,   r   rS   rT   rV   ép  rW   rX   )rE   r   r   r	   r   rY   r"   rZ   s       r'   Ú	test_fftnzTestFFT.test_fftni   s  € à�JŠJ•v˜lÑ+Ô+¨bµ¸Ñ1EÔ1EÑ.EÑEÑFÔFˆÝ”�œ¥¤¨°Ð!3Ñ!3Ô!3¸!Ð<Ñ<Ô<À1ÐEÑEÔEˆÝ�œ ™œ VÑ,Ô,Ð,Ý�œ ¨Ð4Ñ4Ô4°fÑ=Ô=Ð=Ý�œ ¨Ð1Ñ1Ô1Ø §¢¨¯ª°LÈÌ
¨Ñ)SÔ)SÑ!TÔ!TÑTñ	Vô 	Vð 	Vå�œ ¨Ð3Ñ3Ô3°V¸|Ñ5LÑMÔMÐMÐMÐMr)   c           
      óž  — |                      t          d¦  «        dt          d¦  «        z  z   ¦  «        }t          j        t          j        t          j        |d¬¦  «        d¬¦  «        d¬¦  «        }t	          t          j        |¦  «        |d¬¦  «         t	          t          j        |d	¬
¦  «        |d¬¦  «         t	          t          j        |d¬
¦  «        t          j        |¦  «        |                     |                      d|j        ¬¦  «        ¦  «        z  ¦  «         t	          t          j        |d¬
¦  «        |dz  d¬¦  «         d S )Nro   r?   r@   r-   r,   r   gH¯¼šò×z>)ÚrtolrS   rT   rV   rq   rW   rX   )rE   r   r   r   r	   r   rY   r"   rZ   s       r'   Ú
test_ifftnzTestFFT.test_ifftns   s1  € à�JŠJ•v˜lÑ+Ô+¨bµ¸Ñ1EÔ1EÑ.EÑEÑFÔFˆÝ”�#œ(¥3¤8¨A°AÐ#6Ñ#6Ô#6¸QÐ?Ñ?Ô?ÀaÐHÑHÔHˆÝ�œ	 !™œ f°4Ð8Ñ8Ô8Ð8Ý�œ	 !¨*Ð5Ñ5Ô5°vÀDÐIÑIÔIÐIÝÝŒI�a˜gÐ&Ñ&Ô&ÝŒI�a‰LŒL˜2Ÿ7š7 2§:¢:¨lÀ"Ä* :Ñ#MÔ#MÑNÔNÑNñ	
ô 	
ð 	
õ 	�œ	 !¨)Ð4Ñ4Ô4Ø ,Ñ/Ø!ð	#ñ 	#ô 	#ð 	#ð 	#ð 	#r)   c                 ó@  — |                      t          d¦  «        |j        ¬¦  «        }t          |¦  «        dt          |¦  «        z  fD ]Ò}dD ]d}t	          t          j        |||¬¦  «        t          j        |                      ||j        ¬¦  «        ||¬¦  «        d |dz  dz   …         ¦  «         Œet	          t          j        ||d¬¦  «        t          j        ||¬¦  «        |                     |                      ||j        ¬¦  «        ¦  «        z  ¦  «         ŒÓd S )	Né   rW   r@   )NrS   rV   rX   ©ÚnrU   r,   rV   )ry   )	rE   r   r"   r   r	   r   r   r!   rY   )rG   r%   r7   ry   rU   s        r'   Ú	test_rfftzTestFFT.test_rfft�   s0  € à�JŠJ•v˜b‘z”z¨¬ˆJÑ4Ô4ˆÝ˜!‘*”*˜a¥¨¡
¤
™lÐ+ð 	ð 	ˆAØ>ð Fð F�Ý¥¤¨¨a°dÐ ;Ñ ;Ô ;Ý #¤¨¯
ª
°1¸B¼M¨
Ñ(JÔ(JØ*+°$ð!8ñ !8ô !8Ø8C¸!¸Q¹$À¹(¸ô!EñFô Fð Fð Fõ Ý”˜˜a gÐ.Ñ.Ô.Ý”˜˜aÐ Ñ Ô  2§7¢7¨2¯:ª:°a¸r¼z¨:Ñ+JÔ+JÑ#KÔ#KÑKñô ð ð ð	ð 	r)   c           	      ó,  — |                      t          d¦  «        ¦  «        }t          t          j        t          j        |¦  «        ¦  «        |¦  «         dD ]:}t          t          j        t          j        ||¬¦  «        |¬¦  «        |¦  «         Œ;d S )NrR   rc   rT   )rE   r   r	   r   r   r   rd   s       r'   Ú
test_irfftzTestFFT.test_irfftŽ   s‰   € à�JŠJ•v˜b‘z”zÑ"Ô"ˆÝ�œ	¥#¤(¨1¡+¤+Ñ.Ô.°Ñ2Ô2Ð2Ø4ð 	Mð 	MˆDÝ�CœI¥c¤h¨q°tÐ&<Ñ&<Ô&<À4ÐHÑHÔHÈ!ÑLÔLÐLÐLð	Mð 	Mr)   c           
      óN  — |                      t          d¦  «        |j        ¬¦  «        }t          j        |                      ||j        ¬¦  «        ¦  «        d d …d d…f         }t          t          j        |¦  «        |¦  «         t          t          j        |d¬¦  «        |¦  «         t          t          j        |d¬¦  «        ||                     |                      d|j        ¬¦  «        ¦  «        z  ¦  «         t          t          j        |d¬¦  «        |dz  ¦  «         d S ©	Nrh   rW   é   rS   rT   rV   rj   rX   )	rE   r   r"   r   r   r!   r	   r   rY   rZ   s       r'   Ú
test_rfft2zTestFFT.test_rfft2•   s   € à�JŠJ•v˜hÑ'Ô'¨r¬zˆJÑ:Ô:ˆÝ”˜"Ÿ*š* Q¨b¬m˜*Ñ<Ô<Ñ=Ô=¸a¸a¸aÀÀ"À¸fÔEˆÝ�œ	 !™œ fÑ-Ô-Ð-Ý�œ	 !¨*Ð5Ñ5Ô5°vÑ>Ô>Ð>Ý�œ	 !¨'Ð2Ñ2Ô2Ø §¢¨¯ª°GÀ2Ä:¨Ñ)NÔ)NÑ!OÔ!OÑOñ	Qô 	Qð 	Qå�œ	 !¨)Ð4Ñ4Ô4°fÀÑ6HÑIÔIÐIÐIÐIr)   c           	      ó,  — |                      t          d¦  «        ¦  «        }t          t          j        t          j        |¦  «        ¦  «        |¦  «         dD ]:}t          t          j        t          j        ||¬¦  «        |¬¦  «        |¦  «         Œ;d S ©Nrh   rc   rT   )rE   r   r	   r   r   r   rd   s       r'   Útest_irfft2zTestFFT.test_irfft2Ÿ   s‹   € à�JŠJ•v˜hÑ'Ô'Ñ(Ô(ˆÝ�œ
¥3¤9¨Q¡<¤<Ñ0Ô0°!Ñ4Ô4Ð4Ø4ð 	Oð 	OˆDÝ�CœJ¥s¤y°¸Ð'>Ñ'>Ô'>ÀTÐJÑJÔJÈAÑNÔNÐNÐNð	Oð 	Or)   c           
      óT  — |                      t          d¦  «        |j        ¬¦  «        }t          j        |                      ||j        ¬¦  «        ¦  «        d d …d d …d d…f         }t          t          j        |¦  «        |¦  «         t          t          j        |d¬¦  «        |¦  «         t          t          j        |d¬¦  «        ||                     |                      d|j        ¬¦  «        ¦  «        z  ¦  «         t          t          j        |d¬¦  «        |dz  ¦  «         d S ©	Nro   rW   é   rS   rT   rV   rq   rX   )	rE   r   r"   r   r   r!   r	   r   rY   rZ   s       r'   Ú
test_rfftnzTestFFT.test_rfftn¦   s  € à�JŠJ•v˜lÑ+Ô+°2´:ˆJÑ>Ô>ˆÝ”˜"Ÿ*š* Q¨b¬m˜*Ñ<Ô<Ñ=Ô=¸a¸a¸aÀÀÀÀBÀQÀB¸hÔGˆÝ�œ	 !™œ fÑ-Ô-Ð-Ý�œ	 !¨*Ð5Ñ5Ô5°vÑ>Ô>Ð>Ý�œ	 !¨'Ð2Ñ2Ô2Ø §¢¨¯ª°LÈÌ
¨Ñ)SÔ)SÑ!TÔ!TÑTñ	Vô 	Vð 	Vå�œ	 !¨)Ð4Ñ4Ô4°fÀÑ6MÑNÔNÐNÐNÐNr)   c           	      ó,  — |                      t          d¦  «        ¦  «        }t          t          j        t          j        |¦  «        ¦  «        |¦  «         dD ]:}t          t          j        t          j        ||¬¦  «        |¬¦  «        |¦  «         Œ;d S ©Nro   rc   rT   )rE   r   r	   r   r   r   rd   s       r'   Útest_irfftnzTestFFT.test_irfftn°   s‹   € à�JŠJ•v˜lÑ+Ô+Ñ,Ô,ˆÝ�œ
¥3¤9¨Q¡<¤<Ñ0Ô0°!Ñ4Ô4Ð4Ø4ð 	Oð 	OˆDÝ�CœJ¥s¤y°¸Ð'>Ñ'>Ô'>ÀTÐJÑJÔJÈAÑNÔNÐNÐNð	Oð 	Or)   c           
      ó2  — t          d¦  «        dt          d¦  «        z  z   }t          j        t          d¦  «        |t          d¦  «        f¦  «        }t          j        ||d d d…                              ¦   «         f¦  «        }|                     |¦  «        }|                     |¦  «        }|                     t          j        |¦  «        ¦  «        }t          t          j        |¦  «        |¦  «         t          t          j        |d¬¦  «        |¦  «         t          t          j        |d¬¦  «        || 	                    |                     d|j
        ¬	¦  «        ¦  «        z  ¦  «         t          t          j        |d
¬¦  «        |dz  ¦  «         d S )Né   r?   r,   r+   rS   rT   rV   rR   rW   rX   )r   r0   ÚconcatenateÚconjrE   Úrealr   r	   r   rY   r"   )rG   r%   r7   Úx_hermr[   s        r'   Ú	test_hfftzTestFFT.test_hfft·   sK  € å�2‰JŒJ˜�F 2™JœJ™Ñ&ˆÝ”¥¨¡¤¨A­v°a©y¬yÐ 9Ñ:Ô:ˆÝŒN˜F A d d¨ d¤G§L¢L¡N¤NÐ3Ñ4Ô4ˆØ�JŠJ�q‰MŒMˆØ—’˜FÑ#Ô#ˆØ—’�œ ™œÑ$Ô$ˆÝ�œ Ñ(Ô(¨&Ñ1Ô1Ð1Ý�œ ¨jÐ9Ñ9Ô9¸6ÑBÔBÐBÝ�œ ¨gÐ6Ñ6Ô6Ø §¢¨¯ª°B¸b¼j¨Ñ)IÔ)IÑ!JÔ!JÑJñ	Lô 	Lð 	Lå�œ ¨iÐ8Ñ8Ô8¸&À2¹+ÑFÔFÐFÐFÐFr)   c           	      óD  — t          d¦  «        dt          d¦  «        z  z   }t          j        t          d¦  «        |t          d¦  «        f¦  «        }t          j        ||d d d…                              ¦   «         f¦  «        }|                     |¦  «        }|                     |¦  «        }t          t          j        t          j        |¦  «        ¦  «        |¦  «         dD ]:}t          t          j        t          j        ||¬¦  «        |¬¦  «        |¦  «         Œ;d S )NrŒ   r?   r,   r+   rc   rT   )	r   r0   r�   rŽ   rE   r	   r   r   r   )rG   r%   r7   r�   rU   s        r'   Ú
test_ihfftzTestFFT.test_ihfftÅ   sö   € å�2‰JŒJ˜�F 2™JœJ™Ñ&ˆÝ”¥¨¡¤¨A­v°a©y¬yÐ 9Ñ:Ô:ˆÝŒN˜F A d d¨ d¤G§L¢L¡N¤NÐ3Ñ4Ô4ˆØ�JŠJ�q‰MŒMˆØ—’˜FÑ#Ô#ˆÝ�œ	¥#¤(¨6Ñ"2Ô"2Ñ3Ô3°VÑ<Ô<Ð<Ø4ð 	Wð 	WˆDÝ�CœI¥c¤h¨v¸DÐ&AÑ&AÔ&AÈÐMÑMÔMÈvÑVÔVÐVÐVð	Wð 	Wr)   c           	      ó,  — |                      t          d¦  «        ¦  «        }t          t          j        t          j        |¦  «        ¦  «        |¦  «         dD ]:}t          t          j        t          j        ||¬¦  «        |¬¦  «        |¦  «         Œ;d S r‚   )rE   r   r	   r   r   r   rd   s       r'   Ú
test_hfft2zTestFFT.test_hfft2Ð   s‹   € à�JŠJ•v˜hÑ'Ô'Ñ(Ô(ˆÝ�œ	¥#¤*¨Q¡-¤-Ñ0Ô0°!Ñ4Ô4Ð4Ø4ð 	Oð 	OˆDÝ�CœI¥c¤j°¸Ð&>Ñ&>Ô&>ÀTÐJÑJÔJÈAÑNÔNÐNÐNð	Oð 	Or)   c           
      óN  — |                      t          d¦  «        |j        ¬¦  «        }t          j        |                      ||j        ¬¦  «        ¦  «        d d …d d…f         }t          t          j        |¦  «        |¦  «         t          t          j        |d¬¦  «        |¦  «         t          t          j        |d¬¦  «        ||                     |                      d|j        ¬¦  «        ¦  «        z  ¦  «         t          t          j        |d¬¦  «        |dz  ¦  «         d S r~   )	rE   r   r"   r   r   r!   r	   r   rY   rZ   s       r'   Útest_ihfft2zTestFFT.test_ihfft2×   s   € à�JŠJ•v˜hÑ'Ô'¨r¬zˆJÑ:Ô:ˆÝ”˜2Ÿ:š: a¨r¬}˜:Ñ=Ô=Ñ>Ô>¸q¸q¸qÀ#À2À#¸vÔFˆÝ�œ
 1™œ vÑ.Ô.Ð.Ý�œ
 1¨:Ð6Ñ6Ô6¸Ñ?Ô?Ð?ÝÝŒJ�q˜wÐ'Ñ'Ô'Ø�R—W’W˜RŸZšZ¨°r´z˜ZÑBÔBÑCÔCÑCñ	
ô 	
ð 	
õ 	�œ
 1¨9Ð5Ñ5Ô5°vÀÑ7IÑJÔJÐJÐJÐJr)   c           	      ó,  — |                      t          d¦  «        ¦  «        }t          t          j        t          j        |¦  «        ¦  «        |¦  «         dD ]:}t          t          j        t          j        ||¬¦  «        |¬¦  «        |¦  «         Œ;d S r‰   )rE   r   r	   r   r   r   rd   s       r'   Ú
test_hfftnzTestFFT.test_hfftnã   s‹   € à�JŠJ•v˜lÑ+Ô+Ñ,Ô,ˆÝ�œ	¥#¤*¨Q¡-¤-Ñ0Ô0°!Ñ4Ô4Ð4Ø4ð 	Oð 	OˆDÝ�CœI¥c¤j°¸Ð&>Ñ&>Ô&>ÀTÐJÑJÔJÈAÑNÔNÐNÐNð	Oð 	Or)   c           
      óT  — |                      t          d¦  «        |j        ¬¦  «        }t          j        |                      ||j        ¬¦  «        ¦  «        d d …d d …d d…f         }t          |t          j        |¦  «        ¦  «         t          |t          j        |d¬¦  «        ¦  «         t          t          j        |d¬¦  «        ||                     |                      d|j        ¬¦  «        ¦  «        z  ¦  «         t          t          j        |d¬¦  «        |dz  ¦  «         d S r…   )	rE   r   r"   r   r   r!   r	   r   rY   rZ   s       r'   Útest_ihfftnzTestFFT.test_ihfftnê   s  € à�JŠJ•v˜lÑ+Ô+°2´:ˆJÑ>Ô>ˆÝ”˜2Ÿ:š: a¨r¬}˜:Ñ=Ô=Ñ>Ô>¸q¸q¸qÀ!À!À!ÀRÀaÀR¸xÔHˆÝ˜¥¤
¨1¡¤Ñ.Ô.Ð.Ý˜¥¤
¨1°:Ð >Ñ >Ô >Ñ?Ô?Ð?ÝÝŒJ�q˜wÐ'Ñ'Ô'Ø�R—W’W˜RŸZšZ¨¸B¼J˜ZÑGÔGÑHÔHÑHñ	
ô 	
ð 	
õ 	�œ
 1¨9Ð5Ñ5Ô5°vÀÑ7NÑOÔOÐOÐOÐOr)   c                 ó$  — t          ||¦  «        }|                     t          d¦  «        |¬¦  «        }g d¢}|D ]T} ||                     ||¬¦  «        ¦  «        }|                      |||¬¦  «        |¬¦  «        }t	          ||¦  «         ŒUd S )Nro   rW   )©r   r,   r@   ©r   r@   r,   )r,   r   r@   ©r,   r@   r   )r@   r   r,   )r@   r,   r   ©Úaxes)r(   rE   r   Úpermute_dimsr	   )	rG   Úopr%   r&   r7   r¡   ÚaÚop_trÚtr_ops	            r'   Ú_check_axeszTestFFT._check_axesö   s¥   € Ý(¨¨RÑ0Ô0ˆØ�JŠJ•v˜lÑ+Ô+°5ˆJÑ9Ô9ˆØQÐQÐQˆàð 	*ð 	*ˆAØ�B�r—’ q¨q�Ñ1Ô1Ñ2Ô2ˆEØ—O’O B B q¨q M¡M¤M¸�OÑ:Ô:ˆEÝ˜E 5Ñ)Ô)Ð)Ð)ð	*ð 	*r)   r£   c                 ó2   — |                       ||¦  «         d S ©N©r§   ©rG   r£   r%   s      r'   Útest_axes_standardzTestFFT.test_axes_standard   s    € ð
 	×Ò˜˜RÑ Ô Ð Ð Ð r)   c                 ó2   — |                       ||¦  «         d S r©   rª   r«   s      r'   Útest_axes_non_standardzTestFFT.test_axes_non_standard  s    € ð 	×Ò˜˜RÑ Ô Ð Ð Ð r)   c           
      ó¼  ‡‡	— t          ||¦  «        }|                     t          d¦  «        |¬¦  «        Š	g d¢}|D ]žŠt          ˆˆ	fd„t	          ‰	j        ¦  «        D ¦   «         ¦  «        } ||                     ‰	‰¬¦  «        |d d…         d¬¦  «        }|                      |‰	|d d…         ‰d d…         ¬¦  «        ‰¬¦  «        }t          ||¦  «         ŒŸd S )	N©rA   é   é   rW   ©r�   rž   rŸ   c                 ób   •— g | ]+}|‰d d…         v rd‰j         |         z  n‰j         |         ‘Œ,S ©Nr@   ©Úshape©Ú.0Úaxr¤   r7   s     €€r'   ú
<listcomp>z@TestFFT.test_axes_subset_with_shape_standard.<locals>.<listcomp>  óM   ø€ ð 4ð 4ð 4Ø!ð -/°!°B°Q°B´%¨K¨K˜1˜QœW Rœ[™=˜=¸Q¼WÀR¼[ð 4ð 4ð 4r)   r    r@   ©r   r,   ©Úsr¡   ©r(   rE   r   ÚtuplerO   Úndimr¢   r	   ©
rG   r£   r%   r&   r¡   r·   r¥   r¦   r¤   r7   s
           @@r'   Ú$test_axes_subset_with_shape_standardz,TestFFT.test_axes_subset_with_shape_standard  s   øø€ õ
 )¨¨RÑ0Ô0ˆØ�JŠJ•v˜jÑ)Ô)°ˆJÑ7Ô7ˆØ0Ð0Ð0ˆàð 		*ð 		*ˆAåð 4ð 4ð 4ð 4ð 4Ý%*¨1¬6¡]¤]ð4ñ 4ô 4ñ 5ô 5ˆEð �B�r—’ q¨q�Ñ1Ô1Ø˜r ˜rœ¨ð1ñ 1ô 1ˆEà—O’O B B q¨E°"°1°"¬I¸A¸b¸q¸b¼EÐ$BÑ$BÔ$BØ./ð $ñ 1ô 1ˆEå˜E 5Ñ)Ô)Ð)Ð)ð		*ð 		*r)   c           
      ó¼  ‡‡	— t          ||¦  «        }|                     t          d¦  «        |¬¦  «        Š	g d¢}|D ]žŠt          ˆˆ	fd„t	          ‰	j        ¦  «        D ¦   «         ¦  «        } ||                     ‰	‰¬¦  «        |d d…         d¬¦  «        }|                      |‰	|d d…         ‰d d…         ¬¦  «        ‰¬¦  «        }t          ||¦  «         ŒŸd S )	Nr°   rW   r³   c                 ób   •— g | ]+}|‰d d…         v rd‰j         |         z  n‰j         |         ‘Œ,S rµ   r¶   r¸   s     €€r'   r»   zDTestFFT.test_axes_subset_with_shape_non_standard.<locals>.<listcomp>/  r¼   r)   r    r@   r½   r¾   rÀ   rÃ   s
           @@r'   Ú(test_axes_subset_with_shape_non_standardz0TestFFT.test_axes_subset_with_shape_non_standard   s  øø€ õ )¨¨RÑ0Ô0ˆØ�JŠJ•v˜jÑ)Ô)°ˆJÑ7Ô7ˆØ0Ð0Ð0ˆàð 	*ð 	*ˆAåð 4ð 4ð 4ð 4ð 4Ý%*¨1¬6¡]¤]ð4ñ 4ô 4ñ 5ô 5ˆEð �B�r—’ q¨q�Ñ1Ô1°U¸2¸A¸2´YÀVÐLÑLÔLˆEØ—O’O B B q¨E°"°1°"¬I¸A¸b¸q¸b¼EÐ$BÑ$BÔ$BÈ�OÑKÔKˆEÝ˜E 5Ñ)Ô)Ð)Ð)ð	*ð 	*r)   c                 ó´  — |                      t          d¦  «        |j        ¬¦  «        }|j                             |¦  «        }t          |¦  «        dz  }t          j        t          j        ft          j	        t          j
        ft          j        t          j        fg}|D ]¸\  }}|t          j        k    r6|                      ||j        ¬¦  «        }|j                             |¦  «        }t          |¦  «        dt          |¦  «        z  fD ]K}dD ]F} ||||¬¦  «        }	 ||	||¬¦  «        }	t          |j                             |	¦  «        |¦  «         ŒGŒLŒ¹d S )NrR   rW   r@   rc   rx   )rE   r   r"   ÚlinalgÚvector_normr   r   r   r   r   r   r   r!   r	   )
rG   r%   r7   Úx_normry   Ú
func_pairsÚforwÚbackrU   Útmps
             r'   Útest_all_1d_norm_preservingz#TestFFT.test_all_1d_norm_preserving6  s^  € ð �JŠJ•v˜b‘z”z¨¬ˆJÑ4Ô4ˆà”×&Ò& qÑ)Ô)ˆÝ�A‰JŒJ˜‰NˆÝ”x¥¤Ð+õ ”y¥#¤(Ð+å”w¥¤Ð)ðˆ
ð %ð 	Hð 	H‰JˆD�$Ø•s”wŠˆØ—J’J˜q¨¬�JÑ6Ô6�Øœ×.Ò.¨qÑ1Ô1�Ý˜a‘j”j !¥G¨A¡J¤J¡,Ð/ð Hð H�Ø<ð Hð H�DØ˜$˜q A¨DÐ1Ñ1Ô1�CØ˜$˜s a¨dÐ3Ñ3Ô3�CÝ# B¤I×$9Ò$9¸#Ñ$>Ô$>ÀÑGÔGÐGÐGðHðHð		Hð 	Hr)   r&   c                 ó  — t          d¦  «                             |¦  «        }t          j        t          j        t          j        t          j        i}|                     ||         ¦  «        }t          j        t          j        |¦  «        ¦  «        }t          j	        t          j
        |¦  «        ¦  «        }t          j        t          j        |¦  «        |j        d         ¦  «        }t          ||¦  «         t          ||¦  «         t          ||¦  «         |j        |j        k    sJ ‚|j        t          j        t          j        |j        ¦  «        k    sJ ‚|j        t          j        t          j        |j        ¦  «        k    sJ ‚d S )NrR   r   )r   Úastyper0   Úfloat16Ú	complex64Ú
longdoubleÚclongdoubler   r   r   r   r   r   r·   r   r&   Úresult_typeÚfloat32)rG   r&   r7   Ú
out_dtypesÚ	x_complexÚres_fftÚres_rfftÚres_hffts           r'   Útest_dtypes_nonstandardzTestFFT.test_dtypes_nonstandardN  s%  € å�2‰JŒJ×Ò˜eÑ$Ô$ˆÝ”j¥"¤,µ´½r¼~ÐNˆ
Ø—H’H˜Z¨Ô.Ñ/Ô/ˆ	å”(�3œ7 1™:œ:Ñ&Ô&ˆÝ”9�SœX a™[œ[Ñ)Ô)ˆÝ”8�CœI a™LœL¨!¬'°!¬*Ñ5Ô5ˆå! '¨9Ñ5Ô5Ð5Ý! (¨AÑ.Ô.Ð.Ý! (¨AÑ.Ô.Ð.ØŒ} 	¤Ò/Ð/Ð/Ð/ØŒ~¥¤µ´
¸A¼GÑ!DÔ!DÒDÐDÐDÐDØŒ~¥¤µ´
¸A¼GÑ!DÔ!DÒDÐDÐDÐDÐDÐDr)   rØ   r"   c                 óZ  — |                      t          d¦  «        t          ||¦  «        ¬¦  «        }t          j        t          j        |¦  «        ¦  «        }t          j        t          j        |¦  «        |j        d         ¦  «        }t          ||¦  «         t          ||¦  «         d S )NrR   rW   r   )
rE   r   Úgetattrr   r   r   r   r   r·   r	   )rG   r&   r%   r7   rÜ   rÝ   s         r'   Útest_dtypes_realzTestFFT.test_dtypes_real_  s…   € ð �JŠJ•v˜b‘z”z­°°UÑ);Ô);ˆJÑ<Ô<ˆå”9�SœX a™[œ[Ñ)Ô)ˆÝ”8�CœI a™LœL¨!¬'°!¬*Ñ5Ô5ˆå˜ !Ñ$Ô$Ð$Ý˜ !Ñ$Ô$Ð$Ð$Ð$r)   rÔ   r!   c                 ó   — t           j                             d¦  «        }|                     |                     d¦  «        t	          ||¦  «        ¬¦  «        }t          j        t          j        |¦  «        ¦  «        }t          ||¦  «         d S )NiÒ  rR   rW   )r0   r   Údefault_rngrE   rà   r   r   r	   )rG   r&   r%   Úrngr7   rÛ   s         r'   Útest_dtypes_complexzTestFFT.test_dtypes_complexj  so   € õ Œi×#Ò# DÑ)Ô)ˆØ�JŠJ�s—z’z "‘~”~­W°R¸Ñ-?Ô-?ˆJÑ@Ô@ˆå”(�3œ7 1™:œ:Ñ&Ô&ˆå˜ Ñ#Ô#Ð#Ð#Ð#r)   c                 óœ   — ddgddggddgddggddgddggg}t           ||¦  «         |t          j        |¦  «        ¦  «        ¦  «         d S )Ng      ð?)r	   r0   rE   )rG   r£   r7   s      r'   Útest_array_likezTestFFT.test_array_liket  sm   € ð �Cˆj˜3 ˜*Ð%Ø�Cˆj˜3 ˜*Ð%Ø�Cˆj˜3 ˜*Ð%ð'ˆõ 	˜˜˜1™œ˜r˜r¥"¤*¨Q¡-¤-Ñ0Ô0Ñ1Ô1Ð1Ð1Ð1r)   N)=r    Ú
__module__Ú__qualname__r   r   r   r   r   rK   Úskip_xp_backendsrP   r\   ra   re   r   rk   r   rm   r   rr   r   ru   rz   r|   r   r€   r   rƒ   r   r‡   r   rŠ   r   r‘   r   r“   r   r   r•   r—   r   r   r™   r›   r§   ÚpytestÚmarkÚparametrizer   r¬   r®   rÄ   rÇ   rÐ   r0   rÓ   rÕ   rÞ   rá   rå   rç   © r)   r'   r<   r<   *   s¸  € € € € € ØÐ�s”x ¤¨#¬(°C´IÑ>Ô>ðFð Fñ ?Ô>ðFð Ð˜dÐ+SÐTÑTÔTðFð Fñ UÔTðFð Ð�s”wÑÔðAð Añ  ÔðAð Ð˜dÐ+FÐGÑGÔGð1ð 1ñ HÔGð1ð Ð�s”w ¤Ñ)Ô)ðKð Kñ *Ô)ðKð Ð�s”w ¤Ñ)Ô)ðIð Iñ *Ô)ðIð Ð�s”x ¤Ñ+Ô+ðJð Jñ ,Ô+ðJð Ð�s”w ¤Ñ)Ô)ðNð Nñ *Ô)ðNð Ð�s”x ¤Ñ+Ô+ð#ð #ñ ,Ô+ð#ð Ð�s”w ¤Ñ)Ô)ð
ð 
ñ *Ô)ð
ð Ð�s”y #¤(Ñ+Ô+ðMð Mñ ,Ô+ðMð Ð�s”yÑ!Ô!ðJð Jñ "Ô!ðJð Ð�s”y #¤*Ñ-Ô-ðOð Oñ .Ô-ðOð Ð�s”x ¤Ñ+Ô+ðOð Oñ ,Ô+ðOð Ð�s”z 3¤9Ñ-Ô-ðOð Oñ .Ô-ðOð Ð�s”x ¤Ñ)Ô)ðGð Gñ *Ô)ðGð Ð�s”x ¤Ñ+Ô+ðWð Wñ ,Ô+ðWð Ð�s”y #¤*Ñ-Ô-ðOð Oñ .Ô-ðOð Ð�s”yÑ!Ô!ð	Kð 	Kñ "Ô!ð	Kð Ð�s”y #¤*Ñ-Ô-ðOð Oñ .Ô-ðOð Ð�s”y #¤*Ñ-Ô-ð	Pð 	Pñ .Ô-ð	Pð*ð *ð *ð „[×Ò˜TÐ$8Ð$8¸¼Ñ$BÔ$BØ$8Ð$8¸¼Ñ$CÔ$CØ$8Ð$8¸¼Ñ$CÔ$CØ$8Ð$8¸¼Ñ$DÔ$Dð$Fñ Gô Gð!ð !ñ	Gô Gð!ð „[×Ò˜TÐ$8Ð$8¸¼Ñ$CÔ$CØ$8Ð$8¸¼Ñ$DÔ$Dð$Fñ Gô Gð!ð !ñGô Gð!ð „[×Ò˜TÐ$8Ð$8¸¼Ñ$BÔ$BØ$8Ð$8¸¼Ñ$CÔ$CØ$8Ð$8¸¼Ñ$CÔ$CØ$8Ð$8¸¼Ñ$DÔ$Dð$Fñ Gô Gð*ð *ñ	Gô Gð*ð  „[×Ò˜TÐ$8Ð$8¸¼Ñ$BÔ$BØ$8Ð$8¸¼Ñ$CÔ$CØ$8Ð$8¸¼Ñ$CÔ$CØ$8Ð$8¸¼Ñ$DÔ$DØ$8Ð$8¸¼Ñ$CÔ$CØ$8Ð$8¸¼Ñ$DÔ$DØ$8Ð$8¸¼Ñ$CÔ$CØ$8Ð$8¸¼Ñ$DÔ$Dð$Fñ Gô Gð*ð *ñGô Gð*ð Ð�s”x ¤¨C¬I°s´xÀÄÈ#Ì(ÑSÔSðHð Hñ TÔSðHð. „[×Ò˜W r¤z°2´=Ð&AÑBÔBðEð Eñ CÔBðEð  Ð�s”y #¤(Ñ+Ô+Ø„[×Ò˜W y°)Ð&<Ñ=Ô=ð%ð %ñ >Ô=ñ ,Ô+ð%ð Ð�s”w ¤Ñ)Ô)Ø„[×Ò˜W {°LÐ&AÑBÔBð$ð $ñ CÔBñ *Ô)ð$ð „[×Ò˜T C¤G¨S¬XØ$'¤H¨c¬iØ$'¤H¨c¬iØ$'¤H¨c¬iØ$'¤I¨s¬zØ$'¤I¨s¬zØ$'¤H¨c¬iØ$'¤I¨s¬zØ$'¤I¨s¬zð$<ñ =ô =ð2ð 2ñ=ô =ð2ð 2ð 2r)   r<   r&   ÚorderÚFznon-contiguousr   c                 óÜ  — t           j                             d¦  «        }|                     ddd¦  «                             | d¬¦  «        }|dk    rt          j        |¦  «        }n(|d d d…         }t          j        |d d d…         ¦  «        }|j                             d	¦  «        r>t          d
¦  «        D ],} |||¬¦  «        } |||¬¦  «        }t          ||¦  «         Œ-d S |j                             d¦  «        rfg d¢}	|j                             d¦  «        r|	                     g d¢¦  «         |	D ],}
 |||
¬¦  «        } |||
¬¦  «        }t          ||¦  «         Œ-d S t          ‚)Né*   r±   é   é   F)Úcopyrð   r+   r   r_   r-   )r   r   )r½   )r,   r@   )r   r@   r   ))r   )r,   )r@   Nr    )r0   r   ÚRandomStateÚrandrÒ   ÚasfortranarrayÚascontiguousarrayr    ÚendswithrO   r   Úextendr#   )r&   rï   r   rä   ÚXÚYr.   ÚX_resÚY_resr¡   rº   s              r'   Útest_fft_with_orderr   „  s¦  € õ Œ)×
Ò
 Ñ
#Ô
#€CØ�Š��A�rÑÔ×!Ò! %¨eÐ!Ñ4Ô4€AØ�‚|€|ÝÔ˜aÑ Ô ˆˆð ˆdˆd�ˆdŒGˆÝÔ   4 4 R 4¤Ñ)Ô)ˆà
„|×Ò˜UÑ#Ô#ð Ý˜!‘H”Hð 	4ð 	4ˆDØ�C˜ Ð%Ñ%Ô%ˆEØ�C˜ Ð%Ñ%Ô%ˆEÝ% e¨UÑ3Ô3Ð3Ð3ð	4ð 	4ð 
Œ×	Ò	Ð/Ñ	0Ô	0ð 	Ø'Ð'Ð'ˆØŒ<× Ò  Ñ(Ô(ð 	2Ø�KŠKÐ0Ð0Ð0Ñ1Ô1Ð1Øð 	4ð 	4ˆBØ�C˜ �O‘O”OˆEØ�C˜ �O‘O”OˆEÝ% e¨UÑ3Ô3Ð3Ð3ð	4ð 	4õ
 Ðr)   T)Úcpu_onlyc                   óN  — e Zd ZdZdZddœd„Z eej        ¦  «        d„ ¦   «         Z eej	        ¦  «        d„ ¦   «         Z
 eej        ¦  «        d„ ¦   «         Z eej        ¦  «        d	„ ¦   «         Z eej        ¦  «        d
„ ¦   «         Z eej        ¦  «        d„ ¦   «         ZdS )ÚTestFFTThreadSaferA   )i   éÈ   N©r%   c                ó6  ‡‡‡‡— ˆfd„Št          j        ¦   «         Š ‰‰Ž }ˆˆˆfd„t          | j        ¦  «        D ¦   «         }d„ |D ¦   «          d„ |D ¦   «          t          | j        ¦  «        D ](}t	          ‰                     d¬¦  «        |d¬¦  «         Œ)d S )	Nc                 ó8   •— |                       ‰| Ž ¦  «         d S r©   )Úput)ÚargsÚqr$   s     €r'   Úworkerz.TestFFTThreadSafe._test_mtsame.<locals>.worker¯  s!   ø€ Ø�EŠE�$�$˜�+ÑÔÐÐÐr)   c                 ó@   •— g | ]}t          j        ‰‰‰f¬ ¦  «        ‘ŒS ))Útargetr	  )Ú	threadingÚThread)r¹   rJ   r	  r
  r  s     €€€r'   r»   z2TestFFTThreadSafe._test_mtsame.<locals>.<listcomp>¶  s=   ø€ ð +ð +ð +Øõ Ô V°4¸°)Ð<Ñ<Ô<ð +ð +ð +r)   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS rî   )Ústart©r¹   r7   s     r'   r»   z2TestFFTThreadSafe._test_mtsame.<locals>.<listcomp>¸  s    € ÐÐÐ�qˆ�Š‰ŒÐÐÐr)   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS rî   )Újoinr  s     r'   r»   z2TestFFTThreadSafe._test_mtsame.<locals>.<listcomp>º  s    € ÐÐÐ�aˆ�Š‰ŒÐÐÐr)   é   )Útimeoutz6Function returned wrong value in multithreaded context)Úerr_msg)ÚqueueÚQueuerO   Úthreadsr
   Úget)	rG   r$   r%   r	  ÚexpectedÚtrJ   r
  r  s	    ` `   @@r'   Ú_test_mtsamezTestFFTThreadSafe._test_mtsame®  sò   øøøø€ ð	ð 	ð 	ð 	ð 	õ ŒK‰MŒMˆØ�4˜�;ˆð+ð +ð +ð +ð +ð +Ý˜DœLÑ)Ô)ð+ñ +ô +ˆàÐ˜AÐÑÔÐàÐ˜1ÐÑÔÐõ �t”|Ñ$Ô$ð 	ð 	ˆAÝØ—’˜a�Ñ Ô  (ØPðñ ô ð ð ð	ð 	r)   c                 óŒ   — |                      | j        |j        ¬¦  «        }|                      t          j        ||¬¦  «         d S ©NrW   r  )ÚonesÚinput_shaper!   r  r   ©rG   r%   r¤   s      r'   r\   zTestFFTThreadSafe.test_fftÃ  s?   € à�GŠG�DÔ$¨B¬MˆGÑ:Ô:ˆØ×Ò�#œ' 1¨ÐÑ,Ô,Ð,Ð,Ð,r)   c                 ó€   — |                      | j        d¦  «        }|                      t          j        ||¬¦  «         d S ©Ny      ð?        r  )Úfullr"  r  r   r   r#  s      r'   re   zTestFFTThreadSafe.test_ifftÈ  s;   € à�GŠG�DÔ$ dÑ+Ô+ˆØ×Ò�#œ( A¨"ÐÑ-Ô-Ð-Ð-Ð-r)   c                 ó~   — |                      | j        ¦  «        }|                      t          j        ||¬¦  «         d S ©Nr  )r!  r"  r  r   r   r#  s      r'   rz   zTestFFTThreadSafe.test_rfftÍ  s9   € à�GŠG�DÔ$Ñ%Ô%ˆØ×Ò�#œ( A¨"ÐÑ-Ô-Ð-Ð-Ð-r)   c                 ó€   — |                      | j        d¦  «        }|                      t          j        ||¬¦  «         d S r%  )r&  r"  r  r   r   r#  s      r'   r|   zTestFFTThreadSafe.test_irfftÒ  s;   € à�GŠG�DÔ$ dÑ+Ô+ˆØ×Ò�#œ) Q¨2ÐÑ.Ô.Ð.Ð.Ð.r)   c                 óŒ   — |                      | j        |j        ¬¦  «        }|                      t          j        ||¬¦  «         d S r   )r!  r"  rÔ   r  r   r   r#  s      r'   r‘   zTestFFTThreadSafe.test_hfft×  s?   € à�GŠG�DÔ$¨B¬LˆGÑ9Ô9ˆØ×Ò�#œ( A¨"ÐÑ-Ô-Ð-Ð-Ð-r)   c                 ó~   — |                      | j        ¦  «        }|                      t          j        ||¬¦  «         d S r(  )r!  r"  r  r   r   r#  s      r'   r“   zTestFFTThreadSafe.test_ihfftÜ  s9   € à�GŠG�DÔ$Ñ%Ô%ˆØ×Ò�#œ) Q¨2ÐÑ.Ô.Ð.Ð.Ð.r)   )r    rè   ré   r  r"  r  r   r   r\   r   re   r   rz   r   r|   r   r‘   r   r“   rî   r)   r'   r  r  ©  s0  € € € € € à€GØ€Kà+/ð ð ð ð ð ð* Ð�s”wÑÔð-ð -ñ  Ôð-ð Ð�s”xÑ Ô ð.ð .ñ !Ô ð.ð Ð�s”xÑ Ô ð.ð .ñ !Ô ð.ð Ð�s”yÑ!Ô!ð/ð /ñ "Ô!ð/ð Ð�s”xÑ Ô ð.ð .ñ !Ô ð.ð Ð�s”yÑ!Ô!ð/ð /ñ "Ô!ð/ð /ð /r)   r  r$   c                 ó  — t          j        d¦  «        5 }|                     | d„ t          d¦  «        D ¦   «         ¦  «        }d d d ¦  «         n# 1 swxY w Y    | t	          j        d¦  «        ¦  «        }|D ]}t          ||¦  «         Œd S )Nr@   c                 ó6   — g | ]}t          j        d ¦  «        ‘ŒS )éd   )r0   r!  )r¹   Ú_s     r'   r»   z%test_multiprocess.<locals>.<listcomp>ç  s    € Ð:Ð:Ð:¨A�2œ7 3™<œ<Ð:Ð:Ð:r)   r²   r.  )ÚmultiprocessingÚPoolÚmaprO   r0   r!  r   )r$   ÚpÚresr[   r7   s        r'   Útest_multiprocessr5  â  sÔ   € õ 
Ô	˜aÑ	 Ô	 ð < AØ�eŠe�DÐ:Ð:µ°q±´Ð:Ñ:Ô:Ñ;Ô;ˆð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <ð ˆT•"”'˜#‘,”,ÑÔ€FØð #ð #ˆÝ˜˜6Ñ"Ô"Ð"Ð"ð#ð #s   •.AÁAÁAc                   ó   — e Zd Zd„ ZdS )Ú
TestIRFFTNc                 ó´   — t           j                             d¦  «        \  }}|d|z  z   }|                     |¦  «        }d}t          j        ||¬¦  «         d S )N)r@   rA   r±   é    r?   )éþÿÿÿr    )r0   r   rE   r   r   )rG   r%   ÚarÚair¤   r¡   s         r'   Útest_not_last_axis_successz%TestIRFFTN.test_not_last_axis_successñ  sY   € Ý”×!Ò! .Ñ1Ô1‰ˆˆBØ��B‘‰JˆØ�JŠJ�q‰MŒMˆàˆõ 	Œ
�1˜4Ð Ñ Ô Ð Ð Ð r)   N)r    rè   ré   r=  rî   r)   r'   r7  r7  î  s#   € € € € € ð!ð !ð !ð !ð !r)   r7  c                 óê   — | j         dv r|j        }n|j        }|                     g d¢|¬¦  «        } | |¦  «         t	          |¦  «        r | |d¬¦  «         d S t          t          | |d¬¦  «         d S )N)r   r   r   r^   rW   r@   )Úworkers)r    r"   r!   rE   r   r`   r#   )r$   r%   r&   r7   s       r'   Útest_non_standard_paramsr@  ü  sŽ   € ð „}Ð2Ð2Ð2Ø”
ˆˆà”ˆà
�
Š
�9�9�9 Eˆ
Ñ*Ô*€Aà€Dˆ�G„G€Gå��|„|ð 6ØˆˆQ˜ÐÑÔÐÐÐå•j $¨°1Ð5Ñ5Ô5Ð5Ð5Ð5r)   rØ   r"   c                 ój   — |                      g d¢t          ||¦  «        ¬¦  «        } | |¦  «         d S )Nr^   rW   )rE   rà   )r$   r&   r%   r7   s       r'   Útest_real_inputrB    s8   € ð 	�
Š
�9�9�9¥G¨B°Ñ$6Ô$6ˆ
Ñ7Ô7€Aà€Dˆ�G„G€G€G€Gr)   )4r  r  r0  Únumpyr0   rë   Únumpy.randomr   Únumpy.testingr   r   r   r`   Ú	scipy.fftr   Úscipy._lib._array_apir   r   r	   r
   r   r   Úlazy_xp_modulesrì   rê   r(   r:   r<   rí   rØ   r"   rÕ   rÔ   r!   rÖ   r   r   r   r   r   r   r  r   r   r5  r   r7  r   r   r   r@  rB  rî   r)   r'   ú<module>rI     so  ðØ €€€Ø Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð Ø DÐ DÐ DÐ DÐ DÐ DÐ DÐ DØ *Ð *Ð *Ð *Ð *Ð *Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð
 �%€Ø”;Ô/Ð ð
ð 
ð 
ð+ð +ð +ðW2ð W2ð W2ð W2ð W2ñ W2ô W2ð W2ðt
 „×ÒØØ	Œ�R”Z ¤Ø	Œ�r”} b¤nð	6ñ7ô 7ð „×Ò˜ 3Ð(8Ð"9Ñ:Ô:Ø„×ÒØØ	Œ�#”(˜CœH c¤h°´	¸3¼9ÐEñGô Gðð ñGô Gñ ;Ô:ñ	7ô 7ðð: Ð˜4Ð Ñ Ô ð5/ð 5/ð 5/ð 5/ð 5/ñ 5/ô 5/ñ !Ô ð5/ðp „×Ò˜ #¤'¨3¬8°S´X¸s¼yÐ!IÑJÔJð#ð #ñ KÔJð#ð Ð�3”:ÑÔð
!ð 
!ð 
!ð 
!ð 
!ñ 
!ô 
!ñ Ôð
!ð „×Ò˜Ð"6Ð"6°s´wÑ"?Ô"?Ø"6Ð"6°s´xÑ"@Ô"@Ø"6Ð"6°s´xÑ"@Ô"@Ø"6Ð"6°s´yÑ"AÔ"AØ"6Ð"6°s´xÑ"@Ô"@Ø"6Ð"6°s´yÑ"AÔ"AØ"6Ð"6°s´yÑ"AÔ"AØ"6Ð"6°s´zÑ"BÔ"BØ"6Ð"6°s´xÑ"@Ô"@Ø"6Ð"6°s´yÑ"AÔ"Að	"Cñ 	Dô 	Dð6ð 6ñ	Dô 	Dð6ð( „×Ò˜ 9¨iÐ"8Ñ9Ô9Ø„×Ò˜Ð"6Ð"6°s´wÑ"?Ô"?Ø"6Ð"6°s´xÑ"@Ô"@Ø"6Ð"6°s´yÑ"AÔ"AØ"6Ð"6°s´xÑ"@Ô"@Ø"6Ð"6°s´yÑ"AÔ"AØ"6Ð"6°s´zÑ"BÔ"BØ"6Ð"6°s´xÑ"@Ô"@ð"Bñ Cô Cðð ñCô Cñ :Ô9ðð ð r)   