+
    KV-j~_  ã                   ó>  € ^ RI t ^ RIt^ RIt^ RIt^ RIHt ^ RIHtH	t	H
t
Ht R t ! R R4      t ! R R4      t]P                  P!                  R	]P"                  ]P$                  ]P&                  ]P(                  .4      ]P                  P!                  R
RR.4      ]P                  P!                  R]P*                  P*                  ]P*                  P,                  ]P*                  P.                  ]P*                  P0                  ]P*                  P2                  ]P*                  P4                  .4      R 4       4       4       t]P                  P!                  R
RR.4      ]P                  P!                  R. RO4      R 4       4       t]P                  P;                  ]RR7       ! R R4      4       tR tR t ]P                  P!                  R]P*                  P*                  ]P*                  P0                  ]P*                  PB                  ]P*                  PD                  .4      ]P                  P!                  R]PF                  ! . RO4      ]PH                  ! ^
]PJ                  R7      ]PH                  ! ^]PL                  R7      .4      R 4       4       t'R# )é    N)Úrandom)ÚIS_WASMÚassert_allcloseÚassert_array_equalÚassert_raisesc                 óJ  € \        V 4      pR\        P                  ,          \        P                  ! V4      V,          ,          p\        P                  ! V4      P	                  R^4      V,          p\        P
                  ! V \        P                  ! V4      ,          ^R7      # )y               @©Úaxisy       €       Àéÿÿÿÿ)ÚlenÚnpÚpiÚarangeÚreshapeÚsumÚexp)ÚxÚLÚphases   &  Úo/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/numpy/fft/tests/test_pocketfft.pyÚfft1r      sg   € ÜˆA‹€AØ”"—%‘%�Kœ2Ÿ9š9 Q›<¨!Õ+Õ,€EÜ�IŠI�a‹L× Ñ   QÓ'¨%Õ/€EÜ�6Š6�!”b—f’f˜U“mÕ#¨!Ô,Ð,ó    c                   ó&   a € ] tR t^t o R tRtV tR# )ÚTestFFTShiftc                ó^   € \        \        \        P                  P                  . RO^ 4       R# )é   N)r   é   é   )r   Ú
ValueErrorr   Úfft)Úselfs   &r   Ú
test_fft_nÚTestFFTShift.test_fft_n   s   € Ü”j¤"§&¡&§*¡*ªi¸Ö;r   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r"   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      s   ø‡ € ÷<ð <r   r   c            	       óV	  a € ] tR t^t o R t]P                  P                  R]P                  ]P                  ]P                  .4      R 4       t]P                  P                  R]P                  ]P                  ]P                  .4      R 4       tR t]P                  P                  RR*4      ]P                  P                  R]]34      ]P                  P                  RR+4      R 4       4       4       t]P                  P                  R^ ^.4      R	 4       tR
 t]P                  P                  RR,4      R 4       tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"]P                  P                  R]PF                  PH                  ]PF                  PJ                  ]PF                  PL                  ]PF                  PN                  .4      R 4       t(]P                  P                  R]PF                  PH                  ]PF                  PJ                  ]PF                  PR                  ]PF                  PT                  .4      R 4       t+]P                  P                  R]PF                  PH                  ]PF                  PJ                  ]PF                  PL                  ]PF                  PN                  .4      R 4       t,]P                  P                  R]PF                  PR                  ]PF                  PT                  .4      R  4       t-]P                  P                  R]PF                  PH                  ]PF                  PJ                  ]PF                  PL                  ]PF                  PN                  ]PF                  PR                  ]PF                  PT                  .4      R! 4       t.R" t/]P                  P                  R#. R-O4      ]P                  P                  R]]34      ]P                  P                  RR+4      R$ 4       4       4       t0]P                  P                  R%]PF                  PH                  ]PF                  PJ                  ]PF                  PL                  .4      R& 4       t1]P                  P                  R'R.R/.4      R( 4       t2R)t3V t4R# )0Ú	TestFFT1Dc           
     óÄ  € R p\        V4      R\        V4      ,          ,           p\        V4      p\        ^V4       F   p\        \        P                  P                  \        P                  P	                  V^ V 4      4      V^ V RR7       \        \        P                  P                  \        P                  P                  V^ V 4      V4      V^ V RR7       K¢  	  R# )i   ù              ð?gê-�™—q=©ÚatolN)r   Úranger   r   r    ÚifftÚirfftÚrfft)r!   Úmaxlenr   ÚxrÚis   &    r   Útest_identityÚTestFFT1D.test_identity   s¤   € ØˆÜ�6‹N˜R¤&¨£.Õ0Õ0ˆÜ�F‹^ˆÜ�q˜&Ö!ˆAÜœBŸF™FŸK™K¬¯©¯
©
°1°Q°q°6Ó(:Ó;¸Q¸qÀ¸VØ!&õ(äœBŸF™FŸL™L¬¯©¯©°R¸¸!°WÓ)=¸qÓAØ˜q ˜G¨%÷1ó "r   Údtypec                ó¨  € ^p^\         P                  ! \         P                  ! RVR7      4      ,          p\        V4      P	                  V4      R\        V4      P	                  V4      ,          ,           p\         P
                  ! V\         P                  ! V4      .4      p\        V4      P	                  V4      p\         P
                  ! V\         P                  ! V4      .4      p\        ^V^,          4       FÓ  p\         P                  P                  \         P                  P                  WHR7      VR7      p	V	P                  P                  V8X  g   Q h\        W•^ V V^ R7       \         P                  P                  \         P                  P                  WhR7      VR7      p
V
P                  V8X  g   Q h\        W§^ V V^ R7       KÕ  	  R# ©é   ç      ð?©r<   r0   ©Ún©r2   ÚrtolN)r   ÚspacingÚarrayr   ÚastypeÚconcatenateÚ
zeros_liker3   r    r4   Úrealr<   r   r5   r6   )r!   r<   r7   r2   r   Úxxr8   Úxxrr9   Úcheck_cÚcheck_rs   &&         r   Útest_identity_long_shortÚ"TestFFT1D.test_identity_long_short$   sM  € ð ˆØ”2—:’:œbŸhšh r°Ô7Ó8Õ8ˆÜ�6‹N×!Ñ! %Ó(¨2´°v³×0EÑ0EÀeÓ0LÕ+LÕLˆÜ�^Š^˜Q¤§¢¨aÓ 0Ð1Ó2ˆÜ�F‹^×"Ñ" 5Ó)ˆÜ�nŠn˜b¤"§-¢-°Ó"3Ð4Ó5ˆÜ�q˜& 1�*Ö%ˆAÜ—f‘f—k‘k¤"§&¡&§*¡*¨Q *Ó"4¸�kÓ:ˆGØ—<‘<×%Ñ%¨Ô.Ð.Ð.Ü˜G¨¨! W°4¸aÕ@Ü—f‘f—l‘l¤2§6¡6§;¡;¨r ;Ó#7¸1�lÓ=ˆGØ—=‘= EÔ)Ð)Ð)Ü˜G¨¨1 X°D¸q×Aó &r   c                ó2  € ^p^\         P                  ! \         P                  ! RVR7      4      ,          p\        V4      P	                  V4      R\        V4      P	                  V4      ,          ,           p\         P
                  ! V\         P                  ! V4      .4      p\        ^V^,          4       EF]  p\         P                  P                  \         P                  P                  WFR7      VR7      pVP                  VP                  8X  g   Q h\        Wu^ V V^ R7       VP                  4       pV^,          ^,           p	^ VP                  ^ &   V^,          ^ 8X  d   ^ VP                  V	^,
          R% \         P
                  ! V\         P                  ! V4      .4      p
