Ë
    âQ(hG$  ã                   óÈ  — d dl Zd dlmZmZ d dlZd dlZd dlmZm	Z	m
Z
mZmZmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZmZ eej0                  j3                  d«      gZej0                  j6                  Z ej8                  d«      Z ed	¬
«      ej0                  j=                  dee	feefg«      ej0                  j=                  dg d¢«      ej0                  j=                  dg d¢«      ej0                  j=                  dd dg«      ej0                  j=                  dg d¢«      ej0                  j=                  ddd	g«      d„ «       «       «       «       «       «       «       Z ed	d¬«      ej0                  j=                  dee	feefg«      ej0                  j=                  dg d¢«      ej0                  j=                  dej@                  ejB                  ejD                  ejF                  ejH                  g«      ej0                  j=                  dd dg«      ej0                  j=                  dg d¢«      ej0                  j=                  dd	dg«      d„ «       «       «       «       «       «       «       Z% ed	¬
«      ej0                  j=                  de
efeefg«      ej0                  j=                  dg d¢«      ej0                  j=                  dg d¢«      ej0                  j=                  dg d¢«      ej0                  j=                  ddd	g«      d„ «       «       «       «       «       «       Z& ed	d¬«      ej0                  j=                  de
efeefg«      ej0                  j=                  dg d¢«      ej0                  j=                  dg d¢«      ej0                  j=                  dej@                  ejB                  ejD                  ejF                  ejH                  g«      ej0                  j=                  dg d¢«      ej0                  j=                  ddd	g«      d „ «       «       «       «       «       «       «       Z' ed	¬
«      ej0                  j=                  d!g d"¢«      ej0                  j=                  dg d¢«      ej0                  j=                  dg d¢«      d#„ «       «       «       «       Z( ed	¬
«      ej0                  j=                  d!eee
eg«      ej0                  j=                  dg d¢«      d$„ «       «       «       Z) ed	¬
«      ej0                  j=                  dg d%¢«      ej0                  j=                  d&ed'fedfed'fg«      d(„ «       «       «       Z* ed)d*d	¬+«      ej0                  j=                  dg d%¢«      d,„ «       «       Z+ ed)d*d	¬+«      ej0                  j=                  dg d%¢«      ej0                  j=                  d!eeg«      d-„ «       «       «       Z, ed)d*d	¬+«      ej0                  j=                  dg d%¢«      ej0                  j=                  d!eeg«      d.„ «       «       «       Z- ed	d/¬«      ej0                  j=                  d!ee	e
eeeeeg«      d0„ «       «       Z.y)1é    N)Úassert_allcloseÚassert_array_equal)ÚdctÚidctÚdctnÚidctnÚdstÚidstÚdstnÚidstn)Úfftpack)Úarray_api_compatible)Úxp_copyÚxp_assert_closeÚskip_xp_backendsé   T)Úcpu_onlyzforward, backwardÚtype)é   r   é   é   Ún)r   r   r   é   é
   é   Úaxisr   Únorm)NÚbackwardÚorthoÚforwardÚorthogonalizeFc                 ól  — |j                  t        j                  j                  ||«      «      } | |||||¬«      }	 ||	||||¬«      }
t	        |
|«       dgdz  }d||<   |j                  t        j
                  t        j                   |	«      |d¬«      «      } |||||||¬«      }t	        ||«       y )N)r   r   r!   ©r   r   r   ©r   r   Úedge©Úmode©r!   )ÚasarrayÚnpÚrandomÚrandr   Úpad)r    r   r   r   r   r   r!   ÚxpÚxÚyÚzr-   Úy2Úz2s                 úb/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/fft/tests/test_real_transforms.pyÚtest_identity_1dr5      s¤   € ð 	�
