
    ;eEq                     ~   d dl Z d dlmZ d dlZ ej        d          Zd Zd Zd dD             Zd dD             Z	d	 dD             Z
d
 ed         d dddddd           ed         d dddddd           ed         d dddddd          dZg dZ G d d ej                  Zed!k    r ej                     dS dS )"    N)warnings_helperaudioopc                 F     d                      fd|D                       S )N    c              3   \   K   | ]&}|                     t          j        d           V  'dS )TsignedN)to_bytessys	byteorder).0vwidths     (/usr/lib/python3.11/test/test_audioop.py	<genexpr>zpack.<locals>.<genexpr>	   s7      PPaAJJucmDJAAPPPPPPr   )joinr   datas   ` r   packr      s*    88PPPP4PPPPPPr   c                 \      fdt          dt                               D             S )Nc                 t    g | ]4}t                               ||z            t          j        d           5S )Tr   )int
from_bytesr   r   )r   ir   r   s     r   
<listcomp>zunpack.<locals>.<listcomp>   sJ     1 1 1 NN41u9-s}TNJJ 1 1 1r   r   )rangelenr   s   ``r   unpackr      sF    1 1 1 1 11c$ii//1 1 1 1r   c                     i | ]	}||d d
S ))r   c                 "    t          | |          S )N)r   r   s     r   <lambda>z<dictcomp>.<lambda>   s    D$5$5 r    r   ws     r   
<dictcomp>r%      s&    MMM15555MMMr               c                 ,    i | ]}|d d|z  d z
  z  d z
  S )r'      r"   r#   s     r   r%   r%      s,    ===1Qq1uqy!Q&===r   c                 &    i | ]}|d d|z  dz
  z  S )r,   r'   r"   r#   s     r   r%   r%      s'    888aQq1uqy!888r   s    Er(   4  gE  i   r.   r)   V4 gE iw   r*   ixV4igEiUv   ))   abcr   )r9   r(   )s   abr)   )r9   r*   c                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d S )!TestAudioopc           
      $   dD ]}|                      t                              d|          d           |                      t                              t                      |          d           |                      t                              t	          d          |          d           t
          |         }|                      t                               |d          |          d           |                      t                               |ddd          |          d           |                      t                               |t          |                   |          t          |                    |                      t                               |t          |                   |          t          |                     |                      t                              t          |         |          t          |                     d S )Nr&   r   r      r.   r,   )	assertEqualr   max	bytearray
memoryviewpacks	maxvalues	minvaluesdatasselfr$   ps      r   test_maxzTestAudioop.test_max%   s    		F 		FAW[[a00!444W[[a88!<<<W[[C!<<a@@@aAW[[1q111555W[[1b"q991===W[[9Q<!<<ilKKKW[[9Q<!<<y|mLLLW[[q155	!}EEEE		F 		Fr   c           
      n   dD ]0}|                      t                              d|          d           |                      t                              t                      |          d           |                      t                              t	          d          |          d           t
          |         }|                      t                               |d          |          d           |                      t                               |ddd          |          d           |                      t                               |t          |                   |          t          |         t          |         f           |                      t                               |t          |                   |          t          |         t          |         f           |                      t                              t          |         |          t          |         t          |         f           2d S )	Nr&   r   )r7   r8   r=   )r=   r=   r>   r.   )r>   r=   )	r?   r   minmaxrA   rB   rC   rD   rE   rF   rG   s      r   test_minmaxzTestAudioop.test_minmax1   s    	; 	;AW^^C3368 8 8W^^IKK;;68 8 8W^^JsOOQ??68 8 8aAW^^AAaDD!44f===W^^AAaRLL!<<gFFFW^^AAilOOQ??'lIaL9; ; ;W^^AAilOOQ??'lIaL9; ; ;W^^E!Ha88'lIaL9; ; ; ;	; 	;r   c                 &   dD ]}|                      t                              d|          d           |                      t                              t                      |          d           |                      t                              t	          d          |          d           |                      t                              t          |         t          d           |          d           |                      t                              t          |         dddddd          |          d           |                      t                              t          |         |          t          |         t          |         z
             d S )	Nr&   r   r   d   	   
   r=   r'   )
r?   r   maxpprA   rB   rC   r   rF   rD   rE   rH   r$   s     r   
test_maxppzTestAudioop.test_maxppC   s?    	: 	:AW]]322A666W]]9;;::A>>>W]]:c??A>>BBBW]]58U3ZZ+@!DDaHHHW]]58Ar1aA+F+FJJBOOOW]]58Q77&q\IaL8: : : :	: 	:r   c           
      B   dD ]}|                      t                              d|          d           |                      t                              t                      |          d           |                      t                              t	          d          |          d           t
          |         }|                      t                               |d          |          d           |                      t                               |dd          |          d           |                      t                               |dd          |          d           |                      t                               |t          |         t          |                   |          t          |                    |                      t                               |t          |         t          |                   |          t          |                    |                      t                              t          d	         d
