Ë
    âQ(hk3 ã                   óx  — d dl Z d dlZd dlmZmZmZmZmZm	Z	 d dl
Z
d dl
mZ d dlmZ d dlmZmZmZmZ d dlmZ d dlmZmZmZmZmZmZmZ d dlmZ d d	l m!Z! d d
l"m#Z$ d dl"m%Z& d dl"m'Z(  G d„ d«      Z) G d„ d«      Z* G d„ d«      Z+ G d„ d«      Z, G d„ d«      Z- G d„ d«      Z. G d„ d«      Z/ G d„ d«      Z0y)é    N)Úassert_Úassert_allcloseÚassert_array_equalÚassert_equalÚassert_array_almost_equal_nulpÚsuppress_warnings)Úraises)Úsignal)ÚfftfreqÚrfftfreqÚfftÚirfft)Ú	trapezoid)ÚperiodogramÚwelchÚlombscargleÚ	coherenceÚspectrogramÚ
check_COLAÚ
check_NOLA)Úhann)Ú_spectral_helper)Ústft_compare)Úistft_compare)Úcsd_comparec                   óD  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zej                  j                  ej                   d
k  d¬«      d„ «       Zej                  j                  ej                   d
k  d¬«      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)ÚTestPeriodogramc                 ó  — t        j                  d«      }d|d<   t        |«      \  }}t        |t        j                  ddd«      «       t        j
                  d«      }d|d<   |dxx   dz  cc<   |dz  }t        ||«       y )	Né   é   r   ç      à?é	   éÿÿÿÿç       @é   ©ÚnpÚzerosr   r   ÚlinspaceÚones©ÚselfÚxÚfÚpÚqs        ú^/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/signal/tests/test_spectral.pyÚtest_real_onesided_evenz'TestPeriodogram.test_real_onesided_even   sr   € Ü�H‰H�R‹LˆØˆˆ!‰Ü˜1‹~‰ˆˆ1Ü˜œ2Ÿ;™; q¨#¨qÓ1Ô2Ü�G‰G�A‹JˆØˆˆ!‰Ø	ˆ"‹�‰‹Ø	ˆQ‰ˆÜ˜˜1Õó    c                 óò   — t        j                  d«      }d|d<   t        |«      \  }}t        |t        j                  d«      dz  «       t        j
                  d«      }d|d<   |dz  }t        ||d¬	«       y )
Né   r    r   ç       @ç      .@r%   çÁ?çVçž¯Ò<©Úatol)r'   r(   r   r   Úaranger*   r+   s        r1   Útest_real_onesided_oddz&TestPeriodogram.test_real_onesided_odd$   sg   € Ü�H‰H�R‹LˆØˆˆ!‰Ü˜1‹~‰ˆˆ1Ü˜œ2Ÿ9™9 S›>¨$Ñ.Ô/Ü�G‰G�A‹JˆØˆˆ!‰Ø	ˆX‰ˆÜ˜˜1 5Ö)r3   c                 óÒ   — t        j                  d«      }d|d<   t        |d¬«      \  }}t        |t	        dd«      «       t        j
                  dd«      }d|d<   t        ||«       y )Nr   r    r   F©Úreturn_onesidedç      ð?ç      °?)r'   r(   r   r   r   Úfullr+   s        r1   Útest_real_twosidedz"TestPeriodogram.test_real_twosided.   s\   € Ü�H‰H�R‹LˆØˆˆ!‰Ü˜1¨eÔ4‰ˆˆ1Ü˜œ7 2 sÓ+Ô,Ü�G‰G�B˜ÓˆØˆˆ!‰Ü˜˜1Õr3   c                 óØ   — t        j                  d«      }d|d<   t        |d¬«      \  }}t        |d¬«      \  }}t        |t        j                  ddd«      «       t        ||d	z  «       y )
Nr   r    r   Úspectrum©ÚscalingÚdensityr!   r"   g      0@)r'   r(   r   r   r)   )r,   r-   r.   r/   Úgr0   s         r1   Útest_real_spectrumz"TestPeriodogram.test_real_spectrum7   s]   € Ü�H‰H�R‹LˆØˆˆ!‰Ü˜1 jÔ1‰ˆˆ1Ü˜1 iÔ0‰ˆˆ1Ü˜œ2Ÿ;™; q¨#¨qÓ1Ô2Ü˜˜1˜T™6Õ"r3   c                 ó  — t        j                  dt        ¬«      }d|d<   t        |«      \  }}t	        |t        j
                  ddd«      «       t        j                  d«      }d|d<   |dxx   dz  cc<   |d	z  }t	        ||«       y )
Nr   ©Údtyper    r   r!   r"   r#   r$   r%   )r'   r(   Úintr   r   r)   r*   r+   s        r1   Útest_integer_evenz!TestPeriodogram.test_integer_even?   su   € Ü�H‰H�RœsÔ#ˆØˆˆ!‰Ü˜1‹~‰ˆˆ1Ü˜œ2Ÿ;™; q¨#¨qÓ1Ô2Ü�G‰G�A‹JˆØˆˆ!‰Ø	ˆ"‹�‰‹Ø	ˆQ‰ˆÜ˜˜1Õr3   c                 óþ   — t        j                  dt        ¬«      }d|d<   t        |«      \  }}t	        |t        j
                  d«      dz  «       t        j                  d«      }d|d<   |dz  }t	        ||d	¬
«       y )Nr5   rM   r    r   r6   r7   r%   r8   r9   r:   )r'   r(   rO   r   r   r<   r*   r+   s        r1   Útest_integer_oddz TestPeriodogram.test_integer_oddJ   sj   € Ü�H‰H�RœsÔ#ˆØˆˆ!‰Ü˜1‹~‰ˆˆ1Ü˜œ2Ÿ9™9 S›>¨$Ñ.Ô/Ü�G‰G�A‹JˆØˆˆ!‰Ø	ˆX‰ˆÜ˜˜1 5Ö)r3   c                 óÞ   — t        j                  dt        ¬«      }d|d<   t        |d¬«      \  }}t	        |t        dd«      «       t        j                  dd«      }d|d<   t	        ||«       y )	Nr   rM   r    r   Fr?   rA   rB   )r'   r(   rO   r   r   r   rC   r+   s        r1   Útest_integer_twosidedz%TestPeriodogram.test_integer_twosidedT   s_   € Ü�H‰H�RœsÔ#ˆØˆˆ!‰Ü˜1¨eÔ4‰ˆˆ1Ü˜œ7 2 sÓ+Ô,Ü�G‰G�B˜ÓˆØˆˆ!‰Ü˜˜1Õr3   c                 óð   — t        j                  dt         j                  «      }d|d<   t        |d¬«      \  }}t	        |t        dd«      «       t        j                  dd«      }d|d<   t	        ||«       y )Nr   ù      ð?       @r   Fr?   rA   ç      Ô?)r'   r(   Ú
complex128r   r   r   rC   r+   s        r1   Útest_complexzTestPeriodogram.test_complex]   sc   € Ü�H‰H�RœŸ™Ó'ˆØˆˆ!‰Ü˜1¨eÔ4‰ˆˆ1Ü˜œ7 2 sÓ+Ô,Ü�G‰G�B˜Ó!ˆØˆˆ!‰Ü˜˜1Õr3   c                 óv   — t        t        t        t        j                  dt        j
                  «      d¬«       y )Né   ÚfoorG   )Úassert_raisesÚ
ValueErrorr   r'   r(   rX   ©r,   s    r1   Útest_unk_scalingz TestPeriodogram.test_unk_scalingf   s"   € Ü”j¤+¬r¯x©x¸¼2¿=¹=Ó/IØö	r3   l        zOn some 32-bit tolerance issue)Úreasonc                 óˆ  — t        j                  dt         j                  ¬«      }|j                  d«      }d|d d …d d …df<   t	        |«      \  }}t        |j                  d«       t        |ddd d …f   |ddd d …f   d«       t	        |ddd d …f   «      \  }}t        |t         j                  d d …f   |dd d …f   d«       y )	Né   rM   ©é   r    é
   rA   r   ©re   r    é   r    é<   )	r'   r(   Úfloat64Úreshaper   r   Úshaper   Únewaxis©r,   r-   r.   r/   Úf0Úp0s         r1   Útest_nd_axis_m1zTestPeriodogram.test_nd_axis_m1j   s©   € ô
 �H‰H�RœrŸz™zÔ*ˆØ�I‰I�hÓˆØˆŠ!ŠAˆaˆ%‰Ü˜1‹~‰ˆˆ1Ü˜1Ÿ7™7 IÔ.Ü& q¨¨1ªQ¨¡x°°1°Q²q°5±¸2Ô>Ü˜Q˜q ¢1˜u™XÓ&‰ˆˆBÜ& r¬"¯*©*²Q¨,Ñ'7¸¸1ºQ¸3¹ÀÕDr3   c                 ób  — t        j                  dt         j                  ¬«      }|j                  d«      }d|dd d …d d …f<   t	        |d¬«      \  }}t        |j                  d«       t        |d d …ddf   |d d …ddf   d	«       t	        |d d …ddf   «      \  }}t        ||d d …ddf   «       y )
Nrc   rM   ©rf   re   r    rA   r   ©Úaxis©rh   re   r    r    ri   )r'   r(   rj   rk   r   r   rl   r   rn   s         r1   Útest_nd_axis_0zTestPeriodogram.test_nd_axis_0x   sŸ   € ô
 �H‰H�RœrŸz™zÔ*ˆØ�I‰I�hÓˆØˆˆ!ŠAŠaˆ%‰Ü˜1 1Ô%‰ˆˆ1Ü˜1Ÿ7™7 GÔ,Ü& qª¨1¨Q¨¡x°²1°Q°q°5±¸2Ô>Ü˜Qšq  1˜u™XÓ&‰ˆˆBÜ& r¨1ªQ¨q°¨U©8Õ4r3   c                 ó.  — t        j                  d«      }d|d<   t        |dd«      \  }}t        j                  dd«      }t        |d|«      \  }}t        ||«       t        ||«       t        j                  dd«      }t        t        t        |d|«       y )Nr   r    r   rf   r   é    )r'   r(   r   r
   Ú
get_windowr   r]   r^   ©r,   r-   r.   r/   ÚwinÚfeÚpeÚwin_errs           r1   Útest_window_externalz$TestPeriodogram.test_window_external†   s‡   € Ü�H‰H�R‹LˆØˆˆ!‰Ü˜1˜b &Ó)‰ˆˆ1Ü×Ñ ¨Ó+ˆÜ˜Q  CÓ(‰ˆˆBÜ& q¨"Ô-Ü& q¨"Ô-Ü×#Ñ# F¨BÓ/ˆÜ”j¤+¨qØ˜'õ	#r3   c                 óè   — t        j                  d«      }d|d<   t        |«      \  }}t        |d¬«      \  }}t        ||d d d…   «       t        ||d d d…   «       t	        |j
                  d«       y )Nr   r    r   ry   ©Únfftre   )é   )r'   r(   r   r   r   rl   )r,   r-   r.   r/   ÚfpÚpps         r1   Útest_padded_fftzTestPeriodogram.test_padded_fft’   sg   € Ü�H‰H�R‹LˆØˆˆ!‰Ü˜1‹~‰ˆˆ1Ü˜Q RÔ(‰ˆˆBÜ˜˜2™c ˜c™7Ô#Ü˜˜2™c ˜c™7Ô#Ü˜2Ÿ8™8 UÕ+r3   c                 ó   — t        g «      \  }}t        |j                  d«       t        |j                  d«       dD ]O  }t        t        j                  |«      «      \  }}t        |j                  |«       t        |j                  |«       ŒQ y ©N©r   ©rŠ   ©é   r   ©r   é   re   )r   r   rl   r'   Úempty©r,   r.   r/   rl   s       r1   Útest_empty_inputz TestPeriodogram.test_empty_input›   sl   € Ü˜2‹‰ˆˆ1Ü˜1Ÿ7™7 DÔ)Ü˜1Ÿ7™7 DÔ)Ø+ò 	/ˆEÜœrŸx™x¨›Ó/‰DˆAˆqÜ˜qŸw™w¨Ô.Ü˜qŸw™w¨Õ.ñ	/r3   c                 ó°   — dD ]Q  }t        t        j                  |«      d¬«      \  }}t        |j                  |«       t        |j                  |«       ŒS y ©N©rŒ   rŽ   r    rt   )r   r'   r�   r   rl   ©r,   rl   r.   r/   s       r1   Útest_empty_input_other_axisz+TestPeriodogram.test_empty_input_other_axis¤   sE   € Ø%ò 	/ˆEÜœrŸx™x¨›°QÔ7‰DˆAˆqÜ˜qŸw™w¨Ô.Ü˜qŸw™w¨Õ.ñ	/r3   c                 ó
  — t        j                  d«      }d|d<   t        |d¬«      \  }}t        |t        j                  ddd«      «       t        j
                  d«      }d|d<   |dxx   d	z  cc<   |d
z  }t        ||«       y )Né   r    r   r   r‚   r!   r"   r#   r$   r%   r&   r+   s        r1   Útest_short_nfftzTestPeriodogram.test_short_nfftª   óu   € Ü�H‰H�R‹LˆØˆˆ!‰Ü˜1 2Ô&‰ˆˆ1Ü˜œ2Ÿ;™; q¨#¨qÓ1Ô2Ü�G‰G�A‹JˆØˆˆ!‰Ø	ˆ"‹�‰‹Ø	ˆQ‰ˆÜ˜˜1Õr3   c                 ó
  — t        j                  d«      }d|d<   t        |d¬«      \  }}t        |t        j                  ddd«      «       t        j
                  d«      }d|d<   |dxx   dz  cc<   |d	z  }t        ||«       y )
Nr   r    r   r‚   r!   r"   r#   r$   r%   r&   r+   s        r1   Útest_nfft_is_xshapez#TestPeriodogram.test_nfft_is_xshapeµ   r›   r3   c                 óN  — t        j                  dd«      }d|d<   t        |«      \  }}t        |t        j                  ddd«      «       t        j
                  dd«      }d|d<   |dxx   dz  cc<   |d	z  }t        ||«       t        |j                  |j                  k(  «       y )
Nr   r.   r    r   r!   r"   r#   r$   r%   )r'   r(   r   r   r)   r*   r   rN   r+   s        r1   Útest_real_onesided_even_32z*TestPeriodogram.test_real_onesided_even_32À   sŒ   € Ü�H‰H�R˜ÓˆØˆˆ!‰Ü˜1‹~‰ˆˆ1Ü˜œ2Ÿ;™; q¨#¨qÓ1Ô2Ü�G‰G�A�s‹OˆØˆˆ!‰Ø	ˆ"‹�‰‹Ø	ˆQ‰ˆÜ˜˜1ÔÜ�—‘˜1Ÿ7™7Ñ"Õ#r3   c                 ó:  — t        j                  dd«      }d|d<   t        |«      \  }}t        |t        j                  d«      dz  «       t        j
                  dd«      }d|d<   |dz  }t        ||d	¬
«       t        |j                  |j                  k(  «       y )Nr5   r.   r    r   r6   r7   r%   r8   çH¯¼šò×z>r:   )r'   r(   r   r   r<   r*   r   rN   r+   s        r1   Útest_real_onesided_odd_32z)TestPeriodogram.test_real_onesided_odd_32Ì   s�   € Ü�H‰H�R˜ÓˆØˆˆ!‰Ü˜1‹~‰ˆˆ1Ü˜œ2Ÿ9™9 S›>¨$Ñ.Ô/Ü�G‰G�A�s‹OˆØˆˆ!‰Ø	ˆX‰ˆÜ˜˜1 4Õ(Ü�—‘˜1Ÿ7™7Ñ"Õ#r3   c                 ó  — t        j                  dd«      }d|d<   t        |d¬«      \  }}t        |t	        dd«      «       t        j
                  ddd«      }d|d<   t        ||«       t        |j                  |j                  k(  «       y )	Nr   r.   r    r   Fr?   rA   rB   ©r'   r(   r   r   r   rC   r   rN   r+   s        r1   Útest_real_twosided_32z%TestPeriodogram.test_real_twosided_32×   sv   € Ü�H‰H�R˜ÓˆØˆˆ!‰Ü˜1¨eÔ4‰ˆˆ1Ü˜œ7 2 sÓ+Ô,Ü�G‰G�B˜ Ó$ˆØˆˆ!‰Ü˜˜1ÔÜ�—‘˜1Ÿ7™7Ñ"Õ#r3   c                 ó  — t        j                  dd«      }d|d<   t        |d¬«      \  }}t        |t	        dd«      «       t        j
                  ddd	«      }d|d<   t        ||«       t        |j                  |j                  k(  «       y )
Nr   ÚFrV   r   Fr?   rA   rW   r.   r¤   r+   s        r1   Útest_complex_32zTestPeriodogram.test_complex_32á   sv   € Ü�H‰H�R˜ÓˆØˆˆ!‰Ü˜1¨eÔ4‰ˆˆ1Ü˜œ7 2 sÓ+Ô,Ü�G‰G�B˜ #Ó&ˆØˆˆ!‰Ü˜˜1ÔÜ�—‘˜1Ÿ7™7Ñ"Õ#r3   c                 óÎ   — t        j                  d«      }d|d<   t        j                  dd«      }d}t	        t
        |¬«      5  t        ||¬«       d d d «       y # 1 sw Y   y xY w)	Nr   r    r   r   rf   zOthe size of the window must be the same size of the input on the specified axis©Úmatch©Úwindow)r'   r(   r
   rz   r]   r^   r   )r,   r-   r|   Úexpected_msgs       r1   Útest_shorter_window_errorz)TestPeriodogram.test_shorter_window_errorë   sZ   € Ü�H‰H�R‹LˆØˆˆ!‰Ü×Ñ ¨Ó+ˆð=ˆäœ:¨\Ô:ñ 	'Ü˜ #Õ&÷	'÷ 	'ñ 	'ús   ÁAÁA$N)Ú__name__Ú
