Ë
    ¨eh¥  ã                   ó.  — d dl mZmZmZmZ d dlZd dlZd dlm	Z	 d„ Z
 G d„ d«      Zej                  j                  ddd	gd
dgd¬«      ej                  j                  dg d¢d¬«      ej                  j                  dg dddddfdgdddddfg d¢dddddfg dddddfg dddddfg dddddfg dddddfg dddddfg dddddfg dddddfg dddddfgg d¢d¬«       G d„ d«      «       «       «       Zd „ Z G d!„ d"«      Z G d#„ d$«      Z G d%„ d&«      Zd'„ Zd(„ Zy))é    )Úassert_allcloseÚassert_almost_equalÚassert_array_equalÚassert_array_almost_equal_nulpN)Úmlabc                  ó"  — t         j                  j                  d«       d} t         j                  j                  | «      dz   }t        j                  | «      }t        t        j                  |«      |«       t        t        j                  |«      |«       t        t        j                  t        |«      «      |z  t        j                  |«      «       t        t        j                  t        |«      «      t        j                  |«      «       y )Nr   éè  éd   )ÚnpÚrandomÚseedÚstandard_normalÚonesr   r   Úwindow_noneÚhanningÚlenÚwindow_hanning)ÚnÚrandr   s      úX/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/matplotlib/tests/test_mlab.pyÚtest_windowr   	   s°   € Ü‡I�I‡N�N�1ÔØ€AÜ�9‰9×$Ñ$ QÓ'¨#Ñ-€DÜ�7‰7�1‹:€DÜ”t×'Ñ'¨Ó-¨tÔ4Ü”t×'Ñ'¨Ó-¨tÔ4Ü”r—z‘z¤# d£)Ó,¨tÑ3´T×5HÑ5HÈÓ5NÔOÜ”r—z‘z¤# d£)Ó,¬d×.AÑ.AÀ$Ó.GÕHó    c                   óN   — 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y)ÚTestDetrendc                 ó:  — t         j                  j                  d«       d}t        j                  dd|«      }t        j                  |«      | _        | j
                  dz   | _        t        j                  dd|«      | _        ||j                  «       z
  | _	        t         j                  j                  |«      t        j                  |dz  t         j                  z  |dz  z  «      z   | _        | xj                  | j                  j                  «       z  c_        y )	Nr   r	   ç        r
   ç      Y@g      $Àg     €V@é   )r   r   r   ÚlinspaceÚzerosÚ	sig_zerosÚsig_offÚ	sig_slopeÚmeanÚsig_slope_meanr   ÚsinÚpiÚsig_base)Úselfr   Úxs      r   Úsetup_methodzTestDetrend.setup_method   sÇ   € Ü
�	‰	�‰�qÔØˆÜ�K‰K˜˜C Ó#ˆäŸ™ !›ˆŒà—~‘~¨Ñ,ˆŒÜŸ™ T¨3°Ó2ˆŒØ !§&¡&£(™lˆÔô �I‰I×%Ñ% aÓ(¬2¯6©6°!°A±#´b·e±e±)¸Q¸s¹UÑ2CÓ+DÑDð 	Œà�Š˜Ÿ™×+Ñ+Ó-Ñ-Žr   c                 ó   — t        |ddiŽ y )NÚatolç:Œ0âŽyE>)r   )r)   Úargss     r   ÚallclosezTestDetrend.allclose$   s   € Ü˜Ð) DÓ)r   c                 ó@  — t        j                  d«      dk(  sJ ‚t        j                  dd¬«      dk(  sJ ‚t        j                  dd¬«      dk(  sJ ‚t        j                  dt         j                  ¬«      dk(  sJ ‚d| j                  | j                  | j
                  | j
                  | j                  z   | j                  z   j                  «       t        j                  | j
                  | j
                  | j                  z   | j
                  | j                  z   | j
                  | j                  z   | j                  z   g«      t        j                  | j
                  | j
                  | j                  z   | j
                  | j                  z   | j
                  | j                  z   | j                  z   g«      j                  fD ]V  }t        |t        j                  «      r t        t        j                  |«      |«       Œ=t        j                  |«      |k(  rŒVJ ‚ y )Nr   é   ©ÚaxisÚnone©Úkeyç      @)r   Údetrend_noneÚdetrendr"   r#   r(   Útolistr   ÚvstackÚTÚ
isinstanceÚndarrayr   ©r)   Úsigs     r   Útest_detrend_nonezTestDetrend.test_detrend_none'   s£  € Ü× Ñ  Ó$¨Ò*Ð*Ð*Ü× Ñ  ¨!Ô,°Ò2Ð2Ð2Ü�|‰|˜B FÔ+¨rÒ1Ð1Ð1Ü�|‰|˜B¤D×$5Ñ$5Ô6¸"Ò<Ð<Ð<à�T—\‘\ 4§>¡>°4·=±=Ø—‘ §¡Ñ/°$·,±,Ñ>×FÑFÓHÜ—	‘	˜4Ÿ=™=ØŸ=™=¨4¯<©<Ñ7ØŸ=™=¨4¯>©>Ñ9ØŸ=™=¨4¯<©<Ñ7¸$¿.¹.ÑHðJó Kô —	‘	˜4Ÿ=™=ØŸ=™=¨4¯<©<Ñ7ØŸ=™=¨4¯>©>Ñ9ØŸ=™=¨4¯<©<Ñ7¸$¿.¹.ÑHðJó K÷ LMÉ1ð
ò 	5ˆCô ˜#œrŸz™zÔ*Ü"¤4×#4Ñ#4°SÓ#9¸3Õ?ä×(Ñ(¨Ó-°Ó4Ð4Ð4ñ	5r   c                 ó¨  — dD ]b  }t        j                  |«      dk(  sJ ‚t        j                  |d¬«      dk(  sJ ‚t        j                  |t         j                  ¬«      dk(  rŒbJ ‚ | j                  t        j                  | j                  «      | j                  «       | j                  t        j                  | j
                  «      | j
                  «       | j                  t        j                  | j
                  | j                  z   «      | j
                  «       | j                  t        j                  | j
                  | j                  z   «      | j
                  | j                  z   «       | j                  t        j                  | j
                  | j                  z   | j                  z   «      | j
                  | j                  z   «       y )N)r   r8   r   r$   r6   )	r   Údetrend_meanr:   r0   r!   r(   r"   r#   r%   r@   s     r   Útest_detrend_meanzTestDetrend.test_detrend_mean=   sO  € Øò 	BˆCÜ×$Ñ$ SÓ)¨RÒ/Ð/Ð/Ü—<‘< ¨Ô0°BÒ6Ð6Ð6Ü—<‘< ¬×):Ñ):Ô;¸rÓAÐAÐAð	Bð
 	�‰”d×'Ñ'¨¯©Ó7¸¿¹ÔHØ�‰”d×'Ñ'¨¯©Ó6¸¿¹ÔFØ�‰”d×'Ñ'¨¯©¸¿¹Ñ(DÓEØ—m‘mô	%à�‰”d×'Ñ'¨¯©¸¿¹Ñ(FÓGØ—m‘m d×&9Ñ&9Ñ9ô	;à�‰Ü×Ñ˜dŸm™m¨d¯n©nÑ<¸t¿|¹|ÑKÓLØ�M‰M˜D×/Ñ/Ñ/õ	1r   c                 ó   — | j                   | j                  z   | j                  z   }| j                   | j                  z   }| j	                  t        j                  |d¬«      |«       | j	                  t        j                  |j                  «       «      |«       | j	                  t        j                  |j                  «       d¬«      |«       y ©Nr   r3   )r(   r#   r"   r%   r0   r   rD   r;   ©r)   ÚinputÚtargets      r   Ú4test_detrend_mean_1d_base_slope_off_list_andor_axis0z@TestDetrend.test_detrend_mean_1d_base_slope_off_list_andor_axis0M   sŒ   € Ø—‘ §¡Ñ.°·±Ñ=ˆØ—‘ ×!4Ñ!4Ñ4ˆØ�‰”d×'Ñ'¨°AÔ6¸Ô?Ø�‰”d×'Ñ'¨¯©«Ó7¸Ô@Ø�‰”d×'Ñ'¨¯©«¸QÔ?ÀÕHr   c                 óö  — t        j                  | j                  | j                  | j                  z   g«      }t        j                  | j                  | j                  g«      }| j                  t        j                  |«      |«       | j                  t        j                  |d ¬«      |«       | j                  t        j                  |j                  d ¬«      j                  |«       | j                  t        j                  |«      |«       | j                  t        j                  |d ¬«      |«       | j                  t        j                  |j                  dd ¬«      |j                  «       t        j                  | j                  | j                  | j                  z   | j                  | j                  z   | j                  | j                  z   | j                  z   g«      }t        j                  | j                  | j                  | j                  | j                  z   | j                  | j                  z   g«      }| j                  t        j                  |j                  d¬«      |j                  «       | j                  t        j                  |d¬«      |«       | j                  t        j                  |d¬«      |«       | j                  t        j                  |dd¬«      |«       | j                  t        j                  |j                  dd¬«      |j                  «       | j                  t        j                  |j                  t        j                  d¬«      |j                  «       y )	Nr3   Úconstant©r7   r4   r   r2   éÿÿÿÿÚdefaultr$   )r   r<   r"   r(   r!   r0   r   rD   r=   r:   r#   r%   rH   s      r   Útest_detrend_mean_2dz TestDetrend.test_detrend_mean_2dT   s_  € Ü—	‘	˜4Ÿ<™<ØŸ=™=¨4¯<©<Ñ7ð9ó :ˆä—‘˜DŸN™NØ ŸM™Mð+ó ,ˆà�‰”d×'Ñ'¨Ó.°Ô7Ø�‰”d×'Ñ'¨°DÔ9¸6ÔBØ�‰”d×'Ñ'¨¯©°dÔ;×=Ñ=¸vÔFØ�‰”d—l‘l 5Ó)¨6Ô2Ø�‰”d—l‘l 5¨tÔ4°fÔ=Ø�‰Ü�L‰L˜Ÿ™ j°tÔ<¸f¿h¹hô	Hô —	‘	˜4Ÿ=™=ØŸ=™=¨4¯<©<Ñ7ØŸ=™=¨4¯>©>Ñ9ØŸ=™=¨4¯<©<Ñ7¸$¿.¹.ÑHðJó Kˆô —‘˜DŸM™MØ ŸM™MØ ŸM™M¨D×,?Ñ,?Ñ?Ø ŸM™M¨D×,?Ñ,?Ñ?ðAó Bˆð 	�‰”d×'Ñ'¨¯©°aÔ8¸&¿(¹(ÔCØ�‰”d×'Ñ'¨°AÔ6¸Ô?Ø�‰”d×'Ñ'¨°BÔ7¸Ô@Ø�‰”d—l‘l 5¨i¸aÔ@À&ÔIØ�‰”d—l‘l 5§7¡7°¸QÔ?ÀÇÁÔJØ�‰Ü�L‰L˜Ÿ™¤d×&7Ñ&7¸aÔ@À&Ç(Á(õ	Lr   c                 óˆ  — | j                   t        j                     ddif| j                   t        j                     ddifdddif| j                   ddif| j                   t        j                     ddiffD ]=  \  }}t        j                  t
        «      5  t        j                  |fi |¤Ž d d d «       Œ? y # 1 sw Y   ŒJxY w)	Nr7   Úspamé   r8   r4   r   r2   r   )r#   r   ÚnewaxisÚpytestÚraisesÚ
ValueErrorr   r:   ©r)   ÚsignalÚkwargss      r   Útest_detrend_ValueErrorz#TestDetrend.test_detrend_ValueErrorq   s·   € à—‘¤§
¡
Ñ+¨e°V¨_Ð=Ø—‘¤§
¡
Ñ+¨e°Q¨ZÐ8Ø�v˜q�kÐ"Ø—‘ &¨! Ð-Ø—‘¤§
¡
Ñ+¨f°a¨[Ð9ð
ò 	/‰NˆF�Fô —‘œzÓ*ñ /Ü—‘˜VÑ. vÒ.÷/ð /ñ	/÷/ð /ús   ÂB8Â8C	c                 ó  — dddif| j                   ddif| j                   t        j                     ddiffD ]=  \  }}t        j                  t
        «      5  t        j                  |fi |¤Ž d d d «       Œ? y # 1 sw Y   ŒJxY w)Nr8   r4   r   r2   r   )r#   r   rU   rV   rW   rX   r   rD   rY   s      r   Útest_detrend_mean_ValueErrorz(TestDetrend.test_detrend_mean_ValueError|   s‡   € à�v˜q�kÐ"Ø—‘ &¨! Ð-Ø—‘¤§
