o
    iT                     @   s  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d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ejejej ej!ej"ej#ej$ej%gejd	d
dgdd Z&dd Z'dd Z(dd Z)dd Z*dd Z+dS )    fftNassert_allclosemodule)scopec                   C   s   t jddS )Ni      )nprandomZrandn r   r   r/var/www/html/eduruby.in/lip-sync/lip-sync-env/lib/python3.10/site-packages/scipy/fft/tests/test_multithreading.pyx	   s   r   funcworkers   c                 C   s&   || dd}|| |d}t || d S )N   r   r   )r   r   r   expectedactualr   r   r   test_threaded_same   s   	r   c                 C   s   t j | ddS )Nr   r   r   r   r   r   r   _mt_fft   s   r   c                    s|   t j  dd}td}|t fddtdD }W d    n1 s&w   Y  |D ]}t|| q-t j  dd d S )Nr   r   c                    s   g | ]} qS r   r   ).0_r   r   r   
<listcomp>&   s    z0test_mixed_threads_processes.<locals>.<listcomp>   )r   multiprocessingZPoolmapr   ranger   )r   expectpresrr   r   r   test_mixed_threads_processes    s    r$   c                 C   s   t  }tjdg| d tjtdd tj| dd W d    n1 s&w   Y  tjtdd tj| | d d W d    d S 1 sHw   Y  d S )Nr   r   workers must not be zeromatchr   workers value out of range)os	cpu_countr   ifftpytestraises
ValueError)r   cpusr   r   r   test_invalid_workers.   s   "r0   c               	   C   s   t  } t dksJ td5 t dksJ td t | ks(J W d    n1 s2w   Y  t dks?J W d    n1 sIw   Y  t dksVJ t|   t dkseJ W d    d S 1 spw   Y  d S )Nr   r   r   )r)   r*   r   Zget_workersset_workers)r/   r   r   r   test_set_get_workers:   s   "r2   c                	   C   s   t jtdd td W d    n1 sw   Y  W d    n1 s'w   Y  t jtdd+ tt  d  W d    n1 sIw   Y  W d    d S W d    d S 1 saw   Y  d S )Nr%   r&   r   r(   r   )r,   r-   r.   r   r1   r)   r*   r   r   r   r   test_set_workers_invalidK   s   "r3   ),Zscipyr   numpyr	   r,   Znumpy.testingr   r   r)   Zfixturer   markZparametrizer+   Zfft2Zifft2ZfftnZifftnZrfftZirfftZrfft2Zirfft2ZrfftnZirfftnZhfftZihfftZhfft2Zihfft2ZhfftnZihfftndctZidctZdctnZidctndstZidstZdstnZidstnr   r   r$   r0   r2   r3   r   r   r   r   <module>   s,    