__module__Ú__qualname__r2   r=   rD   rK   rP   rR   rT   rY   r`   ÚpytestÚmarkÚskipifÚsysÚmaxsizerq   rw   r€   r‡   r’   r—   rš   r�   rŸ   r¢   r¥   r¨   r¯   © r3   r1   r   r      sÖ   „ ò	ò*òò#ò	ò*òòòð ‡[�[×ÑØ�‰�uÑØ/ð ó ñEó	ðEð ‡[�[×ÑØ�‰�uÑØ/ð ó ñ5ó	ð5ò
#ò,ò/ò/ò	ò	ò
$ò	$ò$ò$ó'r3   r   c                   óÌ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d „ Z"y!)"Ú	TestWelchc                 óð   — t        j                  d«      }d|d<   d|d<   t        |d¬«      \  }}t        |t        j                  ddd«      «       t        j
                  g d¢«      }t        ||d	d	¬
«       y ©Nr   r    r   r%   ©Únpersegr!   r�   ©çiKGUUµ?gÝæSè8ŽÃ?ç#¬ÇqÌ?rÁ   ç#¬Çq¼?r¡   ©r;   Úrtol©r'   r(   r   r   r)   Úarrayr+   s        r1   r2   z!TestWelch.test_real_onesided_evenö   si   € Ü�H‰H�R‹LˆØˆˆ!‰Øˆˆ!‰Ü�Q Ô"‰ˆˆ1Ü˜œ2Ÿ;™; q¨#¨qÓ1Ô2Ü�H‰Hò "ó #ˆä˜˜1 4¨dÖ3r3   c                 óò   — t        j                  d«      }d|d<   d|d<   t        |d¬«      \  }}t        |t        j                  d«      dz  «       t        j
                  g d	¢«      }t        ||d
d
¬«       y ©Nr   r    r   r%   r"   r½   ç      @ç      "@©g•„Ÿ“9ñ¿?gµ³¿ÙýÍ?çp£0ÚÅ?rÌ   rÌ   r¡   rÃ   )r'   r(   r   r   r<   rÆ   r+   s        r1   r=   z TestWelch.test_real_onesided_odd   si   € Ü�H‰H�R‹LˆØˆˆ!‰Øˆˆ!‰Ü�Q Ô"‰ˆˆ1Ü˜œ2Ÿ9™9 S›>¨#Ñ-Ô.Ü�H‰Hò "ó #ˆä˜˜1 4¨dÖ3r3   c                 óÜ   — t        j                  d«      }d|d<   d|d<   t        |dd¬«      \  }}t        |t	        dd«      «       t        j
                  g d¢«      }t        ||d	d	¬
«       y ©Nr   r    r   r%   F©r¾   r@   rA   ©rÀ   çÝæSè8Ž³?rÂ   rÂ   rÂ   rÂ   rÂ   rÑ   r¡   rÃ   )r'   r(   r   r   r   rÆ   r+   s        r1   rD   zTestWelch.test_real_twosided
  sf   € Ü�H‰H�R‹LˆØˆˆ!‰Øˆˆ!‰Ü�Q °5Ô9‰ˆˆ1Ü˜œ7 1 c›?Ô+Ü�H‰Hò Fó Gˆä˜˜1 4¨dÖ3r3   c                 óò   — t        j                  d«      }d|d<   d|d<   t        |dd¬«      \  }}t        |t        j                  ddd«      «       t        j
                  g d	¢«      }t        ||d
d
¬«       y ©Nr   r    r   r%   rF   )r¾   rH   r!   r�   )g      �?g¥-UU�?ç.i÷qUU¥?rÔ   g¥-UU•?r¡   rÃ   rÅ   r+   s        r1   rK   zTestWelch.test_real_spectrum  sk   € Ü�H‰H�R‹LˆØˆˆ!‰Øˆˆ!‰Ü�Q ¨:Ô6‰ˆˆ1Ü˜œ2Ÿ;™; q¨#¨qÓ1Ô2Ü�H‰Hò "ó #ˆä˜˜1 4¨dÖ3r3   c                 óü   — t        j                  dt        ¬«      }d|d<   d|d<   t        |d¬«      \  }}t	        |t        j
                  ddd«      «       t        j                  g d	¢«      }t	        ||d
d
¬«       y ©Nr   rM   r    r   r%   r½   r!   r�   r¿   r¡   rÃ   )r'   r(   rO   r   r   r)   rÆ   r+   s        r1   Útest_integer_onesided_evenz$TestWelch.test_integer_onesided_even  sl   € Ü�H‰H�RœsÔ#ˆØˆˆ!‰Øˆˆ!‰Ü�Q Ô"‰ˆˆ1Ü˜œ2Ÿ;™; q¨#¨qÓ1Ô2Ü�H‰Hò "ó #ˆä˜˜1 4¨dÖ3r3   c                 óþ   — t        j                  dt        ¬«      }d|d<   d|d<   t        |d¬«      \  }}t	        |t        j
                  d«      d	z  «       t        j                  g d
¢«      }t	        ||dd¬«       y ©Nr   rM   r    r   r%   r"   r½   rÉ   rÊ   rË   r¡   rÃ   )r'   r(   rO   r   r   r<   rÆ   r+   s        r1   Útest_integer_onesided_oddz#TestWelch.test_integer_onesided_odd(  sl   € Ü�H‰H�RœsÔ#ˆØˆˆ!‰Øˆˆ!‰Ü�Q Ô"‰ˆˆ1Ü˜œ2Ÿ9™9 S›>¨#Ñ-Ô.Ü�H‰Hò "ó #ˆä˜˜1 4¨dÖ3r3   c                 óè   — t        j                  dt        ¬«      }d|d<   d|d<   t        |dd¬«      \  }}t	        |t        dd«      «       t        j                  g d	¢«      }t	        ||d
d
¬«       y ©Nr   rM   r    r   r%   FrÏ   rA   rÐ   r¡   rÃ   )r'   r(   rO   r   r   r   rÆ   r+   s        r1   rT   zTestWelch.test_integer_twosided2  si   € Ü�H‰H�RœsÔ#ˆØˆˆ!‰Øˆˆ!‰Ü�Q °5Ô9‰ˆˆ1Ü˜œ7 1 c›?Ô+Ü�H‰Hò Fó Gˆä˜˜1 4¨dÖ3r3   c                 óú   — t        j                  dt         j                  «      }d|d<   d|d<   t        |dd¬«      \  }}t	        |t        dd«      «       t        j                  g d¢«      }t	        ||d	d	¬
«       y ©Nr   rV   r   r%   FrÏ   rA   )g&í>®ªªÚ?ç#¬ÇqØ?çnó)tÇá?rà   rà   rà   rà   rß   r¡   rÃ   )r'   r(   rX   r   r   r   rÆ   r+   s        r1   rY   zTestWelch.test_complex<  sm   € Ü�H‰H�RœŸ™Ó'ˆØˆˆ!‰Øˆˆ!‰Ü�Q °5Ô9‰ˆˆ1Ü˜œ7 1 c›?Ô+Ü�H‰Hò Fó Gˆä˜˜1 4¨dÖ3r3   c                 óx   — t        t        t        t        j                  dt        j
                  «      dd¬«       y ©Nr[   r\   )rH   r¾   )r]   r^   r   r'   r(   rX   r_   s    r1   r`   zTestWelch.test_unk_scalingF  s$   € Ü”j¤%¬¯©°!´R·]±]Ó)CØ#¨Qö	0r3   c                 ó¸   — t        j                  dt         j                  ¬«      dz   }t        |dd¬«      \  }}t	        |t        j
                  |«      d¬«       y ©Nrf   rM   ç{®Gáz¤?Úlinear©r¾   Údetrendr9   r:   ©r'   r<   rj   r   r   Ú
zeros_like©r,   r-   r.   r/   s       r1   Útest_detrend_linearzTestWelch.test_detrend_linearJ  sB   € Ü�I‰I�b¤§
¡
Ô+¨dÑ2ˆÜ�Q ¨HÔ5‰ˆˆ1Ü˜œ2Ÿ=™=¨Ó+°%Ö8r3   c                 óÒ   — t        j                  dt         j                  ¬«      dz   }t        |dd¬«      \  }}t        |dd„ ¬«      \  }}t	        ||d¬«       t	        ||d¬«       y )	Nrf   rM   rå   Frç   c                 ó   — | S ©Nr¸   ©r-   s    r1   ú<lambda>z.TestWelch.test_no_detrending.<locals>.<lambda>R  s   € ¸€ r3   r9   r:   )r'   r<   rj   r   r   ©r,   r-   Úf1Úp1Úf2Úp2s         r1   Útest_no_detrendingzTestWelch.test_no_detrendingO  sW   € Ü�I‰I�b¤§
¡
Ô+¨dÑ2ˆÜ�q "¨eÔ4‰ˆˆBÜ�q "©kÔ:‰ˆˆBÜ˜˜B UÕ+Ü˜˜B UÖ+r3   c                 óº   — t        j                  dt         j                  ¬«      dz   }t        |dd„ ¬«      \  }}t	        |t        j
                  |«      d¬«       y )Nrf   rM   rå   c                 ó0   — t        j                  | d¬«      S ©NÚl)Útype©r
   rè   ©Úsegs    r1   rñ   z1TestWelch.test_detrend_external.<locals>.<lambda>Y  ó   € ¬¯©¸À#Ô)F€ r3   rç   r9   r:   ré   rë   s       r1   Útest_detrend_externalzTestWelch.test_detrend_externalV  sF   € Ü�I‰I�b¤§
¡
Ô+¨dÑ2ˆÜ�Q ÙFôH‰ˆˆ1ä˜œ2Ÿ=™=¨Ó+°%Ö8r3   c                 óÜ   — t        j                  dt         j                  ¬«      dz   }|j                  d«      }t	        |dd„ ¬«      \  }}t        |t        j                  |«      d¬	«       y )
Né(   rM   rå   ©re   re   rf   rf   c                 ó0   — t        j                  | d¬«      S rú   rý   rþ   s    r1   rñ   z7TestWelch.test_detrend_external_nd_m1.<locals>.<lambda>`  r   r3   rç   r9   r:   )r'   r<   rj   rk   r   r   rê   rë   s       r1   Útest_detrend_external_nd_m1z%TestWelch.test_detrend_external_nd_m1\  sT   € Ü�I‰I�b¤§
¡
Ô+¨dÑ2ˆØ�I‰I�hÓˆÜ�Q ÙFôH‰ˆˆ1ä˜œ2Ÿ=™=¨Ó+°%Ö8r3   c                 ó  — t        j                  dt         j                  ¬«      dz   }|j                  d«      }t        j                  |dd«      }t        |ddd„ ¬	«      \  }}t        |t        j                  |«      d
¬«       y )Nrc   rM   rå   rd   re   r   rf   c                 ó2   — t        j                  | dd¬«      S ©Nr   rû   )ru   rü   rý   rþ   s    r1   rñ   z6TestWelch.test_detrend_external_nd_0.<locals>.<lambda>h  s   € ¬¯©¸À!È#Ô)N€ r3   ©r¾   ru   rè   r9   r:   )r'   r<   rj   rk   Úmoveaxisr   r   rê   rë   s       r1   Útest_detrend_external_nd_0z$TestWelch.test_detrend_external_nd_0c  sh   € Ü�I‰I�b¤§
¡
Ô+¨dÑ2ˆØ�I‰I�hÓˆÜ�K‰K˜˜1˜aÓ ˆÜ�Q ¨ÙNôP‰ˆˆ1ä˜œ2Ÿ=™=¨Ó+°%Ö8r3   c                 ó†  — t        j                  dt         j                  ¬«      dz   }|j                  d«      }t	        |d¬«      \  }}t        |j                  d«       t        |ddd d …f   |d	dd d …f   d
d
¬«       t	        |ddd d …f   d¬«      \  }}t        |t         j                  d d …f   |d	d d …f   d
d
¬«       y ©Nrc   rM   rå   rd   rf   r½   rg   r   r    ç‚vIhÂ%<=rÃ   )	r'   r<   rj   rk   r   r   rl   r   rm   rn   s         r1   rq   zTestWelch.test_nd_axis_m1k  s¦   € Ü�I‰I�b¤§
¡
Ô+¨dÑ2ˆØ�I‰I�hÓˆÜ�Q Ô#‰ˆˆ1Ü˜1Ÿ7™7 IÔ.Ü˜˜!˜Aša˜%™ ! A aª E¡(°¸UÕCÜ�q˜˜1šQ˜‘x¨Ô,‰ˆˆBÜ˜œ2Ÿ:™:¢a˜<Ñ(¨!¨Aªa¨C©&°uÀ5ÖIr3   c                 ó`  — t        j                  dt         j                  ¬«      dz   }|j                  d«      }t	        |dd¬«      \  }}t        |j                  d«       t        |d d …ddf   |d d …d	df   d
d
¬«       t	        |d d …ddf   d¬«      \  }}t        ||d d …d	df   d
d
¬«       y ©Nrc   rM   rå   rs   rf   r   )r¾   ru   rv   r    r  rÃ   r½   )r'   r<   rj   rk   r   r   rl   r   rn   s         r1   rw   zTestWelch.test_nd_axis_0t  s�   € Ü�I‰I�b¤§
¡
Ô+¨dÑ2ˆØ�I‰I�hÓˆÜ�Q ¨Ô+‰ˆˆ1Ü˜1Ÿ7™7 GÔ,Ü˜š!˜A˜a˜%™ !¢A a¨ E¡(°¸UÕCÜ�qš˜1˜Q˜‘x¨Ô,‰ˆˆBÜ˜˜Aša  !˜e™H¨5°uÖ=r3   c                 óÎ  — t        j                  d«      }d|d<   d|d<   t        |ddd¬«      \  }}t        j                  dd«      }t        |d|d ¬«      \  }}t        ||«       t        ||«       t        |j                  d«       t        |j                  d«       t        t        t        |d|d	¬«       t        j                  dd
«      }t        t        t        |d|d ¬«       y )Nr   r    r   r%   rf   r   r½   ©r�   r[   ry   )
r'   r(   r   r
   rz   r   r   rl   r]   r^   r{   s           r1   r€   zTestWelch.test_window_external}  sÇ   € Ü�H‰H�R‹LˆØˆˆ!‰Øˆˆ!‰Ü�Q˜˜F¨AÔ.‰ˆˆ1Ü×Ñ ¨Ó*ˆÜ�q˜"˜c¨4Ô0‰ˆˆBÜ& q¨"Ô-Ü& q¨"Ô-Ü˜2Ÿ8™8 TÔ*Ü˜2Ÿ8™8 TÔ*Ü”j¤%¨Ø˜# qõ	*ä×#Ñ# F¨BÓ/ˆÜ”j¤%¨Ø˜'¨4ö	1r3   c                 ó   — t        g «      \  }}t        |j                  d«       t        |j                  d«       dD ]O  }t        t        j                  |«      «      \  }}t        |j                  |«       t        |j                  |«       ŒQ y r‰   )r   r   rl   r'   r�   r‘   s       r1   r’   zTestWelch.test_empty_inputŽ  sl   € Ü�R‹y‰ˆˆ1Ü˜1Ÿ7™7 DÔ)Ü˜1Ÿ7™7 DÔ)Ø+ò 	/ˆEÜœŸ™ %›Ó)‰DˆAˆqÜ˜qŸw™w¨Ô.Ü˜qŸw™w¨Õ.ñ	/r3   c                 ó°   — dD ]Q  }t        t        j                  |«      d¬«      \  }}t        |j                  |«       t        |j                  |«       ŒS y r”   )r   r'   r�   r   rl   r–   s       r1   r—   z%TestWelch.test_empty_input_other_axis—  sE   € Ø%ò 	/ˆEÜœŸ™ %›¨qÔ1‰DˆAˆqÜ˜qŸw™w¨Ô.Ü˜qŸw™w¨Õ.ñ	/r3   c                 óh  — t        j                  d«      }d|d<   t        «       5 }d}|j                  t        |«       t        |d¬«      \  }}t        |dd¬«      \  }}d d d «       t        |d¬	«      \  }}	t        |«       t        |	«       t        |«       t        |	«       y # 1 sw Y   ŒJxY w©
Nr%   r    r   zBnperseg = 256 is greater than input length  = 8, using nperseg = 8r   r¬   é   ©r­   r¾   r½   )r'   r(   r   ÚfilterÚUserWarningr   r   ©
r,   r-   ÚsupÚmsgr.   r/   ró   rô   rõ   rö   s
             r1   Útest_short_datazTestWelch.test_short_data�  s¦   € Ü�H‰H�Q‹KˆØˆˆ!‰ô Ó ð 	9 CØVˆCØ�J‰J”{ CÔ(Ü˜ &Ô)‰DˆAˆqÜ˜1 F°CÔ8‰FˆB�÷		9ô
 �q !Ô$‰ˆˆBÜ˜˜2ÔÜ˜˜2ÔÜ˜˜BÔÜ˜˜BÕ÷	9ð 	9ús   ¥:B(Â(B1c           
      ó  — t        t        t        t        j                  d«      dt        j
                  g d¢«      «       t        t        t        t        j                  d«      dt        j                  d«      j                  d«      «       y ©Nr[   r    )r    r    r    r    r    rh   )re   r�   )r]   r^   r   r'   r(   rÆ   r<   rk   r_   s    r1   Útest_window_long_or_ndz TestWelch.test_window_long_or_nd­  sQ   € Ü”j¤%¬¯©°!«°a¼¿¹Â+Ó9NÔOÜ”j¤%¬¯©°!«°aÜ—i‘i “l×*Ñ*¨5Ó1õ	3r3   c                 óª   — t        j                  d«      }d|d d d…<   t        |dd¬«      \  }}t        j                  g d¢«      }t	        ||d¬	«       y ©