¡
Ñ+¨f°a¨[Ð9ð
ò 	4‰NˆF�Fô
 —‘œzÓ*ñ 4Ü×!Ñ! &Ñ3¨FÒ3÷4ð 4ñ	4÷
4ð 4ús   ÁA8Á8B	c                 óÀ  — t        j                  d«      dk(  sJ ‚t        j                  d«      dk(  sJ ‚t        j                  dd¬«      dk(  sJ ‚t        j                  dt         j                  ¬«      dk(  sJ ‚| j                  | j                  | j                  | j                  z   fD ]1  }| j                  t        j                  |«      | j                  «       Œ3 y )Nr   r8   Úlinearr6   )r   Údetrend_linearr:   r"   r#   r0   r!   r@   s     r   Útest_detrend_linearzTestDetrend.test_detrend_linear…   s¼   € ä×"Ñ" 2Ó&¨"Ò,Ð,Ð,Ü×"Ñ" 3Ó'¨2Ò-Ð-Ð-Ü�|‰|˜C XÔ.°"Ò4Ð4Ð4Ü�|‰|˜C¤T×%8Ñ%8Ô9¸RÒ?Ð?Ð?à—‘Ø—‘Ø—‘ §¡Ñ-ð
ò 	DˆCð
 �M‰Mœ$×-Ñ-¨cÓ2°D·N±NÕCñ	Dr   c                 ól  — | j                   | j                  z   }| j                  }| j                  t	        j
                  |d¬«      |«       | j                  t	        j
                  |t        j                  ¬«      |«       | j                  t	        j                  |j                  «       «      |«       y )Nr`   r6   )r#   r"   r!   r0   r   r:   ra   r;   rH   s      r   Útest_detrend_str_linear_1dz&TestDetrend.test_detrend_str_linear_1d’   st   € Ø—‘ §¡Ñ-ˆØ—‘ˆØ�‰”d—l‘l 5¨hÔ7¸Ô@Ø�‰”d—l‘l 5¬d×.AÑ.AÔBÀFÔKØ�‰”d×)Ñ)¨%¯,©,«.Ó9¸6ÕBr   c                 óz  — t        j                  | j                  | j                  | j                  | j                  z   g«      }t        j                  | j                  | j                  | j                  g«      }| j                  t        j                  |j                  dd¬«      |j                  «       | j                  t        j                  |j                  t        j                  d¬«      |j                  «       | j                  t        j                  |dd¬«      |«       | j                  t        j                  |t        j                  d¬«      |«       t        j                  t        «      5  t        j                  | j                  t         j                     «       d d d «       y # 1 sw Y   y xY w)Nr`   r   rN   r2   )r   r<   r"   r#   r!   r0   r   r:   r=   ra   rV   rW   rX   rU   rH   s      r   Útest_detrend_linear_2dz"TestDetrend.test_detrend_linear_2d™   s2  € Ü—	‘	˜4Ÿ<™<ØŸ>™>ØŸ>™>¨D¯L©LÑ8ð:ó ;ˆô —‘˜DŸN™NØ ŸN™NØ ŸN™Nð,ó -ˆð 	�‰Ü�L‰L˜Ÿ™ h°QÔ7¸¿¹ô	Cà�‰Ü�L‰L˜Ÿ™¤d×&9Ñ&9ÀÔBÀFÇHÁHô	Nà�‰Ü�L‰L˜ H°1Ô5°vô	?à�‰Ü�L‰L˜¤D×$7Ñ$7¸aÔ@À&ô	Jô �]‰]œ:Ó&ñ 	<Ü×Ñ §¡¬r¯z©zÑ :Ô;÷	<÷ 	<ñ 	<ús   Å71F1Æ1F:N)Ú__name__Ú
__module__Ú__qualname__r+   r0   rB   rE   rK   rQ   r\   r^   rb   rd   rf   © r   r   r   r      s=   „ ò.ò*ò5ò,1ò IòLò:	/ò4òDòCó<r   r   Ú	iscomplexFTÚrealÚcomplexÚclass)ÚidsÚscopeÚsides)ÚonesidedÚtwosidedrP   )rp   zFfstims,len_x,NFFT_density,nover_density,pad_to_density,pad_to_spectrumrO   é   )rt   rT   é
   é   i   é€   é   é!   i  éÿ   é    )ÚnosigÚFs4ÚFsAllÚnosig_noNFFTÚnosig_nopad_toÚnosig_noNFFT_no_pad_toÚ
nosig_trimÚ	nosig_oddÚnosig_oddlenÚnosig_stretchÚnosig_overlapc                   ór  — e Zd Z ej                  dd¬«      d„ «       Zd„ Zd„ Zd„ Zej                  j                  dd	d
g«      d„ «       Zej                  j                  dg d¢«      d„ «       Zd„ Zd„ Zd„ Zej                  j                  dej"                  ej&                  fej"                  dfej(                  ej*                  fej(                  dfg«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zej                  j                  dg d¢«      d„ «       Zej                  j                  di dd	idd
iddidd idd!idd"ig«      d#„ «       Zd$„ Zd%„ Zej                  j                  dd	d
g«      d&„ «       Z ej                  j                  d'dejB                  fd!ejD                  fd"d(„ fg«      d)„ «       Z#d*„ Z$y+),ÚTestSpectralrn   T)rp   Úautousec
                 óX  — d}
t        j                  ddd|
z  «      }|�|d | }|D �cg c]  }|
|z  ‘Œ	 }}|€d}n|dk  rdx}}n|}|€d}n|dk  r|dz  x}}n|}|€|}n>|dk  r7t        dt        j                  t        j                  |«      «      z  «      }|}n|}|	€t        |«      }n|	dk  rt        |«      x}}	n|	}|	€|x}}nt        |«      x}}d}|}|}|}|}|}|dk(  s|d	k(  r•|s“|dz  r#t        j                  d|
dz  |d
¬«      d d d…   }n!t        j                  d|
dz  |dz  dz   ¬«      }|dz  r#t        j                  d|
dz  |d
¬«      d d d…   }nÀt        j                  d|
dz  |dz  dz   ¬«      }nž|dz  r*t        j                  |
 dz  |
dz  d|z  d
¬«      dd d…   }n t        j                  |
 dz  |
dz  |d
¬«      }|dz  r*t        j                  |
 dz  |
dz  d|z  d
¬«      dd d…   }n t        j                  |
 dz  |
dz  |d
¬«      }|}|dz  }t        |«      |dz  z
  dz   }||z
  }||||…   }|dz  r|d|