d          d	          d           |                      t                              t          d	         dd          d	          d           d S )Nr&   r   r   r=   r,      r>   r*   i   Pi   pi   `i   i   i   )r?   r   avgrA   rB   rC   rD   rE   rG   s      r   test_avgzTestAudioop.test_avgM   s    	+ 	+AW[[a00!444W[[a88!<<<W[[C!<<a@@@aAW[[1q111555gkk!!Aq''155q999W[[1b155r:::W[[9Q<1)F)FJJ&q\+ + +W[[9Q<1)F)FJJ&q\+ + + +U1Xj*%E%EqII#	% 	% 	%U1Xk;%G%GKK$	& 	& 	& 	& 	&r   c                 P   dD ]9}|                      t                              d|          d           |                      t                              t                      |          d           |                      t                              t	          d          |          d           |                      t                              t          |         t          d           |          d           |                      t                              t          |         dddddd          |          d           ;|                      t                              t          d         d          d	           |                      t                              t          d
         d
          d           |                      t                              t          d         d          d           |                      t                              t          d         d          d           d S )Nr&   r   r   rO   rP   rQ   r=   r'      r(   if  r)   ig r*   l   	
 )r?   r   avgpprA   rB   rC   r   rF   rS   s     r   
test_avgppzTestAudioop.test_avgpp_   s    	P 	PAW]]322A666W]]9;;::A>>>W]]:c??A>>BBBW]]58U3ZZ+@!DDaHHHW]]58Ar1aA+F+FJJBOOOOuQx33S999uQx33U;;;uQx33X>>>uQx33Z@@@@@r   c           
         dD ]}|                      t                              d|          d           |                      t                              t                      |          d           |                      t                              t	          d          |          d           t
          |         }|                      t                               |t          d           |          d           |                     t                               |t          |                   dz  |          t          |         d           |                     t                               |t          |                   dz  |          t          |          d           |                      t                              t          d         d          d	           |                      t                              t          d
         d
          d           |                      t                              t          d         d          d           |                      t                              t          d         d          d           d S )Nr&   r   r   rO   9   r=   r'   )deltaM   r(   i!N  r)   i"N r*   i"N)r?   r   rmsrA   rB   rC   r   assertAlmostEqualrD   rE   rF   rG   s      r   test_rmszTestAudioop.test_rmsk   s    		; 		;AW[[a00!444W[[a88!<<<W[[C!<<a@@@aAW[[E#JJ;;R@@@""7;;qq1/BA#F#F#,Q<q # : : :""7;;qq1/BA#F#F$-aL= # ; ; ; ;U1Xq112666U1Xq115999U1Xq117;;;U1Xq11:>>>>>r   c                     dD ]}|                      t                              d|          d           |                      t                              t                      |          d           |                      t                              t	          d          |          d           t
          |         }|                      t                               |ddd          |          d           |                      t                               |dddd          |          d           |                      t                               |dd	d
d          |          d           |                      t                               |dt          |                   |          d           |                      t                               |t          |         t          |                   |          d           d S )Nr&   r   r.   r   r'   r(   rW   r)   r*   )r?   r   crossrA   rB   rC   rE   rD   rG   s      r   
test_crosszTestAudioop.test_cross{   s    		Q 		QAW]]322B777W]]9;;::B???W]]:c??A>>CCCaAW]]11Q1::q991===W]]11Q2r??A>>BBBW]]11RQ??A>>BBBW]]11Q	!+=+=qAA1EEEW]]11Yq\9Q<+H+H!LLaPPPP		Q 		Qr   c                     dD ]&}|                      t                              dd|          d           |                      t                              t                      t                      |          d           |                      t                              t	          d          t	          d          |          d           |                      t                              t
          |         dt          t
          |                   z  |          t
          |                    (|                      t                              t
          d         t
          d         d          d           |                      t                              t
          d         t
          d         d          t          d         ddd	d
d	d
d                     |                      t                              t
          d         t
          d         d          t          d         ddddddd                     |                      t                              t
          d         t
          d         d          t          d         ddddddd                     d S )Nr&   r       r'       $r(   r   h$  r1   r2   rW   r)   h$ r5   r6   r*   h$r7   r8   )r?   r   addrA   rB   rF   r   rC   rS   s     r   test_addzTestAudioop.test_add   s    	' 	'AW[[c155s;;;W[[ikk1EEsKKKW[[C*S//1MMsSSSW[[q53uQx==3H!LL"1X' ' ' 'U1XuQx;;8	: 	: 	:U1XuQx;;aFFGVWbII	K 	K 	KU1XuQx;;aHh	B0 0	1 	1 	1 	U1XuQx;;aJ
K!;4 4	5 	5 	5 	5 	5r   c                    dD ]}dD ]}|                      t                              d||          d           |                      t                              t                      ||          d           |                      t                              t	          d          ||          d           |                      t                              t
          d         dd          d           |                      t                              t
          d         dd          d           |                      t                              t
          d         dd          d           |                      t                              t
          d         dd	          t
          d                    |                      t                              t
          d
         d
d          t          d
         ddddddd                     |                      t                              t
          d
         d
d          t          d
         ddddddd                     |                      t                              t
          d
         d
d          t          d
         ddddddd                     |                      t                              t
          d
         d
d	          t
          d
                    |                      t                              t
          d         dd          t          d         ddddddd                     |                      t                              t
          d         dd          t          d         ddddd d!d                     |                      t                              t
          d         dd          t          d         ddddd d!d                     |                      t                              t
          d         dd	          t
          d                    |                      t                              t
          d"         d"d          t          d"         dd#d$d%d	d&d                     |                      t                              t
          d"         d"d          t          d"         dd'd(d)d*dd                     |                      t                              t
          d"         d"d          t          d"         dd+d,d-ddd*                     |                      t                              t
          d"         d"d	          t          d"         d	d.d/d0ddd                     d S )1Nr&   )r   r'   r.      ir7   r8   r   r'   s   F r.   s   D~r7   r8   r(   i5  ihE  ir2   ir   i3  ifE  阺i  r1   rW   r)   iW4 igE ixr6   i iU4 igE vi r5   r*   iyV4igEiVvi  iwV4igEiTviiwV4igiTv:ixV4igiUv:)r?   r   biasrA   rB   rF   rC   )rH   r$   rv   s      r   	test_biaszTestAudioop.test_bias   s    	N 	NAD N N  c1d!;!;SAAA  ikk1d!C!CSIII  jooq$!G!GMMMMN 	eAh1558	: 	: 	:eAh2668	: 	: 	:eAh:>>8	: 	: 	:eAh;??q	# 	# 	#eAh155aFFGWgqII	K 	K 	KeAh266aVVWffbII	K 	K 	KeAh:>>aVVWffbII	K 	K 	KeAh;??a	 	 	eAh155aHh	"Iq2 2	3 	3 	3 	eAh266aXx!8R1 1	2 	2 	2 	eAh:>>aXx!8R1 1	2 	2 	2 	eAh;??a	 	 	eAh155aJ
K$k16 6	7 	7 	7 	eAh266aZ[#Z5 5	6 	6 	6 	eAh:>>a[+zR- -	. 	. 	. 	eAh;??ak;
Q
, ,	- 	- 	- 	- 	-r   c                 2	   dD ]}|                      t                              t          |         ||          t          |                    |                      t                              t	          t          |                   ||          t          |                    |                      t                              t          t          |                   ||          t          |                    |                      t                              t          d         dd          t          d         dddddd	d
                     |                      t                              t          d         dd          t          d         ddddddd                     |                      t                              t          d         dd          t          d         ddddddd                     |                      t                              t          d         dd          d           |                      t                              t          d         dd          t          d         ddddddd
                     |                      t                              t          d         dd          t          d         dddd d!dd                     |                      t                              t          d         dd          d           |                      t                              t          d         dd          t          d         dd"d#d$d%d	d&                     |                      t                              t          d         dd          t          d         dd'd(d)d*dd
                     |                      t                              t          d         dd          d           |                      t                              t          d         dd          t          d         dd"d#d$d%d	d&                     |                      t                              t          d         dd          t          d         dd+d,d-d.dd&                     d S )/Nr&   r'   r(   r   i   i E  i i   r2   i r)   i   i  E i  i   r6   i  r*   i   i   Ei   i   r8   i   s    Ei 4 i gE i i  i  4i  gEi  i  r/   r0   rt   r1   r.   i V4i gEi wi r3   r4   ru   r5   )r?   r   lin2linrF   rA   rB   rC   rS   s     r   test_lin2linzTestAudioop.test_lin2lin   s    	' 	'AW__U1Xq!<<eAhGGGW__YuQx-@-@!QGG"1X' ' 'W__Za-A-A1aHH"1X' ' ' ' 	q1a88!HQ&II	K 	K 	Kq1a88!HQ(Iy(4 4	5 	5 	5 	q1a88!HQ
Jj: :	; 	; 	; 	q1a88+	- 	- 	-q1a88!HQ(Iy&2 2	3 	3 	3 	q1a88!HQ
Jh8 8	9 	9 	9 	q1a88+	- 	- 	-q1a88!HQ"EE	G 	G 	Gq1a88!HQ
Jf6 6	7 	7 	7 	q1a88+	- 	- 	-q1a88!HQ"EE	G 	G 	Gq1a88!HQ(Iy". .	/ 	/ 	/ 	/ 	/r   c                    |                      t                              ddd           d           |                      t                              t          d          dd           d           |                      t                              t	          d          dd           d           |                      t                              ddd           t          d         ddddd	d
          df           |                      t                              ddd           t          d         dddddd          df           |                      t                              ddd           t          d         dddddd          df           dD ]:}|                      t                              d|d           d|z  dz  df           ;d S )N   r'   )s       M(   r(   r      )   ir   r~   r}   r)   i   i )  i i r  i Mr*   i   i  ) i  i  r i  Mr&           rk   rQ   r   r   )r?   r   	adpcm2linrA   rB   rC   rS   s     r   test_adpcm2linzTestAudioop.test_adpcm2lin   s   **?AtDDB	D 	D 	D**9_+E+Eq$OOB	D 	D 	D**:o+F+F4PPB	D 	D 	D**?AtDD(1c4eDDjQ	S 	S 	S**?AtDD(1eVWf#*, ,-79	: 	: 	: 	**?AtDD(1gxH#,. ./9;	< 	< 	<
  	7 	7AW..y!TBB#ai"nf57 7 7 7	7 	7r   c                    |                      t                              t          d         dd           d           |                      t                              t	          t          d                   dd           d           |                      t                              t          t          d                   dd           d           dD ]=}|                      t                              t          |         |d           d           >dD ]8}|                      t                              d|z  dz  |d           d           9d S )	Nr'   )r|   )i#'   r(   r)   r*   )r|   )   r   r&   rk   rQ   )r   r   )r?   r   	lin2adpcmrF   rA   rB   rS   s     r   test_lin2adpcmzTestAudioop.test_lin2adpcm  sI   **58Q==6	8 	8 	8**9U1X+>+>4HH6	8 	8 	8**:eAh+?+?DII6	8 	8 	8 	: 	:AW..uQxDAA8: : : :  	2 	2AW..uqy2~q$GG02 2 2 2	2 	2r   c                 &   |                      t          t          j        ddd           |                      t          t          j        ddd           |                      t
          t          j        ddd           |                      t
          t          j        ddd           |                      t
          t          j        ddd           |                      t
          t          j        ddd           |                      t
          t          j        ddd           |                      t
          t          j        ddd           |                      t
          t          j        ddd           |                      t
          t          j        ddd           d S )Nrk   r'   i+  )r   r.   )r   Y   )ir   )i   r   )assertRaises	TypeErrorr   r   r   
ValueErrorrH   s    r   test_invalid_adpcm_statez$TestAudioop.test_invalid_adpcm_state  s>   )W%6q#FFF)W%6q#FFF*g&77KKK*g&77KKK*g&77KKK*g&77KKK*g&7<PPP*g&7;OOO*g&7<PPP*g&7;OOOOOr   c                    |                      t                              t          d         d          d           |                      t                              t	          t          d                   d          d           |                      t                              t          t          d                   d          d           dD ]<}|                      t                              t          |         |          d           =d S )Nr'   s   Շ$*Zr   s   Շ$*U)r?   r   lin2alawrF   rA   rB   rS   s     r   test_lin2alawzTestAudioop.test_lin2alaw"      ))%(A668	: 	: 	:)))E!H*=*=qAA8	: 	: 	:))*U1X*>*>BB8	: 	: 	: 	> 	>AW--eAh::<> > > >	> 	>r   c                 x   d}g d}dD ]Ċt                   fd|D              }|                     t                              |          |           |                     t                              t	          |                    |           |                     t                              t          |                    |           t          t          d                    }dD ]Lt                              |          }|                     t                              |          |           Md S )Ns    $*QTUXkq)iPi0i@i@irf   r.   iiiii  i  i  i  rP   r)   r'         R   j   r&   c              3   .   K   | ]}|d z  z  dz	  V  dS )r,      Nr"   r   xr$   s     r   r   z,TestAudioop.test_alaw2lin.<locals>.<genexpr>3  0       A Aq1u!3 A A A A A Ar      r   )	rC   r?   r   alaw2linrA   rB   bytesr   r   rH   encodedsrcdecodedr$   s       @r   test_alaw2linzTestAudioop.test_alaw2lin-  sF   B@ @ @ 	P 	PAAh A A A AS A A ABGW--gq997CCCW--i.@.@!DDgNNNW--j.A.A1EEwOOOOc

## 	D 	DA&&w22GW--gq997CCCC	D 	Dr   c                    |                      t                              t          d         d          d           |                      t                              t	          t          d                   d          d           |                      t                              t          t          d                   d          d           dD ]<}|                      t                              t          |         |          d           =d S )Nr'   s    gr   s    ~)r?   r   lin2ulawrF   rA   rB   rS   s     r   test_lin2ulawzTestAudioop.test_lin2ulaw=  r   r   c                    d}g d}dD ]Ċt                   fd|D              }|                     t                              |          |           |                     t                              t	          |                    |           |                     t                              t          |                    |           t          t          d                    t          t          dd                    z   }dD ]Lt                              |          }|                     t                              |          |           Md S )	Ns    (?Wjv|~)iiiAii]iiirW   r   i_  i_  i  i     5      rV   r(   r   r&   c              3   .   K   | ]}|d z  z  dz	  V  dS )r,      Nr"   r   s     r   r   z,TestAudioop.test_ulaw2lin.<locals>.<genexpr>N  r   r   rs      r   r   )	rC   r?   r   ulaw2linrA   rB   r   r   r   r   s       @r   test_ulaw2linzTestAudioop.test_ulaw2linH  sY   >< < < 	P 	PAAh A A A AS A A ABGW--gq997CCCW--i.@.@!DDgNNNW--j.A.A1EEwOOOO c

##eE#sOO&<&<< 	D 	DA&&w22GW--gq997CCCC	D 	Dr   c                    dD ]H}|                      t                              d|d          d           |                      t                              t                      |d          d           |                      t                              t	          d          |d          d           |                      t                              t
          |         |d          dt          t
          |                   z             |                      t                              t
          |         |d          t
          |                    J|                      t                              t
          d         dd          d           |                      t                              t
          d         dd          t          d         ddd	d
d	d
d                     |                      t                              t
          d         dd          t          d         ddddddd                     |                      t                              t
          d         dd          t          d         ddddddd                     d S )Nr&   r   r(   r   rk   r'   rl   rm   r1   r2   rW   r)   rn   r5   r6   r*   ro   r7   r8   )r?   r   mulrA   rB   rF   r   rC   rS   s     r   test_mulzTestAudioop.test_mulY  s,    	' 	'AW[[a33S999W[[a;;SAAAW[[C!Q??EEEW[[q1a88"Sq]]24 4 4W[[q1a88"1X' ' ' 'U1Xq!448	: 	: 	:U1Xq!44aFFGVWbII	K 	K 	KU1Xq!44aHh	!9b2 2	3 	3 	3 	U1Xq!44aJ
K#["6 6	7 	7 	7 	7 	7r   c                    dD ]}|                      t                              d|dddd           d           |                      t                              t                      |dddd           d           |                      t                              t	          d          |dddd           d           |                      t                              d|dddd           d           |                      t                              d|dddd           d	           |                      t                              t
          |         |dddd           d
         t
          |                    |                      t                              t
          |         |dddd dd
          d
         t
          |                    d }t                              ddddd|          \  }}t                              ddddd|          \  }}|                      ||z   d           dD ]}t                              t
          |         |dddd           \  }}d\  }}t          d
t          t
          |                   |          D ]?}t                              t
          |         |||z            |ddd|          \  }}||z  }@|                      ||           |                      ||           t          d         d
dddddd          t          d         d
dddddd          t          d         d
ddddd d!          t          d"         d
d#d$d%d&d'd(          d}	dD ]}|                      t                              t
          |         |dddd dd          d
         |	|                    |                      t                              t
          |         |dddd d)d*          d
         |	|                    | 	                    t          t          j        dddddd+           | 	                    t          t          j        dddddd,           d S )-Nr&   r   r'   i@  )r   )r.   r   r=   )r   )r.   )r   r   r   r   r   i>  )r   )rW   r   r   s    s       )r   Nr   7   iU   iir(   i  iw7  iisV  iifr)   i@ ivw7 i6itV ii@gr*   i@ivww7i6itViji@g   rQ   *   )r'   )r   )r?   r   ratecvrA   rB   rF   r   r   rC   r   r   )
rH   r$   stated1d2d0state0dr   expecteds
             r   test_ratecvzTestAudioop.test_ratecvm  sU    	' 	'AW^^CAtT4HH35 5 5W^^IKKAtT4PP35 5 5W^^JsOOQ4tTT35 5 5W^^CAtT4HH79 9 9W^^CAtUDII35 5 5W^^E!HaD$MMaP"1X' ' 'W^^E!HaD$aQRSSTUV"1X' ' ' ' NN?Aq$uMM	ENN?Aq$uMM	Eb"QRRR 	, 	,A a!QeTJJJB HAu1c%(mmQ//  #NN58Aa!eG+<a+/? ?	ERQ###UF++++ Qx4udE5AAQx667FGWMMQx8Xy )Y8 8Qx:z;"K> >
 
  	* 	*AW^^E!HaD$aQRSSTUV%a[* * *W^^E!HaD$bRTUUVWX%a[* * * * 	)W^S!QdBOOO)W^q!T4	= 	= 	= 	= 	=r   c           
         dD ]}|                      t                              d|          d           |                      t                              t                      |          d           |                      t                              t	          d          |          d           |                      t                              t          |         ddd          |          t          |         ddd                     d S )Nr&   r   r   r'   r(   )r?   r   reverserA   rB   rC   rS   s     r   test_reversezTestAudioop.test_reverse  s     	0 	0AW__S!44c:::W__Y[[!<<cBBBW__Z__a@@#FFFW__U1XaA->->BB"1XaA..0 0 0 0		0 	0r   c           	      H   dD ]}t           |         }t          dt          |          z            }t          |          D ]}||d |         ||d d|z  <   |                     t
                              ||dd          |           |                     t
                              ||dd          dt          |          z             t          |          D ]}||d |         |||z   d d|z  <   |                     t
                              ||dd          |           |                     t
                              t          |          |dd          |           |                     t
                              t          |          |dd          |           d S )Nr&   r(   r'   r   rk         ?)rF   rA   r   r   r?   r   tomonorB   rH   r$   data1data2ks        r   test_tomonozTestAudioop.test_tomono  s    	$ 	$A!HEa#e**n--E1XX , , %addaf1fW^^E1a;;UCCCW^^E1a;;USZZ=OPPP1XX . ."'1+ach1Q3hW^^E1c3??GGGW^^Ie,<,<acJJ"$ $ $W^^Ju,=,=q#sKK"$ $ $ $	$ 	$r   c           	      H   dD ]}t           |         }t          dt          |          z            }t          |          D ]}||d |         ||d d|z  <   |                     t
                              ||dd          |           |                     t
                              ||dd          dt          |          z             t          |          D ]}||d |         |||z   d d|z  <   |                     t
                              ||dd          |           |                     t
                              t          |          |dd          |           |                     t
                              t          |          |dd          |           d S )Nr&   r(   r'   r   rk   )rF   rA   r   r   r?   r   tostereorB   r   s        r   test_tostereozTestAudioop.test_tostereo  s    	$ 	$A!HEa#e**n--E1XX , , %addaf1fW--eQ1==uEEEW--eQ1==us5zz?QRRR1XX . ."'1+ach1Q3hW--eQ1==uEEEW--i.>.>1aHH%PPPW--j.?.?AqII"$ $ $ $	$ 	$r   c           	         |                      t                              t          d         t          d                   d           |                      t                              t	          t          d                   t	          t          d                             d           |                      t                              t          t          d                   t          t          d                             d           |                      t                              dt          t          d                   z  t          d                   d           d S )Nr(         ?rk   g        )r?   r   
findfactorrF   rA   rB   r   r   s    r   test_findfactorzTestAudioop.test_findfactor  s   ++E!HeAh??EEE++IeAh,?,?,5eAh,?,?A ABE	G 	G 	G++JuQx,@,@,6uQx,@,@B BCF	H 	H 	H++ECaMM,A58LL	 	 	 	 	r   c           
      f   |                      t                              t          d         t          d                   d           |                      t                              t	          t          d                   t	          t          d                             d           |                      t                              t          t          d                   t          t          d                             d           |                      t                              t          d         t          d         ddd                    d           |                      t                              t          d         d d         dz  t          d         z   t          d                   d           d S )	Nr(   )r   r   r'   r   )r'   gf@rW   r=   )r   r   )r?   r   findfitrF   rA   rB   rC   r   s    r   test_findfitzTestAudioop.test_findfit  sV   q58<<hGGG58)<)<)258)<)<> >?G	I 	I 	IE!H)=)=)3E!H)=)=? ?@H	J 	J 	Jq58Aq!3D3DEE$	& 	& 	&q#2#):U1X)EuQxPP"	$ 	$ 	$ 	$ 	$r   c                    |                      t                              t          d         d          d           |                      t                              t	          t          d                   d          d           |                      t                              t          t          d                   d          d           d S )Nr(   r'   r=   )r?   r   findmaxrF   rA   rB   r   s    r   test_findmaxzTestAudioop.test_findmax  s    q155q99958)<)<a@@!DDDE!H)=)=qAA1EEEEEr   c           	      r   dD ]}t          |         dddt          |         t          |                   }|                     t                              ||d          d           |                     t                              t          |          |d          d           |                     t                              t          |          |d          d           |                     t                              ||d          d           |                     t                              ||d          d           |                     t                              ||d          t          |                    |                     t                              ||d          t          |                    d S )Nr&   r   r'   r.   r(   r)   r*   )rC   rD   rE   r?   r   	getsamplerA   rB   )rH   r$   r   s      r   test_getsamplezTestAudioop.test_getsample  sq    	J 	JA8Aq"ilIaLAADW..tQ::A>>>W..y1EEqIIIW..z$/?/?AFFJJJW..tQ::A>>>W..tQ::B???W..tQ::IaLIIIW..tQ::IaLIIII	J 	Jr   c                 `   t           d         t          d         ddddddd	          t          d
         ddddddd	          t          d         ddddddd	          d}dD ]L}|                     t                              d|          d           |                     t                              t           |         |          ||                    |                     t                              ||         |          t           |                    |                     t                              t          t           |                   |          ||                    |                     t                              t          t           |                   |          ||                    Nd S )Nr'   r(   r   i4  iEg  iir   r.   r)   i4V iEgiw r*   i4VxiEgivUr&   r   )rF   rC   r?   r   byteswaprA   rB   )rH   swapped_datasr$   s      r   test_byteswapzTestAudioop.test_byteswap  s   QxQx667E4DDQx8Y%rJJQx:{JtR) )	
 
  	/ 	/AW--c155s;;;W--eAh::M!<LMMMW--mA.>BBE!HMMMW--ia.A.A1EE*1-/ / /W--jq.B.BAFF*1-/ / / /	/ 	/r   c           	          |                      t          j        t          j        t	          t          d                    d           d S )Nr   i~)r   r   errorr   r   r   r   s    r   test_negativelenzTestAudioop.test_negativelen  s?    '-OU5::..	: 	: 	: 	: 	:r   c                    d }t           D ]Z\  }}|}|                     t          j        t          j        ||d           |                     t          j        t          j        ||           |                     t          j        t          j        ||           |                     t          j        t          j        ||           |                     t          j        t          j        ||           |                     t          j        t          j	        ||           |                     t          j        t          j
        ||           |                     t          j        t          j        ||           |                     t          j        t          j        ||d           |                     t          j        t          j        ||dd           |                     t          j        t          j        ||dd           |                     t          j        t          j        |||           |                     t          j        t          j        ||d           |                     t          j        t          j        ||           |                     t          j        t          j        |||           |                     t          j        t          j        ||ddd|           |                     t          j        t          j        ||           |                     t          j        t          j        ||           |                     t          j        t          j        |||           \d S )Nr   r   r   r'   )INVALID_DATAr   r   r   r   r@   rL   rX   rb   r\   rR   rh   r   r   r   rp   rv   r   ry   r   r   r   r   )rH   r   r   sizesize2s        r   test_issue7673zTestAudioop.test_issue7673   s   & 	S 	SJD$EgmW->dANNNgmW[$EEEgmW^T4HHHgmW[$EEEgmW[$EEEgmW]D$GGGgmW]D$GGGgmW]D$GGGgmW[$cJJJgmW^T4cRRRgmW-=tT3PSTTTgmW[$dKKKgmW\4qIIIgmW_dDIIIgmW_dD%PPPgmW^T4AqRWXXXgmW-=tTJJJgmW-=tTJJJgmW->dERRRR)	S 	Sr   c           
         d}d}|                      t          t          j        ||d           |                      t          t          j        ||           |                      t          t          j        ||           |                      t          t          j        ||           |                      t          t          j        ||           |                      t          t          j        ||           |                      t          t          j	        ||           |                      t          t          j
        ||           |                      t          t          j        ||d           |                      t          t          j        ||dd           |                      t          t          j        ||dd           |                      t          t          j        |||           |                      t          t          j        ||d           |                      t          t          j        ||           |                      t          t          j        |||           |                      t          t          j        ||dddd            |                      t          t          j        ||           |                      t          t          j        ||           |                      t          t          j        ||d            d S )Nabcdr(   r   r   r   r'   )r   r   r   r   r@   rL   rX   rb   r\   rR   rh   r   r   r   rp   rv   r   ry   r   r   r   r   )rH   r   r   s      r   test_stringzTestAudioop.test_string  sG   )W%6dAFFF)W[$===)W^T4@@@)W[$===)W[$===)W]D$???)W]D$???)W]D$???)W[$cBBB)W^T4cJJJ)W%5tT3LLL)W[$dCCC)W\4qAAA)W_dDAAA)W_dD$GGG)W^T4Aq$OOO)W%5tTBBB)W%5tTBBB)W%6dDIIIIIr   c                 "   d}d }dD ]}|                      t          j        t          j        ||           |                      t          j        t          j        ||           |                      t          j        t          j        |||           d S )Ns   abcdefgh)r.   r   r=   i   )r   r   r   r   r   r   )rH   r   r   r   s       r   test_wrongsizezTestAudioop.test_wrongsize/  s    $ 	S 	SDgmW-=tTJJJgmW-=tTJJJgmW->dERRRR	S 	Sr   N)"__name__
__module____qualname__rJ   rM   rT   rY   r]   rd   ri   rq   rw   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r"   r   r   r;   r;   #   s       
F 
F 
F; ; ;$: : :& & &$
A 
A 
A? ? ? 
Q 
Q 
Q5 5 5$,- ,- ,-\%/ %/ %/N7 7 7*2 2 2 P P P	> 	> 	>D D D 	> 	> 	>D D D"7 7 7(0= 0= 0=d0 0 0$ $ $ $ $ $  	$ 	$ 	$F F F
	J 	J 	J/ / /": : :
S S S0J J J.S S S S Sr   r;   __main__)r   test.supportr   unittestimport_deprecatedr   r   r   rC   rD   rE   rF   r   TestCaser;   r   mainr"   r   r   <module>r      sz   



 ( ( ( ( ( ( 
+/
+I
6
6Q Q Q1 1 1 	NMMMM=====	88<888	 'uQx667FGR@@uQx8Xy(IrJJuQx:z;K- -		 	  RS RS RS RS RS(# RS RS RSh zHMOOOOO r   