\         P                  P                  \         P                  P                  WFR7      VR7      pVP                  VP                  8X  g   Q h\        Wº^ V	 V^ R7       EK`  	  R# r>   )r   rF   rG   r   rH   rI   rJ   r3   r    r4   r<   r   ÚcopyÚimagr6   r5   )r!   r<   r7   r2   r   rL   r9   Úcheck_via_cÚyrC   ÚyyÚcheck_via_rs   &&          r   Ú!test_identity_long_short_reversedÚ+TestFFT1D.test_identity_long_short_reversed6   s‡  € ð ˆØ”2—:’:œbŸhšh r°Ô7Ó8Õ8ˆÜ�6‹N×!Ñ! %Ó(¨2´°v³×0EÑ0EÀeÓ0LÕ+LÕLˆÜ�^Š^˜Q¤§¢¨aÓ 0Ð1Ó2ˆÜ�q˜& 1�*×%ˆAÜŸ&™&Ÿ*™*¤R§V¡V§[¡[° [Ó%8¸A˜*Ó>ˆKØ×$Ñ$¨¯©Ô/Ð/Ð/Ü˜K¨A¨a¨°tÀ!ÕDð —‘“ˆAØ�Q•˜•
ˆAØˆA�F‰F�1‰IØ�1�u˜ŒzØ!"�—‘�q˜1•u�v�Ü—’ ¤B§M¢M°!Ó$4Ð 5Ó6ˆBÜŸ&™&Ÿ+™+¤b§f¡f§l¡l°1 lÓ&:¸a˜+Ó@ˆKØ×$Ñ$¨¯©Ô/Ð/Ð/Ü˜K¨A¨a¨°tÀ!×DÐDó &r   c                ó:  € \        ^4      R\        ^4      ,          ,           p\        \        V4      \        P                  P	                  V4      RR7       \        \        V4      \        P                  P	                  VRR7      RR7       \        \        V4      \        P
                  ! ^4      ,          \        P                  P	                  VRR7      RR7       \        \        V4      R,          \        P                  P	                  VRR7      RR7       R	# )
é   r0   ç�íµ ÷Æ°>r1   Úbackward©ÚnormÚorthoç      >@ÚforwardN)r   r   r   r   r    Úsqrt©r!   r   s   & r   Útest_fftÚTestFFT1D.test_fftN   s°   € Ü�2‹J˜œf R›j�Õ(ˆÜœ˜Q›¤§¡§¡¨A£°TÕ:Üœ˜Q›¤§¡§¡¨A°J Ó!?ÀdÕKÜœ˜Q›¤"§'¢'¨"£+Õ-ÜŸ™Ÿ
™
 1¨7˜
Ó3¸$õ	@äœ˜Q› #�ÜŸ™Ÿ
™
 1¨9˜
Ó5¸D÷	Br   r
   Ú	transposec                ó  a€ V3R  lpV\         J dW   \        R4      R\        R4      ,          ,           p\        P                  P                  \        P                  P                  rvM>\        R4      p\        P                  P
                  \        P                  P                  rvV! WSR7      pV! V4      p	V! WYVR7      p
W©J g   Q h\        W¨4       V! WƒR7      pV\         J d   T	MV! V4      pV! WœVR7      pWÜJ g   Q h\        WÛ4       R# )c                 ó”   <€ S'       d+   \         P                  ! V P                  4      P                  # \         P                  ! V 4      # ©N©r   rJ   ÚT©r   rh   s   &€r   rJ   Ú3TestFFT1D.test_fft_out_argument.<locals>.zeros_like[   ó.   ø€ ßÜ—}’} Q§S¡SÓ)×+Ñ+Ð+ä—}’} QÓ'Ð'r   r0   r	   )Úoutr
   N)é
   é   )Úcomplexr   r   r    r4   r6   r5   r   )r!   r<   rh   r
   rJ   rV   r    r4   Úexpectedrq   ÚresultÚ	expected2Úout2Úresult2s   &&f&          r   Útest_fft_out_argumentÚTestFFT1D.test_fft_out_argumentW   sÐ   ø€ õ	(ð ”GÓÜ�xÓ  2¬¨xÓ(8Õ#8Õ8ˆAÜŸ™Ÿ
™
¤B§F¡F§K¡K‘ä�xÓ ˆAÜŸ™Ÿ™¤R§V¡V§\¡\�á�qÔ$ˆÙ˜Ó"ˆÙ�Q dÔ+ˆØ‹}Ðˆ}Ü˜6Ô,á˜Ô-ˆ	ØœwÓ&‰s©J°yÓ,AˆÙ�s¨4Ô0ˆØ‹ÐˆÜ˜7Ö.r   c                ó¶  € \        R4      R\        R4      ,          ,           pVP                  4       p\        P                  P                  W1R7      p\        P                  P                  W1VR7      pWSJ g   Q h\	        WT4       VP                  4       pV^ 8X  d
   VR,          MVR,          p\        P                  P                  V^
VR7      p\        P                  P                  V^
WR7      p	W—J g   Q h\	        W˜4       V^ 8X  d   \	        VR,          VR,          4       M\	        VR,          VR,          4       VP                  4       p
V^ 8X  d
   V
R	,          MV
R,          pV^ 8X  d
   V
R
,          MV
R,          p\        P                  P                  V^
VR7      p\        P                  P                  V^
WR7      pWìJ g   Q h\	        Wí4       V^ 8X  d6   \	        V
R,          VR,          4       \	        V
R,          VR,          4       M4\	        V
R,          VR,          4       \	        V
R,          VR,          4       VP                  4       pV^ 8X  d
   VR,          MVR,          pV^ 8X  d
   VR,          MVR,          p\        P                  P                  V^VR7      p\        P                  P                  V^VVR7      pVVJ g   Q h\	        VV4       V^ 8X  d   \	        VR,          VR,          4       M\	        VR,          VR,          4       VP                  4       pVP
                  p\        P                  P                  VVVR7      pVVJ g   Q h\	        VV4       VP                  4       pV^ 8X  d   VRRR1,          MVRRRR13,          p\        P                  P                  VVVR7      pVVJ g   Q h\	        VV4       R# )rs   r0   r	   )r
   rq   ºNrr   NºNNN)rC   r
   )rC   r
   rq   ºrr   NNºé   NNºr�   é   NºNr�   Nºrƒ   NNºNrƒ   NN)rs   rs   )r~   r}   )r~   r   )r~   r€   )r~   r‚   )r~   r„   )r~   r…   )r~   r†   r   )r   rS   r   r    r   rm   )r!   r
   rV   Úy1Ú	expected1Úresult1Úy2rx   rw   ry   Úy3Úy3_selÚout3Ú	expected3Úresult3Úy4Úy4_selÚout4Ú	expected4Úresult4Úy5Úout5Úresult5Úy6Úout6Úresult6s   &&                        r   Útest_fft_inplace_outÚTestFFT1D.test_fft_inplace_outu   sû  € ô �8Ó˜r¤F¨8Ó$4Õ4Õ4ˆà�V‰V‹XˆÜ—F‘F—J‘J˜r�JÓ-ˆ	Ü—&‘&—*‘*˜R°�*Ó3ˆØ‹}Ðˆ}Ü˜7Ô.à�V‰V‹XˆØ !œ)ˆr�#Žw¨¨F­ˆÜ—F‘F—J‘J˜r R¨d�JÓ3ˆ	Ü—&‘&—*‘*˜R 2¨D�*Ó;ˆØ‹ÐˆÜ˜7Ô.Ø�1Œ9Ü˜r #�w¨¨#­Õ/ä˜r &�z¨1¨V­9Ô5à�V‰V‹XˆØ 1œ9��B–¨"¨U­)ˆØ 1œ9ˆr�$Žx¨"¨W­+ˆÜ—F‘F—J‘J˜v¨°$�JÓ7ˆ	Ü—&‘&—*‘*˜V r°�*Ó?ˆØ‹ÐˆÜ˜7Ô.Ø�1Œ9Ü˜r "�v q¨¥uÔ-Ü˜r #�w¨¨#­Õ/ä˜r %�y¨!¨E­(Ô3Ü˜r &�z¨1¨V­9Ô5à�V‰V‹XˆØ  AœI��C–¨2¨f­:ˆØ !œ)ˆr�#Žw¨¨F­ˆÜ—F‘F—J‘J˜v¨°$�JÓ7ˆ	Ü—&‘&—*‘*˜V r°¸$�*Ó?ˆØ˜$‹ÐˆÜ˜7 IÔ.Ø�1Œ9Ü˜r #�w¨¨#­Õ/ä˜r &�z¨1¨V­9Ô5à�V‰V‹XˆØ�t‰tˆÜ—&‘&—*‘*˜R d°�*Ó5ˆØ˜$‹ÐˆÜ˜7 IÔ.à�V‰V‹XˆØ 1œ9ˆr‘$�B�$Žx¨"¨Q±°"°¨W­+ˆÜ—&‘&—*‘*˜R d°�*Ó5ˆØ˜$‹ÐˆÜ˜7 IÖ.r   c           
     óö  € \         P                  ! R 4      p\        P                  ! \        RR7      ;_uu_ 4        \         P
                  P                  VRR7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \         P
                  P                  V\         P                  ! V4      P                  ^R	4      R7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \         P
                  P                  V\         P                  ! V\        R7      R7       RRR4       R#   + '       g   i     Lì; i  + '       g   i     L�; i  + '       g   i     R# ; i)
rb   zmust be of ArrayType©ÚmatchÚ )rq   Núhas wrong shapezCannot castrA   r   )
r   r   ÚpytestÚraisesÚ	TypeErrorr    r   rJ   r   Úfloatre   s   & r   Útest_fft_bad_outÚTestFFT1D.test_fft_bad_out±   sÐ   € Ü�IŠI�c‹NˆÜ�]Š]œ9Ð,B×CÖCÜ�F‰F�J‰J�q˜bˆJÔ!÷ Dä�]Š]œ:Ð->×?Ö?Ü�F‰F�J‰J�qœbŸmšm¨AÓ.×6Ñ6°q¸"Ó=ˆJÔ>÷ @ä�]Š]œ9¨M×:Ö:Ü�F‰F�J‰J�qœbŸmšm¨A´UÔ;ˆJÔ<÷ ;Ñ:÷	 D×Cúç?×?úç:×:Ð:ús$   »"EÂ	AEÃ;<E'ÅE	ÅE$	Å'E8	r`   Nc           
     ó¤  € \        ^4      R\        ^4      ,          ,           p\        V\        P                  P	                  \        P                  P                  W!R7      VR7      RR7       \
        P                  ! \        RR7      ;_uu_ 4        \        P                  P	                  . VR7       RRR4       R#   + '       g   i     R# ; i)r\   r0   r_   r]   r1   z!Invalid number of FFT data pointsrž   N)r   r   r   r    r4   r¢   r£   r   )r!   r`   r   s   && r   Ú	test_ifftÚTestFFT1D.test_ifftº   s�   € ä�2‹J˜œf R›j�Õ(ˆÜØŒr�v‰v�{‰{œ2Ÿ6™6Ÿ:™: a˜:Ó3¸$ˆ{Ó?Øõ	ô �]Š]œ:Ø!D÷Fö Fä�F‰F�K‰K˜ ˆKÔ&÷F÷ F÷ Fò Fús   Â"B>Â>C	c           	     ó  € \        R