z  dz  z  }t        |«      dk(  rt        j                  |d|
z  z  g«      }t        j                  |d|
z  z  g«      } |}!t        j                  |«      }"t        |«      D ]:  \  }#}|"t        j                  ||z  t         j                  z  dz  «      d|#z  z  z  }"Œ< |r|"j                  d«      }"|j                  }$|
|$_        ||$_        ||$_        ||$_        ||$_        ||$_        ||$_        ||$_        |	|$_        ||$_        ||$_        ||$_        ||$_        |!|$_        | |$_        |"|$_        ||$_        ||$_        ||$_         ||$_!        y c c}w )Nr   r   ru   r2   rx   r
   r   rr   rP   F)ÚnumÚendpoint©r‹   rm   )"r   ÚarangeÚintÚceilÚlog2r   r   ÚarrayÚ
zeros_likeÚ	enumerater&   r'   ÚastypeÚclsÚFsrq   ÚfstimsÚNFFT_densityÚnover_densityÚpad_to_densityÚNFFT_spectrumÚnover_spectrumÚpad_to_spectrumÚNFFT_specgramÚnover_specgramÚpad_to_specgramÚ
t_specgramÚ	t_densityÚ
t_spectrumÚyÚfreqs_densityÚfreqs_spectrumÚfreqs_specgramÚNFFT_density_real)%r)   Úrequestr˜   rk   rq   Úlen_xr™   rš   r›   rž   r—   r*   Úfstimr©   Únover_density_realÚpad_to_density_realÚpad_to_spectrum_realÚNFFT_spectrum_realrœ   r�   rŸ   r    r¡   ÚNFFT_specgram_realÚnover_specgram_realr¦   r§   r¨   Út_startÚt_stopÚt_stepr¢   r¤   r£   r¥   Úir–   s%                                        r   ÚstimzTestSpectral.stimÏ   sŽ  € ð ˆä�I‰I�a˜˜Q ™VÓ$ˆØÐØ�&�5�	ˆAð +1Ö1 �"�u“*Ð1ˆÐ1ð ÐØ #ÑØ˜AÒØ/2Ð2Ð¡à ,ÐàÐ Ø!"ÑØ˜QÒØ1BÀaÑ1GÐGÐ¡à!.ÐàÐ!Ø"3ÑØ˜aÒÜ  ¤B§G¡G¬B¯G©GÐ4EÓ,FÓ$GÑ!GÓHˆNØ"0Ñà"0ÐàÐ"Ü#& q£6Ñ Ø˜qÒ Ü58¸³VÐ;Ð ¡?à#2Ð àÐ"Ø1EÐEÐ¡ä14°Q³Ð7Ð Øˆà$ˆØ&ˆØ(ˆØ.ÐØ0Ðà�JÒ 5¨IÒ#5¹ið # QÒ&Ü "§¡¨A¨r°A©vØ0CØ5:ô!<á<?¸a¸Cñ!A‘ô !#§¡¨A¨r°A©vØ0CÀqÑ0HÈ1Ñ0Lô!N�ð
 $ aÒ'Ü!#§¡¨Q°°Q±Ø1EØ6;ô"=á=@¸q¸Sñ"B‘ô "$§¡¨Q°°Q±Ø1EÈÑ1JÈQÑ1Nô"P‘ð
 # QÒ&Ü "§¡¨R¨C°!©G°R¸!±VØ01Ð4GÑ0GØ5:ô!<à<=¸D¸q¸Dñ!B‘ô !#§¡¨R¨C°!©G°R¸!±VØ0CØ5:ô!<�ð $ aÒ'Ü!#§¡¨b¨S°1©W°b¸1±fØ12Ð5IÑ1IØ6;ô"=à=>¸TÀ¸Tñ"C‘ô "$§¡¨b¨S°1©W°b¸1±fØ1EØ6;ô"=�ð 'ˆà$¨Ñ)ˆÜ�Q“Ð,°Ñ1Ñ1°AÑ5ˆØ#Ð&9Ñ9ˆØ�w˜v fÐ,Ñ-ˆ
Ø Ò!Ø˜!˜b™& 1™*Ñ$ˆJÜˆz‹?˜aÒÜŸ™Ð#5¸¸R¹Ñ#@Ð"AÓBˆJÜ—X‘XÐ1°Q¸±VÑ<Ð=Ó>ˆ
Øˆ	ä�M‰M˜!ÓˆÜ! &Ó)ò 	7‰HˆAˆuØ”—‘˜ ™	¤B§E¡EÑ)¨AÑ-Ó.°°Q±Ñ6Ñ6‰Að	7ñ Ø—‘˜Ó#ˆAð
 �k‰kˆàˆŒØˆŒ	ØˆŒ
à'ˆÔØ)ˆÔØ+ˆÔà)ˆÔØ+ˆÔØ-ˆÔà)ˆÔØ+ˆÔØ-ˆÔà#ˆŒØ!ˆŒØ#ˆŒØˆŒà)ˆÔØ+ˆÔØ+ˆÔà 1ˆÕùòS 2s   ¨N'c                 ó&  — |j                  «       dk(  sJ ‚|j                  «       t        |«      dz
  k(  sJ ‚t        ||d¬«       |D ]H  }t	        j
                  ||z
  «      j                  «       }||   ||dz      kD  sJ ‚||   ||dz
     kD  rŒHJ ‚ y )Nr   r2   ç�íµ ÷Æ°>©r-   r   )ÚargminÚargmaxr   r   r   Úabs)r)   ÚvalsÚ	targfreqsÚresfreqsr˜   r¬   r¶   s          r   Úcheck_freqszTestSpectral.check_freqsd  sŸ   € Ø�‰Ó  AÒ%Ð%Ð%Ø�‰Ó ¤C¨£M°!¡OÒ3Ð3Ð3Ü˜ )°%Õ8Øò 	'ˆEÜ—‘�x %Ñ'Ó(×/Ñ/Ó1ˆAØ˜‘7˜T ! A¡#™YÒ&Ð&Ð&Ø˜‘7˜T ! A¡#™YÓ&Ð&Ð&ñ	'r   c                 ó’  — t        |«      dk(  ry |j                  «       dk  rXt        j                  |«      }|j	                  «       }| j                  |d | |d | |«       | j                  ||d  ||d  |«       y |d d  }|j                  «       }|r6|j                  «       }||   }	t        |	|d   «       |d= d||dz
  |dz    |rŒ5y y )Nr   rO   rT   )	r   Úminr   r½   r»   Úcheck_maxfreqÚcopyr¼   r   )
r)   ÚspecÚfspr˜   ÚfspaÚzeroindÚfstimstÚspectÚmaxindÚmaxfreqs
             r   rÄ   zTestSpectral.check_maxfreqm  sÒ   € äˆv‹;˜!ÒØð �7‰7‹9�qŠ=Ü—6‘6˜#“;ˆDØ—k‘k“mˆGØ×Ñ˜t H W˜~¨t°H°W¨~¸vÔFØ×Ñ˜t G H˜~¨t°G°H¨~¸vÔFØà™�)ˆØ—	‘	“ˆñ Ø—\‘\“^ˆFØ˜&‘kˆGÜ ¨°©Ô5Ø˜�Ø'(ˆE�&˜‘(˜6 !™8Ð$ô r   c                 óÄ  — | j                   dz   ddœ| j                   dz   ddœ| j                   dz   ddœ| j                   dz   ddœddi| j                   d	d
œ| j                   dddœdddœ| j                   dt        j                  d«      dœf	D ]E  }t        j                  t
        «      5  t        j                  dd| j                   i|¤Ž d d d «       ŒG y # 1 sw Y   ŒRxY w)Nr2   rm   )r¥   ÚmodeÚ	magnitudeÚangleÚphaserÏ   rS   Úeggs)r¥   rq   ru   é   )r¥   ÚNFFTÚnoverlap)rÕ   rÖ   é	   )r¥   rÕ   Úwindowr*   rj   )r¥   r   r   rV   rW   rX   r   Ú_spectral_helper)r)   r[   s     r   Útest_spectral_helper_raisesz(TestSpectral.test_spectral_helper_raises…  sÚ   € ð —&‘&˜‘( IÑ.Ø—&‘&˜‘( KÑ0Ø—&‘&˜‘( GÑ,Ø—&‘&˜‘( GÑ,Ø�VÐØ—&‘& 6Ñ*Ø—&‘& "°"Ñ5Ø RÑ(Ø—&‘& "Ü—w‘w˜q“zñ#ð
ò 	:ˆFô —‘œzÓ*ñ :Ü×%Ñ%Ñ9¨¯©Ð9°&Ò9÷:ð :ñ	:÷:ð :ús   Â)"CÃC	rÏ   rP   Úpsdc                 ó¢   — t        j                  t        «      5  t        j                  | j
                  |¬«       d d d «       y # 1 sw Y   y xY w)N)r*   rÏ   )rV   rW   rX   r   Ú_single_spectrum_helperr¥   )r)   rÏ   s     r   Ú-test_single_spectrum_helper_unsupported_modesz:TestSpectral.test_single_spectrum_helper_unsupported_modes–  s7   € ä�]‰]œ:Ó&ñ 	>Ü×(Ñ(¨4¯6©6¸Õ=÷	>÷ 	>ñ 	>ús   š"AÁAz