‰
”2—9‘9—>‘> ! QÓ'Ó(€Aá��4˜d¨¸]ÔK€AÙ��D˜t¨$¸mÔL€AÜ�A�qÔàˆ(�Q‰,€CØ€Cˆ�Ià	�‰”B—F‘Fœ2Ÿ:™: a›=¨#°FÔ;Ó	<€BÙ	�"�d˜A˜t T¸Ô	G€BÜ�B˜Õó    z/`overwrite_x` only supported for NumPy backend.)Únp_onlyÚreasonÚdtypeÚoverwrite_xc                 óH  — t         j                  j                  dd«      j                  |«      }|j	                  «       } | |||||¬«      }	|	j	                  «       }
 ||	||||¬«      }|s(t        ||dd¬«       t        ||«       t        |	|
«       y t        ||dd¬«       y )Né   é   )r   r   r:   ç�íµ ÷Æ°>©ÚrtolÚatol)r*   r+   r,   ÚastypeÚcopyr   r   )r    r   r   r9   r   r   r:   r/   Úx_origr0   Úy_origr1   s               r4   Útest_identity_1d_overwriterF   -   s�   € ô 	�	‰	�‰�q˜!Ó×#Ñ# EÓ*€AØ�V‰V‹X€Fá��4˜d¨¸;ÔG€AØ�V‰V‹X€FÙ��D˜t¨$¸KÔH€AÙÜ˜˜1 4¨dÕ3Ü˜1˜fÔ%Ü˜1˜fÕ%ä˜˜6¨°4Ö8r6   zshape, axes)	)©r   r   r   )rG   r   )rG   N)rG   ©r   r   )©r   é   N)rI   rH   )©r   r   é   N)rK   r   )rK   )r   r   c                 ó.  — |j                  t        j                  j                  |«      «      }|�t        j                  ||«      } | |||||¬«      }	 ||	||||¬«      }
t	        |
|«       |€dg|j
                  z  }nBt        |t        «      rdg|j
                  z  }d||<   ndg|j
                  z  }|D ]  }d||<   Œ	 |j                  t        j                  t        j                   |	«      |d¬«      «      } |||||||¬«      }t	        ||«       y )N)Úaxesr   r!   r$   r#   r%   r&   r(   )	r)   r*   r+   Útaker   ÚndimÚ
isinstanceÚintr-   )r    r   r   ÚshaperN   r   r!   r.   r/   r0   r1   r-   Úar2   r3   s                  r4   Útest_identity_ndrU   G   s  € ð* 	�
‰
”2—9‘9×#Ñ# EÓ*Ó+€AàÐÜ—‘˜˜tÓ$ˆá��4˜d¨¸]ÔK€AÙ��D˜t¨$¸mÔL€AÜ�A�qÔà€|Øˆh˜Ÿ™Ñ‰Ü	�Dœ#Ô	Øˆh˜Ÿ™ÑˆØˆˆDŠ	àˆh˜Ÿ™Ñˆàò 	ˆAØˆC�ŠFð	ð 
�‰”B—F‘Fœ2Ÿ:™: a›=¨#°FÔ;Ó	<€BÙ	�"�d˜E 4¨¸]Ô	K€BÜ�B˜Õr6   ))©r   r   r   )rV   r   )rV   Nc                 ór  — t         j                  j                  |«      j                  |«      }|j                  «       }	|�t        j                  ||«      } | ||||¬«      }
|
j                  «       } ||
|||¬«      }|rt        ||	dd¬«       y t        ||dd¬«       t        ||	«       t        |
|«       y )N)rN   r   r>   r?   )r*   r+   rB   rC   rO   r   r   )r    r   r   rS   rN   r9   r   r:   r/   rD   r0   rE   r1   s                r4   Útest_identity_nd_overwriterX   v   s¢   € ô$ 	�	‰	×Ñ˜Ó×&Ñ& uÓ-€AØ�V‰V‹X€FàÐÜ—‘˜˜tÓ$ˆá��4˜d¨Ô.€AØ�V‰V‹X€FÙ��D˜t¨$Ô/€AÙÜ˜˜6¨°4Ö8ä˜˜1 4¨dÕ3Ü˜1˜fÔ%Ü˜1˜fÕ%r6   Úfunc)r   r	   r   r   c                 ó   — t         j                  j                  dd«      }|j                   t	        t
        | «      |||¬«      «      }|j                  |«      } t	        t        | «      |||¬«      }t        ||«       y )Nr=   r   )r   )r*   r+   r,   r)   Úgetattrr   Úfftr   )rY   r   r   r.   r/   Úfftpack_resÚfft_ress          r4   Útest_fftpack_equivaliencer_   ™   sg   € ô
 	�	‰	�‰�q˜"Ó€AØ—*‘*Ð3œW¤W¨dÓ3°A°tÀ$ÔGÓH€KØ