4      R\        R
4      ,          ,           p\        \        P                  P                  \        P                  P                  V^R7      ^ R7      \        P                  P	                  V4      RR7       \        \        P                  P	                  V4      \        P                  P	                  VRR7      RR7       \        \        P                  P	                  V4      \        P
                  ! R4      ,          \        P                  P	                  VRR7      RR7       \        \        P                  P	                  V4      R,          \        P                  P	                  VRR7      RR7       R	# ©r\   r0   r	   r]   r1   r^   r_   ra   rc   N©r\   rs   éX  ç     À‚@)r   r   r   r    Úfft2rd   re   s   & r   Ú	test_fft2ÚTestFFT1D.test_fft2Å   sò   € Ü�8Ó˜r¤F¨8Ó$4Õ4Õ4ˆÜœŸ™Ÿ
™
¤2§6¡6§:¡:¨a°a :Ó#8¸q˜
ÓAÜŸ™Ÿ™ A›¨Tõ	3äœŸ™Ÿ™ A›ÜŸ™Ÿ™ A¨J˜Ó7¸dõ	DäœŸ™Ÿ™ A›¬¯ª°Ó)9Õ9ÜŸ™Ÿ™ A¨G˜Ó4¸4õ	AäœŸ™Ÿ™ A›¨)Õ4ÜŸ™Ÿ™ A¨I˜Ó6¸T÷	Cr   c           	     ó  € \        R
4      R\        R
4      ,          ,           p\        \        P                  P	                  \        P                  P	                  V^R7      ^ R7      \        P                  P                  V4      RR7       \        \        P                  P                  V4      \        P                  P                  VRR7      RR7       \        \        P                  P                  V4      \        P                  ! R4      ,          \        P                  P                  VRR7      RR7       \        \        P                  P                  V4      R,          \        P                  P                  VRR7      RR7       R	# r¬   )r   r   r   r    r4   Úifft2rd   re   s   & r   Ú
test_ifft2ÚTestFFT1D.test_ifft2Ð   sò   € Ü�8Ó˜r¤F¨8Ó$4Õ4Õ4ˆÜœŸ™Ÿ™¤B§F¡F§K¡K°¸ KÓ$:À˜ÓCÜŸ™Ÿ™ Q›¨dõ	4äœŸ™Ÿ™ Q›ÜŸ™Ÿ™ Q¨Z˜Ó8¸tõ	EäœŸ™Ÿ™ Q›¬"¯'ª'°'Ó*:Õ:ÜŸ™Ÿ™ Q¨W˜Ó5¸Dõ	BäœŸ™Ÿ™ Q›¨9Õ5ÜŸ™Ÿ™ Q¨Y˜Ó7¸d÷	Dr   c                óZ  € \        R
4      R\        R
4      ,          ,           p\        \        P                  P                  \        P                  P                  \        P                  P                  V^R7      ^R7      ^ R7      \        P                  P	                  V4      RR7       \        \        P                  P	                  V4      \        P                  P	                  VRR7      RR7       \        \        P                  P	                  V4      \        P
                  ! R4      ,          \        P                  P	                  VRR7      RR7       \        \        P                  P	                  V4      R,          \        P                  P	                  VRR7      RR7       R	# ©r\   r0   r	   r]   r1   r^   r_   ra   rc   N©r\   rs   rr   ép  ç     p·@)r   r   r   r    Úfftnrd   re   s   & r   Ú	test_fftnÚTestFFT1D.test_fftnÛ   s  € Ü�<Ó  2¬¨|Ó(<Õ#<Õ<ˆÜÜ�F‰F�J‰J”r—v‘v—z‘z¤"§&¡&§*¡*¨Q°Q *Ó"7¸a�zÓ@ÀqˆJÓIÜ�F‰F�K‰K˜‹N õ	'ô 	œŸ™Ÿ™ A›ÜŸ™Ÿ™ A¨J˜Ó7¸dõ	DäœŸ™Ÿ™ A›¬¯ª°Ó)>Õ>ÜŸ™Ÿ™ A¨G˜Ó4¸4õ	AäœŸ™Ÿ™ A›¨/Õ:ÜŸ™Ÿ™ A¨I˜Ó6¸T÷	Cr   c                óZ  € \        R