mode, case))rÛ   Údensity)rÐ   Úspecgram)rÐ   Úspectrumc                 óò  — t        | d|› �«      }t        j                  | j                  | j                  t        | d|› �«      | j                  t        | d|› �«      t        | d|› �«      | j
                  |¬«      \  }}}t        ||d¬«       t        |t        | d|› �«      d¬«       |j                  d	   |j                  d	   k(  sJ ‚|j                  d
   t        | d|› �«      j                  d	   k(  sJ ‚y )NÚfreqs_ÚNFFT_Únover_Úpad_to_)r*   r¥   rÕ   r—   rÖ   Úpad_torq   rÏ   r¹   rº   Út_r   r2   )Úgetattrr   rÙ   r¥   r—   rq   r   Úshape)r)   rÏ   ÚcaseÚfreqsrÆ   rÇ   Úts          r   Útest_spectral_helper_psdz%TestSpectral.test_spectral_helper_psd›  sî   € ô ˜  t f˜oÓ.ˆÜ×,Ñ,Ø�f‰f˜Ÿ™Ü˜  t f˜~Ó.Ø�w‰wÜ˜T V¨D¨6 ?Ó3Ü˜4 7¨4¨&Ð!1Ó2Ø—*‘*Øô‰ˆˆc�1ô 	˜˜U¨Õ/Ü˜œ7 4¨2¨d¨V¨Ó5¸EÕBØ�z‰z˜!‰} §¡¨A¡Ò.Ð.Ð.Ø�z‰z˜!‰}¤¨°°4°&¨kÓ :× @Ñ @ÀÑ CÒCÐCÑCr   c           	      ó>  — | j                   }t        j                  | j                  | j                  dz   | j                  | j
                  | j                  | j                  | j                  ¬«      \  }}t        ||d¬«       |j                  |j                  k(  sJ ‚y )Nr2   ©r*   r¥   rÕ   r—   rÖ   rç   rq   r¹   rº   )r¦   r   Úcsdr¥   r™   r—   rš   r›   rq   r   rê   ©r)   rì   rÆ   rÇ   s       r   Útest_csdzTestSpectral.test_csd°  s|   € Ø×"Ñ"ˆÜ—H‘H˜tŸv™v¨¯©°©Ø"&×"3Ñ"3Ø $§¡Ø&*×&8Ñ&8Ø$(×$7Ñ$7Ø#'§:¡:ô/‰	ˆˆcô 	˜˜U¨Õ/Ø�z‰z˜UŸ[™[Ò(Ð(Ñ(r   c           	      ó6  — | j                   €yt        | j                  | j                  dz   | j                  t        j
                  | j                  ¬«      }t	        j                  dd| j                   i|¤Ž\  }}t	        j                  dd| j                   dz  i|¤Ž\  }}t        t        j                  t        j                  |«      |z  «      j                  t        j                  t        j                  |dz  «      |z  dz  «      j                  «       y)zTest zero padding of csd().Nr2   )r*   r¥   r—   rØ   rq   rÕ   r   rj   )r™   Údictr¥   r—   r   r   rq   rñ   r   r   ÚsumÚ	conjugaterl   )r)   ÚsargsÚspec0Ú_Úspec1s        r   Útest_csd_paddingzTestSpectral.test_csd_padding»  sØ   € à×ÑÐ$ØÜ�t—v‘v §¡¨¡¨d¯g©g¼d×>NÑ>NØŸ:™:ô'ˆô —8‘8Ñ< ×!2Ñ!2Ð<°eÑ<‰ˆˆqÜ—8‘8Ñ> ×!2Ñ!2°1Ñ!4Ð>¸Ñ>‰ˆˆqÜœBŸF™F¤2§<¡<°Ó#6°uÑ#<Ó=×BÑBÜŸF™F¤2§<¡<°°a±Ó#8¸Ñ#>¸qÑ#@ÓA×FÑFõ	Hr   c                 óB  — | j                   }t        j                  | j                  | j                  | j
                  | j                  | j                  | j                  ¬«      \  }}|j                  |j                  k(  sJ ‚| j                  |||| j                  «       y )N©r*   rÕ   r—   rÖ   rç   rq   )r¦   r   rÛ   r¥   r™   r—   rš   r›   rq   rê   rÁ   r˜   rò   s       r   Útest_psdzTestSpectral.test_psdÇ  s~   € Ø×"Ñ"ˆÜ—H‘H˜tŸv™vØ"&×"3Ñ"3Ø $§¡Ø&*×&8Ñ&8Ø$(×$7Ñ$7Ø#'§:¡:ô/‰	ˆˆcð �z‰z˜UŸ[™[Ò(Ð(Ð(Ø×Ñ˜˜u c¨4¯;©;Õ7r   zmake_data, detrendr$   r`   c                 óX  — | j                   €y  || j                   «      }|dz   }|dz   }t        j                  ||g«      }t        j                  |d«      }|j                  j                  «       }|j                  «       }t        j                  |«      }t        j                  || j                   | j                  d| j                  |¬«      \  }}	t        j                  || j                   | j                  d| j                  |¬«      \  }
}t        j                  || j                   | j                  d| j                  ¬«      \  }}t        |	|«       t        ||«       t        ||d¬«       t        j                  t        «      5  t        |
|d¬«       d d d «       y # 1 sw Y   y xY w)	NrT   çffffff
@©rÔ   r2   r   )r*   rÕ   r—   rÖ   rq   r:   )r*   rÕ   r—   rÖ   rq   r.   rº   )r™   r   r<   Útiler=   Úflattenr“   r   rÛ   r—   rq   r   r   rV   rW   ÚAssertionError)r)   Ú	make_datar:   ÚydataÚydata1Úydata2ÚydatabÚycontrolÚspec_gÚfsp_gÚspec_bÚfsp_bÚspec_cÚfsp_cs                 r   Útest_psd_detrendzTestSpectral.test_psd_detrendÒ  sd  € ð
 ×ÑÐ$ØÙ˜$×+Ñ+Ó,ˆØ�q‘ˆØ�s‘ˆÜ—	‘	˜6 6Ð*Ó+ˆÜ—‘˜˜wÓ'ˆØ—‘—‘Ó"ˆØ—‘“ˆÜ—=‘= Ó'ˆÜŸ™ 5Ø&*×&7Ñ&7Ø$(§G¡GØ*+Ø'+§z¡zØ)0ô2‰ˆ�ô Ÿ™ 6Ø&*×&7Ñ&7Ø$(§G¡GØ*+Ø'+§z¡zØ)0ô2‰ˆ�ô Ÿ™ 8Ø&*×&7Ñ&7Ø$(§G¡GØ*+Ø'+§z¡zô	3‰ˆ�ô
 	˜5 %Ô(Ü˜5 %Ô(Ü˜ ¨UÕ3ä�]‰]œ>Ó*ñ 	8Ü˜F F°Õ7÷	8÷ 	8ñ 	8ús   ÆF Æ F)c                 óà  — | j                   €y t        j                  | j                   «      }|dz   }|dz   }t        j                  t        j
                  |«      «      }||z  }t        j                  |«      }t        j                  ||g«      }t        j                  ||g«      }t        j                  |d«      }t        j                  |d«      }|j                  j                  «       }|j                  «       }	|j                  «       }t        j                  |	| j                   | j                  d| j                  t        j                  ¬«      \  }
}t        j                  || j                   | j                  d| j                  t        j                  ¬«      \  }}t        j                  || j                   | j                  d| j                  t        j                  ¬«      \  }}|t        |«      |dz  j                  «       z  z  }t!        ||«       t!        ||«       t#        |
|d¬«       t%        j&                  t(        «      5  t#        ||d¬«       d d d «       y # 1 sw Y   y xY w)	NrT   r  r  r   ©r*   rÕ   r—   rÖ   rq   rØ   r   r.   rº   )r™   r   rŽ   r   r   Ú	ones_liker<   r  r=   r  rÛ   r—   rq   r   r   rö   r   r   rV   rW   r  )r)   r  r  r	  Ú
windowValsÚ	ycontrol1Ú	ycontrol2r  r
  Úydatafr  r  r  r  r  r  s                   r   Útest_psd_window_hanningz$TestSpectral.test_psd_window_hanningù  sñ  € Ø×ÑÐ$ØÜ—	‘	˜$×+Ñ+Ó,ˆØ�q‘ˆØ�s‘ˆÜ×(Ñ(¬¯©°fÓ)=Ó>ˆ
Ø˜ZÑ'ˆ	Ü×'Ñ'¨Ó/ˆ	Ü—	‘	˜6 6Ð*Ó+ˆÜ—9‘9˜i¨Ð3Ó4ˆÜ—‘˜˜wÓ'ˆÜ—7‘7˜8 WÓ-ˆØ—‘—‘Ó"ˆØ—‘“ˆØ×#Ñ#Ó%ˆÜŸ™ 6Ø&*×&7Ñ&7Ø$(§G¡GØ*+Ø'+§z¡zÜ(,×(;Ñ(;ô=‰ˆ�ô Ÿ™ 6Ø&*×&7Ñ&7Ø$(§G¡GØ*+Ø'+§z¡zÜ(,×(;Ñ(;ô=‰ˆ�ô Ÿ™ 8Ø&*×&7Ñ&7Ø$(§G¡GØ*+Ø'+§z¡zÜ(,×(8Ñ(8ô:‰ˆ�ð 	”#�i“. *¨a¡-×!4Ñ!4Ó!6Ñ6Ñ6ˆÜ˜5 %Ô(Ü˜5 %Ô(Ü˜ ¨UÕ3ä�]‰]œ>Ó*ñ 	8Ü˜F F°Õ7÷	8÷ 	8ñ 	8ús   ÉI$É$I-c           	      ób  — | j                   €y t        j                  | j                   «      }t        j                  | j                   «      }|dz   }|dz   }|}|}t	        j
                  t        j                  |«      «      }||z  }t	        j
                  |«      }t        j                  ||g«      }t        j                  ||g«      }t        j                  |d«      }t        j                  |d«      }|j                  j                  «       }|j                  «       }	|j                  «       }t	        j                  |	| j                   | j                  d| j                  t        j                  t        j
                  ¬«      \  }
}t	        j                  || j                   | j                  d| j                  t        j                  t        j
                  ¬«      \  }}t	        j                  || j                   | j                  d| j                  t        j                  ¬«      \  }}|t!        |«      |dz  j#                  «       z  z  }t%        ||«       t%        ||«       t'        |
