ó
    {ñ:i¥  ã                   ó  • S SK JrJrJrJr  S SKrS SKrS SKJ	r	  S r
 " S S5      r\R                  R                  SSS	/S
S/SS9\R                  R                  S/ SQSS9\R                  R                  S/ SSSSS4S/SSSSS4/ SQSSSSS4/ SSSSS4/ SSSSS4/ SSSSS4/ SSSSS4/ SSSSS4/ SSSSS4/ SSSSS4/ SSSSS4// SQSS9 " S S5      5       5       5       rS  r " S! S"5      r " S# S$5      r " S% S&5      rS' rS( rg))é    )Úassert_allcloseÚassert_almost_equalÚassert_array_equalÚassert_array_almost_equal_nulpN)Úmlabc                  ó0  • [         R                  R                  S5        Sn [         R                  R                  U 5      S-   n[         R                  " U 5      n[        [        R                  " U5      U5        [        [        R                  " U5      U5        [        [         R                  " [        U5      5      U-  [        R                  " U5      5        [        [         R                  " [        U5      5      [        R                  " U5      5        g )Nr   éè  éd   )ÚnpÚrandomÚseedÚstandard_normalÚonesr   r   Úwindow_noneÚhanningÚlenÚwindow_hanning)ÚnÚrandr   s      Ú]/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/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                   óV   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rSrg)ÚTestDetrendé   c                 ó@  • [         R                  R                  S5        Sn[         R                  " SSU5      n[         R                  " U5      U l        U R
                  S-   U l        [         R                  " SSU5      U l        X"R                  5       -
  U l	        [         R                  R                  U5      [         R                  " US-  [         R                  -  US-  -  5      -   U l        U =R                  U R                  R                  5       -  sl        g )	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_methodÚ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                 ó   • [        USS06  g )NÚatolç:Œ0âŽyE>)r   )r*   Úargss     r   ÚallcloseÚTestDetrend.allclose$   s   € Ü˜Ð) DÓ)r   c                 óX  • [         R                  " S5      S:X  d   e[         R                  " SSS9S:X  d   e[         R                  " SSS9S:X  d   e[         R                  " S[         R                  S9S:X  d   eSU R                  U R                  U R
                  U R
                  U R                  -   U R                  -   R                  5       [        R                  " U R
                  U R
                  U R                  -   U R
                  U R                  -   U R
                  U R                  -   U R                  -   /5      [        R                  " U R
                  U R
                  U R                  -   U R
                  U R                  -   U R
                  U R                  -   U R                  -   /5      R                  4 H`  n[        U[        R                  5      (       a"  [        [         R                  " U5      U5        MD  [         R                  " U5      U:X  a  M`   e   g )Nr   é   ©ÚaxisÚnone©Úkeyç      @)r   Údetrend_noneÚdetrendr#   r$   r)   Útolistr   ÚvstackÚTÚ
isinstanceÚndarrayr   ©r*   Úsigs     r   Útest_detrend_noneÚ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ó
ˆCô ˜#œrŸz™z×*Ñ*Ü"¤4×#4Ò#4°SÓ#9¸3Ö?ä×(Ò(¨Ó-°Õ4Ð4Ð4ò
r   c                 ó¶  • S Hc  n[         R                  " U5      S:X  d   e[         R                  " USS9S:X  d   e[         R                  " U[         R                  S9S:X  a  Mc   e   U R                  [         R                  " U R                  5      U R                  5        U R                  [         R                  " U R
                  5      U R
                  5        U R                  [         R                  " U R
                  U R                  -   5      U R
                  5        U R                  [         R                  " U R
                  U R                  -   5      U R
                  U R                  -   5        U R                  [         R                  " U R
                  U R                  -   U R                  -   5      U R
                  U R                  -   5        g )N)r   r;   r   r%   r9   )	r   Údetrend_meanr=   r2   r"   r)   r#   r$   r&   rC   s     r   Útest_detrend_meanÚTestDetrend.test_detrend_mean=   sH  € ÛˆCÜ×$Ò$ SÓ)¨RÓ/Ð/Ð/Ü—<’< ¨Ñ0°BÓ6Ð6Ð6Ü—<’< ¬×):Ñ):Ñ;¸rÕAÐAÐAñ ð
 	�‰”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                 óš  • U R                   U R                  -   U R                  -   nU R                   U R                  -   nU R	                  [
        R                  " USS9U5        U R	                  [
        R                  " UR                  5       5      U5        U R	                  [
        R                  " UR                  5       SS9U5        g ©Nr   r6   )r)   r$   r#   r&   r2   r   rH   r>   ©r*   ÚinputÚtargets      r   Ú4test_detrend_mean_1d_base_slope_off_list_andor_axis0Ú@TestDetrend.test_detrend_mean_1d_base_slope_off_list_andor_axis0M   sŒ   € Ø—‘ §¡Ñ.°·±Ñ=ˆØ—‘ ×!4Ñ!4Ñ4ˆØ�‰”d×'Ò'¨°AÑ6¸Ô?Ø�‰”d×'Ò'¨¯©«Ó7¸Ô@Ø�‰”d×'Ò'¨¯©«¸QÑ?ÀÕHr   c                 óÚ  • [         R                  " U R                  U R                  U R                  -   /5      n[         R                  " U R                  U R                  /5      nU R                  [        R                  " U5      U5        U R                  [        R                  " US S9U5        U R                  [        R                  " UR                  S S9R                  U5        U R                  [        R                  " U5      U5        U R                  [        R                  " US S9U5        U R                  [        R                  " UR                  SS S9UR                  5        [         R                  " U R                  U R                  U R                  -   U R                  U R                  -   U R                  U R                  -   U R                  -   /5      n[         R                  " U R                  U R                  U R                  U R                  -   U R                  U R                  -   /5      nU R                  [        R                  " UR                  SS9UR                  5        U R                  [        R                  " USS9U5        U R                  [        R                  " USS9U5        U R                  [        R                  " USSS9U5        U R                  [        R                  " UR                  SSS9UR                  5        U R                  [        R                  " UR                  [        R                  SS9UR                  5        g )	Nr6   Úconstant©r:   r7   r   r5   éÿÿÿÿÚdefaultr%   )r   r?   r#   r)   r"   r2   r   rH   r@   r=   r$   r&   rM   s      r   Útest_detrend_mean_2dÚ 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                 óš  • U R                   [        R                     SS04U R                   [        R                     SS04SSS04U R                   SS04U R                   [        R                     SS044 H?  u  p[        R                  " [
        5         [        R                  " U40 UD6  S S S 5        MA     g ! , (       d  f       MS  = f)	Nr:   Úspamé   r;   r7   r   r5   r   )r$   r   ÚnewaxisÚpytestÚraisesÚ
ValueErrorr   r=   ©r*   ÚsignalÚkwargss      r   Útest_detrend_ValueErrorÚ#TestDetrend.test_detrend_ValueErrorq   s§   € à—‘¤§
¡
Ñ+¨e°V¨_Ð=Ø—‘¤§
¡
Ñ+¨e°Q¨ZÐ8Ø�v˜q�kÐ"Ø—‘ &¨! Ð-Ø—‘¤§
¡
Ñ+¨f°a¨[Ð9ó
‰NˆFô —’œzÕ*Ü—’˜VÑ. vÒ.÷ +Ñ*ò
÷ +Ö*ús   ÂB;Â;
C
	c                 ó  • SSS04U R                   SS04U R                   [        R                     SS044 H?  u  p[        R                  " [
        5         [        R                  " U40 UD6  S S S 5        MA     g ! , (       d  f       MS  = f)Nr;   r7   r   r5   r   )r$   r   r\   r]   r^   r_   r   rH   r`   s      r   Útest_detrend_mean_ValueErrorÚ(TestDetrend.test_detrend_mean_ValueError|   sw   € à�v˜q�kÐ"Ø—‘ &¨! Ð-Ø—‘¤§
¡
Ñ+¨f°a¨[Ð9ó
‰NˆFô
 —’œzÕ*Ü×!Ò! &Ñ3¨FÒ3÷ +Ñ*ò
÷
 +Ö*ús   ÁA;Á;
B
	c                 óÊ  • [         R                  " S5      S:X  d   e[         R                  " S5      S:X  d   e[         R                  " SSS9S:X  d   e[         R                  " S[         R                  S9S:X  d   eU R                  U R                  U R                  U R                  -   4 H3  nU R                  [         R                  " U5      U R                  5        M5     g )Nr   r;   Úlinearr9   )r   Údetrend_linearr=   r#   r$   r2   r"   rC   s     r   Útest_detrend_linearÚTestDetrend.test_detrend_linear…   sµ   € ä×"Ò" 2Ó&¨"Ó,Ð,Ð,Ü×"Ò" 3Ó'¨2Ó-Ð-Ð-Ü�|Š|˜C XÑ.°"Ó4Ð4Ð4Ü�|Š|˜C¤T×%8Ñ%8Ñ9¸RÓ?Ð?Ð?à—‘Ø—‘Ø—‘ §¡Ñ-ó
ˆCð
 �M‰Mœ$×-Ò-¨cÓ2°D·N±NÖCò
r   c                 óf  • U R                   U R                  -   nU R                  nU R                  [        R
                  " USS9U5        U R                  [        R
                  " U[        R                  S9U5        U R                  [        R                  " UR                  5       5      U5        g )Nri   r9   )r$   r#   r"   r2   r   r=   rj   r>   rM   s      r   Útest_detrend_str_linear_1dÚ&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                 ó|  • [         R                  " U R                  U R                  U R                  U R                  -   /5      n[         R                  " U R                  U R                  U R                  /5      nU R                  [        R                  " UR                  SSS9UR                  5        U R                  [        R                  " UR                  [        R                  SS9UR                  5        U R                  [        R                  " USSS9U5        U R                  [        R                  " U[        R                  SS9U5        [        R                  " [        5         [        R                  " U R                  [         R                     5        S S S 5        g ! , (       d  f       g = f)Nri   r   rT   r5   )r   r?   r#   r$   r"   r2   r   r=   r@   rj   r]   r^   r_   r\   rM   s      r   Útest_detrend_linear_2dÚ"TestDetrend.test_detrend_linear_2d™   s)  € Ü—	’	˜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   Å22F-Æ-
F;)r)   r#   r$   r&   r"   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r,   r2   rE   rI   rP   rW   rc   rf   rk   rn   rq   Ú__static_attributes__© r   r   r   r      s=   † ò.ò*ò5ò,1ò IòLò:	/ò4òDòCõ<r   r   Ú	iscomplexFTÚrealÚcomplexÚclass)ÚidsÚscopeÚsides)ÚonesidedÚtwosidedrV   )r~   zFfstims,len_x,NFFT_density,nover_density,pad_to_density,pad_to_spectrumrU   é   )r‚   r[   é
   é   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                   ót  • \ rS rSr\R
                  " SSS9S 5       rS rS rS r	\R                  R                  S	S
S/5      S 5       r\R                  R                  S/ SQ5      S 5       rS rS rS r\R                  R                  S\R$                  \R(                  4\R$                  S4\R*                  \R,                  4\R*                  S4/5      S 5       rS rS rS rS rS r\R                  R                  S/ SQ5      S 5       r\R                  R                  S0 S	S
0S	S0S	S 0S	S!0S	S"0S	S#0/5      S$ 5       rS% rS& r \R                  R                  S	S
S/5      S' 5       r!\R                  R                  S(S \RD                  4S"\RF                  4S#S) 4/5      S* 5       r$S+ r%S,r&g-).ÚTestSpectralé­   r|   T)r~   Úautousec
                 ó¨  • Sn
[         R                  " SSSU
-  5      nUb  US U nU Vs/ s H  oÊU-  PM	     nnUc  SnOUS:  a  S=pÖOUnUc  SnOUS:  a  US-  =pçOUnUc  UnOAUS:  a9  [        S[         R                  " [         R                  " U5      5      -  5      nUnOUnU	c  [        U5      nOU	S:  a  [        U5      =nn	OU	nU	c  U=nnO[        U5      =nnSnUnUnUnUnUnUS:X  d  US	:X  aœ  U(       d•  US-  (       a!  [         R                  " SU
S-  US
S9S S S2   nO[         R                  " SU
S-  US-  S-   S9nUS-  (       a!  [         R                  " SU
S-  US
S9S S S2   nOÀ[         R                  " SU
S-  US-  S-   S9nO US-  (       a(  [         R                  " U
* S-  U
S-  SU-  S
S9SS S2   nO[         R                  " U
* S-  U
S-  US
S9nUS-  (       a(  [         R                  " U
* S-  U
S-  SU-  S
S9SS S2   nO[         R                  " U
* S-  U
S-  US
S9nUnUS-  n[        U5      US-  -
  S-   nUU-
  nUUUU2   nUS-  (       a  USU
-  S-  -  n[        U5      S:X  a  [         R                  " USU
-  -  /5      n[         R                  " USU
-  -  /5      n Un![         R                  " U5      n"[        U5       H;  u  n#nU"[         R                  " XË-  [         R                  -  S-  5      SU#-  -  -  n"M=     U(       a  U"R                  S5      n"UR                  n$U
U$l        UU$l        UU$l        UU$l        UU$l        UU$l        UU$l        UU$l        U	U$l        UU$l        UU$l        UU$l        UU$l        U!U$l        U U$l        U"U$l        UU$l        UU$l        UU$l         UU$l!        g s  snf )Nr   r   rƒ   r5   r†   r
   r   r€   rV   F)ÚnumÚendpoint©rš   r{   )"r   ÚarangeÚintÚceilÚlog2r   r    ÚarrayÚ
zeros_likeÚ	enumerater'   r(   ÚastypeÚclsÚFsr   Ú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§   ry   r   Ú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   ÚstimÚTestSpectral.stimÏ   s†  € ð ˆä�IŠI�a˜˜Q ™VÓ$ˆØÑØ�&�5�	ˆAñ +1Ó1ª& �u”*©&ˆÐ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˜!ÓˆÜ! &Ö)‰HˆAˆuØ”—’˜™	¤B§E¡EÑ)¨AÑ-Ó.°°Q±Ñ6Ñ6ŠAñ *ö Ø—‘˜Ó#ˆAð
 �k‰kˆàˆŒØˆŒ	ØˆŒ
à'ˆÔØ)ˆÔØ+ˆÔà)ˆÔØ+ˆÔØ-ˆÔà)ˆÔØ+ˆÔØ-ˆÔà#ˆŒØ!ˆŒØ#ˆŒØˆŒà)ˆÔØ+ˆÔØ+ˆÔà 1ˆÕùòS 2s   ªOc                 ó"  • UR                  5       S:X  d   eUR                  5       [        U5      S-
  :X  d   e[        X2SS9  U HG  n[        R
                  " X5-
  5      R                  5       nX   XS-      :”  d   eX   XS-
     :”  a  MG   e   g )Nr   r5   ç�íµ ÷Æ°>©r/   r   )ÚargminÚargmaxr   r   r   Úabs)r*   ÚvalsÚ	targfreqsÚresfreqsr§   r»   rÅ   s          r   Úcheck_freqsÚ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                 ó¤  • [        U5      S:X  a  g UR                  5       S:  aW  [        R                  " U5      nUR	                  5       nU R                  US U US U U5        U R                  XS  XES  U5        g US S  nUR                  5       nU(       a9  UR                  5       nX(   n	[        X–S   5        US	 SXxS-
  US-   & U(       a  M8  g g )Nr   rU   r[   )	r   Úminr   rÍ   rË   Úcheck_maxfreqÚcopyrÌ   r   )
r*   ÚspecÚfspr§   ÚfspaÚzeroindÚfstimstÚspectÚmaxindÚmaxfreqs
             r   rÕ   Ú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 H˜~¨t°H¨~¸vÔFØà™�)ˆØ—	‘	“ˆö Ø—\‘\“^ˆFØ‘kˆGÜ °©Ô5Ø˜�Ø'(ˆE˜‘(˜6 !™8Ð$÷ Šgr   c                 óÚ  • U R                   S-   SS.U R                   S-   SS.U R                   S-   SS.U R                   S-   SS.SS0U R                   S	S
.U R                   SSS.SSS.U R                   S[        R                  " S5      S.4	 HH  n[        R                  " [
        5         [        R                  " SSU R                   0UD6  S S S 5        MJ     g ! , (       d  f       M\  = f)Nr5   r{   )r´   ÚmodeÚ	magnitudeÚangleÚphaserá   rZ   Úeggs)r´   r   rƒ   r   )r´   ÚNFFTÚnoverlap)ræ   rç   é	   )r´   ræ   Úwindowr+   rx   )r´   r   r   r]   r^   r_   r   Ú_spectral_helper)r*   rb   s     r   Útest_spectral_helper_raisesÚ(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á   rV   Úpsdc                 óª   • [         R                  " [        5         [        R                  " U R
                  US9  S S S 5        g ! , (       d  f       g = f)N)r+   rá   )r]   r^   r_   r   Ú_single_spectrum_helperr´   )r*   rá   s     r   Ú-test_single_spectrum_helper_unsupported_modesÚ:TestSpectral.test_single_spectrum_helper_unsupported_modes–  s.   € ä�]Š]œ:Õ&Ü×(Ò(¨4¯6©6¸Ò=÷ '×&Ö&ús   › AÁ
Az
mode, case))rí   Údensity)râ   Úspecgram)râ   Úspectrumc                 óâ  • [        U SU 35      n[        R                  " U R                  U R                  [        U SU 35      U R                  [        U SU 35      [        U SU 35      U R
                  US9u  pEn[        XSSS9  [        U[        U SU 35      SS9  UR                  S	   UR                  S	   :X  d   eUR                  S
   [        U SU 35      R                  S	   :X  d   eg )NÚfreqs_ÚNFFT_Únover_Úpad_to_)r+   r´   ræ   r¦   rç   Úpad_tor   rá   rÉ   rÊ   Út_r   r5   )Úgetattrr   rê   r´   r¦   r   r   Úshape)r*   rá   ÚcaseÚfreqsr×   rØ   Úts          r   Útest_spectral_helper_psdÚ%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Ø—*‘*Øñ‰ˆ�1ô 	˜¨Ò/Ü˜œ7 4¨2¨d¨V¨Ó5¸EÒBØ�z‰z˜!‰} §¡¨A¡Ó.Ð.Ð.Ø�z‰z˜!‰}¤¨°°4°&¨kÓ :× @Ñ @ÀÑ CÓCÐCÑCr   c           
      ó2  • U R                   n[        R                  " U R                  U R                  S-   U R                  U R
                  U R                  U R                  U R                  S9u  p#[        X1SS9  UR                  UR                  :X  d   eg )Nr5   ©r+   r´   ræ   r¦   rç   rú   r   rÉ   rÊ   )rµ   r   Úcsdr´   r¨   r¦   r©   rª   r   r   rý   ©r*   rÿ   r×   rØ   s       r   Útest_csdÚTestSpectral.test_csd°  sx   € Ø×"Ñ"ˆÜ—H’H˜tŸv™v¨¯©°©Ø"&×"3Ñ"3Ø $§¡Ø&*×&8Ñ&8Ø$(×$7Ñ$7Ø#'§:¡:ñ/‰	ˆô 	˜¨Ò/Ø�z‰z˜UŸ[™[Ó(Ð(Ñ(r   c           	      ó:  • U R                   c  g[        U R                  U R                  S-   U R                  [        R
                  U R                  S9n[        R                  " SSU R                   0UD6u  p#[        R                  " SSU R                   S-  0UD6u  pC[        [        R                  " [        R                  " U5      U-  5      R                  [        R                  " [        R                  " US-  5      U-  S-  5      R                  5        g)zTest zero padding of csd().Nr5   )r+   r´   r¦   ré   r   ræ   r   rx   )r¨   Údictr´   r¦   r   r   r   r  r   r   ÚsumÚ	conjugaterz   )r*   ÚsargsÚspec0Ú_Úspec1s        r   Útest_csd_paddingÚTestSpectral.test_csd_padding»  sÔ   € à×ÑÑ$ØÜ�t—v‘v §¡¨¡¨d¯g©g¼d×>NÑ>NØŸ:™:ñ'ˆô —8’8Ñ< ×!2Ñ!2Ð<°eÑ<‰ˆÜ—8’8Ñ> ×!2Ñ!2°1Ñ!4Ð>¸Ñ>‰ˆÜœBŸFšF¤2§<¢<°Ó#6°uÑ#<Ó=×BÑBÜŸFšF¤2§<¢<°°a±Ó#8¸Ñ#>¸qÑ#@ÓA×FÑFõ	Hr   c           	      ó:  • U R                   n[        R                  " U R                  U R                  U R
                  U R                  U R                  U R                  S9u  p#UR                  UR                  :X  d   eU R                  X!X0R                  5        g )N©r+   ræ   r¦   rç   rú   r   )rµ   r   rí   r´   r¨   r¦   r©   rª   r   rý   rÑ   r§   r  s       r   Útest_psdÚTestSpectral.test_psdÇ  sx   € Ø×"Ñ"ˆÜ—H’H˜tŸv™vØ"&×"3Ñ"3Ø $§¡Ø&*×&8Ñ&8Ø$(×$7Ñ$7Ø#'§:¡:ñ/‰	ˆð �z‰z˜UŸ[™[Ó(Ð(Ð(Ø×Ñ˜ c¯;©;Õ7r   zmake_data, detrendr%   ri   c           	      óD  • U R                   c  g U" U R                   5      nUS-   nUS-   n[        R                  " XE/5      n[        R                  " US5      nUR                  R                  5       nUR                  5       n[        R                  " U5      n[        R                  " UU R                   U R                  SU R                  US9u  p‰[        R                  " UU R                   U R                  SU R                  US9u  p«[        R                  " UU R                   U R                  SU R                  S9u  pÍ[        X�5        [        X½5        [        XŒSS9  [        R                  " [        5         [        X¬SS9  S S S 5        g ! , (       d  f       g = f)	Nr[   çffffff
@©r   r5   r   )r+   ræ   r¦   rç   r   r=   )r+   ræ   r¦   rç   r   r0   rÊ   )r¨   r   r?   Útiler@   Úflattenr¢   r   rí   r¦   r   r   r   r]   r^   ÚAssertionError)r*   Ú	make_datar=   ÚydataÚydata1Úydata2ÚydatabÚycontrolÚspec_gÚfsp_gÚspec_bÚfsp_bÚspec_cÚfsp_cs                 r   Útest_psd_detrendÚTestSpectral.test_psd_detrendÒ  sK  € ð
 ×ÑÑ$ØÙ˜$×+Ñ+Ó,ˆØ�q‘ˆØ�s‘ˆÜ—	’	˜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ä�]Š]œ>Õ*Ü˜F°Ò7÷ +×*Ö*ús   Å=FÆ
Fc           	      óÒ  • U R                   c  g [        R                  " U R                   5      nUS-   nUS-   n[        R                  " [        R
                  " U5      5      nX$-  n[        R                  " U5      n[        R                  " X#/5      n[        R                  " XV/5      n[        R                  " US5      n[        R                  " US5      nUR                  R                  5       nUR                  5       n	UR                  5       n[        R                  " U	U R                   U R                  SU R                  [        R                  S9u  p«[        R                  " UU R                   U R                  SU R                  [        R                  S9u  pÍ[        R                  " UU R                   U R                  SU R                  [        R                  S9u  pïU[        U5      US-  R                  5       -  -  n[!        X¿5        [!        Xß5        [#        X®SS9  [$        R&                  " [(        5         [#        XÎSS9  S S S 5        g ! , (       d  f       g = f)	Nr[   r  r  r   ©r+   ræ   r¦   rç   r   ré   r   r0   rÊ   )r¨   r   r�   r   r   Ú	ones_liker?   r  r@   r  rí   r¦   r   r   r   r  r   r   r]   r^   r  )r*   r  r  r   Ú
windowValsÚ	ycontrol1Ú	ycontrol2r"  r!  Úydatafr#  r$  r%  r&  r'  r(  s                   r   Útest_psd_window_hanningÚ$TestSpectral.test_psd_window_hanningù  sÔ  € Ø×ÑÑ$ØÜ—	’	˜$×+Ñ+Ó,ˆØ�q‘ˆØ�s‘ˆÜ×(Ò(¬¯ª°fÓ)=Ó>ˆ
ØÑ'ˆ	Ü×'Ò'¨Ó/ˆ	Ü—	’	˜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ä�]Š]œ>Õ*Ü˜F°Ò7÷ +×*Ö*ús   ÉIÉ
I&c           
      óV  • U R                   c  g [        R                  " U R                   5      n[        R                  " U R                   5      nUS-   nUS-   nUnUn[        R
                  " [        R                  " U5      5      nXW-  n[        R
                  " U5      n[        R                  " X4/5      n[        R                  " XV/5      n[        R                  " US5      n[        R                  " US5      nUR                  R                  5       nUR                  5       n	UR                  5       n[        R                  " U	U R                   U R                  SU R                  [        R                  [        R
                  S9u  p«[        R                  " UU R                   U R                  SU R                  [        R                  [        R
                  S9u  pÍ[        R                  " UU R                   U R                  SU R                  [        R                  S9u  pïU[!        U5      US-  R#                  5       -  -  n[%        X¿5        [%        Xß5        ['        X®SS	9  [(        R*                  " [,        5         ['        XÎSS	9  S S S 5        g ! , (       d  f       g = f)
Nr[   r  r  r   )r+   ræ   r¦   rç   r   r=   ré   r,  r   r0   rÊ   )r¨   r   r�   r!   r   r   r-  r?   r  r@   r  rí   r¦   r   rj   r   r   r  r   r   r]   r^   r  )r*   r  r"  r  r   r/  r0  r.  r!  r1  r#  r$  r%  r&  r'  r(  s                   r   Ú&test_psd_window_hanning_detrend_linearÚ3TestSpectral.test_psd_window_hanning_detrend_linear#  s  € Ø×ÑÑ$ØÜ—	’	˜$×+Ñ+Ó,ˆÜ—8’8˜D×-Ñ-Ó.ˆØ�q‘ˆØ�s‘ˆØˆ	Øˆ	Ü×(Ò(¬¯ª°iÓ)@ÓAˆ
ØÑ*ˆ	Ü×'Ò'¨	Ó2ˆ	Ü—	’	˜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ä�]Š]œ>Õ*Ü˜F°Ò7÷ +×*Ö*ús   ÊJÊ
J(c           
      óÊ  • / SQn[         R                  " [         R                  * [         R                  U R                  5      n[         R                  " U R                  5      n[        [        U5      5       H#  nX1U   [         R                  " XB-  5      -  -  nM%     [        R                  " U R                  U R                  U R                  SU R                  USS9u  pV[        R                  " U R                  U R                  U R                  SU R                  US9u  px[        XSR                  5       S-  -  XpR                  -  US-  R                  5       -  SS9  g )	N)gÖ^úM˜Ë?gô+¥€ªÚ?g<¹ÿø­¾Ñ?g'Æÿneµ?gµ§å×t|?r   F)r+   ræ   r¦   rç   r   ré   Úscale_by_freqr,  r   r0   rÊ   )r   r    r(   r¸   r!   Úranger   Úcosr   rí   r´   r¨   r¦   r   r   r  )	r*   ÚaÚfacÚwinÚkr×   rØ   Úspec_aÚfsp_as	            r   Útest_psd_window_flattopÚ$TestSpectral.test_psd_window_flattopR  s  € ò LˆÜ�kŠkœ2Ÿ5™5˜&¤"§%¡%¨×)?Ñ)?Ó@ˆÜ�hŠh�t×-Ñ-Ó.ˆÜ”s˜1“v–ˆAØ�Q‘4œ"Ÿ&š& ¡›/Ñ)Ñ)ŠCñ ô —H’H˜tŸv™vØ"&×"3Ñ"3Ø $§¡Ø&'Ø#'§:¡:Ø$'Ø+0ñ2‰	ˆô Ÿš 4§6¡6Ø&*×&7Ñ&7Ø$(§G¡GØ*+Ø'+§z¡zØ(+ñ-‰ˆô 	˜ŸW™W›Y¨™\Ñ)ØŸw™w™¨¨Q©§|¡|£~Ñ5Ø"ó	$r   c                 óT  • U R                   n[        R                  " U R                  U R                  U R
                  U R                  U R                  U R                  [        R                  " U R                  5      S9u  p#[        X1SS9  UR                  UR                  :X  d   eg )N©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       r   Útest_psd_windowarrayÚ!TestSpectral.test_psd_windowarraym  s�   € Ø×"Ñ"ˆÜ—H’H˜tŸv™vØ"&×"3Ñ"3Ø $§¡Ø&*×&8Ñ&8Ø$(×$7Ñ$7Ø#'§:¡:Ü$&§G¢G¨D×,BÑ,BÓ$CñE‰	ˆô 	˜¨Ò/Ø�z‰z˜UŸ[™[Ó(Ð(Ñ(r   c                 ó’  • [         R                  " [        R                  " U R                  5      5      n[         R
                  " U R                  U R                  U R                  U R                  U R                  U R                  [         R                  S9u  p#[         R
                  " U R                  U R                  U R                  U R                  U R                  U R                  [         R                  SS9u  pE[         R
                  " U R                  U R                  U R                  U R                  U R                  U R                  [         R                  SS9u  pg[        X55        [        X75        [        X$5        [        XAS-  R                  5       -  X`R                  -  UR                  5       S-  -  SS9  g )NrD  T)r+   ræ   r¦   rç   rú   r   ré   r8  Fr   r0   rÊ   )r   r   r   r   r¸   rí   r´   r¨   r¦   r©   rª   r   r   r   r  )r*   r=  r×   rØ   Úspec_sÚfsp_sÚspec_nÚfsp_ns           r   Ú"test_psd_windowarray_scale_by_freqÚ/TestSpectral.test_psd_windowarray_scale_by_freqy  sO  € Ü×!Ò!¤"§'¢'¨$×*@Ñ*@Ó"AÓBˆä—H’H˜tŸv™vØ"&×"3Ñ"3Ø $§¡Ø&*×&8Ñ&8Ø$(×$7Ñ$7Ø#'§:¡:Ü$(×$7Ñ$7ñ9‰	ˆô Ÿš 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¡Ÿ|™|›~Ñ-ØŸw™w™ s§w¡w£y°!¡|Ñ3Ø"ó	$r   Úkind)r{   râ   rã   rä   c                 ón  • U R                   n[        [        U S35      " U R                  U R                  U R
                  U R                  S9u  p4[        XBSS9  UR                  UR                  :X  d   eUS:X  a9  U R                  X4U R                  5        U R                  X2X@R                  5        g g )NÚ	_spectrum)r+   r¦   r   rú   rÉ   rÊ   râ   )r¶   rü   r   r´   r¦   r   r­   r   rý   rÕ   r§   rÑ   )r*   rN  rÿ   r×   rØ   s        r   Útest_spectrumÚTestSpectral.test_spectrumš  s�   € ð ×#Ñ#ˆÜœD T F¨)Ð"4Ô5Ø�f‰fØ�w‰w˜dŸj™j°×1EÑ1EñG‰	ˆô 	˜¨Ò/Ø�z‰z˜UŸ[™[Ó(Ð(Ð(Ø�;ÓØ×Ñ˜t¨$¯+©+Ô6Ø×Ñ˜T¨#¯{©{Õ;ð r   rb   râ   r{   rã   rä   c           
      ó¬  • U R                   n[        R                  " SU R                  U R                  U R
                  U R                  U R                  U R                  S.UD6u  p4nUR                  S5      S:X  a  [        R                  " U5      n[        R                  " USS9n[        XBSS9  [        XPR                  SS9  UR                  S   UR                  S   :X  d   eUR                  S   U R                  R                  S   :X  d   eUR                  S5      S	;  ay  [        R                  " UR!                  5       5      S:w  aQ  [        [        R"                  " USS9R!                  5       [        R                  " UR!                  5       5      -  SS
S9  UR                  S5      S;  a  U R%                  XbX@R&                  5        g g )Nr  rá   r{   r5   r6   rÉ   rÊ   r   )r{   rã   rä   g{®Gáz„?)rã   rä   rx   )r·   r   ró   r´   r®   r¦   r¯   r°   r   Úgetr   rÍ   r%   r   r±   rý   ÚmaxÚdiffrÑ   r§   )r*   rb   rÿ   r×   rØ   r   Úspecms          r   Útest_specgramÚTestSpectral.test_specgram§  sx  € ð
 ×#Ñ#ˆÜ—}’}ð / t§v¡vØ*.×*<Ñ*<Ø(,¯©Ø.2×.AÑ.AØ,0×,@Ñ,@Ø+/¯:©:ñ/ð (.ñ/‰ˆ�1ð �:‰:�fÓ Ó*Ü—6’6˜$“<ˆDÜ—’˜ 1Ñ%ˆä˜¨Ò/Ü˜Ÿ?™?°Ò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¨3·±Õ<ð 8r   c                 óä   • [         R                  " [        SS9   [        R                  " U R
                  [        U R
                  5      U R                  S9  SSS5        g! , (       d  f       g= f)z+Warning should be raised if len(x) <= NFFT.zOnly one segment is calculated)Úmatch)r+   ræ   r¦   N)r]   ÚwarnsÚUserWarningr   ró   r´   r   r¦   ©r*   s    r   Útest_specgram_warn_only1segÚ(TestSpectral.test_specgram_warn_only1segÇ  s>   € ä�\Š\œ+Ð-MÓNÜ�MŠM˜DŸF™F¬¨T¯V©V«¸¿¹ÒA÷ O×NÖNús   š>A!Á!
A/c           
      ó¢  • [         R                  " U R                  U R                  U R                  U R
                  U R                  U R                  S9u  p[         R                  " U R                  U R                  U R                  U R                  U R
                  U R                  U R                  S9u  p4[        X5        [        X$5        g )Nr  r  )r   rí   r´   r¨   r¦   r©   rª   r   r  r   r   )r*   ÚPxxÚfreqsxxÚPxyÚfreqsxys        r   Útest_psd_csd_equalÚTestSpectral.test_psd_csd_equalÌ  sš   € Ü—x’x $§&¡&Ø%)×%6Ñ%6Ø#'§7¡7Ø)-×);Ñ);Ø'+×':Ñ':Ø&*§j¡jñ2‰ˆô —x’x $§&¡&¨D¯F©FØ%)×%6Ñ%6Ø#'§7¡7Ø)-×);Ñ);Ø'+×':Ñ':Ø&*§j¡jñ2‰ˆô 	' sÔ0Ü˜7Õ,r   c           
      ó¨  • [         R                  " U R                  U R                  U R                  U R
                  U R                  U R                  S9u  p#n[         R                  " U R                  U R                  U R                  U R
                  U R                  U R                  US9u  pVn[        X%5        [        X65        [        XG5        g)zZ
Test that mlab.specgram without mode and with mode 'default' and 'psd'
are all the same.
r  ©r+   ræ   r¦   rç   rú   r   rá   N)	r   ró   r´   r®   r¦   r¯   r°   r   r   )r*   rá   ÚspecaÚ	freqspecaÚtaÚspecbÚ	freqspecbÚtbs           r   Ú$test_specgram_auto_default_psd_equalÚ1TestSpectral.test_specgram_auto_default_psd_equalÜ  s§   € ô  $Ÿ}š}¨t¯v©vØ26×2DÑ2DØ04·±Ø6:×6IÑ6IØ48×4HÑ4HØ37·:±:ñ ?Ñˆ˜"ô  $Ÿ}š}¨t¯v©vØ26×2DÑ2DØ04·±Ø6:×6IÑ6IØ48×4HÑ4HØ37·:±:Ø26ñ 8Ñˆ˜"ô 	˜5Ô(Ü˜9Ô0Ü˜2Õ"r   z
mode, convc                 óT   • [         R                  " [         R                  " U 5      SS9$ rL   )r   Úunwraprã   ©r+   s    r   Ú<lambda>ÚTestSpectral.<lambda>÷  s   € ¤§	¢	¬"¯(ª(°1«+¸AÒ >r   c           
      ó¶  • [         R                  " U R                  U R                  U R                  U R
                  U R                  U R                  SS9u  p4n[         R                  " U R                  U R                  U R                  U R
                  U R                  U R                  US9u  pgn[        XG5        [        XX5        [        U" U5      USS9  g )Nr{   ri  rÉ   rÊ   )
r   ró   r´   r®   r¦   r¯   r°   r   r   r   )	r*   rá   ÚconvÚspeccÚ	freqspeccÚtcrW  Ú	freqspecmÚtms	            r   Ú test_specgram_complex_equivalentÚ-TestSpectral.test_specgram_complex_equivalentó  s²   € ô  $Ÿ}š}¨t¯v©vØ26×2DÑ2DØ04·±Ø6:×6IÑ6IØ48×4HÑ4HØ37·:±:Ø2;ñ =Ñˆ˜"ô  $Ÿ}š}¨t¯v©vØ26×2DÑ2DØ04·±Ø6:×6IÑ6IØ48×4HÑ4HØ37·:±:Ø26ñ 8Ñˆ˜"ô 	˜9Ô0Ü˜2Ô"Ü™˜U› U°Ó7r   c           
      óô  • [         R                  " [        R                  " U R                  5      5      n[         R
                  " U R                  U R                  U R                  U R                  U R                  U R                  US9u  p#[         R
                  " U R                  U R                  U R                  U R                  U R                  U R                  S9u  pE[        X55        [        X$SS9  g )NrD  r  r0   rÊ   )r   r   r   r   r¸   rí   r´   r¨   r¦   r©   rª   r   r   r   )r*   r=  rj  rÙ   rm  Úfspbs         r   Útest_psd_windowarray_equalÚ'TestSpectral.test_psd_windowarray_equal  s¸   € Ü×!Ò!¤"§'¢'¨$×*@Ñ*@Ó"AÓBˆÜ—h’h §¡Ø$(×$5Ñ$5Ø"&§'¡'Ø(,×(:Ñ(:Ø&*×&9Ñ&9Ø%)§Z¡ZØ&)ñ+‰ˆô —h’h §¡Ø$(×$5Ñ$5Ø"&§'¡'Ø(,×(:Ñ(:Ø&*×&9Ñ&9Ø%)§Z¡Zñ1‰ˆô 	˜4Ô&Ü˜¨5Ó1r   rx   N)'rs   rt   ru   rv   r]   ÚfixturerÆ   rÑ   rÕ   rë   ÚmarkÚparametrizerð   r  r  r  r  r   r!   r   rH   r�   rj   r)  r2  r5  rA  rE  rL  rQ  rX  r_  rf  rp  rÍ   rã   r~  r‚  rw   rx   r   r   r–   r–   ­   s)  † ðD ‡^‚^˜'¨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                  óÞ  • Sn [         R                  R                  S5        [         R                  R                  U 5      n[         R                  " US5      n[         R
                  " U[         R                  " S5      S-  SS9n[        R                  " XSSS	S
9u  p4[        [         R                  " U5      SSS9  [         R                  " [         R                  " U5      5      (       d   eg )Nr„   i!N,r   g      4@Úsame)rá   r†   r   r…   )ræ   r¦   rç   gbX9´Èê?gü©ñÒMbP?rÊ   )r   r   r   ÚrandnÚrollÚconvolver   r   Úcoherer   r%   Úisreal)ÚNr+   r´   ÚcohsqÚfs        r   Útest_coherer‘  !  sž   € Ø€AÜ‡I�I‡N�N�8ÔÜ
�	‰	�‰˜Ó€Aä
�Š��2‹€Aä
�Š�A”r—w’w˜r“{ SÑ(¨vÑ6€AÜ�{Š{˜1 c¨a¸#Ñ>�H€EÜ”B—G’G˜E“N E°Ò6Ü�9Š9”R—W’W˜U“^×$Ñ$Ð$Ñ$r   c                   ó&   • \ rS rSrS rS rS rSrg)ÚTestGaussianKDEi4  c                 ó®   • [         R                  " S5      n[        R                  " U5      n/ SQn[         R                  R                  U" U5      USS9  g)zRegression test for #1181.r[   )çB…×\AÁ?ç­±øESÇ?gÔö
f§úÈ?r–  r•  é   ©ÚdecimalN)r   r�   r   ÚGaussianKDEÚtestingÚassert_array_almost_equal)r*   Úx1ÚkdeÚ
y_expecteds       r   Útest_kde_integer_inputÚ&TestGaussianKDE.test_kde_integer_input6  sC   € ä�YŠY�q‹\ˆÜ×Ò˜rÓ"ˆò"ˆ
ä
�
‰
×,Ñ,©S°«W°jÈ!Ð,ÒLr   c                 óè   • [         R                  " / SQ[        S9n[         R                  " SSSS9n/ SQn[        R
                  " US5      nU" U5      n[         R                  R                  X5S	S
9  g )N©éùÿÿÿéûÿÿÿr5   r‚   r[   )Údtypeiöÿÿÿrƒ   r[   rœ   )g>L\ž9™?gp4=¨?gùHŒ–êŸ«?g8(H	MT«?gÄ²™CR‘?Úscotté   r˜  )r   r¡   Úfloatr    r   rš  r›  rœ  )r*   r�  ÚxsrŸ  Úkde2Úy2s         r   Ú$test_gaussian_kde_covariance_cachingÚ4TestGaussianKDE.test_gaussian_kde_covariance_caching>  s`   € Ü�XŠXÒ'¬uÑ5ˆÜ�[Š[˜˜b aÑ(ˆò"ˆ
ô ×Ò  GÓ,ˆÙ�"‹Xˆä
�
‰
×,Ñ,¨ZÀQÐ,ÒGr   c                 ó@  • [         R                  R                  S5        Sn[         R                  R                  U5      n[        R
                  " U5      n[        R
                  " US5      n[        R
                  " X#R                  S9n[         R                  " SSS5      nUR                  U5      nUR                  U5      nUR                  5       UR                  5       :X  d   eUR                  U5      n	UR                  5       U	R                  5       :X  d   eg )NéîÀ… é2   r§  ©Ú	bw_methodr¤  r¨  é3   )
r   r   r   r‰  r   rš  Úfactorr    ÚevaluateÚall)
r*   Ún_basesampleÚxnÚgkdeÚgkde2Úgkde3rª  ÚkdepdfÚkdepdf2Úkdepdf3s
             r   Útest_kde_bandwidth_methodÚ)TestGaussianKDE.test_kde_bandwidth_methodL  sÑ   € ä
�	‰	�‰�wÔØˆÜ�Y‰Y�_‰_˜\Ó*ˆô ×Ò Ó#ˆä× Ò   WÓ-ˆä× Ò  ¯{©{Ñ;ˆä�[Š[˜˜Q Ó#ˆØ—‘˜rÓ"ˆØ—.‘. Ó$ˆØ�z‰z‹|˜wŸ{™{›}Ó,Ð,Ð,Ø—.‘. Ó$ˆØ�z‰z‹|˜wŸ{™{›}Ó,Ð,Ñ,r   rx   N)rs   rt   ru   rv   r   r­  rÀ  rw   rx   r   r   r“  r“  4  s   † òMòHõ-r   r“  c                   óV   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rSrg)ÚTestGaussianKDECustomia  c                 ó˜   • [         R                  " [        5         [        R                  " / 5        SSS5        g! , (       d  f       g= f)z(Pass no data into the GaussianKDE class.N©r]   r^   r_   r   rš  r^  s    r   Útest_no_dataÚ"TestGaussianKDECustom.test_no_datab  s(   € ä�]Š]œ:Õ&Ü×Ò˜RÔ ÷ '×&Ö&ús	   ›;»
A	c                 óš   • [         R                  " [        5         [        R                  " S/5        SSS5        g! , (       d  f       g= f)z9Pass a single dataset element into the GaussianKDE class.é*   NrÅ  r^  s    r   Útest_single_dataset_elementÚ1TestGaussianKDECustom.test_single_dataset_elementg  s*   € ä�]Š]œ:Õ&Ü×Ò˜b˜TÔ"÷ '×&Ö&ús	   ›<¼
A
c                 ó   • [         R                  " / SQ/ SQ/ SQ/5      n[        R                  " [         R                  R
                  5         [        R                  " US5        SSS5        g! , (       d  f       g= f)z/Test silverman's for a multi-dimensional array.©r5   r   é   ©r‚   r[   r—  ©r¨  é   rè   Ú	silvermanN©r   r¡   r]   r^   ÚlinalgÚLinAlgErrorr   rš  ©r*   r�  s     r   Útest_silverman_multidim_datasetÚ5TestGaussianKDECustom.test_silverman_multidim_datasetl  sI   € ä�XŠX’y¢)ªYÐ7Ó8ˆÜ�]Š]œ2Ÿ9™9×0Ñ0Õ1Ü×Ò˜R Ô-÷ 2×1Ö1úó   ÁA/Á/
A=c                 óœ   • [         R                  " / SQ5      n[        R                  " US5      nSn[	        UR                  5       US5        g)z4Test silverman's output for a single dimension list.r£  rÒ  g/²ŒÄ‘è?r¨  N©r   r¡   r   rš  r   Úcovariance_factor©r*   r�  ÚmygaussrŸ  s       r   Ú test_silverman_singledim_datasetÚ6TestGaussianKDECustom.test_silverman_singledim_datasetr  s=   € ä�XŠXÒ'Ó(ˆÜ×"Ò" 2 {Ó3ˆØ(ˆ
Ü˜G×5Ñ5Ó7¸ÀQÕGr   c                 ó   • [         R                  " / SQ/ SQ/ SQ/5      n[        R                  " [         R                  R
                  5         [        R                  " US5        SSS5        g! , (       d  f       g= f)z2Test scott's output for a multi-dimensional array.rÍ  rÏ  rÐ  r§  NrÓ  rÖ  s     r   Útest_scott_multidim_datasetÚ1TestGaussianKDECustom.test_scott_multidim_datasety  sI   € ä�XŠX’y¢)ªYÐ7Ó8ˆÜ�]Š]œ2Ÿ9™9×0Ñ0Õ1Ü×Ò˜R Ô)÷ 2×1Ö1úrÙ  c                 óœ   • [         R                  " / SQ5      n[        R                  " US5      nSn[	        UR                  5       US5        g)z/Test scott's output a single-dimensional array.r£  r§  gŽ¦	e1ç?r¨  NrÛ  rÝ  s       r   Útest_scott_singledim_datasetÚ2TestGaussianKDECustom.test_scott_singledim_dataset  s=   € ä�XŠXÒ'Ó(ˆÜ×"Ò" 2 wÓ/ˆØ(ˆ
Ü˜G×5Ñ5Ó7¸ÀQÕGr   c                 ó–   • [         R                  " [        5         [        R                  " / SS9  SSS5        g! , (       d  f       g= f)z0Test the scalar's cov factor for an empty array.r[   r²  NrÅ  r^  s    r   Útest_scalar_empty_datasetÚ/TestGaussianKDECustom.test_scalar_empty_dataset†  s*   € ä�]Š]œ:Õ&Ü×Ò˜R¨1Ò-÷ '×&Ö&ús	   ›:º
Ac                 ó  • [         R                  R                  S5        Sn[        S5       Vs/ s H"  n[         R                  R	                  U5      PM$     nn[
        R                  " USS9nUR                  5       S:X  d   egs  snf )zTest a scalar's cov factor.r°  r±  r[   g      à?r²  N©r   r   r   r9  r‰  r   rš  rÜ  )r*   r¸  rÅ   Úmultidim_datarž  s        r   Útest_scalar_covariance_datasetÚ4TestGaussianKDECustom.test_scalar_covariance_dataset‹  sk   € ä
�	‰	�‰�wÔØˆÜ@EÀaÄÓIÂ¸1œŸ™Ÿ™¨Ö6ÁˆÐIä×Ò˜}¸Ñ<ˆØ×$Ñ$Ó&¨#Ó-Ð-Ñ-ùò Js   ¯)Bc                 ó  • [         R                  R                  S5        Sn[        S5       Vs/ s H"  n[         R                  R	                  U5      PM$     nnS n[
        R                  " X4S9nUR                  5       S:X  d   egs  snf )z=Test the callable's cov factor for a multi-dimensional array.r°  r±  r[   c                 ó   • g)Nçš™™™™™á?rx   rt  s    r   Úcallable_funÚLTestGaussianKDECustom.test_callable_covariance_dataset.<locals>.callable_funš  s   € Ør   r²  rñ  Nrë  )r*   r¸  rÅ   rì  rò  rž  s         r   Ú test_callable_covariance_datasetÚ6TestGaussianKDECustom.test_callable_covariance_dataset”  sn   € ä
�	‰	�‰�wÔØˆÜ@EÀaÄÓIÂ¸1œŸ™Ÿ™¨Ö6ÁˆÐIò	ä×Ò˜}ÑEˆØ×$Ñ$Ó&¨$Ó.Ð.Ñ.ùò Js   ¯)Bc                 óè   • [         R                  R                  S5        Sn[         R                  R                  U5      n[        R
                  " USS9nSn[        UR                  5       US5        g)z>Test the callable's cov factor for a single-dimensional array.r°  r±  rÒ  r²  g}ÇB8 ß?r¨  N)r   r   r   r‰  r   rš  r   rÜ  )r*   r¸  rì  rž  rŸ  s        r   Útest_callable_singledim_datasetÚ5TestGaussianKDECustom.test_callable_singledim_datasetŸ  sU   € ä
�	‰	�‰�wÔØˆÜŸ	™	Ÿ™¨Ó5ˆä×Ò˜}¸ÑDˆØ(ˆ
Ü˜C×1Ñ1Ó3°ZÀÕCr   c                 ó  • [         R                  R                  S5        Sn[         R                  R                  U5      n[        R
                  " [        5         [        R                  " USS9  SSS5        g! , (       d  f       g= f)z@Test the error message that should be called when bw is invalid.r°  r±  Úinvalidr²  N)	r   r   r   r‰  r]   r^   r_   r   rš  )r*   r¸  Údatas      r   Útest_wrong_bw_methodÚ*TestGaussianKDECustom.test_wrong_bw_method©  sQ   € ä
�	‰	�‰�wÔØˆÜ�y‰y�‰˜|Ó,ˆÜ�]Š]œ:Õ&Ü×Ò˜T¨YÒ7÷ '×&Ö&ús   ÁA:Á:
Brx   N)rs   rt   ru   rv   rÆ  rÊ  r×  rß  râ  rå  rè  rí  rô  r÷  rü  rw   rx   r   r   rÃ  rÃ  a  s<   † ò!ò
#ò
.òHò*òHò.ò
.ò	/òDõ8r   rÃ  c                   ó2   • \ rS rSrS rS rS rS rS rSr	g)	ÚTestGaussianKDEEvaluatei²  c                 óú   • [         R                  " SSS5      n[        R                  " U5      n[         R                  " SSS5      n/ SQnUR	                  U5      n[         R
                  R                  XTS5        g)zZ
Test the evaluate method when the dim's of dataset and points have
different dimensions.
rÎ  rƒ   r   é   )ç¸ÁXø]…¶?çAò²G$¾?r  r  gä;ç]«ó¢?r¨  N©r   r�   r   rš  r¶  r›  rœ  )r*   r�  rž  Úx2rŸ  r´   s         r   Útest_evaluate_diff_dimÚ.TestGaussianKDEEvaluate.test_evaluate_diff_dim´  sc   € ô
 �YŠY�q˜"˜aÓ ˆÜ×Ò˜rÓ"ˆÜ�YŠY�q˜"˜aÓ ˆò
ˆ
ð �L‰L˜ÓˆÜ
�
‰
×,Ñ,¨Q¸AÕ>r   c                 óJ  • [         R                  R                  S5        Sn[         R                  R                  U5      n[        R
                  " U5      nS/S/S//n[        R                  " [        5         UR                  U5        SSS5        g! , (       d  f       g= f)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±  r5   r   rÎ  N)
r   r   r   r‰  r   rš  r]   r^   r_   r¶  )r*   r¸  rì  rž  r  s        r   Útest_evaluate_inv_dimÚ-TestGaussianKDEEvaluate.test_evaluate_inv_dimÂ  sp   € ô
 	�	‰	�‰�wÔØˆÜŸ	™	Ÿ™¨Ó5ˆÜ×Ò˜}Ó-ˆØˆc�A�3˜˜ˆ_ˆÜ�]Š]œ:Õ&Ø�L‰L˜Ô÷ '×&Ö&úó   Á9BÂ
B"c                 óö   • [         R                  " SSS5      n[         R                  " S/5      n[        R                  " U5      nS/nUR                  U5      n[         R                  R                  XTS5        g)z-Tests if evaluated against a one by one arrayrÎ  rƒ   r   r  r¨  N)r   r�   r¡   r   rš  r¶  r›  rœ  ©r*   r�  r  rž  rŸ  r´   s         r   Útest_evaluate_dim_and_numÚ1TestGaussianKDEEvaluate.test_evaluate_dim_and_numÏ  s\   € ä�YŠY�q˜"˜aÓ ˆÜ�XŠX�q�c‹]ˆÜ×Ò˜rÓ"ˆØ �\ˆ
Ø�L‰L˜ÓˆÜ
�
‰
×,Ñ,¨Q¸AÕ>r   c                 óJ  • [         R                  " SSS5      n[         R                  " SSS5      [         R                  " SSS5      /n[        R                  " U5      n[        R
                  " [        5         UR                  U5        S S S 5        g ! , (       d  f       g = f)NrÎ  rƒ   r   )r   r�   r   rš  r]   r^   r_   r¶  )r*   r�  r  rž  s       r   Útest_evaluate_point_dim_not_oneÚ7TestGaussianKDEEvaluate.test_evaluate_point_dim_not_oneØ  sl   € Ü�YŠY�q˜"˜aÓ ˆÜ�iŠi˜˜2˜qÓ!¤2§9¢9¨Q°°AÓ#6Ð7ˆÜ×Ò˜rÓ"ˆÜ�]Š]œ:Õ&Ø�L‰L˜Ô÷ '×&Ö&úr  c                 óú   • [         R                  " SSS5      n[         R                  " SSS5      n[        R                  " U5      n/ SQnUR	                  U5      n[         R
                  R                  XTS5        g )NrÎ  rƒ   r   rÑ  )r  r  r  r¨  r  r  s         r   Ú"test_evaluate_equal_dim_and_num_ltÚ:TestGaussianKDEEvaluate.test_evaluate_equal_dim_and_num_ltß  s]   € Ü�YŠY�q˜"˜aÓ ˆÜ�YŠY�q˜!˜QÓˆÜ×Ò˜rÓ"ˆÚ9ˆ
Ø�L‰L˜ÓˆÜ
�
‰
×,Ñ,¨Q¸AÕ>r   rx   N)
rs   rt   ru   rv   r  r	  r  r  r  rw   rx   r   r   rÿ  rÿ  ²  s   † ò?òò?òõ?r   rÿ  c                  ó¼  • [         R                  " / SQ5      n Sn[         R                  " [         R                  R                  U 5      U-  5      S-  XR                  -  -  n[
        R                  " X R                  SU-  [
        R                  [
        R                  SS S SS9	u  p4[         R                  " US   /USS USS  S S S	2   -   5      n[        X5S
S9  g )N©r   r5   r   rÎ  r5   r   r5   ç      ð?r   r5   r   r€   ©ræ   r¦   ré   r=   rç   rú   r8  r   r‚   rU   rÉ   rÊ   )r   r¡   rÍ   ÚfftÚsizer   rí   r   r<   Úappendr   ©ÚuÚdtÚSuÚPr�  ÚSu_1sides         r   Útest_psd_onesided_normr#  è  s·   € Ü
�ŠÒ&Ó'€AØ	€BÜ	�Š”—‘—
‘
˜1“ Ñ"Ó	# QÑ	&¨"¯v©v©+Ñ	6€BÜ�8Š8�AŸF™F q¨¡t´D×4DÑ4DÜ ×-Ñ-¸À$Ø"&Ø$ñ&�D€Aô �yŠy˜"˜Q™%˜ " Q q '¨B¨q¨r¨F±4°R°4©LÑ"8Ó9€HÜ�A eÓ,r   c                  ó  • [         R                  " / SQ5      n Sn[         R                  " [         R                  R                  U 5      U-  5      S-  XR                  -  -  n[
        R                  " X R                  S-  SU-  [
        R                  [
        R                  SSSSS9	u  p4[         R                  " US   /USS	 US	S SSS
2   -   5      n[        [         R                  " U5      [         R                  " U5      5        g)z&Test the case len(x) < NFFT for psd().r  r  r   r5   r   Nr€   r  r‚   rU   )r   r¡   rÍ   r  r  r   rí   r   r<   r  r   r  r  s         r   Útest_psd_oversamplingr%  ô  sÌ   € ä
�ŠÒ&Ó'€AØ	€BÜ	�Š”—‘—
‘
˜1“ Ñ"Ó	# QÑ	&¨"¯v©v©+Ñ	6€BÜ�8Š8�AŸF™F 1™H¨¨2©´d×6FÑ6FÜ ×-Ñ-¸À$Ø"&Ø$ñ&�D€Aô �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   r]   Ú
matplotlibr   r   r   r…  r†  r–   r‘  r“  rÃ  rÿ  r#  r%  rx   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   