4      R\        R
4      ,          ,           p\        \        P                  P	                  \        P                  P	                  \        P                  P	                  V^R7      ^R7      ^ R7      \        P                  P                  V4      RR7       \        \        P                  P                  V4      \        P                  P                  VRR7      RR7       \        \        P                  P                  V4      \        P                  ! R4      ,          \        P                  P                  VRR7      RR7       \        \        P                  P                  V4      R,          \        P                  P                  VRR7      RR7       R	# r¸   )r   r   r   r    r4   Úifftnrd   re   s   & r   Ú
test_ifftnÚTestFFT1D.test_ifftnç   s  € Ü�<Ó  2¬¨|Ó(<Õ#<Õ<ˆÜÜ�F‰F�K‰KœŸ™Ÿ™¤B§F¡F§K¡K°¸ KÓ$:À˜ÓCÈ!ˆKÓLÜ�F‰F�L‰L˜‹O $õ	(ô 	œŸ™Ÿ™ Q›ÜŸ™Ÿ™ Q¨Z˜Ó8¸tõ	EäœŸ™Ÿ™ Q›¬"¯'ª'°,Ó*?Õ?ÜŸ™Ÿ™ Q¨W˜Ó5¸Dõ	BäœŸ™Ÿ™ Q›¨?Õ;ÜŸ™Ÿ™ Q¨Y˜Ó7¸d÷	Dr   c                ó>  € \        ^4      pVP                  ^VP                  ,          3 EFm  pR	 F`  p\        \        P                  P	                  WVR7      RV^,          ^,            \        P                  P                  WVR7      RR7       Kb  	  \        \        P                  P                  WR7      \        P                  P                  WRR7      RR7       \        \        P                  P                  WR7      \        P                  ! V4      ,          \        P                  P                  WRR7      RR7       \        \        P                  P                  WR7      V,          \        P                  P                  WRR7      RR7       EKp  	  R# )
r\   Nr^   ra   rc   ©rC   r`   r]   r1   rB   ©Nr^   ra   rc   )r   Úsizer   r   r    r6   rd   )r!   r   rC   r`   s   &   r   Ú	test_rfftÚTestFFT1D.test_rfftó   s!  € Ü�2‹JˆØ—&‘&˜!˜aŸf™f�*Ô%ˆAÛ>�ÜÜ—F‘F—J‘J˜q¨D�JÓ1°-°A¸µF¸QµJÐ@Ü—F‘F—K‘K ¨T�KÓ2¸÷?ñ ?ô Ü—‘—‘˜A�Ó#Ü—‘—‘˜A¨�Ó4¸4õAô Ü—‘—‘˜A�Ó#¤b§g¢g¨a£jÕ0Ü—‘—‘˜A¨�Ó1¸õ>ô Ü—‘—‘˜A�Ó# aÕ'Ü—‘—‘˜A¨�Ó3¸$÷@ð @ó &r   c                óò   € \         P                  ! ^4      p^p\         P                  P                  W4      p\	        V\         P                  P                  VRV 4      RV^,          ^,            RR7       R# )é   Nç›+¡†›„=©rE   )r   r   r    r6   r   )r!   r   rC   rV   s   &   r   Útest_rfft_evenÚTestFFT1D.test_rfft_even  sT   € Ü�IŠI�a‹LˆØˆÜ�F‰F�K‰K˜ÓˆÜ˜œ2Ÿ6™6Ÿ:™: a¨¨ eÓ,¨[¨a°1­f°q­jÐ9À×Fr   c                óØ   € \         P                  ! . RO4      p\         P                  P                  V4      p\	        V\         P                  P                  V4      R,          RR7       R# )r   :Nr   NrË   rÌ   N)r   r   r   r   éýÿÿÿ)r   rG   r    r6   r   )r!   r   rV   s   &  r   Útest_rfft_oddÚTestFFT1D.test_rfft_odd
  s?   € Ü�HŠHÒ%Ó&ˆÜ�F‰F�K‰K˜‹NˆÜ˜œ2Ÿ6™6Ÿ:™: a›=¨Õ,°5×9r   c           
     ót  € \        ^4      p\        V\        P                  P	                  \        P                  P                  V4      4      RR7       \        V\        P                  P	                  \        P                  P                  VRR7      RR7      RR7       \        V\        P                  P	                  \        P                  P                  VRR7      RR7      RR7       \        V\        P                  P	                  \        P                  P                  VRR7      RR7      RR7       R# )r\   r]   r1   r^   r_   ra   rc   N)r   r   r   r    r5   r6   re   s   & r   Ú
test_irfftÚTestFFT1D.test_irfft  sÕ   € Ü�2‹JˆÜ˜œ2Ÿ6™6Ÿ<™<¬¯©¯©°A«Ó7¸dÕCÜ˜œ2Ÿ6™6Ÿ<™<¬¯©¯©°A¸J¨Ó(GØ'ð (ó )Ø/3õ	5ä˜œ2Ÿ6™6Ÿ<™<¬¯©¯©°A¸G¨Ó(DØ$ð (ó &Ø,0õ	2ä˜œ2Ÿ6™6Ÿ<™<¬¯©¯©°A¸I¨Ó(FØ&ð (ó (Ø.2÷	4r   c                óº  € \        R4      p\        \        P                  P	                  V4      R	,          \        P                  P                  V4      RR7       \        \        P                  P                  V4      \        P                  P                  VRR7      RR7       \        \        P                  P                  V4      \        P                  ! R
4      ,          \        P                  P                  VRR7      RR7       \        \        P                  P                  V4      R,          \        P                  P                  VRR7      RR7       R# )r\   r]   r1   r^   r_   ra   rc   Nr­   )r~   :Né   Nr®   r¯   )r   r   r   r    r°   Úrfft2rd   re   s   & r   Ú
test_rfft2ÚTestFFT1D.test_rfft2  sÏ   € Ü�8ÓˆÜœŸ™Ÿ™ A› vÕ.´·±·±¸Q³ÀdÕKÜœŸ™Ÿ™ Q›ÜŸ™Ÿ™ Q¨Z˜Ó8¸tõ	EäœŸ™Ÿ™ Q›¬"¯'ª'°'Ó*:Õ:ÜŸ™Ÿ™ Q¨W˜Ó5¸Dõ	BäœŸ™Ÿ™ Q›¨9Õ5ÜŸ™Ÿ™ Q¨Y˜Ó7¸d÷	Dr   c           
     ót  € \        R4      p\        V\        P                  P	                  \        P                  P                  V4      4      RR7       \        V\        P                  P	                  \        P                  P                  VRR7      RR7      RR7       \        V\        P                  P	                  \        P                  P                  VRR7      RR7      RR7       \        V\        P                  P	                  \        P                  P                  VRR7      RR7      RR7       R# )	r\   r]   r1   r^   r_   ra   rc   Nr­   )r   r   r   r    Úirfft2rØ   re   s   & r   Útest_irfft2ÚTestFFT1D.test_irfft2#  sÖ   € Ü�8ÓˆÜ˜œ2Ÿ6™6Ÿ=™=¬¯©¯©°a«Ó9ÀÕEÜ˜œ2Ÿ6™6Ÿ=™=¬¯©¯©°a¸j¨Ó)IØ'ð )ó )Ø/3õ	5ä˜œ2Ÿ6™6Ÿ=™=¬¯©¯©°a¸g¨Ó)FØ$ð )ó &Ø,0õ	2ä˜œ2Ÿ6™6Ÿ=™=¬¯©¯©°a¸i¨Ó)HØ&ð )ó (Ø.2÷	4r   c           
     óT  € \        R
4      p\        \        P                  P	                  V4      R,          \        P                  P                  V4      RR7       \        \        P                  P                  V4      \        P                  P                  VRR7      RR7       \        \        P                  P                  V4      \        P                  ! R4      ,          \        P                  P                  VRR7      RR7       \        \        P                  P                  V4      R,          \        P                  P                  VRR7      RR7       \        P                  ! R4      p\        P                  P                  VRRR7      pVP                  R8X  g   Q h\        P                  P                  \        P                  P                  \        P                  P                  V^^(R7      ^ ^R7      ^ ^
R7      pVP                  R8X  g   Q h\        W#RR7       R	# )r\   r]   r1   r^   r_   ra   rc   )ÚaxesÚs)r
   rC   Nr¹   )r~   r~   :Né   Nrº   r»   )r   r   )r   r   r   )rr   rs   é(   )rr   é   )