|d¬	«       t)        j*                  t,        «      5  t'        ||d¬	«       d d d «       y # 1 sw Y   y xY w)
NrT   r  r  r   )r*   rÕ   r—   rÖ   rq   r:   rØ   r  r   r.   rº   )r™   r   rŽ   r    r   r   r  r<   r  r=   r  rÛ   r—   rq   ra   r   r   rö   r   r   rV   rW   r  )r)   r  r  r  r	  r  r  r  r
  r  r  r  r  r  r  r  s                   r   Ú&test_psd_window_hanning_detrend_linearz3TestSpectral.test_psd_window_hanning_detrend_linear#  s!  € Ø×ÑÐ$ØÜ—	‘	˜$×+Ñ+Ó,ˆÜ—8‘8˜D×-Ñ-Ó.ˆØ�q‘ˆØ�s‘ˆØˆ	Øˆ	Ü×(Ñ(¬¯©°iÓ)@ÓAˆ
Ø 
Ñ*ˆ	Ü×'Ñ'¨	Ó2ˆ	Ü—	‘	˜6 6Ð*Ó+ˆÜ—9‘9˜i¨Ð3Ó4ˆÜ—‘˜˜wÓ'ˆÜ—7‘7˜8 WÓ-ˆØ—‘—‘Ó"ˆØ—‘“ˆØ×#Ñ#Ó%ˆÜŸ™ 6Ø&*×&7Ñ&7Ø$(§G¡GØ*+Ø'+§z¡zÜ)-×)<Ñ)<Ü(,×(;Ñ(;ô=‰ˆ�ô Ÿ™ 6Ø&*×&7Ñ&7Ø$(§G¡GØ*+Ø'+§z¡zÜ)-×)<Ñ)<Ü(,×(;Ñ(;ô=‰ˆ�ô Ÿ™ 8Ø&*×&7Ñ&7Ø$(§G¡GØ*+Ø'+§z¡zÜ(,×(8Ñ(8ô:‰ˆ�ð 	”#�i“. *¨a¡-×!4Ñ!4Ó!6Ñ6Ñ6ˆÜ˜5 %Ô(Ü˜5 %Ô(Ü˜ ¨UÕ3ä�]‰]œ>Ó*ñ 	8Ü˜F F°Õ7÷	8÷ 	8ñ 	8ús   ÊJ%Ê%J.c           	      óÚ  — g d¢}t        j                  t         j                   t         j                  | j                  «      }t        j                  | j                  «      }t        t        |«      «      D ]#  }|||   t        j                  ||z  «      z  z  }Œ% t        j                  | j                  | j                  | j                  d| j                  |d¬«      \  }}t        j                  | j                  | j                  | j                  d| j                  |¬«      \  }}t        ||j                  «       dz  z  || j                  z  |dz  j                  «       z  d¬«       y )	N)gÖ^úM˜Ë?gô+¥€ªÚ?g<¹ÿø­¾Ñ?g'Æÿneµ?gµ§å×t|?r   F)r*   rÕ   r—   rÖ   rq   rØ   Úscale_by_freqr  r   r.   rº   )r   r   r'   r©   r    Úranger   Úcosr   rÛ   r¥   r™   r—   rq   r   rö   )	r)   ÚaÚfacÚwinÚkrÆ   rÇ   Úspec_aÚfsp_as	            r   Útest_psd_window_flattopz$TestSpectral.test_psd_window_flattopR  s  € ò LˆÜ�k‰kœ2Ÿ5™5˜&¤"§%¡%¨×)?Ñ)?Ó@ˆÜ�h‰h�t×-Ñ-Ó.ˆÜ”s˜1“v“ò 	*ˆAØ�1�Q‘4œ"Ÿ&™&  S¡›/Ñ)Ñ)‰Cð	*ô —H‘H˜tŸv™vØ"&×"3Ñ"3Ø $§¡Ø&'Ø#'§:¡:Ø$'Ø+0ô2‰	ˆˆcô Ÿ™ 4§6¡6Ø&*×&7Ñ&7Ø$(§G¡GØ*+Ø'+§z¡zØ(+ô-‰ˆ�ô 	˜˜SŸW™W›Y¨™\Ñ)Ø˜tŸw™w™¨¨Q©§|¡|£~Ñ5Ø"ö	$r   c                 ó^  — | j                   }t        j                  | j                  | j                  | j
                  | j                  | j                  | j                  t        j                  | j                  «      ¬«      \  }}t        ||d¬«       |j                  |j                  k(  sJ ‚y )N©r*   rÕ   r—   rÖ   rç   rq   rØ   r¹   rº   )r¦   r   rÛ   r¥   r™   r—   rš   r›   rq   r   r   r©   r   rê   rò   s       r   Útest_psd_windowarrayz!TestSpectral.test_psd_windowarraym  s…   € Ø×"Ñ"ˆÜ—H‘H˜tŸv™vØ"&×"3Ñ"3Ø $§¡Ø&*×&8Ñ&8Ø$(×$7Ñ$7Ø#'§:¡:Ü$&§G¡G¨D×,BÑ,BÓ$CôE‰	ˆˆcô 	˜˜U¨Õ/Ø�z‰z˜UŸ[™[Ò(Ð(Ñ(r   c           
      ó°  — t        j                  t        j                  | j                  «      «      }t        j
                  | j                  | j                  | j                  | j                  | j                  | j                  t         j                  ¬«      \  }}t        j
                  | j                  | j                  | j                  | j                  | j                  | j                  t         j                  d¬«      \  }}t        j
                  | j                  | j                  | j                  | j                  | j                  | j                  t         j                  d¬«      \  }}t        ||«       t        ||«       t        ||«       t        ||dz  j                  «       z  || j                  z  |j                  «       dz  z  d¬«       y )Nr)  T)r*   rÕ   r—   rÖ   rç   rq   rØ   r  Fr   r.   rº   )r   r   r   r   r©   rÛ   r¥   r™   r—   rš   r›   rq   r   r   rö   )r)   r#  rÆ   rÇ   Úspec_sÚfsp_sÚspec_nÚfsp_ns           r   Ú"test_psd_windowarray_scale_by_freqz/TestSpectral.test_psd_windowarray_scale_by_freqy  s_  € Ü×!Ñ!¤"§'¡'¨$×*@Ñ*@Ó"AÓBˆä—H‘H˜tŸv™vØ"&×"3Ñ"3Ø $§¡Ø&*×&8Ñ&8Ø$(×$7Ñ$7Ø#'§:¡:Ü$(×$7Ñ$7ô9‰	ˆˆcô Ÿ™ 4§6¡6Ø&*×&7Ñ&7Ø$(§G¡GØ*.×*<Ñ*<Ø(,×(;Ñ(;Ø'+§z¡zÜ(,×(;Ñ(;Ø/3ô5‰ˆ�ô Ÿ™ 4§6¡6Ø&*×&7Ñ&7Ø$(§G¡GØ*.×*<Ñ*<Ø(,×(;Ñ(;Ø'+§z¡zÜ(,×(;Ñ(;Ø/4ô6‰ˆ�ô 	˜3 Ô&Ü˜3 Ô&Ü˜4 Ô(Ü˜  Q¡Ÿ|™|›~Ñ-Ø˜tŸw™w™ s§w¡w£y°!¡|Ñ3Ø"ö	$r   Úkind)rm   rÐ   rÑ   rÒ   c                 ó€  — | j                   } t        t        |› d�«      | j                  | j                  | j
                  | j                  ¬«      \  }}t        ||d¬«       |j                  |j                  k(  sJ ‚|dk(  r<| j                  ||| j                  «       | j                  |||| j                  «       y y )NÚ	_spectrum)r*   r—   rq   rç   r¹   rº   rÐ   )r§   ré   r   r¥   r—   rq   rž   r   rê   rÄ   r˜   rÁ   )r)   r1  rì   rÆ   rÇ   s        r   Útest_spectrumzTestSpectral.test_spectrumš  s©   € ð ×#Ñ#ˆØ5”GœD T F¨)Ð"4Ó5Ø�f‰fØ�w‰w˜dŸj™j°×1EÑ1EôG‰	ˆˆcô 	˜˜U¨Õ/Ø�z‰z˜UŸ[™[Ò(Ð(Ð(Ø�;ÒØ×Ñ˜t S¨$¯+©+Ô6Ø×Ñ˜T 5¨#¨t¯{©{Õ;ð r   r[   rÐ   rm   rÑ   rÒ   c           
      ó¸  — | j                   }t        j                  d| j                  | j                  | j
                  | j                  | j                  | j                  dœ|¤Ž\  }}}|j                  d«      dk(  rt        j                  |«      }t        j                  |d¬«      }t        ||d¬«       t        || j                  d¬«       |j                  d   |j                  d   k(  sJ ‚|j                  d   | j                  j                  d   k(  sJ ‚|j                  d«      d	vr{t        j                  |j!                  «       «      dk7  rUt        t        j"                  |d¬«      j!                  «       t        j                  |j!                  «       «      z  dd
¬«       |j                  d«      dvr| j%                  |||| j&                  «       y y )Nrþ   rÏ   rm   r2   r3   r¹   rº   r   )rm   rÑ   rÒ   g{®Gáz„?)rÑ   rÒ   rj   )r¨   r   rà   r¥   rŸ   r—   r    r¡   rq   Úgetr   r½   r$   r   r¢   rê   ÚmaxÚdiffrÁ   r˜   )r)   r[   rì   rÆ   rÇ   rí   Úspecms          r   Útest_specgramzTestSpectral.test_specgram§  s‚  € ð
 ×#Ñ#ˆÜ—}‘}ð / t§v¡vØ*.×*<Ñ*<Ø(,¯©Ø.2×.AÑ.AØ,0×,@Ñ,@Ø+/¯:©:ñ/ð (.ñ/‰ˆˆc�1ð �:‰:�fÓ Ò*Ü—6‘6˜$“<ˆDÜ—‘˜ 1Ô%ˆä˜˜U¨Õ/Ü˜˜4Ÿ?™?°Õ7à�z‰z˜!‰} §¡¨A¡Ò.Ð.Ð.Ø�z‰z˜!‰} §¡× 5Ñ 5°aÑ 8Ò8Ð8Ð8à�:‰:�fÓÐ%BÑBä�v‰v�d—h‘h“jÓ! QÒ&ÜÜ—G‘G˜D qÔ)×-Ñ-Ó/´"·&±&¸¿¹»Ó2DÑDÀaØõ ð �:‰:�fÓÐ%7Ñ7Ø×Ñ˜U E¨3°·±Õ<ð 8r   c                 óâ   — t        j                  t        d¬«      5  t        j                  | j
                  t        | j
                  «      | j                  ¬«       ddd«       y# 1 sw Y   yxY w)z+Warning should be raised if len(x) <= NFFT.zOnly one segment is calculated)Úmatch)r*   rÕ   r—   N)rV   ÚwarnsÚUserWarningr   rà   r¥   r   r—   ©r)   s    r   Útest_specgram_warn_only1segz(TestSpectral.test_specgram_warn_only1segÇ  sJ   € ä�\‰\œ+Ð-MÔNñ 	BÜ�M‰M˜DŸF™F¬¨T¯V©V«¸¿¹ÕA÷	B÷ 	Bñ 	Bús   œA A%Á%A.c           	      ó²  — t        j                  | j                  | j                  | j                  | j
                  | j                  | j                  ¬«      \  }}t        j                  | j                  | j                  | j                  | j                  | j
                  | j                  | j                  ¬«      \  }}t        ||«       t        ||«       y )Nrþ   rð   )r   rÛ   r¥   r™   r—   rš   r›   rq   rñ   r   r   )r)   ÚPxxÚfreqsxxÚPxyÚfreqsxys        r   Útest_psd_csd_equalzTestSpectral.test_psd_csd_equalÌ  s¢   € Ü—x‘x $§&¡&Ø%)×%6Ñ%6Ø#'§7¡7Ø)-×);Ñ);Ø'+×':Ñ':Ø&*§j¡jô2‰ˆˆWô —x‘x $§&¡&¨D¯F©FØ%)×%6Ñ%6Ø#'§7¡7Ø)-×);Ñ);Ø'+×':Ñ':Ø&*§j¡jô2‰ˆˆWô 	' s¨CÔ0Ü˜7 GÕ,r   c           	      óº  — t        j                  | j                  | j                  | j                  | j
                  | j                  | j                  ¬«      \  }}}t        j                  | j                  | j                  | j                  | j
                  | j                  | j                  |¬«      \  }}}t        ||«       t        ||«       t        ||«       y)zr
        Test that mlab.specgram without mode and with mode 'default' and 'psd'
        are all the same.
        rþ   ©r*   rÕ   r—   rÖ   rç   rq   rÏ   N)	r   rà   r¥   rŸ   r—   r    r¡   rq   r   )r)   rÏ   ÚspecaÚ	freqspecaÚtaÚspecbÚ	freqspecbÚtbs           r   Ú$test_specgram_auto_default_psd_equalz1TestSpectral.test_specgram_auto_default_psd_equalÜ  s±   € ô  $Ÿ}™}¨t¯v©vØ26×2DÑ2DØ04·±Ø6:×6IÑ6IØ48×4HÑ4HØ37·:±:ô ?Ñˆˆy˜"ô  $Ÿ}™}¨t¯v©vØ26×2DÑ2DØ04·±Ø6:×6IÑ6IØ48×4HÑ4HØ37·:±:Ø26ô 8Ñˆˆy˜"ô 	˜5 %Ô(Ü˜9 iÔ0Ü˜2˜rÕ"r   z
mode, convc                 óV   — t        j                  t        j                  | «      d¬«      S rG   )r   ÚunwraprÑ   ©r*   s    r   ú<lambda>zTestSpectral.<lambda>÷  s   € ¤§	¡	¬"¯(©(°1«+¸AÔ >€ r   c           	      óÌ  — t        j                  | j                  | j                  | j                  | j
                  | j                  | j                  d¬«      \  }}}t        j                  | j                  | j                  | j                  | j
                  | j                  | j                  |¬«      \  }}}t        ||«       t        ||«       t         ||«      |d¬«       y )Nrm   rH  r¹   rº   )
