Ë
    qwjf  ã                   ó€  — d dl mZ d dlZd dlZd dlmZ d dlZd dlZ ej                  d¬«      d„ «       Z
ej                  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j0                  ej2                  ej4                  ej6                  ej8                  ej:                  ej<                  ej>                  ej@                  ejB                  ejD                  ejF                  ejH                  ejJ                  g«      ej                  j                  dd	d
g«      d„ «       «       Z&d„ Z'ej                  jP                  d„ «       Z)d„ Z*d„ Z+d„ Z,y)é    ©ÚfftN©Úassert_allcloseÚmodule)Úscopec                  óB   — t         j                  j                  dd«      S )Ni   é€   )ÚnpÚrandomÚrandn© ó    úh/var/www/html/newmanjeet/manjet/venv/lib/python3.12/site-packages/scipy/fft/tests/test_multithreading.pyÚxr   	   s   € ä�9‰9�?‰?˜3 Ó$Ð$r   ÚfuncÚworkersé   éÿÿÿÿc                 óD   —  || d¬«      } || |¬«      }t        ||«       y )Né   ©r   r   )r   r   r   ÚexpectedÚactuals        r   Útest_threaded_samer      s&   € ñ �A˜qÔ!€HÙ�!˜WÔ%€FÜ�F˜HÕ%r   c                 ó0   — t        j                   | d¬«      S )Nr   r   r   )r   s    r   Ú_mt_fftr      s   € Ü�7‰7�1˜aÔ Ð r   c                 ó>  — t        j                   | d¬«      }t        j                  d«      5 }|j                  t        t        d«      D �cg c]  }| ‘Œ c}«      }d d d «       D ]  }t        ||«       Œ t        j                   | d¬«       y c c}w # 1 sw Y   Œ9xY w)Nr   r   é   )r   ÚmultiprocessingÚPoolÚmapr   Úranger   )r   ÚexpectÚpÚ_ÚresÚrs         r   Útest_mixed_threads_processesr)       s€   € ô �W‰W�Q Ô"€Fä	×	Ñ	˜aÔ	  AØ�e‰e”G¬¨q¬Ó2© Aša¨Ñ2Ó3ˆ÷ 
!ó ˆÜ˜˜6Õ"ð ô ‡G�GˆA�qÖùò 3÷ 
!Ð	 ús   ­BÁ	BÁBÂBÂBc                 ó‚  — t        j                  «       }t        j                  dg| ¬«       t	        j
                  t        d¬«      5  t        j                  | d¬«       d d d «       t	        j
                  t        d¬«      5  t        j                  | | dz
  ¬«       d d d «       y # 1 sw Y   ŒIxY w# 1 sw Y   y xY w)Nr   r   úworkers must not be zero©Úmatchr   úworkers value out of range)ÚosÚ	cpu_countr   ÚifftÚpytestÚraisesÚ
ValueError)r   Úcpuss     r   Útest_invalid_workersr6   /   s„   € Ü�<‰<‹>€Dä‡H�HˆaˆS˜4˜%Õ ä	�‰”zÐ)CÖ	DÜ�‰�˜1Õ÷ 
Eô 
�‰”zÐ)EÖ	FÜ�‰�˜T˜E !™GÕ$÷ 
GÐ	F÷ 
EÐ	Dú÷ 
GÐ	Fús   Á	B)ÂB5Â)B2Â5B>c                  ó\  — t        j                  «       } t        j                  «       dk(  sJ ‚t        j                  d«      5  t        j                  «       dk(  sJ ‚t        j                  d«      5  t        j                  «       | k(  sJ ‚	 d d d «       t        j                  «       dk(  sJ ‚	 d d d «       t        j                  «       dk(  sJ ‚t        j                  |  «      5  t        j                  «       dk(  sJ ‚	 d d d «       y # 1 sw Y   Œ~xY w# 1 sw Y   ŒhxY w# 1 sw Y   y xY w)Nr   r   r   )r/   r0   r   Úget_workersÚset_workers)r5   s    r   Útest_set_get_workersr:   ;   sâ   € Ü�<‰<‹>€DÜ�?‰?Ó Ò!Ð!Ð!Ü	�‰˜Õ	Ü�‰Ó  AÒ%Ð%Ð%ä�_‰_˜RÕ Ü—?‘?Ó$¨Ò,Ð,Ñ,÷ !ô �‰Ó  AÒ%Ð%Ñ%÷ 
ô �?‰?Ó Ò!Ð!Ð!ä	�‰˜$˜Õ	Ü�‰Ó  AÒ%Ð%Ñ%÷ 
 Ð	÷ !Ð ú÷ 
Ð	ú÷ 
 Ð	ús0   Á/DÁ2D
Â!DÃ&D"Ä
D	ÄDÄDÄ"D+c                  óœ  — t        j                  t        d¬«      5  t        j                  d«      5  	 d d d «       d d d «       t        j                  t        d¬«      5  t        j                  t        j                  «        dz
  «      5  	 d d d «       d d d «       y # 1 sw Y   ŒkxY w# 1 sw Y   ŒoxY w# 1 sw Y   Œ*xY w# 1 sw Y   y xY w)Nr+   r,   r   r.   r   )r2   r3   r4   r   r9   r/   r0   r   r   r   Útest_set_workers_invalidr<   L   sŒ   € ä	�‰”zÐ)CÖ	DÜ�_‰_˜QÕØ÷  ÷ 
Eô 
�‰”zÐ)EÖ	FÜ�_‰_œbŸl™l›n˜_¨QÑ.Õ/Ø÷ 0÷ 
GÐ	F÷  Ðú÷ 
EÐ	Dú÷
 0Ð/ú÷ 
GÐ	FúsE   œB*²B´B*Á,CÂB6ÂCÂB'	Â#B*Â*B3Â6B?	Â;CÃC)-Úscipyr   Únumpyr   r2   Únumpy.testingr   r    r/   Úfixturer   ÚmarkÚparametrizer1   Úfft2Úifft2ÚfftnÚifftnÚrfftÚirfftÚrfft2Úirfft2ÚrfftnÚirfftnÚhfftÚihfftÚhfft2Úihfft2ÚhfftnÚihfftnÚdctÚidctÚdctnÚidctnÚdstÚidstÚdstnÚidstnr   r   Úslowr)   r6   r:   r<   r   r   r   Ú<module>r\      sR  ðÝ Û Û Ý )Û Û 	ð €‡��hÔñ%ó  ð%ð ‡�×Ñ˜Ø‡G�GˆS�X‰X�s—x‘x §¡¨C¯H©H°c·i±iØ‡H�Hˆc�i‰i˜Ÿ™ C§J¡J°·	±	¸3¿:¹:Ø‡H�Hˆc�i‰i˜Ÿ™ C§J¡J°·	±	¸3¿:¹:Ø‡G�GˆS�X‰X�s—x‘x §¡Ø‡G�GˆS�X‰X�s—x‘x §¡ð"ó ð ‡�×Ñ˜ Q¨ GÓ,ñ&ó -óð&ò!ð ‡�×Ññó ðò	%ò&ó"r   