r   r   r   r    r¼   Úrfftnrd   ÚonesÚshaper6   )r!   r   rv   ru   s   &   r   Ú
test_rfftnÚTestFFT1D.test_rfftn-  sn  € Ü�<Ó ˆÜœŸ™Ÿ™ A› xÕ0´"·&±&·,±,¸q³/ÈÕMÜœŸ™Ÿ™ Q›ÜŸ™Ÿ™ Q¨Z˜Ó8¸tõ	EäœŸ™Ÿ™ Q›¬"¯'ª'°,Ó*?Õ?ÜŸ™Ÿ™ Q¨W˜Ó5¸Dõ	BäœŸ™Ÿ™ Q›¨?Õ;ÜŸ™Ÿ™ Q¨Y˜Ó7¸dõ	Dô �GŠG�F‹OˆÜ—‘—‘˜a i°<�Ó@ˆØ�|‰|˜xÔ'Ð'Ð'Ü—6‘6—:‘:œbŸf™fŸj™j¬¯©¯©°Q¸QÀ"¨Ó)EØ!" bð )ó *Ø01°Rð ó 9ˆà�~‰~ Ô)Ð)Ð)Ü˜¨t×4r   c           
     ót  € \        R4      p\        V\        P                  P	                  \        P                  P                  V4      4      RR7       \        V\        P                  P	                  \        P                  P                  VRR7      RR7      RR7       \        V\        P                  P	                  \        P                  P                  VRR7      RR7      RR7       \        V\        P                  P	                  \        P                  P                  VRR7      RR7      RR7       R# )	r\   r]   r1   r^   r_   ra   rc   Nr¹   )r   r   r   r    Úirfftnrå   re   s   & r   Útest_irfftnÚTestFFT1D.test_irfftn?  sÖ   € Ü�<Ó ˆÜ˜œ2Ÿ6™6Ÿ=™=¬¯©¯©°a«Ó9ÀÕEÜ˜œ2Ÿ6™6Ÿ=™=¬¯©¯©°a¸j¨Ó)IØ'ð )ó )Ø/3õ	5ä˜œ2Ÿ6™6Ÿ=™=¬¯©¯©°a¸g¨Ó)FØ$ð )ó &Ø,0õ	2ä˜œ2Ÿ6™6Ÿ=™=¬¯©¯©°a¸i¨Ó)HØ&ð )ó (Ø.2÷	4r   c                óŽ  € \        ^4      R\        ^4      ,          ,           p\        P                  ! \        ^4      V\        ^4      34      p\        P                  ! W!RRR
1,          P                  4       34      p\	        \        P
                  P                  V4      \        P
                  P                  V4      RR7       \	        \        P
                  P                  V4      \        P
                  P                  VRR7      RR7       \	        \        P
                  P                  V4      \        P                  ! ^4      ,          \        P
                  P                  VRR7      RR7       \	        \        P
                  P                  V4      R,          \        P
                  P                  VR	R7      RR7       R# )é   r0   Nr]   r1   r^   r_   ra   rb   rc   r   )r   r   rI   Úconjr   r    Úhfftrd   ©r!   r   Úx_herms   &  r   Ú	test_hfftÚTestFFT1D.test_hfftI  s  € Ü�2‹J˜œf R›j�Õ(ˆÜ—’¤¨£¨A¬v°a«yÐ 9Ó:ˆÜ�NŠN˜F¡d¨ d¥G§L¡L£NÐ3Ó4ˆÜœŸ™Ÿ
