§
    µ³ÙgðV ã                   óz  — d dl Z d dlmZmZ d dlmZ d dlmZ d dlm	Z	 d dl
Z
d dl
mZ d dlmZmZmZmZmZmZmZmZ d dl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! d dlm"Z" d dl#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZB d dlCmDZD d dlEmFZFmGZGmHZH d dlImJZJ d dlKmLZL d dlMmNZN d dlOmPZPmQZQmRZR  G d„ d¦  «        ZS G d„ deS¦  «        ZT G d„ d¦  «        ZU G d„ deU¦  «        ZV G d„ d¦  «        ZWd„ ZXd„ ZYd „ ZZd!„ Z[ G d"„ d#¦  «        Z\ G d$„ d%¦  «        Z] G d&„ d'¦  «        Z^ G d(„ d)¦  «        Z_g d*¢Z`e`eJz  Z` G d+„ d,¦  «        Za G d-„ d.¦  «        Zb G d/„ d0¦  «        Zc G d1„ d2¦  «        Zd G d3„ d4ed¦  «        Ze G d5„ d6ed¦  «        Zfe
jg         h                    d7¦  «         G d8„ d9ed¦  «        ¦   «         Zi G d:„ d;ed¦  «        Zj G d<„ d=ed¦  «        Zke
jg         h                    d7¦  «         G d>„ d?ed¦  «        ¦   «         Zle
jg         h                    d7¦  «         G d@„ dAed¦  «        ¦   «         Zme
jg         h                    d7¦  «         G dB„ dCed¦  «        ¦   «         Zne
jg         h                    d7¦  «        dD„ ¦   «         Zoe
jg         h                    d7¦  «        ZpdE„ Zqe
jg         r                    dFejs        ejt        eju        ejv        eReQejw        ejw        ejx        ejy         e
jz        ej{        ep¬G¦  «         e
jz        eep¬G¦  «        g¦  «         G dH„ dI¦  «        ¦   «         Z| G dJ„ dK¦  «        Z}e
jg         r                    dLg dM¢¦  «        e
jg         r                    dNdOdPg¦  «        e
jg         r                    dQg dR¢¦  «        dS„ ¦   «         ¦   «         ¦   «         Z~dT„ Ze
jg         r                    dFej€        ej�         e
jz        ej‚        ep¬G¦  «        g¦  «         G dU„ dV¦  «        ¦   «         Zƒ G dW„ dX¦  «        Z„ G dY„ dZ¦  «        Z… G d[„ d\¦  «        Z† G d]„ d^e†¦  «        Z‡d_„ Zˆdd`„Z‰e
jg         Š                    da¦  «        db„ ¦   «         Z‹e
jg        jŒ        dc„ ¦   «         Z�e
jg         h                    d7¦  «        dd„ ¦   «         ZŽe
jg         Š                    da¦  «        de„ ¦   «         Z� G df„ dg¦  «        Z� G dh„ di¦  «        Z‘ G dj„ dk¦  «        Z’ G dl„ dm¦  «        Z“ G dn„ do¦  «        Z” G dp„ dq¦  «        Z•d€ds„Z–e
jg         h                    d7¦  «        e
jg         r                    dte:e/f¦  «        du„ ¦   «         ¦   «         Z—e
jg         r                    dFdv¦  «         G dw„ dx¦  «        ¦   «         Z˜ G dy„ dz¦  «        Z™ G d{„ d|¦  «        Zš G d}„ d~¦  «        Z›dS )�é    N)ÚThreadPoolExecutorÚas_completed)ÚDecimal©Úproduct)Úgcd)Úraises)Úassert_equalÚassert_almost_equalÚassert_array_equalÚassert_array_almost_equalÚassert_allcloseÚassert_Úassert_array_lessÚsuppress_warnings)ÚarrayÚarange)Úfft)Úcorrelate1d)ÚfminÚlinear_sum_assignment)Úsignal)Ú	correlateÚcorrelate2dÚcorrelation_lagsÚconvolveÚ
convolve2dÚfftconvolveÚ
oaconvolveÚchoose_conv_methodÚenvelopeÚhilbertÚhilbert2ÚlfilterÚ
lfilter_ziÚfiltfiltÚbutterÚzpk2tfÚzpk2sosÚinvresÚinvreszÚvectorstrengthÚlfilticÚtf2sosÚsosfiltÚsosfiltfiltÚ
sosfilt_ziÚtf2zpkÚBadCoefficientsÚdetrendÚunique_rootsÚresidueÚresiduez)Úhann)Ú_filtfilt_gustÚ_compute_factorsÚ_group_poles)Ú_upfirdn_modes)Ú
_testutils©Úxp_assert_close)ÚComplexWarningÚnp_longÚnp_ulongc                   óJ   — 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S )Ú_TestConvolvec                 ót   — g d¢}g d¢}t          ||¦  «        }t          |t          g d¢¦  «        ¦  «         d S )N)é   é   é   é   rH   rG   ©é   é   rF   )rF   é
   é   é   é    rP   é   é   ©r   r   r   ©ÚselfÚaÚbÚcs       úY/granary/edev/quantum/lib/python3.11/site-packages/scipy/signal/tests/test_signaltools.pyÚ
test_basicz_TestConvolve.test_basic(   sH   € ØÐÐˆØˆIˆIˆÝ�Q˜‰NŒNˆÝ˜1�eÐ$CÐ$CÐ$CÑDÔDÑEÔEÐEÐEÐEó    c                 óx   — g d¢}g d¢}t          ||d¬¦  «        }t          |t          g d¢¦  «        ¦  «         d S )N©rF   rG   rH   ©rK   rL   rF   rG   Úsame©Úmode)rM   rN   é"   rS   rT   s       rY   Ú	test_samez_TestConvolve.test_same.   sJ   € ØˆIˆIˆØˆLˆLˆÝ�Q˜ Ð'Ñ'Ô'ˆÝ˜1�e L L LÑ1Ô1Ñ2Ô2Ð2Ð2Ð2r[   c                 óx   — g d¢}g d¢}t          ||d¬¦  «        }t          |t          g d¢¦  «        ¦  «         d S )Nr]   rJ   r_   r`   )rM   rN   rN   rS   rT   s       rY   Útest_same_eqz_TestConvolve.test_same_eq4   sJ   € ØˆIˆIˆØˆIˆIˆÝ�Q˜ Ð'Ñ'Ô'ˆÝ˜1�e L L LÑ1Ô1Ñ2Ô2Ð2Ð2Ð2r[   c                 ó¨   — t          g d¢¦  «        }t          ddg¦  «        }t          ||¦  «        }t          |t          g d¢¦  «        ¦  «         d S )N)ù      ð?      ð?ù       @      ð?ù      @      ð?rg   rh   )ù               @y       @      @y      @       @y      @      @)r   r   r   )rU   ÚxÚyÚzs       rY   Útest_complexz_TestConvolve.test_complex:   sZ   € ÝÐ*Ð*Ð*Ñ+Ô+ˆÝ�6˜6Ð"Ñ#Ô#ˆÝ�Q˜‰NŒNˆÝ˜1�eÐ$@Ð$@Ð$@ÑAÔAÑBÔBÐBÐBÐBr[   c                 óT   — d}d}t          ||¦  «        }t          |||z  ¦  «         d S )Ni	  i×  )r   r
   rT   s       rY   Útest_zero_rankz_TestConvolve.test_zero_rank@   s3   € ØˆØˆÝ�Q˜‰NŒNˆÝ�Q˜˜A™ÑÔÐÐÐr[   c                 ón  — t          j        d¦  «                             ddd¦  «        }t          j        d¦  «        }t          d¦  «        D ]g}dgdz  }d||<   t	          ||                     |¦  «        d¬¦  «        }t	          ||                     |¦  «        d¬¦  «        }t          ||¦  «         Œhd S )Né   rF   rK   Údirect©Úmethodr   )Únpr   ÚreshapeÚranger   r   )rU   rV   rW   ÚiÚb_shaperk   rl   s          rY   Útest_broadcastablez _TestConvolve.test_broadcastableF   s´   € ÝŒI�b‰MŒM×!Ò! ! Q¨Ñ*Ô*ˆÝŒI�a‰LŒLˆÝ�q‘”ð 	"ð 	"ˆAØ�c˜!‘eˆGØˆG�A‰JÝ˜˜AŸIšI gÑ.Ô.°xÐ@Ñ@Ô@ˆAÝ˜˜AŸIšI gÑ.Ô.°uÐ=Ñ=Ô=ˆAÝ˜A˜qÑ!Ô!Ð!Ð!ð	"ð 	"r[   c                 óŒ   — t          dg¦  «        }t          dg¦  «        }t          ||¦  «        }t          |||z  ¦  «         d S ©Nig  iP  )r   r   r
   rT   s       rY   Útest_single_elementz!_TestConvolve.test_single_elementP   sC   € Ý�4�&‰MŒMˆÝ�4�&‰MŒMˆÝ�Q˜‰NŒNˆÝ�Q˜˜A™ÑÔÐÐÐr[   c                 ó–   — g d¢g d¢g}g d¢g d¢g}t          ||¦  «        }t          g d¢g d¢g d¢g¦  «        }t          ||¦  «         d S ©NrJ   r]   ©rL   rF   rG   ©rG   rH   rI   )rL   é   é   é   rR   )rM   é   é>   é:   é&   )rR   é   rˆ   é1   r†   ©r   r   r   ©rU   rV   rW   rX   Úds        rY   Útest_2d_arraysz_TestConvolve.test_2d_arraysV   sz   € ØˆYˆY˜	˜	˜	Ð"ˆØˆYˆY˜	˜	˜	Ð"ˆÝ�Q˜‰NŒNˆÝÐ%Ð%Ð%Ø'Ð'Ð'Ø'Ð'Ð'ð)ñ *ô *ˆõ 	˜1˜aÑ Ô Ð Ð Ð r[   c           
      ón  — t          d¦  «                             ddd¦  «        }dt          d¦  «                             ddd¦  «        z  }|t          d¦  «        d d d…                              ddd¦  «        z  }t          g d¢g d¢g d	¢g d
¢gg d¢g d¢g d¢g d¢gg d¢g d¢g d¢g d¢gg d¢g d¢g d¢g d¢gg¦  «        }t          t	          ||d¦  «        |¦  «         t          t	          ||d¦  «        |¦  «         t          t	          ||d¦  «        |dd…dd…dd…f         ¦  «         t          t	          ||d¦  «        |dd…dd…dd…f         ¦  «         t          t	          ||d¦  «        |dd…dd…dd…f         ¦  «         t          t	          ||d¦  «        |dd…dd…dd…f         ¦  «         d S )Né   rL   ù              ð?rr   rF   éÿÿÿÿ)ù                y      :@        y      9@      ð?y      8@       @)y      J@        y     àb@      @y      b@      &@y     @W@      &@)y      G@      @y      `@      7@y     À_@      =@y     @T@      7@)y      D@      (@y     €X@      @@y     @W@     €B@y      K@      8@)y      Z@        y     àn@      *@y      m@      7@y     à`@      5@)y      q@      >@y     Àƒ@      X@y     à‚@      _@y      t@     €U@)y     Àn@     €P@y      �@     €f@y     @€@      j@y      q@     À`@)y     Àa@     €P@y     0s@      d@y     r@     `f@y      c@     ÀZ@)y      Q@      B@y      c@     ÀY@y     `b@     @\@y     @T@     ÀR@)y     Àe@     @a@y     Àw@     Àu@y      v@     €w@y     @g@     Àl@)y     @a@     Àe@y     €r@      {@y     Àp@     À|@y     @a@     `q@)y     €Q@     @a@y      b@     0t@y     À_@     Pu@y     €O@      h@)y      @@      R@y      Q@     Àd@y     €M@     àe@y      >@      Y@)y      Q@      h@y     `a@     {@y     @]@     p|@y     €L@     ào@)y      C@     Àk@y     @R@     0@y     €I@     H€@y      5@     0r@)y      (@      b@y      4@     às@y      @     °t@y             Àf@Úfullr_   rK   r   Úvalid)r   rw   r   r   r   )rU   ÚsmallÚbigÚ	out_arrays       rY   Útest_input_swappingz!_TestConvolve.test_input_swapping_   sX  € Ý�q‘	”	×!Ò! ! Q¨Ñ*Ô*ˆØ•6˜"‘:”:×%Ò% a¨¨AÑ.Ô.Ñ.ˆØ�v�b‰zŒz˜$˜$˜B˜$Ô×'Ò'¨¨1¨aÑ0Ô0Ñ0ˆåØ1Ð1Ð1Ø6Ð6Ð6Ø7Ð7Ð7Ø6Ð6Ð6ð8ð
 :Ð9Ð9Ø;Ð;Ð;Ø=Ð=Ð=Ø=Ð=Ð=ð?ð
 ;Ð:Ð:Ø>Ð>Ð>Ø>Ð>Ð>Ø<Ð<Ð<ð>ð
 :Ð9Ð9Ø<Ð<Ð<Ø:Ð:Ð:Ø8Ð8Ð8ð:ð;ñ<ô <ˆ	õ* 	�8 E¨3°Ñ7Ô7¸ÑCÔCÐCÝ�8 C¨°Ñ7Ô7¸ÑCÔCÐCÝ�8 E¨3°Ñ7Ô7Ø$ Q q S¨!¨A¨#¨q°¨s ]Ô3ñ	5ô 	5ð 	5å�8 C¨°Ñ7Ô7Ø$ Q q S¨!¨A¨#¨q°¨s ]Ô3ñ	5ô 	5ð 	5å�8 E¨3°Ñ8Ô8Ø$ Q q S¨!¨A¨#¨q°¨s ]Ô3ñ	5ô 	5ð 	5å�8 C¨°Ñ8Ô8Ø$ Q q S¨!¨A¨#¨q°¨s ]Ô3ñ	5ô 	5ð 	5ð 	5ð 	5r[   c                 óJ  — g d¢}g d¢}t          t          t          ||d¬¦  «         t          t          t          ||dd¬¦  «         t          t          t          ||dd	¬¦  «         t          t          t          ||d
d¬¦  «         t          t          t          ||dd¬¦  «         d S ©Nr]   rJ   Úspamr`   Úeggsr   ©ra   ru   Úhamrs   r•   Úbaconr_   ©Úassert_raisesÚ
ValueErrorr   ©rU   rV   rW   s      rY   Útest_invalid_paramsz!_TestConvolve.test_invalid_params„   sŸ   € ØˆIˆIˆØˆIˆIˆÝ•j¥(¨A¨q°vÐ>Ñ>Ô>Ð>Ý•j¥(¨A¨q°vÀeÐLÑLÔLÐLÝ•j¥(¨A¨q°uÀXÐNÑNÔNÐNÝ•j¥(¨A¨q°vÀgÐNÑNÔNÐNÝ•j¥(¨A¨q°vÀgÐNÑNÔNÐNÐNÐNr[   N)Ú__name__Ú
__module__Ú__qualname__rZ   rc   re   rn   rp   r{   r~   r�   rš   r¦   © r[   rY   rD   rD   &   s¶   € € € € € ðFð Fð Fð3ð 3ð 3ð3ð 3ð 3ðCð Cð Cðð ð ð"ð "ð "ðð ð ð!ð !ð !ð#5ð #5ð #5ðJOð Oð Oð Oð Or[   rD   c                   ó^   — e Zd Zd„ Zd„ Zd„ Zd
d„Zd„ Zd„ Ze	j
        j        d„ ¦   «         Zd	S )ÚTestConvolvec                 ó>  — g d¢}g d¢}g d¢}t          ||d¦  «        }t          ||¦  «         t          ||d¦  «        }t          ||¦  «         g d¢}ddg}ddg}t          ||d¦  «        }t          ||¦  «         t          ||d¦  «        }t          ||¦  «         d S )	N©rK   rL   rF   rI   rH   rF   ©	rL   rF   rG   rH   rF   rG   rL   rL   rK   )éF   éN   éI   éA   r–   )y      ð?      @ù       @      ð¿y      @        ù       @      Àù      ð?        y       @      $À)r   r   ©rU   rV   rW   ÚexpectedÚouts        rY   Útest_valid_mode2zTestConvolve.test_valid_mode2�   sÌ   € àÐÐˆØ'Ð'Ð'ˆØ#Ð#Ð#ˆå�q˜!˜WÑ%Ô%ˆÝ˜3 Ñ)Ô)Ð)å�q˜!˜WÑ%Ô%ˆÝ˜3 Ñ)Ô)Ð)à$Ð$Ð$ˆØ�VÐˆØ˜GÐ$ˆå�q˜!˜WÑ%Ô%ˆÝ˜3 Ñ)Ô)Ð)å�q˜!˜WÑ%Ô%ˆÝ˜3 Ñ)Ô)Ð)Ð)Ð)r[   c                 óz   — g d¢}g d¢}t          ||d¦  «        }t          g d¢¦  «        }t          ||¦  «         d S )N)rK   rL   rF   rF   rK   rL   )rK   rG   rF   rG   rH   rI   rƒ   rG   rF   rL   rK   rK   rF   r_   )é9   é=   é?   r¼   é-   é$   rŒ   r�   s        rY   Útest_same_modezTestConvolve.test_same_mode¦   sS   € ØÐÐˆØ3Ð3Ð3ˆÝ�Q˜˜6Ñ"Ô"ˆÝÐ*Ð*Ð*Ñ+Ô+ˆÝ˜1˜aÑ Ô Ð Ð Ð r[   c                 ó"  — t          j        dd¦  «                             d¦  «        }t          j        dd¦  «                             d¦  «        }t          t          t
          g||f¢R i ddi¤Ž t          t          t
          g||f¢R i ddi¤Ž d S ©	NrK   rƒ   ©rL   rF   éúÿÿÿr   ©rF   rL   ra   r–   )rv   r   rw   r£   r¤   r   r¥   s      rY   Útest_invalid_shapesz TestConvolve.test_invalid_shapes­   s˜   € õ ŒI�a˜‰OŒO×#Ò# FÑ+Ô+ˆÝŒI�b˜!ÑÔ×$Ò$ VÑ,Ô,ˆå•j¥(ÐI¨a°¨VÐIÐIÐI¸ÀÐ7HÐIÐIÐIÝ•j¥(ÐI¨a°¨VÐIÐIÐI¸ÀÐ7HÐIÐIÐIÐIÐIr[   éd   c                 óL  ‡	‡
‡‡— h d£Š
ˆ
fd„‰
D ¦   «         }t           j                             d¦  «        }|                     ddg|¬¦  «        |                     |¦  «        dœ}|d         x|d	<   |d
<   |d         d|d         z  z   |d<   |D �]\  }}Š	|t          j        |¦  «        j                                      |¦  «        Š|t          j        |¦  «        j                                      |¦  «        Šˆ	ˆˆfd„dD ¦   «         }t          |d         j        |d         j        ¦  «         d|v r#d|v rt          t          ‰‰¦  «        d¦  «         ŒÈt          d„ ||fD ¦   «         ¦  «        rdddœ}nd||fv rdddœ}ndddœ}t          |d         |d         fi |¤Ž �Œd S )N>   ÚboolÚint8Úint16Úint32Úint64Úuint8Úuint16Úuint32Úuint64Úfloat16Úfloat32Úfloat64Ú	complex64Ú
complex128c                 ó.   •— g | ]}‰D ]}d D ]}|||f‘ŒŒŒS ))r–   r•   r_   rª   )Ú.0Út1Út2ra   Útypess       €rY   ú
<listcomp>z5TestConvolve.test_convolve_method.<locals>.<listcomp>À   sb   ø€ ð Fð Fð F 2¸ð Fð F°2Ø+DðFð FØ#'ð �R˜�ð Fð Fð Fð Fð Fr[   é*   r   rK   ©Úsize)ry   Úfry   rW   Úurá   ù              à?rX   c           	      ó8   •— i | ]}|t          ‰‰|‰¬ ¦  «        “ŒS ))ru   ra   )r   )rÙ   Úkeyra   Úx1Úx2s     €€€rY   ú
<dictcomp>z5TestConvolve.test_convolve_method.<locals>.<dictcomp>Ï   s<   ø€ ð 5ð 5ð 5Øð �H R¨°C¸dÐCÑCÔCð 5ð 5ð 5r[   )r   rs   r   rs   rÊ   c                 ó   — g | ]}|d v ‘ŒS )>   rÔ   rÖ   rª   )rÙ   Úts     rY   rÝ   z5TestConvolve.test_convolve_method.<locals>.<listcomp>Ú   s   € ÐDÐDÐD°a�AÐ1Ð1ÐDÐDÐDr[   ç-Cëâ6?g�íµ ÷Æ°>©ÚrtolÚatolrÓ   çü©ñÒMbP?çñhãˆµøä>ç:Œ0âŽyE>)rv   ÚrandomÚRandomStateÚchoiceÚrandnÚdtypeÚkindÚastyper
   r    Úanyr   )rU   ÚnÚargsÚrngÚarray_typesrÚ   rÛ   ÚresultsÚkwargsra   rÜ   ræ   rç   s            @@@@rY   Útest_convolve_methodz!TestConvolve.test_convolve_method¹   s3  øøøø€ ð4ð 4ð 4ˆðFð Fð Fð F¨ð Fñ Fô Fˆõ
 Œi×#Ò# BÑ'Ô'ˆØŸJšJ¨¨1 v°A˜JÑ6Ô6ØŸIšI a™LœLð*ð *ˆà.9¸#Ô.>Ð>ˆ�CÑ˜; sÑ+Ø& sÔ+¨d°;¸sÔ3CÑ.CÑCˆ�CÑà ð 	Iñ 	I‰LˆB��DØ�RœX b™\œ\Ô.Ô/×6Ò6°rÑ:Ô:ˆBØ�RœX b™\œ\Ô.Ô/×6Ò6°rÑ:Ô:ˆBð5ð 5ð 5ð 5ð 5ð 5Ø"3ð5ñ 5ô 5ˆGõ ˜ œÔ-¨w°xÔ/@Ô/FÑGÔGÐGà˜ˆ|ˆ| ¨"  ÝÕ/°°BÑ7Ô7¸ÑBÔBÐBØõ ÐDÐD¸BÀ¸8ÐDÑDÔDÑEÔEð 6Ø"(°$Ð7Ð7��Ø˜r 2˜hÐ&Ð&à"&°Ð5Ð5��ð #'°Ð5Ð5�å˜G EœN¨G°HÔ,=ÐHÐHÀÐHÐHÐHÑHð1	Ið 	Ir[   c                 ó$  — dD ]Œ}t          j        d|z  gt           j        ¬¦  «        }t          ||d¬¦  «        }t          ||d¬¦  «        }|dk     r<t	          ||¦  «         t	          |dd|z  z  ¦  «         t	          |dd|z  z  ¦  «         Œ�d S )N)	rM   é   é2   é3   é4   é5   é6   é<   r‡   rL   ©rö   r   rt   rs   r  )rv   r   rÎ   r   r
   )rU   rú   rm   r   rs   s        rY   Ú test_convolve_method_large_inputz-TestConvolve.test_convolve_method_large_inputå   s­   € ð 6ð 
	/ð 
	/ˆAÝ”˜!˜Q™$˜¥r¤xÐ0Ñ0Ô0ˆAÝ˜1˜a¨Ð.Ñ.Ô.ˆCÝ˜a ¨8Ð4Ñ4Ô4ˆFð �2ŠvˆvÝ˜S &Ñ)Ô)Ð)Ý˜S ! a¨¡c¡(Ñ+Ô+Ð+Ý˜V Q¨¨1©¡XÑ.Ô.Ð.øð
	/ð 
	/r[   c                 óv  — t          t          t          dgdd¬¦  «         t          t          t          ddgd¬¦  «         t          t          t          dgdd¬¦  «         t          t          t          ddgd¬¦  «         t          t          t          dgdgg¦  «         t          t          t          dgd¦  «         d S ©NrK   rL   rs   rt   r   rF   r¢   ©rU   s    rY   Útest_mismatched_dimsz!TestConvolve.test_mismatched_dimsô   s¤   € å•j¥(¨Q¨C°¸8ÐDÑDÔDÐDÝ•j¥(¨A°¨s¸8ÐDÑDÔDÐDÝ•j¥(¨Q¨C°¸5ÐAÑAÔAÐAÝ•j¥(¨A°¨s¸5ÐAÑAÔAÐAÝ•j¥(¨Q¨C°1°#°Ñ7Ô7Ð7Ý•j¥(¨Q¨C°Ñ3Ô3Ð3Ð3Ð3r[   c                 óö   — t          j        g d¢t          ¬¦  «        }t          j        g d¢t          ¬¦  «        }t          j        d¬¦  «        5  t          ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©Nr®   r	  r¯   údtype=object is not supported©Úmatch)rv   ÚasarrayÚobjectÚpytestÚdeprecated_callr   r¥   s      rY   Útest_dtype_deprecationz#TestConvolve.test_dtype_deprecationý   sÀ   € õ ŒJÐ)Ð)Ð)µÐ8Ñ8Ô8ˆÝŒJÐ2Ð2Ð2½&ÐAÑAÔAˆÝÔ#Ð*IÐJÑJÔJð 	ð 	Ý�Q˜‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ó   ÁA.Á.A2Á5A2N)rÈ   )r§   r¨   r©   rº   rÁ   rÇ   r   r
  r  r  ÚmarkÚthread_unsafer  rª   r[   rY   r¬   r¬   Ž   sœ   € € € € € ð*ð *ð *ð,!ð !ð !ð
Jð 
Jð 
Jð*Ið *Ið *Ið *IðX/ð /ð /ð4ð 4ð 4ð „[Ôðð ñ Ôðð ð r[   r¬   c                   óö   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ej                             d	eeg¦  «        ej                             d
dg d¢gfdg d¢gfg¦  «        d„ ¦   «         ¦   «         Zd„ Zd„ Zd„ ZdS )Ú_TestConvolve2dc                 ó–   — g d¢g d¢g}g d¢g d¢g}t          g d¢g d¢g d¢g¦  «        }t          ||¦  «        }t          ||¦  «         d S r€   ©r   r   r   )rU   rV   rW   rŽ   Úes        rY   r�   z_TestConvolve2d.test_2d_arrays  s|   € ØˆYˆY˜	˜	˜	Ð"ˆØˆYˆY˜	˜	˜	Ð"ˆÝÐ%Ð%Ð%Ø'Ð'Ð'Ø'Ð'Ð'ð)ñ *ô *ˆõ �q˜!ÑÔˆÝ˜1˜aÑ Ô Ð Ð Ð r[   c                 óÎ   — g d¢g d¢g}g d¢g d¢g}t          g d¢g¦  «        }t          ||d¦  «        }t          ||¦  «         t          ||d¦  «        }t          ||¦  «         d S )N©rL   rF   rG   rH   rI   rƒ   r‘   ©rG   rH   rI   rƒ   r‘   é	   rM   rJ   r]   ©r‡   éP   éb   ét   é†   r–   r  ©rU   r   rá   ÚhÚgs        rY   Útest_valid_modez_TestConvolve2d.test_valid_mode  sŒ   € Ø"Ð"Ð"Ð$:Ð$:Ð$:Ð;ˆØˆYˆY˜	˜	˜	Ð"ˆÝÐ)Ð)Ð)Ð*Ñ+Ô+ˆå�q˜!˜WÑ%Ô%ˆÝ˜1˜aÑ Ô Ð õ �q˜!˜WÑ%Ô%ˆÝ˜1˜aÑ Ô Ð Ð Ð r[   c                 ó  — g d¢g d¢g}t          j        g d¢g d¢gt          ¬¦  «        dz   }t          g d¢g¦  «        }t          ||d¦  «        }t	          ||¦  «         t          ||d¦  «        }t          ||¦  «         d S )	Nr"  r#  rJ   r]   r	  r’   )y      O@      8@y      T@      >@y     €X@      B@y      ]@      E@y     À`@      H@r–   )rv   r   Úcomplexr   r   r   r*  s        rY   Útest_valid_mode_complxz&_TestConvolve2d.test_valid_mode_complx  s    € Ø"Ð"Ð"Ð$:Ð$:Ð$:Ð;ˆÝŒH�i�i�i   Ð+µ7Ð;Ñ;Ô;¸bÑ@ˆÝÐGÐGÐGÐHÑIÔIˆå�q˜!˜WÑ%Ô%ˆÝ! ! QÑ'Ô'Ð'õ �q˜!˜WÑ%Ô%ˆÝ˜1˜aÑ Ô Ð Ð Ð r[   c                 ó    — g d¢g d¢g}g d¢g d¢g}d}t          ||dd|¦  «        }t          g d¢g d	¢g d
¢g¦  «        }t          ||¦  «         d S )NrJ   r]   r�   r‚   rK   r•   Úfill)é   é   rŠ   rb   rP   )rO   é(   r‡   é@   r  )rP   é.   éC   r‡   é0   ©r   r   r   )rU   rV   rW   ÚfillvalrX   rŽ   s         rY   Útest_fillvaluez_TestConvolve2d.test_fillvalue)  s‡   € ØˆYˆY˜	˜	˜	Ð"ˆØˆYˆY˜	˜	˜	Ð"ˆØˆÝ�q˜!˜V V¨WÑ5Ô5ˆÝÐ'Ð'Ð'Ø'Ð'Ð'Ø'Ð'Ð'ð)ñ *ô *ˆõ 	˜1˜aÑ Ô Ð Ð Ð r[   c                 óÊ  — d}t           j                             ¦   «         5 }|                     t          d¦  «         t          t          |¬¦  «        5  t          dggddggd¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d}t          t          |¬¦  «        5  t          dggddggddg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nz2could not cast `fillvalue` directly to the output zCasting complex valuesr  rK   rL   r’   ©Ú	fillvaluez,`fillvalue` must be scalar or an array with )rv   Útestingr   Úfilterr@   r£   r¤   r   )rU   ÚmsgÚsups      rY   Útest_fillvalue_errorsz%_TestConvolve2d.test_fillvalue_errors3  sª  € ØBˆÝŒZ×)Ò)Ñ+Ô+ð 	:¨sØ�JŠJ•~Ð'?Ñ@Ô@Ð@Ý�z°Ð5Ñ5Ô5ð :ð :Ý˜Q˜C˜5 A q 6 (°bÐ9Ñ9Ô9Ð9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð
 =ˆÝ�:¨SÐ1Ñ1Ô1ð 	:ð 	:Ý˜˜�u  1˜v˜h°1°a°&Ð9Ñ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð 	:ð 	:sG   ¡2BÁA7Á+BÁ7A;	Á;BÁ>A;	Á?BÂBÂBÂ1CÃCÃCc                 óL   — t          t          t          dggddggg ¬¦  «         d S )NrK   rL   r>  ©r£   r¤   r   r  s    rY   Útest_fillvalue_emptyz$_TestConvolve2d.test_fillvalue_empty>  s8   € å•j¥*°¨s¨e°q¸!°f°XØ "ð	$ñ 	$ô 	$ð 	$ð 	$ð 	$r[   c                 óš   — g d¢g d¢g}g d¢g d¢g}t          ||dd¦  «        }t          g d¢g d¢g d¢g¦  «        }t          ||¦  «         d S )	NrJ   r]   r�   r‚   r•   Úwrap)r&  r&  éJ   r&  r&  )éD   rK  r‡   rK  rK  r:  r�   s        rY   Útest_wrap_boundaryz"_TestConvolve2d.test_wrap_boundaryC  s€   € ØˆYˆY˜	˜	˜	Ð"ˆØˆYˆY˜	˜	˜	Ð"ˆÝ�q˜!˜V VÑ,Ô,ˆÝÐ'Ð'Ð'Ø'Ð'Ð'Ø'Ð'Ð'ð)ñ *ô *ˆõ 	˜1˜aÑ Ô Ð Ð Ð r[   c                 óš   — g d¢g d¢g}g d¢g d¢g}t          ||dd¦  «        }t          g d¢g d¢g d	¢g¦  «        }t          ||¦  «         d S )
NrJ   r]   r�   r‚   r•   Úsymm)rb   r†   é,   r‡   éB   )r  r9  r‡   r&  éT   )éR   r±   é\   én   ér   r:  r�   s        rY   Útest_sym_boundaryz!_TestConvolve2d.test_sym_boundaryL  s€   € ØˆYˆY˜	˜	˜	Ð"ˆØˆYˆY˜	˜	˜	Ð"ˆÝ�q˜!˜V VÑ,Ô,ˆÝÐ'Ð'Ð'Ø'Ð'Ð'Ø)Ð)Ð)ð+ñ ,ô ,ˆõ 	˜1˜aÑ Ô Ð Ð Ð r[   Úfunczboundary, expectedrN  )g     €B@ç      E@ç      F@g     €F@rI  )ç     €E@rY  rX  ç     €C@c                 óš   — t          j        g d¢g¦  «        }t          j        d¦  «        } |||d|¬¦  «        }t          ||¦  «         d S )N)ç       @ç      ð¿ç      @ç      @)rK   é   r_   ©ra   Úboundary)rv   r   Úonesr   )rU   rW  rc  r¸   ÚimageÚkernelÚresults          rY   Útest_same_with_boundaryz'_TestConvolve2d.test_same_with_boundaryU  s\   € õ ”Ð/Ð/Ð/Ð0Ñ1Ô1ˆÝ”˜Ñ!Ô!ˆØ��e˜V¨&¸8ÐDÑDÔDˆõ 	˜6 8Ñ,Ô,Ð,Ð,Ð,r[   c           	      óF  — dd l m} t          j        ddt          ¬¦  «                             dd¦  «        }t          j        ddt          ¬¦  «                             dd¦  «        }t          ||dd	¬
¦  «        }t          ||                     ||d	d¬¦  «        ¦  «         d S )Nr   rK   rŠ   r	  rM   rF   ée   r_   rI  rb  )r“   r“   )ra   Úorigin)	Úscipy.ndimageÚndimagerv   r   Úfloatrw   r   r   r   )rU   ÚndirV   rW   rX   s        rY   Útest_boundary_extension_samez,_TestConvolve2d.test_boundary_extension_samef  s¢   € ð 	$Ð#Ð#Ð#Ð#Ð#ÝŒI�a˜¥uÐ-Ñ-Ô-×5Ò5°b¸!Ñ<Ô<ˆÝŒI�a˜­Ð.Ñ.Ô.×6Ò6°r¸2Ñ>Ô>ˆÝ�q˜! &°6Ð:Ñ:Ô:ˆÝ˜1˜cŸlšl¨1¨a°fÀX˜lÑNÔNÑOÔOÐOÐOÐOr[   c                 óˆ  — dd l m} t          j        ddt          ¬¦  «                             dd¦  «        }t          j        ddt          ¬¦  «                             dd¦  «        }t          ||dd	¬
¦  «        }t          j        |dd	¦  «        }t          || 	                    ||d	¬¦  «        d d…d d…f         ¦  «         d S )Nr   rK   rM   r	  rF   é%   rI   r•   rI  rb  )©rF   rF   rs  r`   r“   )
rl  rm  rv   r   rn  rw   r   Úpadr   r   )rU   ro  rV   rW   rX   Úapads         rY   Útest_boundary_extension_fullz,_TestConvolve2d.test_boundary_extension_fullp  sÅ   € ð 	$Ð#Ð#Ð#Ð#Ð#ÝŒI�a˜¥eÐ,Ñ,Ô,×4Ò4°Q¸Ñ:Ô:ˆÝŒI�a˜¥eÐ,Ñ,Ô,×4Ò4°Q¸Ñ:Ô:ˆÝ�q˜! &°6Ð:Ñ:Ô:ˆÝŒv�aÐ)¨6Ñ2Ô2ˆÝ˜1˜cŸlšl¨4°¸˜lÑ@Ô@ÀÀ"ÀÀcÀrÀcÀÔJÑKÔKÐKÐKÐKr[   c                 ó"  — t          j        dd¦  «                             d¦  «        }t          j        dd¦  «                             d¦  «        }t          t          t
          g||f¢R i ddi¤Ž t          t          t
          g||f¢R i ddi¤Ž d S rÃ   )rv   r   rw   r£   r¤   r   r¥   s      rY   rÇ   z#_TestConvolve2d.test_invalid_shapes{  s˜   € õ ŒI�a˜‰OŒO×#Ò# FÑ+Ô+ˆÝŒI�b˜!ÑÔ×$Ò$ VÑ,Ô,ˆå•j¥*ÐK°°1¨vÐKÐKÐK¸&À'Ð9JÐKÐKÐKÝ•j¥*ÐK°°1¨vÐKÐKÐK¸&À'Ð9JÐKÐKÐKÐKÐKr[   N)r§   r¨   r©   r�   r-  r0  r<  rD  rG  rL  rV  r  r  Úparametrizer   r   rh  rp  rv  rÇ   rª   r[   rY   r  r    sH  € € € € € ð!ð !ð !ð
!ð 
!ð 
!ð
!ð 
!ð 
!ð!ð !ð !ð	:ð 	:ð 	:ð$ð $ð $ð
!ð !ð !ð!ð !ð !ð „[×Ò˜V j°+Ð%>Ñ?Ô?Ø„[×ÒÐ1Ø%Ð(@Ð(@Ð(@Ð'AÐBØ%Ð(@Ð(@Ð(@Ð'AÐBðDñEô Eð-ð -ñEô Eñ @Ô?ð-ðPð Pð Pð	Lð 	Lð 	Lð
Lð 
Lð 
Lð 
Lð 
Lr[   r  c                   ó�   — e Zd Zd„ Zd„ Zd„ Zd„ Zej        j	        ej         
                    d¦  «        d„ ¦   «         ¦   «         ZdS )ÚTestConvolve2dc                 ó’   — g d¢g d¢g}g d¢g d¢g}t          ||d¦  «        }t          g d¢g d¢g¦  «        }t          ||¦  «         d S )NrJ   r]   r"  r#  r_   )rN   rO   rb   )r&  r'  r(  r:  )rU   r   rá   r,  r+  s        rY   rÁ   zTestConvolve2d.test_same_modeŠ  ss   € ØˆYˆY˜	˜	˜	Ð"ˆØ"Ð"Ð"Ð$:Ð$:Ð$:Ð;ˆÝ�q˜!˜VÑ$Ô$ˆÝ�<�<�<Ø �=�=ð"ñ #ô #ˆå˜1˜aÑ Ô Ð Ð Ð r[   c                 ób  — g d¢g d¢g}g d¢g d¢g}g d¢g}t          ||d¦  «        }t          ||¦  «         t          ||d¦  «        }t          ||¦  «         ddgd	d
gg}g d¢g d¢g}ddgg}t          ||d¦  «        }t          ||¦  «         t          ||d¦  «        }t          ||¦  «         d S )NrJ   r]   r"  r#  r%  r–   rg   rµ   ri   ù      @        )r´   ù      @       @r}  )r}  y      @      ð?y      @      Ày      ;@      ð¿y      G@       @)r   r   )rU   r   rá   r¸   r¹   s        rY   rº   zTestConvolve2d.test_valid_mode2’  sý   € àˆYˆY˜	˜	˜	Ð"ˆØ"Ð"Ð"Ð$:Ð$:Ð$:Ð;ˆØ*Ð*Ð*Ð+ˆå˜˜A˜wÑ'Ô'ˆÝ˜3 Ñ)Ô)Ð)å˜˜A˜wÑ'Ô'ˆÝ˜3 Ñ)Ô)Ð)à�fÐ ¨Ð/Ð0ˆØ%Ð%Ð%Ð'?Ð'?Ð'?Ð@ˆØ˜hÐ'Ð(ˆå˜˜A˜wÑ'Ô'ˆÝ˜3 Ñ)Ô)Ð)õ ˜˜A˜wÑ'Ô'ˆÝ˜3 Ñ)Ô)Ð)Ð)Ð)r[   c           
      ót  — t          j        d¦  «        }t          j        g d¢¦  «        }dD ]Š}t          t          j        |||¬¦  «        t          j        |||¬¦  «        ¦  «         t          t          j        t          j        |g|g|¬¦  «        ¦  «        t          j        |||¬¦  «        ¦  «         Œ‹d S )NrH   ©gš™™™™™	@gffffffö?rF   ©r•   r–   r_   r`   )rv   r   r   r   r   r   Úsqueezer   ©rU   rV   rW   ra   s       rY   Útest_consistency_convolve_funcsz.TestConvolve2d.test_consistency_convolve_funcs©  sÉ   € åŒI�a‰LŒLˆÝŒH�]�]�]Ñ#Ô#ˆØ-ð 	2ð 	2ˆDÝ¥¤¨A¨q°tÐ <Ñ <Ô <Ý &¤°°1¸4Ð @Ñ @Ô @ñBô Bð Bå¥¤
ÝÔ! 1 #¨ s°Ð6Ñ6Ô6ñ!8ô !8å”  1¨4Ð0Ñ0Ô0ñ2ô 2ð 2ð 2ð	2ð 	2r[   c                 ó¾   — t          t          t          dd¦  «         t          t          t          dgdg¦  «         t          t          t          dgggdggg¦  «         d S )NrF   rG   rF  r  s    rY   Útest_invalid_dimsz TestConvolve2d.test_invalid_dims´  sT   € Ý•j¥*¨a°Ñ3Ô3Ð3Ý•j¥*¨q¨c°A°3Ñ7Ô7Ð7Ý•j¥*°°¨u¨g¸!¸¸°wÑ?Ô?Ð?Ð?Ð?r[   z!Can't create large array for testc                 óÜ  — ddt          j        ¦   «         j        z  z  }t          j        d|z  dz  t          j        ¦   «         j        z  dz  ¦  «         t          j        d|z  t           j        ¬¦  «        }d|d d d…<   t           j        j                             ||dfd¬	¦  «        }t          j
        |ddgg¦  «        }t          j        |dk    ¦  «        }|d
         j        d
k    sJ ‚d S )Nl        éè  rL   éé  g    €„.Ar	  rK   )iH  r‘   )ÚshapeÚstridesr   )rv   rÎ   Úitemsizer=   Úcheck_free_memoryÚzerosÚlibÚstride_tricksÚ
as_stridedr   r   Úwhererà   )rU   rú   rV   ÚcountÚfailss        rY   Útest_large_arrayzTestConvolve2d.test_large_array¹  sÞ   € ð �d�RœX™ZœZÔ0Ñ0Ñ1ˆÝÔ$ Q¨¡U¨T¡\µB´H±J´JÔ4GÑ%GÈ#Ñ%MÑNÔNÐNõ ŒH�T˜A‘X¥R¤XÐ.Ñ.Ô.ˆØˆˆ#ˆ#ˆAˆ#‰ÝŒFÔ ×+Ò+¨A°a¸°YÈ	Ð+ÑRÔRˆåÔ! ! q¨! f XÑ.Ô.ˆÝ”˜ šÑ#Ô#ˆØ�QŒxŒ} Ò!Ð!Ð!Ð!Ð!Ð!r[   N)r§   r¨   r©   rÁ   rº   r„  r†  r  r  ÚslowÚxfail_on_32bitr•  rª   r[   rY   rz  rz  ˆ  s‘   € € € € € ð!ð !ð !ð*ð *ð *ð.	2ð 	2ð 	2ð@ð @ð @ð
 „[ÔØ„[×ÒÐ CÑDÔDð"ð "ñ EÔDñ Ôð"ð "ð "r[   rz  c                   óô  — e Zd Zej                             dddddgddgg¦  «        d„ ¦   «         Zej                             dddgddgg¦  «        d„ ¦   «         Zej                             dddddgddgg¦  «        d	„ ¦   «         Zej                             dddgddgg¦  «        d
„ ¦   «         Z	ej                             dddddgddgddgddgddgddgddgddgg
¦  «        d„ ¦   «         Z
ej                             dddgddgddgddgddgddgddgddgg¦  «        d„ ¦   «         Zej                             dddddgddgddgddgddgddgddgddgg
¦  «        d„ ¦   «         Zej                             dddgddgddgddgddgddgddgddgg¦  «        d„ ¦   «         Zej                             dddddgddgg¦  «        d„ ¦   «         Zej                             ddddgdgg¦  «        d„ ¦   «         Zej                             dddddgddgg¦  «        d„ ¦   «         Zej                             dddgg¦  «        d„ ¦   «         Zej                             dddddgddgg¦  «        d„ ¦   «         Zej                             dddgddgg¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zej                             dddddgddgg¦  «        d„ ¦   «         Zej                             dddgddgg¦  «        d„ ¦   «         Zej                             dddgddgddgddgddgddgddgddgg¦  «        d„ ¦   «         Zej        j        ej                             d  e edd!¦  «        ¦  «         e ed"d#¦  «        ¦  «        z   ej                              d$¦  «         !                    d%d&d'¦  «         "                    ¦   «         z   ¦  «        d(„ ¦   «         ¦   «         Z#ej        j$        d)„ ¦   «         Z%dS )*ÚTestFFTConvolveÚaxesÚ Nr   r“   c                 ó¼   — t          g d¢¦  «        }t          g d¢¦  «        }|dk    rt          ||¦  «        }nt          |||¬¦  «        }t          ||¦  «         d S )NrJ   ©rK   rG   rM   rR   ç      "@r›  ©rš  ©r   r   r   ©rU   rš  rV   r¸   r¹   s        rY   Ú	test_realzTestFFTConvolve.test_realÌ  sk   € å�)�)�)ÑÔˆÝÐ+Ð+Ð+Ñ,Ô,ˆà�2Š:ˆ:Ý˜a Ñ#Ô#ˆCˆCå˜a ¨Ð.Ñ.Ô.ˆCå! # xÑ0Ô0Ð0Ð0Ð0r[   rK   c                 óê   — t          g d¢¦  «        }t          g d¢¦  «        }t          j        |ddg¦  «        }t          j        |ddg¦  «        }t          |||¬¦  «        }t	          ||¦  «         d S )NrJ   r�  rL   rK   rŸ  ©r   rv   Útiler   r   r¡  s        rY   Útest_real_axeszTestFFTConvolve.test_real_axesØ  s{   € å�)�)�)ÑÔˆÝÐ+Ð+Ð+Ñ,Ô,ˆåŒG�A˜˜1�vÑÔˆÝ”7˜8 a¨ VÑ,Ô,ˆå˜!˜Q TÐ*Ñ*Ô*ˆÝ! # xÑ0Ô0Ð0Ð0Ð0r[   c                 ó¼   — t          g d¢¦  «        }t          g d¢¦  «        }|dk    rt          ||¦  «        }nt          |||¬¦  «        }t          ||¦  «         d S )N©rg   ù       @       @y      @      @©rj   y               @y              4@y              8@y              2@r›  rŸ  r   r¡  s        rY   rn   zTestFFTConvolve.test_complexã  sn   € åÐ*Ð*Ð*Ñ+Ô+ˆÝÐDÐDÐDÑEÔEˆà�2Š:ˆ:Ý˜a Ñ#Ô#ˆCˆCå˜a ¨Ð.Ñ.Ô.ˆCÝ! # xÑ0Ô0Ð0Ð0Ð0r[   c                 óê   — t          g d¢¦  «        }t          g d¢¦  «        }t          j        |ddg¦  «        }t          j        |ddg¦  «        }t          |||¬¦  «        }t	          ||¦  «         d S )Nr¨  rª  rL   rK   rŸ  r¤  r¡  s        rY   Útest_complex_axesz!TestFFTConvolve.test_complex_axesî  s~   € åÐ*Ð*Ð*Ñ+Ô+ˆÝÐDÐDÐDÑEÔEˆåŒG�A˜˜1�vÑÔˆÝ”7˜8 a¨ VÑ,Ô,ˆå˜!˜Q TÐ*Ñ*Ô*ˆÝ! # xÑ0Ô0Ð0Ð0Ð0r[   éþÿÿÿc                 óÒ   — t          g d¢g d¢g¦  «        }t          g d¢g d¢g d¢g¦  «        }|dk    rt          ||¦  «        }nt          |||¬¦  «        }t          ||¦  «         d S )NrJ   r‚   ©rK   rG   rM   rR   r$  ©r‘   r4  é8   r  rÀ   ©r„   r5  r²   r  rÀ   r›  rŸ  r   r¡  s        rY   Útest_2d_real_samez!TestFFTConvolve.test_2d_real_sameù  sš   € õ �9�9�9Ø�9�9ðñ ô ˆåÐ+Ð+Ð+Ø-Ð-Ð-Ø.Ð.Ð.ð0ñ 1ô 1ˆð �2Š:ˆ:Ý˜a Ñ#Ô#ˆCˆCå˜a ¨Ð.Ñ.Ô.ˆCÝ! # xÑ0Ô0Ð0Ð0Ð0r[   rL   c                 ó   — t          g d¢g d¢g¦  «        }t          g d¢g d¢g d¢g¦  «        }t          j        |g d¢¦  «        }t          j        |g d¢¦  «        }t          |||¬¦  «        }t	          ||¦  «         d S )NrJ   r‚   r¯  r°  r²  ©rL   rK   rK   rŸ  r¤  r¡  s        rY   Útest_2d_real_same_axesz&TestFFTConvolve.test_2d_real_same_axes  sª   € õ �9�9�9Ø�9�9ðñ ô ˆåÐ+Ð+Ð+Ø-Ð-Ð-Ø.Ð.Ð.ð0ñ 1ô 1ˆõ ŒG�A�y�y�yÑ!Ô!ˆÝ”7˜8 Y Y YÑ/Ô/ˆå˜!˜Q TÐ*Ñ*Ô*ˆÝ! # xÑ0Ô0Ð0Ð0Ð0r[   c                 óÒ   — t          g d¢g d¢g¦  «        }t          g d¢g d¢g d¢g¦  «        }|dk    rt          ||¦  «        }nt          |||¬¦  «        }t          ||¦  «         d S )N©ù      ð?       @ù      @      @y      @      @©rh   y      @      @y      @      @©y      À      @y      $À      4@y      5À      L@y      2À      S@y      &À      N@©y              $@y              F@y             €]@y             €c@y             €^@©rº  y      $@      4@y      5@      L@y      2@      S@y      &@      N@r›  rŸ  r   r¡  s        rY   Útest_2d_complex_samez$TestFFTConvolve.test_2d_complex_same%  sŸ   € õ Ð+Ð+Ð+Ø+Ð+Ð+ð-ñ .ô .ˆåØAÐAÐAØ(Ð(Ð(Ø<Ð<Ð<ðñ ô ˆð �2Š:ˆ:Ý˜a Ñ#Ô#ˆCˆCå˜a ¨Ð.Ñ.Ô.ˆCå! # xÑ0Ô0Ð0Ð0Ð0r[   c                 ó   — t          g d¢g d¢g¦  «        }t          g d¢g d¢g d¢g¦  «        }t          j        |g d¢¦  «        }t          j        |g d¢¦  «        }t          |||¬¦  «        }t	          ||¦  «         d S )Nr¸  r»  r¼  r½  r¾  rµ  rŸ  r¤  r¡  s        rY   Útest_2d_complex_same_axesz)TestFFTConvolve.test_2d_complex_same_axes?  s¯   € õ Ð+Ð+Ð+Ø+Ð+Ð+ð-ñ .ô .ˆåØAÐAÐAØ(Ð(Ð(Ø<Ð<Ð<ðñ ô ˆõ ŒG�A�y�y�yÑ!Ô!ˆÝ”7˜8 Y Y YÑ/Ô/ˆå˜!˜Q TÐ*Ñ*Ô*ˆÝ! # xÑ0Ô0Ð0Ð0Ð0r[   c                 óz  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }|dk    rt          ||d¦  «        }nt          ||d|¬¦  «        }t          ||¦  «         |dk    rt          ||d¦  «        }nt          ||d|¬¦  «        }t          ||¦  «         d S )NrJ   ©	rF   rF   rH   rI   r‘   rƒ   r$  r   rK   ©ç     €A@ç     €D@ç     €G@©	rž  g      4@ç      9@rÅ  rÆ  rÇ  r[  g      <@r]  r›  r_   rŸ  r   ©rU   rš  rV   rW   Ú
expected_1Ú
expected_2r¹   s          rY   Útest_real_same_modez#TestFFTConvolve.test_real_same_modeV  sÖ   € å�)�)�)ÑÔˆÝÐ-Ð-Ð-Ñ.Ô.ˆÝ˜?˜?˜?Ñ+Ô+ˆ
ÝÐFÐFÐFÑGÔGˆ
à�2Š:ˆ:Ý˜a  FÑ+Ô+ˆCˆCå˜a  F°Ð6Ñ6Ô6ˆCÝ! # zÑ2Ô2Ð2à�2Š:ˆ:Ý˜a  FÑ+Ô+ˆCˆCå˜a  F°Ð6Ñ6Ô6ˆCÝ! # zÑ2Ô2Ð2Ð2Ð2r[   c                 óÒ  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          j        |ddg¦  «        }t          j        |ddg¦  «        }t          j        |ddg¦  «        }t          j        |ddg¦  «        }t          ||d|¬¦  «        }t	          ||¦  «         t          ||d|¬¦  «        }t	          ||¦  «         d S )	NrJ   rÃ  rÄ  rÈ  rL   rK   r_   rŸ  r¤  rÊ  s          rY   Útest_real_same_mode_axesz(TestFFTConvolve.test_real_same_mode_axesi  sò   € å�)�)�)ÑÔˆÝÐ-Ð-Ð-Ñ.Ô.ˆÝ˜?˜?˜?Ñ+Ô+ˆ
ÝÐFÐFÐFÑGÔGˆ
åŒG�A˜˜1�vÑÔˆÝŒG�A˜˜1�vÑÔˆÝ”W˜Z¨!¨Q¨Ñ0Ô0ˆ
Ý”W˜Z¨!¨Q¨Ñ0Ô0ˆ
å˜!˜Q ¨TÐ2Ñ2Ô2ˆÝ! # zÑ2Ô2Ð2å˜!˜Q ¨TÐ2Ñ2Ô2ˆÝ! # zÑ2Ô2Ð2Ð2Ð2r[   c                 óX  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }|dk    rt          ||d¦  «        }nt          ||d|¬¦  «        }t          ||¦  «         |dk    rt          ||d¦  «        }nt          ||d|¬¦  «        }t          ||¦  «         d S )N©rF   rL   rK   rÃ  ©g      8@g      ?@rÆ  rZ  g     €H@rÉ  ç      (@r›  r–   rŸ  r   ©rU   rš  rV   rW   r¸   r¹   s         rY   Útest_valid_mode_realz$TestFFTConvolve.test_valid_mode_real{  sÇ   € õ �)�)�)ÑÔˆÝÐ-Ð-Ð-Ñ.Ô.ˆÝÐ<Ð<Ð<Ñ=Ô=ˆà�2Š:ˆ:Ý˜a  GÑ,Ô,ˆCˆCå˜a  G°$Ð7Ñ7Ô7ˆCÝ! # xÑ0Ô0Ð0à�2Š:ˆ:Ý˜a  GÑ,Ô,ˆCˆCå˜a  G°$Ð7Ñ7Ô7ˆCÝ! # xÑ0Ô0Ð0Ð0Ð0r[   c                 ó<  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          j        |ddg¦  «        }t          j        |ddg¦  «        }t          j        |ddg¦  «        }t          ||d|¬¦  «        }t	          ||¦  «         d S ©NrÑ  rÃ  rÒ  rL   rK   r–   rŸ  r¤  rÔ  s         rY   Útest_valid_mode_real_axesz)TestFFTConvolve.test_valid_mode_real_axesŽ  s¨   € õ �)�)�)ÑÔˆÝÐ-Ð-Ð-Ñ.Ô.ˆÝÐ<Ð<Ð<Ñ=Ô=ˆåŒG�A˜˜1�vÑÔˆÝŒG�A˜˜1�vÑÔˆÝ”7˜8 a¨ VÑ,Ô,ˆå˜!˜Q ¨dÐ3Ñ3Ô3ˆÝ! # xÑ0Ô0Ð0Ð0Ð0r[   c                 óX  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }|dk    rt          ||d¦  «        }nt          ||d|¬¦  «        }t          ||¦  «         |dk    rt          ||d¦  «        }nt          ||d|¬¦  «        }t          ||¦  «         d S )N©ù      @      ð¿y       @      @r¶   ©r~  y      @      Ày      @        y      @      ð¿y       @        ©y     €F@      (@y      >@      7@y      H@      @@r›  r–   rŸ  r   rÔ  s         rY   Útest_valid_mode_complexz'TestFFTConvolve.test_valid_mode_complexœ  sÈ   € åÐ*Ð*Ð*Ñ+Ô+ˆÝÐ:Ð:Ð:Ñ;Ô;ˆÝÐ<Ð<Ð<Ñ=Ô=ˆà�2Š:ˆ:Ý˜a  GÑ,Ô,ˆCˆCå˜a  G°$Ð7Ñ7Ô7ˆCÝ! # xÑ0Ô0Ð0à�2Š:ˆ:Ý˜a  GÑ,Ô,ˆCˆCå˜a  G°$Ð7Ñ7Ô7ˆCÝ! # xÑ0Ô0Ð0Ð0Ð0r[   c                 ó‚  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          j        |ddg¦  «        }t          j        |ddg¦  «        }t          j        |ddg¦  «        }t          ||d|¬¦  «        }t	          ||¦  «         t          ||d|¬¦  «        }t	          ||¦  «         d S )NrÚ  rÜ  rÝ  rL   rK   r–   rŸ  r¤  rÔ  s         rY   Útest_valid_mode_complex_axesz,TestFFTConvolve.test_valid_mode_complex_axes®  sÏ   € åÐ*Ð*Ð*Ñ+Ô+ˆÝÐ:Ð:Ð:Ñ;Ô;ˆÝÐ<Ð<Ð<Ñ=Ô=ˆåŒG�A˜˜1�vÑÔˆÝŒG�A˜˜1�vÑÔˆÝ”7˜8 a¨ VÑ,Ô,ˆå˜!˜Q ¨dÐ3Ñ3Ô3ˆÝ! # xÑ0Ô0Ð0å˜!˜Q ¨dÐ3Ñ3Ô3ˆÝ! # xÑ0Ô0Ð0Ð0Ð0r[   c                 ó<  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          j        |ddg¦  «        }t          j        |ddg¦  «        }t          j        |ddg¦  «        }t          ||dd¬¦  «        }t	          ||¦  «         d S r×  r¤  r·   s        rY   Útest_valid_mode_ignore_nonaxesz.TestFFTConvolve.test_valid_mode_ignore_nonaxes¾  s¦   € å�)�)�)ÑÔˆÝÐ-Ð-Ð-Ñ.Ô.ˆÝÐ<Ð<Ð<Ñ=Ô=ˆåŒG�A˜˜1�vÑÔˆÝŒG�A˜˜1�vÑÔˆÝ”7˜8 a¨ VÑ,Ô,ˆå˜!˜Q ¨aÐ0Ñ0Ô0ˆÝ! # xÑ0Ô0Ð0Ð0Ð0r[   c                 óð   — t          t          g g ¦  «        j        dk    ¦  «         t          t          ddgg ¦  «        j        dk    ¦  «         t          t          g dg¦  «        j        dk    ¦  «         d S ©Nr   rH   rI   rƒ   )r   r   rà   r  s    rY   Ú
test_emptyzTestFFTConvolve.test_emptyË  sn   € å•˜B Ñ#Ô#Ô(¨AÒ-Ñ.Ô.Ð.Ý•˜Q ˜F BÑ'Ô'Ô,°Ò1Ñ2Ô2Ð2Ý•˜B  Ñ$Ô$Ô)¨QÒ.Ñ/Ô/Ð/Ð/Ð/r[   c                 óˆ   — t          d¦  «        }t          d¦  «        }t          ||¦  «        }t          |||z  ¦  «         d S r}   ©r   r   r
   ©rU   rV   rW   r¹   s       rY   rp   zTestFFTConvolve.test_zero_rankÑ  sA   € Ý�$‰KŒKˆÝ�$‰KŒKˆÝ˜!˜QÑÔˆÝ�S˜!˜a™%Ñ Ô Ð Ð Ð r[   c                 óŒ   — t          dg¦  «        }t          dg¦  «        }t          ||¦  «        }t          |||z  ¦  «         d S r}   rç  rè  s       rY   r~   z#TestFFTConvolve.test_single_element×  sE   € Ý�4�&‰MŒMˆÝ�4�&‰MŒMˆÝ˜!˜QÑÔˆÝ�S˜!˜a™%Ñ Ô Ð Ð Ð r[   c                 ó  — t           j                             d¦  «         t           j                             d¦  «        dt           j                             d¦  «        z  z   }t           j                             d¦  «        dt           j                             d¦  «        z  z   }t          j        ||d¦  «        }|dk    rt          ||d¦  «        }nt          ||d|¬¦  «        }t          t          j        ||d¬	¦  «        ¦  «         d S )
NéÒ  éÑ  r’   é)  r•   r›  rŸ  ç»½×Ùß|Û=©rí   )rv   rò   ÚseedÚrandr   r   r   ÚallcloserÔ  s         rY   Útest_random_dataz TestFFTConvolve.test_random_dataÝ  sÖ   € å
Œ	�Š�tÑÔÐÝŒI�NŠN˜4Ñ Ô  2­¬	¯ª°tÑ(<Ô(<Ñ#<Ñ<ˆÝŒI�NŠN˜4Ñ Ô  2­¬	¯ª°tÑ(<Ô(<Ñ#<Ñ<ˆÝ”;˜q ! VÑ,Ô,ˆà�2Š:ˆ:Ý˜a  FÑ+Ô+ˆCˆCå˜a  F°Ð6Ñ6Ô6ˆCÝ•”˜C °Ð6Ñ6Ô6Ñ7Ô7Ð7Ð7Ð7r[   c                 óp  — t           j                             d¦  «         t           j                             d¦  «        dt           j                             d¦  «        z  z   }t           j                             d¦  «        dt           j                             d¦  «        z  z   }t          j        ||d¦  «        }t          j        |ddg¦  «        }t          j        |ddg¦  «        }t          j        |ddg¦  «        }t          ||d|¬¦  «        }t          t          j        ||d	¬
¦  «        ¦  «         d S )Nrë  rì  r’   rí  r•   rL   rK   rŸ  rî  rï  )	rv   rò   rð  rñ  r   r¥  r   r   rò  rÔ  s         rY   Útest_random_data_axesz%TestFFTConvolve.test_random_data_axesê  sù   € å
Œ	�Š�tÑÔÐÝŒI�NŠN˜4Ñ Ô  2­¬	¯ª°tÑ(<Ô(<Ñ#<Ñ<ˆÝŒI�NŠN˜4Ñ Ô  2­¬	¯ª°tÑ(<Ô(<Ñ#<Ñ<ˆÝ”;˜q ! VÑ,Ô,ˆåŒG�A˜˜1�vÑÔˆÝŒG�A˜˜1�vÑÔˆÝ”7˜8 a¨ VÑ,Ô,ˆå˜!˜Q ¨TÐ2Ñ2Ô2ˆÝ•”˜C °Ð6Ñ6Ô6Ñ7Ô7Ð7Ð7Ð7r[   rG   éüÿÿÿc                 óP  — d\  }}t           j                             d¦  «         t          j        j        |Ž dt          j        j        |Ž z  z   }t          j        j        |Ž dt          j        j        |Ž z  z   }t	          ||d¦  «        }|d d …d d …d d d f         }|d d …d d …d d d f         }|d d …d d …d d d f         }t          j        |                     dd¦  «        dd¦  «        }t          j        |                     dd¦  «        dd¦  «        }t          j        |                     dd¦  «        dd¦  «        }t          j        |g d	¢¦  «        }t          j        |g d
¢¦  «        }t          j        |g d¢¦  «        }t          ||d|¬¦  «        }t          ||dd¬¦  «         d S )N))é{   rN   )é„   é   rë  r’   r•   r   rL   rK   rG   )rL   rK   rF   rK   rK   )rL   rK   rK   rG   rK   )rL   rK   rF   rG   rK   rŸ  rî  rì   )
rv   rò   rð  rñ  r   ÚmoveaxisÚswapaxesr¥  r   r   )rU   rš  Úa_shaperz   rV   rW   r¸   r¹   s           rY   Útest_random_data_multidim_axesz.TestFFTConvolve.test_random_data_multidim_axesø  s¥  € ð 0Ñˆ�Ý
Œ	�Š�tÑÔÐÝŒIŒN˜GÐ$ r­B¬I¬N¸GÐ,DÑ'DÑDˆÝŒIŒN˜GÐ$ r­B¬I¬N¸GÐ,DÑ'DÑDˆÝ˜a  FÑ+Ô+ˆàˆaˆaˆa����D˜$ Ð$Ô%ˆØˆaˆaˆa����D˜$ Ð$Ô%ˆØ˜A˜A˜A˜q˜q˜q $¨¨dÐ2Ô3ˆåŒK˜Ÿ
š
 1 aÑ(Ô(¨!¨QÑ/Ô/ˆÝŒK˜Ÿ
š
 1 aÑ(Ô(¨!¨QÑ/Ô/ˆÝ”;˜x×0Ò0°°AÑ6Ô6¸¸1Ñ=Ô=ˆõ ŒG�A���Ñ'Ô'ˆÝŒG�A���Ñ'Ô'ˆÝ”7˜8 _ _ _Ñ5Ô5ˆå˜!˜Q ¨TÐ2Ñ2Ô2ˆÝ˜˜X¨E¸Ð>Ñ>Ô>Ð>Ð>Ð>r[   rú   rÈ   rˆ  iÜ  rë  r‰  é'  rH   c                 óÌ  — t           j                             |¦  «        dt           j                             |¦  «        z  z   }t           j                             |¦  «        dt           j                             |¦  «        z  z   }t          j        ||d¦  «        }t	          ||d¦  «        }t          ||d¬¦  «         t	          ||ddg¬¦  «        }t          ||d¬¦  «         d S )Nr’   r•   rî  ©rî   r   rŸ  )rv   rò   rñ  r   r   r   )rU   rú   rV   rW   r¸   r¹   s         rY   Útest_many_sizeszTestFFTConvolve.test_many_sizes  sÆ   € õ ŒI�NŠN˜1ÑÔ ¥R¤Y§^¢^°AÑ%6Ô%6Ñ 6Ñ6ˆÝŒI�NŠN˜1ÑÔ ¥R¤Y§^¢^°AÑ%6Ô%6Ñ 6Ñ6ˆÝ”;˜q ! VÑ,Ô,ˆå˜!˜Q Ñ'Ô'ˆÝ˜˜X¨EÐ2Ñ2Ô2Ð2å˜!˜Q ¨a¨SÐ1Ñ1Ô1ˆÝ˜˜X¨EÐ2Ñ2Ô2Ð2Ð2Ð2r[   c                 óv  — d}t           j                             d¦  «        }|                     |¦  «        }t           j        t           j        fD ]i}||d<   t          j        dd¦  «        }d}t          j	        t          |¬¦  «        5  t          j        ||dd	¬
¦  «         d d d ¦  «         n# 1 swxY w Y   Œjd S )Nrˆ  l   [<zn( rÈ   éÈ   çš™™™™™É?z4Use of fft convolution.*|invalid value encountered.*r  r_   r   rŸ   )rv   rò   Údefault_rngÚstandard_normalÚnanÚinfr   Úfirwinr  ÚwarnsÚRuntimeWarningr   )rU   rú   rü   Úsig_nanÚvalÚcoeffsrB  s          rY   Útest_fft_nanzTestFFTConvolve.test_fft_nan(  s	  € àˆÝŒi×#Ò# KÑ0Ô0ˆØ×%Ò% aÑ(Ô(ˆå”F�BœFÐ#ð 	Lð 	LˆCØˆG�C‰LÝ”] 3¨Ñ,Ô,ˆFàHˆCÝ”�n°CÐ8Ñ8Ô8ð Lð LÝ” ¨°fÀUÐKÑKÔKÐKðLð Lð Lñ Lô Lð Lð Lð Lð Lð Lð Løøøð Lð Lð Lð Løð	Lð 	Ls   ÂB-Â-B1	Â4B1	)&r§   r¨   r©   r  r  rx  r¢  r¦  rn   r¬  r³  r¶  r¿  rÁ  rÍ  rÏ  rÕ  rØ  rÞ  rà  râ  rå  rp   r~   ró  rõ  rþ  r–  Úlistrx   rv   rò   ró   ÚrandintÚtolistr  r  r  rª   r[   rY   r™  r™  Ê  s4  € € € € € à„[×Ò˜V b¨$°°A°3¸¸R¸DÐ%AÑBÔBð	1ð 	1ñ CÔBð	1ð „[×Ò˜V a¨!¨¨b°2°$Ð%7Ñ8Ô8ð1ð 1ñ 9Ô8ð1ð „[×Ò˜V b¨$°°A°3¸¸R¸DÐ%AÑBÔBð1ð 1ñ CÔBð1ð „[×Ò˜V a¨!¨¨b°2°$Ð%7Ñ8Ô8ð1ð 1ñ 9Ô8ð1ð „[×Ò˜V bØ&*Ø'(¨! fØ'(¨! fØ'(¨" gØ')¨1 gØ')¨1 gØ'(¨" gØ')¨2 hØ')¨2 hð	&0ñ 	1ô 	1ð1ð 1ñ	1ô 	1ð1ð „[×Ò˜V q¨! fØ'(¨! fØ'(¨" gØ')¨1 gØ')¨1 gØ'(¨" gØ')¨2 hØ')¨2 hð&0ñ 1ô 1ð1ð 1ñ1ô 1ð1ð „[×Ò˜V bØ&*Ø'(¨! fØ'(¨! fØ'(¨" gØ')¨1 gØ')¨1 gØ'(¨" gØ')¨2 hØ')¨2 hð	&0ñ 	1ô 	1ð1ð 1ñ	1ô 	1ð1ð  „[×Ò˜V q¨! fØ'(¨! fØ'(¨" gØ')¨1 gØ')¨1 gØ'(¨" gØ')¨2 hØ')¨2 hð&0ñ 1ô 1ð1ð 1ñ1ô 1ð1ð „[×Ò˜V b¨$°°A°3¸¸R¸DÐ%AÑBÔBð3ð 3ñ CÔBð3ð$ „[×Ò˜V a¨¨a¨S°2°$Ð%7Ñ8Ô8ð3ð 3ñ 9Ô8ð3ð" „[×Ò˜V b¨$°°A°3¸¸R¸DÐ%AÑBÔBð1ð 1ñ CÔBð1ð$ „[×Ò˜V a¨!¨ XÑ.Ô.ð1ð 1ñ /Ô.ð1ð „[×Ò˜V b¨$°°A°3¸¸R¸DÐ%AÑBÔBð1ð 1ñ CÔBð1ð" „[×Ò˜V a¨!¨¨b°2°$Ð%7Ñ8Ô8ð1ð 1ñ 9Ô8ð1ð1ð 1ð 1ð0ð 0ð 0ð!ð !ð !ð!ð !ð !ð „[×Ò˜V b¨$°°A°3¸¸R¸DÐ%AÑBÔBð
8ð 
8ñ CÔBð
8ð „[×Ò˜V a¨!¨¨b°2°$Ð%7Ñ8Ô8ð8ð 8ñ 9Ô8ð8ð „[×Ò˜V q¨! fØ'(¨! fØ'(¨" gØ')¨1 gØ')¨1 gØ'(¨" gØ')¨2 hØ')¨2 hð&0ñ 1ô 1ð?ð ?ñ1ô 1ð?ð. „[ÔØ„[×ÒØØˆˆUˆU�1�c‰]Œ]ÑÔØˆˆUˆU�4˜ÑÔÑÔñ	 à
Œ	×Ò˜dÑ#Ô#×+Ò+¨D°%¸Ñ;Ô;×BÒBÑDÔDñ	EñFô Fð
	3ð 	3ñFô Fñ Ôð	3ð „[ÔðLð Lñ ÔðLð Lð Lr[   r™  c                  ó    — t          d¦  «        ‚)NzFell back to fftconvolve)ÚRuntimeError)rû   rÿ   s     rY   Úfftconvolve_errr  6  s   € Ý
Ð1Ñ
2Ô
2Ð2r[   c                 ó8   — d„ t          | d¬¦  «        D ¦   «         S )Nc                 óH   — g | ]\  }}t          ||z
  ¦  «        d k    ¯||f‘Œ S )rF   )Úabs©rÙ   rV   rW   s      rY   rÝ   z!gen_oa_shapes.<locals>.<listcomp>;  s:   € ð ð ð ‘t�q˜!Ý�1�q‘5‰zŒz˜AŠ~ˆ~ð �ˆFØˆ~ˆ~r[   rL   ©Úrepeatr   ©Úsizess    rY   Úgen_oa_shapesr  :  s/   € ðð �w u°QÐ7Ñ7Ô7ð ñ ô ð r[   c                 ó®   — t          | ¦  «        }t          | ¦  «        }d„ t          ||¦  «        D ¦   «         }g d¢}d„ t          ||¦  «        D ¦   «         S )Nc                 ó   — g | ]
\  }}||z   ‘ŒS rª   rª   )rÙ   Úishapes0Úishapes1s      rY   rÝ   z$gen_oa_shapes_2d.<locals>.<listcomp>B  s.   € ð %ð %ð %Ñ$6 H¨hˆh�xÑð %ð %ð %r[   r�  c                 ó¼   — g | ]Y\  }}|d k    sH|d         |d         k    r|d         |d         k    s$|d         |d         k     ¯A|d         |d         k     ¯S||fz   ‘ŒZS )r–   r   rK   rL   rF   rª   )rÙ   ÚishapesÚimodes      rY   rÝ   z$gen_oa_shapes_2d.<locals>.<listcomp>F  s‡   € ð Cð Cð C¡ ¨%Ø˜ÒÐØ�QŒZ˜' !œ*Ò$Ð$¨°¬°g¸a´jÒ)@Ð)@Ø�QŒZ˜' !œ*Ò$Ð$¨°¬°g¸a´jÒ)@Ð)@ð �U�HÑð *AÐ)@Ð)@r[   )r  Úzipr   )r  Úshapes0Úshapes1ÚshapesÚmodess        rY   Úgen_oa_shapes_2dr,  ?  s�   € Ý˜EÑ"Ô"€GÝ˜EÑ"Ô"€Gð%ð %Ý�'˜7Ñ#Ô#ð%ñ %ô %€Fð &Ð%Ð%€EðCð Cµ7¸6À5Ñ3IÔ3Ið Cñ Cô Cð Cr[   c                 ó8   — d„ t          | d¬¦  «        D ¦   «         S )Nc                 ó(   — g | ]\  }}||k    ¯||f‘ŒS rª   rª   r  s      rY   rÝ   z$gen_oa_shapes_eq.<locals>.<listcomp>M  s0   € ð ð ð ‘t�q˜!Ø�AŠvˆvð �ˆFØˆvˆvr[   rL   r  r   r  s    rY   Úgen_oa_shapes_eqr/  L  s/   € ðð �w u°QÐ7Ñ7Ô7ð ñ ô ð r[   c                   óØ  — e Zd Zej                             ¦   «         ej                             d e e e	d¦  «        ¦  «         e e	ddd¦  «        ¦  «        z   ¦  «        ¦  «        d„ ¦   «         ¦   «         Z
ej                             d eg d¢¦  «        ¦  «        ej                             ddd	g¦  «        ej                             d
g d¢¦  «        d„ ¦   «         ¦   «         ¦   «         Zej                             dddg¦  «        ej                             d eg d¢¦  «        ¦  «        ej                             dddg¦  «        ej                             dddg¦  «        ej                             ddd	g¦  «        ej                             d
g d¢¦  «        d„ ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         Zej                             d eg d¢¦  «        ¦  «        ej                             ddd	g¦  «        d„ ¦   «         ¦   «         Zej                             dddgddgddgg¦  «        ej                             d eg d¢¦  «        ¦  «        ej                             dddg¦  «        ej                             dddg¦  «        ej                             ddd	g¦  «        d„ ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         Zd„ Zd„ Zd„ ZdS )ÚTestOAConvolvezshape_a_0, shape_b_0rÈ   rˆ  rQ   c                 óâ   — t           j                             |¦  «        }t           j                             |¦  «        }t          ||¦  «        }t	          ||¦  «        }t          ||¦  «         d S ©N)rv   rò   rñ  r   r   r   )rU   Ú	shape_a_0Ú	shape_b_0rV   rW   r¸   r¹   s          rY   Útest_real_manylensz!TestOAConvolve.test_real_manylensR  s^   € õ ŒI�NŠN˜9Ñ%Ô%ˆÝŒI�NŠN˜9Ñ%Ô%ˆå˜q !Ñ$Ô$ˆÝ˜˜AÑÔˆå! # xÑ0Ô0Ð0Ð0Ð0r[   )r  é/   rI   rG   rK   Ú
is_complexTFra   r�  c                 óÎ  — t           j                             |¦  «        }t           j                             |¦  «        }|rJ|dt           j                             |¦  «        z  z   }|dt           j                             |¦  «        z  z   }t          |||¬¦  «        }|                     t
          j        dt          ¦  «         t          |||¬¦  «        }	t          |	|¦  «         d S ©Nr’   r`   r   ©
rv   rò   rñ  r   Úsetattrr   Ú_signaltoolsr  r   r   )
rU   r4  r5  r8  ra   ÚmonkeypatchrV   rW   r¸   r¹   s
             rY   Útest_1d_noaxeszTestOAConvolve.test_1d_noaxes`  sÌ   € õ ŒI�NŠN˜9Ñ%Ô%ˆÝŒI�NŠN˜9Ñ%Ô%ˆØð 	1Ø�B•r”y—~’~ iÑ0Ô0Ñ0Ñ0ˆAØ�B•r”y—~’~ iÑ0Ô0Ñ0Ñ0ˆAå˜q !¨$Ð/Ñ/Ô/ˆà×Ò�FÔ/°Ý+ñ	-ô 	-ð 	-å˜˜A DÐ)Ñ)Ô)ˆå! # xÑ0Ô0Ð0Ð0Ð0r[   rš  r   rK   )r  r7  rI   rG   Úshape_a_extrarF   Úshape_b_extrac	                 óž  — |gdz  }	|gdz  }
||	|<   ||
|<   t          j        j        |	Ž }t          j        j        |
Ž }|r2|dt          j        j        |	Ž z  z   }|dt          j        j        |
Ž z  z   }t          ||||¬¦  «        }|                     t
          j        dt          ¦  «         t          ||||¬¦  «        }t          ||¦  «         d S )NrL   r’   ©ra   rš  r   r;  )rU   rš  r4  r5  r@  rA  r8  ra   r>  Úax_aÚax_brV   rW   r¸   r¹   s                  rY   Útest_1d_axeszTestOAConvolve.test_1d_axest  sæ   € ð ˆ˜qÑ ˆØˆ˜qÑ ˆØˆˆT‰
ØˆˆT‰
åŒIŒN˜DÐ!ˆÝŒIŒN˜DÐ!ˆØð 	-Ø�B•r”y”~ tÐ,Ñ,Ñ,ˆAØ�B•r”y”~ tÐ,Ñ,Ñ,ˆAå˜q !¨$°TÐ:Ñ:Ô:ˆà×Ò�FÔ/°Ý+ñ	-ô 	-ð 	-å˜˜A D¨tÐ4Ñ4Ô4ˆå! # xÑ0Ô0Ð0Ð0Ð0r[   z0shape_a_0, shape_b_0, shape_a_1, shape_b_1, modec                 óÖ  — t           j                             ||¦  «        }t           j                             ||¦  «        }	|rL|dt           j                             ||¦  «        z  z   }|	dt           j                             ||¦  «        z  z   }	t          ||	|¬¦  «        }
|                     t
          j        dt          ¦  «         t          ||	|¬¦  «        }t          ||
¦  «         d S r:  r;  )rU   r4  r5  Ú	shape_a_1Ú	shape_b_1ra   r8  r>  rV   rW   r¸   r¹   s               rY   Útest_2d_noaxeszTestOAConvolve.test_2d_noaxes‘  sÔ   € õ ŒI�NŠN˜9 iÑ0Ô0ˆÝŒI�NŠN˜9 iÑ0Ô0ˆØð 	<Ø�B•r”y—~’~ i°Ñ;Ô;Ñ;Ñ;ˆAØ�B•r”y—~’~ i°Ñ;Ô;Ñ;Ñ;ˆAå˜q !¨$Ð/Ñ/Ô/ˆà×Ò�FÔ/°Ý+ñ	-ô 	-ð 	-å˜˜A DÐ)Ñ)Ô)ˆå! # xÑ0Ô0Ð0Ð0Ð0r[   rL   c                 óâ  — |gdz  }|gdz  }|||d         <   |||d         <   |||d         <   |||d         <   t          j        j        |Ž }t          j        j        |Ž }|	r2|dt          j        j        |Ž z  z   }|dt          j        j        |Ž z  z   }t          ||||¬¦  «        }|
                     t
          j        dt          ¦  «         t          ||||¬¦  «        }t          ||¦  «         d S )NrF   r   rK   r’   rC  r   r;  )rU   rš  r4  r5  rH  rI  ra   r@  rA  r8  r>  rD  rE  rV   rW   r¸   r¹   s                    rY   Útest_2d_axeszTestOAConvolve.test_2d_axes¦  s  € ð ˆ˜qÑ ˆØˆ˜qÑ ˆØ!ˆˆT�!ŒW‰Ø!ˆˆT�!ŒW‰Ø!ˆˆT�!ŒW‰Ø!ˆˆT�!ŒW‰åŒIŒN˜DÐ!ˆÝŒIŒN˜DÐ!ˆØð 	-Ø�B•r”y”~ tÐ,Ñ,Ñ,ˆAØ�B•r”y”~ tÐ,Ñ,Ñ,ˆAå˜q !¨$°TÐ:Ñ:Ô:ˆà×Ò�FÔ/°Ý+ñ	-ô 	-ð 	-å˜˜A D¨tÐ4Ñ4Ô4ˆå! # xÑ0Ô0Ð0Ð0Ð0r[   c                 óð   — t          t          g g ¦  «        j        dk    ¦  «         t          t          ddgg ¦  «        j        dk    ¦  «         t          t          g dg¦  «        j        dk    ¦  «         d S rä  )r   r   rà   r  s    rY   rå  zTestOAConvolve.test_emptyÆ  sn   € å•
˜2˜rÑ"Ô"Ô'¨1Ò,Ñ-Ô-Ð-Ý•
˜A˜q˜6 2Ñ&Ô&Ô+¨qÒ0Ñ1Ô1Ð1Ý•
˜2 ˜sÑ#Ô#Ô(¨AÒ-Ñ.Ô.Ð.Ð.Ð.r[   c                 óˆ   — t          d¦  «        }t          d¦  «        }t          ||¦  «        }t          |||z  ¦  «         d S r}   ©r   r   r
   rè  s       rY   rp   zTestOAConvolve.test_zero_rankÌ  sA   € Ý�$‰KŒKˆÝ�$‰KŒKˆÝ˜˜AÑÔˆÝ�S˜!˜a™%Ñ Ô Ð Ð Ð r[   c                 óŒ   — t          dg¦  «        }t          dg¦  «        }t          ||¦  «        }t          |||z  ¦  «         d S r}   rO  rè  s       rY   r~   z"TestOAConvolve.test_single_elementÒ  sE   € Ý�4�&‰MŒMˆÝ�4�&‰MŒMˆÝ˜˜AÑÔˆÝ�S˜!˜a™%Ñ Ô Ð Ð Ð r[   N)r§   r¨   r©   r  r  r–  rx  r/  r  rx   r6  r  r?  rF  r,  rJ  rL  rå  rp   r~   rª   r[   rY   r1  r1  Q  s’  € € € € € Ø„[×ÒÑÔØ„[×ÒÐ3Ø-Ð-¨d¨d°5°5¸±:´:Ñ.>Ô.>Ø.2¨d°5°5¸¸dÀBÑ3GÔ3GÑ.HÔ.Hñ/Iñ Jô Jñô ð1ð 1ñ	ô ñ Ôð
1ð „[×ÒÐ3Ø*˜]Ð+<Ð+<Ð+<Ñ=Ô=ñ?ô ?à„[×Ò˜\¨D°%¨=Ñ9Ô9Ø„[×Ò˜VÐ%>Ð%>Ð%>Ñ?Ô?ð1ð 1ñ @Ô?ñ :Ô9ñ?ô ?ð1ð  „[×Ò˜V a¨ VÑ,Ô,Ø„[×ÒÐ3Ø*˜]¨>¨>¨>Ñ:Ô:ñ<ô <à„[×Ò˜_¨q°!¨fÑ5Ô5Ø„[×Ò˜_¨q°!¨fÑ5Ô5Ø„[×Ò˜\¨D°%¨=Ñ9Ô9Ø„[×Ò˜VÐ%>Ð%>Ð%>Ñ?Ô?ð1ð 1ñ @Ô?ñ :Ô9ñ 6Ô5ñ 6Ô5ñ<ô <ñ -Ô,ð1ð, „[×Òð :à-Ð-¨n¨n¨nÑ=Ô=ñ?ô ?ð „[×Ò˜\¨D°%¨=Ñ9Ô9ð1ð 1ñ :Ô9ñ?ô ?ð1ð" „[×Ò˜V q¨! f¨q°!¨f°q¸!°fÐ%=Ñ>Ô>Ø„[×Òð :à-Ð-¨n¨n¨nÑ=Ô=ñ?ô ?ð „[×Ò˜_¨q°!¨fÑ5Ô5Ø„[×Ò˜_¨q°!¨fÑ5Ô5Ø„[×Ò˜\¨D°%¨=Ñ9Ô9ð1ð 1ñ :Ô9ñ 6Ô5ñ 6Ô5ñ?ô ?ñ ?Ô>ð1ð2/ð /ð /ð!ð !ð !ð!ð !ð !ð !ð !r[   r1  c                   ó<  — e Zd Zej                             deeg¦  «        d„ ¦   «         Zej                             deeg¦  «        d„ ¦   «         Z	ej                             ddgdfddgfdgdggfg¦  «        ej                             deeg¦  «        d„ ¦   «         ¦   «         Z
ej                             deeg¦  «        d	„ ¦   «         Zej                             d
¦  «        ej                             dej        ej        g¦  «        d„ ¦   «         ¦   «         ZdS )ÚTestAllFreqConvolvesÚconvapproachc                 ó   — t          j        dd¦  «                             d¦  «        }t          j        dd¦  «                             d¦  «        }t          t          d¬¦  «        5   |||d	¬
¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrK   rƒ   rÄ   rÅ   r   rÆ   zOFor 'valid' mode, one must be at least as large as the other in every dimensionr  r–   r`   )rv   r   rw   r£   r¤   ©rU   rS  rV   rW   s       rY   rÇ   z(TestAllFreqConvolves.test_invalid_shapesÛ  sÝ   € õ ŒI�a˜‰OŒO×#Ò# FÑ+Ô+ˆÝŒI�b˜!ÑÔ×$Ò$ VÑ,Ô,ˆÝ�:ð"FðGñ Gô Gð 	-ð 	-ð ˆL˜˜A GÐ,Ñ,Ô,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-ð 	-ð 	-s   Á'BÂBÂ
Bc                 óÜ   — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          t          d¬¦  «        5   |||ddg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)rH   rI   rL   rK   )rH   rI   rF   rK   zVincompatible shapes for in1 and in2: \(5L?, 6L?, 2L?, 1L?\) and \(5L?, 6L?, 3L?, 1L?\)r  r   rK   rŸ  )rv   rŽ  r£   r¤   rU  s       rY   Útest_invalid_shapes_axesz-TestAllFreqConvolves.test_invalid_shapes_axeså  sÇ   € õ ŒH�\�\�\Ñ"Ô"ˆÝŒH�\�\�\Ñ"Ô"ˆÝ�:ð"6ð7ñ 7ô 7ð 	,ð 	,ð ˆL˜˜A Q¨ FÐ+Ñ+Ô+Ð+ð		,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 	,ð 	,s   ÁA!Á!A%Á(A%za,brK   rL   rF   c                 ó|   — t          t          d¬¦  «        5   |||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz/in1 and in2 should have the same dimensionalityr  ©r£   r¤   )rU   rV   rW   rS  s       rY   r  z)TestAllFreqConvolves.test_mismatched_dimsð  s˜   € õ �:ð"-ð.ñ .ô .ð 	ð 	ð ˆL˜˜AÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   —1±5¸5c                 ó„  — t          t          d¬¦  «        5   |dgdgd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5   |dgdgg ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d	¬¦  «        5   |dgdgddgd
dgg¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d	¬¦  «        5   |dgdgg d¢¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5   |dgdgdg¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5   |dgdgdg¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5   |dgdgddg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz4acceptable mode flags are 'valid', 'same', or 'full'r  rK   rL   Úchipsr`   z#when provided, axes cannot be emptyrŸ  z-axes must be a scalar or iterable of integersrF   rG   )ç      ð?r]  r_  r`  z$axes exceeds dimensionality of inputr­  zall axes must be uniquer   rY  )rU   rS  s     rY   Útest_invalid_flagsz'TestAllFreqConvolves.test_invalid_flagsü  s  € õ �:ð"0ð1ñ 1ô 1ð 	1ð 	1ð ˆL˜!˜˜q˜c¨Ð0Ñ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1õ
 �:Ø!FðHñ Hô Hð 	,ð 	,àˆL˜!˜˜q˜c¨Ð+Ñ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,õ �:ð .2ð 3ñ 3ô 3ð 	:ð 	:àˆL˜!˜˜q˜c¨!¨Q¨°!°Q°Ð(8Ð9Ñ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:õ �:ð .2ð 3ñ 3ô 3ð 	:ð 	:àˆL˜!˜˜q˜cÐ(8Ð(8Ð(8Ð9Ñ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:õ �:Ø!GðIñ Iô Ið 	-ð 	-àˆL˜!˜˜q˜c¨¨Ð,Ñ,Ô,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-õ �:Ø!GðIñ Iô Ið 	.ð 	.àˆL˜!˜˜q˜c¨¨Ð-Ñ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.õ �:Ø!:ð<ñ <ô <ð 	0ð 	0àˆL˜!˜˜q˜c¨¨A¨Ð/Ñ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0sx   —4´8»8ÁA2Á2A6Á9A6ÂB6Â6B:Â=B:ÃC6Ã6C:Ã=C:ÄD5Ä5D9Ä<D9ÅE4Å4E8Å;E8ÆF5Æ5F9Æ<F9úignore::DeprecationWarningrö   c                 ó”  — t           j                             d¦  «                             |¦  «        }t           j                             d¦  «                             |¦  «        }t          j         |¦   «         ¦  «        r
|dz  }|dz  }t	          ||¦  «        }t          |t          ||d¬¦  «        ¦  «         |j        |k    sJ ‚d S )N)rr   rr   )rG   rG   y        š™™™™™¹?rs   rt   )rv   rò   rø   Úiscomplexobjr   r   r   rö   )rU   rö   rk   rl   Úress        rY   Útest_longdtype_inputz)TestAllFreqConvolves.test_longdtype_input  s»   € õ ŒI×Ò˜XÑ&Ô&×-Ò-¨eÑ4Ô4ˆÝŒI×Ò˜VÑ$Ô$×+Ò+¨EÑ2Ô2ˆÝŒ?˜5˜5™7œ7Ñ#Ô#ð 	Ø�‰HˆAØ�‰HˆAå˜!˜QÑÔˆÝ˜�X a¨°8Ð<Ñ<Ô<Ñ=Ô=Ð=ØŒy˜EÒ!Ð!Ð!Ð!Ð!Ð!r[   N)r§   r¨   r©   r  r  rx  r   r   rÇ   rW  r  r]  Úfilterwarningsrv   Ú
longdoubleÚclongdoublerb  rª   r[   rY   rR  rR  Ù  s•  € € € € € à„[×Ò˜^Ø)¨:Ð6ñ8ô 8ð-ð -ñ8ô 8ð-ð „[×Ò˜^Ø)¨:Ð6ñ8ô 8ð,ð ,ñ8ô 8ð,ð „[×Ò˜UØ !˜s A˜hØ  1 #˜hØ !˜s a S E˜lð,ñ-ô -ð „[×Ò˜^Ø)¨:Ð6ñ8ô 8ðð ñ8ô 8ñ	-ô -ðð „[×Ò˜^Ø)¨:Ð6ñ8ô 8ð0ð 0ñ8ô 8ð0ð< „[×ÒÐ <Ñ=Ô=Ø„[×Ò˜W r¤}°b´nÐ&EÑFÔFð	"ð 	"ñ GÔFñ >Ô=ð	"ð 	"ð 	"r[   rR  c                   óT  — e Zd Zg d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d	¢g d
¢g
Zg d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g
ZddgZd„ Zej         	                    de
j        e
j        e
j        e
j        eee
j        e
j        e
j        e
j        g
¦  «        d„ ¦   «         Zej         	                    de
j        e
j        e
j        e
j        e
j        e
j        ddg¦  «        d„ ¦   «         Zd„ Zd„ Zej         	                    de
j        e
j        e
j        g¦  «        d„ ¦   «         Zd S )!ÚTestMedFilt)
r  r  r  r  r  rS  é   rr   r³   r7  )
r  r  r  r  r  r   éH   éM   rK  rP  )
r  r  r  r  r  r7  r7  é   r6  rj  )
r  r  r  r  r  rÞ   é   é   é_   é#   )
r  r  r  r  r  r7  rb   r$  ra  rP  )
r°   éa   rO   rK  r±   rj  r½   rˆ   éG   rÞ   )
r6  r  rO  rm  rK  rP   rk  rK  r3  rQ  )
rF   é!   r  r8  rK   r±   rJ  é7   rR   éS   )
rƒ   rú  r7  r°   r  r7  r3  é+   r½   r4  )
rP   r½   éX   rƒ   é'   rG   rS  r6  r¿   r½   )
r   r  r  r  rÞ   rl  rl  rh  rr   r   )
r   r  r  r  r  rÞ   rk  ra  rm  r   )
r  r  r  r  r  r7  rb   rb   r7  ro  )
r  r  r  r  r  r  rÞ   r7  r6  rÞ   )
r  r  r  r  r  r  r7  rs  r6  ro  )
rr  r  r  r  r  r7  r7  ru  rs  r4  )
rP   r  r  r  r  r7  r7  r¿   rs  r4  )
rƒ   r7  r  r  r7  r7  r7  ru  r¿   ra  )
r   rP   rr  rw  rP   rP   ru  ru  ru  r   )
r   rƒ   rú  rƒ   rG   rG   rk  rk  r3  r   rƒ   rF   c                 óü   — t          j        | j        | j        ¦  «        }t          j        t          j        | j        t          ¦  «        | j        ¦  «        }t          || j	        ¦  «         t          ||¦  «         d S r3  )
r   ÚmedfiltÚINÚKERNEL_SIZEÚ	medfilt2drv   r   rn  r   ÚOUT)rU   rŽ   r   s      rY   rZ   zTestMedFilt.test_basicD  sc   € ÝŒN˜4œ7 DÔ$4Ñ5Ô5ˆÝÔ�RœX d¤g­uÑ5Ô5°tÔ7GÑHÔHˆÝ˜1˜dœhÑ'Ô'Ð'Ý˜1˜aÑ Ô Ð Ð Ð r[   rö   c                 óØ   — t          j        | j        |¬¦  «        }t          t	          j        |¦  «        j        |¦  «         t          t	          j        |¦  «        j        |¦  «         d S )Nr	  )rv   r   rz  r
   r   ry  rö   r|  ©rU   rö   Úin_typeds      rY   Ú
test_typeszTestMedFilt.test_typesJ  s[   € õ
 ”8˜DœG¨5Ð1Ñ1Ô1ˆÝ•V”^ HÑ-Ô-Ô3°UÑ;Ô;Ð;Ý•VÔ% hÑ/Ô/Ô5°uÑ=Ô=Ð=Ð=Ð=r[   Úfloat96Úfloat128c                 óÞ  — |dv r>t          j        t           j        ¦  «        j        |k    rt	          j        d|› �¦  «         t          j        | j        |¬¦  «        }t	          j        t          d¬¦  «        5  t          j        |¦  «         d d d ¦  «         n# 1 swxY w Y   t	          j        t          d¬¦  «        5  t          j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)r‚  rƒ  zPlatform does not support r	  znot supportedr  )rv   Úfinford  rö   r  Úskipr   rz  r	   r¤   r   ry  r|  r  s      rY   Útest_invalid_dtypeszTestMedFilt.test_invalid_dtypesS  s_  € ð Ð,Ð,Ð,Ý”H�Rœ]Ñ+Ô+Ô1°UÒ:Ð:ÝŒKÐ<°UÐ<Ð<Ñ=Ô=Ð=å”8˜DœG¨5Ð1Ñ1Ô1ˆÝŒ]�:¨_Ð=Ñ=Ô=ð 	%ð 	%ÝŒN˜8Ñ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%õ Œ]�:¨_Ð=Ñ=Ô=ð 	'ð 	'ÝÔ˜XÑ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð 	'ð 	's$   Á9BÂBÂ!BÃ C"Ã"C&Ã)C&c                 ó�   — d}t          t          |¬¦  «        5  t          j        d ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz(dtype=object is not supported by medfiltr  )r£   r¤   r   ry  )rU   rB  s     rY   Ú	test_nonezTestMedFilt.test_noned  sŽ   € à8ˆÝ�:¨SÐ1Ñ1Ô1ð 	!ð 	!ÝŒN˜4Ñ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	!ð 	!s   ™;»?Á?c                 ó´   — t          j        dt           j        ¬¦  «        }|dd…         }d|_        t	          t          j        |d¦  «        dk    ¦  «         d S )NrM   r	  rH   rI   r„   rK   ç      @)rv   r   rÕ   r‹  r   r   ry  )rU   ÚdummyrV   s      rY   Útest_odd_strideszTestMedFilt.test_odd_stridesj  sS   € õ ”	˜"¥B¤JÐ/Ñ/Ô/ˆØ�!�A�#ŒJˆØˆŒ	Ý•”˜q !Ñ$Ô$¨Ò*Ñ+Ô+Ð+Ð+Ð+r[   c                 óh  ‡ ‡
‡‡‡‡‡‡— t          j        ‰ j        |¬¦  «        Št          j        ‰ j        |¬¦  «        }‰j        |j        k    sJ ‚|j        d         dz  Š
|j        d         dz  Š‰ j        d         dz  dz   Š‰ j        d         dz  dz   Šˆ
ˆˆˆˆˆ fd„Št          j        |¦  «        }t          d¬¦  «        5 Šh d£}ˆˆfd	„|D ¦   «         }t          |¦  «        D ]!}| 	                    ¦   «         \  }}}	||||	f<   Œ"	 d d d ¦  «         n# 1 swxY w Y   t          ||¦  «         d S )
Nr	  r   rL   rK   c                 ó(  •— | \  }}|dk    r5t          d‰‰z   ¦  «        }t          d‰ ¦  «        }t          d‰¦  «        }n3t          ‰‰z
  d ¦  «        }t          ‰d ¦  «        }t          ‰d ¦  «        }|dk    r5t          d‰‰z   ¦  «        }t          d‰ ¦  «        }t          d‰¦  «        }n3t          ‰‰z
  d ¦  «        }t          ‰d ¦  «        }t          ‰d ¦  «        }‰||f         }	t          j        |	‰j        ¦  «        }
|
||f         ||fS ©Nr   )Úslicer   r|  r{  )ÚchunkÚMÚNÚMinÚMselÚMoutÚNinÚNselÚNoutÚ
chunk_dataÚmedÚM1ÚN1r€  ÚoffMÚoffNrU   s              €€€€€€rY   Úapplyz2TestMedFilt.test_medfilt2d_parallel.<locals>.applyƒ  s  ø€ ð ‰DˆAˆqØ�AŠvˆvÝ˜A˜r D™yÑ)Ô)�Ý˜Q  ‘”�Ý˜Q ‘|”|��å˜B ™I tÑ,Ô,�Ý˜T 4Ñ(Ô(�Ý˜R ‘”�Ø�AŠvˆvÝ˜A˜r D™yÑ)Ô)�Ý˜Q  ‘”�Ý˜Q ‘|”|��å˜B ™I tÑ,Ô,�Ý˜T 4Ñ(Ô(�Ý˜R ‘”�ð " # s (Ô+ˆJÝÔ" :¨tÔ/?Ñ@Ô@ˆCØ�t˜T�z”? D¨$Ð.Ð.r[   rG   )Úmax_workers>   ©rK   r   ©r   r   ©r   rK   ©rK   rK   c                 ó<   •— h | ]}‰                      ‰|¦  «        ’ŒS rª   )Úsubmit)rÙ   r’  r¡  Úpools     €€rY   ú	<setcomp>z6TestMedFilt.test_medfilt2d_parallel.<locals>.<setcomp>¢  s'   ø€ ÐEÐEÐE°U�t—{’{ 5¨%Ñ0Ô0ÐEÐEÐEr[   )rv   r   rz  r}  rŠ  r{  Ú
zeros_liker   r   rg  r   )rU   rö   r¸   ÚoutputÚchunksÚfuturesÚfutureÚdataÚMsliceÚNslicer�  rž  r¡  r€  rŸ  r   r©  s   `         @@@@@@@rY   Útest_medfilt2d_parallelz#TestMedFilt.test_medfilt2d_parallels  sÇ  øøøøøøøø€ å”8˜DœG¨5Ð1Ñ1Ô1ˆÝ”8˜DœH¨EÐ2Ñ2Ô2ˆð Œ~ ¤Ò/Ð/Ð/Ð/ð
 Œ^˜AÔ !Ñ#ˆØŒ^˜AÔ !Ñ#ˆØÔ Ô" aÑ'¨!Ñ+ˆØÔ Ô" aÑ'¨!Ñ+ˆð	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/õ8 ”˜xÑ(Ô(ˆÝ¨AÐ.Ñ.Ô.ð 	.°$Ø5Ð5Ð5ˆFØEÐEÐEÐEÐE¸fÐEÑEÔEˆGõ ' wÑ/Ô/ð .ð .�Ø'-§}¢}¡¤Ñ$��f˜fØ)-��v˜v�~Ñ&Ð&ð.ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.õ 	˜6 8Ñ,Ô,Ð,Ð,Ð,s   ÃADÄDÄDN)r§   r¨   r©   rz  r}  r{  rZ   r  r  rx  rv   ÚubyteÚbyteÚushortÚshortrB   rA   Ú	ulonglongrÔ   rÕ   r�  Úbool_rÖ   r×   re  rÓ   Úobject_r‡  r‰  r�  r³  rª   r[   rY   rg  rg  *  s  € € € € € à
2Ð
2Ð
2Ø
1Ð
1Ð
1Ø
2Ð
2Ð
2Ø
2Ð
2Ð
2Ø
1Ð
1Ð
1Ø
2Ð
2Ð
2Ø
2Ð
2Ð
2Ø
0Ð
0Ð
0Ø
1Ð
1Ð
1Ø
0Ð
0Ð
0ð	
2€Bð 2Ð1Ð1Ø1Ð1Ð1Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3Ø2Ð2Ð2Ø1Ð1Ð1Ø-Ð-Ð-ð	/€Cð �Q�%€Kð!ð !ð !ð „[×Ò˜W r¤x°´¸"¼)ÀRÄXØ'/°¸"¼,ÈÌØ')¤z°2´:ð'?ñ @ô @ð>ð >ñ@ô @ð>ð „[×Ò˜W r¤x°´¸r¼}Ø')¤~°r´zÀ2Ä:Ø'0°*ð'>ñ ?ô ?ð'ð 'ñ?ô ?ð'ð!ð !ð !ð,ð ,ð ,ð „[×Ò˜W r¤x°´¸R¼ZÐ&HÑIÔIð5-ð 5-ñ JÔIð5-ð 5-ð 5-r[   rg  c                   ó   — e Zd Zd„ ZdS )Ú
TestWienerc                 ó  — t          g d¢g d¢g d¢g d¢gd¦  «        }t          g d¢g d¢g d¢g d	¢g¦  «        }t          t          j        |¦  «        |d
¬¦  «         t          t          j        |d¬¦  «        |d
¬¦  «         d S )N)rH   rI   rG   rF   )rF   rH   rI   rL   )rL   rF   rH   rI   )rK   rI   r$  rƒ   rŽ   )g‘ÔSXO@gúXÆqÇ	@gƒÓÇq@gõ¬ªªªú?)g]É`UUU@g¬FUUUU@gæÇqÇ@gçcÇq@)gÂy¿qÇ@gúXÆqÇ@gúXÆqÇ@gÚUõßJ4@)g±UUUUõ?gñ2k³6k@gÒ·ÍW÷H@gº“@­_)@rI   ©ÚdecimalrF   )Úmysize)r   r   r   Úwiener)rU   r,  r+  s      rY   rZ   zTestWiener.test_basic®  s¾   € Ý�<�<�<Ø�<�<Ø�<�<Ø�<�<ð!ð #&ñ'ô 'ˆõ ÐIÐIÐIØLÐLÐLØLÐLÐLØMÐMÐMðOñ Pô Pˆõ 	"¥&¤-°Ñ"2Ô"2°A¸qÐAÑAÔAÐAÝ!¥&¤-°¸!Ð"<Ñ"<Ô"<¸aÈÐKÑKÔKÐKÐKÐKr[   N©r§   r¨   r©   rZ   rª   r[   rY   r¼  r¼  ¬  s(   € € € € € ð
Lð 
Lð 
Lð 
Lð 
Lr[   r¼  )ÚmeanÚmedianÚminimumÚmaximumÚlinec                   óò  — e Zd Zd„ Zej                             dd¦  «        ej                             dd¦  «        ej                             dd¦  «        d„ ¦   «         ¦   «         ¦   «         Zd	„ Zej                             d
d¦  «        ej                             dd¦  «        ej                             dd¦  «        d„ ¦   «         ¦   «         ¦   «         Z	ej        j
        ej                             de¦  «        d„ ¦   «         ¦   «         Zej                             de¦  «        d„ ¦   «         Zej                             de¦  «        ej                             dej        ej        g¦  «        d„ ¦   «         ¦   «         Zej                             ddg e edgddge¦  «        ¦  «        z   ¦  «        d„ ¦   «         Zd„ Zd„ Zej                             dej        ej        g¦  «        d„ ¦   «         ZdS )ÚTestResamplec           	      ój  — t          j        d¦  «        }d}t          j        dd¦  «        }t	          t
          t          j        |||¬¦  «         t	          t
          t          j        |dd¦  «         t	          t
          t          j        |dd¦  «         t	          t
          t          j        |d	dd
¬¦  «         t	          t
          t          j        |d	ddd¬¦  «         t          j        t          j        d¦  «        d¦  «        }t          j        ||d|¬¦  «         t          |j
        dk    ¦  «         d S )Né€   é   )Úkaiserç       @é    ©ÚwindowÚyorK   r   rL   r›  ©ÚpadtyperÃ  rM   )rÔ  Úcval)rL   rK   r“   ©ÚaxisrÑ  )rÏ  )rv   r   r   Ú
get_windowr£   r¤   ÚresampleÚresample_polyr¥  r   rŠ  )rU   ÚsigÚnumÚwinÚsig2s        rY   rZ   zTestResample.test_basicÀ  s  € õ
 Œi˜‰nŒnˆØˆÝÔ °Ñ5Ô5ˆÝ•j¥&¤/°3¸ÀCÐHÑHÔHÐHõ 	•j¥&Ô"6¸¸TÀ1ÑEÔEÐEÝ•j¥&Ô"6¸¸QÀÑBÔBÐBÝ•j¥&Ô"6¸¸QÀÈ2ÐNÑNÔNÐNÝ•j¥&Ô"6¸¸QÀØ$¨2ð	/ñ 	/ô 	/ð 	/õ Œw•r”y ‘~”~ vÑ.Ô.ˆÝŒ˜˜c¨°3Ð7Ñ7Ô7Ð7Ý�”	˜VÒ#Ñ$Ô$Ð$Ð$Ð$r[   rÑ  )NÚhammingr”  )r  rk  rÜ  )rÈ   rj  rM   rú  c           	      ó  — t          j        dd|d¬¦  «        }t          j        |dz   dz  ¦  «        }t          t	          j        |||¬¦  «        t	          j        |dz   ||¬¦  «        j        ¦  «         t          j        t          j        |dz   dz  ¦  «        t          j        |dz   dz  ¦  «        g¦  «        }|dz   }t          t	          j        ||d	|¬
¦  «        t	          j        ||d	|¬
¦  «        j        d¬¦  «         d S )Nr   rM   F)ÚendpointrL   g      @rÐ  r”   rK   rÖ  ç•Ö&è.>r  )	rv   ÚlinspaceÚcosr   r   rÙ  Úrealr   Úsin)rU   r”  rÜ  rÑ  rk   rl   Ú	y_complexs          rY   Ú	test_rfftzTestResample.test_rfftÖ  s  € õ ŒK˜˜2˜q¨5Ð1Ñ1Ô1ˆÝŒF�A�q‘D�5˜‘9ÑÔˆÝ�œ¨¨3°vÐ>Ñ>Ô>Ýœ¨¨B©°¸FÐCÑCÔCÔHñ	Jô 	Jð 	Jõ ŒH•b”f˜a ™d˜U 3™YÑ'Ô'­¬°°A±°°c±	Ñ):Ô):Ð;Ñ<Ô<ˆØ˜‘Fˆ	ÝÝŒO˜A˜s¨°6Ð:Ñ:Ô:ÝŒO˜I s°¸6ÐBÑBÔBÔGØð	ñ 	ô 	ð 	ð 	ð 	r[   c                 óØ   — t          j        d¦  «        dz   }t          j        |¦  «        }d}t	          t          j        ||d¬¦  «        t          j        ||d¬¦  «        d¬¦  «         d S )NrÌ  r”   Úfreq)ÚdomainÚtimerâ  r  )rv   r   Úsp_fftr   r   r   rÙ  )rU   ÚtsigÚfsigrÜ  s       rY   Útest_input_domainzTestResample.test_input_domainè  st   € åŒy˜‰~Œ~ Ñ"ˆÝŒz˜$ÑÔˆØˆÝÝŒO˜D #¨fÐ5Ñ5Ô5ÝŒO˜D #¨fÐ5Ñ5Ô5Øð	ñ 	ô 	ð 	ð 	ð 	r[   Únx)rK   rL   rF   rH   r‘   Únyrö   )rn  r/  c                 óŠ   — t          j        dg|z  |¦  «        }t          j        ||¦  «        }t	          |dg|z  ¦  «         d S ©NrK   )rv   r   r   rÙ  r   )rU   rñ  rò  rö   rk   rl   s         rY   Útest_dczTestResample.test_dcò  sH   € õ ŒH�a�S˜2‘X˜uÑ%Ô%ˆÝŒO˜A˜rÑ"Ô"ˆÝ˜˜A˜3 ™8Ñ$Ô$Ð$Ð$Ð$r[   rÔ  c                 ó  — t          j        d¦  «        }t           j                             d¦  «                             d¦  «        }|                     ¦   «         }t          j        |dd||¬¦  «         t          ||¦  «         d S )NrF   r   rL   rH   rK   ©rÑ  rÔ  )	rv   rŽ  rò   ró   rõ   Úcopyr   rÚ  r   )rU   rÔ  ÚimpulserÑ  Úwindow_origs        rY   Útest_mutable_windowz TestResample.test_mutable_windowú  ss   € õ ”(˜1‘+”+ˆÝ”×&Ò& qÑ)Ô)×/Ò/°Ñ2Ô2ˆØ—k’k‘m”mˆÝÔ˜W a¨°6À7ÐKÑKÔKÐKÝ˜6 ;Ñ/Ô/Ð/Ð/Ð/r[   c                 óê   — t          j        dt           j        ¬¦  «        }t          j        g d¢t           j        ¬¦  «        }t	          j        |dd||¬¦  «        }|j        t           j        k    sJ ‚d S )NrM   r	  ©rK   rK   rK   rK   rL   r÷  )rv   r   rÔ   r   r   rÚ  rö   )rU   rÔ  rk   r+  rl   s        rY   Útest_output_float32z TestResample.test_output_float32  sj   € õ ŒI�b¥¤
Ð+Ñ+Ô+ˆÝŒH�Y�Y�Y¥b¤jÐ1Ñ1Ô1ˆÝÔ   A q°¸GÐDÑDÔDˆØŒw�"œ*Ò$Ð$Ð$Ð$Ð$Ð$r[   c                 ó†   — t          j        d|¬¦  «        }t          j        |dd|¬¦  «        }|j        |j        k    sJ ‚d S )NrM   r	  rK   rL   rÓ  )rv   r   r   rÚ  rö   )rU   rÔ  rö   rk   rl   s        rY   Útest_output_match_dtypez$TestResample.test_output_match_dtype  sL   € õ ŒI�b Ð&Ñ&Ô&ˆÝÔ   A q°'Ð:Ñ:Ô:ˆØŒw˜!œ'Ò!Ð!Ð!Ð!Ð!Ð!r[   zmethod, ext, padtype)r   FNÚ	polyphaseFTc                 óæ  — d}g d¢}t          j        |¦  «        t          |¦  «        z  }t          j        d¦  «        d d …t           j        f         }t          j        dt           j        z  |z  |z  ¦  «        t          |¦  «        z  }|D �]¢}	t          j        |	¦  «        t          |	¦  «        z  }
t          j        dt           j        z  |z  |
z  ¦  «        t          |	¦  «        z  }|dk    rt          j	        ||	d¬¦  «        }ny|r]|	|k    rWt          |	|¦  «        }|	|z  }||z  }t          ||¦  «        }d|z  }d	|z  }t          j        d|z  d
z   |d¬¦  «        }||dœ}nd|i}t          j        ||	|fddi|¤Ž}t          |||¦  «        D ]›\  }}}|d|	z  k    r?|                     d¦  «         |dv rt!          ||d¬¦  «         Œ;t!          ||d¬¦  «         ŒNt#          |j        |j        ¦  «         t          j        ||¦  «        d         }t)          |dk    |||	f¬¦  «         Œœ�Œ¤t           j                             d¦  «        }t          |¦  «        t          j        |                     |¦  «        ¦  «        z  }|D ]º}	t          j        |	¦  «        t          |	¦  «        z  }
t          j        |
||¦  «        }|dk    rt          j	        ||	¦  «        }nt          j        ||	||¬¦  «        }t#          |j        |j        ¦  «         t          j        ||¦  «        d         }t)          |dk    |¬¦  «         Œ»|dk    r¨t          j        ddg¦  «        }t          j	        |d¦  «        }t          j        g d¢¦  «        }t!          ||d¬¦  «         t          j        g d ¢¦  «        }t          j	        |d¦  «        }t          j        ddg¦  «        }t!          ||d¬¦  «         d S d S )!NrÈ   )	r‹   r  r  éc   rÈ   rj  éÇ   r  éÉ   )r\  ç      $@g      D@rL   r   r“   ©r×  r\  rM   rK   )rÍ  r‹  rÐ  r÷  rÔ  r×  ç      à?ç        )rÅ  rÆ  ç333333Ó?r  rï   r¥  g®Gáz®ï?©rB  r   rÓ  r¶   r”   rG   )r¶   ù      à?        r”   r  çê-�™—q=)r\  r  r	  r  )rv   r   rn  r   Únewaxisræ  Úpir8   r   rÙ  r   Úmaxr
  rÚ  r'  r2  r   r   rŠ  Úcorrcoefr   rò   ró   Úcumsumrõ   Úinterp) rU   ru   ÚextrÔ  ÚrateÚrates_torê   Úfreqsrk   Úrate_toÚt_toÚy_tosÚ	y_resampsr,  ÚupÚdownÚmax_rateÚf_cÚhalf_lenrÑ  ÚpolyargsÚy_toÚy_resamprê  Úcorrrü   ræ   Úy1_testÚy1_truerç   Úy2_testÚy2_trues                                    rY   Útest_resample_methodsz"TestResample.test_resample_methods  s,  € ð ˆØ<Ð<Ð<ˆõ ŒI�d‰OŒO�e D™kœkÑ)ˆÝ”˜Ñ(Ô(¨¨¨­B¬J¨Ô7ˆÝŒF�1•r”u‘9˜uÑ$ qÑ(Ñ)Ô)­D°©J¬JÑ6ˆàð !	Dñ !	DˆGÝ”9˜WÑ%Ô%­¨g©¬Ñ6ˆDÝ”F˜1�rœu™9 uÑ,¨tÑ3Ñ4Ô4µt¸G±}´}ÑDˆEØ˜ŠˆÝ"œO¨A¨w¸RÐ@Ñ@Ô@�	�	àð 4˜7 dš?˜?å˜G TÑ*Ô*�AØ  A™�BØ 1™9�DÝ" 2 t™}œ}�HØ˜x™-�CØ! H™}�HÝ#œ]¨1¨x©<¸!Ñ+;¸SØ2AðCñ Cô C�Fà*0¸WÐEÐE�H�Hà )¨7Ð3�Hå"Ô0°°G¸Tð =ð =Èð =Ø3;ð=ð =�	õ ),¨E°9¸eÑ(DÔ(Dð 
Dð 
DÑ$��h Ø˜3 ™=Ò(Ð(Ø—I’I˜b‘M”M�MØÐ"8Ð8Ð8Ý'¨°$¸TÐBÑBÔBÐBÐBå'¨°$¸TÐBÑBÔBÐBÐBå& t¤z°8´>ÑBÔBÐBÝœ; t¨XÑ6Ô6°tÔ<�DÝ˜D 4šK¨d°D¸'Ð-BÐCÑCÔCÐCÐCñ
Dõ Œi×#Ò# AÑ&Ô&ˆÝ�‰JŒJ�œ 3§9¢9¨T¡?¤?Ñ3Ô3Ñ3ˆØð 	+ð 	+ˆGå”9˜WÑ%Ô%­¨g©¬Ñ6ˆDÝ”9˜T 1 aÑ(Ô(ˆDØ˜ŠˆÝ!œ?¨1¨gÑ6Ô6��å!Ô/°°7¸DØ8?ðAñ Aô A�å˜tœz¨8¬>Ñ:Ô:Ð:Ý”;˜t XÑ.Ô.¨tÔ4ˆDÝ�D˜4’K TÐ*Ñ*Ô*Ð*Ð*ð �UŠ?ˆ?Ý”˜6 6Ð*Ñ+Ô+ˆBÝ”o b¨!Ñ,Ô,ˆGå”hÐAÐAÐAÑBÔBˆGÝ˜G W°5Ð9Ñ9Ô9Ð9Ý”Ð,Ð,Ð,Ñ-Ô-ˆBÝ”o b¨!Ñ,Ô,ˆGÝ”h  B˜xÑ(Ô(ˆGÝ˜G W°5Ð9Ñ9Ô9Ð9Ð9Ð9ð ˆ?r[   c           	      óz  — t           j                             d¦  «        }t          t           j        t           j        t          t          f}d}g d¢}|D ]è}|                     |¦  «         	                    |¦  «        }|t           j        t           j
        fv r|d|                     |¦  «        z  z  }d|d<   d|d<   |D ]|}t          j        dd|z  d	¬
¦  «        }t          |d|d¬¦  «        d d |…         }	t          ||d d d…         ¦  «        }
t          j        |d||
¬
¦  «        }t!          |	|dd¬¦  «         Œ}Œéd S )Nr…   rÿ  )rL   rú  éO   r’   r   r“   rŠ   r\  rß  rÐ  ÚconstantrÓ  rK   çH¯¼šò×z>©rî   rí   )rv   rò   ró   ÚintrÔ   rÖ   rn  r/  rõ   rø   r×   r   r
  r&   r   rÚ  r   )rU   Úrandom_stateÚ	try_typesrà   Údown_factorsrö   rk   r  r+  ÚyfÚhcrl   s               rY   Útest_poly_vs_filtfiltz"TestResample.test_poly_vs_filtfiltf  sU  € å”y×,Ò,¨RÑ0Ô0ˆÝ�"œ*¥b¤lµE½7ÐCˆ	ØˆØ"�{�{ˆàð 	=ð 	=ˆEØ×"Ò" 4Ñ(Ô(×/Ò/°Ñ6Ô6ˆAØ�œ¥r¤}Ð5Ð5Ð5Ø�R˜,×,Ò,¨TÑ2Ô2Ñ2Ñ2�ð ˆAˆa‰DØˆAˆb‰Eà$ð 	=ð 	=�Ý”M " b¨4¡i¸	ÐBÑBÔB�Ý˜a  a°Ð<Ñ<Ô<¸V¸V¸t¸VÔD�õ
 ˜a  4 4 R 4¤Ñ)Ô)�ÝÔ(¨¨A¨t¸BÐ?Ñ?Ô?�Ý  A¨D°tÐ<Ñ<Ô<Ð<Ð<ð	=ð	=ð 	=r[   c           
      óZ  — dD ]§}t          dd|¦  «        D ]“}dD ]Ž}t          j                             |f¦  «        }t          j                             |f¦  «        }t          ||d d d…         d¬¦  «        }t	          j        |d||¬¦  «        }t          |d d |…         |¦  «         Œ�Œ”Œ¨d S )	N)rL   rG   rK   r5  )rP   rr  r“   r,  r`   )r  r  rÑ  )rx   rv   rò   r   r   rÚ  r   )rU   r  rñ  Únweightsrk   ÚweightsÚy_gÚy_ss           rY   Útest_correlate1dzTestResample.test_correlate1d‚  sØ   € Øð 	6ð 	6ˆDÝ˜A˜r 4Ñ(Ô(ð 6ð 6�Ø (ð 6ð 6�HÝœ	×(Ò(¨"¨Ñ/Ô/�AÝ œi×.Ò.°¨{Ñ;Ô;�GÝ% a¨°°°2°¬¸ZÐHÑHÔH�CÝ Ô.Ø˜a d°7ð<ñ <ô <�Cå# C¨¨¨$¨¤K°Ñ5Ô5Ð5Ð5ð6ð6ð	6ð 	6r[   c                 óš   — t          j        g d¢|¬¦  «        }t          j        |ddd¬¦  «        }t          j        |¦  «        dk    sJ ‚d S )N)r   rK   rL   rF   rL   rK   r   r	  rL   rK   Úsmooth)r  r  rÔ  r   )rv   r   r   rÚ  Úcount_nonzero)rU   rö   r°  Úactuals       rY   Útest_gh_15620zTestResample.test_gh_15620�  sc   € åŒxÐ-Ð-Ð-°UÐ;Ñ;Ô;ˆÝÔ% dØ)*Ø+,Ø.6ð8ñ 8ô 8ˆõ Ô Ñ'Ô'¨!Ò+Ð+Ð+Ð+Ð+Ð+r[   N)r§   r¨   r©   rZ   r  r  rx  rè  rð  rõ  r  Úpadtype_optionsrû  rþ  rv   rÔ   rÕ   r   r  r   r)  r5  r;  rÍ   r@  rª   r[   rY   rÉ  rÉ  ¿  sˆ  € € € € € ð%ð %ð %ð, „[×Ò˜XÐ'8Ñ9Ô9Ø„[×Ò˜S (Ñ+Ô+Ø„[×Ò˜UÐ$6Ñ7Ô7ðð ñ 8Ô7ñ ,Ô+ñ :Ô9ððð ð ð „[×Ò˜T ?Ñ3Ô3Ø„[×Ò˜T ?Ñ3Ô3Ø„[×Ò˜WÐ&:Ñ;Ô;ð%ð %ñ <Ô;ñ 4Ô3ñ 4Ô3ð%ð
 „[ÔØ„[×Ò˜Y¨Ñ8Ô8ð0ð 0ñ 9Ô8ñ Ôð0ð „[×Ò˜Y¨Ñ8Ô8ð%ð %ñ 9Ô8ð%ð „[×Ò˜Y¨Ñ8Ô8Ø„[×Ò˜W r¤z°2´:Ð&>Ñ?Ô?ð"ð "ñ @Ô?ñ 9Ô8ð"ð „[×ÒØØ	ÐØ
ˆ$ØˆGØ�  t˜}¨oñô ñ
ô 
ñ	
ñô ðG:ð G:ñô ðG:ðR=ð =ð =ð8	6ð 	6ð 	6ð „[×Ò˜W r¤x°´Ð&<Ñ=Ô=ð,ð ,ñ >Ô=ð,ð ,ð ,r[   rÉ  c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestCSpline1DEvalc                 ó`  — t          g d¢¦  «        }t          t          |¦  «        ¦  «        }|d         |d         z
  }t          j        |¦  «        }t          t          |¦  «        dz  ¦  «        dz  }t          j        ||||d         ¬¦  «        }t          |d d d…         |d¬¦  «         d S )	N)	rK   rL   rF   rG   rF   rL   rK   rL   r_  rK   r   r  )ÚdxÚx0rM   rH   r¾  )r   r   Úlenr   Ú	cspline1dÚcspline1d_evalr   )rU   rl   rk   rE  Úcjrç   Úy2s          rY   rZ   zTestCSpline1DEval.test_basic™  s¨   € ÝÐ/Ð/Ð/Ñ0Ô0ˆÝ•3�q‘6”6‰NŒNˆØˆqŒT�A�a”D‰[ˆÝÔ˜aÑ Ô ˆå•C˜‘F”F˜T‘MÑ"Ô" TÑ)ˆÝÔ" 2 r¨b°Q°q´TÐ:Ñ:Ô:ˆõ 	" " T T r T¤(¨A°qÐ9Ñ9Ô9Ð9Ð9Ð9r[   c                 ó„  — t          j        d¦  «        }t          j        |j        t           j        ¬¦  «        }d}d|z  }t          j        dt           j        z  |z  |z  ¦  «        }t          j        |¦  «        }t          j	        dg¦  «        }t          j
        ||¦  «        }t          |j        |j        ¦  «         d S )NrL   r	  r  r\  rj   r  )rv   r   rŽ  rŠ  rÖ   Úexpr  r   rH  r   rI  r
   rö   )rU   rk   rl   ÚTrá   ÚcyÚxnewÚynews           rY   rn   zTestCSpline1DEval.test_complex¥  s£   € åŒI�a‰LŒLˆÝŒH�Q”W¥B¤LÐ1Ñ1Ô1ˆØˆØ�!‰GˆÝŒF�4�"œ%‘< !Ñ# aÑ'Ñ(Ô(ˆõ Ô˜aÑ Ô ˆõ Œx˜˜‰ŒˆÝÔ$ R¨Ñ.Ô.ˆå�T”Z ¤Ñ)Ô)Ð)Ð)Ð)r[   N)r§   r¨   r©   rZ   rn   rª   r[   rY   rC  rC  —  s2   € € € € € ð
:ð 
:ð 
:ð*ð *ð *ð *ð *r[   rC  c                   ó   — e Zd Zd„ ZdS )ÚTestOrderFiltc                 óZ   — t          t          j        g d¢g d¢d¦  «        g d¢¦  «         d S )NrJ   ©rK   r   rK   rK   )rL   rF   rL   )r   r   Úorder_filterr  s    rY   rZ   zTestOrderFilt.test_basic¸  s>   € Ý�6Ô.¨y¨y¨y¸)¸)¸)ÀQÑGÔGØ$˜9˜9ñ	&ô 	&ð 	&ð 	&ð 	&r[   NrÂ  rª   r[   rY   rS  rS  ¶  s#   € € € € € ð&ð &ð &ð &ð &r[   rS  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ej                             dddg ej         d¦  «        g¦  «        ej                             dddg ej         d¦  «        g¦  «        d„ ¦   «         ¦   «         Z!ej        j"        d„ ¦   «         Z#dS ) Ú_TestLinearFilterc                 óÌ   — t          j        dt          j        |¦  «        dz
  t          j        |¦  «        ¦  «                             |¦  «        }|                      |¦  «        S )Nr   rK   )rv   rã  Úprodrw   Úconvert_dtype)rU   rŠ  rk   s      rY   Úgeneratez_TestLinearFilter.generate¿  sL   € ÝŒK˜�2œ7 5™>œ>¨AÑ-­r¬w°u©~¬~Ñ>Ô>×FÒFÀuÑMÔMˆØ×!Ò! !Ñ$Ô$Ð$r[   c                 ód  — | j         t          j         d¦  «        k    ryt          j        |¦  «        }t          j        |j        | j         ¦  «        }t          j        ||gddgdgdgg¦  «        }|D ]#\  }}|                      |d         ¦  «        |d<   Œ$|S t          j        || j         ¬¦  «        S )	NÚOÚrefs_okÚzerosize_okÚreadonlyÚ	writeonlyrª   .r	  )rö   rv   r  ÚemptyrŠ  ÚnditerÚtype)rU   Úarrr¹   Úiterrk   rl   s         rY   r[  z_TestLinearFilter.convert_dtypeÃ  s­   € ØŒ:�œ #™œÒ&Ð&Ý”*˜S‘/”/ˆCÝ”(˜3œ9 d¤jÑ1Ô1ˆCÝ”9˜c 3˜Z¨)°MÐ)BØ$˜ { mÐ4ñ6ô 6ˆDàð *ð *‘��1ØŸš 1 R¤5Ñ)Ô)��#‘�ØˆJå”:˜c¨¬Ð4Ñ4Ô4Ð4r[   c                 óø   — |                       d¦  «        }|                      ddg¦  «        }|                      ddg¦  «        }|                      g d¢¦  «        }t          t          |||¦  «        |¦  «         d S ©N©rI   rK   r“   r  ç      à¿©r   rL   rG   rI   r‘   r  ©r\  r[  r   r$   ©rU   rk   rW   rV   Úy_rs        rY   Útest_rank_1_IIRz!_TestLinearFilter.test_rank_1_IIRÏ  s}   € Ø�MŠM˜$ÑÔˆØ×Ò  2˜wÑ'Ô'ˆØ×Ò  T˜{Ñ+Ô+ˆØ× Ò Ð!5Ð!5Ð!5Ñ6Ô6ˆÝ!¥'¨!¨Q°Ñ"2Ô"2°CÑ8Ô8Ð8Ð8Ð8r[   c                 óö   — |                       d¦  «        }|                      ddg¦  «        }|                      dg¦  «        }|                      g d¢¦  «        }t          t          |||¦  «        |¦  «         d S )Nrj  rK   ©r   rK   rF   rH   rƒ   rž  rm  rn  s        rY   Útest_rank_1_FIRz!_TestLinearFilter.test_rank_1_FIRÖ  s{   € Ø�MŠM˜$ÑÔˆØ×Ò  1˜vÑ&Ô&ˆØ×Ò ˜sÑ#Ô#ˆØ× Ò Ð!4Ð!4Ð!4Ñ5Ô5ˆÝ!¥'¨!¨Q°Ñ"2Ô"2°CÑ8Ô8Ð8Ð8Ð8r[   c                 ó‚  — |                       d¦  «        }|                      g d¢¦  «        }|                      ddg¦  «        }|                      ddg¦  «        }|                      g d¢¦  «        }|                      dd	g¦  «        }t          ||||¬
¦  «        \  }}t          ||¦  «         t          ||¦  «         d S )Nrj  ©rK   r   r“   r  rk  rK   rL   )rK   rH   r$  é   r…   ra  rv  éöÿÿÿ©Úzi©r\  r[  r$   r   ©	rU   rk   rW   rV   ry  ro  Úzf_rrl   Úzfs	            rY   Útest_rank_1_IIR_init_condz+_TestLinearFilter.test_rank_1_IIR_init_condÝ  sÉ   € Ø�MŠM˜$ÑÔˆØ×Ò˜z˜z˜zÑ*Ô*ˆØ×Ò  T˜{Ñ+Ô+ˆØ×Ò  A Ñ'Ô'ˆØ× Ò Ð!6Ð!6Ð!6Ñ7Ô7ˆØ×!Ò! 2 s )Ñ,Ô,ˆÝ˜˜1˜a BÐ'Ñ'Ô'‰ˆˆ2Ý! ! SÑ)Ô)Ð)Ý! " dÑ+Ô+Ð+Ð+Ð+r[   c                 ó€  — |                       d¦  «        }|                      g d¢¦  «        }|                      dg¦  «        }|                      ddg¦  «        }|                      g d¢¦  «        }|                      ddg¦  «        }t          ||||¬¦  «        \  }}t          ||¦  «         t          ||¦  «         d S )Nrj  rý  rK   )rK   rL   rF   rI   r$  rÓ  r$  rH   rx  rz  r{  s	            rY   Útest_rank_1_FIR_init_condz+_TestLinearFilter.test_rank_1_FIR_init_condè  sÇ   € Ø�MŠM˜$ÑÔˆØ×Ò˜y˜y˜yÑ)Ô)ˆØ×Ò ˜sÑ#Ô#ˆØ×Ò  A Ñ'Ô'ˆØ× Ò Ð!5Ð!5Ð!5Ñ6Ô6ˆØ×!Ò! 1 a &Ñ)Ô)ˆÝ˜˜1˜a BÐ'Ñ'Ô'‰ˆˆ2Ý! ! SÑ)Ô)Ð)Ý! " dÑ+Ô+Ð+Ð+Ð+r[   c                 ó  — |                       d¦  «        }|                      ddg¦  «        }|                      ddg¦  «        }|                      g d¢g d¢g d¢g d¢g¦  «        }t          |||d¬¦  «        }t          ||¦  «         d S )	N©rG   rF   rK   r“   r  ©r   rL   rG   ©rI   rG   rL   r   r  rz  )rU   rk   rW   rV   Úy_r2_a0rl   s         rY   Útest_rank_2_IIR_axis_0z(_TestLinearFilter.test_rank_2_IIR_axis_0ó  s    € Ø�MŠM˜&Ñ!Ô!ˆØ×Ò  2˜wÑ'Ô'ˆØ×Ò  S˜zÑ*Ô*ˆØ×$Ò$ i i i°°°¸I¸I¸IØ&/ i ið&1ñ 2ô 2ˆå�A�q˜! !Ð$Ñ$Ô$ˆÝ! '¨1Ñ-Ô-Ð-Ð-Ð-r[   c                 ó  — |                       d¦  «        }|                      ddg¦  «        }|                      ddg¦  «        }|                      g d¢g d¢g d¢g d¢g¦  «        }t          |||d¬	¦  «        }t          ||¦  «         d S )
Nr‚  rK   r“   r  ©r   rL   r   ©rI   rö  rI   ©rR   rw  rR   ©rh  iðÿÿÿrh  r  rz  )rU   rk   rW   rV   Úy_r2_a1rl   s         rY   Útest_rank_2_IIR_axis_1z(_TestLinearFilter.test_rank_2_IIR_axis_1ü  s    € Ø�MŠM˜&Ñ!Ô!ˆØ×Ò  2˜wÑ'Ô'ˆØ×Ò  S˜zÑ*Ô*ˆØ×$Ò$ i i i°°°¸]¸]¸]Ø)˜M˜Mð&+ñ ,ô ,ˆå�A�q˜! !Ð$Ñ$Ô$ˆÝ! '¨1Ñ-Ô-Ð-Ð-Ð-r[   c                 óà  — |                       d¦  «        }|                      ddg¦  «        }|                      ddg¦  «        }|                      t          j        d¦  «        ¦  «        }|                      g d¢g d¢g d¢g d	¢g¦  «        }|                      g d
¢¦  «        d d …t          j        f         }t          |||d|¬¦  «        \  }}t          ||¦  «         t          ||¦  «         d S )Nr‚  rK   r“   r  )rG   rK   rý  )rƒ   éûÿÿÿrƒ   )rv  éõÿÿÿrv  )rk  éïÿÿÿrk  )r�  r‘  iãÿÿÿi×ÿÿÿ©r×  ry  )r\  r[  rv   rd  r  r$   r   )	rU   rk   rW   rV   ry  Ú	y_r2_a0_1r|  rl   r}  s	            rY   Ú test_rank_2_IIR_axis_0_init_condz2_TestLinearFilter.test_rank_2_IIR_axis_0_init_cond  sú   € Ø�MŠM˜&Ñ!Ô!ˆØ×Ò  2˜wÑ'Ô'ˆØ×Ò  S˜zÑ*Ô*ˆØ×Ò¥¤¨¡¤Ñ/Ô/ˆà×&Ò&¨	¨	¨	°:°:°:¸}¸}¸}Ø+˜m˜mð(-ñ .ô .ˆ	à×!Ò!Ð"5Ð"5Ð"5Ñ6Ô6°q°q°q½"¼*°}ÔEˆÝ˜˜1˜a a¨BÐ/Ñ/Ô/‰ˆˆ2Ý! )¨QÑ/Ô/Ð/Ý! " dÑ+Ô+Ð+Ð+Ð+r[   c                 óº  — |                       d¦  «        }|                      ddg¦  «        }|                      ddg¦  «        }|                      t          j        d¦  «        ¦  «        }|                      g d¢g d¢g d¢g d¢g¦  «        }|                      g d¢g¦  «        }t	          |||d	|¬
¦  «        \  }}t          ||¦  «         t          ||¦  «         d S )Nr‚  rK   r“   r  ©rK   rF   )rK   rF   rH   )rH   rF   rK   )ééÿÿÿr—  r—  r   r’  )r\  r[  rv   rd  r$   r   )	rU   rk   rW   rV   ry  Ú	y_r2_a0_0r|  rl   r}  s	            rY   Ú test_rank_2_IIR_axis_1_init_condz2_TestLinearFilter.test_rank_2_IIR_axis_1_init_cond  së   € Ø�MŠM˜%Ñ Ô ˆØ×Ò  2˜wÑ'Ô'ˆØ×Ò  S˜zÑ*Ô*ˆØ×Ò¥¤¨¡¤Ñ/Ô/ˆà×&Ò&¨	¨	¨	°9°9°9Ø(1¨	¨	°9°9°9ð(>ñ ?ô ?ˆ	à×!Ò! ? ? ?Ð"3Ñ4Ô4ˆÝ˜˜1˜a a¨BÐ/Ñ/Ô/‰ˆˆ2Ý! )¨QÑ/Ô/Ð/Ý! " dÑ+Ô+Ð+Ð+Ð+r[   c                 ó6  ‡‡— |                       d¦  «        }|                      ddg¦  «        Š|                      ddg¦  «        Št          |j        ¦  «        D ]>}t	          ‰‰||¦  «        }t          j        ˆˆfd„||¦  «        }t          ||¦  «         Œ?d S )N©rG   rF   rL   rK   r“   r  c                 ó&   •— t          ‰‰| ¦  «        S r3  ©r$   ©ÚwrV   rW   s    €€rY   ú<lambda>z3_TestLinearFilter.test_rank_3_IIR.<locals>.<lambda>&  ó   ø€ µ¸¸1¸aÑ0@Ô0@€ r[   ©r\  r[  rx   Úndimr$   rv   Úapply_along_axisr   ©rU   rk   r×  rl   ro  rV   rW   s        @@rY   Útest_rank_3_IIRz!_TestLinearFilter.test_rank_3_IIR  s«   øø€ Ø�MŠM˜)Ñ$Ô$ˆØ×Ò  2˜wÑ'Ô'ˆØ×Ò  S˜zÑ*Ô*ˆå˜!œ&‘M”Mð 	.ð 	.ˆDÝ˜˜1˜a Ñ&Ô&ˆAÝÔ%Ð&@Ð&@Ð&@Ð&@Ð&@À$ÈÑJÔJˆCÝ% a¨Ñ-Ô-Ð-Ð-ð	.ð 	.r[   c                 óL  ‡‡‡— |                       d¦  «        }|                      ddg¦  «        Š|                      ddg¦  «        Št          |j        ¦  «        D ]È}t	          |j        ¦  «        }d||<   |                      t          j        |¦  «        ¦  «        }|                      dg¦  «        Št          ‰‰|||¦  «        \  }}ˆˆˆfd„}ˆˆˆfd„}t          j	        |||¦  «        }	t          j	        |||¦  «        }
t          ||	¦  «         t          ||
¦  «         ŒÉd S )Nr›  rK   r“   r  c                 ó6   •— t          ‰‰| ‰¬¦  «        d         S ©Nrx  r   r�  ©rŸ  rV   rW   Úzi1s    €€€rY   Úlf0z8_TestLinearFilter.test_rank_3_IIR_init_cond.<locals>.lf04  ó   ø€ Ý˜q ! Q¨3Ð/Ñ/Ô/°Ô2Ð2r[   c                 ó6   •— t          ‰‰| ‰¬¦  «        d         S ©Nrx  rK   r�  rª  s    €€€rY   Úlf1z8_TestLinearFilter.test_rank_3_IIR_init_cond.<locals>.lf16  r­  r[   ©r\  r[  rx   r£  r  rŠ  rv   rd  r$   r¤  r   ©rU   rk   r×  Úzi_shapery  rl   r}  r¬  r°  ro  r|  rV   rW   r«  s              @@@rY   Útest_rank_3_IIR_init_condz+_TestLinearFilter.test_rank_3_IIR_init_cond)  sW  øøø€ Ø�MŠM˜)Ñ$Ô$ˆØ×Ò  2˜wÑ'Ô'ˆØ×Ò  S˜zÑ*Ô*ˆå˜!œ&‘M”Mð 	0ð 	0ˆDÝ˜AœG‘}”}ˆHØˆH�T‰NØ×#Ò#¥B¤G¨HÑ$5Ô$5Ñ6Ô6ˆBØ×$Ò$ a SÑ)Ô)ˆCÝ˜A˜q ! T¨2Ñ.Ô.‰EˆAˆrð3ð 3ð 3ð 3ð 3ð 3ð 3ð3ð 3ð 3ð 3ð 3ð 3ð 3åÔ% c¨4°Ñ3Ô3ˆCÝÔ& s¨D°!Ñ4Ô4ˆDÝ% a¨Ñ-Ô-Ð-Ý% b¨$Ñ/Ô/Ð/Ð/ð	0ð 	0r[   c                 ó4  ‡‡— |                       d¦  «        }|                      g d¢¦  «        Š|                      dg¦  «        Št          |j        ¦  «        D ]>}t	          ‰‰||¦  «        }t          j        ˆˆfd„||¦  «        }t          ||¦  «         Œ?d S )Nr›  ru  rK   c                 ó&   •— t          ‰‰| ¦  «        S r3  r�  rž  s    €€rY   r   z3_TestLinearFilter.test_rank_3_FIR.<locals>.<lambda>D  r¡  r[   r¢  r¥  s        @@rY   Útest_rank_3_FIRz!_TestLinearFilter.test_rank_3_FIR=  s©   øø€ Ø�MŠM˜)Ñ$Ô$ˆØ×Ò˜z˜z˜zÑ*Ô*ˆØ×Ò ˜sÑ#Ô#ˆå˜!œ&‘M”Mð 	.ð 	.ˆDÝ˜˜1˜a Ñ&Ô&ˆAÝÔ%Ð&@Ð&@Ð&@Ð&@Ð&@À$ÈÑJÔJˆCÝ% a¨Ñ-Ô-Ð-Ð-ð	.ð 	.r[   c                 óL  ‡‡‡— |                       d¦  «        }|                      g d¢¦  «        Š|                      dg¦  «        Št          |j        ¦  «        D ]É}t	          |j        ¦  «        }d||<   |                      t          j        |¦  «        ¦  «        }|                      ddg¦  «        Št          ‰‰|||¦  «        \  }}ˆˆˆfd„}ˆˆˆfd„}t          j	        |||¦  «        }	t          j	        |||¦  «        }
t          ||	¦  «         t          ||
¦  «         ŒÊd S )Nr›  ru  rK   rL   c                 ó6   •— t          ‰‰| ‰¬¦  «        d         S r©  r�  rª  s    €€€rY   r¬  z8_TestLinearFilter.test_rank_3_FIR_init_cond.<locals>.lf0R  r­  r[   c                 ó6   •— t          ‰‰| ‰¬¦  «        d         S r¯  r�  rª  s    €€€rY   r°  z8_TestLinearFilter.test_rank_3_FIR_init_cond.<locals>.lf1T  r­  r[   r±  r²  s              @@@rY   Útest_rank_3_FIR_init_condz+_TestLinearFilter.test_rank_3_FIR_init_condG  sW  øøø€ Ø�MŠM˜)Ñ$Ô$ˆØ×Ò˜z˜z˜zÑ*Ô*ˆØ×Ò ˜sÑ#Ô#ˆå˜!œ&‘M”Mð 	0ð 	0ˆDÝ˜AœG‘}”}ˆHØˆH�T‰NØ×#Ò#¥B¤G¨HÑ$5Ô$5Ñ6Ô6ˆBØ×$Ò$ a¨ VÑ,Ô,ˆCÝ˜A˜q ! T¨2Ñ.Ô.‰EˆAˆrð3ð 3ð 3ð 3ð 3ð 3ð 3ð3ð 3ð 3ð 3ð 3ð 3ð 3åÔ% c¨4°Ñ3Ô3ˆCÝÔ& s¨D°!Ñ4Ô4ˆDÝ% a¨Ñ-Ô-Ð-Ý% b¨$Ñ/Ô/Ð/Ð/ð	0ð 	0r[   c                 óz  — |                       d¦  «        }t          j        ddd¬¦  «        \  }}|                      |¦  «        }|                      |¦  «        }|j        d         dz
  }|                      t          j        dd	|f¦  «        ¦  «        }|                      t          j        dd|f¦  «        ¦  «        }t          ||||¬
¦  «        \  }}t          ||||¬
¦  «        \  }	}
t          |	|¦  «         t          ||
¦  «         t          t          t          |||dt          j        |¦  «        ¦  «         d S )N)rG   rH   r  r‘   r  Úba©r¬  r   rK   rG   rH   rx  r“   )r\  r   r'   r[  rŠ  rv   rd  r$   r   r£   r¤   )rU   rk   rW   rV   Úzi_sizeÚzi_fullÚzi_singÚy_fullÚzf_fullÚy_singÚzf_sings              rY   Útest_zi_pseudobroadcastz)_TestLinearFilter.test_zi_pseudobroadcast[  s*  € Ø�MŠM˜*Ñ%Ô%ˆÝŒm˜A˜s¨4Ð0Ñ0Ô0‰ˆˆ!Ø×Ò˜qÑ!Ô!ˆØ×Ò˜qÑ!Ô!ˆØ”'˜!”*˜q‘.ˆð ×$Ò$¥R¤W¨a°°G¨_Ñ%=Ô%=Ñ>Ô>ˆØ×$Ò$¥R¤W¨a°°G¨_Ñ%=Ô%=Ñ>Ô>ˆå! ! Q¨¨gÐ6Ñ6Ô6‰ˆ�Ý! ! Q¨¨gÐ6Ñ6Ô6‰ˆ�å! &¨&Ñ1Ô1Ð1Ý! '¨7Ñ3Ô3Ð3õ 	•j¥'¨1¨a°°B½¼ÀÑ8HÔ8HÑIÔIÐIÐIÐIr[   c                 ó  — |                       d¦  «        }|                      g d¢¦  «        }|                      dg¦  «        }|                      g d¢¦  «        }t          ||d         |¦  «        }t          ||¦  «         d S )NrI   ru  rK   )r   rK   rL   rL   rL   rL   r   rz  )rU   rk   rW   rV   ro  rl   s         rY   Útest_scalar_az_TestLinearFilter.test_scalar_ap  s„   € à�MŠM˜!ÑÔˆØ×Ò˜z˜z˜zÑ*Ô*ˆØ×Ò ˜sÑ#Ô#ˆØ× Ò Ð!3Ð!3Ð!3Ñ4Ô4ˆå�A�q˜”t˜QÑÔˆÝ! ! SÑ)Ô)Ð)Ð)Ð)r[   c                 ó^  — |                       t          j        dd¦  «        ¦  «        }|                       t          j        dd¦  «        ¦  «        }|                       t          j        g d¢¦  «        ¦  «        }t          j        dd¦  «        }|dd d …d d …fxx         dz  cc<   |dd d …d d …fxx         dz  cc<   |                       |¦  «        }|                       t          j        d	d¦  «        ¦  «        }t          j        dd¦  «        }dggdggdggg|d d …d d …d d
…f<   |                       |¦  «        }t          |||d|¦  «        \  }}t          ||¦  «         t          ||¦  «         t          ||d         |d|¦  «        \  }	}
t          |	|¦  «         t          |
|¦  «         d S )N)rF   rL   rH   ÚlrH   ©rK   r   r   )rF   rK   rG   rK   rL   rF   )rF   rL   rG   rG   r“   r   )r[  rv   rŽ  rd  r   r$   r   )rU   rk   rW   rV   ry  Úzf_expectedÚ
y_expectedÚy_iirÚzf_iirÚy_firÚzf_firs              rY   Útest_zi_some_singleton_dimsz-_TestLinearFilter.test_zi_some_singleton_dimsz  s½  € ð ×Ò�rœx¨°Ñ5Ô5Ñ6Ô6ˆØ×Ò�rœw q¨#™œÑ/Ô/ˆØ×Ò�rœx¨¨¨Ñ0Ô0Ñ1Ô1ˆÝŒW�W˜cÑ"Ô"ˆØ
ˆ1ˆQˆQˆQˆqˆqˆqˆ5ˆ	ˆ	Œ	�Q‰ˆ	ˆ	‰	Ø
ˆ1ˆQˆQˆQˆqˆqˆqˆ5ˆ	ˆ	Œ	�Q‰ˆ	ˆ	‰	Ø×Ò Ñ#Ô#ˆà×(Ò(­¬°'¸3Ñ)?Ô)?Ñ@Ô@ˆÝ”X˜g sÑ+Ô+ˆ
Ø !˜s˜e q c U¨a¨S¨EÐ2ˆ
�1�1�1�Q�Q�Q�r˜�r�6ÑØ×'Ò'¨
Ñ3Ô3ˆ
õ    1 a¨¨RÑ0Ô0‰ˆˆvÝ! %¨Ñ4Ô4Ð4Ý! &¨+Ñ6Ô6Ð6õ    1 Q¤4¨¨B°Ñ3Ô3‰ˆˆvÝ! %¨Ñ4Ô4Ð4Ý! &¨+Ñ6Ô6Ð6Ð6Ð6r[   c           	      óì   — |                       |¦  «        }|                       |¦  «        }|                       |¦  «        }|                       |¦  «        }t          t          t          |||||¦  «         d S r3  )r[  r£   r¤   r$   )rU   rW   rV   rk   r×  ry  s         rY   Úbase_bad_size_ziz"_TestLinearFilter.base_bad_size_zi•  sn   € Ø×Ò˜qÑ!Ô!ˆØ×Ò˜qÑ!Ô!ˆØ×Ò˜qÑ!Ô!ˆØ×Ò Ñ#Ô#ˆÝ•j¥'¨1¨a°°D¸"Ñ=Ô=Ð=Ð=Ð=r[   c                 ó~  — t          j        d¦  «        }|                      dgdg|ddg¦  «         |                      ddgdg|dddg¦  «         |                      ddgdg|ddgg¦  «         |                      ddgdg|dg d¢¦  «         |                      g d¢dg|ddgg¦  «         |                      g d¢dg|dg d¢¦  «         |                      dgddg|dddg¦  «         |                      dgddg|ddgg¦  «         |                      dgddg|dg d¢¦  «         |                      g d¢ddg|ddg¦  «         |                      g d¢ddg|ddgdgg¦  «         |                      g d¢ddg|dg d¢¦  «         |                      g d¢ddg|dg d¢¦  «         |                      ddgg d¢|ddg¦  «         |                      ddgg d¢|ddgdgg¦  «         |                      ddgg d¢|dg d¢¦  «         |                      ddgg d¢|dg d¢¦  «         t          j        d¦  «                             d	¦  «        }|                      dgdg|ddg¦  «         |                      ddgdg|dg d¢¦  «         |                      ddgdg|dg d¢gg¦  «         |                      ddgdg|ddgdgd
gg¦  «         |                      ddgdg|dddgg¦  «         |                      ddgdg|dg d¢g¦  «         |                      g d¢dg|dg d¢¦  «         |                      g d¢dg|dg d¢g d¢gg¦  «         |                      g d¢dg|dddgd
dgddgg¦  «         |                      g d¢dg|dddgd
dgg¦  «         |                      g d¢dg|dg d¢g d¢g¦  «         |                      dgddg|dg d¢¦  «         |                      dgddg|dg d¢gg¦  «         |                      dgddg|ddgdgd
gg¦  «         |                      dgddg|dddgg¦  «         |                      dgddg|dg d¢g¦  «         |                      dgg d¢|dg d¢¦  «         |                      dgg d¢|dg d¢g d¢gg¦  «         |                      dgg d¢|dddgd
dgddgg¦  «         |                      dgg d¢|dddgd
dgg¦  «         |                      dgg d¢|dg d¢g d¢g¦  «         |                      g d¢ddg|dg d¢¦  «         |                      g d¢ddg|dg d¢g d¢gg¦  «         |                      g d¢ddg|dddgd
dgddgg¦  «         |                      g d¢ddg|dddgd
dgg¦  «         |                      g d¢ddg|dg d¢g d¢g¦  «         |                      dgdg|ddg¦  «         |                      ddgdg|dg d¢¦  «         |                      ddgdg|ddgdgd
gdggg¦  «         |                      ddgdg|dg d¢g¦  «         |                      ddgdg|ddgdgd
gg¦  «         |                      ddgdg|ddgdgd
gdgdgg¦  «         |                      g d¢dg|dg d¢¦  «         |                      g d¢dg|dddgd
dgddgddggg¦  «         |                      g d¢dg|dg d¢g d¢g¦  «         |                      g d¢dg|dddgd
dgddgg¦  «         |                      g d¢dg|dddgd
dgddgddgddgg¦  «         |                      dgddg|dg d¢¦  «         |                      dgddg|ddgdgd
gdggg¦  «         |                      dgddg|dg d¢g¦  «         |                      dgddg|ddgdgd
gg¦  «         |                      dgddg|ddgdgd
gdgdgg¦  «         |                      dgg d¢|dg d¢¦  «         |                      dgg d¢|dddgd
dgddgddggg¦  «         |                      dgg d¢|dg d¢g d¢g¦  «         |                      dgg d¢|dddgd
dgddgg¦  «         |                      dgg d¢|dddgd
dgddgddgddgg¦  «         |                      g d¢ddg|dg d¢¦  «         |                      g d¢ddg|dddgd
dgddgddggg¦  «         |                      g d¢ddg|dg d¢g d¢g¦  «         |                      g d¢ddg|dddgd
dgddgg¦  «         |                      g d¢ddg|dddgd
dgddgddgddgg¦  «         d S )NrI   rK   r“   r   ©r   rK   rL   rý  ©r   rK   rL   rF   rR   r‚  rL   )r   rK   rL   rF   rG   rH   r]   rF   rG   rH   )rG   rH   rI   rƒ   )r   rK   rL   rF   rG   rH   rI   rƒ   rƒ   r‘   r$  )rv   r   rÔ  rw   )rU   ræ   rç   s      rY   Útest_bad_size_ziz"_TestLinearFilter.test_bad_size_ziœ  sy  € åŒY�q‰\Œ\ˆØ×Ò˜q˜c A 3¨¨B°°Ñ4Ô4Ð4Ø×Ò˜q !˜f q c¨2¨r°A°q°6Ñ:Ô:Ð:Ø×Ò˜q !˜f q c¨2¨r°Q°C°5Ñ9Ô9Ð9Ø×Ò˜q !˜f q c¨2¨r°9°9°9Ñ=Ô=Ð=Ø×Ò˜i˜i˜i¨!¨¨b°"¸°s°eÑ<Ô<Ð<Ø×Ò˜i˜i˜i¨!¨¨b°"°i°i°iÑ@Ô@Ð@Ø×Ò˜q˜c A q 6¨2¨r°A°q°6Ñ:Ô:Ð:Ø×Ò˜q˜c A q 6¨2¨r°Q°C°5Ñ9Ô9Ð9Ø×Ò˜q˜c A q 6¨2¨r°9°9°9Ñ=Ô=Ð=Ø×Ò˜i˜i˜i¨!¨Q¨°°R¸!¸Ñ=Ô=Ð=Ø×Ò˜i˜i˜i¨!¨Q¨°°R¸1¸#À¸s¸ÑDÔDÐDØ×Ò˜i˜i˜i¨!¨Q¨°°R¸¸¸ÑCÔCÐCØ×Ò˜i˜i˜i¨!¨Q¨°°R¸¸¸ÑFÔFÐFØ×Ò˜q !˜f i i i°°R¸!¸Ñ=Ô=Ð=Ø×Ò˜q !˜f i i i°°R¸1¸#À¸s¸ÑDÔDÐDØ×Ò˜q !˜f i i i°°R¸¸¸ÑCÔCÐCØ×Ò˜q !˜f i i i°°R¸¸¸ÑFÔFÐFõ ŒY�r‰]Œ]×"Ò" 5Ñ)Ô)ˆà×Ò˜q˜c A 3¨¨A°¨sÑ3Ô3Ð3ð 	×Ò˜q !˜f q c¨2¨q°'°'°'Ñ:Ô:Ð:Ø×Ò˜q !˜f q c¨2¨q°G°G°G°9°+Ñ>Ô>Ð>Ø×Ò˜q !˜f q c¨2¨q°A°3¸¸¸a¸S°/ÑBÔBÐBØ×Ò˜q !˜f q c¨2¨q°A°a°5°'Ñ:Ô:Ð:Ø×Ò˜q !˜f q c¨2¨q°9°9°9°+Ñ>Ô>Ð>à×Ò˜i˜i˜i¨!¨¨b°!°]°]°]ÑCÔCÐCØ×Ò˜i˜i˜i¨!¨¨b°!°w°w°w¸w¸w¸wÐ6GÐ5HÑIÔIÐIØ×Ò˜i˜i˜i¨!¨¨b°!°q¸°e¸Q¸q¸EÀ1ÀQÀ%Ð5HÑIÔIÐIØ×Ò˜i˜i˜i¨!¨¨b°!°q¸°e¸Q¸q¸E°]ÑCÔCÐCØ×Ò˜i˜i˜i¨!¨¨b°!°i°i°iÀ	À	À	Ð5JÑKÔKÐKà×Ò˜q˜c A q 6¨2¨q°'°'°'Ñ:Ô:Ð:Ø×Ò˜q˜c A q 6¨2¨q°G°G°G°9°+Ñ>Ô>Ð>Ø×Ò˜q˜c A q 6¨2¨q°A°3¸¸¸a¸S°/ÑBÔBÐBØ×Ò˜q˜c A q 6¨2¨q°A°a°5°'Ñ:Ô:Ð:Ø×Ò˜q˜c A q 6¨2¨q°9°9°9°+Ñ>Ô>Ð>à×Ò˜q˜c 9 9 9¨b°!°]°]°]ÑCÔCÐCØ×Ò˜q˜c 9 9 9¨b°!°w°w°w¸w¸w¸wÐ6GÐ5HÑIÔIÐIØ×Ò˜q˜c 9 9 9¨b°!°q¸°e¸Q¸q¸EÀ1ÀQÀ%Ð5HÑIÔIÐIØ×Ò˜q˜c 9 9 9¨b°!°q¸°e¸Q¸q¸E°]ÑCÔCÐCØ×Ò˜q˜c 9 9 9¨b°!°i°i°iÀ	À	À	Ð5JÑKÔKÐKà×Ò˜i˜i˜i¨!¨Q¨°°Q¸¸¸ÑFÔFÐFØ×Ò˜i˜i˜i¨!¨Q¨°°Q¸'¸'¸'À'À'À'Ð9JÐ8KÑLÔLÐLØ×Ò˜i˜i˜i¨!¨Q¨°°Q¸!¸A¸ÀÀ!¸uÀaÈÀUÐ8KÑLÔLÐLØ×Ò˜i˜i˜i¨!¨Q¨°°Q¸!¸A¸ÀÀ!¸u¸ÑFÔFÐFØ×Ò˜i˜i˜i¨!¨Q¨°°Q¸¸¸À9À9À9Ð8MÑNÔNÐNð 	×Ò˜q˜c A 3¨¨A°¨sÑ3Ô3Ð3à×Ò˜q !˜f q c¨2¨q°)°)°)Ñ<Ô<Ð<Ø×Ò˜q !˜f q c¨2¨q°Q°C¸¸¸Q¸CÀÀÐ3DÐ2EÑFÔFÐFØ×Ò˜q !˜f q c¨2¨q°<°<°<°.ÑAÔAÐAØ×Ò˜q !˜f q c¨2¨q°A°3¸°s¸A¸3°-Ñ@Ô@Ð@Ø×Ò˜q !˜f q c¨2¨q°A°3¸°s¸A¸3À¸sÀAÀ3Ð2GÑHÔHÐHà×Ò˜i˜i˜i¨!¨¨b°!Ð5FÐ5FÐ5FÑGÔGÐGØ×Ò˜i˜i˜i¨!¨¨b°!¸¸!°u¸aÀ¸UÀAÀaÀ5È!ÈAÈÐ6OÐ5PÑQÔQÐQØ×Ò˜i˜i˜i¨!¨¨b°!°i°i°iÀ	À	À	Ð5JÑKÔKÐKØ×Ò˜i˜i˜i¨!¨¨b°!°q¸°e¸Q¸q¸EÀ1ÀQÀ%Ð5HÑIÔIÐIØ×Ò˜i˜i˜i¨!¨¨b°!°q¸°e¸Q¸q¸EÀ1ÀQÀ%ÈÈ1ÈÈqÐQRÈeÐ5TÑUÔUÐUà×Ò˜q˜c A q 6¨2¨q°)°)°)Ñ<Ô<Ð<Ø×Ò˜q˜c A q 6¨2¨q°Q°C¸¸¸Q¸CÀÀÐ3DÐ2EÑFÔFÐFØ×Ò˜q˜c A q 6¨2¨q°<°<°<°.ÑAÔAÐAØ×Ò˜q˜c A q 6¨2¨q°A°3¸°s¸A¸3°-Ñ@Ô@Ð@Ø×Ò˜q˜c A q 6¨2¨q°A°3¸°s¸A¸3À¸sÀAÀ3Ð2GÑHÔHÐHà×Ò˜q˜c 9 9 9¨b°!Ð5FÐ5FÐ5FÑGÔGÐGØ×Ò˜q˜c 9 9 9¨b°!¸¸!°u¸aÀ¸UÀAÀaÀ5È!ÈAÈÐ6OÐ5PÑQÔQÐQØ×Ò˜q˜c 9 9 9¨b°!°i°i°iÀ	À	À	Ð5JÑKÔKÐKØ×Ò˜q˜c 9 9 9¨b°!°q¸°e¸Q¸q¸EÀ1ÀQÀ%Ð5HÑIÔIÐIØ×Ò˜q˜c 9 9 9¨b°!°q¸°e¸Q¸q¸EÀ1ÀQÀ%ÈÈ1ÈÈqÐQRÈeÐ5TÑUÔUÐUà×Ò˜i˜i˜i¨!¨Q¨°°QÐ8IÐ8IÐ8IÑJÔJÐJØ×Ò˜i˜i˜i¨!¨Q¨°°Q¸1¸Q¸%ÀÀ1ÀÀqÈÀeÈQÈqÈEÐ9RÐ8SÑTÔTÐTØ×Ò˜i˜i˜i¨!¨Q¨°°Q¸¸¸À9À9À9Ð8MÑNÔNÐNØ×Ò˜i˜i˜i¨!¨Q¨°°Q¸!¸A¸ÀÀ!¸uÀaÈÀUÐ8KÑLÔLÐLØ×Ò˜i˜i˜i¨!¨Q¨°°Q¸!¸A¸ÀÀ!¸uÀaÈÀUÈAÈaÈ5ÐRSÐTUÐQVÐ8WÑXÔXÐXÐXÐXr[   c                 ó\  — |                       d¦  «        }|                      dg¦  «        }|                      dg¦  «        }|                      g ¦  «        }t          ||||¬¦  «        \  }}t          ||¦  «         t	          |j        | j        ¦  «         t	          |j        d¦  «         d S )N)rH   rK   rx  r   )r\  r[  r$   r   r
   rö   rà   )rU   rk   rV   rW   ry  rl   r}  s          rY   Útest_empty_ziz_TestLinearFilter.test_empty_ziü  s¦   € à�MŠM˜$ÑÔˆØ×Ò ˜sÑ#Ô#ˆØ×Ò ˜sÑ#Ô#ˆØ×Ò Ñ#Ô#ˆÝ˜˜1˜a BÐ'Ñ'Ô'‰ˆˆ2Ý! ! QÑ'Ô'Ð'Ý�R”X˜tœzÑ*Ô*Ð*Ý�R”W˜aÑ Ô Ð Ð Ð r[   c                 ó  — |                       dg¦  «        }|                       dg¦  «        }t          ||ddg¦  «        }t          ||ddg¦  «        }t          ||ddg¦  «        }t          ||¦  «         t          ||¦  «         d S )NrK   r\  r   TF)r[  r-   r   )rU   rV   rW   ry  Úzi_1Úzi_2s         rY   Útest_lfiltic_bad_ziz%_TestLinearFilter.test_lfiltic_bad_zi  s‘   € à×Ò ˜sÑ#Ô#ˆØ×Ò ˜sÑ#Ô#ˆå�Q˜˜B ˜7Ñ#Ô#ˆÝ�q˜!˜a ˜VÑ$Ô$ˆÝ�q˜!˜d E˜]Ñ+Ô+ˆÝ˜2˜tÑ$Ô$Ð$Ý˜2˜tÑ$Ô$Ð$Ð$Ð$r[   c                 ó€  — |                       dg¦  «        }|                       g d¢¦  «        }|                       ddg¦  «        }|                       dg¦  «        }|                       dg¦  «        }|                       ddg¦  «        }t          ||||¬¦  «        \  }}t          ||¦  «         t          ||¦  «         d S )	NrK   ru  rL   rƒ   ri  rJ  é¸ÿÿÿrx  ©r[  r$   r   ©	rU   rV   rW   ry  rk   ÚyeÚzferl   r}  s	            rY   Útest_short_x_FIRz"_TestLinearFilter.test_short_x_FIR  sÈ   € ð ×Ò ˜sÑ#Ô#ˆØ×Ò˜z˜z˜zÑ*Ô*ˆØ×Ò  A Ñ'Ô'ˆØ×Ò ˜tÑ$Ô$ˆØ×Ò  Ñ%Ô%ˆØ× Ò  ! S Ñ*Ô*ˆÝ˜˜1˜a BÐ'Ñ'Ô'‰ˆˆ2Ý! ! RÑ(Ô(Ð(Ý! " cÑ*Ô*Ð*Ð*Ð*r[   c                 ó‚  — |                       ddg¦  «        }|                       g d¢¦  «        }|                       ddg¦  «        }|                       dg¦  «        }|                       dg¦  «        }|                       ddg¦  «        }t          ||||¬	¦  «        \  }}t          ||¦  «         t          ||¦  «         d S )
NrK   ru  rL   rƒ   ri  rJ  i½ÿÿÿrà  rx  rá  râ  s	            rY   Útest_short_x_IIRz"_TestLinearFilter.test_short_x_IIR  sÊ   € ð ×Ò  1˜vÑ&Ô&ˆØ×Ò˜z˜z˜zÑ*Ô*ˆØ×Ò  A Ñ'Ô'ˆØ×Ò ˜tÑ$Ô$ˆØ×Ò  Ñ%Ô%ˆØ× Ò  # s Ñ,Ô,ˆÝ˜˜1˜a BÐ'Ñ'Ô'‰ˆˆ2Ý! ! RÑ(Ô(Ð(Ý! " cÑ*Ô*Ð*Ð*Ð*r[   c                 óŒ  — |                       d¦  «        }|                      ddg¦  «        }|                     ¦   «         }|                      ddg¦  «        }|                     ¦   «         }|                      g d¢¦  «        }t          |||¦  «        }t	          ||¦  «         t          ||¦  «         t          ||¦  «         d S ri  ©r\  r[  rø  r$   r   r
   ©rU   rk   rW   Úb0rV   Úa0ro  Úy_fs           rY   Útest_do_not_modify_a_b_IIRz,_TestLinearFilter.test_do_not_modify_a_b_IIR,  s¼   € Ø�MŠM˜$ÑÔˆØ×Ò  2˜wÑ'Ô'ˆØ�VŠV‰XŒXˆØ×Ò  T˜{Ñ+Ô+ˆØ�VŠV‰XŒXˆØ× Ò Ð!5Ð!5Ð!5Ñ6Ô6ˆÝ�a˜˜AÑÔˆÝ! # sÑ+Ô+Ð+Ý�Q˜ÑÔÐÝ�Q˜ÑÔÐÐÐr[   c                 óŠ  — |                       d¦  «        }|                      g d¢¦  «        }|                     ¦   «         }|                      dg¦  «        }|                     ¦   «         }|                      g d¢¦  «        }t          |||¦  «        }t	          ||¦  «         t          ||¦  «         t          ||¦  «         d S )Nrj  rU  rL   )r   r  rK   rL   rF   r`  ré  rê  s           rY   Útest_do_not_modify_a_b_FIRz,_TestLinearFilter.test_do_not_modify_a_b_FIR8  sº   € Ø�MŠM˜$ÑÔˆØ×Ò˜y˜y˜yÑ)Ô)ˆØ�VŠV‰XŒXˆØ×Ò ˜sÑ#Ô#ˆØ�VŠV‰XŒXˆØ× Ò Ð!6Ð!6Ð!6Ñ7Ô7ˆÝ�a˜˜AÑÔˆÝ! # sÑ+Ô+Ð+Ý�Q˜ÑÔÐÝ�Q˜ÑÔÐÐÐr[   rV   r\  rW   c                 óì   — t           j                             d¦  «        }t          t	          t          j        dg¦  «        t          j        dg¦  «        |¦  «        t	          |||¦  «        ¦  «         d S )NrM   r\  )rv   rò   rõ   r   r$   r   )rU   rV   rW   r°  s       rY   Útest_scalar_inputz#_TestLinearFilter.test_scalar_inputD  se   € õ Œy�Š˜rÑ"Ô"ˆÝÝ•B”H˜c˜U‘O”O¥R¤X¨s¨e¡_¤_°dÑ;Ô;Ý�A�q˜$ÑÔñ	!ô 	!ð 	!ð 	!ð 	!r[   c                 óü   — t          j        g d¢t          ¬¦  «        }t          j        g d¢t          ¬¦  «        }t          j        d¬¦  «        5  t          ||g d¢¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr®   r	  r¯   r  r  r^   )rv   r  r  r  r  r$   r¥   s      rY   r  z(_TestLinearFilter.test_dtype_deprecationL  sÉ   € õ ŒJÐ)Ð)Ð)µÐ8Ñ8Ô8ˆÝŒJÐ2Ð2Ð2½&ÐAÑAÔAˆÝÔ#Ð*IÐJÑJÔJð 	(ð 	(Ý�A�q˜,˜,˜,Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(s   ÁA1Á1A5Á8A5N)$r§   r¨   r©   r\  r[  rp  rs  r~  r€  r†  r�  r”  r™  r¦  r´  r·  r»  rÆ  rÈ  rÒ  rÔ  rØ  rÚ  rÞ  rå  rç  rî  rð  r  r  rx  rv   r   rò  r  r  rª   r[   rY   rX  rX  ½  s'  € € € € € ð%ð %ð %ð
5ð 
5ð 
5ð9ð 9ð 9ð9ð 9ð 9ð	,ð 	,ð 	,ð	,ð 	,ð 	,ð.ð .ð .ð.ð .ð .ð,ð ,ð ,ð,ð ,ð ,ð.ð .ð .ð0ð 0ð 0ð(.ð .ð .ð0ð 0ð 0ð(Jð Jð Jð**ð *ð *ð7ð 7ð 7ð6>ð >ð >ð^Yð ^Yð ^Yð@	!ð 	!ð 	!ð	%ð 	%ð 	%ð+ð +ð +ð+ð +ð +ð
ð 
ð 
ð
ð 
ð 
ð „[×Ò˜S 3¨¨¨x¨r¬x¸©}¬}Ð"=Ñ>Ô>Ø„[×Ò˜S 3¨¨¨x¨r¬x¸©}¬}Ð"=Ñ>Ô>ð!ð !ñ ?Ô>ñ ?Ô>ð!ð „[Ôð(ð (ñ Ôð(ð (ð (r[   rX  c                   ó.   — e Zd Z ej        d¦  «        ZdS )ÚTestLinearFilterFloat32rá   N©r§   r¨   r©   rv   rö   rª   r[   rY   rõ  rõ  U  ó   € € € € € ØˆBŒH�S‰MŒM€E€E€Er[   rõ  c                   ó.   — e Zd Z ej        d¦  «        ZdS )ÚTestLinearFilterFloat64rŽ   Nrö  rª   r[   rY   rù  rù  Y  r÷  r[   rù  r^  c                   ó.   — e Zd Z ej        d¦  «        ZdS )ÚTestLinearFilterFloatExtendedr,  Nrö  rª   r[   rY   rû  rû  ]  ó   € € € € € àˆBŒH�S‰MŒM€E€E€Er[   rû  c                   ó.   — e Zd Z ej        d¦  «        ZdS )ÚTestLinearFilterComplex64ÚFNrö  rª   r[   rY   rþ  rþ  b  r÷  r[   rþ  c                   ó.   — e Zd Z ej        d¦  «        ZdS )ÚTestLinearFilterComplex128ÚDNrö  rª   r[   rY   r  r  f  r÷  r[   r  c                   ó.   — e Zd Z ej        d¦  «        ZdS )ÚTestLinearFilterComplexExtendedÚGNrö  rª   r[   rY   r  r  j  rü  r[   r  c                   ó4   — e Zd Z ej        d¦  «        Zd„ ZdS )ÚTestLinearFilterDecimalr^  c                 ó:   — t          t          |¦  «        ¦  «        S r3  )r   Ústr©rU   rk   s     rY   re  zTestLinearFilterDecimal.types  s   € Ý•s˜1‘v”v‰ŒÐr[   N)r§   r¨   r©   rv   rö   re  rª   r[   rY   r  r  o  s2   € € € € € àˆBŒH�S‰MŒM€Eðð ð ð ð r[   r  c                   ó2   — e Zd Z ej        d¦  «        ZeZdS )ÚTestLinearFilterObjectr^  N)r§   r¨   r©   rv   rö   rn  re  rª   r[   rY   r  r  w  s"   € € € € € àˆBŒH�S‰MŒM€EØ€D€D€Dr[   r  c                  ó:  — t          t          d¦  «        r"dt          j        v rt          j        d¦  «         t          t          t          dgdgg d¢¦  «         t          t          t          dgd gg d¢¦  «         t          t          t          d gdgg d¢¦  «         d S )NÚabiflagsrŽ   z'test is flaky when run with python3-dbgr\  )r\  Nr]  ©r\  r]  r_  )ÚhasattrÚsysr  r  r†  r£   Ú	TypeErrorr$   rª   r[   rY   Útest_lfilter_bad_objectr  }  s–   € õ �s�JÑÔð ? C­3¬<Ð$7Ð$7ÝŒÐ=Ñ>Ô>Ð>Ý•)�W s e¨c¨UÐ4DÐ4DÐ4DÑEÔEÐEÝ•)�W s e¨d¨V°_°_°_ÑEÔEÐEÝ•)�W t f¨s¨e°_°_°_ÑEÔEÐEÐEÐEr[   c                  óL   — t          t          t          ddgddgg d¢¦  «         d S )NrL   rF   rG   rH   )rK   rL   rF   rG   rH   )r£   ÚNotImplementedErrorr$   rª   r[   rY   Ú!test_lfilter_notimplemented_inputr  Š  s+   € åÕ%¥w°°1°¸¸!°u¸k¸k¸kÑJÔJÐJÐJÐJr[   Údt)Úmarksc                   óP   — 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S )ÚTestCorrelateRealc                 ó  — t          j        ddd¦  «                             |¦  «        }t          j        ddd¦  «                             |¦  «        }t          j        g d¢¦  «                             |¦  «        }|||fS )Nr   rF   rG   rK   rL   )r   rL   rH   r‘   rF   )rv   rã  rø   r   ©rU   r  rV   rW   ro  s        rY   Ú_setup_rank1zTestCorrelateReal._setup_rank1–  sq   € ÝŒK˜˜1˜aÑ Ô ×'Ò'¨Ñ+Ô+ˆÝŒK˜˜1˜aÑ Ô ×'Ò'¨Ñ+Ô+ˆåŒh���Ñ'Ô'×.Ò.¨rÑ2Ô2ˆØ�!�SˆyÐr[   c                 óÈ   — d}	 t          j        |¦  «        }t          |d¦  «        r)t          dt          j        |j        ¦  «        z  ¦  «        }n# t          $ r Y nw xY w|S )NrI   Ú
resolutionrk  )rv   r…  r  r/  Úlog10r  Ú	Exception)rU   Úres_dtr¿  Údt_infos       rY   Úequal_tolerancez!TestCorrelateReal.equal_tolerance�  ss   € àˆð	Ý”h˜vÑ&Ô&ˆGÝ�w Ñ-Ô-ð AÝ˜d¥2¤8¨GÔ,>Ñ#?Ô#?Ñ?Ñ@Ô@�øøÝð 	ð 	ð 	ØˆDð	øøøàˆs   „AA Á
AÁAc                 óŠ   — |t           j        k    r|                      t           j        ¦  «        S |                      |¦  «        S r3  )rv   rd  r$  rÕ   )rU   r"  s     rY   Úequal_tolerance_fftz%TestCorrelateReal.equal_tolerance_fft¨  s;   € ð •R”]Ò"Ð"Ø×'Ò'­¬
Ñ3Ô3Ð3à×'Ò'¨Ñ/Ô/Ð/r[   c                 ó  — |t           k    r>t          t          d¦  «        gt          d¦  «        g¦  «        }t          |d¦  «         d S |                      |¦  «        \  }}}t	          ||d¬¦  «        }t	          ||d¬¦  «        }t          |||                      |j        ¦  «        ¬¦  «         t          |||                      |j        ¦  «        ¬¦  «         t          |j        |¦  «         t          |j        |¦  «         d S )NrG   rF   rs   r   rt   r¾  )	r   r    r
   Ú_setup_rank3r   r   r&  rö   r$  )rU   r  ru   rV   rW   ro  Úy_fftÚy_directs           rY   Útest_methodzTestCorrelateReal.test_method°  s  € Ø•Š=ˆ=Ý'­°©¬¨µw¸q±z´z°lÑCÔCˆFÝ˜ Ñ*Ô*Ð*Ð*Ð*à×)Ò)¨"Ñ-Ô-‰IˆAˆq�#Ý˜a ¨5Ð1Ñ1Ô1ˆEÝ   A¨hÐ7Ñ7Ô7ˆHå% cØ&+Ø.2×.FÒ.FÀuÄ{Ñ.SÔ.SðVñ Vô Vð Võ & cØ&.Ø.2×.BÒ.BÀ8Ä>Ñ.RÔ.RðUñ Uô Uð Uõ ˜œ bÑ)Ô)Ð)Ý˜œ¨Ñ,Ô,Ð,Ð,Ð,r[   c                 óB  — |                       |¦  «        \  }}}t          ||d¦  «        }t          ||dd…         ¦  «         t          |j        |¦  «         t          ||d¦  «        }t          ||dd…         d d d…         ¦  «         t          |j        |¦  «         d S )Nr–   rK   rG   r“   ©r  r   r   r
   rö   ©rU   r  rV   rW   ro  rl   s         rY   Útest_rank1_validz"TestCorrelateReal.test_rank1_validÂ  s£   € Ø×%Ò% bÑ)Ô)‰	ˆˆ1ˆcÝ�a˜˜GÑ$Ô$ˆÝ! ! S¨¨1¨¤XÑ.Ô.Ð.Ý�Q”W˜bÑ!Ô!Ð!õ �a˜˜GÑ$Ô$ˆÝ! ! S¨¨1¨¤X¨d¨d°¨d¤^Ñ4Ô4Ð4Ý�Q”W˜bÑ!Ô!Ð!Ð!Ð!r[   c                 ó´   — |                       |¦  «        \  }}}t          ||d¦  «        }t          ||d d…         ¦  «         t          |j        |¦  «         d S )Nr_   r“   r-  r.  s         rY   Útest_rank1_samez!TestCorrelateReal.test_rank1_sameÍ  s\   € Ø×%Ò% bÑ)Ô)‰	ˆˆ1ˆcÝ�a˜˜FÑ#Ô#ˆÝ! ! S¨¨"¨¤XÑ.Ô.Ð.Ý�Q”W˜bÑ!Ô!Ð!Ð!Ð!r[   c                 ó¤   — |                       |¦  «        \  }}}t          ||d¦  «        }t          ||¦  «         t          |j        |¦  «         d S )Nr•   r-  r.  s         rY   Útest_rank1_fullz!TestCorrelateReal.test_rank1_fullÓ  sT   € Ø×%Ò% bÑ)Ô)‰	ˆˆ1ˆcÝ�a˜˜FÑ#Ô#ˆÝ! ! SÑ)Ô)Ð)Ý�Q”W˜bÑ!Ô!Ð!Ð!Ð!r[   c                 óÒ  — t          j        ddd¦  «                             dd¬¦  «                             |¦  «        }t          j        ddd¦  «                             d	d¬¦  «                             |¦  «        }t	          g d
¢g d¢g d¢g d¢g d¢g d¢gg d¢g d¢g d¢g d¢g d¢g d¢gg d¢g d¢g d¢g d¢g d¢g d¢ggt           j        ¬¦  «                             |¦  «        }|||fS )Nr   rw  r5  )rL   rG   rH   rÿ  )ÚorderrQ   r3  r�   )r	  g      g@g     €@g     €Œ@ç     @•@g     À‹@g     €}@g      d@)g      G@g      {@g     ˜�@g     Àœ@g     à¤@ç     ˆš@g      ‹@g      p@)ç     À`@g      ‡@g     ø™@g      ¥@ç      ®@g     ä¢@g     @’@g      s@)g     @p@g     À�@g     0ž@g     à§@g     p°@g     (¤@g     `“@g     Àt@)g     @i@g     À„@ç     (”@g      Ÿ@g      ¥@g     Ø˜@g     @†@g     Àb@)g     €\@g     €u@g     „@g      Ž@g      ”@g     °†@g     €r@g      C@)g      7@g      y@g     ,�@ç      œ@g     ¥@g     $›@g     @Œ@g     Pr@)r8  g     ÀŒ@g     ì @g     À¬@g      ´@g     Ô©@g      ™@g      }@)g     Pt@g      ˜@g     Rª@g     ˆµ@g     (¾@g     K²@g      ¡@g     ¸€@)g     Ø�@g     °ž@g     f®@g     °·@g     (À@g     }³@g     (¢@g     ¨�@)g      {@r6  g     4¤@r9  g     �´@g     Ü§@g     €”@ç     Àl@)g      n@g     à…@g     ”@g     €�@g     €£@g     œ•@g      €@r[  )g      6@g     Àj@g     €€@g      Œ@g     Ð”@g     pŠ@g     àz@g     €`@)g     €U@g     @~@g     (‘@r;  g     P¤@g     ™@g      ˆ@g     Ài@)g     €g@g     ‰@r7  g     X¥@g     ˜­@g      ¡@g     Ð�@g     @k@)g     @s@g     p�@g     xž@g     h§@g     ¨¯@g     À¢@g     Ø�@r<  )r<  g      …@r:  g      ž@g     ¤@g     È–@g      ‚@g     €S@)g     €_@g      v@g     àƒ@g     àŒ@g     ð’@g     p„@g     @m@r	  r	  )rv   rã  rw   rø   r   rÕ   r  s        rY   r(  zTestCorrelateReal._setup_rank3Ù  so  € ÝŒK˜˜2˜rÑ"Ô"×*Ò*¨9¸CÐ*Ñ@Ô@×GÒGØñô ˆåŒK˜˜2˜rÑ"Ô"×*Ò*¨9¸CÐ*Ñ@Ô@×GÒGØñô ˆõ ÐEÐEÐEØIÐIÐIØKÐKÐKØKÐKÐKØJÐJÐJØFÐFÐFðHð JÐIÐIØKÐKÐKØLÐLÐLØLÐLÐLØLÐLÐLØIÐIÐIðKð GÐFÐFØIÐIÐIØKÐKÐKØLÐLÐLØIÐIÐIØEÐEÐEðGðHõ( œ*ð)&ñ &ô &÷( '-¢f¨R¡j¤jð) 	ð, �!�SˆyÐr[   c           	      óp  — |                       |¦  «        \  }}}t          ||d¦  «        }t          ||dd…dd…dd…f         ¦  «         t          |j        |¦  «         t          ||d¦  «        }t          ||dd…dd…dd…f         d d d…d d d…d d d…f         ¦  «         t          |j        |¦  «         d S )Nr–   rK   rL   rG   rF   rH   r“   ©r(  r   r   r
   rö   r.  s         rY   Útest_rank3_validz"TestCorrelateReal.test_rank3_valid÷  sÕ   € Ø×%Ò% bÑ)Ô)‰	ˆˆ1ˆcÝ�a˜˜GÑ$Ô$ˆÝ! ! S¨¨1¨¨a°¨c°1°Q°3¨Ô%7Ñ8Ô8Ð8Ý�Q”W˜bÑ!Ô!Ð!õ �a˜˜GÑ$Ô$ˆÝ! ! S¨¨1¨¨a°¨c°1°Q°3¨Ô%7¸¸¸"¸¸d¸dÀ¸dÀDÀDÀbÀDÐ8HÔ%IÑJÔJÐJÝ�Q”W˜bÑ!Ô!Ð!Ð!Ð!r[   c                 óÂ   — |                       |¦  «        \  }}}t          ||d¦  «        }t          ||dd…dd…dd…f         ¦  «         t          |j        |¦  «         d S )Nr_   r   r“   rK   r­  r>  r.  s         rY   Útest_rank3_samez!TestCorrelateReal.test_rank3_same  sl   € Ø×%Ò% bÑ)Ô)‰	ˆˆ1ˆcÝ�a˜˜FÑ#Ô#ˆÝ! ! S¨¨2¨¨q°¨t°Q°r°TÐ)9Ô%:Ñ;Ô;Ð;Ý�Q”W˜bÑ!Ô!Ð!Ð!Ð!r[   c                 ó¢   — |                       |¦  «        \  }}}t          ||¦  «        }t          ||¦  «         t          |j        |¦  «         d S r3  r>  r.  s         rY   Útest_rank3_allz TestCorrelateReal.test_rank3_all  sP   € Ø×%Ò% bÑ)Ô)‰	ˆˆ1ˆcÝ�a˜‰OŒOˆÝ! ! SÑ)Ô)Ð)Ý�Q”W˜bÑ!Ô!Ð!Ð!Ð!r[   N)r§   r¨   r©   r  r$  r&  r+  r/  r1  r3  r(  r?  rA  rC  rª   r[   rY   r  r  �  s¹   € € € € € ðð ð ð	ð 	ð 	ð0ð 0ð 0ð-ð -ð -ð$	"ð 	"ð 	"ð"ð "ð "ð"ð "ð "ðð ð ð<	"ð 	"ð 	"ð"ð "ð "ð"ð "ð "ð "ð "r[   r  c                   óP   — e Zd Zd„ Zd„ Zd„ Zd„ Zej        j	        d„ ¦   «         Z
dS )ÚTestCorrelatec                 ó"  — t          j        dd¦  «                             d¦  «        }t          j        dd¦  «                             d¦  «        }t          t          t
          g||f¢R i ddi¤Ž t          t          t
          g||f¢R i ddi¤Ž d S rÃ   )rv   r   rw   r£   r¤   r   r¥   s      rY   rÇ   z!TestCorrelate.test_invalid_shapes  s˜   € õ ŒI�a˜‰OŒO×#Ò# FÑ+Ô+ˆÝŒI�b˜!ÑÔ×$Ò$ VÑ,Ô,ˆå•j¥)ÐJ¨q°!¨fÐJÐJÐJ¸ÀÐ8IÐJÐJÐJÝ•j¥)ÐJ¨q°!¨fÐJÐJÐJ¸ÀÐ8IÐJÐJÐJÐJÐJr[   c                 óJ  — g d¢}g d¢}t          t          t          ||d¬¦  «         t          t          t          ||dd¬¦  «         t          t          t          ||dd	¬¦  «         t          t          t          ||d
d¬¦  «         t          t          t          ||dd¬¦  «         d S rœ   ©r£   r¤   r   r¥   s      rY   r¦   z!TestCorrelate.test_invalid_params  sŸ   € ØˆIˆIˆØˆIˆIˆÝ•j¥)¨Q°¸Ð?Ñ?Ô?Ð?Ý•j¥)¨Q°¸ÀuÐMÑMÔMÐMÝ•j¥)¨Q°¸ÀhÐOÑOÔOÐOÝ•j¥)¨Q°¸ÀwÐOÑOÔOÐOÝ•j¥)¨Q°¸ÀwÐOÑOÔOÐOÐOÐOr[   c                 óv  — t          t          t          dgdd¬¦  «         t          t          t          ddgd¬¦  «         t          t          t          dgdd¬¦  «         t          t          t          ddgd¬¦  «         t          t          t          dgdgg¦  «         t          t          t          dgd¦  «         d S r  rH  r  s    rY   r  z"TestCorrelate.test_mismatched_dims'  s¤   € å•j¥)¨a¨S°!¸HÐEÑEÔEÐEÝ•j¥)¨Q°°¸HÐEÑEÔEÐEÝ•j¥)¨a¨S°!¸EÐBÑBÔBÐBÝ•j¥)¨Q°°¸EÐBÑBÔBÐBÝ•j¥)¨a¨S°A°3°%Ñ8Ô8Ð8Ý•j¥)¨a¨S°!Ñ4Ô4Ð4Ð4Ð4r[   c                 ó4  — g d¢}ddg}t          t          ||d¬¦  «        g d¢¦  «         g d¢}g d¢}t          t          ||d¬¦  «        g d¢¦  «         t          t          ||d	¬¦  «        g d
¢¦  «         t          t          ||d¬¦  «        dg¦  «         d S )NrJ   rG   rH   r_   r`   )rH   é   rQ   r‚   )r…   rP   rQ   r•   )rI   r…   rP   rQ   rR   r–   rP   )r   r   r¥   s      rY   Útest_numpy_fastpathz!TestCorrelate.test_numpy_fastpath0  s¹   € ØˆIˆIˆØ�ˆFˆÝ�	 ! Q¨VÐ4Ñ4Ô4°k°k°kÑBÔBÐBàˆIˆIˆØˆIˆIˆÝ�	 ! Q¨VÐ4Ñ4Ô4°l°l°lÑCÔCÐCÝ�	 ! Q¨VÐ4Ñ4Ô4Ð6IÐ6IÐ6IÑJÔJÐJÝ�	 ! Q¨WÐ5Ñ5Ô5¸°tÑ<Ô<Ð<Ð<Ð<r[   c                 óö   — t          j        g d¢t          ¬¦  «        }t          j        g d¢t          ¬¦  «        }t          j        d¬¦  «        5  t          ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r  )rv   r  r  r  r  r   r¥   s      rY   r  z$TestCorrelate.test_dtype_deprecation;  sÀ   € õ ŒJÐ)Ð)Ð)µÐ8Ñ8Ô8ˆÝŒJÐ2Ð2Ð2½&ÐAÑAÔAˆÝÔ#Ð*IÐJÑJÔJð 	ð 	Ý�a˜‰OŒOˆOð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	r  N)r§   r¨   r©   rÇ   r¦   r  rL  r  r  r  r  rª   r[   rY   rE  rE    sw   € € € € € ð
Kð 
Kð 
KðPð Pð Pð5ð 5ð 5ð	=ð 	=ð 	=ð „[Ôðð ñ Ôðð ð r[   rE  ra   ©r–   r_   r•   ÚbehindTFÚ
input_size)rÈ   rj  rˆ  r‰  rÿ  i'  c                 óì  — t           j                             d¦  «        }|                     |¦  «        }t	          |dz  ¦  «        }|r-t          j        |                     |¦  «        |g¦  «        }| }n||d …         }|}t          ||| ¬¦  «        }t          |j        |j        | ¬¦  «        }	t          j	        |¦  «        }
t          |	|
         |¦  «         t          |	j        |j        ¦  «         d S )Nr   rM   r`   )rv   rò   ró   r  r/  Úconcatenater   r   rà   Úargmaxr
   rŠ  )ra   rO  rP  rü   Úin1ÚoffsetÚin2r¸   ÚcorrelationÚlagsÚ	lag_indexs              rY   Útest_correlation_lagsrZ  D  sî   € õ
 Œ)×
Ò
 Ñ
"Ô
"€CØ
×
Ò
˜jÑ
)Ô
)€CÝ�˜B‘ÑÔ€Fàð åŒn˜c×1Ò1°&Ñ9Ô9¸3Ð?Ñ@Ô@ˆØ�7ˆˆð �&�'�'ŒlˆØˆå˜C ¨4Ð0Ñ0Ô0€KÝ˜CœH c¤h°TÐ:Ñ:Ô:€Då”	˜+Ñ&Ô&€Iå��i” (Ñ+Ô+Ð+å�”˜[Ô.Ñ/Ô/Ð/Ð/Ð/r[   c                  ó’   — t          j        t          d¬¦  «        5  t          ddd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzMode asdfgh is invalidr  rÈ   Úasdfghr`   )r  r	   r¤   r   rª   r[   rY   Ú"test_correlation_lags_invalid_moder]  `  s‘   € Ý	Œ•zÐ)AÐ	BÑ	BÔ	Bð 2ð 2Ý˜˜c¨Ð1Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2ð 2ð 2s   œ<¼A ÁA c                   óD   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
S )ÚTestCorrelateComplexc                 ó’   — |t           j        k    rt           j        }t          dt          j        |¦  «        j        z  dz  ¦  «        S )NrL   rF   )rv   re  Úcdoubler/  r…  Ú	precision)rU   r  s     rY   r¿  zTestCorrelateComplex.decimalo  s9   € Ø•”ÒÐÝ”ˆBÝ�1•r”x ‘|”|Ô-Ñ-°Ñ1Ñ2Ô2Ð2r[   c                 ó
  — t           j                             d¦  «         t           j                             d¦  «                             |¦  «        }|dt           j                             d¦  «                             |¦  «        z  z  }t           j                             d¦  «                             |¦  «        }|dt           j                             d¦  «                             |¦  «        z  z  }t          |j        |j        |¬¦  «        t          |j        |j        |¬¦  «        z                        |¦  «        }|dt          |j        |j        |¬¦  «         t          |j        |j        |¬¦  «        z   z  z  }|||fS )Nr$  rM   r’   r‘   r`   )rv   rò   rð  rõ   rø   r   rå  Úimag)rU   r  ra   rV   rW   ro  s         rY   r  z!TestCorrelateComplex._setup_rank1t  s?  € Ý
Œ	�Š�qÑÔÐÝŒI�OŠO˜BÑÔ×&Ò& rÑ*Ô*ˆØ	ˆR•"”)—/’/ "Ñ%Ô%×,Ò,¨RÑ0Ô0Ñ0Ñ0ˆÝŒI�OŠO˜AÑÔ×%Ò% bÑ)Ô)ˆØ	ˆR•"”)—/’/ !Ñ$Ô$×+Ò+¨BÑ/Ô/Ñ/Ñ/ˆå˜œ ¤¨dÐ3Ñ3Ô3Ý˜œ ¤¨dÐ3Ñ3Ô3ñ4ß5;²V¸B±Z´Zð 	àˆr•i ¤¨¬°TÐ:Ñ:Ô:Ð:Ý˜qœv q¤v°DÐ9Ñ9Ô9ñ:ñ ;ñ 	;ˆà�!�SˆyÐr[   c                 óœ  — |                       |d¦  «        \  }}}t          ||d¦  «        }t          |||                      |¦  «        ¬¦  «         t	          |j        |¦  «         t          ||d¦  «        }t          ||d d d…                              ¦   «         |                      |¦  «        ¬¦  «         t	          |j        |¦  «         d S )Nr–   r¾  r“   )r  r   r   r¿  r
   rö   Úconjr.  s         rY   r/  z%TestCorrelateComplex.test_rank1_valid�  sÁ   € Ø×%Ò% b¨'Ñ2Ô2‰	ˆˆ1ˆcÝ�a˜˜GÑ$Ô$ˆÝ! ! S°$·,²,¸rÑ2BÔ2BÐCÑCÔCÐCÝ�Q”W˜bÑ!Ô!Ð!õ �a˜˜GÑ$Ô$ˆÝ! ! S¨¨¨2¨¤Y§^¢^Ñ%5Ô%5¸t¿|º|ÈBÑ?OÔ?OÐPÑPÔPÐPÝ�Q”W˜bÑ!Ô!Ð!Ð!Ð!r[   c                 óÐ   — |                       |d¦  «        \  }}}t          ||d¦  «        }t          |||                      |¦  «        ¬¦  «         t	          |j        |¦  «         d S )Nr_   r¾  ©r  r   r   r¿  r
   rö   r.  s         rY   r1  z$TestCorrelateComplex.test_rank1_sameŒ  óg   € Ø×%Ò% b¨&Ñ1Ô1‰	ˆˆ1ˆcÝ�a˜˜FÑ#Ô#ˆÝ! ! S°$·,²,¸rÑ2BÔ2BÐCÑCÔCÐCÝ�Q”W˜bÑ!Ô!Ð!Ð!Ð!r[   c                 óÐ   — |                       |d¦  «        \  }}}t          ||d¦  «        }t          |||                      |¦  «        ¬¦  «         t	          |j        |¦  «         d S )Nr•   r¾  rh  r.  s         rY   r3  z$TestCorrelateComplex.test_rank1_full’  ri  r[   c                 óª   — t          j        g d¢|¬¦  «        }t          j        g d¢|¬¦  «        }t          ||¦  «        }t          |g d¢¦  «         d S )N©r”   rg   r©  r	  ©y      ð?      @y       @      @y      @      @y      @      @)r”   ù      $@       Àù      <@      Àù      6@      Ày      0@      Ày       @      À)rv   r   r   r
   ©rU   r  rŽ   Úkrl   s        rY   Útest_swap_fullz#TestCorrelateComplex.test_swap_full˜  sb   € ÝŒHÐ-Ð-Ð-°RÐ8Ñ8Ô8ˆÝŒHÐ5Ð5Ð5¸RÐ@Ñ@Ô@ˆÝ�a˜‰OŒOˆÝ�QÐLÐLÐLÑMÔMÐMÐMÐMr[   c                 ó^   — g d¢}g d¢}t          ||d¬¦  «        }t          |g d¢¦  «         d S )Nrl  rm  r_   r`   )rn  ro  rp  )r   r
   rq  s        rY   Útest_swap_samez#TestCorrelateComplex.test_swap_samež  sI   € Ø$Ð$Ð$ˆØ,Ð,Ð,ˆÝ�a˜ Ð(Ñ(Ô(ˆÝ�QÐ3Ð3Ð3Ñ4Ô4Ð4Ð4Ð4r[   c                 ób  — t           j                             ddd¦  «                             |¦  «        }|dt           j                             ddd¦  «                             |¦  «        z  z  }t           j                             ddd¦  «                             |¦  «        }|dt           j                             ddd¦  «                             |¦  «        z  z  }t	          |j        |j        ¦  «        t	          |j        |j        ¦  «        z                        |¦  «        }|dt	          |j        |j        ¦  «         t	          |j        |j        ¦  «        z   z  z  }t	          ||d¦  «        }t          |||                      |¦  «        dz
  ¬¦  «         t          |j
        |¦  «         d S )	NrM   r‘   rI   r’   rG   r•   rK   r¾  )rv   rò   rõ   rø   r   rå  rd  r   r¿  r
   rö   r.  s         rY   Ú
test_rank3zTestCorrelateComplex.test_rank3¤  sc  € ÝŒI�OŠO˜B  1Ñ%Ô%×,Ò,¨RÑ0Ô0ˆØ	ˆR•"”)—/’/ " a¨Ñ+Ô+×2Ò2°2Ñ6Ô6Ñ6Ñ6ˆÝŒI�OŠO˜A˜q !Ñ$Ô$×+Ò+¨BÑ/Ô/ˆØ	ˆR•"”)—/’/ ! Q¨Ñ*Ô*×1Ò1°"Ñ5Ô5Ñ5Ñ5ˆå˜œ ¤Ñ(Ô(Ý˜1œ6 1¤6Ñ*Ô*ñ+ß,2ªF°2©J¬Jð 	àˆr•i ¤¨¬Ñ/Ô/Ð/µ)¸A¼FÀAÄFÑ2KÔ2KÑKÑLÑLˆå�a˜˜FÑ#Ô#ˆÝ! ! S°$·,²,¸rÑ2BÔ2BÀQÑ2FÐGÑGÔGÐGÝ�Q”W˜bÑ!Ô!Ð!Ð!Ð!r[   c           	      ó  — t          j        t           j                             ¦   «         ¦  «                             |¦  «        }|dt          j        t           j                             ¦   «         ¦  «                             |¦  «        z  z  }t          j        t           j                             ¦   «         ¦  «                             |¦  «        }|dt          j        t           j                             ¦   «         ¦  «                             |¦  «        z  z  }t          |j        |j        ¦  «        t          |j        |j        ¦  «        z                        |¦  «        }|dt          j        t          |j        |j        ¦  «         t          |j        |j        ¦  «        z   ¦  «        z  z  }t          ||d¦  «        }t          |||  	                    |¦  «        dz
  ¬¦  «         t          |j        |¦  «         t          t          dgdg¦  «        t          dd¦  «        ¦  «         t          t          dgdg¦  «        t          dd¦  «        ¦  «         t          t          dgdg¦  «        t          dd¦  «        ¦  «         d S )Nr’   r•   rK   r¾  rj   ù              @rG   )rv   r   rò   rõ   rø   r   rå  rd  r   r¿  r
   rö   r.  s         rY   Ú
test_rank0zTestCorrelateComplex.test_rank0²  s  € ÝŒH•R”Y—_’_Ñ&Ô&Ñ'Ô'×.Ò.¨rÑ2Ô2ˆØ	ˆR•"”(�2œ9Ÿ?š?Ñ,Ô,Ñ-Ô-×4Ò4°RÑ8Ô8Ñ8Ñ8ˆÝŒH•R”Y—_’_Ñ&Ô&Ñ'Ô'×.Ò.¨rÑ2Ô2ˆØ	ˆR•"”(�2œ9Ÿ?š?Ñ,Ô,Ñ-Ô-×4Ò4°RÑ8Ô8Ñ8Ñ8ˆå˜œ ¤Ñ(Ô(Ý˜1œ6 1¤6Ñ*Ô*ñ+ß,2ªF°2©J¬Jð 	àˆr•B”H�i¨¬°´Ñ7Ô7Ð7Ý& q¤v¨q¬vÑ6Ô6ñ7ñ 8ô 8ñ 8ñ 	8ˆõ �a˜˜FÑ#Ô#ˆÝ! ! S°$·,²,¸rÑ2BÔ2BÀQÑ2FÐGÑGÔGÐGÝ�Q”W˜bÑ!Ô!Ð!å•Y ˜s R DÑ)Ô)­9°Q¸Ñ+;Ô+;Ñ<Ô<Ð<Ý•Y ˜t b TÑ*Ô*­I°b¸"Ñ,=Ô,=Ñ>Ô>Ð>Ý•Y ˜t a SÑ)Ô)­9°R¸Ñ+;Ô+;Ñ<Ô<Ð<Ð<Ð<r[   N)r§   r¨   r©   r¿  r  r/  r1  r3  rs  ru  rw  rz  rª   r[   rY   r_  r_  e  sž   € € € € € ð3ð 3ð 3ð
ð ð ð	"ð 	"ð 	"ð"ð "ð "ð"ð "ð "ðNð Nð Nð5ð 5ð 5ð"ð "ð "ð=ð =ð =ð =ð =r[   r_  c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestCorrelate2dc           
      ó”  — t          j        d¦  «        }t          j        g d¢¦  «        }dD �]}t          t          j        |||¬¦  «        t          j        |||¬¦  «        ¦  «         t          t          j        t          j        |g|g|¬¦  «        ¦  «        t          j        |||¬¦  «        ¦  «         |dk    rˆt          t          j        |||¬¦  «        t          j        |||¬¦  «        ¦  «         t          t          j        t          j        |g|g|¬¦  «        ¦  «        t          j        |||¬¦  «        ¦  «         �Œd S )NrH   r€  r�  r`   r–   )rv   r   r   r   r   r   r‚  r   rƒ  s       rY   Ú test_consistency_correlate_funcsz0TestCorrelate2d.test_consistency_correlate_funcsÈ  s}  € åŒI�a‰LŒLˆÝŒH�]�]�]Ñ#Ô#ˆØ-ð 	Gñ 	GˆDÝ¥¤¨Q°¸Ð =Ñ =Ô =Ý &Ô 0°°A¸DÐ AÑ AÔ AñCô Cð Cå¥¤
­6Ô+=¸q¸cÀAÀ3ØCGð,Iñ ,Iô ,Iñ !Jô !Jå &Ô 0°°A¸DÐ AÑ AÔ AñCô Cð Cð
 �wŠˆÝ#¥B¤L°°A¸DÐ$AÑ$AÔ$AÝ$*Ô$4°Q¸ÀÐ$EÑ$EÔ$EñGô Gð Gå#¥B¤J­vÔ/AÀ1À#ÈÀsØGKð0Mñ 0Mô 0Mñ %Nô %Nå$*Ô$4°Q¸ÀÐ$EÑ$EÔ$EñGô Gð Gùð	Gð 	Gr[   c                 ó6  — t          j        dd¦  «                             d¦  «        }t          j        dd¦  «                             d¦  «        }t          t          t
          j        g||f¢R i ddi¤Ž t          t          t
          j        g||f¢R i ddi¤Ž d S rÃ   )rv   r   rw   r£   r¤   r   r   r¥   s      rY   rÇ   z#TestCorrelate2d.test_invalid_shapesÛ  sž   € õ ŒI�a˜‰OŒO×#Ò# FÑ+Ô+ˆÝŒI�b˜!ÑÔ×$Ò$ VÑ,Ô,ˆå•j¥&Ô"4ÐS¸¸1°vÐSÐSÐSÀ&È'ÐARÐSÐSÐSÝ•j¥&Ô"4ÐS¸¸1°vÐSÐSÐSÀ&È'ÐARÐSÐSÐSÐSÐSr[   c                 óð   — t          t          j        dggdgg¦  «        d¦  «         t          t          j        dggdgg¦  «        d¦  «         t          t          j        dggdgg¦  «        d¦  «         d S )NrK   rj   ù       €       Àry  rI   rG   y              (@)r
   r   r   r  s    rY   Útest_complex_inputz"TestCorrelate2d.test_complex_inputç  sw   € Ý•VÔ'¨!¨¨°°¨vÑ6Ô6¸Ñ<Ô<Ð<Ý•VÔ'¨"¨¨°"°°Ñ7Ô7¸Ñ;Ô;Ð;Ý•VÔ'¨"¨¨°!°°Ñ6Ô6¸Ñ<Ô<Ð<Ð<Ð<r[   N)r§   r¨   r©   r~  rÇ   r‚  rª   r[   rY   r|  r|  Æ  sG   € € € € € ðGð Gð Gð&
Tð 
Tð 
Tð=ð =ð =ð =ð =r[   r|  c                   óz   — e Zd Zd„ Zd„ Zej                             dej	        ej
        g¦  «        d„ ¦   «         ZdS )ÚTestLFilterZIc                 óÊ   — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          j        ddg¦  «        }t          ||¦  «        }t          ||¦  «         d S )N)r\  r^  r  )r\  r	  r]  r‹  r^  )rv   r   r%   r   )rU   rV   rW   Úzi_expectedry  s        rY   rZ   zTestLFilterZI.test_basicï  sc   € ÝŒHÐ%Ð%Ð%Ñ&Ô&ˆÝŒH�_�_�_Ñ%Ô%ˆÝ”h  T˜{Ñ+Ô+ˆÝ˜˜1ÑÔˆÝ! " kÑ2Ô2Ð2Ð2Ð2r[   c                 óÎ   — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          ||¦  «        }t          d|z  d|z  ¦  «        }t          ||d¬¦  «         d S )N)rL   r‘   rH   )rK   rK   r‘   rL   r  rï  )rv   r   r%   r   )rU   rW   rV   r«  Úzi2s        rY   Útest_scale_invariancez#TestLFilterZI.test_scale_invarianceö  sk   € õ ŒH�Y�Y�YÑÔˆÝŒH�Y�Y�YÑÔˆÝ˜˜AÑÔˆÝ˜˜1™˜a ™cÑ"Ô"ˆÝ˜˜S uÐ-Ñ-Ô-Ð-Ð-Ð-r[   rö   c                 óÔ   — t          j        d|¬¦  «        }t          j        dg|¬¦  «        }t          t          j        t          j        ||¦  «        ¦  «        j        |¦  «         d S )Nr‘   r	  rK   )rv   rŽ  r   r
   rå  r   r%   rö   )rU   rö   rW   rV   s       rY   r�  zTestLFilterZI.test_typesÿ  s\   € åŒH�a Ð&Ñ&Ô&ˆÝŒH�a�S Ð&Ñ&Ô&ˆÝ•R”W�VÔ.¨q°!Ñ4Ô4Ñ5Ô5Ô;¸UÑCÔCÐCÐCÐCr[   N)r§   r¨   r©   rZ   r‰  r  r  rx  rv   rÔ   rÕ   r�  rª   r[   rY   r„  r„  í  so   € € € € € ð3ð 3ð 3ð.ð .ð .ð „[×Ò˜W r¤z°2´:Ð&>Ñ?Ô?ðDð Dñ @Ô?ðDð Dð Dr[   r„  c                   óB   — e Zd ZdZ	 	 dd„Zd„ Zd„ Zd	„ Zd
„ Zd„ Z	d„ Z
dS )ÚTestFiltFiltÚtfr“   ÚoddNrt  c           
      ó®   — | j         dk    r"t          |Ž \  }}	t          ||	||||||¦  «        S | j         dk    rt          |Ž }
t	          |
||||¦  «        S d S )Nr�  Úsos)Úfiltfilt_kindr(   r&   r)   r0   )rU   Úzpkrk   r×  rÔ  Úpadlenru   ÚirlenrW   rV   r�  s              rY   r&   zTestFiltFilt.filtfilt		  sn   € àÔ Ò%Ð%Ý˜3�<‰DˆAˆqÝ˜A˜q ! T¨7°F¸FÀEÑJÔJÐJØÔ 5Ò(Ð(Ý˜3�-ˆCÝ˜s A t¨W°fÑ=Ô=Ð=ð )Ð(r[   c                 ó¼   — t          g d¢g d¢¦  «        }|                      |t          j        d¦  «        ¦  «        }t	          |t          d¦  «        d¬¦  «         d S )NrJ   rR   g6Â‹{ðÍ=r  )r2   r&   rv   r   r   )rU   r’  r¹   s      rY   rZ   zTestFiltFilt.test_basic	  sU   € Ý�Y�Y�Y 	 	 	Ñ*Ô*ˆØ�mŠm˜C¥¤¨2¡¤Ñ/Ô/ˆÝ˜�V B™ZœZ¨hÐ7Ñ7Ô7Ð7Ð7Ð7r[   c                 ó  — d}t          j        dd|dz   ¦  «        }t          j        dt           j        z  |z  ¦  «        }t          j        dt           j        z  |z  ¦  «        }||z   }t	          ddd	¬
¦  «        }t          j        |d         ¦  «                             ¦   «         }d}t          t          j        t          j	        |¦  «        t          j	        |¦  «        z  ¦  «        ¦  «        }	|  
                    |||	¬¦  «        }
t          j        |
|z
  ¦  «                             ¦   «         }t          |dk     ¦  «         t          j        |||z   g¦  «        }|  
                    |||	d¬¦  «        }t          |j        |j        ¦  «         t          j        ||z
  ¦  «                             ¦   «         }t          |dk     ¦  «         |  
                    ||j        |	d¬¦  «        }t          ||j        ¦  «         d S )NiÐ  r   r\  rK   rM   iô  r‘   ç      À?r’  r¾  rð   )r“  rë   ©r“  r×  )rv   rã  ræ  r  r'   r  r  r/  ÚceilÚlogr&   r   Úvstackr
   rŠ  rN  )rU   r  rê   ÚxlowÚxhighrk   r’  ÚrÚepsrú   rl   ÚerrÚx2dÚy2dÚy2dts                  rY   Ú	test_sinezTestFiltFilt.test_sine	  s¶  € ØˆÝŒK˜˜3  q¡Ñ)Ô)ˆåŒv�e�bœe‘m aÑ'Ñ(Ô(ˆÝ”�w¥¤‘¨Ñ*Ñ+Ô+ˆØ�5‰Lˆå�Q˜ eÐ,Ñ,Ô,ˆåŒF�3�q”6‰NŒN×ÒÑ Ô ˆØˆõ •”�œ˜s™œ¥b¤f¨Q¡i¤iÑ/Ñ0Ô0Ñ1Ô1ˆð �MŠM˜#˜q¨ˆMÑ+Ô+ˆåŒf�Q˜‘XÑÔ×"Ò"Ñ$Ô$ˆÝ��d’
ÑÔÐõ Œi˜˜t e™|Ð,Ñ-Ô-ˆØ�mŠm˜C ¨Q°QˆmÑ7Ô7ˆÝ�S”Y ¤	Ñ*Ô*Ð*ÝŒf�S˜4‘ZÑ Ô ×$Ò$Ñ&Ô&ˆÝ��d’
ÑÔÐð �}Š}˜S #¤%°¸ˆ}Ñ:Ô:ˆÝ�S˜$œ&Ñ!Ô!Ð!Ð!Ð!r[   c                 óò  — t          j        d¦  «                             ddd¦  «        }t          ddd¬¦  «        }|                      ||d	d	¬
¦  «        }|                      |t          j        |d	d¦  «        d	d¬
¦  «        }t          |t          j        |d	d¦  «        ¦  «         |                      |t          j        |d	d¦  «        d	d¬
¦  «        }t          |t          j        |d	d¦  «        ¦  «         d S )Ng      ”@rM   rú  rR   rF   r—  r’  r¾  r   r˜  rK   rL   )rv   r   rw   r'   r&   rü  r   )rU   rk   r’  Úy0Úy1rK  s         rY   Ú	test_axiszTestFiltFilt.test_axis9	  sá   € åŒIÐ(Ñ)Ô)×1Ò1°"°b¸"Ñ=Ô=ˆÝ�Q˜ eÐ,Ñ,Ô,ˆØ�]Š]˜3 ¨!°!ˆ]Ñ4Ô4ˆØ�]Š]˜3¥¤¨A¨q°!Ñ 4Ô 4¸QÀQˆ]ÑGÔGˆÝ˜2�rœ{¨2¨q°!Ñ4Ô4Ñ5Ô5Ð5Ø�]Š]˜3¥¤¨A¨q°!Ñ 4Ô 4¸QÀQˆ]ÑGÔGˆÝ˜2�rœ{¨2¨q°!Ñ4Ô4Ñ5Ô5Ð5Ð5Ð5r[   c                 ó¾   — | j         dk    rd S t          j        ddgdt          j        d¦  «        ¦  «        }t          |t          j        d¦  «        dd¬¦  «         d S )Nr�  r  rK   rM   ç›+¡†›„=rì   )r‘  r   r&   rv   r   r   )rU   r¹   s     rY   Útest_acoeffzTestFiltFilt.test_acoeffC	  sY   € ØÔ Ò%Ð%ØˆFåŒo˜r 2˜h¨­2¬9°R©=¬=Ñ9Ô9ˆÝ˜�RœY r™]œ]°¸UÐCÑCÔCÐCÐCÐCr[   c                 óP  — | j         dk    rt          j        d¦  «         t          j        ddg¦  «        }t          j        dg¦  «        }t          j        ddg¦  «        }t          |||¦  «        \  }}}t          |d         |d         gd|d         z  d	|d
         z  z   d	|d         z  d|d
         z  z   g¦  «         t          ||d         d|d         z  z   d|d         z  z   d|d
         z  z   d|d         z  |d         z   d|d         z  z   d|d
         z  z   g¦  «         d S )Nr�  ú$gust only implemented for TF systemsr\  r]  r  rk  r   r
  r  rK   ç      Ð?r—  )r‘  r  r†  rv   r   r9   r   )rU   rk   rW   rV   rl   Úz1Úz2s          rY   Útest_gust_simplezTestFiltFilt.test_gust_simpleJ	  sH  € ØÔ Ò%Ð%ÝŒKÐ>Ñ?Ô?Ð?õ ŒH�c˜3�ZÑ Ô ˆÝŒH�c�U‰OŒOˆÝŒH�c˜4�[Ñ!Ô!ˆÝ" 1 a¨Ñ+Ô+‰	ˆˆ2ˆrÝ˜˜Aœ  1¤˜Ø˜Q˜qœT™ C¨¨!¬¡HÑ,¨c°!°A´$©h¸¸Q¸q¼T¹Ñ.AÐBñ	Dô 	Dð 	Då˜˜B˜qœE D¨¨A¬¡JÑ.°°a¸´d±Ñ:¸UÀ1ÀQÄ4¹ZÑGØ   A¤™J¨¨A¬Ñ.°°q¸´t±Ñ;¸dÀ1ÀQÄ4¹iÑGðIñ 	Jô 	Jð 	Jð 	Jð 	Jr[   c                 óÐ   — | j         dk    rt          j        d¦  «         t          j        d¦  «        }d}d}t          |||d¬¦  «        }||z  dz  |z  }t          ||¦  «         d S )	Nr�  r­  rR   r_  r]  Úgustrt   rL   )r‘  r  r†  rv   r   r&   r   )rU   rk   rW   rV   rl   r¸   s         rY   Útest_gust_scalarszTestFiltFilt.test_gust_scalarsX	  sw   € ØÔ Ò%Ð%ÝŒKÐ>Ñ?Ô?Ð?õ ŒI�b‰MŒMˆØˆØˆÝ�Q˜˜1 VÐ,Ñ,Ô,ˆØ�a‘C˜!‘8˜a‘<ˆÝ˜˜8Ñ$Ô$Ð$Ð$Ð$r[   )r“   rŽ  Nrt  N)r§   r¨   r©   r‘  r&   rZ   r¤  r¨  r«  r±  r´  rª   r[   rY   rŒ  rŒ  	  s”   € € € € € Ø€Mà>BØ%)ð>ð >ð >ð >ð8ð 8ð 8ð
 "ð  "ð  "ðD6ð 6ð 6ðDð Dð DðJð Jð Jð%ð %ð %ð %ð %r[   rŒ  c                   ó   — e Zd ZdZd„ ZdS )ÚTestSOSFiltFiltr�  c                 óV  — t           j                             d¦  «                             d¦  «        }t	          dd¦  «        D ]e}t          j        |dd¬¦  «        }t          |Ž \  }}t          |Ž }t          |||¦  «        }t          ||¦  «        }t          ||dd	|› �¬
¦  «         ŒfdS )z1Test equivalence between sosfiltfilt and filtfiltr   rˆ  rK   rI   çffffffÖ?r’  r¾  r  zorder=)rî   Úerr_msgN)rv   rò   ró   rõ   rx   r   r'   r(   r)   r&   r0   r   )	rU   rk   r5  r’  rW   rV   r�  rl   Úy_soss	            rY   Útest_equivalencez TestSOSFiltFilt.test_equivalencei	  s¹   € åŒI×!Ò! !Ñ$Ô$×*Ò*¨4Ñ0Ô0ˆÝ˜1˜a‘[”[ð 	Lð 	LˆEÝ”-  t°EÐ:Ñ:Ô:ˆCÝ˜3�<‰DˆAˆqÝ˜3�-ˆCÝ˜˜A˜qÑ!Ô!ˆAÝ  QÑ'Ô'ˆEÝ˜A˜u¨5Ð:JÀ5Ð:JÐ:JÐKÑKÔKÐKÐKð	Lð 	Lr[   N)r§   r¨   r©   r‘  r»  rª   r[   rY   r¶  r¶  f	  s-   € € € € € Ø€Mð	Lð 	Lð 	Lð 	Lð 	Lr[   r¶  c                 óT  — d„ }t          t          |¦  «        t          | ¦  «        ¦  «        dz
  }t          | |¦  «        }t          j        |d|…                              ¦   «         |z  || d…                              ¦   «         |z  f¦  «        }t          ||| ||fdddddd¬	¦	  «	        }|\  }}	}
}}|d
k    rt          d|z  ¦  «        ‚|d|…         }||d…         }t          | ||ddd…         |¬¦  «        d
         ddd…         }t          | |||¬¦  «        d
         }|||fS )aQ  
    An alternative implementation of filtfilt with Gustafsson edges.

    This function computes the same result as
    `scipy.signal._signaltools._filtfilt_gust`, but only 1-d arrays
    are accepted.  The problem is solved using `fmin` from `scipy.optimize`.
    `_filtfilt_gust` is significantly faster than this implementation.
    c                 óÌ  — t          t          |¦  «        t          |¦  «        ¦  «        dz
  }| d|…         }| |d…         }t          ||||¬¦  «        d         }t          |||ddd…         |¬¦  «        d         ddd…         }t          |||ddd…         |¬¦  «        d         ddd…         }	t          |||	|¬¦  «        d         }
t          j        ||
z
  dz  ¦  «        }|S )z-Objective function used in filtfilt_gust_opt.rK   Nrx  r   r“   rL   )r  rG  r$   rv   Úsum)ÚicsrW   rV   rk   ÚmÚz0fÚz0brí  Úy_fbÚy_bÚy_bfÚvalues               rY   Úfiltfilt_gust_opt_funcz1filtfilt_gust_opt.<locals>.filtfilt_gust_opt_func~	  sï   € å•�A‘”�˜A™œÑÔ !Ñ#ˆØ�"�1�"ŒgˆØ�!�"�"ŒgˆÝ�a˜˜A #Ð&Ñ&Ô& qÔ)ˆÝ�q˜!˜S   2 œY¨3Ð/Ñ/Ô/°Ô2°4°4°R°4Ô8ˆå�a˜˜A˜d˜d ˜dœG¨Ð,Ñ,Ô,¨QÔ/°°°"°Ô5ˆÝ�q˜!˜S SÐ)Ñ)Ô)¨!Ô,ˆÝ”˜˜t™ aÑ'Ñ(Ô(ˆØˆr[   rK   Nrî  r  rÿ  TF)rû   ÚxtolÚftolÚmaxfunÚmaxiterÚfull_outputÚdispr   z5minimization failed in filtfilt_gust_opt: warnflag=%dr“   rx  )	r  rG  r%   rv   rR  rÃ  r   r  r$   )rW   rV   rk   rÇ  rÀ  ry  r¿  rg  ÚoptÚfoptÚniterÚfuncallsÚwarnflagrÁ  rÂ  rÄ  rl   s                    rY   Úfiltfilt_gust_optrÓ  u	  s^  € ðð ð õ 	�C�‰FŒF•C˜‘F”FÑÔ˜aÑ€AÝ	�A�qÑ	Ô	€BÝ
Œ.˜!˜B˜Q˜Bœ%Ÿ*š*™,œ, r™/¨1¨a¨R¨S¨S¬6¯;ª;©=¬=¸Ñ+;Ð<Ñ
=Ô
=€CÝÐ(¨#°Q¸¸1°IØ 5Ø¨Ø"¨ð0ñ 0ô 0€Fð ,2Ñ(€Cˆˆu�h Ø�!‚|€|Ýð )Ø+3ñ4ñ 5ô 5ð 	5à
ˆbˆqˆbŒ'€CØ
ˆaˆbˆbŒ'€Cõ �!�Q˜˜$˜$˜B˜$œ CÐ
(Ñ
(Ô
(¨Ô
+¨D¨D¨b¨DÔ
1€CÝ��1�c˜cÐ"Ñ"Ô" 1Ô%€Aàˆc�3ˆ;Ðr[   c                 ó€  — t           j                             d¦  «         t          j        j        |Ž }t	          | |||d|¬¦  «        }t          | ||||¬¦  «        \  }}}	t          j        ||d¦  «        }
|
j        d d…         }t          j        |
¦  «        }t          t          |¦  «        t          | ¦  «        ¦  «        dz
  }t          j        ||fz   ¦  «        }t          j        ||fz   ¦  «        }t          d„ |D ¦   «         Ž D ]&}t          | ||
|         ¦  «        \  ||<   ||<   ||<   Œ't          j        |d|¦  «        }t          j        |d|¦  «        }t          j        |d|¦  «        }t          ||dd	¬
¦  «         t          ||dd	¬
¦  «         t          ||dd	¬
¦  «         t          |	|dd	¬
¦  «         d S )Nrø  r³  )r×  ru   r”  )r×  r”  r“   rK   c                 ó,   — g | ]}t          |¦  «        ‘ŒS rª   )rx   )rÙ   rŽ   s     rY   rÝ   z'check_filtfilt_gust.<locals>.<listcomp>µ	  s   € Ð6Ð6Ð6 q�% ™(œ(Ð6Ð6Ð6r[   rñ   râ  rì   )rv   rò   rð  rõ   r&   r9   rü  rŠ  Ú
empty_liker  rG  rc  r   rÓ  r   )rW   rV   rŠ  r×  r”  rk   rl   ÚygÚzg1Úzg2ÚxxÚ	out_shaperÒ  rÀ  Úzo1Úzo2Úindxs                    rY   Úcheck_filtfilt_gustrß  ¡	  sÉ  € å„I‡N‚N�3ÑÔÐÝ
Œ	Œ˜Ð€Aõ 	��A�q˜t¨F¸%Ð@Ñ@Ô@€Aõ " ! Q¨°¸EÐBÑBÔB�L€BˆˆSõ
 
Œ�Q˜˜bÑ	!Ô	!€BØ”˜˜"˜”€IÝ	Œ�rÑ	Ô	€BÝ�C�‰FŒF•C˜‘F”FÑÔ˜aÑ€AÝ
Œ(�9 ˜tÑ#Ñ
$Ô
$€CÝ
Œ(�9 ˜tÑ#Ñ
$Ô
$€CÝÐ6Ð6¨IÐ6Ñ6Ô6Ð7ð Kð KˆÝ):¸1¸aÀÀDÄÑ)JÔ)JÑ&ˆˆ4‰�#�d‘)˜S ™Y˜YÝ	Œ�R˜˜TÑ	"Ô	"€BÝ
Œ+�c˜2˜tÑ
$Ô
$€CÝ
Œ+�c˜2˜tÑ
$Ô
$€Cå�A�r ¨4Ð0Ñ0Ô0Ð0Ý�B˜ ¨DÐ1Ñ1Ô1Ð1Ý�C˜ 4¨dÐ3Ñ3Ô3Ð3Ý�C˜ 4¨dÐ3Ñ3Ô3Ð3Ð3Ð3r[   rM   c                  óx  — dD �]5} dD ]Ú}d\  }}}t          j        j        |f|z  Ž }t          j        j        |f|z  Ž }t          ||| ¬¦  «        }t	          ||¦  «         t          ||| d¬¦  «        \  }}	t          |dv ¦  «         t          t          |	t          ¦  «        ¦  «         t          d|	                     ¦   «         v od	|	                     ¦   «         v ¦  «         ŒÛt          j	        d
gt           j
        ¬¦  «        }|                     ¦   «         }t	          t          ||| ¬¦  «        d	¦  «         �Œ7d S )NrN  )rK   rL   )r‘   rI   rs   r`   T)ra   Úmeasure>   r   rs   r   rs   l         @ r	  )rv   rò   rõ   r    r
   r   Ú
isinstanceÚdictÚkeysr   rÎ   rø  )
ra   r£  rú   rr  Útrue_methodrk   r+  ru   Ú
method_tryÚtimess
             rY   Útest_choose_conv_methodrè  Á	  sG  € à)ð Dñ DˆØð 	Hð 	HˆDØ .ÑˆAˆq�+Ý”	” 1 $¨¡+Ð/ˆAÝ”	” 1 $¨¡+Ð/ˆAå'¨¨1°4Ð8Ñ8Ô8ˆFÝ˜ Ñ-Ô-Ð-å 2°1°a¸dÈDÐ QÑ QÔ QÑˆJ˜Ý�JÐ"3Ð3Ñ4Ô4Ð4Ý•J˜u¥dÑ+Ô+Ñ,Ô,Ð,Ý�E˜UŸZšZ™\œ\Ð)ÐF¨h¸%¿*º*¹,¼,Ð.FÑGÔGÐGÐGåŒH�e�W¥B¤HÐ-Ñ-Ô-ˆØ�FŠF‰HŒHˆÝÕ'¨¨1°4Ð8Ñ8Ô8¸(ÑCÔCÐCÑCð!Dð Dr[   c                  óö   — t          j        g d¢t          ¬¦  «        } t          j        g d¢t          ¬¦  «        }t          j        d¬¦  «        5  t          | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r  )rv   r  r  r  r  r    )rV   rW   s     rY   Ú"test_choose_conv_dtype_deprecationrê  Ö	  sÃ   € õ 	Œ
Ð%Ð%Ð%­VÐ4Ñ4Ô4€AÝ
Œ
Ð.Ð.Ð.µfÐ=Ñ=Ô=€AÝ	Ô	Ð&EÐ	FÑ	FÔ	Fð !ð !Ý˜1˜aÑ Ô Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ð !ð !r  c            	      ó”  — dD ]Ä} t          d¦  «        t          d¦  «        g}t          d¦  «        t          d¦  «        g}t          t          ||| ¬¦  «        d¦  «         d}d	D ]a}t          t          |¦  «        rJt	          j        ||¬
¦  «        }|                     ¦   «         }t          t          ||| ¬¦  «        d¦  «         ŒbŒÅd S )NrN  rF   rL   rK   rG   r`   rs   rM   )Ú
complex256Ú
complex192r	  )r   r
   r    r  rv   rd  rø  )ra   rk   r+  rú   Únot_fft_conv_supps        rY   Útest_choose_conv_method_2rï  ß	  sß   € à)ð 
Lð 
LˆÝ�Q‰ZŒZ� ™œÐ$ˆÝ�Q‰ZŒZ� ™œÐ$ˆÝÕ'¨¨1°4Ð8Ñ8Ô8¸(ÑCÔCÐCàˆØ!=ð 	Lð 	LÐÝ•rÐ,Ñ-Ô-ð LÝ”G˜AÐ%6Ð7Ñ7Ô7�Ø—F’F‘H”H�ÝÕ/°°1¸4Ð@Ñ@Ô@À(ÑKÔKÐKøð		Lð
Lð 
Lr[   c            	      óZ  — t          j        ddddd¬¦  «        \  } }}d}t          j        t          j        |¦  «        ¦  «        }t          t          j        t          j        |¦  «        t          j        |¦  «        z  ¦  «        ¦  «        }t          j         	                    d¦  «         t          | ||¦  «        \  }}d |fD ]I}d	|z  }	t          |||	fd
|¦  «         t          d¦  «        D ]}
g d¢}|	||
<   t          ||||
|¦  «         ŒŒJd|z  dz
  }t          |||fd
|¦  «         d S )NrF   ç{®Gáz„?éx   gffffff¶?r’  r¾  rî  rø  rH   r   )rL   rL   rL   rL   r  )r   Úelliprv   r  r  r/  r™  rš  rò   rð  r(   rß  rx   )rm   Úprr  rŸ  rž  Úapprox_impulse_lenrW   rV   r”  Ú
signal_lenr×  rŠ  Úlengths                rY   Útest_filtfilt_gustrø  î	  sH  € õ Œl˜1˜d C¨¸Ð>Ñ>Ô>�G€A€qˆ!ð €CÝ
Œ�rŒv�a‰yŒyÑÔ€AÝ�RœW¥R¤V¨C¡[¤[µ2´6¸!±9´9Ñ%<Ñ=Ô=Ñ>Ô>Ðå„I‡N‚N�3ÑÔÐå�!�Q˜‰?Œ?�D€A€qØÐ*Ð+ð 
:ð 
:ˆØÐ+Ñ+ˆ
õ 	˜A˜q : -°°EÑ:Ô:Ð:õ ˜!‘H”Hð 	:ð 	:ˆDØ�I�IˆEØ$ˆE�$‰KÝ  1 e¨T°5Ñ9Ô9Ð9Ð9ð	:ð Ð!Ñ! BÑ&€FÝ˜˜1˜v˜i¨Ð,>Ñ?Ô?Ð?Ð?Ð?r[   c                   ób   — 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S )ÚTestDecimatec                 óº   — t          j        d¦  «        }t          t          t          j        |dd¬¦  «         t          t          t          j        |dd¬¦  «         d S )NrR   r  rK   )Úqrú   rL   )rv   r   r£   r  r   Údecimater
  s     rY   Útest_bad_argszTestDecimate.test_bad_args
  sK   € ÝŒI�b‰MŒMˆÝ•i¥¤°!°s¸aÐ@Ñ@Ô@Ð@Ý•i¥¤°!°q¸CÐ@Ñ@Ô@Ð@Ð@Ð@r[   c                 ó¶   — t          j        d¦  «        }t          j        |dddd¬¦  «                             ¦   «         }t          ||d d d…         ¦  «         d S )NrR   rL   rK   ÚiirF©rú   ÚftypeÚ
zero_phase©rv   r   r   rý  Úroundr   ©rU   rk   rl   s      rY   Útest_basic_IIRzTestDecimate.test_basic_IIR
  óU   € ÝŒI�b‰MŒMˆÝŒO˜A˜q A¨U¸uÐEÑEÔE×KÒKÑMÔMˆÝ˜1˜a   ! œfÑ%Ô%Ð%Ð%Ð%r[   c                 ó¶   — t          j        d¦  «        }t          j        |dddd¬¦  «                             ¦   «         }t          ||d d d…         ¦  «         d S )NrR   rL   rK   ÚfirFr  r  r  s      rY   Útest_basic_FIRzTestDecimate.test_basic_FIR
  r  r[   c                 óâ   — t          j        d¦  «        }t          j        |ddd¬¦  «        }t	          |j        d¦  «         t          j        |ddd¬¦  «        }t	          |j        d¦  «         d S )	N)r†   r†   rL   r   F)r×  r  )rl  r†   rK   )r†   rl  )rv   rŽ  r   rý  r
   rŠ  )rU   rm   Úd0Úd1s       rY   Ú
test_shapezTestDecimate.test_shape
  sk   € åŒH�XÑÔˆÝŒ_˜Q ¨°eÐ<Ñ<Ô<ˆÝ�R”X˜xÑ(Ô(Ð(ÝŒ_˜Q ¨°eÐ<Ñ<Ô<ˆÝ�R”X˜xÑ(Ô(Ð(Ð(Ð(r[   c                 ó¸   — t          ¦   «         5 }|                     t          d¦  «         |                      dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NúBadly conditioned filterr
  F©ru   r  ©r   rA  r3   Ú_test_phaseshift©rU   rC  s     rY   Útest_phaseshift_FIRz TestDecimate.test_phaseshift_FIR&
  s°   € ÝÑ Ô ð 	B CØ�JŠJ•Ð(BÑCÔCÐCØ×!Ò!¨¸5Ð!ÑAÔAÐAð	Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bó   �3AÁAÁAc                 ó¸   — t          ¦   «         5 }|                     t          d¦  «         |                      dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr  r
  Tr  r  r  s     rY   Útest_zero_phase_FIRz TestDecimate.test_zero_phase_FIR+
  s°   € ÝÑ Ô ð 	A CØ�JŠJ•Ð(BÑCÔCÐCØ×!Ò!¨¸4Ð!Ñ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Að 	Að 	Ar  c                 ó4   — |                       dd¬¦  «         d S )Nr   Fr  ©r  r  s    rY   Útest_phaseshift_IIRz TestDecimate.test_phaseshift_IIR0
  s!   € Ø×Ò U°uÐÑ=Ô=Ð=Ð=Ð=r[   c                 ó4   — |                       dd¬¦  «         d S )Nr   Tr  r  r  s    rY   Útest_zero_phase_IIRz TestDecimate.test_zero_phase_IIR3
  s!   € Ø×Ò U°tÐÑ<Ô<Ð<Ð<Ð<r[   c           	      ó°  — d}g d¢}d}t          j        ||z  dz   ¦  «        t          |¦  «        z  }t          j        |¦  «        dz  dz  }t          j        dt           j        z  |d d …t           j        f         z  |z  ¦  «        t          j         	                    |j
        d¦  «        z  }|D �]$}	||	z  }
t          j        |	|z  dz   ¦  «        t          |	¦  «        z  }t          j        dt           j        z  |d d …t           j        f         z  |z  ¦  «        t          j         	                    |j
        d¦  «        z  }|d	k    r3d
}t          j        t          j        |dz   d|
z  d¬¦  «        d¦  «        }nI|dk    rCd}dt           j        z  |
z  }t          j        t          j        |d|t           j        z  ¦  «        Ž }|du rNt          j        |j        |j        ||z  dz  t           j        z  ¦  «        \  }}|t          j        |¦  «        z  }nt          j        |¦  «        }t          j        |j        |
|||¬¦  «        }t          j        |                     ¦   «         |z  d¬¦  «        }|t          j        |¦  «        z  }|d|	z  k     }t/          t          j        |                     ¦   «         |z  ¦  «        |         ddd¬¦  «         �Œ&d S )Nrò  )rl  r  r†   r5  rÈ   rK   çš™™™™™é?rL   rj   çš™™™™™¹?r
  r†   r\  rß  rÐ  r   r‘   gš™™™™™©?F©r  r  r“   r  r  r   rï   r.  )rv   r   rn  r   rM  r  r  r   ÚwindowsÚtukeyrà   Údltir
  Úcheby1ÚfreqzrÜ  Údenr  Ú	ones_likerý  rå  r¾  rf  r   Úangle)rU   ru   r  r  r  Út_totrê   r  rŽ   r  rü  r  Úd_tosrú   ÚsystemÚwcÚ_Úh_respsr  Ú	h_resampsÚsubnyqs                        rY   r  zTestDecimate._test_phaseshift6
  sÃ  € ØˆØ#Ð#Ð#ˆàˆÝŒI�d˜5‘j ‘lÑ#Ô#¥e¨D¡k¤kÑ1ˆõ ”˜Ñ"Ô" SÑ(¨1Ñ,ˆÝŒV�F�RœU‘N U¨1¨1¨1­b¬j¨=Ô%9Ñ9¸AÑ=Ñ>Ô>ÝŒ~×#Ò# A¤F¨CÑ0Ô0ñ1ˆð  ð "	2ñ "	2ˆGØ˜‘ˆAÝ”9˜W U™]¨1™_Ñ-Ô-µ°g±´Ñ>ˆDÝ”V˜F¥R¤U™N¨U°1°1°1µb´j°=Ô-AÑAÀDÑHÑIÔIÝ”~×+Ò+¨D¬I°sÑ;Ô;ñ<ˆEð ˜ŠˆØ�Ýœ¥V¤]°1°q±5¸"¸q¹&Ø:Cð&Eñ &Eô &EØFHñJô J��à˜5’�Ø�Ø�œ‘Y˜q‘[�Ýœ¥f¤m°A°t¸RÅÄ¹XÑ&FÔ&FÐG�ð ˜UÐ"Ð"Ý#œ\¨&¬*°f´jØ*/°©*°Q©,µr´uÑ*<ñ>ô >‘
��7à�2œ6 '™?œ?Ñ*��åœ, uÑ-Ô-�åœ¨¬°°1¸FØ3=ð?ñ ?ô ?ˆIõ œ˜uŸzšz™|œ|¨iÑ7¸bÐAÑAÔAˆIØ�œ 	Ñ*Ô*Ñ*ˆIØ˜S ™[Ò(ˆFõ �BœH W§\¢\¡^¤^°IÑ%=Ñ>Ô>¸vÔFÈØ!%¨Dð2ñ 2ô 2ð 2ñ 2ðC"	2ð "	2r[   c                 ó¦  — d}d}t          j        |¦  «        |z  }t          j        d|z  ¦  «        t          j        dt           j        z  |dz  z  |z  ¦  «        z  }t          t           j                             |¦  «        dd¬¦  «         t          j	        |d	d
¬¦  «        }t          t           j                             |¦  «        d¦  «         d S )Ng      Y@rˆ  r]  rL   g      >@r\  rï   rï  r†   r
  )r  rñ  )rv   r   Úsqrtræ  r  r   ÚlinalgÚnormr   rý  r   )rU   Úsfreqrú   rê   rk   Úx_outs         rY   Útest_auto_nzTestDecimate.test_auto_nf
  s±   € ð ˆØˆÝŒI�a‰LŒL˜5Ñ ˆåŒG�B˜‘F‰OŒO�bœf Q­¬¡Y°%¸#±+Ñ%>ÀÑ%BÑCÔCÑCˆÝ�œ	Ÿš qÑ)Ô)¨2°DÐ9Ñ9Ô9Ð9Ý”  2¨UÐ3Ñ3Ô3ˆÝ�"œ)Ÿ.š.¨Ñ/Ô/°Ñ6Ô6Ð6Ð6Ð6r[   c                 ó²   — t          j        t          j        dt          j        ¬¦  «        d¦  «        }t          t          j        |¦  «        ¦  «        rJ ‚d S )Nrÿ  r	  rM   )r   rý  rv   rd  rÔ   rù   Úisnanr
  s     rY   Útest_long_float32zTestDecimate.test_long_float32r
  sH   € õ ŒO�BœG Fµ"´*Ð=Ñ=Ô=¸rÑBÔBˆÝ•r”x ‘{”{Ñ#Ô#Ð#Ð#Ð#Ð#Ð#r[   c                 ó¤   — t          j        t          j        dt          j        ¬¦  «        d¦  «        }|j        j        t          j        k    sJ ‚d S )NrÈ   r	  rM   )r   rý  rv   rd  rÓ   rö   re  rÕ   r
  s     rY   Útest_float16_upcastz TestDecimate.test_float16_upcastx
  sA   € åŒO�BœG C­r¬zÐ:Ñ:Ô:¸BÑ?Ô?ˆØŒwŒ|�rœzÒ)Ð)Ð)Ð)Ð)Ð)r[   c                 óÜ  — d}d}d}t          j        ddt          j        z  |z  dz  d|¬¦  «        \  }}}|                     t
          ¦  «        t          j        dt          j        z  |z  |z  ¦  «        z  }|                     t
          ¦  «        t          j        dt          j        z  |z  |z  ¦  «        z  }t          j        |||¦  «        }t          j        d¦  «        |z  }t          j        dt          j        z  |z  |z  ¦  «        d	t          j        d
t          j        z  |z  |z  ¦  «        z  z   }	t          j	        |	d|d¬¦  «        }
t          j
        g t          j        |||¦  «        ¢|	‘R Ž d d d…         }t          |
|¦  «         t          j	        |	d|d¬¦  «        }t          j        g t          j        |||¦  «        ¢|	‘R Ž d d d…         }t          ||dd¬¦  «         d S )Nr  rH   ç     @�@rL   r’  )r¬  Úfsrj   r  r  r�  Fr"  Trî  ç‚vIhÂ%<=rì   )r   r'   rv   r  rø   r/  rM  r%  r   rý  r$   r(   r
   r&   r   )rU   ÚfcentreÚfwidthrA  rm   rô  rr  r-  rê   râ   ÚynzpÚynzprefÚyzpÚyzprefs                 rY   Útest_complex_iir_dltiz"TestDecimate.test_complex_iir_dlti}
  sò  € ð ˆàˆàˆå”-  1¥R¤U¡7¨6¡>°!Ñ#3¸EÀbÐIÑIÔI‰ˆˆ1ˆaØ�HŠH•WÑÔ¥¤ r­B¬E¡z°GÑ';¸BÑ'>Ñ ?Ô ?Ñ?ˆØ�HŠH•WÑÔ¥¤ r­B¬E¡z°GÑ';¸BÑ'>Ñ ?Ô ?Ñ?ˆÝ”˜Q  1Ñ%Ô%ˆåŒI�c‰NŒN˜RÑˆõ ŒV�B�œ‘J Ñ(¨1Ñ,Ñ-Ô-Ø•R”V˜C¥"¤%™K¨'Ñ1°AÑ5Ñ6Ô6Ñ6ñ7ˆõ Œ˜q !¨6¸eÐDÑDÔDˆÝ”.ð $¥&¤-°°1°aÑ"8Ô"8ð $Ø!"ð$ð $ð $Ø$' C a Cô)ˆõ 	�T˜7Ñ#Ô#Ð#åŒo˜a ¨&¸TÐBÑBÔBˆÝ”ð $¥&¤-°°1°aÑ"8Ô"8ð $Ø!"ð$ð $ð $Ø$' C a Cô)ˆõ 	˜˜V¨%°eÐ<Ñ<Ô<Ð<Ð<Ð<r[   c                 ó  — d}d}d}d}t          j        ||dz  |¬¦  «        }t          j        |¦  «        }|t          j        dt          j        z  |z  |z  ¦  «        z  }|d         t          j        |¦  «        z  }t          j        |d	¦  «        }	t          j        d
¦  «        |z  }
t          j        dt          j        z  |z  |
z  ¦  «        dt          j        dt          j        z  |z  |
z  ¦  «        z  z   }t          j	        |d|	d¬¦  «        }t          j
        ||d	d¬¦  «        d d…         }t          ||¦  «         t          j	        |d|	d¬¦  «        }t          j        |d	d|¬¦  «        }t          ||¦  «         d S )Nr  rH   r@  r  rL   )rA  rj   r   rK   r  r  r�  Fr"  )r  r  rÈ   TrÐ  )r   r
  rv   ÚrootsrM  r  Úpolyr%  r   rý  Úupfirdnr
   rÚ  )rU   rC  rD  rA  ÚnumtapsÚbbaseÚzbaseÚzrotÚbzr-  rê   râ   rE  rF  rG  rH  s                   rY   Útest_complex_fir_dltiz"TestDecimate.test_complex_fir_dlti�
  sx  € àˆàˆàˆØˆõ ”˜g v¨a¡x°BÐ7Ñ7Ô7ˆõ ”˜‘”ˆØ•r”v˜b¥2¤5™j¨7Ñ2°2Ñ5Ñ6Ô6Ñ6ˆà�1ŒX�œ ™œÑ%ˆå”˜R Ñ#Ô#ˆåŒI�c‰NŒN˜RÑˆõ ŒV�B�œ‘J Ñ(¨1Ñ,Ñ-Ô-Ø•R”V˜C¥"¤%™K¨'Ñ1°AÑ5Ñ6Ô6Ñ6ñ7ˆõ Œ˜q !¨6¸eÐDÑDÔDˆÝ”.  Q¨1°1Ð5Ñ5Ô5°d°s°dÔ;ˆå�T˜7Ñ#Ô#Ð#åŒo˜a ¨&¸TÐBÑBÔBˆÝÔ% a¨¨A°bÐ9Ñ9Ô9ˆå�S˜&Ñ!Ô!Ð!Ð!Ð!r[   N)r§   r¨   r©   rþ  r  r  r  r  r  r  r  r  r9  r<  r>  rI  rS  rª   r[   rY   rú  rú  
  sñ   € € € € € ðAð Að Að
&ð &ð &ð
&ð &ð &ð
)ð )ð )ðBð Bð Bð
Að Að Að
>ð >ð >ð=ð =ð =ð.2ð .2ð .2ð`
7ð 
7ð 
7ð$ð $ð $ð*ð *ð *ð
=ð =ð =ð@""ð ""ð ""ð ""ð ""r[   rú  c                   ó€   — e Zd Zd„ Zd„ Zd„ Zej                             de	j
        e	j        g¦  «        d„ ¦   «         ZdS )ÚTestHilbertc                 óÈ   — t          j        dg¦  «        }t          t          t          |¦  «         t          j        d¦  «        }t          t          t          |d¬¦  «         d S )Nr¶   rÎ  r   ©r”  )rv   r   r£   r¤   r"   r   r
  s     rY   rþ  zTestHilbert.test_bad_argsÄ
  sO   € ÝŒH�j�\Ñ"Ô"ˆÝ•j¥'¨1Ñ-Ô-Ð-ÝŒI�c‰NŒNˆÝ•j¥'¨1°Ð2Ñ2Ô2Ð2Ð2Ð2r[   c           	      ó"  — d}t           j        }t          j        dd|z  |dz  ¦  «        }t          j        |¦  «        }t          j        |¦  «        }t          j        d|z  ¦  «        }t          j        d|z  ¦  «        }t          j        ||||g¦  «        }t          |¦  «        }	t          j        |	¦  «        }
t          j        |	¦  «        }t          j	        |	¦  «        }t          |||¦  «         t          |
t          j        |j        ¦  «        |¦  «         t          |dd d…f         t          j        | dz  |dz  |dz  ¦  «        |¦  «         t          |dd d…f         t          j        d||dz  ¦  «        |¦  «         t          |dd d…f         t          j        | dz  |dz  |dz  ¦  «        |¦  «         t          |dd d…f         t          j        d||dz  ¦  «        |¦  «         t          |	d         j        ||¦  «         d S )NrK  r   rL   rÌ  rK   rË  rF   )rv   r  r   ræ  rä  r›  r"   r  r*  rå  r   rd  rŠ  rd  )rU   r¿  r  rê   rì  Úa1Úa2Úa3rV   r+  Úh_absÚh_angleÚh_reals                rY   Útest_hilbert_theoreticalz$TestHilbert.test_hilbert_theoreticalÊ
  s  € àˆåŒUˆÝŒI�a˜˜R™  c¡Ñ*Ô*ˆÝŒV�A‰YŒYˆÝŒV�A‰YŒYˆÝŒV�A˜‘E‰]Œ]ˆÝŒV�A˜‘E‰]Œ]ˆÝŒI�r˜2˜r 2Ð&Ñ'Ô'ˆå�A‰JŒJˆÝ”�q‘	”	ˆÝ”(˜1‘+”+ˆÝ”˜‘”ˆõ 	˜F A wÑ/Ô/Ð/å˜E¥2¤7¨1¬7Ñ#3Ô#3°WÑ=Ô=Ð=õ 	˜G A t¨ t GÔ,ÝœI r c¨A¡g¨r°A©v°r¸C±xÑ@Ô@Ø#ñ	%ô 	%ð 	%õ
 	Ø�A�t˜�t�GÔ�bœi¨¨2¨r°C©xÑ8Ô8¸'ñ	Cô 	Cð 	Cõ 	˜G A t¨ t GÔ,ÝœI r c¨A¡g¨r°A©v°r¸C±xÑ@Ô@Ø#ñ	%ô 	%ð 	%õ 	Ø�A�t˜�t�GÔ�bœi¨¨2¨r°C©xÑ8Ô8¸'ñ	Cô 	Cð 	Cõ 	˜A˜aœDœI r¨7Ñ3Ô3Ð3Ð3Ð3r[   c                 ó$  — t          j        d¦  «                             dd¦  «        }t          |d¬¦  «        }t	          t          |j        d¬¦  «        |j        ¦  «         t          t          |d         ¦  «        |d         d¦  «         t          |dd¬	¦  «        }t	          |j        ddg¦  «         t	          t          |j        dd¬	¦  «        j        ddg¦  «         t          j        g d
¢¦  «        }t          |d         |dd¦  «         d S )Nrh  rF   rI   r“   r  r   rK  r  )r”  r×  )y        Bm}¶Ä…û¿y      ð?ðãâa Àyûÿÿÿÿÿÿ?¥®0fÓóÀy      @Wëa©94ô¿y      @"nÈWñ¿y      @‡hûIX@yš™™™™™™<ÃnmÑèÃ@yåFˆ8›¼ûO2k{…ï?yœ™™™™™©¼Ú‰o�íPõ?yÎÌÌÌÌÌ¼¼ùYC›à?y433333£<c4¸Qõeå?yðÈ’40¡¼òŒ³p$Î?yœ™™™™™©¼E¥SÐUÒ?yffffff¶<‚?Žüó7 ?y433333£<wE¶oÿ¼“¿y�!5P±¼àÐ{Ø3'Å¿y        _úN@Õ¿yš™™™™™¹<Ú}§ØÙ¿yš™™™™™™<§‚-cè¿yåFˆ8›<“Á2OW\é¿zN regression)	rv   r   rw   r"   r
   rN  r   rŠ  r   )rU   rV   ÚaaÚaanÚa0hilbs        rY   Útest_hilbert_axisNzTestHilbert.test_hilbert_axisNó
  s  € åŒI�b‰MŒM×!Ò! ! QÑ'Ô'ˆå�Q˜RÐ Ñ Ô ˆÝ•W˜QœS qÐ)Ñ)Ô)¨2¬4Ñ0Ô0Ð0å�G A a¤D™MœM¨2¨a¬5°"Ñ5Ô5Ð5õ �a˜2 BÐ'Ñ'Ô'ˆÝ�S”Y  B Ñ(Ô(Ð(Ý•W˜QœS B¨QÐ/Ñ/Ô/Ô5¸¸A°wÑ?Ô?Ð?õ ”ð Fð Fð Fñ Gô Gˆõ( 	˜C œF F¨B°Ñ?Ô?Ð?Ð?Ð?r[   rö   c                 ó¤   — t          j        d|¬¦  «        }t          t          j        t	          j        |¦  «        ¦  «        j        |¦  «         d S )Nr‘   r	  )rv   rŽ  r
   rå  r   r"   rö   r  s      rY   Útest_hilbert_typeszTestHilbert.test_hilbert_types  sC   € å”8˜A UÐ+Ñ+Ô+ˆÝ•R”W�Vœ^¨HÑ5Ô5Ñ6Ô6Ô<¸eÑDÔDÐDÐDÐDr[   N)r§   r¨   r©   rþ  r_  rd  r  r  rx  rv   rÔ   rÕ   rf  rª   r[   rY   rU  rU  Â
  sƒ   € € € € € ð3ð 3ð 3ð'4ð '4ð '4ðR#@ð #@ð #@ðJ „[×Ò˜W r¤z°2´:Ð&>Ñ?Ô?ðEð Eñ @Ô?ðEð Eð Er[   rU  c                   ót   — e Zd Zd„ Zej                             dej        ej	        g¦  «        d„ ¦   «         Z
dS )ÚTestHilbert2c                 óî  — t          j        dgg¦  «        }t          t          t          |¦  «         t          j        d¦  «                             ddd¦  «        }t          t          t          |¦  «         t          j        d¦  «                             dd¦  «        }t          t          t          |d¬¦  «         t          t          t          |d	¬¦  «         t          t          t          |d
¬¦  «         d S )Nr¶   r3  rL   rF   rG   r„   r   rW  )rL   r   )rL   )rv   r   r£   r¤   r#   r   rw   r
  s     rY   rþ  zTestHilbert2.test_bad_args   sÄ   € åŒH�z�l�^Ñ$Ô$ˆÝ•j¥(¨AÑ.Ô.Ð.õ ŒI�b‰MŒM×!Ò! ! Q¨Ñ*Ô*ˆÝ•j¥(¨AÑ.Ô.Ð.õ ŒI�b‰MŒM×!Ò! ! QÑ'Ô'ˆÝ•j¥(¨A°Ð3Ñ3Ô3Ð3Ý•j¥(¨A°Ð8Ñ8Ô8Ð8Ý•j¥(¨A°Ð6Ñ6Ô6Ð6Ð6Ð6r[   rö   c                 ó¤   — t          j        d|¬¦  «        }t          t          j        t	          j        |¦  «        ¦  «        j        |¦  «         d S )N)rL   rP   r	  )rv   rŽ  r
   rå  r   r#   rö   r  s      rY   Útest_hilbert2_typesz TestHilbert2.test_hilbert2_types/  sC   € å”8˜G¨5Ð1Ñ1Ô1ˆÝ•R”W�Vœ_¨XÑ6Ô6Ñ7Ô7Ô=¸uÑEÔEÐEÐEÐEr[   N)r§   r¨   r©   rþ  r  r  rx  rv   rÔ   rÕ   rk  rª   r[   rY   rh  rh    s`   € € € € € ð7ð 7ð 7ð „[×Ò˜W r¤z°2´:Ð&>Ñ?Ô?ðFð Fñ @Ô?ðFð Fð Fr[   rh  c                   ó   — e Zd ZdZed„ ¦   «         Zd„ Zd„ Zej	         
                    dg d¢dg d¢g d	¢fg d
¢dg d
¢g d¢fg d¢dg d¢g d¢fg d¢dg d¢g d¢fg d¢dg d
¢g d¢fg d¢dg d¢g d¢fg d¢dg d¢g d¢fg¦  «        d„ ¦   «         Zej	         
                    dg d¢dg d¢g d¢fg d¢dg d¢g d¢fg d ¢dg d!¢g d"¢fg¦  «        d#„ ¦   «         Zd$„ Zd%„ Zej	         
                    d&g d'¢g d(¢g¦  «        d)„ ¦   «         Zd*S )+ÚTestEnvelopez4Unit tests for function `._signaltools.envelope()`. c                 ó.   — t          | |dd|¬¦  «         dS )z9Little helper to compare to arrays with proper tolerancesr  )rî   rí   r¹  Nr>   )r?  ÚdesiredrB  s      rY   Úassert_closezTestEnvelope.assert_close8  s#   € õ 	˜ ¨e¸%ÈÐMÑMÔMÐMÐMÐMr[   c                 ó|  — t          j        t          d¬¦  «        5  t          t	          j        d¦  «        d¬¦  «         ddd¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          t	          j        d¦  «        d	¬¦  «         ddd¦  «         n# 1 swxY w Y   d
D ]„}d                     t          t          |¦  «        ¦  «        }t          j        t          d|› d�¬¦  «        5  t          t	          j        d¦  «        |¬¦  «         ddd¦  «         n# 1 swxY w Y   Œ…t          j        t          d¬¦  «        5  t          t	          j        d¦  «        d¬¦  «         ddd¦  «         n# 1 swxY w Y   dD ]X}t          j        t          d¬¦  «        5  t          t	          j        d¦  «        |¬¦  «         ddd¦  «         n# 1 swxY w Y   ŒYt          j        t          d¬¦  «        5  t          t	          j        d¦  «        d¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z[For `envelope()` Raise all exceptions that are used to verify function
        parameters. z'Invalid parameter axis=2 for z.shape=.*r  rF   rL   r  Nz&z.shape\[axis\] not > 0 for z.shape=.*)rF   r   rK   )rÖ  )r   r]  )Nr]  z, zbp_in=\(z\) isn't a 2-tuple of.*rG   )Úbp_inz)n_out=10.0 is not a positive integer or.*r  )Ún_out))r“   rF   r¦  )r   rM   z&`-n//2 <= bp_in\[0\] < bp_in\[1\] <=.*zresidual='undefined' not in .*Ú	undefined©Úresidual)	r  r	   r¤   r!   rv   rd  ÚjoinÚmapr	  )rU   rr  Útss      rY   Ú test_envelope_invalid_parametersz-TestEnvelope.test_envelope_invalid_parameters=  s¶  € õ Œ]�:Ø!KðMñ Mô Mð 	)ð 	)å•R”W˜Q‘Z”Z aÐ(Ñ(Ô(Ð(ð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)õ Œ]�:Ø!JðLñ Lô Lð 	.ð 	.å•R”W˜V‘_”_¨1Ð-Ñ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð 6ð 	2ð 	2ˆEØ—’�3�s E™?œ?Ñ+Ô+ˆBÝ”�zØ%L°Ð%LÐ%LÐ%LðNñ Nô Nð 2ð 2õ �œ ™œ¨5Ð1Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2øõ Œ]�:Ø!LðNñ Nô Nð 	,ð 	,õ •R”W˜Q‘Z”Z sÐ+Ñ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 0ð 	2ð 	2ˆEÝ”�zØ%NðPñ Pô Pð 2ð 2å�œ ™œ¨5Ð1Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2øõ Œ]�:Ð-MÐNÑNÔNð 	7ð 	7å•R”W˜Q‘Z”Z¨+Ð6Ñ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 	7ð 	7sk   œ$AÁAÁAÁ2$B"Â"B&Â)B&Ã8$D(Ä(D,	Ä/D,	Å$E?Å?FÆFÆ)$GÇG	Ç G	È $H1È1H5È8H5c                 ón  — g d¢g d¢}}t          j        |¦  «        }t          |¦  «        }t          |ddd¬¦  «        \  }}|                      t          j        |¦  «        t          j        g d¢¦  «                             t          ¦  «        d¬	¦  «         |                      t          j        |¦  «        t          j        g d
¢¦  «                             t          ¦  «        d¬	¦  «         t          |ddd¬¦  «        \  }}|                      |dz  |d¬	¦  «         |                      ||d¬	¦  «         t          |dddd|z  ¬¦  «        \  }	}
|                      |	ddd…         |d¬	¦  «         |                      |
ddd…         |d¬	¦  «         t          |ddd¬¦  «        \  }}|                      ||d¬	¦  «         |                      t          j        |¦  «        t          j        g d¢¦  «                             t          ¦  «        d¬	¦  «         t          |ddd¬¦  «        }|                      ||d¬	¦  «         t          j
        |¦  «        }|dd…xx         dz  cc<   t          j        ||¬¦  «        }|                      |j        |d¬	¦  «         t          |ddd¬¦  «        \  }}|                      ||                     t          ¦  «        d¬	¦  «         |                      t          j        |¦  «        t          j        |¦  «                             t          ¦  «        d¬	¦  «         dS )zEEnsure that the various parametrizations produce compatible results. )rG   rL   rL   rF   r   )rG   r   r   rI   r   r   r   r   r–  ÚallT©rv  Úsquared©rG   rL   r   r   r   úEnvelope calculation errorr  )rG   r   r   rF   r   úResidual calculation errorFrL   z3Unsquared versus Squared envelope calculation errorz3Unsquared versus Squared residual calculation errorrF   )rv  r~  rs  Nz(3x up-sampled envelope calculation errorz(3x up-sampled residual calculation errorÚlowpassz/`residual='lowpass'` envelope calculation error)rG   r   r   r   r   z/`residual='lowpass'` residual calculation errorz*`residual=None` envelope calculation errorrK   )rú   zReference analytic signal errorz"Complex envelope calculation errorz"Complex residual calculation error)rí  ÚirfftrG  r!   rp  Úrfftrv   r   rø   r/  rø  Úifftrå  r   )rU   ÚZÚZr_arm   rú   Úze2_0Úzr_0Úze_1Úzr_1Úze2_2Úzr_2Úze2_3Úzr_3Úze2_4ÚZ_aÚz_aÚze2_aÚzr_as                     rY   Útest_envelope_verify_parametersz,TestEnvelope.test_envelope_verify_parametersX  s¥  € à!�/�/Ð#;Ð#;Ð#;ˆ4ˆÝŒL˜‰OŒOˆÝ�‰FŒFˆõ ˜q &°5À$ÐGÑGÔG‰ˆˆtØ×Ò�&œ+ eÑ,Ô,­b¬h°°°Ñ.GÔ.G×.NÒ.NÍwÑ.WÔ.WØ:ð 	ñ 	<ô 	<ð 	<à×Ò�&œ+ dÑ+Ô+­R¬X°o°o°oÑ-FÔ-F×-MÒ-MÍgÑ-VÔ-VØ:ð 	ñ 	<ô 	<ð 	<õ ˜a °%ÀÐGÑGÔG‰
ˆˆdØ×Ò˜$ ™' 5ØSð 	ñ 	Uô 	Uð 	Uà×Ò˜$ ØSð 	ñ 	Uô 	Uð 	Uõ ˜q &°5À$ÈaÐPQÉcÐRÑRÔR‰ˆˆtØ×Ò˜%   ! œ* eØHð 	ñ 	Jô 	Jð 	Jà×Ò˜$˜s˜s ˜sœ) TØHð 	ñ 	Jô 	Jð 	Jõ ˜q &°9ÀdÐKÑKÔK‰ˆˆtØ×Ò˜% ØOð 	ñ 	Qô 	Qð 	Qà×Ò�&œ+ dÑ+Ô+­R¬X°o°o°oÑ-FÔ-F×-MÒ-MÍgÑ-VÔ-VØOð 	ñ 	Qô 	Qð 	Qõ ˜˜F¨T¸4Ð@Ñ@Ô@ˆØ×Ò˜% ØJð 	ñ 	Lô 	Lð 	Lõ Œg�a‰jŒjˆØˆAˆBˆBˆˆŒ�1‰ˆˆ‰ÝŒk˜# Ð#Ñ#Ô#ˆØ×Ò˜#œ( AØ?ð 	ñ 	Aô 	Að 	Aå˜s F°UÀDÐIÑIÔI‰ˆˆtØ×Ò˜% §¢­gÑ!6Ô!6ØBð 	ñ 	Dô 	Dð 	Dà×Ò�&œ* TÑ*Ô*­B¬H°T©N¬N×,AÒ,AÅ'Ñ,JÔ,JØBð 	ñ 	Dô 	Dð 	Dð 	Dð 	Dr[   z@               Z,        bp_in,     Ze2_desired,      Zr_desired©rK   r   rL   rL   r   )rK   Nr  ©rK   r   r   r   r   )rG   r   rL   r   r   )r   N)r   r   r   r   r   )rG   r   r   rL   r   ©NN)r   r   rL   rL   r   r–  )rL   r   r   r   r   )r   r   r   rL   r   )rG   r   rL   rL   r   )éýÿÿÿrF   )rG   r   rF   rG   r   rô  )r   r   rF   rG   r   r�  c                 óJ  — t          j        |¦  «        }t          ||dd¬¦  «        \  }}t          ||dd¬¦  «        \  }}	d„ ||||	fD ¦   «         \  }
}}}t          j        |¦  «                             t          ¦  «        }t          j        |¦  «                             t          ¦  «        }|                      |
|d¬¦  «         |                      ||d¬¦  «         |d	         �d||d	         d
…<   |                      ||d¬¦  «         |                      ||d¬¦  «         d
S )a  Test envelope calculation with real-valued test signals.

        The comparisons are performed in the Fourier space, since it makes evaluating
        the bandpass filter behavior straightforward. Note that also the squared
        envelope can be easily calculated by hand, if one recalls that coefficients of
        a complex-valued Fourier series representing the signal can be directly
        determined by an FFT and that the absolute square of a Fourier series is again
        a Fourier series.
        r|  Tr}  r‚  c              3   ó>   K  — | ]}t          j        |¦  «        V — Œd S r3  ©rí  r„  ©rÙ   Úz_s     rY   ú	<genexpr>z:TestEnvelope.test_envelope_real_signals.<locals>.<genexpr>�  s*   è è € Ð!UÐ!U°b¥&¤+¨b¡/¤/Ð!UÐ!UÐ!UÐ!UÐ!UÐ!Ur[   z+Envelope calculation error (residual='all')r  z+Residual calculation error (residual='all')rK   Nr   z/Envelope calculation error (residual='lowpass')z/Residual calculation error (residual='lowpass'))rí  rƒ  r!   rv   r   rø   r/  rp  )rU   r†  rr  ÚZe2_desiredÚ
Zr_desiredrm   Úze2ÚzrÚze2_lpÚzr_lpÚZe2ÚZrÚZe2_lpÚZr_lps                 rY   Útest_envelope_real_signalsz'TestEnvelope.test_envelope_real_signals‡  sj  € õ& ŒL˜‰OŒOˆÝ˜1˜e¨e¸TÐBÑBÔB‰ˆˆRÝ   E°IÀtÐLÑLÔL‰ˆ�Ø!UÐ!U¸SÀ"ÀfÈeÐ<TÐ!UÑ!UÔ!UÑˆˆR�˜å”h˜{Ñ+Ô+×2Ò2µ7Ñ;Ô;ˆÝ”X˜jÑ)Ô)×0Ò0µÑ9Ô9ˆ
Ø×Ò˜#˜{ØKð 	ñ 	Mô 	Mð 	Mà×Ò˜"˜jØKð 	ñ 	Mô 	Mð 	Mð �Œ8ÐØ$%ˆJ�u˜Q”x�y�yÑ!Ø×Ò˜& +ØOð 	ñ 	Qô 	Qð 	Qà×Ò˜% ØOð 	ñ 	Qô 	Qð 	Qð 	Qð 	Qr[   zG               Z,        bp_in,         Ze2_desired,         Zr_desired)r   rH   r   rH   r   ©rH   r   rM   r   rH   ©rK   rH   r   rH   rL   ©r“   rL   ©rK   r   r   r   rL   )rK   rL   rI   r   rI   rF   )r   rI   r   rR   r   rI   )rK   rL   r   r   r   rF   c                 ó¨  — t          j        t          j        |¦  «        ¦  «        }t          ||dd¬¦  «        \  }}d„ ||fD ¦   «         \  }}	|                      |t          j        |¦  «                             t          ¦  «        d¬¦  «         |                      |	t          j        |¦  «                             t          ¦  «        d¬¦  «         dS )	zßTest envelope calculation with complex-valued test signals.

        We only need to test for the complex envelope here, since the ``Nones``s in the
        bandpass filter were already tested in the previous test.
        r|  Tr}  c              3   ób   K  — | ]*}t          j        t          j        |¦  «        ¦  «        V — Œ+d S r3  ©rí  Úfftshiftr   r�  s     rY   rŸ  z=TestEnvelope.test_envelope_complex_signals.<locals>.<genexpr>»  s4   è è € ÐGÐG°r•6”?¥6¤:¨b¡>¤>Ñ2Ô2ÐGÐGÐGÐGÐGÐGr[   r€  r  r�  N)	rí  r…  Ú	ifftshiftr!   rp  rv   r   rø   r/  )
rU   r†  rr  r   r¡  rm   r¢  r£  r¦  r§  s
             rY   Útest_envelope_complex_signalsz*TestEnvelope.test_envelope_complex_signals­  sÕ   € õ ŒK�Ô(¨Ñ+Ô+Ñ,Ô,ˆÝ˜1˜e¨e¸TÐBÑBÔB‰ˆˆRØGÐG¸cÀ2¸YÐGÑGÔG‰ˆˆRà×Ò˜#�rœx¨Ñ4Ô4×;Ò;½GÑDÔDØ:ð 	ñ 	<ô 	<ð 	<à×Ò˜"�bœh zÑ2Ô2×9Ò9½'ÑBÔBØ:ð 	ñ 	<ô 	<ð 	<ð 	<ð 	<r[   c                 ó  — t          j        g d¢g d¢g¦  «        }t          j        g d¢g d¢gt          ¬¦  «        }t          j        g d¢g d¢gt          ¬¦  «        }t          |dd	¬
¦  «        \  }}t          |j        dd¬
¦  «        \  }}d„ ||j        ||j        fD ¦   «         \  }}	}
}|                      ||d¬¦  «         |                      |
|d¬¦  «         |                      |	|d¬¦  «         |                      ||d¬¦  «         dS )z.Test for multi-channel envelope calculations. r–  )rƒ   r   rG   rG   r   r  )r„   r‘   r   r   r   r	  r—  )rƒ   r   r   r   r   TrK   )r~  r×  r   c              3   ó>   K  — | ]}t          j        |¦  «        V — Œd S r3  rœ  r�  s     rY   rŸ  zCTestEnvelope.test_envelope_verify_axis_parameter.<locals>.<genexpr>Ë  s*   è è € ÐOÐO°�FœK¨™OœOÐOÐOÐOÐOÐOÐOr[   ú2d envelope calculation errorr  ú2d residual calculation errorú"Transposed 2d envelope calc. errorú"Transposed 2d residual calc. errorN)rí  rƒ  rv   r   r/  r!   rN  rp  )rU   rm   r   r¡  r¢  r£  Úye2TÚyrTr¦  ÚYe2r§  ÚYrs               rY   Ú#test_envelope_verify_axis_parameterz0TestEnvelope.test_envelope_verify_axis_parameterÂ  s;  € åŒL˜/˜/˜/¨?¨?¨?Ð;Ñ<Ô<ˆÝ”h   Ð1AÐ1AÐ1AÐBÝ%,ð.ñ .ô .ˆå”X˜˜˜°°°Ð@ÍÐPÑPÔPˆ
å˜1 d°Ð3Ñ3Ô3‰ˆˆRÝ˜QœS¨$°QÐ7Ñ7Ô7‰	ˆˆcØOÐO°s¸D¼FÀBÈÌÐ6NÐOÑOÔOÑˆˆS�"�bà×Ò˜#˜{Ð0OÐÑPÔPÐPØ×Ò˜"˜jÐ/NÐÑOÔOÐOØ×Ò˜#˜{Ð0TÐÑUÔUÐUØ×Ò˜"˜jÐ.RÐÑSÔSÐSÐSÐSr[   c                 óZ  — t          j        t          j        g d¢g d¢gd¬¦  «        ¦  «        }t          j        g d¢g d¢gt
          ¬¦  «        }t          j        g d¢g d¢gt
          ¬¦  «        }t          d	d
d¬¦  «        }t          |fddi|¤Ž\  }}t          |j        fddi|¤Ž\  }}d„ ||j        ||j        fD ¦   «         \  }	}
}}|  	                    |	|d¬¦  «         |  	                    ||d¬¦  «         |  	                    |
|d¬¦  «         |  	                    ||d¬¦  «         dS )zBTest for multi-channel envelope calculations with complex values. r¬  )rK   rM   r   rM   rL   rK   rŸ  r«  )r  r   r5  r   r  r	  r®  r­  r|  T)rr  rv  r~  r×  r   c              3   óf   K  — | ],}t          j        t          j        |¦  «        d ¬¦  «        V — Œ-dS )rK   rŸ  Nr±  r�  s     rY   rŸ  zKTestEnvelope.test_envelope_verify_axis_parameter_complex.<locals>.<genexpr>Ü  sU   è è € ð @ð @Ø "õ #œO­F¬J°r©N¬NÀÐCÑCÔCð @ð @ð @ð @ð @ð @r[   r·  r  r¸  r¹  rº  N)
rí  r…  r³  rv   r   r/  rã  r!   rN  rp  )rU   rm   ÚZe2_desÚZr_desÚkwr¢  r£  r»  r¼  r¦  r½  r§  r¾  s                rY   Ú+test_envelope_verify_axis_parameter_complexz8TestEnvelope.test_envelope_verify_axis_parameter_complexÒ  s„  € åŒK�Ô(¨/¨/¨/Ð;LÐ;LÐ;LÐ)MÐTUÐVÑVÔVÑWÔWˆÝ”(Ð,Ð,Ð,Ð.@Ð.@Ð.@ÐBÝ!(ð*ñ *ô *ˆå”˜?˜?˜?¨O¨O¨OÐ<ÅGÐLÑLÔLˆå˜¨%¸Ð>Ñ>Ô>ˆÝ˜1Ð+Ð+ 1Ð+¨Ð+Ð+‰ˆˆRÝ˜QœSÐ/Ð/ qÐ/¨BÐ/Ð/‰	ˆˆcð@ð @Ø'*¨D¬F°B¸¼Ð&>ð@ñ @ô @ÑˆˆS�"�bð 	×Ò˜#˜wÐ,KÐÑLÔLÐLØ×Ò˜"˜fÐ*IÐÑJÔJÐJØ×Ò˜#˜wÐ-QÐÑRÔRÐRØ×Ò˜"˜fÐ+OÐÑPÔPÐPÐPÐPr[   ÚX)rG   r   r   rK   rL   )rG   r   r   rL   rK   rL   c                 óÄ   — t          j        |¦  «        }t          j        t	          |¦  «        ¦  «        }t          |dd¬¦  «        }|                      ||d¬¦  «         dS )z0Compare output of `envelope()` and `hilbert()`. r˜  Nru  z!Hilbert-Envelope comparison errorr  )rí  rƒ  rv   r  r"   r!   rp  )rU   rÆ  rk   Úe_hilÚe_envs        rY   Útest_compare_envelope_hilbertz*TestEnvelope.test_compare_envelope_hilbertä  s\   € õ ŒL˜‰OŒOˆÝ”•w˜q‘z”zÑ"Ô"ˆÝ˜˜L°4Ð8Ñ8Ô8ˆØ×Ò˜% Ð,OÐÑPÔPÐPÐPÐPr[   N)r§   r¨   r©   Ú__doc__Ústaticmethodrp  rz  r•  r  r  rx  rª  r´  r¿  rÅ  rÊ  rª   r[   rY   rm  rm  5  s6  € € € € € Ø>Ð>àðNð Nñ „\ðNð7ð 7ð 7ð6-Dð -Dð -Dð^ „[×ÒØJØ
ˆ/ˆ/˜i¨¨¨¸/¸/¸/Ð	JØ
ˆ/ˆ/˜i¨¨¨¸/¸/¸/Ð	JØ
ˆ/ˆ/˜<¨¨¨¸/¸/¸/Ð	JØ
ˆ/ˆ/ ¨¨¨¸/¸/¸/Ð	JØ
ˆ/ˆ/ ¨¨¨¸/¸/¸/Ð	JØ
ˆ/ˆ/˜i¨¨¨¸/¸/¸/Ð	JØ
ˆ/ˆ/˜i¨¨¨¸/¸/¸/Ð	Jð	LñMô MðQð QñMô MðQð: „[×ÒØQØ
ˆ/ˆ/˜<Ð,<Ð,<Ð,<ÀÀÀÐ	QØ
ˆ/ˆ/ Ð,<Ð,<Ð,<ÀÀÀÐ	QØ
Ð
Ð
 Ð)<Ð)<Ð)<Ð>PÐ>PÐ>PÐ	Qð	ñô ð<ð <ñô ð<ðTð Tð Tð Qð Qð Qð$ „[×Ò˜S ? ? ?Ð4FÐ4FÐ4FÐ"GÑHÔHðQð Qñ IÔHðQð Qð Qr[   rm  c                   ó€   — e Zd Ze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d„ Zd„ Zd„ Zd„ ZdS )ÚTestPartialFractionExpansionrƒ   c                 ó„  — t          j        |¦  «        }t          j        |¦  «        }t          j        t          |d d …d f         |z
  ¦  «        t          | d d …d f         |z
  ¦  «        ¦  «        }t	          |¦  «        \  }}t          ||         ||         |¬¦  «         t          | |         ||         |¬¦  «         d S )Nr¾  )rv   r  Úhypotr  r   r   )rž  rô  Úr_trueÚp_truer¿  ÚdistanceÚrowsÚcolss           rY   Úassert_rp_almost_equalz3TestPartialFractionExpansion.assert_rp_almost_equalî  s»   € å”˜FÑ#Ô#ˆÝ”˜FÑ#Ô#ˆå”8�C  ! ! ! T '¤
¨VÑ 3Ñ4Ô4Ý  ! ! ! T '¤
¨VÑ 3Ñ4Ô4ñ6ô 6ˆõ +¨8Ñ4Ô4‰
ˆˆdÝ˜A˜dœG V¨D¤\¸7ÐCÑCÔCÐCÝ˜A˜dœG V¨D¤\¸7ÐCÑCÔCÐCÐCÐCr[   c                 ó^  — t          g d¢g d¢¦  «        \  }}t          t          |¦  «        d¦  «         t          |d         t	          j        g d¢¦  «        ¦  «         t          |d         t	          j        g d¢¦  «        ¦  «         t          |d         t	          j        g d	¢¦  «        ¦  «         t          |t	          j        g d
¢¦  «        ¦  «         t          g d¢g d¢d¬¦  «        \  }}t          t          |¦  «        d¦  «         t          |d         t	          j        g d¢¦  «        ¦  «         t          |d         t	          j        g d¢¦  «        ¦  «         t          |d         t	          j        g d¢¦  «        ¦  «         t          |d         t	          j        g d¢¦  «        ¦  «         t          |d         t	          j        g d¢¦  «        ¦  «         t          |d         t	          j        g d	¢¦  «        ¦  «         t          |t	          j        g d
¢¦  «        ¦  «         d S )NrJ   rÑ  rF   r   )rL   rL   rF   rK   )rK   rK   rK   rF   rL   )rK   rK   rK   rL   rL   )rK   rK   rK   rL   rL   rF   T)Úinclude_powersrI   )rK   rK   rL   rL   rF   )rK   rL   rL   rF   )rK   rK   rK   rL   rF   rG   rH   )r:   r
   rG  r   rv   rL  )rU   ÚfactorsrL  s      rY   Útest_compute_factorsz1TestPartialFractionExpansion.test_compute_factorsú  sê  € Ý(¨¨¨°I°I°IÑ>Ô>‰ˆ�Ý•S˜‘\”\ 1Ñ%Ô%Ð%Ý˜G AœJ­¬°	°	°	Ñ(:Ô(:Ñ;Ô;Ð;Ý˜G AœJ­¬°°°Ñ(=Ô(=Ñ>Ô>Ð>Ý˜G AœJ­¬°°°Ñ(@Ô(@ÑAÔAÐAÝ˜D¥"¤'Ð*<Ð*<Ð*<Ñ"=Ô"=Ñ>Ô>Ð>å(¨¨¨°I°I°IØ8<ð>ñ >ô >‰ˆ�å•S˜‘\”\ 1Ñ%Ô%Ð%Ý˜G AœJ­¬°°°Ñ(@Ô(@ÑAÔAÐAÝ˜G AœJ­¬°°°Ñ(=Ô(=Ñ>Ô>Ð>Ý˜G AœJ­¬°	°	°	Ñ(:Ô(:Ñ;Ô;Ð;Ý˜G AœJ­¬°°°Ñ(@Ô(@ÑAÔAÐAÝ˜G AœJ­¬°°°Ñ(=Ô(=Ñ>Ô>Ð>Ý˜G AœJ­¬°°°Ñ(@Ô(@ÑAÔAÐAÝ˜D¥"¤'Ð*<Ð*<Ð*<Ñ"=Ô"=Ñ>Ô>Ð>Ð>Ð>r[   c                 óz   — t          g d¢dd¦  «        \  }}t          |g d¢¦  «         t          |g d¢¦  «         d S )N)r\  gj¼t“ð?g?5^ºIð?r]  g /Ý$ @r_  r!  Úminr  rÑ  )r;   r
   ©rU   ÚuniqueÚmultiplicitys      rY   Útest_group_polesz-TestPartialFractionExpansion.test_group_poles  sQ   € Ý+Ø0Ð0Ð0°#°uñ >ô  >Ñˆ�å�V˜_˜_˜_Ñ-Ô-Ð-Ý�\ 9 9 9Ñ-Ô-Ð-Ð-Ð-r[   c                 óÞ  — t          g d¢g d¢¦  «        \  }}}t          |g d¢d¬¦  «         t          |g d¢d¬¦  «         t          |dgd¬¦  «         t          dd	gg d
¢¦  «        \  }}}t          |d	dg¦  «         t          |ddg¦  «         t          |j        d¦  «         t          ddgg d¢¦  «        \  }}}t          |ddg¦  «         t          |ddg¦  «         t          |j        d¦  «         t          ddgg d¢¦  «        \  }}}|                      ||g d¢g d¢¦  «         t          |j        d¦  «         t          ddgg d¢¦  «        \  }}}|                      ||g d¢g d¢¦  «         t          |j        d¦  «         t          g d¢g d¢¦  «        \  }}}t          |g d¢¦  «         t          |g d¢¦  «         t          |ddg¦  «         t          dgg d¢¦  «        \  }}}t          |ddg¦  «         t          |dd g¦  «         t          |j        d¦  «         t          g d!¢g d"¢¦  «        \  }}}|                      ||g d#¢g d$¢¦  «         t          |j        d¦  «         t          g d%¢g d&¢¦  «        \  }}}|                      ||g d'¢g d(¢¦  «         t          |j        d¦  «         t          ddgg d)¢¦  «        \  }}}t          |dd*g¦  «         t          |ddg¦  «         t          |j        d¦  «         t          g d+¢g d)¢¦  «        \  }}}t          |dd,g¦  «         t          |ddg¦  «         t          |dg¦  «         t          g d-¢g d)¢¦  «        \  }}}t          |d.d/g¦  «         t          |ddg¦  «         t          |d0d1g¦  «         t          g d+¢g d2¢¦  «        \  }}}|                      ||g d3¢g d4¢¦  «         t          |j        d¦  «         d S )5N©rH   rF   r­  rƒ   ©rö  r   r‘   rF   )gZd;ßOõ?gîëÀ9#Jå¿g&äƒžÍªö¿rG   r¾  )gà-� ø1Ú¿gþe÷äa¡ò¿gvqà-ù?g      ô¿rö  r‘   ©rK   rI   r‘   iôÿÿÿr­  r   rK   )rK   r“   r­  rF   r“   rL   )rL   g333333Àg®Gáz®ÿ?g–C‹lçûÙ¿)y      2À     @*Ày      2À     @*@g      B@)y      à?š™™™™™É¿y      à?š™™™™™É?gffffffæ?)rK   rH   r‘   rG   )r“   rK   rF   )r“   r­  r­  )rF   gš™™™™™ñ¿g)\�Âõ(ì?g^ºI+ÀgÅ °rh‘õ?)rK   gffffffæ¿gìQ¸…ëÁ¿gú~j¼t“¨?)r™  rG   rK   )r  g333333Ó¿r   )rK   rL   r™  r®  ç      Ð¿r™  )rK   r   r�  )rK   r   r   r   r“   )rK   y              ø?y       €      ø¿r“   )r“   ù       €      ð¿r’   rK   )rF   r‘   rI   ©rK   rF   rF   rK   rJ   ©r“   r“   r“   )rK   r™  rL   rH   )rL   rF   r“   rv  )rƒ   rL   rF   r“   r�  éE   rƒ   rQ   )rK   r™  rG   r­  )rG   y      ð¿      @y      ð¿      À)rK   ù      ð?      ð¿rg   )r6   r   r
   rà   rÖ  ©rU   rž  rô  rr  s       rY   Útest_residue_generalz1TestPartialFractionExpansion.test_residue_general  s«  € õ ˜-˜-˜-¨¨¨Ñ7Ô7‰ˆˆ1ˆaÝ˜AÐ9Ð9Ð9À1ÐEÑEÔEÐEÝ˜AÐ9Ð9Ð9À1ÐEÑEÔEÐEÝ˜A ˜y°!Ð4Ñ4Ô4Ð4å˜2˜q˜' 9 9 9Ñ-Ô-‰ˆˆ1ˆaÝ˜A  3˜xÑ(Ô(Ð(Ý˜A  B˜xÑ(Ô(Ð(Ý�Q”V˜QÑÔÐå˜1˜a˜& + + +Ñ.Ô.‰ˆˆ1ˆaÝ˜A  1˜vÑ&Ô&Ð&Ý˜A  A˜wÑ'Ô'Ð'Ý�Q”V˜QÑÔÐå˜1˜a˜&Ð"9Ð"9Ð"9Ñ:Ô:‰ˆˆ1ˆaØ×#Ò#ØˆqÐ?Ð?Ð?Ø)Ð)Ð)ñ	+ô 	+ð 	+õ 	�Q”V˜QÑÔÐå˜1˜a˜& , , ,Ñ/Ô/‰ˆˆ1ˆaØ×#Ò# A q¨*¨*¨*°l°l°lÑCÔCÐCÝ�Q”V˜QÑÔÐåÐ8Ð8Ð8Ø1Ð1Ð1ñ3ô 3‰ˆˆ1ˆaå˜A˜z˜z˜zÑ*Ô*Ð*Ý˜AÐ/Ð/Ð/Ñ0Ô0Ð0Ý˜A  1˜vÑ&Ô&Ð&å˜1˜#˜z˜z˜zÑ*Ô*‰ˆˆ1ˆaÝ˜A  e˜}Ñ-Ô-Ð-Ý˜A  2˜wÑ'Ô'Ð'Ý�Q”V˜QÑÔÐå˜*˜*˜*Ð&6Ð&6Ð&6Ñ7Ô7‰ˆˆ1ˆaØ×#Ò# A qØ$8Ð$8Ð$8Ð:JÐ:JÐ:Jñ	Lô 	Lð 	Lå�Q”V˜QÑÔÐå˜)˜)˜) \ \ \Ñ2Ô2‰ˆˆ1ˆaØ×#Ò# A q¨)¨)¨)°\°\°\ÑBÔBÐBÝ�Q”V˜QÑÔÐå˜1˜b˜' : : :Ñ.Ô.‰ˆˆ1ˆaÝ˜A  A˜wÑ'Ô'Ð'Ý˜A  1˜vÑ&Ô&Ð&Ý�Q”V˜QÑÔÐå˜*˜*˜* j j jÑ1Ô1‰ˆˆ1ˆaÝ˜A  B˜xÑ(Ô(Ð(Ý˜A  1˜vÑ&Ô&Ð&Ý˜A ˜sÑ#Ô#Ð#å˜-˜-˜-¨¨¨Ñ4Ô4‰ˆˆ1ˆaÝ˜A  R˜yÑ)Ô)Ð)Ý˜A  1˜vÑ&Ô&Ð&Ý˜A  2˜wÑ'Ô'Ð'å˜*˜*˜* n n nÑ5Ô5‰ˆˆ1ˆaØ×#Ò# A qÐ*CÐ*CÐ*CØ$7Ð$7Ð$7ñ	9ô 	9ð 	9å˜AœF AÑ&Ô&Ð&Ð&Ð&r[   c                 óæ  — t          g d¢g d¢¦  «        \  }}}t          g d¢g d¢¦  «        \  }}}t          g d¢g d¢¦  «        \  }}}	t          g d¢g d¢¦  «        \  }
}}t          ||¦  «         t          ||¦  «         t          ||
¦  «         t          ||¦  «         t          ||¦  «         t          ||¦  «         t          ||¦  «         t          ||	¦  «         t          ||¦  «         d S )Nrâ  rã  )r   rH   rF   r­  rƒ   )r   rö  r   r‘   rF   )r   r   rH   rF   r­  rƒ   )r   r   r   rö  r   r‘   rF   )r6   r   ©rU   Úr0Úp0Úk0Úr1Úp1Úk1Úr2Úp2Úk2Úr3Úp3Úk3s                rY   Útest_residue_leading_zerosz7TestPartialFractionExpansion.test_residue_leading_zerosW  s  € å˜]˜]˜]¨M¨M¨MÑ:Ô:‰
ˆˆB�ÝÐ-Ð-Ð-¨}¨}¨}Ñ=Ô=‰
ˆˆB�Ý˜]˜]˜]Ð,<Ð,<Ð,<Ñ=Ô=‰
ˆˆB�ÝÐ0Ð0Ð0Ð2HÐ2HÐ2HÑIÔI‰
ˆˆB�Ý˜B Ñ#Ô#Ð#Ý˜B Ñ#Ô#Ð#Ý˜B Ñ#Ô#Ð#Ý˜B Ñ#Ô#Ð#Ý˜B Ñ#Ô#Ð#Ý˜B Ñ#Ô#Ð#Ý˜B Ñ#Ô#Ð#Ý˜B Ñ#Ô#Ð#Ý˜B Ñ#Ô#Ð#Ð#Ð#r[   c                 óÖ  — t          ddgg d¢¦  «        \  }}}t          |ddg¦  «         t          |ddg¦  «         t          |j        d¦  «         t          dd¦  «        \  }}}t          |j        d¦  «         t          |j        d¦  «         t          |j        d¦  «         t	          j        t          d¬¦  «        5  t          dd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   rä  r­  rö  rK   úDenominator `a` is zero.r  )r6   r   r
   rà   r  r	   r¤   rë  s       rY   Útest_resiude_degeneratez4TestPartialFractionExpansion.test_resiude_degenerateg  s)  € å˜1˜a˜& ) ) )Ñ,Ô,‰ˆˆ1ˆaÝ˜A  1˜vÑ&Ô&Ð&Ý˜A  B˜xÑ(Ô(Ð(Ý�Q”V˜QÑÔÐå˜!˜Q‘-”-‰ˆˆ1ˆaÝ�Q”V˜QÑÔÐÝ�Q”V˜QÑÔÐÝ�Q”V˜QÑÔÐåŒ]�:Ð-GÐHÑHÔHð 	ð 	Ý�A�q‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   Ã CÃC"Ã%C"c                 ó*	  — t          g d¢g d¢¦  «        \  }}}|                      ||g d¢g d¢¦  «         t          |dg¦  «         t          g d¢g d¢¦  «        \  }}}|                      ||dd	gd
dgd¬¦  «         t          |dgd¬¦  «         t          ddgg d¢¦  «        \  }}}t          |ddg¦  «         t          |ddg¦  «         t          |j        d¦  «         t          g d¢g d¢¦  «        \  }}}|                      ||g d¢g d¢¦  «         t          |j        d¦  «         t          g d¢g d¢¦  «        \  }}}t          |ddg¦  «         t          |ddg¦  «         t          |ddg¦  «         t          dgg d¢¦  «        \  }}}|                      ||g d ¢g d!¢¦  «         t          |j        d¦  «         t          ddgt          j        dd"gdd#g¦  «        ¦  «        \  }}}t          |d$d%g¦  «         t          |d&dg¦  «         t          |j        d¦  «         t          g d'¢ddg¦  «        \  }}}t          |dg¦  «         t          |dg¦  «         t          |ddg¦  «         t          ddd(g¦  «        \  }}}t          |dg¦  «         t          |d)g¦  «         t          |j        d¦  «         t          dg d*¢¦  «        \  }}}t          |ddg¦  «         t          |ddg¦  «         t          |j        d¦  «         t          dg d+¢¦  «        \  }}}t          |ddg¦  «         t          |d#dg¦  «         t          |j        d¦  «         t          g d,¢g d'¢¦  «        \  }}}t          |d-d.g¦  «         t          |ddg¦  «         t          |dg¦  «         t          d/dgg d'¢¦  «        \  }}}t          |d0d1g¦  «         t          |ddg¦  «         t          |j        d¦  «         t          g d¢g d'¢¦  «        \  }}}t          |d2d3g¦  «         t          |ddg¦  «         t          |d4dg¦  «         t          g d5¢g d6¢¦  «        \  }}}|                      ||g d7¢g d8¢d¬¦  «         t          |j        d¦  «         d S )9N)rK   rI   rI   rL   )rK   y       À      ð¿r¹  ræ  )y       À      @y      @      @y      À      (À)r’   rK   rK   rj   )rK   rL   rK   )rK   r“   g'Â†§WÊÖ?y	Šcîì¿à-� øÀy	Šcîì¿à-� ø@y      à?*©ÐDØÔ?y      à?*©ÐDØÔ¿rG   r¾  g�Å�1w@rK   r“   )rK   r�  rI   rL   rF   r   r�   rç  )rG   r�  rF   rè  )rK   rw  rö  rG   )rL   r­  rö  r  g      ø¿ç      ø?rh  )rh  rF   rö  r“   )g
×£p=
×?g¸…ëQ¸Î?çš™™™™™Ù?)r  çUUUUUUÕ¿r  rk  r®  g«ªªªªª
ÀgUUUUUU@rå  ©rK   r­  rK   ræ  r’   )rK   r“   r®  )rK   g      è¿r—  )rK   rI   rL   rw  r$  rI   r­  r‘   ièÿÿÿrl  rM   rU  )rK   r   r   r   r   r“   )yoð…ÉTÁÐ?cÙ=yXÈ?yoð…ÉTÁÐ?cÙ=yXÈ¿r  yjMóŽ£?%uš¾¿yjMóŽ£?%uš¾?)yÙÎ÷Sãé¿s×òAÏâ?yÙÎ÷Sãé¿s×òAÏâ¿r\  y-²�ï§ÆÓ?8gDioî?y-²�ï§ÆÓ?8gDioî¿)r7   rÖ  r   r
   rà   rv   Úpolymulrë  s       rY   Útest_residuez_generalz2TestPartialFractionExpansion.test_residuez_generalv  sg  € Ý˜<˜<˜<Ð)FÐ)FÐ)FÑGÔG‰ˆˆ1ˆaØ×#Ò# A qÐ*GÐ*GÐ*GØ$. J Jñ	0ô 	0ð 	0å˜A ˜tÑ$Ô$Ð$å˜9˜9˜9 o o oÑ6Ô6‰ˆˆ1ˆaØ×#Ò# A qØ%6Ð8IÐ$JØ%2°MÐ$BØ,-ð 	$ñ 	/ô 	/ð 	/õ 	˜A ˜x°Ð3Ñ3Ô3Ð3å˜A˜r˜7 J J JÑ/Ô/‰ˆˆ1ˆaÝ˜A  A˜wÑ'Ô'Ð'Ý˜A  1˜vÑ&Ô&Ð&Ý�Q”V˜QÑÔÐå˜9˜9˜9 l l lÑ3Ô3‰ˆˆ1ˆaØ×#Ò# A q¨*¨*¨*°l°l°lÑCÔCÐCÝ�Q”V˜QÑÔÐå˜?˜?˜?¨K¨K¨KÑ8Ô8‰ˆˆ1ˆaÝ˜A  T˜{Ñ+Ô+Ð+Ý˜A  A˜wÑ'Ô'Ð'Ý˜A  R˜yÑ)Ô)Ð)å˜B˜4   Ñ1Ô1‰ˆˆ1ˆaØ×#Ò# A qØ$5Ð$5Ð$5Ð7HÐ7HÐ7Hñ	Jô 	Jð 	Jå�Q”V˜QÑÔÐå˜A˜q˜6¥2¤:¨q°$¨i¸!¸S¸Ñ#BÔ#BÑCÔC‰ˆˆ1ˆaÝ˜A  t˜}Ñ-Ô-Ð-Ý˜A  s˜|Ñ,Ô,Ð,Ý�Q”V˜QÑÔÐå˜:˜:˜:¨¨2 wÑ/Ô/‰ˆˆ1ˆaÝ˜A ˜sÑ#Ô#Ð#Ý˜A ˜sÑ#Ô#Ð#Ý˜A  2˜wÑ'Ô'Ð'å˜1˜q #˜hÑ'Ô'‰ˆˆ1ˆaÝ˜A ˜sÑ#Ô#Ð#Ý˜A ˜tÑ$Ô$Ð$Ý�Q”V˜QÑÔÐå˜1˜m˜m˜mÑ,Ô,‰ˆˆ1ˆaÝ˜A  1˜vÑ&Ô&Ð&Ý˜A  S˜zÑ*Ô*Ð*Ý�Q”V˜QÑÔÐå˜1Ð.Ð.Ð.Ñ/Ô/‰ˆˆ1ˆaÝ˜A  A˜wÑ'Ô'Ð'Ý˜A  c˜{Ñ+Ô+Ð+Ý�Q”V˜QÑÔÐå˜9˜9˜9 j j jÑ1Ô1‰ˆˆ1ˆaÝ˜A  Q˜xÑ(Ô(Ð(Ý˜A  1˜vÑ&Ô&Ð&Ý˜A ˜sÑ#Ô#Ð#å˜A˜q˜6 : : :Ñ.Ô.‰ˆˆ1ˆaÝ˜A  A˜wÑ'Ô'Ð'Ý˜A  1˜vÑ&Ô&Ð&Ý�Q”V˜QÑÔÐå˜<˜<˜<¨¨¨Ñ4Ô4‰ˆˆ1ˆaÝ˜A  R˜yÑ)Ô)Ð)Ý˜A  1˜vÑ&Ô&Ð&Ý˜A  A˜wÑ'Ô'Ð'å˜9˜9˜9Ð&9Ð&9Ð&9Ñ:Ô:‰ˆˆ1ˆaØ×#Ò# A qð%Nð %Nð %Nð%Nð %Nð %Nà,-ð 	$ñ 	/ô 	/ð 	/õ 	�Q”V˜QÑÔÐÐÐr[   c                 óæ  — t          g d¢g d¢¦  «        \  }}}t          g d¢g d¢¦  «        \  }}}t          g d¢g d¢¦  «        \  }}}	t          g d¢g d¢¦  «        \  }
}}t          ||¦  «         t          ||¦  «         t          ||
¦  «         t          ||¦  «         t          ||¦  «         t          ||¦  «         t          ||¦  «         t          ||	¦  «         t          ||¦  «         d S )Nrâ  rã  )rH   rF   r­  rƒ   r   )rö  r   r‘   rF   r   )rH   rF   r­  rƒ   r   r   )rö  r   r‘   rF   r   r   r   )r7   r   rî  s                rY   Útest_residuez_trailing_zerosz9TestPartialFractionExpansion.test_residuez_trailing_zerosÇ  s  € õ ˜m˜m˜m¨]¨]¨]Ñ;Ô;‰
ˆˆB�ÝÐ.Ð.Ð.°°°Ñ>Ô>‰
ˆˆB�Ý˜m˜m˜mÐ-=Ð-=Ð-=Ñ>Ô>‰
ˆˆB�ÝÐ1Ð1Ð1Ð3IÐ3IÐ3IÑJÔJ‰
ˆˆB�Ý˜B Ñ#Ô#Ð#Ý˜B Ñ#Ô#Ð#Ý˜B Ñ#Ô#Ð#Ý˜B Ñ#Ô#Ð#Ý˜B Ñ#Ô#Ð#Ý˜B Ñ#Ô#Ð#Ý˜B Ñ#Ô#Ð#Ý˜B Ñ#Ô#Ð#Ý˜B Ñ#Ô#Ð#Ð#Ð#r[   c                 ó`  — t          ddgg d¢¦  «        \  }}}t          |ddg¦  «         t          |ddg¦  «         t          |j        d¦  «         t          dd¦  «        \  }}}t          |j        d¦  «         t          |j        d¦  «         t          |j        d¦  «         t	          j        t          d¬¦  «        5  t          dd¦  «         d d d ¦  «         n# 1 swxY w Y   t	          j        t          d¬¦  «        5  t          dg d	¢¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nr   rä  r­  rö  rK   rý  r  z6First coefficient of determinant `a` must be non-zero.r×  )r7   r   r
   rà   r  r	   r¤   rë  s       rY   Útest_residuez_degeneratez5TestPartialFractionExpansion.test_residuez_degenerateØ  s´  € Ý˜A˜q˜6 9 9 9Ñ-Ô-‰ˆˆ1ˆaÝ˜A  1˜vÑ&Ô&Ð&Ý˜A  B˜xÑ(Ô(Ð(Ý�Q”V˜QÑÔÐå˜1˜a‘.”.‰ˆˆ1ˆaÝ�Q”V˜QÑÔÐÝ�Q”V˜QÑÔÐÝ�Q”V˜QÑÔÐåŒ]�:Ð-GÐHÑHÔHð 	ð 	Ý�Q˜‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ Œ]�:ð"0ð1ñ 1ô 1ð 	&ð 	&õ �Q˜˜˜Ñ%Ô%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð 	&ð 	&s$   Ã CÃC!Ã$C!ÄD#Ä#D'Ä*D'c                 ó  — g d¢}g d¢}g }g d¢}g d¢}dD ]n}t          ||||¬¦  «        \  }}t          ||¦  «         t          ||¦  «         t          ||||¬¦  «        \  }}t          ||¦  «         t          ||¦  «         Œod S )N)r
  çUUUUUUÅ¿gÁ¿)r   r­  r�  )r   rK   rF   )rK   rƒ   rM   r   ©ÚavgrÃ  rÜ  rÅ  r  rÆ  ©Úrtype©r*   r   r+   )	rU   rž  rô  rr  Ú
b_expectedÚ
a_expectedr  rW   rV   s	            rY   Ú*test_inverse_unique_roots_different_rtypeszGTestPartialFractionExpansion.test_inverse_unique_roots_different_rtypesë  sÀ   € à%Ð%Ð%ˆØˆKˆKˆØˆØ�Y�Yˆ
Ø"�]�]ˆ
ð Ið 	+ð 	+ˆEÝ˜!˜Q ¨Ð/Ñ/Ô/‰DˆAˆqÝ˜A˜zÑ*Ô*Ð*Ý˜A˜zÑ*Ô*Ð*å˜1˜a ¨%Ð0Ñ0Ô0‰DˆAˆqÝ˜A˜zÑ*Ô*Ð*Ý˜A˜zÑ*Ô*Ð*Ð*ð	+ð 	+r[   c                 ó  — g d¢}g d¢}g }g d¢}g d¢}g d¢}dD ]r}t          ||||¬¦  «        \  }}	t          ||d¬	¦  «         t          |	|¦  «         t          ||||¬¦  «        \  }}	t          ||d¬	¦  «         t          |	|¦  «         Œsd S )
N©g333333Ã?g9Žã8ŽãÈ¿r  glÁlÁ¦?©r   r­  r­  r�  )r   r   rK   rF   )r  gUUUUUUå¿gUUUUUUý?rF   )rK   r$  r3  r  r   r  r  rª  r  r  )
rU   rž  rô  rr  r  Úb_expected_zr  r  rW   rV   s
             rY   Ú,test_inverse_repeated_roots_different_rtypeszITestPartialFractionExpansion.test_inverse_repeated_roots_different_rtypesþ  sÔ   € Ø-Ð-Ð-ˆØˆOˆOˆØˆØ!�\�\ˆ
Ø,Ð,Ð,ˆØ&Ð&Ð&ˆ
àHð 	+ð 	+ˆEÝ˜!˜Q ¨Ð/Ñ/Ô/‰DˆAˆqÝ˜A˜z°Ð6Ñ6Ô6Ð6Ý˜A˜zÑ*Ô*Ð*å˜1˜a ¨%Ð0Ñ0Ô0‰DˆAˆqÝ˜A˜|°%Ð8Ñ8Ô8Ð8Ý˜A˜zÑ*Ô*Ð*Ð*ð	+ð 	+r[   c                 ó4  — g d¢}g d¢}g }t          j        t          d¬¦  «        5  t          |||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t	          |||d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr  r  z`rtype` must be one ofr  rÄ  r  )r  r	   r¤   r*   r+   rë  s       rY   Útest_inverse_bad_rtypez3TestPartialFractionExpansion.test_inverse_bad_rtype  s.  € Ø-Ð-Ð-ˆØˆOˆOˆØˆÝŒ]�:Ð-EÐFÑFÔFð 	,ð 	,Ý�1�a˜ (Ð+Ñ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,åŒ]�:Ð-EÐFÑFÔFð 	-ð 	-Ý�A�q˜! 8Ð,Ñ,Ô,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-ð 	-ð 	-s#   ¦AÁA
ÁA
Á,BÂBÂBc                 ó†   — dg}dg}dg}t          |||¦  «        \  }}t          |dg¦  «         t          |ddg¦  «         d S )NrK   rL   r   r\  g       À)r+   r   )rU   rž  rô  rr  rW   rV   s         rY   Ú test_invresz_one_coefficient_bugz=TestPartialFractionExpansion.test_invresz_one_coefficient_bug  sX   € àˆCˆØˆCˆØˆCˆÝ�q˜!˜QÑÔ‰ˆˆ1Ý˜˜C˜5Ñ!Ô!Ð!Ý˜˜C ˜;Ñ'Ô'Ð'Ð'Ð'r[   c                 ó`  — t          dgdgg ¦  «        \  }}t          |dg¦  «         t          |ddg¦  «         t          g d¢g d¢g ¦  «        \  }}t          |g d¢¦  «         t          |g d¢¦  «         t          ddgdd	gg d
¢¦  «        \  }}t          |g d¢¦  «         t          |g d¢¦  «         t          g d¢g d¢g ¦  «        \  }}t          |g d¢¦  «         t          |g d¢¦  «         t          ddgddgddg¦  «        \  }}t          |g d¢¦  «         t          |g d¢¦  «         d S )NrK   r“   ©rê  rL   ù      à?      À©rK   rã   rg   ©y      @      Ày      !À      Ð?y      @      
@©rK   y       À      ø¿y      à?       @y      à?      à¿r  rê  r©  rJ   )rK   ù      ð¿      ð¿ù      ð?       Àr  rM   ©rK   ù      À      ð¿rG   ©r“   rL   r’   rÛ  rG   r­  ©r“   r´   r´   rF   rF   rF   )y      @      ð¿y      <À      0@y      D@      OÀy      Y@      8@y     @rÀ     `k@y      h@     ÀpÀ©rK   y      (À       @y     €J@      4Ày      XÀ      Q@y      ;@      RÀy      [@      KÀy     @TÀ      [@r’   rL   )rK   r   rö  ri   r  )r*   r   ©rU   rW   rV   s      rY   Útest_invresz(TestPartialFractionExpansion.test_invres!  s   € Ý�q�c˜A˜3 Ñ#Ô#‰ˆˆ1Ý˜A ˜sÑ#Ô#Ð#Ý˜A  2˜wÑ'Ô'Ð'åÐ+Ð+Ð+Ð->Ð->Ð->ÀÑCÔC‰ˆˆ1Ý˜AÐDÐDÐDÑEÔEÐEÝ˜AÐCÐCÐCÑDÔDÐDå�s˜A�h ¨Ð 0°)°)°)Ñ<Ô<‰ˆˆ1Ý˜AÐAÐAÐAÑBÔBÐBÝ˜A˜˜˜Ñ/Ô/Ð/åÐ0Ð0Ð0Ø3Ð3Ð3°Rñ9ô 9‰ˆˆ1å˜Að  9ð  9ð  9ñ 	:ô 	:ð 	:å˜Að  7ð  7ð  7ñ 	8ô 	8ð 	8õ �r˜2�h  A ¨¨A¨Ñ/Ô/‰ˆˆ1Ý˜AÐ1Ð1Ð1Ñ2Ô2Ð2Ý˜A˜z˜z˜zÑ*Ô*Ð*Ð*Ð*r[   c                 ó`  — t          dgdgg ¦  «        \  }}t          |dg¦  «         t          |ddg¦  «         t          g d¢g d¢g ¦  «        \  }}t          |g d¢¦  «         t          |g d¢¦  «         t          ddgdd	gg d
¢¦  «        \  }}t          |g d¢¦  «         t          |g d¢¦  «         t          g d¢g d¢g ¦  «        \  }}t          |g d¢¦  «         t          |g d¢¦  «         t          ddgddgddg¦  «        \  }}t          |g d¢¦  «         t          |g d¢¦  «         d S )NrK   r“   r  r   r!  r"  r  rê  r©  rJ   )g      @r&  r$  y      ð¿      ÀrR   r%  r'  r(  )rI   y      IÀ      &@y      Y@      RÀy      T@      M@y      vÀ     €l@y     @m@     �rÀr)  r’   rL   )r’   rK   r™  rL   r  )r+   r   r*  s      rY   Útest_invreszz)TestPartialFractionExpansion.test_invresz9  s�  € Ý˜�s˜Q˜C Ñ$Ô$‰ˆˆ1Ý˜A ˜sÑ#Ô#Ð#Ý˜A  2˜wÑ'Ô'Ð'åÐ,Ð,Ð,Ð.?Ð.?Ð.?ÀÑDÔD‰ˆˆ1Ý˜AÐDÐDÐDÑEÔEÐEÝ˜AÐCÐCÐCÑDÔDÐDå˜˜Q�x &¨&Ð!1°9°9°9Ñ=Ô=‰ˆˆ1Ý˜AÐBÐBÐBÑCÔCÐCÝ˜A˜˜˜Ñ/Ô/Ð/åÐ1Ð1Ð1Ø4Ð4Ð4°bñ:ô :‰ˆˆ1å˜Að  9ð  9ð  9ñ 	:ô 	:ð 	:å˜Að  7ð  7ð  7ñ 	8ô 	8ð 	8õ ˜˜B�x ! Q ¨!¨Q¨Ñ0Ô0‰ˆˆ1Ý˜A˜~˜~˜~Ñ.Ô.Ð.Ý˜A˜z˜z˜zÑ*Ô*Ð*Ð*Ð*r[   c                 óæ   — t          ddd¦  «        \  }}t          |ddg¦  «         t          |ddg¦  «         t          ddd¦  «        \  }}t          |ddg¦  «         t          |ddg¦  «         d S )NrK   r   r“   rL   )r*   r   r+   r*  s      rY   Útest_inverse_scalar_argumentsz:TestPartialFractionExpansion.test_inverse_scalar_argumentsQ  s€   € Ý�a˜˜A‰Œ‰ˆˆ1Ý˜A  1˜vÑ&Ô&Ð&Ý˜A  2˜wÑ'Ô'Ð'å�q˜!˜QÑÔ‰ˆˆ1Ý˜A  2˜wÑ'Ô'Ð'Ý˜A  2˜wÑ'Ô'Ð'Ð'Ð'r[   N)rƒ   )r§   r¨   r©   rÌ  rÖ  rÚ  rà  rì  rû  rþ  r  r  r	  r  r  r  r  r+  r-  r/  rª   r[   rY   rÎ  rÎ  í  s  € € € € € Øð	Dð 	Dð 	Dñ „\ð	Dð?ð ?ð ?ð&.ð .ð .ðB'ð B'ð B'ðH$ð $ð $ð ð ð ðO ð O ð O ðb$ð $ð $ð"&ð &ð &ð&+ð +ð +ð&+ð +ð +ð"-ð -ð -ð(ð (ð (ð+ð +ð +ð0+ð +ð +ð0(ð (ð (ð (ð (r[   rÎ  c                   ób   — 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S )ÚTestVectorstrengthc                 ó  — t          j        dg¦  «        }d}d}d}t          ||¦  «        \  }}t          |j        d¦  «         t          |j        d¦  «         t          ||¦  «         t          |dt           j        z  |z  ¦  «         d S )Nr  r‹  r\  r!  r   rL   ©rv   r   r,   r
   r£  r   r  ©rU   ÚeventsÚperiodÚtarg_strengthÚ
targ_phaseÚstrengthÚphases          rY   Útest_single_1dperiodz'TestVectorstrength.test_single_1dperiod]  sˆ   € Ý”˜2˜$‘”ˆØˆØˆØˆ
å(¨°Ñ8Ô8‰ˆ�%å�X”] AÑ&Ô&Ð&Ý�U”Z Ñ#Ô#Ð#Ý˜H mÑ4Ô4Ð4Ý˜E 1¥r¤u¡9¨zÑ#9Ñ:Ô:Ð:Ð:Ð:r[   c                 óJ  — t          j        dg¦  «        }g d¢}dgdz  }t          j        g d¢¦  «        }t          ||¦  «        \  }}t          |j        d¦  «         t          |j        d¦  «         t          ||¦  «         t          |dt           j        z  |z  ¦  «         d S )Nr  )rK   rL   r‹  r\  rF   )r  r®  r!  rK   rL   )rv   r   r,   r
   r£  r   r   r  r4  s          rY   Útest_single_2dperiodz'TestVectorstrength.test_single_2dperiodj  s    € Ý”˜2˜$‘”ˆØ��ˆØ˜˜q™ˆÝ”X˜m˜m˜mÑ,Ô,ˆ
å(¨°Ñ8Ô8‰ˆ�%å�X”] AÑ&Ô&Ð&Ý�U”Z Ñ#Ô#Ð#Ý! (¨MÑ:Ô:Ð:Ý˜E 1¥r¤u¡9¨zÑ#9Ñ:Ô:Ð:Ð:Ð:r[   c                 ó  — t          j        g d¢¦  «        }d}d}d}t          ||¦  «        \  }}t          |j        d¦  «         t          |j        d¦  «         t          ||¦  «         t          |dt           j        z  |z  ¦  «         d S )N©r®  r®  r®  r®  r®  r®  rL   r\  r—  r   r3  r4  s          rY   Útest_equal_1dperiodz&TestVectorstrength.test_equal_1dperiodw  s�   € Ý”Ð8Ð8Ð8Ñ9Ô9ˆØˆØˆØˆ
å(¨°Ñ8Ô8‰ˆ�%å�X”] AÑ&Ô&Ð&Ý�U”Z Ñ#Ô#Ð#Ý˜H mÑ4Ô4Ð4Ý˜E 1¥r¤u¡9¨zÑ#9Ñ:Ô:Ð:Ð:Ð:r[   c                 óL  — t          j        g d¢¦  «        }ddg}dgdz  }t          j        ddg¦  «        }t          ||¦  «        \  }}t          |j        d¦  «         t          |j        d¦  «         t          ||¦  «         t          |dt           j        z  |z  ¦  «         d S )Nr?  rK   rL   r\  r®  r—  r3  r4  s          rY   Útest_equal_2dperiodz&TestVectorstrength.test_equal_2dperiod„  s§   € Ý”Ð8Ð8Ð8Ñ9Ô9ˆØ�Q�ˆØ˜˜q™ˆÝ”X˜s D˜kÑ*Ô*ˆ
å(¨°Ñ8Ô8‰ˆ�%å�X”] AÑ&Ô&Ð&Ý�U”Z Ñ#Ô#Ð#Ý˜H mÑ4Ô4Ð4Ý˜E 1¥r¤u¡9¨zÑ#9Ñ:Ô:Ð:Ð:Ð:r[   c                 ó  — t          j        g d¢¦  «        }d}d}d}t          ||¦  «        \  }}t          |j        d¦  «         t          |j        d¦  «         t          ||¦  «         t          |dt           j        z  |z  ¦  «         d S )N©r!  gš™™™™™ñ?gÍÌÌÌÌÌ @gffffff@g333333$@rK   r\  r!  r   rL   r3  r4  s          rY   Útest_spaced_1dperiodz'TestVectorstrength.test_spaced_1dperiod‘  s�   € Ý”Ð3Ð3Ð3Ñ4Ô4ˆØˆØˆØˆ
å(¨°Ñ8Ô8‰ˆ�%å�X”] AÑ&Ô&Ð&Ý�U”Z Ñ#Ô#Ð#Ý˜H mÑ4Ô4Ð4Ý˜E 1¥r¤u¡9¨zÑ#9Ñ:Ô:Ð:Ð:Ð:r[   c                 óL  — t          j        g d¢¦  «        }ddg}dgdz  }t          j        ddg¦  «        }t          ||¦  «        \  }}t          |j        d¦  «         t          |j        d¦  «         t          ||¦  «         t          |dt           j        z  |z  ¦  «         d S )NrD  rK   r  r\  rL   r!  r  r3  r4  s          rY   Útest_spaced_2dperiodz'TestVectorstrength.test_spaced_2dperiodž  s§   € Ý”Ð3Ð3Ð3Ñ4Ô4ˆØ�R�ˆØ˜˜q™ˆÝ”X˜r 2˜hÑ'Ô'ˆ
å(¨°Ñ8Ô8‰ˆ�%å�X”] AÑ&Ô&Ð&Ý�U”Z Ñ#Ô#Ð#Ý˜H mÑ4Ô4Ð4Ý˜E 1¥r¤u¡9¨zÑ#9Ñ:Ô:Ð:Ð:Ð:r[   c                 ó  — t          j        g d¢¦  «        }d}d}d}t          ||¦  «        \  }}t          |j        d¦  «         t          |j        d¦  «         t          ||¦  «         t          |dt           j        z  |z  ¦  «         d S )N©r®  r  ç      è?rK   çUUUUUUÕ?r  r   rL   r3  r4  s          rY   Útest_partial_1dperiodz(TestVectorstrength.test_partial_1dperiod«  sŒ   € Ý”˜.˜.˜.Ñ)Ô)ˆØˆØˆØˆ
å(¨°Ñ8Ô8‰ˆ�%å�X”] AÑ&Ô&Ð&Ý�U”Z Ñ#Ô#Ð#Ý˜H mÑ4Ô4Ð4Ý˜E 1¥r¤u¡9¨zÑ#9Ñ:Ô:Ð:Ð:Ð:r[   c                 óL  — t          j        g d¢¦  «        }g d¢}dgdz  }t          j        g d¢¦  «        }t          ||¦  «        \  }}t          |j        d¦  «         t          |j        d¦  «         t          ||¦  «         t          |dt           j        z  |z  ¦  «         d S )NrI  )r\  r\  r\  r\  rK  rG   )r  r  r  r  rK   rL   r3  r4  s          rY   Útest_partial_2dperiodz(TestVectorstrength.test_partial_2dperiod¸  s©   € Ý”˜.˜.˜.Ñ)Ô)ˆØ!Ð!Ð!ˆØ ˜	 A™ˆÝ”XÐ.Ð.Ð.Ñ/Ô/ˆ
å(¨°Ñ8Ô8‰ˆ�%å�X”] AÑ&Ô&Ð&Ý�U”Z Ñ#Ô#Ð#Ý˜H mÑ4Ô4Ð4Ý˜E 1¥r¤u¡9¨zÑ#9Ñ:Ô:Ð:Ð:Ð:r[   c                 óÔ   — t          j        g d¢¦  «        }d}d}t          ||¦  «        \  }}t          |j        d¦  «         t          |j        d¦  «         t          ||¦  «         d S )N©r   r®  r  rJ  r\  r   ©rv   r   r,   r
   r£  r   ©rU   r5  r6  r7  r9  r:  s         rY   Útest_opposite_1dperiodz)TestVectorstrength.test_opposite_1dperiodÅ  so   € Ý”Ð+Ð+Ð+Ñ,Ô,ˆØˆØˆå(¨°Ñ8Ô8‰ˆ�%å�X”] AÑ&Ô&Ð&Ý�U”Z Ñ#Ô#Ð#Ý˜H mÑ4Ô4Ð4Ð4Ð4r[   c                 óä   — t          j        g d¢¦  «        }dgdz  }dgdz  }t          ||¦  «        \  }}t          |j        d¦  «         t          |j        d¦  «         t          ||¦  «         d S )NrP  r\  rM   r	  rK   rQ  rR  s         rY   Útest_opposite_2dperiodz)TestVectorstrength.test_opposite_2dperiodÐ  s{   € Ý”Ð+Ð+Ð+Ñ,Ô,ˆØ�˜‘ˆØ˜˜r™	ˆå(¨°Ñ8Ô8‰ˆ�%å�X”] AÑ&Ô&Ð&Ý�U”Z Ñ#Ô#Ð#Ý˜H mÑ4Ô4Ð4Ð4Ð4r[   c                 óp   — t          j        ddgg¦  «        }d}t          t          t          ||¦  «         d S )NrK   rL   r\  ©rv   r   r£   r¤   r,   ©rU   r5  r6  s      rY   Útest_2d_events_ValueErrorz,TestVectorstrength.test_2d_events_ValueErrorÛ  s6   € Ý”˜A˜q˜6˜(Ñ#Ô#ˆØˆÝ•j¥.°&¸&ÑAÔAÐAÐAÐAr[   c                 ón   — d}t          j        dgg¦  «        }t          t          t          ||¦  «         d S )Nr\  rK   rW  rX  s      rY   Útest_2d_period_ValueErrorz,TestVectorstrength.test_2d_period_ValueErrorà  s2   € ØˆÝ”˜A˜3˜%‘”ˆÝ•j¥.°&¸&ÑAÔAÐAÐAÐAr[   c                 óF   — d}d}t          t          t          ||¦  «         d S )Nr\  r   ©r£   r¤   r,   rX  s      rY   Útest_zero_period_ValueErrorz.TestVectorstrength.test_zero_period_ValueErrorå  s&   € ØˆØˆÝ•j¥.°&¸&ÑAÔAÐAÐAÐAr[   c                 óF   — d}d}t          t          t          ||¦  «         d S )Nr\  r“   r]  rX  s      rY   Útest_negative_period_ValueErrorz2TestVectorstrength.test_negative_period_ValueErrorê  s&   € ØˆØˆÝ•j¥.°&¸&ÑAÔAÐAÐAÐAr[   N)r§   r¨   r©   r;  r=  r@  rB  rE  rG  rL  rN  rS  rU  rY  r[  r^  r`  rª   r[   rY   r1  r1  [  sô   € € € € € ð;ð ;ð ;ð;ð ;ð ;ð;ð ;ð ;ð;ð ;ð ;ð;ð ;ð ;ð;ð ;ð ;ð;ð ;ð ;ð;ð ;ð ;ð	5ð 	5ð 	5ð	5ð 	5ð 	5ðBð Bð Bð
Bð Bð Bð
Bð Bð Bð
Bð Bð Bð Bð Br[   r1  r-  c                 óæ   — | j         j        dk    rNt          j        | j        d         ¦  «        j         }|                      |¦  «        |                     |¦  «        }} t          | |||¦  «         dS )z1Wrap assert_allclose while casting object arrays.r^  r   N)rö   r÷   rv   r   Úflatrø   r   )r?  ro  rí   rî   rö   s        rY   Úassert_allclose_castrc  ð  se   € à„|Ô˜CÒÐÝ”˜œ QœÑ(Ô(Ô.ˆØ Ÿ-š-¨Ñ.Ô.°·²¸uÑ0EÔ0E�ˆÝ�F˜G T¨4Ñ0Ô0Ð0Ð0Ð0r[   rW  c                 óÖ  — t          d¦  «        t          d¦  «        t          d¦  «        g}t          d¦  «        t          d¦  «        t          d¦  «        g}t          d¦  «        t          d¦  «        t          d¦  «        g}t          j        |¦  «        }|j        j        dk    sJ ‚t          t          j        |t          ¦  «        t          j        |t          ¦  «        |                     t          ¦  «        ¦  «        }| t          u rt          ||z   g|¦  «        }nt          |||¦  «        }t          d„ |D ¦   «         ¦  «        sJ ‚t          |                     t          ¦  «        |                     t          ¦  «        ¦  «         | t
          u rddg}nt          dd¦  «        g}t          j        t          d¬¦  «        5   | |d	diŽ d d d ¦  «         d S # 1 swxY w Y   d S )
NrK   rL   rF   r^  c              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S r3  )râ  r   )rÙ   rk   s     rY   rŸ  z)test_nonnumeric_dtypes.<locals>.<genexpr>  s,   è è € Ð6Ð6¨!�z˜!�WÑ%Ô%Ð6Ð6Ð6Ð6Ð6Ð6r[   r\  zmust be at least 1-Dr  rk   )r   rv   r   rö   r÷   r$   rn  rø   r/   r|  r   r.   r  r	   r¤   )rW  rk   rW   rV   ro  r?  rû   s          rY   Útest_nonnumeric_dtypesrf  ø  sâ  € õ 
�‰Œ•W˜Q‘Z”Z¥¨¡¤Ð,€AÝ	�‰Œ•W˜Q‘Z”Z¥¨¡¤Ð,€AÝ	�‰Œ•W˜Q‘Z”Z¥¨¡¤Ð,€AÝ
Œ�‰Œ€AØŒ7Œ<˜3ÒÐÐÐÝ•b”h˜q¥%Ñ(Ô(­"¬(°1µeÑ*<Ô*<¸a¿hºhÅu¹o¼oÑNÔN€GØ�w€€Ý˜!˜a™%˜ !Ñ$Ô$ˆˆå˜˜A˜qÑ!Ô!ˆÝÐ6Ð6¨vÐ6Ñ6Ô6Ñ6Ô6Ð6Ð6Ð6Ý�F—M’M¥%Ñ(Ô(¨'¯.ª.½Ñ*?Ô*?Ñ@Ô@Ð@à�w€€Ø�Bˆxˆˆå�r˜2‘”Ðˆå	Œ•zÐ)?Ð	@Ñ	@Ô	@ð ð ØˆˆdÐ�bÐÐÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Ç	GÇG"Ç%G"ÚfdFDc                   ób   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
j        j        d„ ¦   «         Zd	S )
ÚTestSOSFiltc                 óÊ  — t          j        ddd¦  «                             |¦  «        }t          j        ddg¦  «                             |¦  «        }t          j        ddg¦  «                             |¦  «        }t          j        g d¢¦  «                             |¦  «        }t	          ||¦  «        }t          t          t	          ||¦  «        |¦  «        |¦  «         t          j        ddg¦  «                             |¦  «        }t          j        ddg¦  «                             |¦  «        }t          j        g d	¢¦  «                             |¦  «        }t          t          t	          ||¦  «        |¦  «        |¦  «         g d
¢}g d¢}t          j        d¦  «        }t          j        ||f¦  «        }d|_	        t          ||¦  «        }t          |g d¢¦  «         d S )Nr   rH   rI   rK   r“   r  rk  rl  rr  )rK   rK   r   rË  r‘   )rK   rI   )rK   rL   rL   rL   rL   rL   rL   rL   )rv   rã  rø   r   r.   r   r/   rd  rR  rŠ  r   )rU   r  rk   rW   rV   ro  r�  rl   s           rY   Ú
test_rank1zTestSOSFilt.test_rank1  s§  € ÝŒK˜˜1˜aÑ Ô ×'Ò'¨Ñ+Ô+ˆÝŒH�a˜�WÑÔ×$Ò$ RÑ(Ô(ˆÝŒH�c˜4�[Ñ!Ô!×(Ò(¨Ñ,Ô,ˆõ ŒhÐ+Ð+Ð+Ñ,Ô,×3Ò3°BÑ7Ô7ˆÝ�Q˜‰lŒlˆÝ!¥'­&°°A©,¬,¸Ñ":Ô":¸CÑ@Ô@Ð@õ ŒH�a˜�VÑÔ×#Ò# BÑ'Ô'ˆåŒH�a˜�VÑÔ×#Ò# BÑ'Ô'ˆÝŒhÐ*Ð*Ð*Ñ+Ô+×2Ò2°2Ñ6Ô6ˆÝ!¥'­&°°A©,¬,¸Ñ":Ô":¸CÑ@Ô@Ð@àˆIˆIˆØˆIˆIˆÝŒG�A‰JŒJˆÝŒn˜a ˜VÑ$Ô$ˆØˆŒ	Ý�C˜‰OŒOˆÝ˜Ð3Ð3Ð3Ñ4Ô4Ð4Ð4Ð4r[   c                 óÀ  — d}t          j        dt          j        |¦  «        dz
  t          j        |¦  «        ¦  «                             |¦  «        }|                     |¦  «        }t          j        ddg¦  «                             |¦  «        }t          j        ddg¦  «                             |¦  «        }t          j        g d¢g d¢g d¢g d¢g|¬¦  «        }t          j        g d	¢g d
¢g d¢g d¢g|¬¦  «        }t          t          ||¦  «        |d¬¦  «        }t          ||¦  «         t          t          ||¦  «        |d¬¦  «        }t          ||¦  «         d S )Nr‚  r   rK   r“   r  rƒ  r„  r	  rˆ  r‰  rŠ  r‹  r  )	rv   rã  rZ  rw   rø   r   r/   r.   r   )	rU   r  rŠ  rk   rW   rV   r…  rŒ  rl   s	            rY   Ú
test_rank2zTestSOSFilt.test_rank2.  s[  € ØˆÝŒK˜�2œ7 5™>œ>¨AÑ-­r¬w°u©~¬~Ñ>Ô>×FÒFÀuÑMÔMˆØ�HŠH�R‰LŒLˆåŒH�a˜�WÑÔ×$Ò$ RÑ(Ô(ˆÝŒH�c˜3�ZÑ Ô ×'Ò'¨Ñ+Ô+ˆå”(˜I˜I˜I y y y°)°)°)¸Y¸Y¸YÐGØ!#ð%ñ %ô %ˆõ ”(˜I˜I˜I z z z°=°=°=Ø)˜M˜Mð+Ø24ð6ñ 6ô 6ˆõ •F˜1˜a‘L”L !¨!Ð,Ñ,Ô,ˆÝ! '¨1Ñ-Ô-Ð-å•F˜1˜a‘L”L !¨!Ð,Ñ,Ô,ˆÝ! '¨1Ñ-Ô-Ð-Ð-Ð-r[   c                 ó\  — d}t          j        dt          j        |¦  «        dz
  t          j        |¦  «        ¦  «                             |¦  «        }t          j        ddg¦  «                             |¦  «        }t          j        ddg¦  «                             |¦  «        }t          t          ||¦  «        |¦  «        }t          |j	        d         ¦  «        D ]N}t          |j	        d         ¦  «        D ]1}t          |||f         t          |||||f         ¦  «        ¦  «         Œ2ŒOd S )Nr›  r   rK   r“   r  )rv   rã  rZ  rw   r   rø   r/   r.   rx   rŠ  r   r$   )	rU   r  rŠ  rk   rW   rV   rl   ry   Újs	            rY   rw  zTestSOSFilt.test_rank3B  s  € ØˆÝŒK˜�2œ7 5™>œ>¨AÑ-­r¬w°u©~¬~Ñ>Ô>×FÒFÀuÑMÔMˆåŒH�a˜�WÑÔ×$Ò$ RÑ(Ô(ˆÝŒH�c˜3�ZÑ Ô ×'Ò'¨Ñ+Ô+ˆõ •F˜1˜a‘L”L !Ñ$Ô$ˆÝ�q”w˜q”zÑ"Ô"ð 	Kð 	KˆAÝ˜1œ7 1œ:Ñ&Ô&ð Kð K�Ý)¨!¨A¨q¨D¬'µ7¸1¸aÀÀ1ÀaÀ4ÄÑ3IÔ3IÑJÔJÐJÐJðKð	Kð 	Kr[   c                 óÐ  — t          j        ddd¦  «        \  }}t          j        ddd¦  «        \  }}t          j        ddd¦  «        \  }}t          j        t          j        ||¦  «        |¦  «        }t          j        t          j        ||¦  «        |¦  «        }	t          j        t          j        ||f         t          j        ||f         t          j        ||f         f¦  «        }
t          j                             d¦  «                             |¦  «        }t          ||	|d d…         t          j
        d¦  «        ¬¦  «        \  }}t          j        |t          ||	|dd …         |¬¦  «        d	         f         }t          |t          ||	|¦  «        ¦  «         t          |
|d d…         t          j
        d
¦  «        ¬¦  «        \  }}t          j        |t          |
|dd …         |¬¦  «        d	         f         }t          ||¦  «         t          |
¦  «        }t          j        d|¦  «        }t          |
||¬¦  «        \  }}t          |t          j        d¦  «        ¦  «         t          ||¦  «         d|j        z   |_        t!          t"          t          |
||¬¦  «         |                     ¦   «         }|j        d	         dd|j        d         f|_        t!          t"          t          |
||d d …d d …d d …g d¢f         ¬¦  «         t          |
||¬¦  «        \  }}t          |d         t          j        d¦  «        ¦  «         t          |d d …d	d	d d …f         |¦  «         d S )NrL   r®  ÚlowrJ  r  r  rI   rx  r   rÆ   r‘   r¦  rK   r“   )r   rK   rK   r¤  )r   r'   rv   r   r   Úr_rò   rñ  rø   r$   rŽ  rc  r/   r1   rd  rŠ  r£   r¤   rø  )rU   r  Úb1rY  Úb2rZ  Úb3r[  rW   rV   r�  rk   Úy_truery  rº  rl   r}  Úzi_nds                     rY   Útest_initial_conditionsz#TestSOSFilt.test_initial_conditionsO  s   € Ý”˜q $¨Ñ.Ô.‰ˆˆBÝ”˜q $¨Ñ.Ô.‰ˆˆBÝ”˜q $¨Ñ.Ô.‰ˆˆBÝŒK�œ B¨Ñ+Ô+¨RÑ0Ô0ˆÝŒK�œ B¨Ñ+Ô+¨RÑ0Ô0ˆÝŒh�œ˜b "˜fœ¥r¤u¨R°¨V¤}µb´e¸BÀ¸F´mÐDÑEÔEˆåŒI�NŠN˜2ÑÔ×%Ò% bÑ)Ô)ˆõ ˜Q  1 S b S¤6­b¬h°q©k¬kÐ:Ñ:Ô:‰
ˆ�Ý”�v�w q¨!¨Q¨r¨s¨s¬V¸Ð;Ñ;Ô;¸AÔ>Ð>Ô?ˆÝ˜V¥W¨Q°°1Ñ%5Ô%5Ñ6Ô6Ð6å˜C  3 B 3¤­B¬H°VÑ,<Ô,<Ð=Ñ=Ô=‰	ˆˆrÝ”�e�W S¨!¨B¨C¨C¬&°RÐ8Ñ8Ô8¸Ô;Ð;Ô<ˆÝ˜V UÑ+Ô+Ð+õ ˜‰_Œ_ˆÝŒG�A�r‰NŒNˆÝ˜˜Q 2Ð&Ñ&Ô&‰ˆˆ2å˜Q¥¤¨¡
¤
Ñ+Ô+Ð+Ý˜R Ñ$Ô$Ð$ð ˜1œ7Ñ"ˆŒÝ•j¥'¨3°°bÐ9Ñ9Ô9Ð9Ø—’‘	”	ˆØ”x ”{ A q¨"¬(°2¬,Ð7ˆŒÝ•j¥'¨3°Ø˜q˜q˜q ! ! ! Q Q Q¨	¨	¨	Ð1Ô2ð	4ñ 	4ô 	4ð 	4å˜˜Q 5Ð)Ñ)Ô)‰ˆˆ2Ý˜Q˜tœW¥b¤g¨a¡j¤jÑ1Ô1Ð1Ý˜R    1 a¨¨¨ 
œ^¨RÑ0Ô0Ð0Ð0Ð0r[   c                 ó   — t           j                             d¦  «                             ddd¬¦  «        }|                     |¦  «        }t          j        ddd¬	¦  «        }t          |Ž }|j        d         }d
}t          |j        ¦  «        }d||<   |g|z   }t          j
        |¦  «        }t          ||||¬¦  «        \  }	}
t          ||d d …d d…d d …f         ||¬¦  «        \  }}t          ||d d …dd …d d …f         ||¬¦  «        \  }}t          j        ||f|¬¦  «        }t          ||	dd¬¦  «         t          ||
dd¬¦  «         t          |¦  «        }|d
dd
g|_        ||d d …dd
…d d …f         z  }t          ||||¬¦  «        d         }t          |Ž \  }}t!          ||¦  «        }d
|j        d
g|_        ||d d …dd
…d d …f         z  }t%          |||||¬¦  «        d         }t          ||dd¬¦  «         d S )NéŸ   r   rH   )rL   rl  rF   rß   rI   r¸  r’  r¾  rK   rL   r’  r  rî  rB  rì   )rv   rò   ró   r  rø   r   r'   r)   rŠ  r  rŽ  r/   rR  rc  r1   r(   r%   rà   r$   )rU   r  rk   r’  r�  Ú	nsectionsr×  ÚshpÚz0r3  r}  r§  r¯  rK  r°  rl   ry  rW   rV   Úy_tfs                       rY   Ú test_initial_conditions_3d_axis1z,TestSOSFilt.test_initial_conditions_3d_axis1u  sD  € õ ŒI×!Ò! #Ñ&Ô&×.Ò.¨q°!¸*Ð.ÑEÔEˆØ�HŠH�R‰LŒLˆõ Œm˜A˜t¨EÐ2Ñ2Ô2ˆÝ�sˆmˆØ”I˜a”Lˆ	ð ˆõ �1”7‰mŒmˆØˆˆD‰	Øˆk˜CÑˆÝŒX�c‰]Œ]ˆõ ˜˜a d¨rÐ2Ñ2Ô2‰ˆˆBõ ˜˜a    2 A 2 q q q œk°¸Ð<Ñ<Ô<‰ˆˆBÝ˜˜a    1 2 2 q q q œk°¸Ð<Ñ<Ô<‰ˆˆBõ ŒN˜B ˜8¨$Ð/Ñ/Ô/ˆÝ˜Q ¨°UÐ;Ñ;Ô;Ð;Ý˜R ¨%°eÐ<Ñ<Ô<Ð<õ ˜‰_Œ_ˆØ˜q ! QÐ'ˆŒØ�!�A�A�A�q˜�s˜A˜A˜A�I”,ÑˆÝ�C˜ ¨"Ð-Ñ-Ô-¨aÔ0ˆå�sˆ|‰ˆˆ1Ý˜˜1ÑÔˆØ�r”w �?ˆŒØ�!�A�A�A�q˜�s˜A˜A˜A�I”,ÑˆÝ�q˜!˜Q T¨bÐ1Ñ1Ô1°!Ô4ˆÝ˜Q ¨5°uÐ=Ñ=Ô=Ð=Ð=Ð=r[   c                 ó¬  — t          j        d|¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        t
          d¬¦  «        5  t          |||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d|d d …d	f<   t          j        t
          d
¬¦  «        5  t          |||d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)rF   rl  rF   )rG   rI   )rG   rF   rF   rL   zshould be all onesr  rK   )ry  r×  r\  rF   zInvalid zi shape)rv   rc  rŽ  r  r	   r¤   r/   )rU   r  rk   r�  ry  s        rY   Útest_bad_zi_shapezTestSOSFilt.test_bad_zi_shape£  sW  € õ ŒH�Z Ñ$Ô$ˆÝŒh�vÑÔˆÝŒX�lÑ#Ô#ˆÝŒ]�:Ð-AÐBÑBÔBð 	+ð 	+Ý�C˜˜r¨Ð*Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+àˆˆAˆAˆAˆqˆD‰	ÝŒ]�:Ð-?Ð@Ñ@Ô@ð 	+ð 	+Ý�C˜˜r¨Ð*Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+s$   ÁA9Á9A=Â A=Â(C	Ã	CÃCc                 ó0  — t          j        ddd¬¦  «        }t          |¦  «        }t          |t	          j        d|¦  «        |¬¦  «        \  }}t          ||d¬¦  «         t	          j        |d d …d d	…f                              d
¬¦  «        |d d …d	d …f                              d
¬¦  «        z  ¦  «        }t          ||d¬¦  «         t          |t	          j        d|¦  «        | 	                    ¦   «         ¬¦  «        \  }}t          ||d¬¦  «         d S )NrI   r  r�  r¾  r5  rx  rB  rï  rF   r“   r  )
r   r'   r1   r/   rv   rd  rc  rZ  r¾  r  )rU   r  r�  ry  rl   r}  Ússr/  s           rY   Útest_sosfilt_zizTestSOSFilt.test_sosfilt_zi¯  s  € ÝŒm˜A˜s¨5Ð1Ñ1Ô1ˆÝ˜‰_Œ_ˆå˜�RœW R¨™_œ_°Ð4Ñ4Ô4‰ˆˆ2Ý˜R ¨%Ð0Ñ0Ô0Ð0õ ŒW�S˜˜˜˜B˜Q˜B˜”Z—^’^¨�^Ñ,Ô,¨s°1°1°1°a°b°b°5¬z¯~ª~À2¨~Ñ/FÔ/FÑFÑGÔGˆÝ˜Q ¨Ð/Ñ/Ô/Ð/õ ˜�RœW R¨™_œ_°·²±´Ð=Ñ=Ô=‰ˆˆ2Ý˜R ¨%Ð0Ñ0Ô0Ð0Ð0Ð0r[   c                 ó  — t          j        g d¢t          ¬¦  «                             dd¦  «        }t          j        g d¢t          ¬¦  «        }t	          j        d¬¦  «        5  t          ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)rK   rL   rF   rK   rH   rF   r	  rK   rI   r¯   r  r  )rv   r  r  rw   r  r  r/   )rU   r  r�  rk   s       rY   r  z"TestSOSFilt.test_dtype_deprecation¾  sÐ   € õ ŒjÐ+Ð+Ð+µ6Ð:Ñ:Ô:×BÒBÀ1ÀaÑHÔHˆÝŒJÐ2Ð2Ð2½&ÐAÑAÔAˆÝÔ#Ð*IÐJÑJÔJð 	ð 	Ý�C˜‰OŒOˆOð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   Á$BÂBÂ	BN)r§   r¨   r©   rk  rm  rw  rx  r  r�  r„  r  r  r  r  rª   r[   rY   ri  ri    s£   € € € € € ð5ð 5ð 5ð2.ð .ð .ð(Kð Kð Kð$1ð $1ð $1ðL,>ð ,>ð ,>ð\
+ð 
+ð 
+ð1ð 1ð 1ð „[Ôðð ñ Ôðð ð r[   ri  c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestDeconvolvec                 ón   — g d¢}ddg}g d¢}t          j        ||¦  «        \  }}t          ||¦  «         d S )N)r   rK   r   r   rK   rK   r   r   rL   rK   )	r   rL   rK   r   rL   rF   rK   r   r   )r   Ú
deconvolver   )rU   ÚoriginalÚimpulse_responseÚrecordedÚ	recoveredÚ	remainders         rY   rZ   zTestDeconvolve.test_basicÉ  sP   € à+Ð+Ð+ˆØ˜q˜6ÐØ.Ð.Ð.ˆÝ%Ô0°Ð;KÑLÔLÑˆ	�9Ý˜	 8Ñ,Ô,Ð,Ð,Ð,r[   c                 ó¶   — ddgddgg}ddg}t          j        t          d¬¦  «        5  t          j        ||¦  «        \  }}d d d ¦  «         d S # 1 swxY w Y   d S )Nr   zsignal must be 1-D.r  ©r  r	   r¤   r   r‰  ©rU   rŒ  r‹  ÚquotientrŽ  s        rY   Útest_n_dimensional_signalz(TestDeconvolve.test_n_dimensional_signalÑ  sÄ   € Ø˜�F˜Q ˜FÐ#ˆØ˜q˜6ÐÝŒ]�:Ð-BÐCÑCÔCð 	Pð 	PÝ"(Ô"3°HÐ>NÑ"OÔ"OÑˆH�ið	Pð 	Pð 	Pñ 	Pô 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pøøøð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pó   ¨AÁAÁAc                 ó¶   — ddg}ddgddgg}t          j        t          d¬¦  «        5  t          j        ||¦  «        \  }}d d d ¦  «         d S # 1 swxY w Y   d S )Nr   zdivisor must be 1-D.r  r�  r‘  s        rY   Útest_n_dimensional_divisorz)TestDeconvolve.test_n_dimensional_divisor×  sÄ   € Ø�q�6ˆØ ˜F Q¨ FÐ+ÐÝŒ]�:Ð-CÐDÑDÔDð 	Pð 	PÝ"(Ô"3°HÐ>NÑ"OÔ"OÑˆH�ið	Pð 	Pð 	Pñ 	Pô 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pøøøð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pr”  N)r§   r¨   r©   rZ   r“  r–  rª   r[   rY   r‡  r‡  Ç  sI   € € € € € ð-ð -ð -ðPð Pð PðPð Pð Pð Pð Pr[   r‡  c                   ó"  — e Zd Zd„ Zd„ Zej                             dddg¦  «        ej                             dg d¢¦  «        d„ ¦   «         ¦   «         Zd	„ Z	ej                             d
 e
j        ddg¦  «        ddgg¦  «        d„ ¦   «         ZdS )ÚTestDetrendc                 ó„   — t          t          g d¢¦  «        ¦  «        }t          g d¢¦  «        }t          ||¦  «         d S )NrJ   )r   r   r   )r4   r   r   )rU   Ú	detrendedÚdetrended_exacts      rY   rZ   zTestDetrend.test_basicà  sB   € Ý�E ) ) )Ñ,Ô,Ñ-Ô-ˆ	Ý 	 	 	Ñ*Ô*ˆÝ! )¨_Ñ=Ô=Ð=Ð=Ð=r[   c                 óŒ   — t          g d¢¦  «        }t          |d¬¦  «        }t          |d¬¦  «        }t          ||¦  «         d S )N)rK   ç333333ó?r   gš™™™™™ù?g333333@F)Úoverwrite_dataT)r   r4   r   )rU   rk   Ú
copy_arrayÚinplaces       rY   Ú	test_copyzTestDetrend.test_copyå  sP   € ÝÐ)Ð)Ð)Ñ*Ô*ˆÝ˜Q¨uÐ5Ñ5Ô5ˆ
Ý˜!¨DÐ1Ñ1Ô1ˆÝ! *¨gÑ6Ô6Ð6Ð6Ð6r[   r÷   Úlinearr,  r×  rÖ  c                 ó    — t          j        d¦  «                             ddd¦  «        }t          |||¬¦  «        }|j        |j        k    sJ ‚d S )NéÒ   rH   rI   rƒ   )re  r×  )rv   r   rw   r4   rŠ  )rU   r×  r÷   r°  rš  s        rY   r¨  zTestDetrend.test_axisë  sT   € õ Œy˜ÑÔ×'Ò'¨¨1¨aÑ0Ô0ˆÝ˜D t°$Ð7Ñ7Ô7ˆ	ØŒ $¤*Ò,Ð,Ð,Ð,Ð,Ð,r[   c                 óf  — g d¢g d¢z   }t          |dd¬¦  «        }t          |dd¬¦  «         t          j        |¦  «        d d d …d f         }t          |ddd	¬
¦  «        }t          |dd¬¦  «         t	          t
          ¦  «        5  t          |dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrÖ  )rH   r   r�  rw  r¢  rF   )re  Úbpr   rª  r  rK   )re  r¦  r×  )r4   r   rv   r  r£   r¤   )rU   r°  rš  s      rY   Útest_bpzTestDetrend.test_bpò  s  € Øˆyˆy˜?˜?˜?Ñ*ˆÝ˜D x°AÐ6Ñ6Ô6ˆ	Ý˜	 1¨5Ð1Ñ1Ô1Ð1õ Œz˜$ÑÔ  a a a¨ Ô.ˆå˜D x°A¸AÐ>Ñ>Ô>ˆ	Ý˜	 1¨5Ð1Ñ1Ô1Ð1õ �:Ñ&Ô&ð 	/ð 	/Ý�D˜x¨AÐ.Ñ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/s   ÂB&Â&B*Â-B*r¦  r   rL   c                 óà   — t           j                             d¦  «        }|                     d¦  «        }t	          ||¬¦  «        }t          j        g d¢¦  «        }t          ||d¬¦  «         d S )Ni90  rM   )r¦  )
g¢3   À¼g¢3   °¼gÿ_ìòêr¼¿g�b	6±Å¿gq üç­]½?g=~¹›D°?g@âzI Ö?gØñòƒÙÕ¢¿gˆ»Ý?Ô…”¿g1ï
ÛàÈ¿rª  r  )rv   rò   ró   rñ  r4   r   r   )rU   r¦  rü   rk   ra  Úres_scipy_191s         rY   Útest_detrend_array_bpz!TestDetrend.test_detrend_array_bp  s~   € õ Œi×#Ò# EÑ*Ô*ˆØ�HŠH�R‰LŒLˆõ �a˜BÐÑÔˆÝœð "Oð "Oð "Oñ Pô Pˆõ 	˜˜]°Ð7Ñ7Ô7Ð7Ð7Ð7r[   N)r§   r¨   r©   rZ   r¡  r  r  rx  r¨  r§  rv   r   rª  rª   r[   rY   r˜  r˜  Þ  sÜ   € € € € € ð>ð >ð >ð
7ð 7ð 7ð „[×Ò˜V h°
Ð%;Ñ<Ô<Ø„[×Ò˜V Y Y YÑ/Ô/ð-ð -ñ 0Ô/ñ =Ô<ð-ð
/ð /ð /ð „[×Ò˜T H B¤H¨a°¨VÑ$4Ô$4°q¸!°fÐ#=Ñ>Ô>ð8ð 8ñ ?Ô>ð8ð 8ð 8r[   r˜  c                   ó8   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )	ÚTestUniqueRootsc                 ó´   — g d¢}t          |¦  «        \  }}t          ||d¬¦  «         t          |t          j        t          |¦  «        ¦  «        ¦  «         d S )N)r^  rk  r
  r�  r  rl  r¾  ©r5   r   r
   rv   rd  rG  ©rU   rô  rÞ  rß  s       rY   Útest_real_no_repeatz#TestUniqueRoots.test_real_no_repeat  sV   € Ø(Ð(Ð(ˆÝ+¨A™œÑˆ�Ý˜F A¨rÐ2Ñ2Ô2Ð2Ý�\¥2¤7­3¨q©6¬6¡?¤?Ñ3Ô3Ð3Ð3Ð3r[   c                 óp  — g d¢}t          |dd¬¦  «        \  }}t          |g d¢d¬¦  «         t          |g d¢¦  «         t          |dd	¬¦  «        \  }}t          |g d
¢d¬¦  «         t          |g d¢¦  «         t          |dd¬¦  «        \  }}t          |g d¢d¬¦  «         t          |g d¢¦  «         d S )N)r^  çffffffî¿ç{®Gázì¿çš™™™™™é¿r  r\  çÍÌÌÌÌÌð?r!  rÜ  ©Útolr  )r^  r³  r  r\  rl  r¾  ©rL   rL   rK   rL   r  )r²  r´  r  rµ  r  )g333333ï¿g
×£p=
ë¿r  gffffffð?©r5   r   r
   r¯  s       rY   Útest_real_repeatz TestUniqueRoots.test_real_repeat  sî   € Ø6Ð6Ð6ˆå+¨A°4¸uÐEÑEÔEÑˆ�Ý˜FÐ$;Ð$;Ð$;ÀRÐHÑHÔHÐHÝ�\ < < <Ñ0Ô0Ð0å+¨A°4¸uÐEÑEÔEÑˆ�Ý˜FÐ$<Ð$<Ð$<ÀbÐIÑIÔIÐIÝ�\ < < <Ñ0Ô0Ð0å+¨A°4¸uÐEÑEÔEÑˆ�Ý˜FÐ$@Ð$@Ð$@È"ÐMÑMÔMÐMÝ�\ < < <Ñ0Ô0Ð0Ð0Ð0r[   c                 ó´   — g d¢}t          |¦  «        \  }}t          ||d¬¦  «         t          |t          j        t          |¦  «        ¦  «        ¦  «         d S )N)r^  r’   ù      à?      à?r#  r~  rl  r¾  r®  r¯  s       rY   Útest_complex_no_repeatz&TestUniqueRoots.test_complex_no_repeat&  sV   € Ø=Ð=Ð=ˆÝ+¨A™œÑˆ�Ý˜F A¨rÐ2Ñ2Ô2Ð2Ý�\¥2¤7­3¨q©6¬6¡?¤?Ñ3Ô3Ð3Ð3Ð3r[   c                 óp  — g d¢}t          |dd¬¦  «        \  }}t          |g d¢d¬¦  «         t          |g d¢¦  «         t          |dd	¬¦  «        \  }}t          |g d
¢d¬¦  «         t          |g d¢¦  «         t          |dd¬¦  «        \  }}t          |g d¢d¬¦  «         t          |g d¢¦  «         d S )N)r^  ù      ð¿š™™™™™©?ùffffffî¿333333Ã?ùÍÌÌÌÌÌì¿333333Ã?r	  r¼  ùÍÌÌÌÌÌÜ?š™™™™™á?r!  rÜ  r¶  )r^  rÀ  r	  rÂ  rl  r¾  r¸  r  )r¿  rÁ  r	  r¼  r  )y      ð¿š™™™™™™?yš™™™™™í¿333333Ã?r	  yffffffÞ?ÍÌÌÌÌÌà?r¹  r¯  s       rY   Útest_complex_repeatz#TestUniqueRoots.test_complex_repeat,  s  € ð'ð 'ð 'ˆõ  ,¨A°4¸uÐEÑEÔEÑˆ�Ý˜FÐ$LÐ$LÐ$LØ$&ð	(ñ 	(ô 	(ð 	(å�\ < < <Ñ0Ô0Ð0å+¨A°4¸uÐEÑEÔEÑˆ�Ý˜FØJÐJÐJØ$&ð	(ñ 	(ô 	(ð 	(õ 	�\ < < <Ñ0Ô0Ð0å+¨A°4¸uÐEÑEÔEÑˆ�ÝØÐHÐHÐHØð	ñ 	ô 	ð 	õ 	�\ < < <Ñ0Ô0Ð0Ð0Ð0r[   c                 ó\  — t          j        t          j        t          j        d¦  «        t          j        d¦  «        ¦  «        ¦  «        }g d¢}t	          |¦  «        \  }}t          j        |¦  «        }t          t          j        |¦  «        |d¬¦  «         t          |g d¢¦  «         d S )NrH   )y¨ô—›wãé¿^Zu#Ïâ¿y§ô—›wãé¿_Zu#Ïâ?yNé/7ïÆÓ? UDoî¿yPé/7ïÆÓ?ÿTDoî?rƒ   r¾  )rL   rL   rL   rL   )rv   rK  r   rd  r5   Úsortr   r
   )rU   rô  Ú
true_rootsrÞ  rß  s        rY   Útest_gh_4915zTestUniqueRoots.test_gh_4915A  sŒ   € ÝŒH•R”[¥¤¨¡¤­R¬W°Q©Z¬ZÑ8Ô8Ñ9Ô9ˆØKÐKÐKˆ
å+¨A™œÑˆ�Ý”˜‘”ˆå�BœG F™OœO¨ZÀÐCÑCÔCÐCÝ�\ < < <Ñ0Ô0Ð0Ð0Ð0r[   c                 óò   — t          g d¢¦  «        \  }}t          |ddgd¬¦  «         t          |ddg¦  «         t          g d¢d	¬
¦  «        \  }}t          |ddgd¬¦  «         t          |ddg¦  «         d S )N)r\  r’   r\  r\  r’   rl  r¾  rL   rK   )rK   g_p‰   ð?ù•Ö&è.>      ð?r!  )r·  rÉ  r¹  rÝ  s      rY   Útest_complex_roots_extraz(TestUniqueRoots.test_complex_roots_extraK  sš   € Ý+Ð,<Ð,<Ð,<Ñ=Ô=Ñˆ�Ý˜F S¨$ K¸Ð<Ñ<Ô<Ð<Ý�\ A q 6Ñ*Ô*Ð*å+Ð,DÐ,DÐ,DÈ#ÐNÑNÔNÑˆ�Ý˜F S¨+Ð$6ÀÐCÑCÔCÐCÝ�\ A q 6Ñ*Ô*Ð*Ð*Ð*r[   c                 ó  — t           j                             d¦  «        dt           j                             d¦  «        z  z   }t          |d¦  «        \  }}t	          |t          j        |¦  «        gd¬¦  «         t          |dg¦  «         d S )NrÈ   r’   rL   rl  r¾  )rv   rò   rñ  r5   r   rÜ  r
   r¯  s       rY   Útest_single_unique_rootz'TestUniqueRoots.test_single_unique_rootT  sx   € ÝŒI�NŠN˜3ÑÔ "¥r¤y§~¢~°cÑ':Ô':Ñ":Ñ:ˆÝ+¨A¨qÑ1Ô1Ñˆ�Ý˜F¥R¤V¨A¡Y¤Y K¸Ð<Ñ<Ô<Ð<Ý�\ C 5Ñ)Ô)Ð)Ð)Ð)r[   N)
r§   r¨   r©   r°  rº  r½  rÃ  rÇ  rÊ  rÌ  rª   r[   rY   r¬  r¬    s}   € € € € € ð4ð 4ð 4ð1ð 1ð 1ð4ð 4ð 4ð1ð 1ð 1ð*1ð 1ð 1ð+ð +ð +ð*ð *ð *ð *ð *r[   r¬  r3  )r-  r   )œr  Úconcurrent.futuresr   r   r¿  r   Ú	itertoolsr   Úmathr   r  r	   r£   Únumpy.testingr
   r   r   r   r   r   r   r   Únumpyr   r   rv   Úscipyr   rí  rl  r   Úscipy.optimizer   r   r   Úscipy.signalr   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   Úscipy.signal.windowsr8   Úscipy.signal._signaltoolsr9   r:   r;   Úscipy.signal._upfirdnr<   Ú
scipy._libr=   Úscipy._lib._array_apir?   Úscipy._lib._utilr@   rA   rB   rD   r¬   r  rz  r™  r  r  r,  r/  r1  rR  rg  r¼  rA  rÉ  rC  rS  rX  rõ  rù  r  rc  rû  rþ  r  r  r  r  r  Ú_pmfr  rx  r´  rµ  r¶  r·  r¸  rÔ   rÕ   Úparamrd  r  rE  rZ  r]  Úcsinglera  re  r_  r|  r„  rŒ  r¶  rÓ  rß  Ú	fail_slowrè  r  rê  rï  rø  rú  rU  rh  rm  rÎ  r1  rc  rf  ri  r‡  r˜  r¬  rª   r[   rY   ú<module>rß     s   ðØ 
€
€
€
à ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à €€€Ø *Ð *Ð *Ð *Ð *Ð *ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð
  Ð Ð Ð Ð Ð Ð Ð Ø Ð Ð Ð à Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð &Ð %Ð %Ð %Ð %Ð %ð4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4à 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø !Ð !Ð !Ð !Ð !Ð !Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >ðeOð eOð eOð eOð eOñ eOô eOð eOðPuð uð uð uð u�=ñ uô uð uðpLð Lð Lð Lð Lñ Lô Lð LðD?"ð ?"ð ?"ð ?"ð ?"�_ñ ?"ô ?"ð ?"ðDjLð jLð jLð jLð jLñ jLô jLð jLðX3ð 3ð 3ðð ð ð

Cð 
Cð 
Cðð ð ð
E!ð E!ð E!ð E!ð E!ñ E!ô E!ð E!ðPN"ð N"ð N"ð N"ð N"ñ N"ô N"ð N"ðb-ð -ð -ð -ð -ñ -ô -ð -ðDLð Lð Lð Lð Lñ Lô Lð Lð CÐBÐB€Ø �>Ñ !€ðU,ð U,ð U,ð U,ð U,ñ U,ô U,ð U,ðp*ð *ð *ð *ð *ñ *ô *ð *ð>&ð &ð &ð &ð &ñ &ô &ð &ðU(ð U(ð U(ð U(ð U(ñ U(ô U(ð U(ðpð ð ð ð Ð/ñ ô ð ðð ð ð ð Ð/ñ ô ð ð „×ÒÐ8Ñ9Ô9ðð ð ð ð Ð$5ñ ô ñ :Ô9ððð ð ð ð Ð 1ñ ô ð ðð ð ð ð Ð!2ñ ô ð ð „×ÒÐ8Ñ9Ô9ðð ð ð ð Ð&7ñ ô ñ :Ô9ðð „×ÒÐ8Ñ9Ô9ðð ð ð ð Ð/ñ ô ñ :Ô9ðð „×ÒÐ8Ñ9Ô9ðð ð ð ð Ð.ñ ô ñ :Ô9ðð
 „×ÒÐ8Ñ9Ô9ðFð Fñ :Ô9ðFð „{×!Ò!Ð">Ñ?Ô?€ðKð Kð Kð
 „×Ò˜ ¤¨"¬'°2´9¸b¼hØ (¨'°2´<ÀÄØ "¤
¨B¬JØ , ¤¨R¬]À$Ð GÑ GÔ GØ , ¤¨W¸DÐ AÑ AÔ Að	 Cñ ô ðw"ð w"ð w"ð w"ð w"ñ w"ô w"ñô ðw"ðt2ð 2ð 2ð 2ð 2ñ 2ô 2ð 2ðj „×Ò˜Ð!:Ð!:Ð!:Ñ;Ô;Ø„×Ò˜ D¨% =Ñ1Ô1Ø„×Ò˜Ð'KÐ'KÐ'KÑLÔLð0ð 0ñ MÔLñ 2Ô1ñ <Ô;ð0ð22ð 2ð 2ð
 „×Ò˜ ¤
¨B¬JØ , ¤¨R¬^À4Ð HÑ HÔ Hð Jñ Kô Kð\=ð \=ð \=ð \=ð \=ñ \=ô \=ñKô Kð\=ð~$=ð $=ð $=ð $=ð $=ñ $=ô $=ð $=ðNDð Dð Dð Dð Dñ Dô Dð Dð2]%ð ]%ð ]%ð ]%ð ]%ñ ]%ô ]%ð ]%ð@Lð Lð Lð Lð L�lñ Lô Lð Lð)ð )ð )ðX4ð 4ð 4ð 4ð@ „×Ò�rÑÔðDð Dñ ÔðDð( „Ôð!ð !ñ Ôð!ð „×ÒÐ8Ñ9Ô9ðLð Lñ :Ô9ðLð „×Ò�rÑÔð@ð @ñ Ôð@ð>q"ð q"ð q"ð q"ð q"ñ q"ô q"ð q"ðhYEð YEð YEð YEð YEñ YEô YEð YEðxFð Fð Fð Fð Fñ Fô Fð Fð.uQð uQð uQð uQð uQñ uQô uQð uQðpk(ð k(ð k(ð k(ð k(ñ k(ô k(ð k(ð\RBð RBð RBð RBð RBñ RBô RBð RBðj1ð 1ð 1ð 1ð „×ÒÐ8Ñ9Ô9Ø„×Ò˜ '¨7Ð!3Ñ4Ô4ðð ñ 5Ô4ñ :Ô9ðð. „×Ò˜˜vÑ&Ô&ðrð rð rð rð rñ rô rñ 'Ô&ðrðjPð Pð Pð Pð Pñ Pô Pð Pð./8ð /8ð /8ð /8ð /8ñ /8ô /8ð /8ðdH*ð H*ð H*ð H*ð H*ñ H*ô H*ð H*ð H*ð H*r[   