Né@   r    r%   r   r[   ©r¾   Únoverlap)	r   gUUUUUUµ?çUUUUUUÕ?çš™™™™™É?r(  r)  r(  r)  gUUUUUUÅ?gê-�™—q=r:   )r'   r(   r   rÆ   r   r+   s        r1   Útest_nondefault_noverlapz"TestWelch.test_nondefault_noverlap²  sM   € Ü�H‰H�R‹LˆØˆ‰#ˆAˆ#‰Ü�Q ¨QÔ/‰ˆˆ1Ü�H‰Hò ó ˆä˜˜1 5Ö)r3   c           	      ó\   — t        t        t        t        j                  d«      dddd«       y ©Nr[   r    r   re   é   )r]   r^   r   r'   r(   r_   s    r1   Útest_bad_noverlapzTestWelch.test_bad_noverlapº  s   € Ü”j¤%¬¯©°!«°a¸ÀÀAÕFr3   c                 óZ   — t        t        t        t        j                  d«      dd¬«       y ©Né   r�   r[   )rƒ   r¾   )r]   r^   r   r'   r*   r_   s    r1   Útest_nfft_too_shortzTestWelch.test_nfft_too_short½  s   € Ü”j¤%¬¯©°«¸1ÀaÖHr3   c                 ó8  — t        j                  dd«      }d|d<   d|d<   t        |d¬«      \  }}t        |t        j                  ddd«      «       t        j
                  g d	¢d«      }t        ||d
d
¬«       t        |j                  |j                  k(  «       y ©Nr   r.   r    r   r%   r½   r!   r�   r¿   r¡   rÃ   )r'   r(   r   r   r)   rÆ   r   rN   r+   s        r1   rŸ   z$TestWelch.test_real_onesided_even_32À  s„   € Ü�H‰H�R˜ÓˆØˆˆ!‰Øˆˆ!‰Ü�Q Ô"‰ˆˆ1Ü˜œ2Ÿ;™; q¨#¨qÓ1Ô2Ü�H‰Hò "Ø#&ó(ˆä˜˜1 4¨dÕ3Ü�—‘˜1Ÿ7™7Ñ"Õ#r3   c                 ó:  — t        j                  dd«      }d|d<   d|d<   t        |d¬«      \  }}t        |t        j                  d«      d	z  «       t        j
                  g d
¢d«      }t        ||dd¬«       t        |j                  |j                  k(  «       y ©Nr   r.   r    r   r%   r"   r½   rÉ   rÊ   )gâÝx:ñ¿?gyÑ²IÙýÍ?rÌ   g´wã0ÚÅ?rÌ   r¡   rÃ   )r'   r(   r   r   r<   rÆ   r   rN   r+   s        r1   r¢   z#TestWelch.test_real_onesided_odd_32Ë  s„   € Ü�H‰H�R˜ÓˆØˆˆ!‰Øˆˆ!‰Ü�Q Ô"‰ˆˆ1Ü˜œ2Ÿ9™9 S›>¨#Ñ-Ô.Ü�H‰Hò "Ø#&ó(ˆä˜˜1 4¨dÕ3Ü�—‘˜1Ÿ7™7Ñ"Õ#r3   c                 ó$  — t        j                  dd«      }d|d<   d|d<   t        |dd¬«      \  }}t        |t	        dd«      «       t        j
                  g d	¢d«      }t        ||d
d
¬«       t        |j                  |j                  k(  «       y ©Nr   r.   r    r   r%   FrÏ   rA   rÐ   r¡   rÃ   ©r'   r(   r   r   r   rÆ   r   rN   r+   s        r1   r¥   zTestWelch.test_real_twosided_32Ö  s�   € Ü�H‰H�R˜ÓˆØˆˆ!‰Øˆˆ!‰Ü�Q °5Ô9‰ˆˆ1Ü˜œ7 1 c›?Ô+Ü�H‰Hò "à#&ó(ˆô 	˜˜1 4¨dÕ3Ü�—‘˜1Ÿ7™7Ñ"Õ#r3   c                 óZ  — t        j                  dd«      }d|d<   d|d<   t        |dd¬«      \  }}t        |t	        dd«      «       t        j
                  g d	¢d
«      }t        ||dd¬«       t        |j                  |j                  k(  d|j                  › d|j                  › �«       y ©Nr   r§   rV   r   r%   FrÏ   rA   )gµ%‚£ªªÚ?çAŠ2ÇqØ?çŒd°^Çá?r=  gàºæ~Çá?r=  r=  r<  r.   r¡   rÃ   zdtype mismatch, ú, r9  r+   s        r1   r¨   zTestWelch.test_complex_32â  s›   € Ü�H‰H�R˜ÓˆØˆˆ!‰Øˆˆ!‰Ü�Q °5Ô9‰ˆˆ1Ü˜œ7 1 c›?Ô+Ü�H‰Hò FØGJóLˆä˜˜1 4¨dÕ3Ü�—‘˜1Ÿ7™7Ñ"Ø" 1§7¡7 )¨2¨a¯g©g¨YÐ7õ	9r3   c                 óŒ  — t        j                  d«      }d}t        |d«      d |dz  dz    }|dxx   dz  cc<   t        |d|¬«      \  }}t        |d	|¬«      \  }}t	        ||«       t	        ||«       d
}t        |d«      d |dz   dz   }t        |d|¬«      \  }}t        |d	|¬«      \  }}t	        ||«       t	        ||«       y ©Nr1  é   rA   re   r    r#   r�   ©r¾   rƒ   rh   é   )r'   r(   r   r   r   )r,   r-   rƒ   r.   ÚfoddÚ_Úfevens          r1   Útest_padded_freqszTestWelch.test_padded_freqsî  sÌ   € Ü�H‰H�R‹LˆàˆÜ�D˜#Ó˜z  a¡¨¡	Ð*ˆØ	ˆ"‹�‰‹Ü˜ 1¨4Ô0‰ˆˆaÜ˜ A¨DÔ1‰ˆˆqÜ˜˜4Ô Ü˜˜5Ô!àˆÜ�D˜#Ó˜~ ¨¡¨A¡Ð.ˆÜ˜ 1¨4Ô0‰ˆˆaÜ˜ A¨DÔ1‰ˆˆqÜ˜˜4Ô Ü˜˜5Õ!r3   c           	      óè  — d}d}t        |dz  «      }d}t        ||z  |z  «      }t        j                  |«      |z  }|t        j                  dt        j                  z  |z  |z  «      z  }dD ]�  }t        ||||d¬«      \  }	}
t        ||||d	¬«      \  }}t        |
|   |dz  d
z  «       t        t        j                  t        ||«      «      |t        j                  d«      z  dz  d¬«       Œƒ y )Nrc   g     ˆÃ@rf   é,  re   )r   Úbartlett)Útukeyçš™™™™™¹?ÚflattoprF   )Úfsr¾   r­   rH   rI   r$   gü©ñÒMbP?©rÄ   )	rO   r'   r<   ÚsinÚpir   r   Úsqrtr   )r,   ÚArN  r¾   ÚfsigÚiiÚttr-   r­   rE  Úp_specÚfreqÚp_denss                r1   Útest_window_correctionz TestWelch.test_window_correction   sî   € ØˆØˆÜ�b˜"‘f“+ˆØˆÜ��g‘˜rÑ!Ó"ˆä�Y‰Y�r‹]˜2ÑˆØŒb�f‰f�Q”r—u‘u‘W˜T‘\ "‘_Ó%Ñ%ˆàEò 
	'ˆFÜ˜a B°ÀØ&0ô2‰IˆAˆvä   r°7À6Ø)2ô4‰LˆD�&ô ˜F 2™J¨¨1©¨S©Ô1äœBŸG™G¤I¨f°dÓ$;Ó<¸aÄÇÁÈÃ
¹lÈ1¹nØ!%ö'ñ
	'r3   c                 óØ  — t         j                  j                  d«       t         j                  j                  d«      }t	        |«      \  }}t        d«      D ]�  }dgdz  }d||<   |j                  |«      }t	        ||¬«      \  }}t	        |||j                  z
  ¬«      \  }}t        ||j                  «       |¬«       t        ||j                  «       ||j                  z
  ¬«       Œ’ y )NéÒ  é   r�   r    r#   rt   ©Úerr_msg)
r'   ÚrandomÚseedÚrandnr   Úrangerk   Úndimr   Úsqueeze)	r,   Úx_flatrE  Úp_flatÚaÚnewshaper-   Úp_plusÚp_minuss	            r1   Útest_axis_rollingzTestWelch.test_axis_rolling  s¾   € Ü
�	‰	�‰�tÔä—‘—‘ Ó&ˆÜ˜&“M‰	ˆˆ6ä�q“ò 		FˆAØ�t˜A‘vˆHØˆH�Q‰KØ—‘˜xÓ(ˆAä˜a aÔ(‰IˆAˆvÜ˜q q¨¯©¡xÔ0‰JˆAˆwä˜ §¡Ó!1¸1Õ=Ü˜ §¡Ó!2¸A¸a¿f¹f¹HÖEñ		Fr3   c                 ó"  — t        j                  d«      }d|d<   d|d<   t        |dd¬«      \  }}t        |t        j                  ddd«      «       t        j
                  g d	¢«      }t        ||d
d
¬«       t        t        t        |dd¬«       y )Nr   r    r   r%   Úmedian)r¾   Úaverager!   r�   )rL  çš™™™™™©?ç        g&EÈ    9rq  r¡   rÃ   zunrecognised-average)r'   r(   r   r   r)   rÆ   r]   r^   r+   s        r1   Útest_averagezTestWelch.test_average'  sz   € Ü�H‰H�R‹LˆØˆˆ!‰Øˆˆ!‰Ü�Q ¨8Ô4‰ˆˆ1Ü˜œ2Ÿ;™; q¨#¨qÓ1Ô2Ü�H‰HÒ6Ó7ˆÜ˜˜1 4¨dÕ3ä”j¤%¨°AØ4ö	6r3   N)#r°   r±   r²   r2   r=   rD   rK   r×   rÚ   rT   rY   r`   rì   r÷   r  r  r  rq   rw   r€   r’   r—   r  r"  r*  r.  r2  rŸ   r¢   r¥   r¨   rG  rZ  rl  rr  r¸   r3   r1   rº   rº   õ   s¦   „ ò4ò4ò4ò4ò4ò4ò4ò4ò0ò9ò
,ò9ò9ò9òJò>ò1ò"/ò/ò ò 3ò
*òGòIò	$ò	$ò
$ò
9ò"ò$'ò,Fó"
6r3   rº   c                   óÌ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d „ Z"y!)"ÚTestCSDc                 ó"  — t        j                  d«      }t        j                  d«      }t        j                  ddd«      }t        j                  dt         j                  ¬«      }t	        ||d¬«      \  }}t        ||«       t        ||«       y )Nr%   r1  r   r!   r-  rM   r½   ©r'   r(   r)   rX   Úcsdr   ©r,   r-   Úyr.   Úcró   Úc1s          r1   Útest_pad_shorter_xzTestCSD.test_pad_shorter_x5  sh   € Ü�H‰H�Q‹KˆÜ�H‰H�R‹Lˆä�K‰K˜˜3 Ó"ˆÜ�H‰H�QœRŸ]™]Ô+ˆÜ�Q˜ 2Ô&‰ˆˆBä˜˜2ÔÜ˜˜2Õr3   c                 ó"  — t        j                  d«      }t        j                  d«      }t        j                  ddd«      }t        j                  dt         j                  ¬«      }t	        ||d¬«      \  }}t        ||«       t        ||«       y )Nr1  r%   r   r!   r-  rM   r½   rv  rx  s          r1   Útest_pad_shorter_yzTestCSD.test_pad_shorter_y@  sh   € Ü�H‰H�R‹LˆÜ�H‰H�Q‹Kˆä�K‰K˜˜3 Ó"ˆÜ�H‰H�QœRŸ]™]Ô+ˆÜ�Q˜ 2Ô&‰ˆˆBä˜˜2ÔÜ˜˜2Õr3   c                 óò   — t        j                  d«      }d|d<   d|d<   t        ||d¬«      \  }}t        |t        j                  ddd«      «       t        j
                  g d¢«      }t        ||d	d	¬
«       y r¼   ©r'   r(   rw  r   r)   rÆ   r+   s        r1   r2   zTestCSD.test_real_onesided_evenK  sk   € Ü�H‰H�R‹LˆØˆˆ!‰Øˆˆ!‰Ü�1�a Ô#‰ˆˆ1Ü˜œ2Ÿ;™; q¨#¨qÓ1Ô2Ü�H‰Hò "ó #ˆä˜˜1 4¨dÖ3r3   c                 óô   — t        j                  d«      }d|d<   d|d<   t        ||d¬«      \  }}t        |t        j                  d«      dz  «       t        j
                  g d	¢«      }t        ||d
d
¬«       y rÈ   )r'   r(   rw  r   r<   rÆ   r+   s        r1   r=   zTestCSD.test_real_onesided_oddU  sk   € Ü�H‰H�R‹LˆØˆˆ!‰Øˆˆ!‰Ü�1�a Ô#‰ˆˆ1Ü˜œ2Ÿ9™9 S›>¨#Ñ-Ô.Ü�H‰Hò "ó #ˆä˜˜1 4¨dÖ3r3   c                 óÞ   — t        j                  d«      }d|d<   d|d<   t        ||dd¬«      \  }}t        |t	        dd«      «       t        j
                  g d¢«      }t        ||d	d	¬
«       y rÎ   )r'   r(   rw  r   r   rÆ   r+   s        r1   rD   zTestCSD.test_real_twosided_  sh   € Ü�H‰H�R‹LˆØˆˆ!‰Øˆˆ!‰Ü�1�a °EÔ:‰ˆˆ1Ü˜œ7 1 c›?Ô+Ü�H‰Hò Fó Gˆä˜˜1 4¨dÖ3r3   c                 óô   — t        j                  d«      }d|d<   d|d<   t        ||dd¬«      \  }}t        |t        j                  ddd«      «       t        j
                  g d	¢«      }t        ||d
d
¬«       y rÓ   r€  r+   s        r1   rK   zTestCSD.test_real_spectrumi  sm   € Ü�H‰H�R‹LˆØˆˆ!‰Øˆˆ!‰Ü�1�a ¨JÔ7‰ˆˆ1Ü˜œ2Ÿ;™; q¨#¨qÓ1Ô2Ü�H‰Hò "ó #ˆä˜˜1 4¨dÖ3r3   c                 óþ   — t        j                  dt        ¬«      }d|d<   d|d<   t        ||d¬«      \  }}t	        |t        j
                  ddd«      «       t        j                  g d	¢«      }t	        ||d
d
¬«       y rÖ   )r'   r(   rO   rw  r   r)   rÆ   r+   s        r1   r×   z"TestCSD.test_integer_onesided_evens  sn   € Ü�H‰H�RœsÔ#ˆØˆˆ!‰Øˆˆ!‰Ü�1�a Ô#‰ˆˆ1Ü˜œ2Ÿ;™; q¨#¨qÓ1Ô2Ü�H‰Hò "ó #ˆä˜˜1 4¨dÖ3r3   c                 ó   — t        j                  dt        ¬«      }d|d<   d|d<   t        ||d¬«      \  }}t	        |t        j
                  d«      d	z  «       t        j                  g d
¢«      }t	        ||dd¬«       y rÙ   )r'   r(   rO   rw  r   r<   rÆ   r+   s        r1   rÚ   z!TestCSD.test_integer_onesided_odd}  sn   € Ü�H‰H�RœsÔ#ˆØˆˆ!‰Øˆˆ!‰Ü�1�a Ô#‰ˆˆ1Ü˜œ2Ÿ9™9 S›>¨#Ñ-Ô.Ü�H‰Hò "ó #ˆä˜˜1 4¨dÖ3r3   c                 óê   — t        j                  dt        ¬«      }d|d<   d|d<   t        ||dd¬«      \  }}t	        |t        dd«      «       t        j                  g d	¢«      }t	        ||d
d
¬«       y rÜ   )r'   r(   rO   rw  r   r   rÆ   r+   s        r1   rT   zTestCSD.test_integer_twosided‡  sk   € Ü�H‰H�RœsÔ#ˆØˆˆ!‰Øˆˆ!‰Ü�1�a °EÔ:‰ˆˆ1Ü˜œ7 1 c›?Ô+Ü�H‰Hò Fó Gˆä˜˜1 4¨dÖ3r3   c                 óü   — t        j                  dt         j                  «      }d|d<   d|d<   t        ||dd¬«      \  }}t	        |t        dd«      «       t        j                  g d¢«      }t	        ||d	d	¬
«       y rÞ   )r'   r(   rX   rw  r   r   rÆ   r+   s        r1   rY   zTestCSD.test_complex‘  so   € Ü�H‰H�RœŸ™Ó'ˆØˆˆ!‰Øˆˆ!‰Ü�1�a °EÔ:‰ˆˆ1Ü˜œ7 1 c›?Ô+Ü�H‰Hò Fó Gˆä˜˜1 4¨dÖ3r3   c           	      ó¾   — t        t        t        t        j                  dt        j
                  «      t        j                  dt        j
                  «      dd¬«       y râ   )r]   r^   rw  r'   r(   rX   r*   r_   s    r1   r`   zTestCSD.test_unk_scaling›  s6   € Ü”j¤#¤r§x¡x°´2·=±=Ó'AÜ—g‘g˜a¤§¡Ó/¸Èö	Kr3   c                 óº   — t        j                  dt         j                  ¬«      dz   }t        ||dd¬«      \  }}t	        |t        j
                  |«      d¬«       y rä   ©r'   r<   rj   rw  r   rê   rë   s       r1   rì   zTestCSD.test_detrend_linearŸ  sD   € Ü�I‰I�b¤§
¡
Ô+¨dÑ2ˆÜ�1�a ¨XÔ6‰ˆˆ1Ü˜œ2Ÿ=™=¨Ó+°%Ö8r3   c                 óÖ   — t        j                  dt         j                  ¬«      dz   }t        ||dd¬«      \  }}t        ||dd„ ¬«      \  }}t	        ||d¬«       t	        ||d¬«       y )	Nrf   rM   rå   Frç   c                 ó   — | S rï   r¸   rð   s    r1   rñ   z,TestCSD.test_no_detrending.<locals>.<lambda>§  s   € ¸€ r3   r9   r:   )r'   r<   rj   rw  r   rò   s         r1   r÷   zTestCSD.test_no_detrending¤  s[   € Ü�I‰I�b¤§
¡
Ô+¨dÑ2ˆÜ�Q˜ 2¨uÔ5‰ˆˆBÜ�Q˜ 2©{Ô;‰ˆˆBÜ˜˜B UÕ+Ü˜˜B UÖ+r3   c                 ó¼   — t        j                  dt         j                  ¬«      dz   }t        ||dd„ ¬«      \  }}t	        |t        j
                  |«      d¬«       y )Nrf   rM   rå   c                 ó0   — t        j                  | d¬«      S rú   rý   rþ   s    r1   rñ   z/TestCSD.test_detrend_external.<locals>.<lambda>®  ó   € ¤v§~¡~°cÀÔ'D€ r3   rç   r9   r:   rŠ  rë   s       r1   r  zTestCSD.test_detrend_external«  sH   € Ü�I‰I�b¤§