™
 1›¤r§v¡v§{¡{°6Ó':ÀÕFÜœŸ™Ÿ™ FÓ+ÜŸ™Ÿ™ F°˜Ó<À4õ	IäœŸ™Ÿ™ FÓ+¬b¯gªg°b«kÕ9ÜŸ™Ÿ™ F°˜Ó9Àõ	FäœŸ™Ÿ™ FÓ+¨cÕ1ÜŸ™Ÿ™ F°˜Ó;À$÷	Hr   c           
     óV  € \        ^4      R\        ^4      ,          ,           p\        P                  ! \        ^4      V\        ^4      34      p\        P                  ! W!RRR	1,          P                  4       34      p\	        V\        P
                  P                  \        P
                  P                  V4      4      RR7       \	        V\        P
                  P                  \        P
                  P                  VRR7      RR7      RR7       \	        V\        P
                  P                  \        P
                  P                  VRR7      RR7      RR7       \	        V\        P
                  P                  \        P
                  P                  VRR7      RR7      RR7       R# )
rï   r0   Nr]   r1   r^   r_   ra   rc   r   )r   r   rI   rð   r   r    Úihfftrñ   rò   s   &  r   Ú
test_ihfftÚTestFFT1D.test_ihfftU  s4  € Ü�2‹J˜œf R›j�Õ(ˆÜ—’¤¨£¨A¬v°a«yÐ 9Ó:ˆÜ�NŠN˜F¡d¨ d¥G§L¡L£NÐ3Ó4ˆÜ˜¤§¡§¡¬R¯V©V¯[©[¸Ó-@Ó AÈÕMÜ˜¤§¡§¡¬R¯V©V¯[©[¸Ø'ð .9ó .)Ø/9ð !-ó !;ØAEõ	Gä˜¤§¡§¡¬R¯V©V¯[©[¸Ø$ð .9ó .&Ø,3ð !-ó !5Ø;?õ	Aä˜¤§¡§¡¬R¯V©V¯[©[¸Ø&ð .9ó .(Ø.7ð !-ó !9Ø?C÷	Er   Úopc                óÄ   € \        R4      p. ROpV FJ  pV! \        P                  ! W$4      4      p\        P                  ! V! W$R7      V4      p\        WVRR7       KL  	  R# )r\   ©rà   r]   r1   Nr¹   )©r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   rh   r   )r!   rú   r   rà   ÚaÚop_trÚtr_ops   &&     r   Ú	test_axesÚTestFFT1D.test_axesa  sN   € ô �<Ó ˆÚQˆÛˆAÙ”r—|’| AÓ)Ó*ˆEÜ—L’L¡ A¤°Ó2ˆEÜ˜E¨t×4ó r   c                óŠ   € \         P                  ! ^d4      P                  ^
^
4      pV! VRRR7      P                  R8X  g   Q hR# )éd   ©rá   rà   N©r   r�   ©r   r   )rr   r�   )r   r   r   rç   ©r!   rú   r   s   && r   Útest_s_negative_1ÚTestFFT1D.test_s_negative_1k  s;   € ô �IŠI�c‹N×"Ñ" 2 rÓ*ˆá�!�w VÔ,×2Ñ2°gÔ=Ð=Ò=r   c                óÞ   € \         P                  ! ^d4      P                  ^
^
4      p\        P                  ! RR7      ;_uu_ 4        V! VRR7       RRR4       R#   + '       g   i     R# ; i)r  ú"`axes` should not be `None` if `s`rž   )rá   Nr  ©r   r   r   r¢   Úwarnsr  s   && r   Útest_s_axes_noneÚTestFFT1D.test_s_axes_noner  sH   € ô �IŠI�c‹N×"Ñ" 2 rÓ*ˆÜ�\Š\Ð D×EÖEÙˆq�GÕ÷ F×E×EÒEús   ÁAÁA,	c                óà   € \         P                  ! ^d4      P                  ^
^
4      p\        P                  ! RR7      ;_uu_ 4        V! VRRR7       RRR4       R#   + '       g   i     R# ; i)r  r  rž   Nr  r  r  r  s   && r   Útest_s_axes_none_2DÚTestFFT1D.test_s_axes_none_2Dy  sH   € ä�IŠI�c‹N×"Ñ" 2 rÓ*ˆÜ�\Š\Ð D×EÖEÙˆq�G $Õ'÷ F×E×EÒEús   ÁAÁA-	c                óª   € \        R4      p\        P                  ! RR7      ;_uu_ 4        V! VRRR7       RRR4       R#   + '       g   i     R# ; i)r\   z%array containing `None` values to `s`rž   Nr  r¹   )rr   Nrr   rý   )r   r¢   r  r  s   && r   Útest_s_contains_noneÚTestFFT1D.test_s_contains_none  s:   € ô �<Ó ˆÜ�\Š\Ð G×HÖHÙˆq�N¨Õ3÷ I×H×HÒHús   «AÁA	c           	     ó¨  € \        ^4      p\        P                  P                  V4      pVP                  ^,          p\        P
                  P
                  \        P
                  P                  3\        P
                  P                  \        P
                  P                  3\        P
                  P                  \        P
                  P                  3.pV Fs  w  rVVP                  ^VP                  ,          3 FK  pR FB  pV! WVR7      pV! WƒVR7      p\        V\        P                  P                  V4      RR7       KD  	  KM  	  Ku  	  R# )r\   NrÄ   r]   r1   rÅ   )r   r   Úlinalgr`   rÆ   r    r4   r6   r5   r÷   rñ   r   )	r!   r   Úx_normrC   Ú
func_pairsÚforwÚbackr`   Útmps	   &        r   Útest_all_1d_norm_preservingÚ%TestFFT1D.test_all_1d_norm_preserving‡  sä   € ä�2‹JˆÜ—‘—‘ Ó"ˆØ�F‰F�Q�JˆÜ—v‘v—z‘z¤2§6¡6§;¡;Ð/Ü—v‘v—{‘{¤B§F¡F§L¡LÐ1ô —v‘v—|‘|¤R§V¡V§[¡[Ð1ð	ˆ
ó %‰JˆDØ—f‘f˜a !§&¡&�jÓ)�ÛB�DÙ˜q¨DÔ1�CÙ˜s¨dÔ3�CÜ# FÜ$&§I¡I§N¡N°3Ó$7¸d÷Dó Có *ó %r   rà   c                ó  a€ V3R  lpV\         J dW   \        R4      R\        R4      ,          ,           p\        P                  P                  \        P                  P
                  rvM>\        R4      p\        P                  P                  \        P                  P                  rvV! WSR7      pV! V4      p	V! WYVR7      p
W©J g   Q h\        W¨4       V! WƒR7      pV\         J d   T	MV! V4      pV! WœVR7      pWÜJ g   Q h\        WÛ4       R# )c                 ó”   <€ S'       d+   \         P                  ! V P                  4      P                  # \         P                  ! V 4      # rk   rl   rn   s   &€r   rJ   Ú4TestFFT1D.test_fftn_out_argument.<locals>.zeros_likež  rp   r   r0   rü   )rq   rà   N©rr   r�   râ   )	rt   r   r   r    r¼   rÀ   rå   rë   r   )r!   r<   rh   rà   rJ   r   r    r4   ru   rq   rv   rw   rx   ry   s   &&f&          r   Útest_fftn_out_argumentÚ TestFFT1D.test_fftn_out_argumentš  sÐ   ø€ õ	(ð ”GÓÜ�zÓ" R¬&°Ó*<Õ%<Õ<ˆAÜŸ™Ÿ™¤R§V¡V§\¡\‘ä�zÓ"ˆAÜŸ™Ÿ™¤b§f¡f§m¡m�á�qÔ$ˆÙ˜Ó"ˆÙ�Q dÔ+ˆØ‹}Ðˆ}Ü˜6Ô,á˜Ô-ˆ	ØœwÓ&‰s©J°yÓ,AˆÙ�s¨4Ô0ˆØ‹ÐˆÜ˜7Ö.r   r    c           	     óÜ  € V\         P                  P                  J d   \        R4      pM"\        R4      R\        R4      ,          ,           p\        P
                  ! \        RR7      ;_uu_ 4        V! V\         P                  ! V4      R	R
R7       RRR4       RpV! W#R
R7      p\         P                  ! V4      pV! W#R
VR7      pWeJ g   Q h\        Wd4       R#   + '       g   i     LQ; i)rr   r0   r¡   rž   )rq   rá   rà   Nr  ©rá   rà   rq   r#  ©r   r   r   rý   )rr   r�   r�   )	r   r    rå   r   r¢   r£   r   rJ   r   )r!   r    r   rá   ru   rq   rv   s   &&     r   Útest_fftn_out_and_s_interactionÚ)TestFFT1D.test_fftn_out_and_s_interaction¸  s±   € ð ”"—&‘&—,‘,ÓÜ�zÓ"‰Aä�zÓ" R¬&°Ó*<Õ%<Õ<ˆAÜ�]Š]œ:Ð->×?Ö?Ù�”r—}’} QÓ'¨9¸9ÕE÷ @ð ˆÙ�q IÔ.ˆÜ�mŠm˜HÓ%ˆÙ�Q )°Ô5ˆØ‹}Ðˆ}Ü˜6Ö,÷ @×?ús   Á1!CÃC+	rá   c                ó   € \        R4      R\        R4      ,          ,           p\        P                  P                  W!RR7      p\        P                  ! V4      p\        P                  P                  W!RVR7      pWTJ g   Q h\        WS4       R# )é	   r0   r  r'  N)r,  r�   râ   r   rý   )r   r   r    rë   rJ   r   )r!   rá   r   ru   rq   rv   s   &&    r   Ú!test_irfftn_out_and_s_interactionÚ+TestFFT1D.test_irfftn_out_and_s_interactionÉ  sk   € ô �<Ó  2¬¨|Ó(<Õ#<Õ<ˆÜ—6‘6—=‘= ¨i�=Ó8ˆÜ�mŠm˜HÓ%ˆÜ—‘—‘˜q¨I¸3�Ó?ˆØ‹}Ðˆ}Ü˜6Ö,r   r$   r  )TFrÅ   )r  ©r   r   N)r,  r�   r�   r(  )5r%   r&   r'   r(   r:   r¢   ÚmarkÚparametrizer   ÚsingleÚdoubleÚ
longdoublerP   rY   rf   rt   r¥   rz   r›   r¦   r©   r±   rµ   r½   rÁ   rÇ   rÍ   rÑ   rÔ   rÙ   rÝ   rè   rì   rô   rø   r    r¼   rÀ   rå   rë   r  r°   r´   r	  r  r  r  r  r$  r)  r-  r)   r*   r+   s   @r   r.   r.      sÿ  ø‡ € ò1ð ‡[�[×Ñ˜W r§y¡y°"·)±)¸R¿]¹]Ð&KÓLñBó MðBð" ‡[�[×Ñ˜W r§y¡y°"·)±)¸R¿]¹]Ð&KÓLñEó MðEò.Bð ‡[�[×Ñ˜V VÓ,Ø‡[�[×Ñ˜W w°Ð&6Ó7Ø‡[�[×Ñ˜[¨-Ó8ñ/ó 9ó 8ó -ð/ð6 ‡[�[×Ñ˜V a¨ VÓ,ñ9/ó -ð9/òv=ð ‡[�[×Ñ˜VÐ%KÓLñ'ó Mð'ò	Cò	Dò
Cò
Dò@ò"Gò:ò
4òDò4ò5ò$4ò
Hò
Eð ‡[�[×Ñ˜T B§F¡F§K¡K°·±·±Ø$&§F¡F§L¡L°"·&±&·-±-ð$Aó Bñ5óBð5ð ‡[�[×Ñ˜T B§F¡F§K¡K°·±·±Ø$&§F¡F§K¡K°·±·±ð$?ó @ñ>ó@ð>ð
 ‡[�[×Ñ˜T B§F¡F§K¡K°·±·±Ø$&§F¡F§L¡L°"·&±&·-±-ð$Aó BñóBðð
 ‡[�[×Ñ˜T B§F¡F§K¡K°·±·±Ð#>Ó?ñ(ó @ð(ð
 ‡[�[×Ñ˜T B§F¡F§K¡K°·±·±Ø$&§F¡F§L¡L°"·&±&·-±-Ø$&§F¡F§K¡K°·±·±ð$?ó @ñ4ó@ð4ò
Dð& ‡[�[×Ñ˜VÒ%;Ó<Ø‡[�[×Ñ˜W w°Ð&6Ó7Ø‡[�[×Ñ˜[¨-Ó8ñ/ó 9ó 8ó =ð/ð6 ‡[�[×Ñ˜U R§V¡V§[¡[°"·&±&·,±,ÀÇÁÇÁÐ$MÓNñ-ó Oð-ð  ‡[�[×Ñ˜S 9¨iÐ"8Ó9ñ-ó :ö-r   r.   r<   ÚorderÚFznon-contiguousr    c                 óª  € \         P                  P                  ^*4      pVP                  ^^^4      P	                  V RR7      pR\         P
                  ! \         P                  ! VP                  4      4      ,          \         P                  ! VP                  4      P                  ,          pVR8X  d   \         P                  ! V4      pM,VRRR1,          p\         P                  ! VRRR1,          4      pVP                  P                  R4      '       d4   \        ^4       F"  pV! WGR7      pV! WgR7      p	\!        W‰WUR7       K$  	  R# VP                  P                  R4      '       dc   . ROp
VP                  P                  R	4      '       d   V
P#                  . RO4       V
 F"  pV! WKR
7      pV! WkR
7      p	\!        W‰WUR7       K$  	  R# \$        h)é*   F)rS   g       @r6  Nr    r	   rD   r¼   rü   r   )r°   r¼   )r  )r   r   r/  ))r   )r   )r   N)r   r   ÚRandomStateÚrandrH   rd   Úlog2rÆ   Úfinfor<   ÚepsÚasfortranarrayÚascontiguousarrayr%   Úendswithr3   r   Úextendr   )r<   r5  r    ÚrngÚXÚ_tolÚYr
   ÚX_resÚY_resrà   Úaxs   &&&         r   Útest_fft_with_orderrI  Õ  s]  € ô �)‰)×
Ñ
 Ó
#€CØ�‰��A�rÓ×!Ñ! %¨eÐ!Ó4€Aà”—’œŸš §¡›Ó)Õ)¬B¯HªH°Q·W±WÓ,=×,AÑ,AÕA€DØ�„|Ü×Ò˜aÓ ‰ð ‰d�ˆd�GˆÜ× Ò  ¡4 R 4¥Ó)ˆà
‡|�|×Ñ˜U×#Ò#Ü˜!–HˆDÙ˜Ô%ˆEÙ˜Ô%ˆEÜ˜E¨t×?ó ð 
�‰×	Ñ	Ð/×	0Ò	0Ú'ˆØ�<‰<× Ñ  ×(Ò(Ø�K‰KÒ0Ô1ÛˆBÙ˜”OˆEÙ˜”OˆEÜ˜E¨t×?ó ô
 Ðr   ÚCrC   c                 ó¸  € \         P                  P                  ^*4      pVP                  ^
4      p\         P                  ! V\         P
                  V R7      p\         P                  P                  W1R7      pVP                  P                  VP                  P                  8X  g   Q hVP                  P                  VP                  P                  8X  g   Q hR# )r8  )r<   r5  rB   N)
r   r   r9  r:  ÚasarrayÚ	complex64r    ÚflagsÚc_contiguousÚf_contiguous)r5  rC   rB  r   Úress   &&   r   Útest_fft_output_orderrR  ü  s“   € ô �)‰)×
Ñ
 Ó
#€CØ�‰�‹€AÜ
�
Š
�1œBŸL™L°Ô6€AÜ
�&‰&�*‰*�Qˆ*Ó
€CØ�9‰9×!Ñ! Q§W¡W×%9Ñ%9Ô9Ð9Ð9Ø�9‰9×!Ñ! Q§W¡W×%9Ñ%9Ô9Ð9Ò9r   zCannot start thread)Úreasonc                   óF   a € ] tR tRt o ^tR	tR tR tR tR t	R t
RtV tR# )
ÚTestFFTThreadSafei  c                óÈ  a€ V3R  lp\         P                  ! 4       pS! V!  p\        V P                  4       Uu. uF  p\        P
                  ! W2V3R7      NK  	  ppV Uu. uF  qˆP                  4       NK  	   pV Uu. uF  qˆP                  4       NK  	   p\        V P                  4       F   p\        VP                  ^R7      VR4       K"  	  R# u upi u upi u upi )c                 ó2   <€ VP                  S! V !  4       R # rk   )Úput)ÚargsÚqÚfuncs   &&€r   ÚworkerÚ.TestFFTThreadSafe._test_mtsame.<locals>.worker  s   ø€ Ø�E‰E‘$˜‘+Ör   )ÚtargetrY  )Útimeoutz6Function returned wrong value in multithreaded contextN)
ÚqueueÚQueuer3   ÚthreadsÚ	threadingÚThreadÚstartÚjoinr   Úget)	r!   r[  rY  r\  rZ  ru   r9   Útr   s	   &f*      r   Ú_test_mtsameÚTestFFTThreadSafe._test_mtsame  s½   ø€ õ	ô �KŠK‹MˆÙ˜‘;ˆô ˜DŸL™LÔ)ó+Ù)�ô ×Ò V¸°)×<Ù)ð 	
ð +áÓ™A�q�‰Ž™AÑáÓ™1�a�‰Ž™1Ñä�t—|‘|Ö$ˆAÜ˜qŸu™u¨Q˜uÓ/°ØHöJó %ùò+ùâùâs   º"CÁ"CÂ Cc                ó¶   € \         P                  ! V P                  4      ^,          R,           pV P                  \         P                  P                  V4       R# ©r   y                N)r   ræ   Úinput_shaperi  r    ©r!   rþ   s   & r   rf   ÚTestFFTThreadSafe.test_fft  s8   € Ü�GŠG�D×$Ñ$Ó%¨Õ)¨BÕ.ˆØ×Ñœ"Ÿ&™&Ÿ*™* aÖ(r   c                ó¶   € \         P                  ! V P                  4      ^,          R,           pV P                  \         P                  P
                  V4       R# rl  )r   ræ   rm  ri  r    r4   rn  s   & r   r©   ÚTestFFTThreadSafe.test_ifft!  s8   € Ü�GŠG�D×$Ñ$Ó%¨Õ)¨BÕ.ˆØ×Ñœ"Ÿ&™&Ÿ+™+ qÖ)r   c                óš   € \         P                  ! V P                  4      pV P                  \         P                  P
                  V4       R # rk   )r   ræ   rm  ri  r    r6   rn  s   & r   rÇ   ÚTestFFTThreadSafe.test_rfft%  s.   € Ü�GŠG�D×$Ñ$Ó%ˆØ×Ñœ"Ÿ&™&Ÿ+™+ qÖ)r   c                ó¶   € \         P                  ! V P                  4      ^,          R,           pV P                  \         P                  P
                  V4       R# rl  )r   ræ   rm  ri  r    r5   rn  s   & r   rÔ   ÚTestFFTThreadSafe.test_irfft)  s8   € Ü�GŠG�D×$Ñ$Ó%¨Õ)¨BÕ.ˆØ×Ñœ"Ÿ&™&Ÿ,™,¨Ö*r   r$   N)i   éÈ   )r%   r&   r'   r(   rb  rm  ri  rf   r©   rÇ   rÔ   r)   r*   r+   s   @r   rU  rU    s.   ø‡ € à€GØ€KòJò$)ò*ò*÷+ð +r   rU  c                  ó,  € \         P                  ! ^
4      p \         P                  P                  V ^R7       \         P                  P	                  V ^R7       \         P                  P                  \         P
                  ! ^ .\        4      ^
R7       R# )rr   rB   N)r   r   r    r5   rñ   rG   rt   )r   s    r   Útest_irfft_with_n_1_regressionrx  .  sX   € ä
�	Š	�"‹€AÜ‡F�F‡L�L��a€LÔÜ‡F�F‡K�K��Q€KÔÜ‡F�F‡L�L”—’˜1˜#œwÓ'¨2€LÖ.r   c                  óÈ   € \         P                  ! ^4      R,          p \         P                  P                  V ^
R7      p\         P                  ! . RO4      p\        W4       R# )r�   rB   Ny      ð?      ð?)
g      4@gk‹ á"Õ#@g�´§‰Ã'Àg$ pn]k@gÝìr¾–Àg      @gG&ƒÒ ÀgdèÆ�Ä¿gt =Mþ?gö@L>MÜ4À)r   r   r    rñ   rG   r   )r   rv   ru   s      r   Ú"test_irfft_with_n_large_regressionrz  6  sG   € ä
�	Š	�!‹˜Õ€AÜ�V‰V�[‰[˜˜bˆ[Ó!€FÜ�xŠxò 2ó 3€Hô �FÖ%r   ÚdatarA   c                 óˆ   € V! V 4      pV P                  \        P                  ! V R 4      4      pV! V4      p\        W$4       R# )r@   N)rH   r   Úresult_typer   )r{  r    rv   Ú
float_dataru   s   &&   r   Ú#test_fft_with_integer_or_bool_inputr  @  s7   € ñ �‹Y€FØ—‘œRŸ^š^¨D°"Ó5Ó6€JÙ�:‹€HÜ�vÖ(r   )Né   é   )FTF)(r`  rc  r¢   Únumpyr   Únumpy.randomr   Únumpy.testingr   r   r   r   r   r   r.   r0  r1  Úfloat32Úfloat64rM  Ú
complex128r    r°   r¼   r4   r´   rÀ   rI  rR  ÚskipifrU  rx  rz  r6   r5   rG   r   Úuint8Úint16r  r$   r   r   Ú<module>r‹     s  ðÛ Û ã ã Ý ß UÓ Uò-÷<ñ <÷z-ñ z-ðz ‡�×ÑØØ	�‰�R—Z‘Z §¡¨r¯}©}Ð=ó?ð ‡�×Ñ˜ 3Ð(8Ð"9Ó:Ø‡�×ÑØØ	�‰�‰�R—V‘V—[‘[ "§&¡&§+¡+Ø	�‰�‰�b—f‘f—l‘l B§F¡F§L¡Lð	2ó3ñó	3ó ;ó?ðð> ‡�×Ñ˜ 3¨ *Ó-Ø‡�×Ñ˜šmÓ,ñ:ó -ó .ð:ð ‡�×Ñ�GÐ$9ÐÓ:÷$+ð $+ó ;ð$+òN/ò&ð ‡�×Ñ˜Ø‡F�F‡J�J�—‘—‘˜RŸV™VŸ[™[¨"¯&©&¯,©,ð!ó ð ‡�×Ñ˜Ø‡H‚HÒ!Ó"Ø‡I‚Iˆb˜Ÿ™Ô!Ø‡I‚Iˆa�r—x‘xÔ ð"ó ñ
)óóò)r   