r   rà   r¥   rŸ   r—   r    r¡   rq   r   r   )	r)   rÏ   ÚconvÚspeccÚ	freqspeccÚtcr9  Ú	freqspecmÚtms	            r   Ú test_specgram_complex_equivalentz-TestSpectral.test_specgram_complex_equivalentó  sº   € ô  $Ÿ}™}¨t¯v©vØ26×2DÑ2DØ04·±Ø6:×6IÑ6IØ48×4HÑ4HØ37·:±:Ø2;ô =Ñˆˆy˜"ô  $Ÿ}™}¨t¯v©vØ26×2DÑ2DØ04·±Ø6:×6IÑ6IØ48×4HÑ4HØ37·:±:Ø26ô 8Ñˆˆy˜"ô 	˜9 iÔ0Ü˜2˜rÔ"Ü™˜U› U°Ö7r   c           	      ó  — t        j                  t        j                  | j                  «      «      }t        j
                  | j                  | j                  | j                  | j                  | j                  | j                  |¬«      \  }}t        j
                  | j                  | j                  | j                  | j                  | j                  | j                  ¬«      \  }}t        ||«       t        ||d¬«       y )Nr)  rþ   r.   rº   )r   r   r   r   r©   rÛ   r¥   r™   r—   rš   r›   rq   r   r   )r)   r#  rI  rÈ   rL  Úfspbs         r   Útest_psd_windowarray_equalz'TestSpectral.test_psd_windowarray_equal  sÀ   € Ü×!Ñ!¤"§'¡'¨$×*@Ñ*@Ó"AÓBˆÜ—h‘h §¡Ø$(×$5Ñ$5Ø"&§'¡'Ø(,×(:Ñ(:Ø&*×&9Ñ&9Ø%)§Z¡ZØ&)ô+‰ˆˆtô —h‘h §¡Ø$(×$5Ñ$5Ø"&§'¡'Ø(,×(:Ñ(:Ø&*×&9Ñ&9Ø%)§Z¡Zô1‰ˆˆtô 	˜4 Ô&Ü˜˜u¨5Ö1r   N)%rg   rh   ri   rV   Úfixturer·   rÁ   rÄ   rÚ   ÚmarkÚparametrizerÞ   rî   ró   rü   rÿ   r   r    r   rD   rŽ   ra   r  r  r  r'  r*  r0  r4  r:  r@  rF  rO  r½   rÑ   r[  r^  rj   r   r   rˆ   rˆ   ­   s+  „ ðD €V‡^�^˜'¨4Ô0ñR2ó 1ðR2òh'ò)ò0:ð" ‡[�[×Ñ˜V i°Ð%7Ó8ñ>ó 9ð>ð ‡[�[×Ñ˜\ò ,ó ñ
Dóð
Dò 	)ò
Hò	8ð ‡[�[×ÑØØ
�(‰(�D×%Ñ%Ð	&¨¯©°6Ð(:Ø
�)‰)�T×(Ñ(Ð	)¨B¯I©I°xÐ+@ð	BóCñ!8ó	Cð!8òF(8òT-8ò^$ò6
)ò$ðB ‡[�[×ÑØÒ:ó<ñ	<ó<ð	<ð ‡[�[×ÑØØ	ˆf�iÐ  6¨5 /°F¸KÐ3HØ
�)Ð	˜v wÐ/°&¸'Ð1Bð	DóEñ=ó	Eð=ò8Bò
-ð  ‡[�[×Ñ˜V i°Ð%7Ó8ñ#ó 9ð#ð, ‡[�[×ÑØØ˜"Ÿ&™&Ð!Ø�b—h‘hÐØÑ>Ð?ð
óñ8óð8ó(2r   rˆ   c                  óÜ  — d} t         j                  j                  d«       t         j                  j                  | «      }t        j                  |d«      }t        j
                  |t        j                  d«      dz  d¬«      }t        j                  ||ddd	¬
«      \  }}t        t        j                  |«      dd¬«       t        j                  t        j                  |«      «      sJ ‚y )Nrv   i!N,rÔ   g      4@Úsame)rÏ   rx   r   rw   )rÕ   r—   rÖ   gbX9´Èê?gü©ñÒMbP?rº   )r   r   r   ÚrandnÚrollÚconvolver   r   Úcoherer   r$   Úisreal)ÚNr*   r¥   ÚcohsqÚfs        r   Útest_cohererl  !  sŸ   € Ø€AÜ‡I�I‡N�N�8ÔÜ
�	‰	�‰˜Ó€Aä
�‰��2‹€Aä
�‰�A”r—w‘w˜r“{ SÑ(¨vÔ6€AÜ�{‰{˜1˜a c¨a¸#Ô>�H€Eˆ1Ü”B—G‘G˜E“N E°Õ6Ü�9‰9”R—W‘W˜U“^Ô$Ð$Ñ$r   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚTestGaussianKDEc                 ó°   — t        j                  d«      }t        j                  |«      }g d¢}t         j                  j                   ||«      |d¬«       y)zRegression test for #1181.rT   )çB…×\AÁ?ç­±øESÇ?gÔö
f§úÈ?rq  rp  é   ©ÚdecimalN)r   rŽ   r   ÚGaussianKDEÚtestingÚassert_array_almost_equal)r)   Úx1ÚkdeÚ
y_expecteds       r   Útest_kde_integer_inputz&TestGaussianKDE.test_kde_integer_input6  sC   € ä�Y‰Y�q‹\ˆÜ×Ñ˜rÓ"ˆò"ˆ
ä
�
‰
×,Ñ,©S°«W°jÈ!Ð,ÕLr   c                 óö   — t        j                  g d¢t        ¬«      }t        j                  ddd¬«      }g d¢}t	        j
                  |d«      } ||«      }t         j                  j                  ||d	¬