¡
Ô+¨dÑ2ˆÜ�1�a ÙDôF‰ˆˆ1ä˜œ2Ÿ=™=¨Ó+°%Ö8r3   c                 óÞ   — t        j                  dt         j                  ¬«      dz   }|j                  d«      }t	        ||dd„ ¬«      \  }}t        |t        j                  |«      d¬	«       y )
Nr  rM   rå   r  rf   c                 ó0   — t        j                  | d¬«      S rú   rý   rþ   s    r1   rñ   z5TestCSD.test_detrend_external_nd_m1.<locals>.<lambda>µ  r�  r3   rç   r9   r:   )r'   r<   rj   rk   rw  r   rê   rë   s       r1   r  z#TestCSD.test_detrend_external_nd_m1±  sV   € Ü�I‰I�b¤§
¡
Ô+¨dÑ2ˆØ�I‰I�hÓˆÜ�1�a ÙDôF‰ˆˆ1ä˜œ2Ÿ=™=¨Ó+°%Ö8r3   c                 ó  — t        j                  dt         j                  ¬«      dz   }|j                  d«      }t        j                  |dd«      }t        ||ddd„ ¬	«      \  }}t        |t        j                  |«      d
¬«       y )Nrc   rM   rå   rd   re   r   rf   c                 ó2   — t        j                  | dd¬«      S r	  rý   rþ   s    r1   rñ   z4TestCSD.test_detrend_external_nd_0.<locals>.<lambda>½  s   € ¤v§~¡~°cÀÈÔ'L€ r3   r
  r9   r:   )r'   r<   rj   rk   r  rw  r   rê   rë   s       r1   r  z"TestCSD.test_detrend_external_nd_0¸  sj   € Ü�I‰I�b¤§
¡
Ô+¨dÑ2ˆØ�I‰I�hÓˆÜ�K‰K˜˜1˜aÓ ˆÜ�1�a ¨!ÙLôN‰ˆˆ1ä˜œ2Ÿ=™=¨Ó+°%Ö8r3   c                 óš  — t        j                  dt         j                  ¬«      dz   }|j                  d«      }t	        ||d¬«      \  }}t        |j                  d«       t        |ddd d …f   |d	dd d …f   d
d
¬«       t	        |ddd d …f   |ddd d …f   d¬«      \  }}t        |t         j                  d d …f   |d	d d …f   d
d
¬«       y r  )	r'   r<   rj   rk   rw  r   rl   r   rm   rn   s         r1   rq   zTestCSD.test_nd_axis_m1À  s´   € Ü�I‰I�b¤§
¡
Ô+¨dÑ2ˆØ�I‰I�hÓˆÜ�1�a Ô$‰ˆˆ1Ü˜1Ÿ7™7 IÔ.Ü˜˜!˜Aša˜%™ ! A aª E¡(°¸UÕCÜ�Q�q˜š1�u‘X˜q  1¢Q ™x°Ô4‰ˆˆBÜ˜œ2Ÿ:™:¢a˜<Ñ(¨!¨Aªa¨C©&°uÀ5ÖIr3   c                 ót  — t        j                  dt         j                  ¬«      dz   }|j                  d«      }t	        ||dd¬«      \  }}t        |j                  d«       t        |d d …ddf   |d d …d	df   d
d
¬«       t	        |d d …ddf   |d d …ddf   d¬«      \  }}t        ||d d …d	df   d
d
¬«       y r  )r'   r<   rj   rk   rw  r   rl   r   rn   s         r1   rw   zTestCSD.test_nd_axis_0É  s«   € Ü�I‰I�b¤§
¡
Ô+¨dÑ2ˆØ�I‰I�hÓˆÜ�1�a ¨!Ô,‰ˆˆ1Ü˜1Ÿ7™7 GÔ,Ü˜š!˜A˜a˜%™ !¢A a¨ E¡(°¸UÕCÜ�Q’q˜˜1�u‘X˜q¢ 1 Q ™x°Ô4‰ˆˆBÜ˜˜Aša  !˜e™H¨5°uÖ=r3   c           	      óÔ  — t        j                  d«      }d|d<   d|d<   t        ||ddd«      \  }}t        j                  dd«      }t        ||d|d ¬«      \  }}t        ||«       t        ||«       t        |j                  d«       t        |j                  d«       t        t        t        ||d|d	¬«       t        j                  dd
«      }t        t        t        ||d|d ¬«       y )Nr   r    r   r%   rf   r   r½   r  r  ry   )
r'   r(   rw  r
   rz   r   r   rl   r]   r^   r{   s           r1   r€   zTestCSD.test_window_externalÒ  sÏ   € Ü�H‰H�R‹LˆØˆˆ!‰Øˆˆ!‰Ü�1�a˜˜V QÓ'‰ˆˆ1Ü×Ñ ¨Ó*ˆÜ�Q˜˜2˜s¨DÔ1‰ˆˆBÜ& q¨"Ô-Ü& q¨"Ô-Ü˜2Ÿ8™8 TÔ*Ü˜2Ÿ8™8 TÔ*Ü”j¤# q¨!Ø˜# sõ	,ä×#Ñ# F¨BÓ/ˆÜ”j¤# q¨!Ø�' 4ö	)r3   c                 ó�  — t        g t        j                  d«      «      \  }}t        |j                  d«       t        |j                  d«       t        t        j                  d«      g «      \  }}t        |j                  d«       t        |j                  d«       dD ]c  }t        t        j
                  |«      t        j
                  |«      «      \  }}t        |j                  |«       t        |j                  |«       Œe t        t        j                  d«      t        j
                  d«      «      \  }}t        |j                  d«       t        |j                  d«       t        t        j
                  d«      t        j                  d«      «      \  }}t        |j                  d«       t        |j                  d«       y )Nrf   rŠ   r‹   )r�   r   )rw  r'   r(   r   rl   r�   r*   r‘   s       r1   r’   zTestCSD.test_empty_inputã  s/  € Ü�2”b—h‘h˜r“lÓ#‰ˆˆ1Ü˜1Ÿ7™7 DÔ)Ü˜1Ÿ7™7 DÔ)ä”2—8‘8˜B“< Ó#‰ˆˆ1Ü˜1Ÿ7™7 DÔ)Ü˜1Ÿ7™7 DÔ)à+ò 	/ˆEÜ”r—x‘x “¬¯©°«Ó8‰DˆAˆqÜ˜qŸw™w¨Ô.Ü˜qŸw™w¨Õ.ð	/ô
 ”2—7‘7˜2“;¤§¡¨£Ó0‰ˆˆ1Ü˜1Ÿ7™7 EÔ*Ü˜1Ÿ7™7 EÔ*ä”2—8‘8˜E“?¤B§G¡G¨B£KÓ0‰ˆˆ1Ü˜1Ÿ7™7 EÔ*Ü˜1Ÿ7™7 EÕ*r3   c                 ód  — dD ]e  }t        t        j                  |«      t        j                  |«      d¬«      \  }}t        |j                  |«       t        |j                  |«       Œg t        t        j                  d«      t        j
                  d«      d¬«      \  }}t        |j                  d«       t        |j                  d«       t        t        j                  d«      t        j
                  d«      d¬«      \  }}t        |j                  d«       t        |j                  d«       y )Nr•   r    rt   )rf   rf   r�   )rf   r   r    )rf   r   r�   )rw  r'   r�   r   rl   r(   r–   s       r1   r—   z#TestCSD.test_empty_input_other_axisù  sÑ   € Ø%ò 	/ˆEÜ”r—x‘x “¬¯©°«¸aÔ@‰DˆAˆqÜ˜qŸw™w¨Ô.Ü˜qŸw™w¨Õ.ð	/ô
 ”2—8‘8˜IÓ&¬¯©°Ó(:ÀÔC‰ˆˆ1Ü˜1Ÿ7™7 HÔ-Ü˜1Ÿ7™7 HÔ-ä”2—8‘8˜HÓ%¤r§x¡x°	Ó':ÀÔC‰ˆˆ1Ü˜1Ÿ7™7 HÔ-Ü˜1Ÿ7™7 HÕ-r3   c                 ón  — t        j                  d«      }d|d<   t        «       5 }d}|j                  t        |«       t        ||d¬«      \  }}t        ||dd¬«      \  }}d d d «       t        ||d¬	«      \  }}	t        |«       t        |	«       t        |«       t        |	«       y # 1 sw Y   ŒKxY wr  )r'   r(   r   r  r  rw  r   r  s
             r1   r  zTestCSD.test_short_data  s¬   € Ü�H‰H�Q‹KˆØˆˆ!‰ô Ó ð 	; CØVˆCØ�J‰J”{ CÔ(Ü�q˜! FÔ+‰DˆAˆqÜ˜˜A f°cÔ:‰FˆB�÷		;ô
 �Q˜ 1Ô%‰ˆˆBÜ˜˜2ÔÜ˜˜2ÔÜ˜˜BÔÜ˜˜BÕ÷	;ð 	;ús   ¥<B+Â+B4c                 ój  — t        t        t        t        j                  d«      t        j
                  d«      dt        j                  g d¢«      «       t        t        t        t        j                  d«      t        j
                  d«      dt        j                  d«      j                  d«      «       y r!  )	r]   r^   rw  r'   r(   r*   rÆ   r<   rk   r_   s    r1   r"  zTestCSD.test_window_long_or_nd  sh   € Ü”j¤#¤r§x¡x°£{´B·G±G¸A³JÀÜ—h‘hš{Ó+ô	-ä”j¤#¤r§x¡x°£{´B·G±G¸A³JÀÜ—i‘i “l×*Ñ*¨5Ó1õ	3r3   c                 ó¬   — t        j                  d«      }d|d d d…<   t        ||dd¬«      \  }}t        j                  g d¢«      }t	        ||d¬	«       y r$  )r'   r(   rw  rÆ   r   r+   s        r1   r*  z TestCSD.test_nondefault_noverlap  sO   € Ü�H‰H�R‹LˆØˆ‰#ˆAˆ#‰Ü�1�a ¨aÔ0‰ˆˆ1Ü�H‰Hò ó ˆä˜˜1 5Ö)r3   c           
      ó„   — t        t        t        t        j                  d«      t        j
                  d«      dddd«       y r,  )r]   r^   rw  r'   r(   r*   r_   s    r1   r.  zTestCSD.test_bad_noverlap&  s+   € Ü”j¤#¤r§x¡x°£{´B·G±G¸A³JÀÀ6Ø˜õ	r3   c                 ó‚   — t        t        t        t        j                  d«      t        j
                  d«      dd¬«       y r0  )r]   r^   rw  r'   r*   r(   r_   s    r1   r2  zTestCSD.test_nfft_too_short*  s'   € Ü”j¤#¤r§w¡w¨r£{´B·H±H¸R³LÀqØö	!r3   c                 ó:  — t        j                  dd«      }d|d<   d|d<   t        ||d¬«      \  }}t        |t        j                  ddd«      «       t        j
                  g d	¢d«      }t        ||d
d
¬«       t        |j                  |j                  k(  «       y r4  )r'   r(   rw  r   r)   rÆ   r   rN   r+   s        r1   rŸ   z"TestCSD.test_real_onesided_even_32.  s†   € Ü�H‰H�R˜ÓˆØˆˆ!‰Øˆˆ!‰Ü�1�a Ô#‰ˆˆ1Ü˜œ2Ÿ;™; q¨#¨qÓ1Ô2Ü�H‰Hò "Ø#&ó(ˆä˜˜1 4¨dÕ3Ü�—‘˜1Ÿ7™7Ñ"Õ#r3   c                 ó<  — t        j                  dd«      }d|d<   d|d<   t        ||d¬«      \  }}t        |t        j                  d«      d	z  «       t        j
                  g d
¢d«      }t        ||dd¬«       t        |j                  |j                  k(  «       y r6  )r'   r(   rw  r   r<   rÆ   r   rN   r+   s        r1   r¢   z!TestCSD.test_real_onesided_odd_329  s†   € Ü�H‰H�R˜ÓˆØˆˆ!‰Øˆˆ!‰Ü�1�a Ô#‰ˆˆ1Ü˜œ2Ÿ9™9 S›>¨#Ñ-Ô.Ü�H‰Hò "Ø#&ó(ˆä˜˜1 4¨dÕ3Ü�—‘˜1Ÿ7™7Ñ"Õ#r3   c                 ó&  — t        j                  dd«      }d|d<   d|d<   t        ||dd¬«      \  }}t        |t	        dd«      «       t        j
                  g d	¢d«      }t        ||d
d
¬«       t        |j                  |j                  k(  «       y r8  ©r'   r(   rw  r   r   rÆ   r   rN   r+   s        r1   r¥   zTestCSD.test_real_twosided_32D  sƒ   € Ü�H‰H�R˜ÓˆØˆˆ!‰Øˆˆ!‰Ü�1�a °EÔ:‰ˆˆ1Ü˜œ7 1 c›?Ô+Ü�H‰Hò "à#&ó(ˆô 	˜˜1 4¨dÕ3Ü�—‘˜1Ÿ7™7Ñ"Õ#r3   c                 ó\  — t        j                  dd«      }d|d<   d|d<   t        ||dd¬«      \  }}t        |t	        dd«      «       t        j
                  g d	¢d
«      }t        ||dd¬«       t        |j                  |j                  k(  d|j                  › d|j                  › �«       y r;  r¡  r+   s        r1   r¨   zTestCSD.test_complex_32P  s�   € Ü�H‰H�R˜ÓˆØˆˆ!‰Øˆˆ!‰Ü�1�a °EÔ:‰ˆˆ1Ü˜œ7 1 c›?Ô+Ü�H‰Hò FØGJóLˆä˜˜1 4¨dÕ3Ü�—‘˜1Ÿ7™7Ñ"Ø" 1§7¡7 )¨2¨a¯g©g¨YÐ7õ	9r3   c                 ó¾  — t        j                  d«      }t        j                  d«      }d}t        |d«      d |dz  dz    }|dxx   dz  cc<   t	        ||d|¬«      \  }}t	        ||d	|¬«      \  }}t        ||«       t        ||«       d
}t        |d«      d |dz   dz   }t	        ||d|¬«      \  }}t	        ||d	|¬«      \  }}t        ||«       t        ||«       y r@  )r'   r(   r*   r   rw  r   )r,   r-   ry  rƒ   r.   rD  rE  rF  s           r1   rG  zTestCSD.test_padded_freqs\  sá   € Ü�H‰H�R‹LˆÜ�G‰G�B‹KˆàˆÜ�D˜#Ó˜z  a¡¨¡	Ð*ˆØ	ˆ"‹�‰‹Ü�a˜ A¨DÔ1‰ˆˆaÜ�q˜! Q¨TÔ2‰ˆˆqÜ˜˜4Ô Ü˜˜5Ô!àˆÜ�D˜#Ó˜~ ¨¡¨A¡Ð.ˆÜ�a˜ A¨DÔ1‰ˆˆaÜ�q˜! Q¨TÔ2‰ˆˆqÜ˜˜4Ô Ü˜˜5Õ!r3   c                 ó*  — t         j                  j                  d«      }|j                  «       }t	        ||ddd¬«      \  }}t	        ||ddd¬«      \  }}t        ||«       t	        ||ddd¬«      \  }}t	        ||ddd¬«      \  }}t        ||«       y )Nr%  r%   ÚmeanF)r¾   ro  r@   rn  )r'   r`  rb  Úcopyrw  r   )r,   r-   ry  rE  Úp_sameÚp_copieds         r1   Útest_copied_datazTestCSD.test_copied_datao  s—   € Ü�I‰I�O‰O˜BÓˆØ�F‰F‹Hˆä˜˜1 a°Ø(-ô/‰	ˆˆ6ä˜!˜Q¨°6Ø*/ô1‰ˆˆ8ä˜ Ô)ä˜˜1 a°Ø(-ô/‰	ˆˆ6ä˜!˜Q¨°8Ø*/ô1‰ˆˆ8ä˜ Õ)r3   N)#r°   r±   r²   r|  r~  r2   r=   rD   rK   r×   rÚ   rT   rY   r`   rì   r÷   r  r  r  rq   rw   r€   r’   r—   r  r"  r*  r.  r2  rŸ   r¢   r¥   r¨   rG  r©  r¸   r3   r1   rt  rt  4  s¤   „ ò	ò	ò4ò4ò4ò4ò4ò4ò4ò4òKò9ò
,ò9ò9ò9òJò>ò)ò"+ò,.ò ò"3ò*òò!ò	$ò	$ò
$ò
9ò"ó&*r3   rt  c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestCoherencec                 ó  — t         j                  j                  d«      }t        j                  |«      }t        j                  ddd«      }t        j
                  d«      }t        ||d¬«      \  }}t        ||«       t        ||«       y ©Nrc   r   r!   rh   rf   r½   )r'   r`  rb  r¦  r)   r*   r   r   ©r,   r-   ry  r.   ÚCró   ÚC1s          r1   Útest_identical_inputz"TestCoherence.test_identical_input�  sf   € Ü�I‰I�O‰O˜BÓˆÜ�G‰G�A‹Jˆä�K‰K˜˜3 Ó"ˆÜ�G‰G�A‹JˆÜ˜1˜a¨Ô,‰ˆˆBä˜˜2ÔÜ˜˜2Õr3   c                 óò   — t         j                  j                  d«      }| }t        j                  ddd«      }t        j                  d«      }t        ||d¬«      \  }}t        ||«       t        ||«       y r­  )r'   r`  rb  r)   r*   r   r   r®  s          r1   Útest_phase_shifted_inputz&TestCoherence.test_phase_shifted_inputŒ  s`   € Ü�I‰I�O‰O˜BÓˆØˆBˆä�K‰K˜˜3 Ó"ˆÜ�G‰G�A‹JˆÜ˜1˜a¨Ô,‰ˆˆBä˜˜2ÔÜ˜˜2Õr3   N)r°   r±   r²   r±  r³  r¸   r3   r1   r«  r«  €  s   „ ò	ó	r3   r«  c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚTestSpectrogramc                 óö   — t         j                  j                  d«      }d}d}d}d}t        |||||«      \  }}}t	        |||||«      \  }	}
