L ifddlmZddlZddlZddlmZddlZddlZejddZ ejjdejejejejej ej"ej$ej&ej(ej*ej,ej.ej0ej2ej4ej6ej8ej:ej<ej>ej@ejBejDejFejHejJgejjdd d gd Z&d Z'ejjPd Z)dZ*dZ+dZ,y)fftNassert_allclosemodule)scopecBtjjddS)Ni)nprandomrandni/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/scipy/fft/tests/test_multithreading.pyxr s 99??3 $$rfuncworkerscD||d}|||}t||y)Nrr)rrrexpectedactuals rtest_threaded_samers&Aq!H !W %FFH%rc0tj|dS)Nrrr)rs r_mt_fftrs 771a  rc>tj|d}tjd5}|jtt dDcgc]}|c}}dddD]}t ||tj|dycc}w#1swY9xYw)Nrr)rmultiprocessingPoolmaprranger)rexpectp_resrs rtest_mixed_threads_processesr) sWWQ "F   a 4AeeGq2Aa234#6"#GGAq 344sB B BBBctj}tjdg| t j t d5tj|ddddt j t d5tj|| dz dddy#1swYIxYw#1swYyxYw)Nrrworkers must not be zeromatchrworkers value out of range)os cpu_countrifftpytestraises ValueError)rcpuss rtest_invalid_workersr6/s <<>DHHaS4% z)C D 1 z)E F% TE!G$%%%%s B)B5)B25B>c\tj}tjdk(sJtjd5tjdk(sJtjd5tj|k(sJ dddtjdk(sJ dddtjdk(sJtj| 5tjdk(sJ dddy#1swY~xYw#1swYhxYw#1swYyxYw)Nrrr)r/r0r get_workers set_workers)r5s rtest_set_get_workersr:;s <<>D ??  !! !  & A%%% __R  -??$, ,, - A%%% & ??  !! ! $ & A%%%&& - -&&&&s0/D2D  !D&D" D DD"D+ctjtd5tjd5 ddddddtjtd5tjt j dz 5 ddddddy#1swYkxYw#1swYoxYw#1swY*xYw#1swYyxYw)Nr+r,rr.r)r2r3r4rr9r/r0rrrtest_set_workers_invalidr<Ls z)C D __Q     z)E F __blln_Q. /        sEB*BB*,C B6 CB' #B**B36B? ;CC )-scipyrnumpyr r2 numpy.testingrr r/fixturermark parametrizer1fft2ifft2fftnifftnrfftirfftrfft2irfft2rfftnirfftnhfftihffthfft2ihfft2hfftnihfftndctidctdctnidctndstidstdstnidstnrrslowr)r6r:r<rrrr\sR ) h% %GGSXXsxxCHHciiHHciiCJJ 3::HHciiCJJ 3::GGSXXsxxGGSXXsxx "QG,&-& !   %&"r