«       y )N©éùÿÿÿéûÿÿÿr2   rt   rT   )Údtypeiöÿÿÿru   rT   r�   )g>L\ž9™?gp4=¨?gùHŒ–êŸ«?g8(H	MT«?gÄ²™CR‘?Úscotté   rs  )r   r’   Úfloatr   r   ru  rv  rw  )r)   rx  Úxsrz  Úkde2Úy2s         r   Ú$test_gaussian_kde_covariance_cachingz4TestGaussianKDE.test_gaussian_kde_covariance_caching>  sb   € Ü�X‰XÒ'¬uÔ5ˆÜ�[‰[˜˜b aÔ(ˆò"ˆ
ô ×Ñ  GÓ,ˆÙ�"‹Xˆä
�
‰
×,Ñ,¨Z¸ÀQÐ,ÕGr   c                 ó<  — t         j                  j                  d«       d}t         j                  j                  |«      }t	        j
                  |«      }t	        j
                  |d«      }t	        j
                  ||j                  ¬«      }t        j                  ddd«      }|j                  |«      }|j                  |«      }|j                  «       |j                  «       k(  sJ ‚|j                  |«      }	|j                  «       |	j                  «       k(  sJ ‚y )NéîÀ… é2   r�  ©Ú	bw_methodr~  r‚  é3   )
r   r   r   rd  r   ru  Úfactorr   ÚevaluateÚall)
r)   Ún_basesampleÚxnÚgkdeÚgkde2Úgkde3r„  ÚkdepdfÚkdepdf2Úkdepdf3s
             r   Útest_kde_bandwidth_methodz)TestGaussianKDE.test_kde_bandwidth_methodL  sÓ   € ä
�	‰	�‰�wÔØˆÜ�Y‰Y�_‰_˜\Ó*ˆô ×Ñ Ó#ˆä× Ñ   WÓ-ˆä× Ñ  ¨t¯{©{Ô;ˆä�[‰[˜˜Q Ó#ˆØ—‘˜rÓ"ˆØ—.‘. Ó$ˆØ�z‰z‹|˜wŸ{™{›}Ò,Ð,Ð,Ø—.‘. Ó$ˆØ�z‰z‹|˜wŸ{™{›}Ò,Ð,Ñ,r   N)rg   rh   ri   r{  r‡  r™  rj   r   r   rn  rn  4  s   „ òMòHó-r   rn  c                   óN   — 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y)ÚTestGaussianKDECustomc                 óŠ   — t        j                  t        «      5  t        j                  g «       ddd«       y# 1 sw Y   yxY w)z(Pass no data into the GaussianKDE class.N©rV   rW   rX   r   ru  r?  s    r   Útest_no_dataz"TestGaussianKDECustom.test_no_datab  s1   € ä�]‰]œ:Ó&ñ 	!Ü×Ñ˜RÔ ÷	!÷ 	!ñ 	!ús	   š9¹Ac                 óŒ   — t        j                  t        «      5  t        j                  dg«       ddd«       y# 1 sw Y   yxY w)z9Pass a single dataset element into the GaussianKDE class.é*   Nr�  r?  s    r   Útest_single_dataset_elementz1TestGaussianKDECustom.test_single_dataset_elementg  s3   € ä�]‰]œ:Ó&ñ 	#Ü×Ñ˜b˜TÔ"÷	#÷ 	#ñ 	#ús	   š:ºAc                 óð   — t        j                  g d¢g d¢g d¢g«      }t        j                  t         j                  j
                  «      5  t        j                  |d«       ddd«       y# 1 sw Y   yxY w)z/Test silverman's for a multi-dimensional array.©r2   r   é   ©rt   rT   rr  ©r‚  é   r×   Ú	silvermanN©r   r’   rV   rW   ÚlinalgÚLinAlgErrorr   ru  ©r)   rx  s     r   Útest_silverman_multidim_datasetz5TestGaussianKDECustom.test_silverman_multidim_datasetl  sR   € ä�X‰X’y¢)ªYÐ7Ó8ˆÜ�]‰]œ2Ÿ9™9×0Ñ0Ó1ñ 	.Ü×Ñ˜R Ô-÷	.÷ 	.ñ 	.úó   ÁA,Á,A5c                 ó˜   — t        j                  g d¢«      }t        j                  |d«      }d}t	        |j                  «       |d«       y)z4Test silverman's output for a single dimension list.r}  r¨  g/²ŒÄ‘è?r‚  N©r   r’   r   ru  r   Úcovariance_factor©r)   rx  Úmygaussrz  s       r   Ú test_silverman_singledim_datasetz6TestGaussianKDECustom.test_silverman_singledim_datasetr  s=   € ä�X‰XÒ'Ó(ˆÜ×"Ñ" 2 {Ó3ˆØ(ˆ
Ü˜G×5Ñ5Ó7¸ÀQÕGr   c                 óð   — t        j                  g d¢g d¢g d¢g«      }t        j                  t         j                  j
                  «      5  t        j                  |d«       ddd«       y# 1 sw Y   yxY w)z2Test scott's output for a multi-dimensional array.r£  r¥  r¦  r�  Nr©  r¬  s     r   Útest_scott_multidim_datasetz1TestGaussianKDECustom.test_scott_multidim_datasety  sR   € ä�X‰X’y¢)ªYÐ7Ó8ˆÜ�]‰]œ2Ÿ9™9×0Ñ0Ó1ñ 	*Ü×Ñ˜R Ô)÷	*÷ 	*ñ 	*úr®  c                 ó˜   — t        j                  g d¢«      }t        j                  |d«      }d}t	        |j                  «       |d«       y)z/Test scott's output a single-dimensional array.r}  r�  gŽ¦	e1ç?r‚  Nr°  r²  s       r   Útest_scott_singledim_datasetz2TestGaussianKDECustom.test_scott_singledim_dataset  s=   € ä�X‰XÒ'Ó(ˆÜ×"Ñ" 2 wÓ/ˆØ(ˆ
Ü˜G×5Ñ5Ó7¸ÀQÕGr   c                 óŽ   — t        j                  t        «      5  t        j                  g d¬«       ddd«       y# 1 sw Y   yxY w)z0Test the scalar's cov factor for an empty array.rT   r‹  Nr�  r?  s    r   Útest_scalar_empty_datasetz/TestGaussianKDECustom.test_scalar_empty_dataset†  s3   € ä�]‰]œ:Ó&ñ 	.Ü×Ñ˜R¨1Õ-÷	.÷ 	.ñ 	.ús	   š;»Ac                 ó  — t         j                  j                  d«       d}t        d«      D �cg c]!  }t         j                  j	                  |«      ‘Œ# }}t        j                  |d¬«      }|j                  «       dk(  sJ ‚yc c}w )zTest a scalar's cov factor.r‰  rŠ  rT   g      à?r‹  N©r   r   r   r  rd  r   ru  r±  )r)   r‘  r¶   Úmultidim_datary  s        r   Útest_scalar_covariance_datasetz4TestGaussianKDECustom.test_scalar_covariance_dataset‹  sj   € ä
�	‰	�‰�wÔØˆÜ@EÀaÃÖI¸1œŸ™Ÿ™¨Õ6ÐIˆÐIä×Ñ˜}¸Ô<ˆØ×$Ñ$Ó&¨#Ò-Ð-Ñ-ùò Js   ¯&Bc                 ó  — t         j                  j                  d«       d}t        d«      D �cg c]!  }t         j                  j	                  |«      ‘Œ# }}d„ }t        j                  ||¬«      }|j                  «       dk(  sJ ‚yc c}w )z=Test the callable's cov factor for a multi-dimensional array.r‰  rŠ  rT   c                  ó   — y)Nçš™™™™™á?rj   rR  s    r   Úcallable_funzLTestGaussianKDECustom.test_callable_covariance_dataset.<locals>.callable_funš  s   € Ør   r‹  rÁ  Nr¼  )r)   r‘  r¶   r½  rÂ  ry  s         r   Ú test_callable_covariance_datasetz6TestGaussianKDECustom.test_callable_covariance_dataset”  so   € ä
�	‰	�‰�wÔØˆÜ@EÀaÃÖI¸1œŸ™Ÿ™¨Õ6ÐIˆÐIò	ä×Ñ˜}¸ÔEˆØ×$Ñ$Ó&¨$Ò.Ð.Ñ.ùò Js   ¯&Bc                 óì   — t         j                  j                  d«       d}t         j                  j                  |«      }t	        j
                  |d¬«      }d}t        |j                  «       |d«       y)z>Test the callable's cov factor for a single-dimensional array.r‰  rŠ  r¨  r‹  g}ÇB8 ß?r‚  N)r   r   r   rd  r   ru  r   r±  )r)   r‘  r½  ry  rz  s        r   Útest_callable_singledim_datasetz5TestGaussianKDECustom.test_callable_singledim_datasetŸ  sU   € ä