t        ||	«       t        t        j                  |d¬«      |
«       y )Nr]  rA   ©rK  g      Ð?r   re   r#   rt   )r'   r`  rb  r   r   r   r¥  )r,   r-   rN  r­   r¾   r'  r.   rE  ÚPÚfwÚPws              r1   Útest_average_all_segmentsz)TestSpectrogram.test_average_all_segments™  su   € Ü�I‰I�O‰O˜DÓ!ˆàˆØ ˆØˆØˆä˜a  V¨W°hÓ?‰ˆˆ1ˆaÜ�q˜"˜f g¨xÓ8‰ˆˆBÜ˜˜2ÔÜœŸ™ ¨Ô+¨RÕ0r3   c                 ó´  — t         j                  j                  d«      }d}d}d}d}t        |||||«      \  }}}t	        j
                  dd«      }	t        |||	d d¬«      \  }
}}t        |
j                  d«       t        |j                  d«       t        t        t        |||	d	¬
«       t	        j
                  dd«      }t        t        t        |||d ¬
«       y )Nr]  rA   r·  r   re   r&  )r"   )r"   éI   r%   r½   i   )
r'   r`  rb  r   r
   rz   r   rl   r]   r^   )r,   r-   rN  r­   r¾   r'  r.   rE  r¸  r|   r}   ÚPer   s                r1   r€   z$TestSpectrogram.test_window_external¦  sÂ   € Ü�I‰I�O‰O˜DÓ!ˆàˆØ ˆØˆØˆÜ˜a  V¨W°hÓ?‰ˆˆ1ˆaä×Ñ °Ó4ˆÜ  2 s°DÀ1ÔE‰	ˆˆAˆrÜ˜2Ÿ8™8 TÔ*Ü˜2Ÿ8™8 VÔ,Ü”j¤+¨qØ˜# qõ	*ä×#Ñ# O°TÓ:ˆÜ”j¤+¨qØ˜'¨4ö	1r3   c                 ó¢  — t         j                  j                  d«      }d}t        ||d¬«      \  }}}t	        «       5 }|j                  t        d«       t        ||dd¬«      \  }}}d d d «       t        ||d¬	«      \  }	}}
t        ||d¬	«      \  }}}t        ||	«       t        ||
«       t        |«       t        |«       y # 1 sw Y   Œ^xY w)
Nr]  rA   r·  r¬   zInperseg = 1025 is greater than input length  = 1024, using nperseg = 1024i  r  r  r½   )r'   r`  rb  r   r   r  r  r   )r,   r-   rN  r.   rE  r/   r  ró   rô   rõ   rö   Úf3Úp3s                r1   r  zTestSpectrogram.test_short_data¹  sÌ   € Ü�I‰I�O‰O˜DÓ!ˆØˆô ˜a ¨NÔ;‰ˆˆ1ˆaÜÓ ð 	2 CØ�J‰J”{ð.ô0ô $ A r°.Ø,0ô2‰IˆB��2÷		2ô    2¨sÔ3‰	ˆˆAˆrÜ  2¨tÔ4‰	ˆˆAˆrÜ˜˜2ÔÜ˜˜2ÔÜ˜˜BÔÜ˜˜BÕ÷	2ð 	2ús   ¾*CÃCN)r°   r±   r²   r»  r€   r  r¸   r3   r1   rµ  rµ  ˜  s   „ ò1ò1ó& r3   rµ  c                   ól   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestLombscarglec           	      ó´  — d}d}dt         j                  z  }d}d}d}t         j                  j                  d«      }|j	                  |«      }t        j
                  dt         j                  z  d	t         j                  z  |«      ||k\     }	|t        j                  ||	z  |z   «      z  }
t        j
                  dd	|«      }t        |	|
|«      }|d
   |d   z
  }||t        j                  |«         z
  |dz  k  sJ ‚t        |	|
|t        j                  |	|j                  ¬«      ¬«      }|d
   |d   z
  }||t        j                  |«         z
  |dz  k  sJ ‚y)zgTest if frequency location of peak corresponds to frequency of
        generated input signal.
        r$   rA   r!   éd   éè  çffffffæ?éé# ç{®Gáz„?ç      $@r    r   rM   ©ÚweightsN)r'   rQ  r`  ÚRandomStateÚrandr)   rP  r   ÚargmaxÚ	ones_likerN   )r,   ÚamplÚwÚphiÚninÚnoutr/   ÚrngÚrÚtry  r.   r¸  Údeltas                 r1   Útest_frequencyzTestLombscargle.test_frequencyÎ  sF  € ð ˆØˆØ”B—E‘E‰kˆØˆØˆØˆô �i‰i×#Ñ# GÓ,ˆØ�H‰H�S‹MˆÜ�K‰K˜œRŸU™U™
 C¬¯©¡I¨sÓ3°A¸±FÑ;ˆð ”2—6‘6˜!˜A™# ™)Ó$Ñ$ˆô �K‰K˜˜c 4Ó(ˆô ˜˜1˜aÓ ˆð �!‘�q˜‘t‘ˆØ�1”R—Y‘Y˜q“\‘?Ñ" e¨B¡hÒ/Ð0Ð/ô ˜˜1˜a¬¯©°a¸q¿w¹wÔ)GÔHˆð �!‘�q˜‘t‘ˆØ�1”R—Y‘Y˜q“\‘?Ñ" e¨B¡hÒ/Ð0Ñ/r3   c                 ó  — d}d}dt         j                  z  }d}d}d}t         j                  j                  d«      }|j	                  |«      }t        j
                  dt         j                  z  dt         j                  z  |«      ||k\     }	|t        j                  ||	z  |z   «      z  }
t        j
                  dd|«      }t        |	|
|«      }t        j                  d	|z  |	j                  d
   z  «      }t        |||k(     |d¬«       y )Nr$   rA   r!   rÆ  rÇ  rÈ  rÉ  rÊ  g      @r   rp  rO  )r'   rQ  r`  rÍ  rÎ  r)   rP  r   rR  rl   r   )r,   rÑ  rÒ  rÓ  rÔ  rÕ  r/   rÖ  r×  rØ  ry  r.   Úpgrams                r1   Útest_amplitudezTestLombscargle.test_amplitude÷  sð   € ð
 ˆØˆØ”B—E‘E‰kˆØˆØˆØˆô �i‰i×#Ñ# GÓ,ˆØ�H‰H�S‹MˆÜ�K‰K˜œRŸU™U™
 C¬¯©¡I¨sÓ3°A¸±FÑ;ˆð ”2—6‘6˜!˜A™# ™)Ó$Ñ$ˆô �K‰K˜˜c 4Ó(ˆô ˜A˜q !Ó$ˆô —‘˜˜e™ a§g¡g¨a¡jÑ0Ó1ˆô 	˜˜a ™d™ T°Ö5r3   c                 ó€  — d}d}dt         j                  z  }d}d}d}d}t         j                  j                  d«      }|j	                  |«      }	t        j
                  d	t         j                  z  d
t         j                  z  |«      |	|k\     }
|t        j                  ||
z  |z   «      z  |z   }t        j
                  d	d
|«      }t        |
||d¬«      }t        |
||j                  «       z
  |d¬«      }t        ||«       t        |
||dd¬«      }t        |
||j                  «       z
  |dd¬«      }t        ||«       y )Nr$   rA   r!   rÅ  rÆ  rÇ  g333333Ã?rÈ  rÉ  rÊ  T)Ú	precenterF)rß  Úfloating_mean)
r'   rQ  r`  rÍ  rÎ  r)   rP  r   r¥  r   )r,   rÑ  rÒ  rÓ  rÔ  rÕ  r/   ÚoffsetrÖ  r×  rØ  ry  r.   rÜ  Úpgram2s                  r1   Útest_precenterzTestLombscargle.test_precenter  s(  € ð
 ˆØˆØ”B—E‘E‰kˆØˆØˆØˆØˆô �i‰i×#Ñ# GÓ,ˆØ�H‰H�S‹MˆÜ�K‰K˜œRŸU™U™
 C¬¯©¡I¨sÓ3°A¸±FÑ;ˆð ”2—6‘6˜!˜A™# ™)Ó$Ñ$ vÑ-ˆô �K‰K˜˜c 4Ó(ˆô ˜A˜q !¨tÔ4ˆÜ˜Q  A§F¡F£H¡¨a¸5ÔAˆô 	˜˜vÔ&ô
 ˜A˜q !¨tÀ4ÔHˆÜ˜Q  A§F¡F£H¡¨a¸5ÐPTÔUˆô 	˜˜vÕ&r3   c                 óÐ  — d}d}dt         j                  z  }d}d}d}t         j                  j                  d«      }|j	                  |«      }t        j
                  dt         j                  z  d	t         j                  z  |«      ||k\     }	|t        j                  ||	z  |z   «      z  }
t        j
                  dd	|«      }t        |	|
|«      }t        |	|
|d
¬«      }t        j                  |	«      t        |	j                  d   «      z  }||
z  |
z  j                  «       }|}d||	j                  d   z  z  }t        ||z  |«       t        t        j                  |«      d«       y )Nr$   rA   r!   rÅ  rÆ  rÇ  rÈ  rÉ  rÊ  T©Ú	normalizer   re   )r'   rQ  r`  rÍ  rÎ  r)   rP  r   rÐ  Úfloatrl   Úsumr   Úmax)r,   rÑ  rÒ  rÓ  rÔ  rÕ  r/   rÖ  r×  rØ  ry  r.   rÜ  râ  rÌ  ÚYY_hatÚYYÚscale_to_uses                     r1   Útest_normalizezTestLombscargle.test_normalize@  s>  € ð ˆØˆØ”B—E‘E‰kˆØˆØˆØˆô �i‰i×#Ñ# GÓ,ˆØ�H‰H�S‹MˆÜ�K‰K˜œRŸU™U™
 C¬¯©¡I¨sÓ3°A¸±FÑ;ˆð ”2—6‘6˜!˜A™# ™)Ó$Ñ$ˆô �K‰K˜˜c 4Ó(ˆô ˜A˜q !Ó$ˆÜ˜Q  1°Ô5ˆô —,‘,˜q“/¤%¨¯©°©
Ó"3Ñ3ˆØ˜A‘+ ‘/×&Ñ&Ó(ˆØˆØ˜"˜QŸW™W Q™Z™-Ñ(ˆô 	˜ Ñ,¨fÔ5ÜœŸ™˜v›¨Õ,r3   c           	      ó<  — t        j                  ddd«      }t        j                  ddd«      }t        j                  ddd«      dz   }t        t        t        |||«       t        j
                  t        j                  t        j                  ddd«      d«      dd¬«      }t        j                  ddd«      }t        j                  ddd«      dz   }t        t        t        |||«       t        j                  ddd«      }t        j
                  t        j                  t        j                  ddd«      d«      dd¬«      }t        j                  ddd«      dz   }t        t        t        |||«       t        j                  ddd«      }t        j                  ddd«      }t        j
                  t        j                  t        j                  ddd«      d«      dz   dd¬«      }t        t        t        |||«       t        j                  ddd«      }t        j                  ddd«      }t        j                  ddd«      dz   }t        j
                  t        j                  t        j                  ddd«      d«      dd¬«      }t        t        t        ||||¬«       y )Nr   r    re   r�   rL  rt   rË  )r'   r)   r]   r^   r   ÚrepeatÚexpand_dims©r,   rØ  ry  r.   rÌ  s        r1   Útest_wrong_shapez TestLombscargle.test_wrong_shaped  s÷  € ô �K‰K˜˜1˜aÓ ˆÜ�K‰K˜˜1˜aÓ ˆÜ�K‰K˜˜1˜aÓ  3Ñ&ˆÜ”j¤+¨q°!°QÔ7ô �I‰I”b—n‘n¤R§[¡[°°A°qÓ%9¸1Ó=¸qÀqÔIˆÜ�K‰K˜˜1˜aÓ ˆÜ�K‰K˜˜1˜aÓ  3Ñ&ˆÜ”j¤+¨q°!°QÔ7ô �K‰K˜˜1˜aÓ ˆÜ�I‰I”b—n‘n¤R§[¡[°°A°qÓ%9¸1Ó=¸qÀqÔIˆÜ�K‰K˜˜1˜aÓ  3Ñ&ˆÜ”j¤+¨q°!°QÔ7ô �K‰K˜˜1˜aÓ ˆÜ�K‰K˜˜1˜aÓ ˆÜ�I‰I”b—n‘n¤R§[¡[°°A°qÓ%9¸1Ó=ÀÑCÀQÈQÔOˆÜ”j¤+¨q°!°QÔ7ô �K‰K˜˜1˜aÓ ˆÜ�K‰K˜˜1˜aÓ ˆÜ�K‰K˜˜1˜aÓ  3Ñ&ˆÜ—)‘)œBŸN™N¬2¯;©;°q¸!¸QÓ+?ÀÓCÀQÈQÔOˆÜ”j¤+¨q°!°QÀÖHr3   c                 óà   — t        j                  dddd¬«      }t        j                  d|z  «      }t        j                  dddd¬«      d	z   }t        |||d
z  t         j                  z  «       y )Nr   rf   rÆ  F)Úendpointr[   é2   iô  rL  re   )r'   r)   rP  r   rQ  )r,   rØ  ry  r.   s       r1   Útest_lombscargle_atan_vs_atan2z.TestLombscargle.test_lombscargle_atan_vs_atan2…  sZ   € ô �K‰K˜˜2˜t¨eÔ4ˆÜ�F‰F�1�Q‘3‹KˆÜ�K‰K˜˜2˜s¨UÔ3°cÑ9ˆÜ�A�q˜!˜A™#œbŸe™e™)Õ$r3   c                 óô   — t        j                  ddd«      }t        j                  ddd«      }t        j                  ddd«      dz   }t        j                  ddd«      }t        t        t        ||||¬«       y )Nr   r    r�   rL  re   rË  )r'   r)   r]   r^   r   rñ  s        r1   Útest_wrong_shape_weightsz(TestLombscargle.test_wrong_shape_weights�  sc   € ô �K‰K˜˜1˜aÓ ˆÜ�K‰K˜˜1˜aÓ ˆÜ�K‰K˜˜1˜aÓ  3Ñ&ˆÜ—+‘+˜a  AÓ&ˆÜ”j¤+¨q°!°QÀÖHr3   c                 óÞ   — t        j                  d«      }t        j                  d«      }t        j                  d«      }t        j                  d«      }t        t        t
        ||||¬«       y ©Nr    rË  ©r'   r(   r*   r]   r^   r   rñ  s        r1   Útest_zero_division_weightsz*TestLombscargle.test_zero_division_weights–  sJ   € ô �H‰H�Q‹KˆÜ�H‰H�Q‹KˆÜ�G‰G�A‹JˆÜ—(‘(˜1“+ˆÜ”j¤+¨q°!°QÀÖHr3   c                 óð  — d}d}d}d}d}d}t         j                  j                  d«      }|j                  |«      }t        j                  dt         j
                  z  d	t         j
                  z  |«      ||k\     }	|t        j                  ||	z  |z   «      z  }
t        j                  dd	|«      }t        |	|
|d
¬«      }t        |	|
|d¬«      }t        |	|
|d¬«      }t        |	|
|d¬«      }t        |	|
|d¬«      }t        ||«       t        ||«       t        j                  |
«      t        |
j                  d   «      z  }||
z  |
z  j                  «       }|}t        |dz  t        |	j                  d   «      |z  z  |«       t        j                  ||k(  «      d   d   }t        t        j                  ||   «      |«       t        t         t        |	|
|d¬«       t        t         t        |	|
|d¬«       y )Nr$   rA   r   rÅ  rÆ  rÇ  rÈ  rÉ  rÊ  Frå  TÚpowerræ  Ú	amplitudeÚlombre   )r'   r`  rÍ  rÎ  r)   rQ  rP  r   r   rÐ  rç  rl   rè  ÚwhereÚabsr]   r^   )r,   rÑ  rÒ  rÓ  rÔ  rÕ  r/   rÖ  r×  rØ  ry  r.   Úpgram_falseÚ
pgram_trueÚpgram_powerÚ
pgram_normÚ	pgram_amprÌ  rê  rë  Úf_is                        r1   Útest_normalize_parameterz(TestLombscargle.test_normalize_parameterŸ  sÅ  € ð ˆØˆØˆØˆØˆØˆô �i‰i×#Ñ# GÓ,ˆØ�H‰H�S‹MˆÜ�K‰K˜œRŸU™U™
 C¬¯©¡I¨sÓ3°A¸±FÑ;ˆð ”2—6‘6˜!˜A™# ™)Ó$Ñ$ˆô �K‰K˜˜c 4Ó(ˆô " ! Q¨°UÔ;ˆÜ   A q°DÔ9ˆ
Ü! ! Q¨°WÔ=ˆÜ   A q°KÔ@ˆ
Ü  1 a°;Ô?ˆ	ô 	˜ [Ô1Ü˜
 JÔ/ô —,‘,˜q“/¤%¨¯©°©
Ó"3Ñ3ˆØ˜A‘+ ‘/×&Ñ&Ó(ˆØˆÜ˜ cÑ)¬U°1·7±7¸1±:Ó->ÀÑ-CÑDÀjÔQô �h‰h�q˜!‘t‹n˜QÑ Ñ"ˆÜœŸ™˜y¨™~Ó.°Ô5ô 	”j¤+¨q°!°QÀ&ÕIä”j¤+¨q°!°QÀ!ÖDr3   c                 óä  — d}d}dt         j                  z  }d}d}d}d}t         j                  j                  d«      }|j	                  |«      }	t        j
                  d	t         j                  z  d