�
‰
�1‹€AØ Œg”c˜4Ó   D¨tÔ4€Gä�G˜[Õ)r6   c                 óº   — |j                  t        j                  j                  d«      «      }dD ](  \  }} | ||||¬«      } | |||¬«      }t	        ||«       Œ* y )Néd   ))r    F)r   F)r   T©r   r   r!   )r   r   ©r)   r*   r+   r,   r   )rY   r   r.   r/   r   r   rT   Úbs           r4   Útest_orthogonalize_defaultre   ¦   s^   € ð
 	�
‰
”2—9‘9—>‘> #Ó&Ó'€Aðò ‰ˆˆeñ
 �˜ D¸Ô>ˆÙ�˜ DÔ)ˆÜ˜˜1Õñr6   )r   r   r    z
func, typer   c                 ó¨   — |j                  t        j                  j                  d«      «      } | |||d¬«      } | |||d¬«      }t	        ||«       y )Nra   Trb   Frc   )rY   r   r   r.   r/   Úy1r2   s          r4   Útest_orthogonalize_nooprh   ·   sI   € ð 	�
‰
”2—9‘9—>‘> #Ó&Ó'€AÙ	ˆa�d °TÔ	:€BÙ	ˆa�d °UÔ	;€BÜ�B˜Õr6   z	jax.numpyz)jax arrays do not support item assignment)r8   r   c                 óV  — |j                  t        j                  j                  d«      «      }t	        ||¬«      }|dxx   t
        z  cc<   |dxx   t
        z  cc<   t        |d| d¬«      }t        |d| d¬«      }|dxx   t
        z  cc<   |dxx   t
        z  cc<   t        ||«       y )	Nra   ©r.   r   éÿÿÿÿr   Trb   F)r)   r*   r+   r,   r   ÚSQRT_2r   r   )r   r.   r/   Úx2rg   r2   s         r4   Útest_orthogonalize_dct1rn   Ã   s‹   € ð
 	�
‰
”2—9‘9—>‘> #Ó&Ó'€Aä	��rÔ	€BØ€qƒEŒV�OƒEØ€rƒFŒfÑƒFä	ˆQ�Q˜T°Ô	6€BÜ	ˆR�a˜d°%Ô	8€Bà€qƒEŒV�OƒEØ€rƒFŒfÑƒFÜ�B˜Õr6   c                 óà   — |j                  t        j                  j                  d«      «      } | |d|d¬«      } | |d|d¬«      }|| t        k(  rdndxx   t
        z  cc<   t        ||«       y )Nra   r   Trb   Fr   rk   )r)   r*   r+   r,   r   rl   r   )rY   r   r.   r/   rg   r2   s         r4   Útest_orthogonalize_dcst2rp   Ö   sa   € ð 	�
‰
”2—9‘9—>‘> #Ó&Ó'€AÙ	ˆa�a˜d°$Ô	7€BÙ	ˆa�a˜d°%Ô	8€BàˆD”CŠK�q˜RÓ ¤FÑ*Ó Ü�B˜Õr6   c                 óú   — |j                  t        j                  j                  d«      «      }t	        ||¬«      }|| t
        k(  rdndxx   t        z  cc<    | |d|d¬«      } | |d|d¬«      }t        ||«       y )	Nra   rj   r   rk   r   Trb   F)r)   r*   r+   r,   r   r   rl   r   )rY   r   r.   r/   rm   rg   r2   s          r4   Útest_orthogonalize_dcst3rr   ä   sm   € ð 	�
‰
”2—9‘9—>‘> #Ó&Ó'€AÜ	��rÔ	€BØˆD”CŠK�q˜RÓ ¤FÑ*Ó á	ˆa�a˜d°$Ô	7€BÙ	ˆb�q˜t°5Ô	9€BÜ�B˜Õr6   z,array-likes only supported for NumPy backendc                 ó€   — ddgddggddgddggddgddggg}t         ||«       || j                  |«      «      «       y )Ng      ð?)r   r)   )r.   rY   r/   s      r4   Útest_array_likert   ò   sX   € ð �ˆ*�s˜C�jÐ	!Ø�ˆ*�s˜C�jÐ	!Ø�ˆ*�s˜C�jÐ	!ð	#€Aô ‘D˜“G™T "§*¡*¨Q£-Ó0Õ1r6   )/Únumpyr*   Únumpy.testingr   r   ÚpytestÚmathÚ	scipy.fftr   r   r   r   r	   r
   r   r   r\   Úscipyr   Úscipy.conftestr   Úscipy._lib._array_apir   r   ÚmarkÚusefixturesÚ
pytestmarkr   Úsqrtrl   Úparametrizer5   Úfloat16Úfloat32Úfloat64Ú	complex64Ú
complex128rF   rU   rX   r_   re   rh   rn   rp   rr   rt   © r6   r4   ú<module>rˆ      s)  ðÛ ß =Û Û ç D× DÓ DÝ Ý Ý /ß :à" F§K¡K×$;Ñ$;Ð<NÓ$OÐP€
Ø—;‘;×/Ñ/Ð à	ˆ�‰�1‹€ñ ˜4Ô Ø‡�×ÑÐ,°°T¨{¸SÀ$¸KÐ.HÓIØ‡�×Ñ˜¢Ó.Ø‡�×Ñ˜Ò2Ó3Ø‡�×Ñ˜ ! Q Ó(Ø‡�×Ñ˜Ò!GÓHØ‡�×Ñ˜¨5°$¨-Ó8ñó 9ó Ió )ó 4ó /ó Jó !ðñ  ˜$ØJôLà‡�×ÑÐ,°°T¨{¸SÀ$¸KÐ.HÓIØ‡�×Ñ˜¢Ó.Ø‡�×Ñ˜ 2§:¡:¨r¯z©z¸2¿:¹:Ø#%§<¡<°·±ð#@ó Aà‡�×Ñ˜ ! Q Ó(Ø‡�×Ñ˜Ò!GÓHØ‡�×Ñ˜¨¨u¨Ó6ñ9ó 7ó Ió )óAó /ó JóLð9ñ" ˜4Ô Ø‡�×ÑÐ,°°e¨}¸tÀU¸mÐ.LÓMØ‡�×Ñ˜¢Ó.Ø‡�×Ñ˜ò
óð ‡�×Ñ˜Ò!GÓHØ‡�×Ñ˜¨5°$¨-Ó8ñó 9ó Ióó /ó Nó !ð"ñ< ˜$ØJôLà‡�×ÑÐ,°°e¨}¸tÀU¸mÐ.LÓMØ‡�×Ñ˜¢Ó.Ø‡�×Ñ˜òóð ‡�×Ñ˜ 2§:¡:¨r¯z©z¸2¿:¹:Ø#%§<¡<°·±ð#@ó Aà‡�×Ñ˜Ò!GÓHØ‡�×Ñ˜¨°¨Ó6ñ&ó 7ó IóAóó /ó NóLð&ñ* ˜4Ô Ø‡�×Ñ˜Ò!?Ó@Ø‡�×Ñ˜¢Ó.Ø‡�×Ñ˜Ò!GÓHñ*ó Ió /ó Aó !ð*ñ ˜4Ô Ø‡�×Ñ˜ # s¨D°$Ð!7Ó8Ø‡�×Ñ˜¢Ó.ñó /ó 9ó !ðñ ˜4Ô Ø‡�×Ñ˜Ò!AÓBØ‡�×Ñ˜Øˆ!€Hˆs�Aˆh˜˜a˜ð("ó #ñó#ó Có !ðñ �+ØDØô!ð ‡�×Ñ˜Ò!AÓBñó Có!ðñ �+ØDØô!ð ‡�×Ñ˜Ò!AÓBØ‡�×Ñ˜ # s Ó,ñó -ó Có!ð
ñ �+ØDØô!ð ‡�×Ñ˜Ò!AÓBØ‡�×Ñ˜ # s Ó,ñó -ó Có!ð
ñ ˜$ØGôIà‡�×Ñ˜ # t¨T°5¸#¸tÀTÈ5Ð!QÓRñ2ó SóIñ2r6   