�	‰	�‰�wÔØˆÜŸ	™	Ÿ™¨Ó5ˆä×Ñ˜}¸ÔDˆØ(ˆ
Ü˜C×1Ñ1Ó3°ZÀÕCr   c                 ó  — t         j                  j                  d«       d}t         j                  j                  |«      }t	        j
                  t        «      5  t        j                  |d¬«       ddd«       y# 1 sw Y   yxY w)z@Test the error message that should be called when bw is invalid.r‰  rŠ  Úinvalidr‹  N)	r   r   r   rd  rV   rW   rX   r   ru  )r)   r‘  Údatas      r   Útest_wrong_bw_methodz*TestGaussianKDECustom.test_wrong_bw_method©  sZ   € ä
�	‰	�‰�wÔØˆÜ�y‰y�‰˜|Ó,ˆÜ�]‰]œ:Ó&ñ 	8Ü×Ñ˜T¨YÕ7÷	8÷ 	8ñ 	8ús   ÁA;Á;BN)rg   rh   ri   rž  r¡  r­  r´  r¶  r¸  rº  r¾  rÃ  rÅ  rÉ  rj   r   r   r›  r›  a  s<   „ ò!ò
#ò
.òHò*òHò.ò
.ò	/òDó8r   r›  c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestGaussianKDEEvaluatec                 óö   — t        j                  ddd«      }t        j                  |«      }t        j                  ddd«      }g d¢}|j	                  |«      }t         j
                  j                  ||d«       y)zr
        Test the evaluate method when the dim's of dataset and points have
        different dimensions.
        r¤  ru   r   é   )ç¸ÁXø]…¶?çAò²G$¾?rÏ  rÎ  gä;ç]«ó¢?r‚  N©r   rŽ   r   ru  r�  rv  rw  )r)   rx  ry  Úx2rz  r¥   s         r   Útest_evaluate_diff_dimz.TestGaussianKDEEvaluate.test_evaluate_diff_dim´  se   € ô
 �Y‰Y�q˜"˜aÓ ˆÜ×Ñ˜rÓ"ˆÜ�Y‰Y�q˜"˜aÓ ˆò
ˆ
ð �L‰L˜ÓˆÜ
�
‰
×,Ñ,¨Q°
¸AÕ>r   c                 ó<  — t         j                  j                  d«       d}t         j                  j                  |«      }t	        j
                  |«      }dgdgdgg}t        j                  t        «      5  |j                  |«       ddd«       y# 1 sw Y   yxY w)z—
        Invert the dimensions; i.e., for a dataset of dimension 1 [3, 2, 4],
        the points should have a dimension of 3 [[3], [2], [4]].
        r‰  rŠ  r2   r   r¤  N)
r   r   r   rd  r   ru  rV   rW   rX   r�  )r)   r‘  r½  ry  rÑ  s        r   Útest_evaluate_inv_dimz-TestGaussianKDEEvaluate.test_evaluate_inv_dimÂ  sy   € ô
 	�	‰	�‰�wÔØˆÜŸ	™	Ÿ™¨Ó5ˆÜ×Ñ˜}Ó-ˆØˆc�A�3˜˜ˆ_ˆÜ�]‰]œ:Ó&ñ 	Ø�L‰L˜Ô÷	÷ 	ñ 	ús   Á7BÂBc                 óò   — t        j                  ddd«      }t        j                  dg«      }t        j                  |«      }dg}|j                  |«      }t         j                  j                  ||d«       y)z-Tests if evaluated against a one by one arrayr¤  ru   r   rÎ  r‚  N)r   rŽ   r’   r   ru  r�  rv  rw  ©r)   rx  rÑ  ry  rz  r¥   s         r   Útest_evaluate_dim_and_numz1TestGaussianKDEEvaluate.test_evaluate_dim_and_numÏ  s^   € ä�Y‰Y�q˜"˜aÓ ˆÜ�X‰X�q�c‹]ˆÜ×Ñ˜rÓ"ˆØ �\ˆ
Ø�L‰L˜ÓˆÜ
�
‰
×,Ñ,¨Q°
¸AÕ>r   c                 ó6  — t        j                  ddd«      }t        j                  ddd«      t        j                  ddd«      g}t        j                  |«      }t	        j
                  t        «      5  |j                  |«       d d d «       y # 1 sw Y   y xY w)Nr¤  ru   r   )r   rŽ   r   ru  rV   rW   rX   r�  )r)   rx  rÑ  ry  s       r   Útest_evaluate_point_dim_not_onez7TestGaussianKDEEvaluate.test_evaluate_point_dim_not_oneØ  su   € Ü�Y‰Y�q˜"˜aÓ ˆÜ�i‰i˜˜2˜qÓ!¤2§9¡9¨Q°°AÓ#6Ð7ˆÜ×Ñ˜rÓ"ˆÜ�]‰]œ:Ó&ñ 	Ø�L‰L˜Ô÷	÷ 	ñ 	ús   Á4BÂBc                 óö   — t        j                  ddd«      }t        j                  ddd«      }t        j                  |«      }g d¢}|j	                  |«      }t         j
                  j                  ||d«       y )Nr¤  ru   r   r§  )rÎ  rÏ  rÏ  r‚  rÐ  rÖ  s         r   Ú"test_evaluate_equal_dim_and_num_ltz:TestGaussianKDEEvaluate.test_evaluate_equal_dim_and_num_ltß  s_   € Ü�Y‰Y�q˜"˜aÓ ˆÜ�Y‰Y�q˜!˜QÓˆÜ×Ñ˜rÓ"ˆÚ9ˆ
Ø�L‰L˜ÓˆÜ
�
‰
×,Ñ,¨Q°
¸AÕ>r   N)rg   rh   ri   rÒ  rÔ  r×  rÙ  rÛ  rj   r   r   rË  rË  ²  s   „ ò?òò?òó?r   rË  c                  óÈ  — t        j                  g d¢«      } d}t        j                  t         j                  j                  | «      |z  «      dz  || j                  z  z  }t        j                  | | j                  d|z  t
        j                  t
        j                  dd d d¬«	      \  }}t        j                  |d   g|dd |dd  d d d	…   z   «      }t        ||d
¬«       y )N©r   r2   r   r¤  r2   r   r2   ç      ð?r   r2   r   rr   ©rÕ   r—   rØ   r:   rÖ   rç   r  rq   rt   rO   r¹   rº   )r   r’   r½   ÚfftÚsizer   rÛ   r   r9   Úappendr   ©ÚuÚdtÚSuÚPrk  ÚSu_1sides         r   Útest_psd_onesided_normré  è  s¿   € Ü
�‰Ò&Ó'€AØ	€BÜ	�‰”—‘—
‘
˜1“ Ñ"Ó	# QÑ	&¨"¨q¯v©v©+Ñ	6€BÜ�8‰8�A˜AŸF™F q¨¡t´D×4DÑ4DÜ ×-Ñ-¸À$Ø"&Ø$ô&�D€A€qô �y‰y˜"˜Q™%˜ " Q q '¨B¨q¨r¨F±4°R°4©LÑ"8Ó9€HÜ�A�x eÖ,r   c                  ó  — t        j                  g d¢«      } d}t        j                  t         j                  j                  | «      |z  «      dz  || j                  z  z  }t        j                  | | j                  dz  d|z  t
        j                  t
        j                  dddd¬«	      \  }}t        j                  |d   g|dd	 |d	d ddd
…   z   «      }t        t        j                  |«      t        j                  |«      «       y)z&Test the case len(x) < NFFT for psd().rÝ  rÞ  r   r2   r   Nrr   rß  rt   rO   )r   r’   r½   rà  rá  r   rÛ   r   r9   râ  r   rö   rã  s         r   Útest_psd_oversamplingrë  ô  sÒ   € ä
�‰Ò&Ó'€AØ	€BÜ	�‰”—‘—
‘
˜1“ Ñ"Ó	# QÑ	&¨"¨q¯v©v©+Ñ	6€BÜ�8‰8�A˜AŸF™F 1™H¨¨2©´d×6FÑ6FÜ ×-Ñ-¸À$Ø"&Ø$ô&�D€A€qô �y‰y˜"˜Q™%˜ " Q q '¨B¨q¨r¨F±4°R°4©LÑ"8Ó9€HÜœŸ™˜q›	¤2§6¡6¨(Ó#3Õ4r   )Únumpy.testingr   r   r   r   Únumpyr   rV   Ú
matplotlibr   r   r   r`  ra  rˆ   rl  rn  r›  rË  ré  rë  rj   r   r   ú<module>rï     s©  ð÷Oó Oã Û å òI÷V<ñ V<ðr ‡�×Ñ˜ u¨d mØ$ iÐ0¸ð ó Aà‡�×Ñ˜Ò"EØ&ð ó (à‡�×ÑØLà	ˆT�2�r˜2˜rÐ"Ø
ˆˆd�B˜˜B Ð#Ú	�T˜2˜r 2 rÐ*Ø	ˆT�4˜˜R Ð&Ø	ˆT�2�r˜4 Ð&Ø	ˆT�4˜˜T 4Ð(Ø	ˆT�3˜˜B Ð$Ø	ˆS�"�b˜"˜cÐ"Ø	ˆS�"�b˜"˜dÐ#Ø	ˆS�#�r˜3 Ð$Ø	ˆT�2�r˜2˜rÐ"ðò	ð ð9 ó ÷:O	2ð O	2ó;ó(óAðBO	2òf
%÷&*-ñ *-÷ZN8ñ N8÷b3?ñ 3?òl	-ó
5r   