t         j                  z  |«      |	|k\     }
|t        j                  ||
z  |z   «      z  }t        j
                  d	d
|«      }t        |
||d¬«      }t        |
||z   |d¬«      }t        ||«       y )Nr$   rA   r!   rÅ  rÆ  rÇ  ç333333@rÈ  rÉ  rÊ  T)rà  )	r'   rQ  r`  rÍ  rÎ  r)   rP  r   r   ©r,   rÑ  rÒ  rÓ  rÔ  rÕ  r/   rá  rÖ  r×  rØ  ry  r.   rÜ  Úpgram_offsets                  r1   Útest_offset_removalz#TestLombscargle.test_offset_removalÐ  sà   € ð
 ˆØˆØ”B—E‘E‰kˆØˆØˆØˆØˆô �i‰i×#Ñ# GÓ,ˆØ�H‰H�S‹MˆÜ�K‰K˜œRŸU™U™
 C¬¯©¡I¨sÓ3°A¸±FÑ;ˆð ”2—6‘6˜!˜A™# ™)Ó$Ñ$ˆô �K‰K˜˜c 4Ó(ˆô ˜A˜q !°4Ô8ˆÜ" 1 a¨&¡j°!À4ÔHˆô 	˜˜|Õ,r3   c                 óÖ  — d}d}d}d}d}d}d}t         j                  j                  d«      }|j                  |«      }	t        j                  dt         j
                  z  d	t         j
                  z  |«      |	|k\     }
|t        j                  ||
z  |z   «      z  }t        j                  dd	|«      }t        |
||d
d¬«      }t        |
||z   |d
d¬«      }|d   dk  sJ ‚|d   dkD  sJ ‚y )Nr$   rA   r   rÆ  rÇ  re   rÈ  rÉ  rÊ  TF©ræ  rà  r!   ©r'   r`  rÍ  rÎ  r)   rQ  Úcosr   r  s                  r1   Útest_floating_mean_falsez(TestLombscargle.test_floating_mean_falseï  s÷   € ð ˆØˆØˆØˆØˆØˆØˆô �i‰i×#Ñ# GÓ,ˆØ�H‰H�S‹MˆÜ�K‰K˜œRŸU™U™
 C¬¯©¡I¨sÓ3°A¸±FÑ;ˆð ”2—6‘6˜!˜A™# ™)Ó$Ñ$ˆô �K‰K˜˜c 4Ó(ˆô ˜A˜q !¨tÀ5ÔIˆÜ" 1 a¨&¡j°!¸tØ16ô8ˆð
 �Q‰x˜$ŠÐˆà˜A‰ Ò$Ð%Ñ$r3   c                 óT  — d}d}d}d}d}d}d}t         j                  j                  d«      }|j                  |«      }	t        j                  d	t         j
                  z  d
t         j
                  z  |«      |	|k\     }
|t        j                  ||
z  |z   «      z  |z   }t        j                  d	d
|«      }t        j                  ||k(  «      d   d   }t        |
||dd¬«      }t        t        j                  ||   «      |«       t        t        j                  ||   «       |«       y )Nr$   rA   ç¸…ëQ¸¾?rÅ  rÆ  rÇ  r  rÈ  rÉ  rÊ  r   rÿ  Tr  )r'   r`  rÍ  rÎ  r)   rQ  r  r  r   r   r  Úangle)r,   rÑ  rÒ  rÓ  rÔ  rÕ  r/   rá  rÖ  r×  rØ  ry  r.   Úf_indxrÜ  s                  r1   Útest_amplitude_is_correctz)TestLombscargle.test_amplitude_is_correct  s  € ð ˆØˆØˆØˆØˆØˆØˆô �i‰i×#Ñ# GÓ,ˆØ�H‰H�S‹MˆÜ�K‰K˜œRŸU™U™
 C¬¯©¡I¨sÓ3°A¸±FÑ;ˆð ”2—6‘6˜!˜A™# ™)Ó$Ñ$ vÑ-ˆô �K‰K˜˜c 4Ó(ˆô —‘˜!˜Q™$“ Ñ" 1Ñ%ˆô ˜A˜q !¨{È$ÔOˆô 	œŸ™˜u V™}Ó-¨tÔ4ô 	œŸ™ %¨¡-Ó0Ð0°#Õ6r3   c                 óà   — t        j                  d«      }t        j                  d«      }t        j                  d«      }t        j                  d«       }t        t        t
        ||||¬«       y rú  rû  rñ  s        r1   Útest_negative_weightz$TestLombscargle.test_negative_weight5  sL   € ô �H‰H�Q‹KˆÜ�H‰H�Q‹KˆÜ�G‰G�A‹JˆÜ—7‘7˜1“:�+ˆÜ”j¤+¨q°!°QÀÖHr3   c                 óŽ   — g d¢}g d¢}t        j                  ddd«      }dt         j                  z  |z  }t        |||dd¬«       y )	N)yg   ËˆÝAg   üËˆÝAg   öÌˆÝAg   ðÍˆÝAg   êÎˆÝAg   äÏˆÝAg   ÞÐˆÝAg   ØÑˆÝAg   ÒÒˆÝAg   ÌÓˆÝAg   ÆÔˆÝAg   ÀÕˆÝAg   ºÖˆÝAg   ´×ˆÝAg   ®ØˆÝAg   ¨ÙˆÝAg   ¢ÚˆÝAg   œÛˆÝAg   –ÜˆÝAg   �ÝˆÝAg   ðˆÝAg   ñˆÝAg   òˆÝAg   óˆÝAg   ôˆÝAg    õˆÝAg   úõˆÝAg   ôöˆÝAg   î÷ˆÝAg   èøˆÝAg   âùˆÝAg   ÜúˆÝAg   ÖûˆÝAg   ÐüˆÝAg   ÊýˆÝAg   ÄþˆÝAg   ¾ÿˆÝAg   ¸ ‰ÝAg   ²‰ÝAg   ¬‰ÝAg   "‰ÝAg   ‰ÝAg   ‰ÝAg   ‰ÝAg   
‰ÝAg   ‰ÝAg   þ‰ÝAg   ø‰ÝAg   ò ‰ÝAg   ì!‰ÝAg   æ"‰ÝAg   à#‰ÝAg   Ú$‰ÝAg   Ô%‰ÝAg   Î&‰ÝAg   È'‰ÝAg   Â(‰ÝAg   ¼)‰ÝAg   ¶*‰ÝAg   °+‰ÝAg   Zc‰ÝAg   Td‰ÝAg   Ne‰ÝAg   Hf‰ÝAg   Bg‰ÝAg   <h‰ÝAg   6i‰ÝAg   0j‰ÝAg   *k‰ÝAg   $l‰ÝAg   m‰ÝAg   n‰ÝAg   o‰ÝAg   p‰ÝAg   q‰ÝAg    r‰ÝAg   úr‰ÝAg   ôs‰ÝAg   ît‰ÝAg   èu‰ÝAg   Üw‰ÝAg   Öx‰ÝAg   Ðy‰ÝAg   Êz‰ÝAg   Ä{‰ÝAg   ¾|‰ÝAg   ¸}‰ÝAg   ²~‰ÝAg   ¬‰ÝAg   ¦€‰ÝAg    �‰ÝAg   š‚‰ÝAg   ”ƒ‰ÝAg   Ž„‰ÝAg   ˆ…‰ÝAg   ‚†‰ÝAg   |‡‰ÝAg   vˆ‰ÝAg   p‰‰ÝAg   jŠ‰ÝAg   ™‰ÝAg   
š‰ÝAg   ›‰ÝAg   þ›‰ÝAg   øœ‰ÝAg   ò�‰ÝAg   ìž‰ÝAg   æŸ‰ÝAg   à ‰ÝAg   Ú¡‰ÝAg   Ô¢‰ÝAg   Î£‰ÝAg   È¤‰ÝAg   Â¥‰ÝAg   ¼¦‰ÝAg   ¶§‰ÝAg   °¨‰ÝAg   ª©‰ÝAg   ¤ª‰ÝAg   ž«‰ÝAg   ˜¬‰ÝA)yg     @§@g     Ü¨@g     J­@g     ·±@g     9µ@g     ì¸@g     ¬¼@g     2À@g    €Â@g     ÀÃ@g     iÅ@g     øÆ@g    €jÈ@g    €½É@g     ïÊ@g    €üË@g     åÌ@g     ¦Í@g    €?Î@g    €¯Î@g     n¶@g     ×²@g     .¯@g     ª@g     h§@g     ¨@g     Þ«@g     Ó°@g     >´@g     ç·@g     §»@g     b¿@g     …Á@g    €HÃ@g    €÷Ä@g     ŽÆ@g    €È@g    €dÉ@g     ŸÊ@g    €¶Ë@g     p·@g     Ì³@g     m°@g     D«@g     Ò§@g     �§@g     ˜ª@g     ð¯@g     G³@g     ä¶@g     ¡º@g     _¾@g     Á@g    €ÏÂ@g    €„Ä@g     "Æ@g    €¤Ç@g    €É@g     MÊ@g     nË@g    €ìÉ@g     žÈ@g     0Ç@g     ¥Å@g      Ä@g    €DÂ@g     wÀ@g     9½@g     y¹@g     Âµ@g     6²@g     ®@g     \©@g     F§@g     –¨@g     Ð¬@g     k±@g     æ´@g     –¸@g     V¼@g     ÙÁ@g     ™Ã@g     DÅ@g    €ÕÆ@g    €JÈ@g    € É@g     ÕÊ@g     æË@g    €ÑÌ@g    €–Í@g    €3Î@g    €§Î@g    €ñÎ@g    €Ï@g     Ï@g     ÒÎ@g    €sÎ@g    €ëÍ@g    €:Í@g    €bÌ@g     „§@g     æ§@g     p«@g     Š°@g     ì³@g     ’·@g     Q»@g     ¿@g     \Á@g     !Ã@g     ÒÄ@g    €jÆ@g     èÇ@g    €FÉ@g    €„Ê@g    €ŸË@g    €•Ì@g     eÍ@g    €Î@g     ŒÎ@g    €áÎ@i�  éx   rÆ  re   T)rß  ræ  )r'   r)   rQ  r   )r,   rØ  ry  ÚperiodsÚangular_freqs        r1   Útest_list_inputzTestLombscargle.test_list_input>  sG   € òˆò>ˆô@ —+‘+˜c 3¨Ó-ˆØœ2Ÿ5™5‘y 7Ñ*ˆä�A�q˜,°$À$ÖGr3   c                 ó¢  — d}d}d}d}d}d}d}t         j                  j                  d«      }|j                  |«      }	t        j                  d	t         j
                  z  d
t         j
                  z  |«      |	|k\     }
|t        j                  ||
z  |z   «      z  |z   }t        j                  dd
|«      }t        |
||dd¬«      }|d   dk  sJ ‚y )Nr$   rA   r  rÅ  ié  rÇ  r   rÈ  rÉ  rÊ  Tr  ç-Cëâ6?r  )r,   rÑ  rÒ  rÓ  rÔ  rÕ  r/   rá  rÖ  r×  rØ  ry  r.   rÜ  s                 r1   Útest_zero_freqzTestLombscargle.test_zero_freq†  sÑ   € ð
 ˆØˆØˆØˆØˆØˆØˆô �i‰i×#Ñ# GÓ,ˆØ�H‰H�S‹MˆÜ�K‰K˜œRŸU™U™
 C¬¯©¡I¨sÓ3°A¸±FÑ;ˆð ”2—6‘6˜!˜A™# ™)Ó$Ñ$ vÑ-ˆô �K‰K˜˜3 Ó%ˆô ˜A˜q !¨tÀ4ÔHˆð �Q‰x˜$ŠÐ‰r3   c                 óš  — t        dd«      D �cg c]  }|dz   ‘Œ	 c}}t        j                  t        |«      «      }dt        j                  z  gdz  }t        |||«       t        dd«      D �cg c]
  }|dz  dz   ‘Œ c}}t        j                  t        |«      «      }t        j                  dz  gdz  }t        |||«       y c c}w c c}w )Nr   ry   r    r$   re   r[   )rc  r'   r*   ÚlenrQ  r   )r,   rØ  ry  Úfreqss       r1   Útest_simple_div_zeroz$TestLombscargle.test_simple_div_zero¥  s¨   € ô
 " ! R›LÖ)�qˆQ�‹UÒ)ˆÜ�G‰G”C˜“F‹OˆØ”R—U‘U‘�˜a‘ˆÜ�A�q˜%Ô ô $ A r›lÖ+˜ˆQˆq‰S�1‹WÒ+ˆÜ�G‰G”C˜“F‹OˆÜ—‘�s‘�˜a‘ˆä�A�q˜%Õ ùò *ùò ,s   �CÁ.CN)r°   r±   r²   rÚ  rÝ  rã  rí  rò  rö  rø  rü  r	  r  r  r  r  r  r"  r&  r¸   r3   r1   rÃ  rÃ  Í  sb   „ ò&1òR6òB&'òP"-òHIòB%òIòIò/Eòb-ò> &òD"7òHIòFHòP ó>!r3   rÃ  c                   ó€  — e Zd Zej                  j
                  d„ «       Zd„ Zd„ Zd„ Z	d„ Z
ej                  j                  dddg«      d	„ «       Zej                  j
                  d
„ «       Zd„ Zd„ Zej                  j
                  ej                  j                  dddg«      d„ «       «       Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestSTFTc                 óê
  — d„ } |d«      5  t        ddd«       d d d «        |d«      5  t        ddd«       d d d «        |d	«      5  t        t        j                  d
«      dd«       d d d «        |d«      5  t        t        j                  d«      dd«       d d d «        |d«      5  t        ddd«       d d d «        |d«      5  t        ddd«       d d d «        |d	«      5  t        t        j                  d
«      dd«       d d d «        |d«      5  t        t        j                  d«      dd«       d d d «        |d«      5  t        ddd«       d d d «       t        j                  d«      }t        |«      d   } |d	«      5  t        |t        j                  d
«      ¬«       d d d «        |d«      5  t        |t        j                  d«      d¬«       d d d «        |d«      5  t        |d¬«       d d d «        |d«      5  t        |dd¬«       d d d «        |d«      5  t        |dd¬«       d d d «        |d«      5  t        |«       d d d «        |d	«      5  t        |t        j                  d
«      ¬«       d d d «        |d«      5  t        |t        j                  d«      d¬«       d d d «        |d«      5  t        |d¬«       d d d «        |d«      5  t        |dd¬«       d d d «        |d«      5  t        |dd¬«       d d d «       t        j                  t        d¬«      5  t        |ddd¬ «       d d d «        |d!«      5  t        |dd¬"«       d d d «        |d#«      5  t        ||d$¬%«       d d d «        |d&«      5  t        |d d' |d'd  d(¬%«       d d d «        |d)«      5  t        ||d$¬*«       d d d «       d+} |d,|›d-�«      5  t        ||¬.«       d d d «        |d,|›d-�«      5  t        ||¬.«       d d d «       y # 1 sw Y   �ŒÿxY w# 1 sw Y   �ŒîxY w# 1 sw Y   �ŒÊxY w# 1 sw Y   �Œ¦xY w# 1 sw Y   �Œ•xY w# 1 sw Y   �Œ„xY w# 1 sw Y   �Œ`xY w# 1 sw Y   �Œ<xY w# 1 sw Y   �Œ+xY w# 1 sw Y   �ŒäxY w# 1 sw Y   �Œ¿xY w# 1 sw Y   �Œ®xY w# 1 sw Y   �ŒœxY w# 1 sw Y   �ŒŠxY w# 1 sw Y   �Œ{xY w# 1 sw Y   �ŒWxY w# 1 sw Y   �Œ2xY w# 1 sw Y   �Œ!xY w# 1 sw Y   �ŒxY w# 1 sw Y   �ŒýxY w# 1 sw Y   �Œ×xY w# 1 sw Y   �ŒÅxY w# 1 sw Y   �Œ³xY w# 1 sw Y   �Œ›xY w# 1 sw Y   �Œ‰xY w# 1 sw Y   �ŒrxY w# 1 sw Y   y xY w)/Nc                 ó8   — t        j                  t        | ¬«      S )z�Assert for a ValueError matching regexp `match`.

            This little wrapper allows a more concise code layout.
            rª   )r³   r	   r^   rª   s    r1   Úchk_VEz.TestSTFT.test_input_validation.<locals>.chk_VE»  s   € ô
 —=‘=¤°5Ô9Ð9r3   z"nperseg must be a positive integerr   iöÿÿÿr   z#noverlap must be less than nperseg.rf   rc   zwindow must be 1-D)re   re   z"window must have length of npersegz"noverlap must be less than npersegz&noverlap must be a nonnegative integerr%  iàÿÿÿr]  re   r¬   z>value specified for nperseg is different from length of windowr  r  i ÿÿÿr½   r&  z.nfft must be greater than or equal to nperseg.r%   rB  zInput stft must be at least 2d!zwindow must have length of 256z1NOLA condition failed, STFT may not be invertiblerª   ©r¾   r'  r­   z/Must specify differing time and frequency axes!©Ú	time_axisÚ	freq_axisz=Unknown value for mode foo, must be one of: \{'psd', 'stft'\}r\   )Úmodez'x and y must be equal if mode is 'stft'é   Ústftz[Unknown boundary option 'foo', must be one of: \['even', 'odd', 'constant', 'zeros', None\])ÚboundaryÚ	not_validzParameter scaling=z not in \['spectrum', 'psd'\]!rG   )r   r'   r*   r   r(   r2  Úistftr³   Úwarnsr  r   )r,   r+  r-   ÚzrH   s        r1   Útest_input_validationzTestSTFT.test_input_validation¸  s  € ò	:ñ Ð8Ó9ñ 	'Ü�v˜s AÔ&÷	'áÐ9Ó:ñ 	'Ü�v˜r 2Ô&÷	'áÐ(Ó)ñ 	/Ü”r—w‘w˜v“¨¨AÔ.÷	/áÐ8Ó9ñ 	+Ü”r—w‘w˜r“{ B¨Ô*÷	+ñ Ð8Ó9ñ 	'Ü�v˜s AÔ&÷	'áÐ8Ó9ñ 	'Ü�v˜r 2Ô&÷	'áÐ(Ó)ñ 	/Ü”r—w‘w˜v“¨¨AÔ.÷	/áÐ8Ó9ñ 	+Ü”r—w‘w˜r“{ B¨Ô*÷	+áÐ<Ó=ñ 	(Ü�v˜r 3Ô'÷	(ô �H‰H�T‹NˆÜ�‹G�A‰Jˆñ Ð(Ó)ñ 	,Ü�œ2Ÿ7™7 6›?Õ+÷	,áð ,ó -ñ 	5ä�œ2Ÿ7™7 2›;°Õ4÷	5ñ Ð8Ó9ñ 	"Ü�˜DÕ!÷	"áÐ9Ó:ñ 	0Ü�˜C¨$Õ/÷	0áÐDÓEñ 	)Ü�˜C aÕ(÷	)ñ Ð5Ó6ñ 	Ü�!ŒH÷	áÐ(Ó)ñ 	-Ü�!œBŸG™G F›OÕ,÷	-áÐ4Ó5ñ 	6Ü�!œBŸG™G B›K°Õ5÷	6áÐ8Ó9ñ 	#Ü�!˜TÕ"÷	#áÐ9Ó:ñ 	1Ü�!˜S¨4Õ0÷	1áÐDÓEñ 	*Ü�!˜S qÕ)÷	*ä�\‰\œ+ð .7ô 8ñ 	=ä�!˜S¨1°VÕ<÷	=ñ ÐEÓFñ 	/Ü�!˜q¨AÕ.÷	/ñ ð )ó *ñ 	/ä˜Q ¨Õ.÷	/ñ Ð=Ó>ñ 	<Ü˜Q˜t ˜W a¨¨ g°FÕ;÷	<áð Dó Eñ 	3ä˜Q ¨EÕ2÷	3ð ˆÙÐ* ' Ð+IÐJÓKñ 	%Ü�˜GÕ$÷	%áÐ* ' Ð+IÐJÓKñ 	&Ü�!˜WÕ%÷	&ð 	&÷K	'ñ 	'ú÷	'ñ 	'ú÷	/ñ 	/ú÷	+ñ 	+ú÷	'ñ 	'ú÷	'ñ 	'ú÷	/ñ 	/ú÷	+ñ 	+ú÷	(ñ 	(ú÷	,ñ 	,ú÷	5ñ 	5ú÷	"ñ 	"ú÷	0ñ 	0ú÷	)ñ 	)ú÷	ñ 	ú÷	-ñ 	-ú÷	6ñ 	6ú÷	#ñ 	#ú÷	1ñ 	1ú÷	*ñ 	*ú÷	=ñ 	=ú÷	/ñ 	/ú÷	/ñ 	/ú÷	<ñ 	<ú÷	3ñ 	3ú÷
	%ñ 	%ú÷	&ð 	&úsB  ŒPªP$Á!P1Á9!P>Â*QÃQÃ&!Q%Ä!Q2ÅQ?Æ	!RÆ:"RÇ,R&È
