L iG 2ddlZddlZddlmZddlZddlZddlmZm Z m Z m Z m Z m Z ddlZddlmZmZddlmZdZdZdZd Zd Zd Zd Zd ZdZdZdZdZdZdZ dZ!dZ"dZ#ejHjJdZ&GddZ'dZ(dZ)dZ*dZ+ejHjXdZ-dZ.d Z/d!Z0ejHjcd"gd#ejHjcd$gd%ejHjcd&d'd(gejHjcd)d*d+gejHjcd,d*d+gd-Z2ejHjcd.ejfgd/Z4y)0N)BytesIO) assert_equalassert_assert_array_equal break_cyclessuppress_warningsIS_PYPY)raiseswarns)wavfilectjjtjjtd|S)Ndata)ospathjoindirname__file__)fns a/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/scipy/io/tests/test_wavfile.pydatafilers& 77<<162 >>cdD]}d}tjt||\}}t|dt t j |jt jt|jd~y)NFTtest-44100Hz-le-1ch-4bytes.wavmmapD)i: r readrrrnp issubdtypedtypeint32shaperfilenameraters r test_read_1r(se3\\(8"44@ dT5! djj"((34TZZ) rcdD]}d}tjt||\}}t|dt t j |jt jt|jd~y)Nrtest-8000Hz-le-2ch-1byteu.wavr@)i ) r rrrrr r!r"uint8r$r%s r test_read_2r. se2\\(8"44@ dT4  djj"((34TZZ* rcdD]}d}tjt||\}}t|dt t j |jt jt|jd~y)Nr#test-44100Hz-2ch-32bit-float-le.wavrrir,) r rrrrr r!r"float32r$r%s r test_read_3r3-se8\\(8"44@ dT5! djj"**56TZZ* rcdD]}t5}|jtjdd}tjt ||\}}dddt dttjjtjt |jd~y#1swYfxYw)Nrz,Chunk .non-data. not understood, skipping itz)test-48000Hz-2ch-64bit-float-le-wavex.wavri)ir,) rfilterr WavFileWarningrrrrr r!r"float64r$)rsupr&r'rs r test_read_4r9:s    EC JJw--E GBH hx&8tDJD$  E T5! djj"**56TZZ*   E Es AB;;C cdD]}d}tjt||\}}t|dt t j |jt jt |jjdk(xs.tjdk(xr|jjdk(t|jd~y) Nr#test-44100Hz-2ch-32bit-float-be.wavrr>big=r1) r rrrrr r!r"r2 byteordersysr$r%s r test_read_5rAJs 8\\(8"44@ dT5! djj"**56 $$+M 0F1L04 0D0D0K NTZZ*  rcdD]}d}tjt||\}}t|dt t j |jt jt|jdt|dzdt|jdt|d d t|jd~y) Nrtest-8000Hz-le-5ch-9S-5bit.wavrr+) rrr) r rrrrr r!r"r-r$maxminr%s rtest_5_bit_odd_size_no_padrLYs3\\(8"44@ dT4  djj"((34TZZ( TJ&* TXXZ,T$Z%TXXZ# !rcdD]}d}tjt||\}}t|dt t j |jt jt|jdt|dzdt|jdt|d dt|jd ~y) Nrtest-8000Hz-le-4ch-9S-12bit.wavrr+)rDrirHi) r rrrrr r!r"int16r$rJrKr%s rtest_12_bit_even_sizerRps4\\(8"44@ dT4  djj"((34TZZ( T//3 TXXZ!45T$Z#TXXZ!56 !rc Td}tjt|d\}}t|dt t j |jt jt|jdt|dzdt|gdgd gd gd gd gy) Ntest-8000Hz-le-3ch-5S-24bit.wavFrr+rEr)iii)iiirrr)i@i?)rZirr&r'rs rtest_24_bit_odd_size_with_padr\s1Hhx0u=JD$t BMM$**bhh /0V$a <<<<< >?rcrd}tjt|d\}}t|dt t j |jt jt|jdt|dzdt |dzjt|gd y) N&test-1234Hz-le-1ch-10S-20bit-extra.wavFr) rWri) iii?iiiiiii) r rrrrr r!r"r#r$anyr[s rtest_20_bit_extra_datarbs8Hhx0u=JD$t BMM$**bhh /0U#a  TE\   !  rcXd}tjt|d\}}t|dt t j |jt jt|jdt|dzdgdgd gd gd gd g}t||y) Ntest-8000Hz-le-3ch-5S-36bit.wavFrr+rUir)l`i)l`irX)l`i)`rh r rrrrr r!r"int64r$r&r'rcorrects rtest_36_bit_odd_sizerns0Hhx0u=JD$t BMM$**bhh /0V$ !1%NMMMM OGwrcXd}tjt|d\}}t|dt t j |jt jt|jdt|dzdgdgd gd gd gd g}t||y) Ntest-8000Hz-le-3ch-5S-45bit.wavFrr+rUir)reli)rflirX)rgli)rqirjrls rtest_45_bit_even_sizerrs0Hhx0u=JD$t BMM$**bhh /0V$#LKKKK MGwrcXd}tjt|d\}}t|dt t j |jt jt|jdt|dzdgdgd gd gd gd g}t||y) Ntest-8000Hz-le-3ch-5S-53bit.wavFrr+rUir)relxi)rflxirX)rglxi)xruirjrls rtest_53_bit_odd_sizervs0Hhx0u=JD$t BMM$**bhh /0V$q!IHHHH JGwrcJdD]}d}tjt||\}}t|dt t j |jt jt|jdgdgdgdgd gd g}t||~y) Nrtest-8000Hz-le-3ch-5S-64bit.wavrr+rU)rel)rflrX)rgl)r|r,rj)rr&r'rrms rtest_64_bit_even_sizer}s4\\(8"44@ dT4  djj"((34TZZ(JIIII K T7# 'rcdD]?}ttd5tjt |d\}}dddAy#1swYLxYw)N>rTrdrprtr^zmmap.*not compatiblematchTr)r ValueErrorr rrr[s rtest_unsupported_mmaprsZ?E J&< = E hx&8tDJD$ E E E  E Es $AA cdD]c\}}tjt|d\}}tjt|d\}}t||t||ey)N>ztest-8000Hz-be-3ch-5S-24bit.wavrTtest-44100Hz-be-1ch-4bytes.wavrFr)r rrr)rifxriffrate1data1rate2data2s r test_rifxr&s]<# d||HTN? u||HTN? uUE"UE"#rcdD]c\}}tjt|d\}}tjt|d\}}t||t||ey)N>z$test-8000Hz-le-3ch-5S-24bit-rf64.wavrT#test-44100Hz-le-1ch-4bytes-rf64.wavrFr)r rrr)rf64rrrrrs r test_rf64r2s]<) d||HTN? u||HTN? u5%(5%()rctjd}t|jd}d}tjj dddj |}tj|||tj|d\}}t|||jd }|jjd vsJ|t||d|d<y) N|) r r"strrrandomrandintastyper writerrr?r)tmpdirr"tmpfiler'rrrmsgs rtest_write_roundtrip_rf64r>s HHUOE&++j)*G D 99  QX . 5 5e  , Rd+ , , ,, , , , ,rdt_str) zi2z>i4z>i8z>f4z>f8z|u1channels)r{r,rEr'r+i}rFTrealfilectj|}|rkt|jtt j d}t jt jj|dn t}tjjd|}|dk(r |dddf}|jdk(r|j|}n|dzj|}tj |||tj"|| \} } t%|| t'| jj(d v| j t+|| |rd| d<n)t-j.t0d 5d| d<ddd|r3|r0t2r)t4j6dk(rt9t9yyyyy#1swY?xYw)NrT)exist_okdr{rfrIrr)rz read-onlyrwin32)r r"rr threading get_native_idrmakedirsrrrrrandkindrr rrrrr?rpytestr rr r@platformr) rrr'rrrr"rrrrs rtest_write_roundtriprsi HHV Efkk#i&=&=&?"@*MN BGGOOG,t<) 99>>#x (D1}AqDz zzS{{5!S  ' MM'4&<<d3LE5u EKK ! !_ 4%++FtU#a ]]:[ 9 E!H DW)@  *AWDx  s G  Gr"cHt|jd}tjj d}|jdj |}d}t jtd5tj|||dddy#1swYyxYw)Nrr_)rrEr+ Unsupportedr) rrr r default_rngrrr rr r)rr"rrngrr's rtest_wavfile_dtype_unsupportedrsz&++j)*G ))   %C ::h  & &u -D D z 7+ gtT*+++s 7BB!)5rr@iorrnumpyr numpy.testingrrrrrr rr r scipy.ior rr(r.r3r9rArLrRr\rbrnrrrvr}rrrmarkxslowrrrrrr thread_unsaferrrr parametrizerfloat16rrrrrs EE ?     .,?.< 0 0 00E # )&  '4,,,  ,,,$NOY/$/%/eT]3"4000O "J2::,/+0+r