R3È)S ÉSÉ$!SÊ"S'ËS4Ë%TÌTÌ6TÍT(Í5T5ÎUÎ9UÏUÐ U)ÐP!Ð$P.Ð1P;Ð>QÑQÑQ"Ñ%Q/Ñ2Q<Ñ?R	ÒRÒR#Ò&R0Ò3R=Ó S
ÓSÓS$Ó'S1Ó4S>ÔTÔTÔT%Ô(T2Ô5T?ÕUÕUÕU&Õ)U2c                 ó`   — g d¢}|D ]%  } dj                   |Ž }t        dt        |Ž |¬«       Œ' y )N)©Úboxcarrf   r   ©r;  rf   r"   ©rJ  é3   é   ©r   r  é€   ©r   r  éÀ   ©ÚblackmanrI  éÈ   ©©rK  r!   r  r%  ©r   r  éÿ   ú
{}, {}, {}Tr^  )Úformatr   r   )r,   ÚsettingsÚsettingr  s       r1   Útest_check_COLAzTestSTFT.test_check_COLA  s?   € ò	ˆð  ò 	BˆGØ%�,×%Ñ% wÐ/ˆCÜ˜œz¨7Ð3¸SÖAñ	Br3   c                 ó&  — g d¢}|D ]%  } dj                   |Ž }t        dt        |Ž |¬«       Œ' t        j                  d«      }d|d d d…<   |t        |«      t        |«      dz  fdg}|D ]%  } dj                   |Ž }t        d	t        |Ž |¬«       Œ' y )
N)r:  r<  )r;  rf   r-  r=  )rJ  r>  rf   r@  rB  )r   r  é%   rD  )rE  rI  é{   rG  )rH  r  é&   rI  )r   r  é'   rK  Tr^  r   r   re   )r   r%  r   F)rL  r   r   r'   r*   r$  )r,   Úsettings_passrN  r  Úw_failÚsettings_fails         r1   Útest_check_NOLAzTestSTFT.test_check_NOLA  s²   € òˆð  %ò 	BˆGØ%�,×%Ñ% wÐ/ˆCÜ˜œz¨7Ð3¸SÖAð	Bô —‘˜“ˆØˆ‰s�ˆs‰àœS ›[¬#¨f«+¸Ñ*:Ð;Ø#ð
ˆð %ò 	CˆGØ%�,×%Ñ% wÐ/ˆCÜ˜¤
¨GÐ 4¸cÖBñ	Cr3   c           
      óT  — t         j                  j                  d«      }|j                  d«      }d}d}d}d}t	        |||||ddd ¬«      \  }}}	t        |||||dd	d¬
«      \  }
}t        ||
«       t        t        j                  t        j                  |	«      dz  d¬«      |«       y )Nr\  r]  rA   r   r   r%   F)Úpaddedr@   r3  rF   )r@   rH   rè   re   r#   rt   )	r'   r`  rÍ  rb  r2  r   r   r¥  r  )r,   rÖ  r-   rN  r­   r¾   r'  r.   rE  ÚZr¹  rº  s               r1   r»  z"TestSTFT.test_average_all_segments:  s¦   € Ü�i‰i×#Ñ# DÓ)ˆØ�I‰I�d‹OˆàˆØˆØˆØˆô
 �q˜"˜f g¨xÀØ',°tô=‰ˆˆ1ˆaä�q˜"˜f g¨xÈØ)°5ô:‰ˆˆBô 	˜˜2ÔÜœŸ™¤§¡ q£	¨1¡°2Ô6¸Õ;r3   c           	      óâ  — t         j                  j                  d«      }|j                  d«      }d}d}d}d}t	        |||||«      \  }}}	t	        |j                  d«      ||||d¬	«      \  }
}}t        |	||||«      \  }}t        |j                  ||||dd
¬«      \  }}t        ||
«       t        ||«       t        ||«       t        |	|d d …ddd d …f   «       t        ||d d …ddf   «       y )Nr\  r]  rA   r   r   r%   )r#   r    r    r   rt   r#   r-  )	r'   r`  rÍ  rb  r2  rk   r5  ÚTr   )r,   rÖ  r-   rN  r­   r¾   r'  ró   Út1ÚZ1rõ   Út2ÚZ2Út3Úx1Út4Úx2s                    r1   Útest_permute_axeszTestSTFT.test_permute_axesN  sø   € Ü�i‰i×#Ñ# DÓ)ˆØ�I‰I�d‹OˆàˆØˆØˆØˆä˜!˜R ¨°(Ó;‰
ˆˆB�Ü˜!Ÿ)™) JÓ/°°V¸WÀhØ ô"‰
ˆˆB�ô �r˜2˜v w°Ó9‰ˆˆBÜ�r—t‘t˜R ¨°(ÀaØ!#ô%‰ˆˆBô 	˜˜BÔÜ˜˜BÔÜ˜˜BÔÜ˜˜Bšq ! Qª˜z™NÔ+Ü˜˜Bšq ! Q˜w™KÕ(r3   rH   rF   Úpsdc           
      ó`  — t         j                  j                  d«      }g d¢}|D ]†  \  }}}}t        j                  |«      }d|j	                  |j
                  «      z  }	t        |	|||d d|¬«      \  }
}
}t        |||||¬«      \  }}|› d|› �}t        |||¬«       t        |	||¬«       Œˆ y )	Nr\  ©©r;  rÅ  rf   r   ©r;  rÅ  rf   r"   )rJ  ée   r>  r?  ©r   r]  r  rA  )rH  é€  r  r%  )r   r]  r  rJ  rf   F)r¾   r'  r­   rè   rZ  rH   )r¾   r'  r­   rH   r>  r^  ©	r'   r`  rÍ  r<   rb  Úsizer2  r5  r   )r,   rH   rÖ  rM  r­   ÚNr¾   r'  rØ  r-   rE  ÚzzÚtrÚxrr  s                  r1   Útest_roundtrip_realzTestSTFT.test_roundtrip_reale  sÀ   € ä�i‰i×#Ñ# DÓ)ˆòˆð -5ò 	0Ñ(ˆF�A�w Ü—	‘	˜!“ˆAØ�3—9‘9˜QŸV™VÓ$Ñ$ˆAä˜A w¸Ø#)°4ÀØ$+ô-‰HˆAˆq�"ô ˜2 w¸Ø"(°'ô;‰FˆB�ð �H˜B˜x˜jÐ)ˆCÜ˜A˜r¨3Õ/Ü˜A˜r¨3Ö/ñ	0r3   c           
      óÌ  — t         j                  j                  d«      }t        j                  d«      }d|d d d…<   |dt	        |«      t	        |«      dz  fdg}|D ]ú  \  }}}}|› d|› d|› d|› �}t        |||«      rJ |«       ‚t        j                  |«      }	d|j                  |	j                  «      z  }
t        |
|||d d	d
¬«      \  }}}t        j                  t        d¬«      5  t        ||||d	¬«      \  }}d d d «       t        j                  |	d t	        |	«       «      sJ |«       ‚t        j                  |
d t	        |
«       «      sŒõJ |«       ‚ y # 1 sw Y   Œ^xY w)Nr\  r   r   re   r  )r   r  r%  r   r>  rf   Tr(   ©r¾   r'  r­   rè   rZ  r3  ÚNOLArª   ©r¾   r'  r­   r3  )r'   r`  rÍ  r*   r$  r   r<   rb  rp  r2  r³   r6  r  r5  Úallclose)r,   rÖ  rV  rM  r­   rq  r¾   r'  r  rØ  r-   rE  rr  rs  rt  s                  r1   Útest_roundtrip_not_nolaz TestSTFT.test_roundtrip_not_nola�  sj  € ä�i‰i×#Ñ# DÓ)ˆä—‘˜“ˆØˆ‰s�ˆs‰à˜S¤# f£+¬s°6«{¸aÑ/?Ð@Ø(ð
ˆð
 -5ò 	8Ñ(ˆF�A�w Ø�H˜B˜q˜c  G 9¨B¨x¨jÐ9ˆCÜ! &¨'°8Ô<ÐA¸cÓAÐ<ä—	‘	˜!“ˆAØ�S—Y‘Y˜qŸv™vÓ&Ñ&ˆAä˜A w¸Ø#)°4ÀØ%,ô.‰HˆAˆq�"ô —‘œk°Ô8ñ =Ü˜r¨7¸XØ&,°tô=‘��B÷=ô —;‘;˜q " W¤c¨!£f +Ô.Ð3°Ó3Ð.Ü—{‘{ 1 b¨¬#¨a«& kÕ2Ð7°CÓ7Ð2ñ	8÷=ð =ús   Ã)EÅE#	c           
      óô  — t         j                  j                  d«      }g d¢}|D ]Ð  \  }}}}|› d|› d|› �}t        |||«      sJ |«       ‚t	        |||«      rJ |«       ‚t        j
                  |«      }d|j                  |j                  «      z  }	t        |	|||d dd¬«      \  }
}
}t        ||||d¬«      \  }}|› d|› �}t        ||d t        |«       |¬	«       t        |	|d t        |	«       |¬	«       ŒÒ y )
Nr\  ))r;  rÅ  rf   r�   )rJ  rl  r>  rQ  )r   r]  r  é   )rH  rn  r  é   )r   r]  r  r�   r>  rf   Tr(   rw  ry  r^  )r'   r`  rÍ  r   r   r<   rb  rp  r2  r5  r   r$  )r,   rÖ  rM  r­   rq  r¾   r'  r  rØ  r-   rE  rr  rs  rt  s                 r1   Útest_roundtrip_nola_not_colaz%TestSTFT.test_roundtrip_nola_not_cola�  s  € Ü�i‰i×#Ñ# DÓ)ˆòˆð -5ò 	9Ñ(ˆF�A�w Ø�H˜B˜w˜i r¨(¨Ð4ˆCÜ˜f g¨xÔ8Ð=¸#Ó=Ð8Ü! &¨'°8Ô<ÐA¸cÓAÐ<ä—	‘	˜!“ˆAØ�S—Y‘Y˜qŸv™vÓ&Ñ&ˆAä˜A w¸Ø#)°4ÀØ%,ô.‰HˆAˆq�"ô ˜2 w¸Ø"(°4ô9‰FˆB�ð �H˜B˜x˜jÐ)ˆCÜ˜A˜r '¤3 q£6˜{°CÕ8Ü˜A˜r '¤3 q£6˜{°CÖ8ñ#	9r3   c           	      óà  — t         j                  j                  d«      }dg}|D ]Ç  \  }}}}t        j                  |«      }d|j	                  |j
                  «      z  }|j                  t         j                  «      }t        ||||d d¬«      \  }	}	}
t        |
|||¬«      \  }}|› d|› �}t        |||¬«       t        |||d	d
¬«       t        |j                  |j                  k(  «       ŒÉ y )Nr\  rm  rf   F©r¾   r'  r­   rè   rZ  r,  r>  r^  r!  gñhãˆµøä>)r_  rÄ   r;   )r'   r`  rÍ  r<   rb  rp  ÚastypeÚfloat32r2  r5  r   r   rN   ©r,   rÖ  rM  r­   rq  r¾   r'  rØ  r-   rE  rr  rs  rt  r  s                 r1   Útest_roundtrip_float32zTestSTFT.test_roundtrip_float32»  sæ   € Ü�i‰i×#Ñ# DÓ)ˆà,Ð-ˆà,4ò 	)Ñ(ˆF�A�w Ü—	‘	˜!“ˆAØ�3—9‘9˜QŸV™VÓ$Ñ$ˆAØ—‘œŸ™Ó$ˆAä˜A w¸Ø#)°4ÀôG‰HˆAˆq�"ô ˜2 w¸Ø"(ô*‰FˆB�ð �H˜B˜x˜jÐ)ˆCÜ˜A˜q¨#Õ.Ü˜A˜r¨3°TÀÕEÜ�A—G‘G˜rŸx™xÑ'Õ(ñ	)r3   c                 ó´  — t         j                  j                  d«      }g d¢}|D ]ª  \  }}}}t        j                  |«      }d|j	                  |j
                  «      z  d|j	                  |j
                  «      z  z   }	t        |	|||d dd|¬«      \  }
}
}t        ||||d|¬«      \  }}|› d|› d|› �}t        |||¬	«       t        |	||¬	«       Œ¬ t        «       5 }|j                  t        d
«       t        	d dd|¬«      \  }
}
}d d d «       t        d|¬«      \  }}|› d|› d|› �}t        ||¬	«       t        	||¬	«       y # 1 sw Y   ŒDxY w)Nr\  ri  rf   y              $@F)r¾   r'  r­   rè   rZ  r@   rH   )r¾   r'  r­   Úinput_onesidedrH   r>  r^  z9Input data is complex, switching to return_onesided=FalseT)r'   r`  rÍ  r<   rb  rp  r2  r5  r   r   r  r  )r,   rH   rÖ  rM  r­   rq  r¾   r'  rØ  r-   rE  rr  rs  rt  r  r  s                   r1   Útest_roundtrip_complexzTestSTFT.test_roundtrip_complexÐ  s‹  € ô �i‰i×#Ñ# DÓ)ˆòˆð -5ò 	0Ñ(ˆF�A�w Ü—	‘	˜!“ˆAØ�3—9‘9˜QŸV™VÓ$Ñ$ s¨3¯9©9°Q·V±VÓ+<Ñ'<Ñ<ˆAä˜A w¸Ø#)°4ÀØ,1¸7ôD‰HˆAˆq�"ô ˜2 w¸Ø"(¸Ø#*ô,‰FˆB�ð �H˜B˜w˜i r¨(¨Ð4ˆCÜ˜A˜r¨3Õ/Ü˜A˜r¨3Ö/ð	0ô" Ó ð 	C CØ�J‰J”{ØRôTä˜A w¸Ø#)°4ÀØ,0¸'ôC‰HˆAˆq�"÷	Cô �r 7°XØ$°UÀGôM‰ˆˆBð �˜˜7˜) 2 h ZÐ0ˆÜ˜˜2 sÕ+Ü˜˜2 sÖ+÷	Cð 	Cús   Ã.EÅEc                 óÂ  — t         j                  j                  d«      }ddg}|D ]·  \  }}}}t        j                  |«      }d|j	                  |j
                  «      z  }t        ||||d dd ¬«      \  }	}	}
t        |
||d¬«      \  }	}d	D ]P  }t        ||||d d|¬«      \  }	}	}t        |||d¬«      \  }	}|› d
|› d
|› �}t        |||¬«       t        |||¬«       ŒR Œ¹ y )Nr\  rj  rk  rf   Trw  F)r'  r­   r3  )ÚevenÚoddÚconstantr(   r>  r^  ro  )r,   rÖ  rM  r­   rq  r¾   r'  rØ  r-   rE  rr  rt  r3  Úzz_extÚxr_extr  s                   r1   Ú!test_roundtrip_boundary_extensionz*TestSTFT.test_roundtrip_boundary_extensioný  s  € Ü�i‰i×#Ñ# DÓ)ˆð +Ø*ðˆð
 -5ò 	8Ñ(ˆF�A�w Ü—	‘	˜!“ˆAØ�3—9‘9˜QŸV™VÓ$Ñ$ˆAä˜A w¸Ø"(°$¸tØ$(ô*‰HˆAˆq�"ô ˜" x¸ÈÔO‰EˆAˆrà@ò 
8�Ü# A¨wÀØ'-°tÀDØ)1ô 3‘��1�fô " &°8ÀFØ)-ô/‘	��6ð  ˜  8 *¨B¨x¨jÐ9�Ü  2¨sÕ3Ü  6°3Ö7ñ
8ñ	8r3   c           	      óŽ  — t         j                  j                  d«      }ddg}|D ]�  \  }}}}t        j                  |«      }d|j	                  |j
                  «      z  }t        ||||d d¬«      \  }	}	}
t        |
||¬«      \  }}|› d|› �}t        ||d |j
                   |¬	«       t        ||d |j
                   |¬	«       ŒŸ y )
Nr\  )r;  rl  rf   r   )r   rÆ  r  rA  rf   Tr�  )r'  r­   r>  r^  ro  r„  s                 r1   Útest_roundtrip_padded_signalz%TestSTFT.test_roundtrip_padded_signal  sÑ   € Ü�i‰i×#Ñ# DÓ)ˆð +Ø,ðˆð
 -5ò 	9Ñ(ˆF�A�w Ü—	‘	˜!“ˆAØ�3—9‘9˜QŸV™VÓ$Ñ$ˆAä˜A w¸Ø#)°4ÀôF‰HˆAˆq�"ô ˜2¨¸Ô@‰FˆB�à�H˜B˜x˜jÐ)ˆCä˜A˜r ' 1§6¡6˜{°CÕ8Ü˜A˜r ' 1§6¡6˜{°CÖ8ñ	9r3   c                 ó,  — t         j                  j                  d«      }g d¢}|D ]ì  \  }}}}}t        j                  |«      }d|j	                  |j
                  «      z  }	|	t        j                  dt         j                  z  dz  «      z  }
t        |	||||d d¬«      \  }}}t        |
||||d dd¬	«      \  }}}t        |||||¬
«      \  }}t        |||||d¬«      \  }}|› d|› �}t        |||¬«       t        |	||¬«       t        |
||¬«       Œî y )Nr\  ))r   r]  r  rA  r1  )r   r]  r  rA  iõ  )r;  rÅ  rf   r   é!   )rH  rn  r  r%  r]  rf   y              ð?r[   T)r¾   r'  rƒ   r­   rè   rZ  F)r¾   r'  rƒ   r­   rè   rZ  r@   )r¾   r'  rƒ   r­   )r¾   r'  rƒ   r­   r‡  r>  r^  )r'   r`  rÍ  r<   rb  rp  ÚexprQ  r2  r5  r   )r,   rÖ  rM  r­   rq  r¾   r'  rƒ   rØ  r-   ÚxcrE  r7  Úzcrs  rt  Úxcrr  s                     r1   Útest_roundtrip_padded_FFTz"TestSTFT.test_roundtrip_padded_FFT4  s1  € Ü�i‰i×#Ñ# DÓ)ˆòˆð 3;ò 	2Ñ.ˆF�A�w ¨$Ü—	‘	˜!“ˆAØ�3—9‘9˜QŸV™VÓ$Ñ$ˆAØ”2—6‘6˜"œRŸU™U™( 1™*Ó%Ñ%ˆBô ˜1 g¸ÀtØ#)°4ÀôF‰GˆAˆq�!ô ˜B¨¸(ÈØ#)°4ÀØ,1ô3‰HˆAˆq�"ô ˜1 g¸ÀtØ"(ô*‰FˆB�ô ˜B¨¸(ÈØ#)¸%ôA‰GˆB�ð �H˜B˜x˜jÐ)ˆCÜ˜A˜r¨3Õ/Ü˜A˜r¨3Õ/Ü˜B ¨SÖ1ñ/	2r3   c                 óf  — t         j                  j                  d«      }|j                  d«      }t	        |«      \  }}}t        d«      D ]’  }dgdz  }d||<   |j                  |«      }t	        ||¬«      \  }}}t	        |||j                  z
  ¬«      \  }}}	t        ||j                  «       |¬«       t        ||	j                  «       ||j                  z
  ¬«       Œ” t        |j                  dd¬	«      \  }}
t        |j                  d
d¬	«      \  }}t        ||
d¬«       t        ||d¬«       y )Nr\  r]  r�   r    r#   rt   r^  éþÿÿÿr-  r   zistft transpose minuszistft transpose plus)r'   r`  rÍ  rb  r2  rc  rk   rd  r   re  r5  r]  r   )r,   rÖ  rf  rE  Úz_flatrh  ri  r-   Úz_plusÚz_minusÚx_transpose_mÚx_transpose_ps               r1   rl  zTestSTFT.test_axis_rollingW  s  € Ü�i‰i×#Ñ# DÓ)ˆà—‘˜4“ˆÜ˜F“|‰ˆˆ1ˆfä�q“ò 		FˆAØ�t˜A‘vˆHØˆH�Q‰KØ—‘˜xÓ(ˆAä ¨œ?‰LˆAˆq�&Ü  ¨¨1¯6©6©Ô2‰MˆAˆq�'ä˜ §¡Ó!1¸1Õ=Ü˜ §¡Ó!2¸A¸a¿f¹f¹HÖEð		Fô ! §¡°RÀ2ÔFÑˆˆ=Ü  §¡°QÀ!ÔDÑˆˆ=ä˜ Ð7NÕOÜ˜ Ð7MÖNr3   c                 ól  — t        j                  dt        ¬«      }d|d<   t         j                  j	                  |«      }t        |dz  «      t        |«      z  }t        |dd¬«      d   }t        |d	d¬«      d
   }t        ||«       t        t        |ddd…f   «      d«       t        t        |ddd…f   «      d
«       t        t        |ddd…f   «      d«       d|dd…dd…f<   t        |dd…dd…f   dt        j                  |j                  «      j                  ¬«       t        |ddd¬«      d   }t        j
                  |j                  dz  |j                  dz  z   d¬«      |j                   d   z  }t        ||«       t        |dd	d¬«      d
   }t        ||«       t        |d	dd¬«      d   }t        j"                  |ddd…dd…f   «      }	t        |dd…dd…f   |«       t        |dd…dd…f   |	«       t        j
                  |j                  dz  |j                  dz  z   d¬«      t        j
                  |	j                  dz  |	j                  dz  z   d¬«      z   }
|
|j                   d   |	j                   d   z   z  }t        ||«       t        |d	d	d¬«      d
   }t        ||«       y)z&Verify behavior of scaling parameter. i  rM   r]  r  re   rŠ  rF   )r3  rH   Tr    é?   Nr#   r!   r%  éA   r   éB   r:   Frg  )r@   r3  rH   rt   )r‡  r3  rH   rš  é�   )r'   r(   Úcomplexr   r   rè  r$  r2  r5  r   r  ÚfinforN   Ú
resolutionÚrealÚimagrl   Úconj)r,   ÚXr-   Úpower_xÚZsrc  ÚZpÚpsd_ZpÚZp0ÚZp1Ús2Úpsd_Zp01s               r1   Útest_roundtrip_scalingzTestSTFT.test_roundtrip_scalingq  sy  € ô �H‰H�S¤Ô(ˆØˆˆ#‰Ü�F‰F�L‰L˜‹OˆÜ�a˜‘d“)œc !›fÑ$ˆô �!˜f¨jÔ9¸!Ñ<ˆô �2 ¨jÔ9¸!Ñ<ˆÜ˜˜AÔô 	œ˜B˜r 3 B 3˜w™KÓ(¨#Ô.Üœ˜B˜r 3 B 3˜w™KÓ(¨!Ô,Üœ˜B˜r 3 B 3˜w™KÓ(¨#Ô.àˆˆ2ˆbˆ5�#�2�#ˆ:‰ä˜š1˜c˜r˜c˜6™
 A¬B¯H©H°R·X±XÓ,>×,IÑ,IÕJô �! U°VÀUÔKÈAÑNˆô —‘˜Ÿ™ ™
 R§W¡W¨a¡ZÑ/°aÔ8¸2¿8¹8ÀA¹;ÑFˆä˜ Ô(ô �2 e°dÀEÔJÈ1ÑMˆÜ˜˜AÔô �1 d°VÀUÔKÈAÑNˆô �g‰g�c˜"˜Q˜r˜'¢1˜*‘oÓ&ˆÜ˜˜4˜C˜4¢˜7™ SÔ)Ü˜˜3™4¢˜7™ SÔ)ô �f‰f�S—X‘X ‘] S§X¡X°¡]Ñ2¸Ô;Ü�f‰f�S—X‘X ‘] S§X¡X°¡]Ñ2¸Ô;ñ<ˆà˜Ÿ™ 1™¨¯	©	°!©Ñ4Ñ5ˆÜ˜ 'Ô*ô �3 t°dÀEÔJÈ1ÑMˆÜ˜˜AÕr3   N)r°   r±   r²   r³   r´   Úthread_unsafer8  rO  rX  r»  rf  Úparametrizeru  r{  r  r…  rˆ  r�  r‘  r˜  rl  r´  r¸   r3   r1   r(  r(  ·  sâ   „ Ø‡[�[×ÑñP&ó ðP&òdBò Cò><ò()ð. ‡[�[×Ñ˜Y¨°UÐ(;Ó<ñ0ó =ð0ð6 ‡[�[×Ññ8ó ð8ò69ò<)ð* ‡[�[×ÑØ‡[�[×Ñ˜Y¨°UÐ(;Ó<ñ),ó =ó ð),òV8òB9ò,!2òFOó4?r3   r(  c                   óØ   — e Zd ZU dZdZeed<   dZeed<   dZ	eed<   dZ
eed<   ej                  ed	<   ej                  ed
<   eed<   eed<   d„ Zedefd„«       Zedefd„«       Zd„ Zd„ Zy)Ú"TestSampledSpectralRepresentationsa  Check energy/power relations from `Spectral Analysis` section in the user guide.

    A 32 sample cosine signal is used to compare the numerical to the expected results
    stated in :ref:`tutorial_SpectralAnalysis` in
    file ``doc/source/tutorial/signal.rst``
    ry   ÚnrB   r]  r�   Úa_refÚl_aÚx_refÚX_refÚE_refÚP_refc                 ó˜  — t        | j                  | j                  «      }t        j                  |«      }d| _        | j                  dz  | j                  z  || j
                  <   t        |«      | _        t        | j                  «      | _
        | j                  | j                  dz  z  dz  | _        | j                  dz  dz  | _        y)z5Create Cosine signal with amplitude a from spectrum. r�   re   N)r   r¹  r]  r'   rê   r»  rº  r   r¼  r   r½  Útaur¾  r¿  )r,   r.   r½  s      r1   Úsetup_methodz/TestSampledSpectralRepresentations.setup_methodÄ  s–   € ä�T—V‘V˜TŸV™VÓ$ˆÜ—‘˜aÓ ˆØˆŒØŸ*™* Q™,¨¯©Ñ/ˆˆd�h‰h‰Ü˜5“\ˆŒ
Ü˜Ÿ™“_ˆŒ
ð —X‘X §
¡
¨A¡Ñ-°Ñ1ˆŒ
Ø—Z‘Z ‘] QÑ&ˆ�
r3   Úreturnc                 ó4   — | j                   | j                  z  S )zDuration of signal. ©r¹  r]  r_   s    r1   rÁ  z&TestSampledSpectralRepresentations.tauÑ  s   € ð �v‰v˜Ÿ™‰Ðr3   c                 ó:   — d| j                   | j                  z  z  S )z
Bin width r    rÅ  r_   s    r1   Údelta_fz*TestSampledSpectralRepresentations.delta_fÖ  s   € ð �D—F‘F˜TŸV™V‘OÑ$Ð$r3   c                 ó  — t        d| j                  z  t        j                  | j                  «      d¬«       t        | j
                  t        | j                  dz  «      z  | j                  «       t        | j                  j                  dz  | j                  j                  dz  z   «      }t        | j
                  | j                  z  |z  | j                  «       t        d| j                  dz  z  |z  | j                  «       y)z Test energy and power formulas. re   rL  rO  r    N)r   rº  r'   Úptpr¼  r]  rè  r¾  r½  r¨  r©  r¹  r¿  )r,   Úsum_X_ref_squareds     r1   Útest_reference_signalz8TestSampledSpectralRepresentations.test_reference_signalÛ  sµ   € ô 	˜˜$Ÿ*™*™¤b§f¡f¨T¯Z©ZÓ&8¸sÕCä˜Ÿ™¤ T§Z¡Z°1¡_Ó!5Ñ5°t·z±zÔBô   §
¡
§¡°Ñ 2°T·Z±Z·_±_ÀaÑ5GÑ GÓHÐÜ˜Ÿ™˜tŸv™v™Ð(9Ñ9¸4¿:¹:ÔFÜ˜˜$Ÿ&™& !™)™Ð&7Ñ7¸¿¹ÕDr3   c                 ó¤  — t        | j                  d¬«      }t        t        |«      «      t	        j
                  t        |j                  dz  |j                  dz  z   «      «      }}t        | j                  |z  «      }t        | j                  || j                     z  |z  | j                  | j                  z  dz  «       t        || j                     |z  | j                  dz  «       | j                  | j                  z  t        ||z  «      dz  z  }| j                  t        ||z  «      dz  z  }t        | j                  t        |«      z  | j                   «       t        | j                  t        |«      z  | j"                  «       t%        d| j                  z  |dd¬«      }t'        | j                  fddi|¤Ž\  }}	t'        | j                  fddi|¤Ž\  }}
t	        j(                  |	j*                  «      j,                  }t        |	t        ||z  «      dz  |t/        |	«      z  ¬	«       t        |
||t/        |
«      z  ¬	«       t%        dt1        | j                  «      d
dœ|¤Ž}t        t3        | j                  fddi|¤Žd   |	|t/        |	«      z  ¬	«       t        t3        | j                  fddi|¤Žd   |
|t/        |
«      z  ¬	«       y)z‡Verify spectral representations of windowed DFT.

        Furthermore, the scalings of `periodogram` and `welch` are verified.
        F)Úsymre   r    )rN  r­   rè   r@   rH   rF   rI   r:   r   r&  Nr¸   )r   r¹  r  rè  r'   rR  r¨  r©  r   r¼  r   rÁ  r»  rº  r]  rÇ  r¾  r¿  Údictr   r¦  rN   r§  ré  r$  r   )r,   rÒ  Úc_ampÚc_rmsÚXwÚX_ESDÚX_PSDÚkwrE  ÚP_magÚP_psdÚ	float_ress               r1   Útest_windowed_DFTz4TestSampledSpectralRepresentations.test_windowed_DFTç  sF  € ô
 �—‘˜UÔ#ˆÜœ3˜q›6“{¤B§G¡G¬C°·±¸±	¸A¿F¹FÀA¹IÑ0EÓ,FÓ$GˆuˆÜ�—‘˜A‘Óˆô 	˜Ÿ™ 2 d§h¡h¡<Ñ/°%Ñ7¸¿¹ÀdÇhÁhÑ9NÐQRÑ9RÔSä˜˜4Ÿ8™8™ uÑ,¨d¯j©j¸©lÔ;ð —‘˜4Ÿ6™6Ñ!¤C¨¨U©
£O°QÑ$6Ñ6ˆØ—‘œ˜R %™Z›¨!Ñ+Ñ+ˆÜ˜Ÿ™¤s¨5£zÑ1°4·:±:Ô>Ü˜Ÿ™¤s¨5£zÑ1°4·:±:Ô>ô �Q�t—v‘v‘X a°ÈÔNˆÜ˜tŸz™zÑD°:ÐDÀÑD‰ˆˆ5Ü˜tŸz™zÑC°9ÐCÀÑC‰ˆˆ5ô —H‘H˜UŸ[™[Ó)×4Ñ4ˆ	Ü˜œs 2 e¡8›}¨aÑ/°iÄÀEÃ
Ñ6JÕKä˜˜u¨9´S¸³ZÑ+?Õ@ô Ð<œ#˜dŸj™j›/°AÑ<¸Ñ<ˆÜœ˜dŸj™jÑC°*ÐCÀÑCÀAÑFÈØ&¤s¨5£zÑ1õ	3äœ˜dŸj™jÑB°)ÐB¸rÑBÀ1ÑEÀuØ&¤s¨5£zÑ1ö	3r3   N)r°   r±   r²   Ú__doc__r¹  rO   Ú__annotations__r]  rç  rº  r»  r'   ÚndarrayrÂ  ÚpropertyrÁ  rÇ  rË  rØ  r¸   r3   r1   r¸  r¸  ³  s’   … ñð €A€sƒKØ€A€uƒOØ€Eˆ5ÓØ€CˆƒLà�:‰:ÓØ�:‰:ÓØƒLØƒLò'ð ð�Uò ó ðð ð%˜ò %ó ð%ò
Eó$3r3   r¸  )1r¶   Únumpyr'   Únumpy.testingr   r   r   r   r   r   r³   r	   r]   Úscipyr
   Ú	scipy.fftr   r   r   r   Úscipy.integrater   Úscipy.signalr   r   r   r   r   r   r   Úscipy.signal.windowsr   Úscipy.signal._spectral_pyr   Ú,scipy.signal.tests._scipy_spectral_test_shimr   r2  r   r5  r   rw  r   rº   rt  r«  rµ  rÃ  r(  r¸  r¸   r3   r1   ú<module>ræ     s®   ðÛ 
ã ÷N÷ Nó Ý *å ß 3Ó 3Ý %÷?÷ ?ñ ?å %Ý 6õ NÝ OÝ K÷Z'ñ Z'÷z|6ñ |6÷~	I*ñ I*÷X
ñ ÷03 ñ 3 ÷jg!ñ g!÷Tyñ y÷xX3ò X3r3   