+
    LV-j"  ã                   óŽ  € ^ RI t ^ RIt^ RIt^ RIHtHt ^ RIHt ^ RIHt ^ RI	t	^ RI	H
t ^ RIt^ RIHt ^ RIHt ^ RIHt ^ R	IHtHt ^ R
IHt ^ RIHtHtHtHtHtHtH t H!t!H"t"H#t#H$t$H%t%H&t&H't'H(t(H)t)H*t*H+t+H,t,H-t-H.t.H/t/H0t0H1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t8 ^ RI9H:t: ^ RI;H<t<H=t=H>t> ^ RI?H@t@ ^ RIAHBtB ^ RICHDtDHEtEHFtFHGtGHHtHHItIHJtJHKtKHLtLHMtMHNtNHOtOHPtPHQtQHRtRHStS ]	P¨                  Pª                  tU]	P¨                  P¬                  tV].tW]P! ]4       ! R R4      4       tX]P! ]4       ! R R4      4       tY]P! ]4       ! R R4      4       tZR t[R t\R t]R t^]P! ] 4       ! R R4      4       t_]U! RRR7      ]	P¨                  PÁ                  R ]Q! ]4      ]Q! ] 4      .4       ! R! R"4      4       4       ta]U! RRR7      ]	P¨                  PÅ                  R#4      ]	P¨                  PÁ                  R$]PÆ                  ]PÈ                  .4      ]P! ]]4      R% 4       4       4       4       te ! R& R'4      tf]P! ]PÎ                  4       ! R( R)4      4       th. R|Oti]i]@,          ti ! R* R+4      tj]P! ]PÖ                  4       ! R, R-4      4       tl]P! ]PÚ                  4       ! R. R/4      4       tn]P! ]%4       ! R0 R14      4       to ! R2 R3]o4      tp ! R4 R5]o4      tq]U! RR67       ! R7 R8]o4      4       tr ! R9 R:]o4      ts ! R; R<]o4      tt]U! RR67       ! R= R>]o4      4       tu]P! ]%4      R? 4       tv]P! ]%4      R@ 4       tw]	P¨                  PÁ                  RA. R}O4      ]V! RBRCRD7      ]P! ]4       ! RE RF4      4       4       4       tx]P! ]4       ! RG RH4      4       ty]P! ]4      ]	P¨                  PÁ                  RI. R~O4      ]	P¨                  PÁ                  RJRRK.4      ]	P¨                  PÁ                  RL^d^eRMRN]	Pô                  ! RO]	P¨                  Pö                  .RP7      ]	Pô                  ! RQ]	P¨                  Pö                  .RP7      .4      RR 4       4       4       4       t|]P! ]4      RS 4       t}]P! ]4      ]	P¨                  PÁ                  RTRURV.4       ! RW RX4      4       4       t~ ! RY RZ4      t]P! ]&4       ! R[ R\4      4       t€]P! ]']14       ! R] R^4      4       t�]P! ]1]'4       ! R_ R`]�4      4       t‚Ra tƒRRb lt„]P! ]!4      ]	P¨                  EP                  ^
4      Rc 4       4       t†]P! ]!4      Rd 4       t‡]U! RR67      ]	P¨                  EP                  ^
4      Re 4       4       tˆ]P! ]EP                  4       ! Rf Rg4      4       tŠ]P! ]#4       ! Rh Ri4      4       t‹]P! ]$4       ! Rj Rk4      4       tŒ]P! ]"4       ! Rl Rm4      4       t� ! Rn Ro4      tŽ]P! ]-4       ! Rp Rq4      4       t�]U! RRr7      ]P! ]04      ]	P¨                  PÁ                  RA. R€O4       ! Rs Rt4      4       4       4       t�]P! ]EP"                  4       ! Ru Rv4      4       t’]P! ]54       ! Rw Rx4      4       t“]P! ]64       ! Ry Rz4      4       t”R{ t•R# )�é    N)ÚThreadPoolExecutorÚas_completed©Úproduct)Úgcd)Úraises)ÚComplexWarning)Ú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Úxp_assert_equalÚis_numpyÚis_torchÚis_jaxÚis_cupyÚassert_array_almost_equalÚassert_almost_equalÚxp_copyÚxp_sizeÚxp_default_dtypeÚarray_namespaceÚmake_xp_test_caseÚmake_xp_pytest_paramÚSCIPY_DEVICEÚ_xp_copy_to_numpyc                   ó2  a € ] tR t^*t o ]! RRR7      R 4       t]! RRR7      R 4       t]! RRR7      R 4       tR t]	! RRR7      R	 4       t
]! R
RR7      R 4       t]	! RRR7      R 4       t]	! RRR7      R 4       t]! R4      ]! R4      R 4       4       t]! R4      ]! R4      R 4       4       tR t]! RRR7      R 4       t]! RRR7      R 4       t]! RRR7      R 4       t]! R
RR7      R"R l4       t]! RRR7      R 4       t]! R
R7      R 4       tR tV tR!# )#ÚTestConvolveú	jax.numpyú2jax returns floats; scipy returns ints; cf gh-6076©Úreasonc                ó    € VP                  . RO4      pVP                  . RO4      p\        W#4      p\        WAP                  . RO4      4       R# )é   N)rK   é   é   é   rM   rL   ©é   é   rK   )rK   é
   é   é   é    rU   é   é   ©Úasarrayr   r5   ©ÚselfÚxpÚaÚbÚcs   &&   Út/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/signal/tests/test_signaltools.pyÚ
test_basicÚTestConvolve.test_basic-   s<   € ð �J‰JÒ)Ó*ˆØ�J‰J’yÓ!ˆÜ�Q‹NˆÜ˜Ÿ:™:Ò&EÓFÖGó    c                ó¤   € VP                  . RO4      pVP                  . RO4      p\        W#RR7      p\        WAP                  . RO4      4       R# )rK   Úsame©ÚmodeN©rK   rL   rM   )rP   rQ   rK   rL   )rR   rS   é"   rX   rZ   s   &&   r`   Ú	test_sameÚTestConvolve.test_same5   s=   € ð �J‰J’yÓ!ˆØ�J‰J’|Ó$ˆÜ�Q Ô'ˆÜ˜Ÿ:™:¢lÓ3Ö4rc   c                ó¤   € VP                  . RO4      pVP                  . RO4      p\        W#RR7      p\        WAP                  . RO4      4       R# )rK   re   rf   Nrh   rO   )rR   rS   rS   rX   rZ   s   &&   r`   Útest_same_eqÚTestConvolve.test_same_eq=   s=   € ð �J‰J’yÓ!ˆØ�J‰J’yÓ!ˆÜ�Q Ô'ˆÜ˜Ÿ:™:¢lÓ3Ö4rc   c                ó    € VP                  . RO4      pVP                  RR.4      p\        W#4      p\        WAP                  . RO4      4       R# )rP   Nù      ð?      ð?ù       @      ð?)rp   rq   ù      @      ð?)ù               @y       @      @y      @       @y      @      @rX   )r[   r\   ÚxÚyÚzs   &&   r`   Útest_complexÚTestConvolve.test_complexE   s?   € Ø�J‰JÒ/Ó0ˆØ�J‰J˜ Ð'Ó(ˆÜ�Q‹NˆÜ˜Ÿ:™:Ò&BÓCÖDrc   zwrong output dtypec                ó„   € VP                  R 4      pVP                  R4      p\        W#4      p\        WBV,          4       R# ©i	  i×  NrX   rZ   s   &&   r`   Útest_zero_rankÚTestConvolve.test_zero_rankK   s3   € à�J‰J�tÓˆØ�J‰J�tÓˆÜ�Q‹NˆÜ˜˜q�5Ö!rc   Tzpure python©Únp_onlyrI   c                óB   € R pRp\        W#4      pWBV,          8X  g   Q hR# rz   )r   rZ   s   &&   r`   Útest_zero_rank_python_scalarsÚ*TestConvolve.test_zero_rank_python_scalarsR   s#   € àˆØˆÜ�Q‹NˆØ˜•EŒzÐŠzrc   zdisagreement between methodsc           
     ó\  € VP                  VP                  ^4      R4      pVP                  ^4      p\        ^4       Fj  p^.^,          p^WT&   \        W!P                  V\	        V4      4      RR7      p\        W!P                  V\	        V4      4      RR7      p\        WgRR7       Kl  	  R# )é   Údirect©Úmethodr
   ç›+¡†›„=©ÚatolN©rK   rK   rK   )ÚreshapeÚarangeÚranger   Útupler4   )r[   r\   r]   r^   ÚiÚb_shapert   ru   s   &&      r`   Útest_broadcastableÚTestConvolve.test_broadcastableY   s‡   € à�J‰J�r—y‘y “} iÓ0ˆØ�I‰I�a‹LˆÜ�q–ˆAØ�c˜!•eˆGØˆG‰Jä˜ŸJ™J q¬%°«.Ó9À(ÔKˆAÜ˜ŸJ™J q¬%°«.Ó9À%ÔHˆAÜ˜A u×-ó rc   c                óˆ   € VP                  R .4      pVP                  R.4      p\        W#4      p\        WBV,          4       R# ©ég  éP  NrX   rZ   s   &&   r`   Útest_single_elementÚ TestConvolve.test_single_elemente   s7   € à�J‰J˜�vÓˆØ�J‰J˜�vÓˆÜ�Q‹NˆÜ˜˜q�5Ö!rc   Úcupyc                óÂ   € VP                  . RO. RO.4      pVP                  . RO. RO.4      p\        W#4      pVP                  . RO. RO. RO.4      p\        WE4       R# ©	rP   NrO   rh   ©rQ   rK   rL   ©rL   rM   rN   )rQ   é   é   é   rW   )rR   é   é>   é:   é&   )rW   é   r£   é1   r¡   rX   ©r[   r\   r]   r^   r_   Úds   &&    r`   Útest_2d_arraysÚTestConvolve.test_2d_arraysl   sY   € ð �J‰Jš	¢9Ð-Ó.ˆØ�J‰Jš	¢9Ð-Ó.ˆÜ�Q‹NˆØ�J‰JÒ*Ú'Ú'ð)ó *ˆô 	˜Örc   Útorchc           
     óô  € VP                  VP                  ^4      R4      pRVP                  VP                  ^VP                  R7      R4      ,          pW1P                  VP                  ^VP                  R7      RRR	1,          R4      ,          pVP                  . R
O. RO. RO. RO.. RO. RO. RO. RO.. RO. RO. RO. RO.. RO. RO. RO. RO..4      p\	        \        W#R4      V4       \	        \        W2R4      V4       \	        \        W#R4      VR,          4       \	        \        W2R4      VR,          4       \	        \        W#R4      VR,          4       \	        \        W2R4      VR,          4       R# )é   ù              ð?©ÚdtypeNÚfullre   Úvalid©rQ   rQ   rQ   rŠ   éÿÿÿÿ)ù                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@)ºrP   rK   Nr¶   r¶   )ºr   rK   Nr·   r·   )r‹   rŒ   Ú
complex128rY   r5   r   )r[   r\   ÚsmallÚbigÚ	out_arrays   &&   r`   Útest_input_swappingÚ TestConvolve.test_input_swappingw   sT  € ð —
‘
˜2Ÿ9™9 Q›<¨Ó3ˆØ�2—:‘:˜bŸi™i¨°"·-±-˜iÓ@À)ÓLÕLˆØ�z‰z˜"Ÿ)™) B¨b¯m©m˜)Ó<¹T¸r¸TÕBÀIÓNÕNˆà—J‘JÚ1Ú6Ú7Ú6ð8ò
 :Ú;Ú=Ú=ð?ò
 ;Ú>Ú>Ú<ð>ò
 :Ú<Ú:Ú8ð:ð;ó<ˆ	ô* 	œ ¨VÓ4°iÔ@Üœ ¨VÓ4°iÔ@Üœ ¨VÓ4Ø$ ]Õ3ô	5äœ ¨VÓ4Ø$ ]Õ3ô	5äœ ¨WÓ5Ø$ ]Õ3ô	5äœ ¨WÓ5Ø$ ]Õ3ö	5rc   c           	     ó@  € VP                  . RO4      pVP                  . RO4      p\        \        \        W#RR7       \        \        \        W#RRR7       \        \        \        W#RRR7       \        \        \        W#RR	R7       \        \        \        W#R
R	R7       R# ©rK   Úspamrf   Úeggsr
   ©rg   r†   Úhamr„   r±   Úbaconre   Nrh   rO   )rY   Úassert_raisesÚ
ValueErrorr   ©r[   r\   r]   r^   s   &&  r`   Útest_invalid_paramsÚ TestConvolve.test_invalid_paramsž   sl   € Ø�J‰J’yÓ!ˆØ�J‰J’yÓ!ˆÜ”j¤(¨A°vÕ>Ü”j¤(¨A°vÀeÕLÜ”j¤(¨A°uÀXÕNÜ”j¤(¨A°vÀgÕNÜ”j¤(¨A°vÀg×Nrc   údtypes do not matchc                ó¢  € VP                  . RO4      pVP                  . RO4      pVP                  . RO4      p\        W#R4      p\        WT4       \        W2R4      p\        WT4       VP                  . RO4      pVP                  RR.4      pVP                  RR	.4      p\        W#R4      p\        WT4       \        W2R4      p\        WT4       R# )
rP   r²   N)rP   rQ   rK   rN   rM   rK   )	rQ   rK   rL   rM   rK   rL   rQ   rQ   rP   )éF   éN   éI   éA   )y      ð?      @ù       @      ð¿y      @        ù       @      Àù      ð?        y       @      $ÀrX   ©r[   r\   r]   r^   ÚexpectedÚouts   &&    r`   Útest_valid_mode2ÚTestConvolve.test_valid_mode2§   s¶   € ð �J‰JÒ)Ó*ˆØ�J‰JÒ2Ó3ˆØ—:‘:Ò.Ó/ˆä�q˜WÓ%ˆÜ˜Ô&ä�q˜WÓ%ˆÜ˜Ô&à�J‰JÒ/Ó0ˆØ�J‰J˜ Ð'Ó(ˆØ—:‘:˜v wÐ/Ó0ˆä�q˜WÓ%ˆÜ˜Ô&ä�q˜WÓ%ˆÜ˜Ö&rc   c                ó¦   € VP                  . RO4      pVP                  . RO4      p\        W#R4      pVP                  . RO4      p\        WE4       R# )rP   re   N)rP   rQ   rK   rK   rP   rQ   )rP   rL   rK   rL   rM   rN   rž   rL   rK   rQ   rP   rP   rK   )é9   é=   é?   rÙ   é-   é$   rX   r§   s   &&    r`   Útest_same_modeÚTestConvolve.test_same_mode¾   sC   € à�J‰JÒ)Ó*ˆØ�J‰JÒ>Ó?ˆÜ�Q˜6Ó"ˆØ�J‰JÒ/Ó0ˆÜ˜Örc   zdifferent exceptionc                óú   € VP                  VP                  ^^4      R4      pVP                  VP                  R^ 4      R4      p\        \        \        .W#3O5/ RR/B  \        \        \        .W23O5/ RR/B  R# ©rP   rg   r²   N©rQ   rK   éúÿÿÿ©rK   rQ   )r‹   rŒ   rÅ   rÆ   r   rÇ   s   &&  r`   Útest_invalid_shapesÚ TestConvolve.test_invalid_shapesÆ   so   € ð �J‰J�r—y‘y  A“¨Ó/ˆØ�J‰J�r—y‘y  QÓ'¨Ó0ˆä”j¤(ÐI¨a¨VÒI¸ÀÐ7HÒIÜ”j¤(ÐI¨a¨VÒI¸ÀÐ7HÔIrc   zTODO: convert this testc                óð  € 0 RmpV UUUu. uF  qC F  pR F  pWEV3NK	  	  K  	  K  	  pppp\         P                  P                  ^*4      pRVP                  ^ ^.VR7      RVP	                  V4      /p	V	R,          ;V	R&   V	R&   V	R,          RV	R,          ,          ,           V	R	&   V EF8  w  rEpV	\         P
                  ! V4      P                  ,          P                  V4      p
V	\         P
                  ! V4      P                  ,          P                  V4      pR Uu/ uF  pV\        W«WÆR7      bK  	  ppVR
,          P
                  VR,          P
                  8X  g   Q hRV9   d   RV9   d   \        W«4      R8X  g   Q hKÝ  \        WE3 Uu. uF  qîR9   NK	  	  up4      '       d   RRRR/pMRWE39   d   RRRR/pMRRRR/p\        VR
,          VR,          3/ VB  EK;  	  R# u upppi u upi u upi )Úuint16Úfloat16Úboolr�   ©ÚsizeÚfr^   Úuù              à?r_   r
   r„   )r†   rg   Úrtolç-Cëâ6?r‰   ç�íµ ÷Æ°>çü©ñÒMbP?çñhãˆµøä>ç:Œ0âŽyE>N>   rê   Úint8Úint16Úint32Úint64Úuint8rè   Úuint32Úuint64ré   Úfloat32Úfloat64Ú	complex64r¸   )r²   r±   re   )r
   r„   >   rý   rÿ   )ÚnpÚrandomÚRandomStateÚchoiceÚrandnr°   ÚkindÚastyper   r   Úanyr4   )r[   r\   ÚnÚtypesÚt1Út2rg   ÚargsÚrngÚarray_typesÚx1Úx2ÚkeyÚresultsÚtÚkwargss   &&&             r`   Útest_convolve_methodÚ!TestConvolve.test_convolve_methodÓ   s  € ò4ˆñ */õ F© 2º°2Û+D 4ð ˜“Ù+Dñ ¹‘©ˆò Fô
 �i‰i×#Ñ# BÓ'ˆØ˜CŸJ™J¨¨1 v°A˜JÓ6Ø˜CŸI™I a›Lð*ˆà.9¸#Õ.>Ð>ˆ�CÑ˜; sÑ+Ø& sÕ+¨d°;¸sÕ3CÕ.CÕCˆ�CÑä ‰LˆB�DØœRŸXšX b›\×.Ñ.Õ/×6Ñ6°rÓ:ˆBØœRŸXšX b›\×.Ñ.Õ/×6Ñ6°rÓ:ˆBñ #4ó5Ù"3˜3ð œH R°CÔCÒCÙ"3ð ð 5ð ˜5•>×'Ñ'¨7°8Õ+<×+BÑ+BÔBÐBÐBà˜Œ| ¨"¤Ü)¨"Ó1°XÔ=Ð=Ð=Ùô ¸B¹8ÓD¹8°aÐ1Ô1¹8ÑD×EÒEØ  &¨&°$Ð7‘Ø˜r˜hÔ&à  $¨°Ð5‘ð ! $¨°Ð5�ä˜G E�N¨G°HÕ,=ÑHÀÕHó1 !ùôFùò5ùò Es   ‹G'ÄG.ÆG3
c                ó2  € R F�  pVP                  ^V,          .VP                  R7      p\        W3RR7      p\        W3RR7      pV^28  g   KK  VP                  ^^V,          ,          .4      p\        WE4       \        WFRR7       \        WVRR7       K’  	  R# )	rR   r¯   r
   r…   r„   F©Úcheck_dtypeN)	rR   é   é2   é3   é4   é5   é6   é<   r¢   )rY   rù   r   r5   )r[   r\   r  rv   r
   r„   Úvals   &&     r`   Ú test_convolve_method_large_inputÚ-TestConvolve.test_convolve_method_large_input   s   € ó 6ˆAØ—
‘
˜A˜q�D˜6¨¯©�
Ó2ˆAÜ˜1¨Ô.ˆCÜ˜a¨8Ô4ˆFð
 �2ŽvØ—j‘j ! a¨¥c¥( Ó,�Ü Ô,Ü °eÕ<Ü ¸×?ó 6rc   ©r~   c                ó.  € \        \        \        ^.^RR7       \        \        \        ^^.RR7       \        \        \        ^.^RR7       \        \        \        ^^.RR7       \        \        \        ^.^..4       \        \        \        ^.^4       R# ©rP   r„   r…   r
   N)rÅ   rÆ   r   ©r[   r\   s   &&r`   Útest_mismatched_dimsÚ!TestConvolve.test_mismatched_dims  sp   € ô 	”j¤(¨Q¨C°¸8ÕDÜ”j¤(¨A°¨s¸8ÕDÜ”j¤(¨Q¨C°¸5ÕAÜ”j¤(¨A°¨s¸5ÕAÜ”j¤(¨Q¨C°1°#°Ô7Ü”j¤(¨Q¨C°Ö3rc   © N)éd   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Úskip_xp_backendsra   rj   rm   rw   Úxfail_xp_backendsr{   r€   r‘   r—   r©   r¼   rÈ   rÖ   rÞ   rå   r  r"  r(  Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r`   rE   rE   *   sâ  ø‡ € ñ �kØCôEñHóEðHñ �kØCôEñ5óEð5ñ �kØCôEñ5óEð5òEñ �{Ð+?Ô@ñ"ó Að"ñ ˜d¨=Ô9ñó :ðñ �{Ð+IÔJñ	.ó Kð	.ñ �{Ð+?Ô@ñ"ó Að"ñ �kÓ#Ù�fÓñó ó $ðñ �gÓÙ�fÓñ#5ó ó ð#5òJOñ �kÐ*?Ô@ñ'ó Að'ñ, �kÐ*?Ô@ñó Aðñ �fÐ%:Ô;ñ
Jó <ð
Jñ ˜dÐ+DÔEó*Ió Fð*IñX �kÐ*?Ô@ñ@ó Að@ñ" ˜dÔ#ñ4ó $ö4rc   rE   c            	       óÞ  a € ] tR tRt o ]! RRR7      R 4       t]! RRR7      R 4       t]! RRR7      R 4       t]! RR	R7      R
 4       tR t	R t
]! RRR7      R 4       t]! RRR7      R 4       t]! RRR7      ]P                  P                  R]].4      ]P                  P                  RR. R%O.3R. R&O.3.4      R 4       4       4       t]! RRR7      R 4       t]! RRR7      R 4       tR t]! RRR7      R 4       t]! RRR7      R 4       t]! RRR7      R 4       tR t]P                  P4                  ]P                  P7                  R4      ]! RR R!7      R" 4       4       4       tR#tV tR$# )'ÚTestConvolve2di  rF   rÊ   rH   c                óÂ   € VP                  . RO. RO.4      pVP                  . RO. RO.4      pVP                  . RO. RO. RO.4      p\        W#4      p\        WT4       R# r›   ©rY   r   r5   )r[   r\   r]   r^   r¨   Úes   &&    r`   r©   ÚTestConvolve2d.test_2d_arrays   sX   € à�J‰Jš	¢9Ð-Ó.ˆØ�J‰Jš	¢9Ð-Ó.ˆØ�J‰JÒ*Ú'Ú'ð)ó *ˆô �qÓˆÜ˜Örc   c                óæ   € VP                  . RO. RO.4      pVP                  . RO. RO.4      pVP                  . RO.4      p\        W#R4      p\        WT4       \        W2R4      p\        WT4       R# )rQ   r²   N©rQ   rK   rL   rM   rN   rž   r­   ©rL   rM   rN   rž   r­   é	   rR   rO   rh   ©r¢   éP   éb   ét   é†   r9  ©r[   r\   r:  rí   ÚhÚgs   &&    r`   Útest_valid_modeÚTestConvolve2d.test_valid_mode*  sf   € à�J‰JÒ-Ò/EÐFÓGˆØ�J‰Jš	¢9Ð-Ó.ˆØ�J‰JÒ.Ð/Ó0ˆä�q˜WÓ%ˆÜ˜Ôô �q˜WÓ%ˆÜ˜Örc   r«   c                ó  € VP                  . RO. RO.4      pVP                  . RO. RO.VP                  R7      R,           pVP                  . R	O.4      p\        W#R4      p\        WT4       \        W2R4      p\	        WT4       R# )
rQ   r¯   r®   r²   Nr=  r>  rO   rh   )y      O@      8@y      T@      >@y     €X@      B@y      ]@      E@y     À`@      H@)rY   r¸   r   r4   r5   rE  s   &&    r`   Útest_valid_mode_complxÚ%TestConvolve2d.test_valid_mode_complx7  ss   € à�J‰JÒ-Ò/EÐFÓGˆØ�J‰Jš	¢9Ð-°R·]±]ˆJÓCÀbÕHˆØ�J‰JÒLÐMÓNˆä�q˜WÓ%ˆÜ˜Ôô �q˜WÓ%ˆÜ˜Örc   zjax only allows fillvalue=0c                óÌ   € VP                  . RO. RO.4      pVP                  . RO. RO.4      p^p\        W#RRV4      pVP                  . RO. R	O. R
O.4      p\        WV4       R# )rP   r±   ÚfillNrO   rh   rœ   r�   )é   é   r¥   ri   rU   )rT   é(   r¢   é@   r  )rU   é.   éC   r¢   é0   r9  )r[   r\   r]   r^   Úfillvalr_   r¨   s   &&     r`   Útest_fillvalueÚTestConvolve2d.test_fillvalueD  sc   € à�J‰Jš	¢9Ð-Ó.ˆØ�J‰Jš	¢9Ð-Ó.ˆØˆÜ�q˜V V¨WÓ5ˆØ�J‰JÒ,Ú'Ú'ð)ó *ˆô 	˜Örc   c           
     óÞ  € R p\         P                  ! 4       ;_uu_ 4        \         P                  ! RR\        4       \	        \
        VR7      ;_uu_ 4        \        ^..^^..RR7       RRR4       RRR4       Rp\	        \
        VR7      ;_uu_ 4        \        ^..^^..^^.R7       RRR4       R#   + '       g   i     LS; i  + '       g   i     L^; i  + '       g   i     R# ; i)z2could not cast `fillvalue` directly to the output ÚignorezCasting complex values©Úmatchr®   ©Ú	fillvalueNz,`fillvalue` must be scalar or an array with )ÚwarningsÚcatch_warningsÚfilterwarningsr	   rÅ   rÆ   r   )r[   r\   Úmsgs   && r`   Útest_fillvalue_errorsÚ$TestConvolve2d.test_fillvalue_errorsO  sª   € ØBˆÜ×$Ò$×&Õ&Ü×#Ò# HÐ.FÌÔWÜœz°×5Ö5Ü˜Q˜C˜5 A q 6 (°bÕ9÷ 6÷ 'ð
 =ˆÜœ:¨S×1Ö1Ü˜˜�u  1˜v˜h°1°a°&Õ9÷ 2Ñ1÷	 6×5ú÷ '×&ú÷ 2×1Ð1ús/    6CÁB5	Á*CÂCÂ5CÃ CÃC	ÃC,	c                ó@   € \        \        \        ^..^^... R7       R# )rP   r]  N©rÅ   rÆ   r   r'  s   &&r`   Útest_fillvalue_emptyÚ#TestConvolve2d.test_fillvalue_emptyZ  s   € ä”j¤*°¨s¨e°q¸!°f°XØ "÷	$rc   z!jax only supports boundary='fill'c                óÆ   € VP                  . RO. RO.4      pVP                  . RO. RO.4      p\        W#RR4      pVP                  . RO. R	O. RO.4      p\        WE4       R# )
rP   r±   ÚwrapNrO   rh   rœ   r�   )rA  rA  éJ   rA  rA  )éD   rl  r¢   rl  rl  r9  r§   s   &&    r`   Útest_wrap_boundaryÚ!TestConvolve2d.test_wrap_boundary_  s\   € à�J‰Jš	¢9Ð-Ó.ˆØ�J‰Jš	¢9Ð-Ó.ˆÜ�q˜V VÓ,ˆØ�J‰JÒ,Ú'Ú'ð)ó *ˆô 	˜Örc   c                óÆ   € VP                  . RO. RO.4      pVP                  . RO. RO.4      p\        W#RR4      pVP                  . RO. R	O. R
O.4      p\        WE4       R# )rP   r±   ÚsymmNrO   rh   rœ   r�   )ri   r¡   é,   r¢   éB   )r  rU  r¢   rA  éT   )éR   rÍ   é\   én   ér   r9  r§   s   &&    r`   Útest_sym_boundaryÚ TestConvolve2d.test_sym_boundaryi  s\   € à�J‰Jš	¢9Ð-Ó.ˆØ�J‰Jš	¢9Ð-Ó.ˆÜ�q˜V VÓ,ˆØ�J‰JÒ,Ú'Ú)ð+ó ,ˆô 	˜Örc   Úfunczboundary, expectedrp  rj  c                óš   € VP                  . RO.4      pVP                  R4      pV! WVRVR7      p\        WtP                  V4      4       R# )ç       @re   ©rg   ÚboundaryN)r|  ç      ð¿ç      @ç      @)rP   é   )rY   Úonesr5   )r[   rz  r~  rÔ   r\   ÚimageÚkernelÚresults   &&&&&   r`   Útest_same_with_boundaryÚ&TestConvolve2d.test_same_with_boundarys  sE   € ð —
‘
Ò1Ð2Ó3ˆØ—‘˜Ó!ˆÙ�e¨&¸8ÔDˆô 	˜§
¡
¨8Ó 4Ö5rc   c           
     ó   € ^ RI Hp VP                  VP                  ^^VP                  R7      R4      pVP                  VP                  ^^eVP                  R7      R4      p\        W4RRR7      p\        WRP                  W4RR	R7      4       R# )
r   Nr¯   re   rj  r}  )rg   Úorigin)rR   rK   )rR   rR   )r´   r´   )Úscipy.ndimageÚndimager‹   rŒ   rþ   r   r5   r   )r[   r\   Úndir]   r^   r_   s   &&    r`   Útest_boundary_extension_sameÚ+TestConvolve2d.test_boundary_extension_same…  sr   € õ
 	$Ø�J‰J�r—y‘y  F°"·*±*�yÓ=¸wÓGˆØ�J‰J�r—y‘y  G°2·:±:�yÓ>ÀÓIˆÜ�q &°6Ô:ˆÜ˜Ÿ<™<¨°6À(˜<ÓKÖLrc   c                ó  € ^ RI Hp VP                  VP                  ^^
VP                  R7      R4      pVP                  VP                  ^^%VP                  R7      R4      p\        W4RRR7      p\        P                  ! ^^
\        R7      P                  ^^4      p\        P                  ! VR	R4      pVP                  V4      p\        WQP                  VP                  W„RR7      RR
1RR
13,          4      4       R# )r   Nr¯   r±   rj  r}  rf   ©rK   rK   )rN   rN   )r‘  r‘  r´   )r‹  rŒ  r‹   rŒ   rþ   r   r   ÚfloatÚpadrY   r5   r   )	r[   r\   r�  r]   r^   r_   Úa_npÚapad_npÚapads	   &&       r`   Útest_boundary_extension_fullÚ+TestConvolve2d.test_boundary_extension_full�  sÊ   € õ
 	$Ø�J‰J�r—y‘y  E°·±�yÓ<¸fÓEˆØ�J‰J�r—y‘y  E°·±�yÓ<¸fÓEˆÜ�q &°6Ô:ˆä�yŠy˜˜F¬%Ô0×8Ñ8¸¸AÓ>ˆÜ—&’&˜Ð/°Ó8ˆØ�z‰z˜'Ó"ˆÜ˜Ÿ:™: c§l¡l°4À lÓ&HÈÈ"ÈÈcÈrÈcÈÕ&RÓSÖTrc   c                óú   € VP                  VP                  ^^4      R4      pVP                  VP                  R^ 4      R4      p\        \        \        .W#3O5/ RR/B  \        \        \        .W23O5/ RR/B  R# rá   )r‹   rŒ   rÅ   rÆ   r   rÇ   s   &&  r`   rå   Ú"TestConvolve2d.test_invalid_shapesŸ  so   € ð �J‰J�r—y‘y  A“¨Ó/ˆØ�J‰J�r—y‘y  QÓ'¨Ó0ˆä”j¤*ÐK°¨vÒK¸&À'Ð9JÒKÜ”j¤*ÐK°¨vÒK¸&À'Ð9JÔKrc   rG   c                ó¾   € VP                  . RO. RO.4      pVP                  . RO. RO.4      p\        W#R4      pVP                  . RO. RO.4      p\        WE4       R# )	rP   re   NrO   rh   r=  r>  )rS   rT   ri   )rA  rB  rC  r9  )r[   r\   r:  rí   rG  rF  s   &&    r`   rÞ   ÚTestConvolve2d.test_same_mode«  sX   € ð �J‰Jš	¢9Ð-Ó.ˆØ�J‰JÒ-Ò/EÐFÓGˆÜ�q˜VÓ$ˆØ�J‰JšÚ ð"ó #ˆä˜Örc   c                óÆ  € VP                  . RO. RO.4      pVP                  . RO. RO.4      pVP                  . RO.4      p\        W#R4      p\        WT4       \        W2R4      p\        WT4       VP                  RR	.R
R..4      pVP                  . RO. RO.4      pVP                  RR..4      p\        W#R4      p\        WT4       \        W2R4      p\        WT4       R# )rP   r²   NrO   rh   r=  r>  r@  rp   rÑ   rr   ù      @        )rÐ   ù      @       @rž  )y      @       €y      @      ð?y      @      Ày      ;@      ð¿y      G@       @r9  )r[   r\   r:  rí   rÔ   rÕ   s   &&    r`   rÖ   ÚTestConvolve2d.test_valid_mode2µ  sØ   € ð �J‰Jš	¢9Ð-Ó.ˆØ�J‰JÒ-Ò/EÐFÓGˆØ—:‘:Ò5Ð6Ó7ˆä˜˜wÓ'ˆÜ˜Ô&ä˜˜wÓ'ˆÜ˜Ô&à�J‰J˜ Ð(¨6°6Ð*:Ð;Ó<ˆØ�J‰JÒ0Ò2JÐKÓLˆØ—:‘: ¨Ð2Ð3Ó4ˆä˜˜wÓ'ˆÜ˜Ô&ô ˜˜wÓ'ˆÜ˜Ö&rc   z9only integer tensors of a single element can be convertedc                óÊ  € VP                  ^4      pVP                  . RO4      p\        V4      p\        V4      pR F¢  p\        VP                  \        P
                  ! WEVR7      4      \        P
                  ! W#VR7      4       \        VP                  \        P                  ! VR,          VR,          VR7      ^ R7      \        P
                  ! W#VR7      4       K¤  	  R# )rM   rf   N©Úaxis©gš™™™™™	@gffffffö?rK   ©r±   r²   re   )NºNNN)	rŒ   rY   rC   r4   r   r   r   Úsqueezer   )r[   r\   r]   r^   r”  Úb_nprg   s   &&     r`   Útest_consistency_convolve_funcsÚ.TestConvolve2d.test_consistency_convolve_funcsÎ  s²   € ð
 �I‰I�a‹LˆØ�J‰J’}Ó%ˆÜ  Ó#ˆÜ  Ó#ˆã-ˆDÜØ—
‘
œ2Ÿ;š; t¸Ô=Ó>Ü—’ ¨4Ô0ôô Ø—
‘
Ü×%Ò% a¨¥j°!°Gµ*À4ÔHØð ó ô —’ ¨4Ô0öó .rc   c                óš   € \        \        \        ^^4       \        \        \        ^.^.4       \        \        \        ^...^...4       R# )rK   Nrf  r'  s   &&r`   Útest_invalid_dimsÚ TestConvolve2d.test_invalid_dimså  s<   € Ü”j¤*¨a°Ô3Ü”j¤*¨q¨c°A°3Ô7Ü”j¤*°°¨u¨g¸!¸¸°wÖ?rc   z!Can't create large array for testTÚstride_tricksr}   c                ó:  € RRVP                  4       P                  ,          ,          p\        P                  ! ^V,          R,          \        P                   ! 4       P                  ,          R,          4       VP                  RV,          VP                   R7      p^VR&   \        P                  P                  P                  W2R3R	R7      p\        P                  ! V^^..4      p\        P                  ! V^8„  4      pV^ ,          P                  ^ 8X  g   Q hR# )
rQ   éè  éé  g    €„.Ar¯   ºNNrQ   )ÚshapeÚstridesNl        )iH  r­   )rù   Úitemsizer3   Úcheck_free_memoryr   ÚzerosÚlibr®  Ú
as_stridedr   r   Úwhererì   )r[   r\   r  r]   ÚcountÚfailss   &&    r`   Útest_large_arrayÚTestConvolve2d.test_large_arrayê  sÓ   € ð
 �d˜RŸX™X›Z×0Ñ0Õ0Õ1ˆÜ×$Ò$ Q¨¥U¨T¥\´B·H²H³J×4GÑ4GÕ%GÈ#Õ%MÔNð �H‰H�T˜A•X R§X¡XˆHÓ.ˆØˆˆ#‰Ü�F‰F× Ñ ×+Ñ+¨A¸°YÈ	Ð+ÓRˆä×!Ò! ! q¨! f XÓ.ˆÜ—’˜ ™Ó#ˆØ�Q�x�}‰} Ô!Ð!Ò!rc   r*  N)g     €B@ç      E@ç      F@g     €F@)ç     €E@rÀ  r¿  ç     €C@)r,  r-  r.  r/  r0  r©   rH  rK  rW  rc  rg  rm  rx  ÚpytestÚmarkÚparametrizer   r   r‡  rŽ  r—  rå   rÞ   rÖ   r©  r¬  ÚslowÚxfail_on_32bitr½  r2  r3  r4  s   @r`   r7  r7    s   ø‡ € ñ �kÐ*?Ô@ñó Aðñ �kÐ*?Ô@ñ
ó Að
ñ �gÐ&;Ô<ñ
ó =ð
ñ �kÐ*GÔHñó Iðò	:ò$ñ
 �kÐ*MÔNñó Oðñ �kÐ*MÔNñó Oðñ �kÐ*MÔNØ‡[�[×Ñ˜V j°+Ð%>Ó?Ø‡[�[×ÑÐ1Ø%Ò(@Ð'AÐBØ%Ò(@Ð'AÐBðDóEñ6óEó @ó Oð
6ñ �kÐ*MÔNñMó OðMñ �kÐ*MÔNñUó OðUò
Lñ �kØCôEñóEðñ �kØCôEñ'óEð'ñ. �gØJôñóðò(@ð
 ‡[�[×ÑØ‡[�[×ÑÐ CÓDÙ˜d¨?Ô;ñ"ó <ó Eó ö"rc   r7  c                   ó8	  a € ] tR tRt o ]! RRR7      ]P                  P                  RRR^ ^ .R0R0..4      R 4       4       t]! RRR7      ]P                  P                  R^^.R0R0..4      R	 4       4       t	]P                  P                  RRR^ ^ .R0R0..4      R
 4       t
]P                  P                  R^^.R0R0..4      R 4       t]P                  P                  RRR^ ^.^^ .^ R0.R0^ .R1^.^R1.R1R0.R0R1..
4      R 4       t]P                  P                  R^^.^^.^R0.R0^.R1^.^R1.R1R0.R0R1..4      R 4       t]P                  P                  RRR^ ^.^^ .^ R0.R0^ .R1^.^R1.R1R0.R0R1..
4      R 4       t]P                  P                  R^^.^^.^R0.R0^.R1^.^R1.R1R0.R0R1..4      R 4       t]! RRR7      ]P                  P                  RRR^ ^ .R0R0..4      R 4       4       t]! RRR7      ]P                  P                  R^R0^.R0..4      R 4       4       t]! RRR7      ]P                  P                  RRR^ ^ .R0R0..4      R 4       4       t]! RRR7      ]P                  P                  R^^..4      R 4       4       t]P                  P                  RRR^ ^ .R0R0..4      R 4       t]P                  P                  R^^.R0R0..4      R 4       t]! RRR7      ]! RRR7      R 4       4       t]! RRR7      ]! RRR7      ]P                  P                  R. . 3^^.. 3. ^.3.4      R 4       4       4       t]! RRR7      R 4       tR t]P                  P                  RRR^ ^ .R0R0..4      R  4       t]P                  P                  R^^.R0R0..4      R! 4       t]! R"R#R$7      ]P                  P                  R^^.^^.^R0.R0^.R2^.^R2.R2R0.R0R2..4      R% 4       4       t]P                  P<                  ]P                  P                  R&]! ] ! ^^d4      4      ]! ] ! R'R(4      4      ,           ]!PD                  PG                  R)4      PI                  R*R+^4      PK                  4       ,           4      R, 4       4       t&]! R"R-7      R. 4       t'R/t(V t)R# )3ÚTestFFTConvolveiü  r«   rÊ   rH   ÚaxesÚ Nc                óî   € VP                  . RO4      pVP                  . RO4      pVR8X  d   \        W34      pM.\        V\        4      '       d   \	        V4      p\        W3VR7      p\        WTRR7       R# )rP   rË  ©rÊ  çTäqs*¹>rˆ   NrO   ©rP   rL   rR   rW   ç      "@©rY   r   Ú
isinstanceÚlistrŽ   r4   ©r[   rÊ  r\   r]   rÔ   rÕ   s   &&&   r`   Ú	test_realÚTestFFTConvolve.test_realÿ  s^   € ð �J‰J’yÓ!ˆØ—:‘:Ò0Ó1ˆà�2Œ:Ü˜aÓ#‰Cä˜$¤×%Ò%Ü˜T“{�Ü˜a¨Ô.ˆCä˜¨F×3rc   c                óh  € VP                  . RO4      pVP                  . RO4      pVP                  \        P                  ! V^^.4      4      pVP                  \        P                  ! V^^.4      4      p\        V\        4      '       d   \        V4      p\        W3VR7      p\        WTRR7       R# )rP   rÍ  rÎ  rˆ   NrO   rÏ  ©rY   r   ÚtilerÒ  rÓ  rŽ   r   r4   rÔ  s   &&&   r`   Útest_real_axesÚTestFFTConvolve.test_real_axes  s‡   € ð �J‰J’yÓ!ˆØ—:‘:Ò0Ó1ˆà�J‰J”r—w’w˜q 1 a &Ó)Ó*ˆØ—:‘:œbŸgšg h°°A°Ó7Ó8ˆä�dœD×!Ò!Ü˜“;ˆDä˜! TÔ*ˆÜ˜¨F×3rc   c                óî   € VP                  . RO4      pVP                  . RO4      pVR8X  d   \        W34      pM.\        V\        4      '       d   \	        V4      p\        W3VR7      p\        WTRR7       R# )rP   rË  rÍ  rÎ  rˆ   N©rp   ù       @       @y      @      @©rs   y               @y              4@y              8@y              2@rÑ  rÔ  s   &&&   r`   rw   ÚTestFFTConvolve.test_complex  s]   € à�J‰JÒ/Ó0ˆØ—:‘:ÒIÓJˆà�2Œ:Ü˜aÓ#‰Cä˜$¤×%Ò%Ü˜T“{�Ü˜a¨Ô.ˆCÜ˜¨F×3rc   c                óh  € VP                  . RO4      pVP                  . RO4      pVP                  \        P                  ! V^^.4      4      pVP                  \        P                  ! V^^.4      4      p\        V\        4      '       d   \        V4      p\        W3VR7      p\        WTRR7       R# )rP   rÍ  rÎ  rˆ   NrÝ  rß  rØ  rÔ  s   &&&   r`   Útest_complex_axesÚ!TestFFTConvolve.test_complex_axes*  s†   € à�J‰JÒ/Ó0ˆØ—:‘:ÒIÓJˆà�J‰J”r—w’w˜q 1 a &Ó)Ó*ˆØ—:‘:œbŸgšg h°°A°Ó7Ó8ˆä�dœD×!Ò!Ü˜“;ˆDä˜! TÔ*ˆÜ˜¨F×3rc   c                ó   € VP                  . RO. RO.4      pVP                  . RO. RO. RO.4      pVR8X  d   \        W34      pM.\        V\        4      '       d   \	        V4      p\        W3VR7      p\        WT4       R# )	ç      ð?rË  rÍ  N©rå  rQ   rK   r�   )rå  rL   rR   rW   r?  ©r­   rP  é8   r  rÝ   ©rŸ   rQ  rÎ   r   rÝ   rÑ  rÔ  s   &&&   r`   Útest_2d_real_sameÚ!TestFFTConvolve.test_2d_real_same8  su   € ð �J‰JšÚ!ð#ó $ˆà—:‘:Ò2Ú2Ú3ð5ó 6ˆð �2Œ:Ü˜aÓ#‰Cä˜$¤×%Ò%Ü˜T“{�Ü˜a¨Ô.ˆCÜ˜Ö&rc   c                ó€  € VP                  . RO. RO.4      pVP                  . RO. R	O. R
O.4      pVP                  \        P                  ! V. RO4      4      pVP                  \        P                  ! V. RO4      4      p\        V\        4      '       d   \        V4      p\        W3VR7      p\        WTRRR7       R# )rP   rÍ  rÎ  F©r‰   r  NrO   r�   )rP   rL   rR   rW   r?  rç  ré  ©rQ   rP   rP   rØ  rÔ  s   &&&   r`   Útest_2d_real_same_axesÚ&TestFFTConvolve.test_2d_real_same_axesQ  sš   € ð �J‰Jš	Úðó ˆà—:‘:Ò0Ú-Ú.ð0ó 1ˆð �J‰J”r—w’w˜q¢)Ó,Ó-ˆØ—:‘:œbŸgšg h²	Ó:Ó;ˆä�dœD×!Ò!Ü˜“;ˆDä˜! TÔ*ˆÜ˜¨FÀ×Frc   c                ó  € VP                  . RO. RO.4      pVP                  . RO. R	O. R
O.4      pVR8X  d   \        W34      pM.\        V\        4      '       d   \	        V4      p\        W3VR7      p\        WTRR7       R# )rP   rË  rÍ  rÎ  rˆ   N©ù      ð?       @ù      @      @y      @      @©rq   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Ô  s   &&&   r`   Útest_2d_complex_sameÚ$TestFFTConvolve.test_2d_complex_samei  sx   € ð �J‰JÒ0Ú+ð-ó .ˆà—:‘:ÚAÚ(Ú<ðó ˆð �2Œ:Ü˜aÓ#‰Cä˜$¤×%Ò%Ü˜T“{�Ü˜a¨Ô.ˆCä˜¨F×3rc   c                ó~  € VP                  . RO. RO.4      pVP                  . RO. RO. R	O.4      pVP                  \        P                  ! V. R
O4      4      pVP                  \        P                  ! V. R
O4      4      p\        V\        4      '       d   \        V4      p\        W3VR7      p\        WTRR7       R# )rP   rÍ  rÎ  rˆ   Nrò  rõ  rö  r÷  rø  rî  rØ  rÔ  s   &&&   r`   Útest_2d_complex_same_axesÚ)TestFFTConvolve.test_2d_complex_same_axes…  s™   € ð �J‰JÒ0Ú+ð-ó .ˆà—:‘:ÚAÚ(Ú<ðó ˆð �J‰J”r—w’w˜q¢)Ó,Ó-ˆØ—:‘:œbŸgšg h²	Ó:Ó;ˆä�dœD×!Ò!Ü˜“;ˆDä˜! TÔ*ˆÜ˜¨F×3rc   c                óÚ  € VP                  . RO4      pVP                  . RO4      pVP                  . R	O4      pVP                  . R
O4      pVR8X  d   \        W4R4      pM/\        V\        4      '       d   \	        V4      p\        W4RVR7      p\        Wu4       VR8X  d   \        WCR4      pM/\        V\        4      '       d   \	        V4      p\        WCRVR7      p\        WvRR7       R# )rP   rË  re   rÍ  rÎ  rˆ   NrO   ©	rK   rK   rM   rN   r­   rž   r?  r   rP   ©ç     €A@ç     €D@ç     €G@©	rÐ  ç      4@ç      9@r  r  r  rÂ  g      <@r|  rÑ  ©r[   rÊ  r\   r]   r^   Ú
expected_1Ú
expected_2rÕ   s   &&&     r`   Útest_real_same_modeÚ#TestFFTConvolve.test_real_same_modeŸ  s¾   € ð �J‰J’yÓ!ˆØ�J‰JÒ2Ó3ˆØ—Z‘Z¢Ó0ˆ
Ø—Z‘ZÒ KÓLˆ
à�2Œ:Ü˜a FÓ+‰Cä˜$¤×%Ò%Ü˜T“{�Ü˜a F°Ô6ˆCÜ˜Ô(à�2Œ:Ü˜a FÓ+‰Cä˜$¤×%Ò%Ü˜T“{�Ü˜a F°Ô6ˆCÜ˜¨f×5rc   c                óŒ  € VP                  . RO4      pVP                  . RO4      pVP                  . RO4      pVP                  . R	O4      pVP                  \        P                  ! V^^.4      4      pVP                  \        P                  ! V^^.4      4      pVP                  \        P                  ! V^^.4      4      pVP                  \        P                  ! V^^.4      4      p\        V\        4      '       d   \        V4      p\        W4RVR7      p\        WuRR7       \        WCRVR7      p\        WvRR7       R# )
rP   re   rÍ  rÎ  rˆ   NrO   rÿ  r   r  rØ  r  s   &&&     r`   Útest_real_same_mode_axesÚ(TestFFTConvolve.test_real_same_mode_axes·  sø   € ð �J‰J’yÓ!ˆØ�J‰JÒ2Ó3ˆØ—Z‘Z¢Ó0ˆ
Ø—Z‘ZÒ KÓLˆ
à�J‰J”r—w’w˜q 1 a &Ó)Ó*ˆØ�J‰J”r—w’w˜q 1 a &Ó)Ó*ˆØ—Z‘Z¤§¢¨
°Q¸°FÓ ;Ó<ˆ
Ø—Z‘Z¤§¢¨
°Q¸°FÓ ;Ó<ˆ
ä�dœD×!Ò!Ü˜“;ˆDä˜! ¨TÔ2ˆÜ˜¨fÕ5ä˜! ¨TÔ2ˆÜ˜¨f×5rc   c                ó¸  € VP                  . RO4      pVP                  . RO4      pVP                  . R	O4      pVR8X  d   \        W4R4      pM/\        V\        4      '       d   \	        V4      p\        W4RVR7      p\        WeRR7       VR8X  d   \        WCR4      pM/\        V\        4      '       d   \	        V4      p\        WCRVR7      p\        WeRR7       R# )
rK   rË  r²   rÍ  rÎ  rˆ   N©rK   rQ   rP   rÿ  ©ç      8@g      ?@r  rÁ  g     €H@r  ç      (@rÑ  ©r[   rÊ  r\   r]   r^   rÔ   rÕ   s   &&&    r`   Útest_valid_mode_realÚ$TestFFTConvolve.test_valid_mode_realÍ  s²   € ð �J‰J’yÓ!ˆØ�J‰JÒ2Ó3ˆØ—:‘:ÒAÓBˆà�2Œ:Ü˜a GÓ,‰Cä˜$¤×%Ò%Ü˜T“{�Ü˜a G°$Ô7ˆCÜ˜¨FÕ3à�2Œ:Ü˜a GÓ,‰Cä˜$¤×%Ò%Ü˜T“{�Ü˜a G°$Ô7ˆCÜ˜¨F×3rc   c                óà  € VP                  . RO4      pVP                  . RO4      pVP                  . RO4      pVP                  \        P                  ! V^^.4      4      pVP                  \        P                  ! V^^.4      4      pVP                  \        P                  ! V^^.4      4      p\        V\        4      '       d   \        V4      p\        W4RVR7      p\        WeRR7       R# ©	rK   r²   rÍ  rÎ  rˆ   Nr  rÿ  r  rØ  r  s   &&&    r`   Útest_valid_mode_real_axesÚ)TestFFTConvolve.test_valid_mode_real_axeså  sµ   € ð �J‰J’yÓ!ˆØ�J‰JÒ2Ó3ˆØ—:‘:ÒAÓBˆà�J‰J”r—w’w˜q 1 a &Ó)Ó*ˆØ�J‰J”r—w’w˜q 1 a &Ó)Ó*ˆØ—:‘:œbŸgšg h°°A°Ó7Ó8ˆä�dœD×!Ò!Ü˜“;ˆDä˜! ¨dÔ3ˆÜ˜¨F×3rc   c                ó¸  € VP                  . RO4      pVP                  . RO4      pVP                  . R	O4      pVR8X  d   \        W4R4      pM/\        V\        4      '       d   \	        V4      p\        W4RVR7      p\        WeRR7       VR8X  d   \        WCR4      pM/\        V\        4      '       d   \	        V4      p\        WCRVR7      p\        WeRR7       R# )
rK   rË  r²   rÍ  rÎ  rˆ   N©ù      @      ð¿y       @      @rÒ   ©rŸ  y      @      Ày      @        y      @      ð¿y       @        ©y     €F@      (@y      >@      7@y      H@      @@rÑ  r  s   &&&    r`   Útest_valid_mode_complexÚ'TestFFTConvolve.test_valid_mode_complex÷  s±   € à�J‰JÒ/Ó0ˆØ�J‰JÒ?Ó@ˆØ—:‘:ÒAÓBˆà�2Œ:Ü˜a GÓ,‰Cä˜$¤×%Ò%Ü˜T“{�Ü˜a G°$Ô7ˆCÜ˜¨FÕ3à�2Œ:Ü˜a GÓ,‰Cä˜$¤×%Ò%Ü˜T“{�Ü˜a G°$Ô7ˆCÜ˜¨F×3rc   c                ó  € VP                  . RO4      pVP                  . RO4      pVP                  . RO4      pVP                  \        P                  ! V^^.4      4      pVP                  \        P                  ! V^^.4      4      pVP                  \        P                  ! V^^.4      4      p\        V\        4      '       d   \        V4      p\        W4RVR7      p\        WeRR7       \        WCRVR7      p\        WeRR7       R# )	rK   r²   rÍ  rÎ  rˆ   Nr  r  r  rØ  r  s   &&&    r`   Útest_valid_mode_complex_axesÚ,TestFFTConvolve.test_valid_mode_complex_axes  sÌ   € à�J‰JÒ/Ó0ˆØ�J‰JÒ?Ó@ˆØ—:‘:ÒAÓBˆà�J‰J”r—w’w˜q 1 a &Ó)Ó*ˆØ�J‰J”r—w’w˜q 1 a &Ó)Ó*ˆØ—:‘:œbŸgšg h°°A°Ó7Ó8ˆä�dœD×!Ò!Ü˜“;ˆDä˜! ¨dÔ3ˆÜ˜¨FÕ3ä˜! ¨dÔ3ˆÜ˜¨F×3rc   rF   z mapped axes must have same shapec                óž  € VP                  . RO4      pVP                  . RO4      pVP                  . RO4      pVP                  \        P                  ! V^^.4      4      pVP                  \        P                  ! V^^.4      4      pVP                  \        P                  ! V^^.4      4      p\        W#R^R7      p\	        WTRR7       R# r  )rY   r   rÙ  r   r4   rÓ   s   &&    r`   Útest_valid_mode_ignore_nonaxesÚ.TestFFTConvolve.test_valid_mode_ignore_nonaxes   sŸ   € ð �J‰J’yÓ!ˆØ�J‰JÒ2Ó3ˆØ—:‘:ÒAÓBˆà�J‰J”r—w’w˜q 1 a &Ó)Ó*ˆØ�J‰J”r—w’w˜q 1 a &Ó)Ó*ˆØ—:‘:œbŸgšg h°°A°Ó7Ó8ˆä˜! ¨aÔ0ˆÜ˜¨F×3rc   r™   zassorted error messagesúa,bc                óŒ   € \        \        VP                  V4      VP                  V4      4      VP                  . 4      4       R # ©N)r5   r   rY   ©r[   r]   r^   r\   s   &&&&r`   Ú
test_emptyÚTestFFTConvolve.test_empty/  s1   € ô
 	Ü˜Ÿ
™
 1› r§z¡z°!£}Ó5Ø�J‰J�r‹Nö	
rc   zjnp.pad: pad_width with nd=0c                ó„   € VP                  R 4      pVP                  R4      p\        W#4      p\        WBV,          4       R# r”   )rY   r   r5   ©r[   r\   r]   r^   rÕ   s   &&   r`   r{   ÚTestFFTConvolve.test_zero_rank9  s4   € à�J‰J�tÓˆØ�J‰J�tÓˆÜ˜!ÓˆÜ˜ �UÖ#rc   c                ó¾   € VP                  R .4      pVP                  R.4      p\        W#4      p\        VVP                  W#,          VP                  R7      4       R# )r•   r–   r¯   N)rY   r   r5   r°   r/  s   &&   r`   r—   Ú#TestFFTConvolve.test_single_element@  sL   € Ø�J‰J˜�vÓˆØ�J‰J˜�vÓˆÜ˜!ÓˆÜ˜ØŸ
™
 1¥5°·	±	˜
Ó:ö	<rc   c                ód  € \         P                  P                  R 4      p\         P                  P                  R4      RVP                  R4      ,          ,           p\         P                  P                  R4      RVP                  R4      ,          ,           pVP	                  \         P
                  ! WER4      4      pVP	                  V4      pVP	                  V4      pVR8X  d   \        WxR4      p	M/\        V\        4      '       d   \        V4      p\        WxRVR7      p	\        W–RR7       R	# )
éÒ  éÑ  r®   é)  r±   rË  rÍ  ç»½×Ùß|Û=©rð   N)r   r  Údefault_rngÚrandrY   r   r   rÒ  rÓ  rŽ   r4   ©
r[   rÊ  r\   r  r”  r¨  rÔ   r]   r^   rÕ   s
   &&&       r`   Útest_random_dataÚ TestFFTConvolve.test_random_dataG  sÖ   € ä�i‰i×#Ñ# DÓ)ˆÜ�y‰y�~‰~˜dÓ# b¨3¯:©:°dÓ+;Õ&;Õ;ˆÜ�y‰y�~‰~˜dÓ# b¨3¯:©:°dÓ+;Õ&;Õ;ˆØ—:‘:œbŸkšk¨$°fÓ=Ó>ˆØ�J‰J�tÓˆØ�J‰J�tÓˆà�2Œ:Ü˜a FÓ+‰Cä˜$¤×%Ò%Ü˜T“{�Ü˜a F°Ô6ˆCÜ˜¨E×2rc   c                óÒ  € \         P                  P                  R 4      p\         P                  P                  R4      RVP                  R4      ,          ,           p\         P                  P                  R4      RVP                  R4      ,          ,           p\         P                  ! WER4      p\         P
                  ! V^^.4      p\         P
                  ! V^^.4      pVP                  \         P
                  ! V^^.4      4      pVP                  V4      pVP                  V4      p\        V\        4      '       d   \        V4      p\        WxRVR7      p	\        W–RR7       R# )	r4  r5  r®   r6  r±   rÍ  r7  r8  N)r   r  r9  r:  r   rÙ  rY   rÒ  rÓ  rŽ   r   r4   r;  s
   &&&       r`   Útest_random_data_axesÚ%TestFFTConvolve.test_random_data_axesX  sÿ   € ä�i‰i×#Ñ# DÓ)ˆÜ�y‰y�~‰~˜dÓ# b¨3¯:©:°dÓ+;Õ&;Õ;ˆÜ�y‰y�~‰~˜dÓ# b¨3¯:©:°dÓ+;Õ&;Õ;ˆÜ—;’;˜t¨6Ó2ˆÜ�wŠw�t˜a ˜VÓ$ˆÜ�wŠw�t˜a ˜VÓ$ˆØ—:‘:œbŸgšg h°°A°Ó7Ó8ˆà�J‰J�tÓˆØ�J‰J�tÓˆä�dœD×!Ò!Ü˜“;ˆDä˜! ¨TÔ2ˆÜ˜¨E×2rc   TzTODO: swapaxesr}   c                óº  € RR	rC\         P                  P                  R4      pVP                  \         P                  P                  ! V!  RVP                  V4      ,          ,           4      pVP                  \         P                  P                  ! V!  RVP                  V4      ,          ,           4      p\        WgR4      pVR
,          pVR
,          pVR
,          pVP                  VP                  ^ ^4      ^^4      pVP                  VP                  ^ ^4      ^^4      pVP                  VP                  ^ ^4      ^^4      pVP                  \         P                  ! V. RO4      4      pVP                  \         P                  ! V. RO4      4      pVP                  \         P                  ! V. RO4      4      p\        WgRVR7      p	\        W˜RRR7       R# )é{   r4  r®   r±   NrÍ  r7  ©rð   r‰   )rB  rS   )é„   é   )r¦  r¦  NNN)rQ   rP   rK   rP   rP   )rQ   rP   rP   rL   rP   )rQ   rP   rK   rL   rP   )r   r  r9  rY   r:  r   ÚmoveaxisÚswapaxesrÙ  r   r4   )
r[   rÊ  r\   Úa_shaper�   r  r]   r^   rÔ   rÕ   s
   &&&       r`   Útest_random_data_multidim_axesÚ.TestFFTConvolve.test_random_data_multidim_axesk  sh  € ð % i�Ü�i‰i×#Ñ# DÓ)ˆØ�J‰J”r—y‘y—~’~ wÑ/°"°s·z±zÀ'Ó7JÕ2JÕJÓKˆØ�J‰J”r—y‘y—~’~ wÑ/°"°s·z±zÀ'Ó7JÕ2JÕJÓKˆÜ˜a FÓ+ˆàÐ$Õ%ˆØÐ$Õ%ˆØÐ2Õ3ˆà�K‰K˜Ÿ
™
 1 aÓ(¨!¨QÓ/ˆØ�K‰K˜Ÿ
™
 1 aÓ(¨!¨QÓ/ˆØ—;‘;˜x×0Ñ0°°AÓ6¸¸1Ó=ˆð �J‰J”r—w’w˜q¢/Ó2Ó3ˆØ�J‰J”r—w’w˜q¢/Ó2Ó3ˆØ—:‘:œbŸgšg h²Ó@ÓAˆä˜! ¨TÔ2ˆÜ˜¨E¸×>rc   r  r°  iÜ  r4  r±  é'  c                ó&  € \         P                  P                  V4      R \         P                  P                  V4      ,          ,           p\         P                  P                  V4      R \         P                  P                  V4      ,          ,           pVP                  \         P                  ! W4R4      4      pVP                  V4      pVP                  V4      p\        WgR4      p\        W…RR7       \        WgRRR7      p\        W…RR7       R# )r®   r±   r7  rˆ   rÍ  N©r   )r   r  r:  rY   r   r   r4   )	r[   r  r\   r”  r¨  rÔ   r]   r^   rÕ   s	   &&&      r`   Útest_many_sizesÚTestFFTConvolve.test_many_sizes‹  s¹   € ô �y‰y�~‰~˜aÓ  2¬¯	©	¯©°qÓ(9Õ#9Õ9ˆÜ�y‰y�~‰~˜aÓ  2¬¯	©	¯©°qÓ(9Õ#9Õ9ˆØ—:‘:œbŸkšk¨$°fÓ=Ó>ˆØ�J‰J�tÓˆØ�J‰J�tÓˆä˜! Ó'ˆÜ˜¨EÕ2ä˜! ¨TÔ2ˆÜ˜¨E×2rc   r$  c           
     óâ  € R p\         P                  P                  R4      pVP                  VP	                  V4      4      p\         P
                  \         P                  3 Fu  pWT^d&   VP                  \        P                  ! ^ÈR4      4      pRp\        P                  ! \        VR7      ;_uu_ 4        \        P                  ! WFRRR7       RRR4       Kw  	  R#   + '       g   i     KŒ  ; i)	r°  l   [<zn( çš™™™™™É?z4Use of fft convolution.*|invalid value encountered.*r[  re   r
   rÂ   N)r   r  r9  rY   Ústandard_normalÚnanÚinfr   ÚfirwinrÃ  ÚwarnsÚRuntimeWarningr   )r[   r\   r  r  Úsig_nanr!  Úcoeffsrb  s   &&      r`   Útest_fft_nanÚTestFFTConvolve.test_fft_nanž  s¥   € àˆÜ�i‰i×#Ñ# KÓ0ˆØ—*‘*˜S×0Ñ0°Ó3Ó4ˆä—F‘FœBŸF™FÓ#ˆCØ�C‰LØ—Z‘Z¤§¢¨c°3Ó 7Ó8ˆFàHˆCÜ—’œn°C×8Ö8Ü—’ °fÀUÕK÷ 9Ñ8ó $÷
 9×8Ð8ús   Â5CÃC.r*  r´   éþÿÿÿéüÿÿÿ)*r,  r-  r.  r/  r0  rÃ  rÄ  rÅ  rÕ  rÚ  rw   râ  rê  rï  rù  rü  r
  r  r  r  r   r#  r&  r1  r,  r{   r—   r<  r?  rI  rÆ  rÓ  r�   r   r  r  ÚrandintÚtolistrN  rZ  r2  r3  r4  s   @r`   rÉ  rÉ  ü  s-  ø‡ € ñ �gÐ&;Ô<Ø‡[�[×Ñ˜V b¨$°°A°3¸¸R¸DÐ%AÓBñ4ó Có =ð4ñ �gÐ&;Ô<Ø‡[�[×Ñ˜V a¨!¨¨b°2°$Ð%7Ó8ñ4ó 9ó =ð4ð ‡[�[×Ñ˜V b¨$°°A°3¸¸R¸DÐ%AÓBñ
4ó Cð
4ð ‡[�[×Ñ˜V a¨!¨¨b°2°$Ð%7Ó8ñ4ó 9ð4ð ‡[�[×Ñ˜V bØ&*Ø'(¨! fØ'(¨! fØ'(¨" gØ')¨1 gØ')¨1 gØ'(¨" gØ')¨2 hØ')¨2 hð	&0ó 	1ñ'ó	1ð'ð ‡[�[×Ñ˜V q¨! fØ'(¨! fØ'(¨" gØ')¨1 gØ')¨1 gØ'(¨" gØ')¨2 hØ')¨2 hð&0ó 1ñGó1ðGð  ‡[�[×Ñ˜V bØ&*Ø'(¨! fØ'(¨! fØ'(¨" gØ')¨1 gØ')¨1 gØ'(¨" gØ')¨2 hØ')¨2 hð	&0ó 	1ñ4ó	1ð4ð$ ‡[�[×Ñ˜V q¨! fØ'(¨! fØ'(¨" gØ')¨1 gØ')¨1 gØ'(¨" gØ')¨2 hØ')¨2 hð&0ó 1ñ4ó1ð4ñ$ �gÐ&;Ô<Ø‡[�[×Ñ˜V b¨$°°A°3¸¸R¸DÐ%AÓBñ6ó Có =ð6ñ, �gÐ&;Ô<Ø‡[�[×Ñ˜V a¨¨a¨S°2°$Ð%7Ó8ñ6ó 9ó =ð6ñ( �gÐ&;Ô<Ø‡[�[×Ñ˜V b¨$°°A°3¸¸R¸DÐ%AÓBñ4ó Có =ð4ñ, �gÐ&;Ô<Ø‡[�[×Ñ˜V a¨!¨ XÓ.ñ4ó /ó =ð4ð  ‡[�[×Ñ˜V b¨$°°A°3¸¸R¸DÐ%AÓBñ4ó Cð4ð* ‡[�[×Ñ˜V a¨!¨¨b°2°$Ð%7Ó8ñ4ó 9ð4ñ$ �kÐ*LÔMÙ�gÐ&;Ô<ñ4ó =ó Nð4ñ �vÐ&;Ô<Ù�{Ð+DÔEØ‡[�[×Ñ˜U b¨" X°°A°¸¨|¸bÀ1À#¸YÐ$GÓHñ
ó Ió Fó =ð
ñ �kÐ*HÔIñ$ó Jð$ò<ð ‡[�[×Ñ˜V b¨$°°A°3¸¸R¸DÐ%AÓBñ3ó Cð3ð  ‡[�[×Ñ˜V a¨!¨¨b°2°$Ð%7Ó8ñ3ó 9ð3ñ$ ˜tÐ,<Ô=Ø‡[�[×Ñ˜V q¨! fØ'(¨! fØ'(¨" gØ')¨1 gØ')¨1 gØ'(¨" gØ')¨2 hØ')¨2 hð&0ó 1ñ?ó1ó >ð?ð. ‡[�[×ÑØ‡[�[×ÑØÙ‰U�1�c‹]ÓÙ‰U�4˜ÓÓõ	 à
�	‰	×Ñ˜dÓ#×+Ñ+¨D°%¸Ó;×BÑBÓDõ	EóFñ
3óFó ð3ñ ˜dÔ#ñLó $öLrc   rÉ  c                  ó   € \        R 4      h)zFell back to fftconvolve)ÚRuntimeError)r  r  s   *,r`   Úfftconvolve_errrb  ­  s   € Ü
Ð1Ó
2Ð2rc   c                 ó‚   € \        V ^R7       UUu. uF   w  r\        W,
          4      ^8”  g   K  W3NK"  	  upp# u uppi ©rQ   )Úrepeat)r   Úabs©Úsizesr]   r^   s   &  r`   Úgen_oa_shapesri  ±  sA   € Ü& u°QÕ7ô Ñ7‘t�qÜ�1•5‹z˜A‰~ô ˆQ‹FÑ7ò ð ùó s   ‘;°;c                 ó   € \        V 4      p\        V 4      p\        W4       UUu. uF  w  r4W4,           NK  	  ppp. ROp\        WV4       UUu. uFm  w  rxVR8w  gY   V^ ,          V^,          8”  d   V^,          V^,          8”  g/   V^ ,          V^,          8  g   KM  V^,          V^,          8  g   Kd  Wx3,           NKo  	  upp# u uppi u uppi )r±   r²   r¥  )ri  Úzipr   )	rh  Úshapes0Úshapes1Úishapes0Úishapes1ÚshapesÚmodesÚishapesÚimodes	   &        r`   Úgen_oa_shapes_2drt  ¶  s×   € Ü˜EÓ"€GÜ˜EÓ"€Gä�'Ô#ô%Ù#ñ %7 Hˆh×ÐÙ#ð ñ %ò &€EÜ3:¸6Ô3Iô CÑ3I¡ Ø˜ÔØ�Q�Z˜' !�*Ô$¨°­°g¸aµjÔ)@Ø�Q�Z˜' !�*Ñ$ô ð *1°­°g¸aµjÑ)@ô ˆG�H×ÐÑ3Iò Cð Cùó	%ùóCs   ¥CÁA
C
ÂC
Â3C
c                 ób   € \        V ^R7       UUu. uF  w  rW8¼  g   K  W3NK  	  upp# u uppi rd  r   rg  s   &  r`   Úgen_oa_shapes_eqrv  Ã  s9   € Ü& u°QÕ7ô Ñ7‘t�qØ‰vô ˆQ‹FÑ7ò ð ùó s   ‘
+ +c                   óè  a € ] tR tRt o ]P
                  P                  4       ]P
                  P                  R]! ]	! ]
! ^^d^4      4      ]	! ]
! ^dR^4      4      ,           4      4      R 4       4       t]P
                  P                  R]! . RO4      4      ]P
                  P                  RRR.4      ]P
                  P                  R. RO4      R	 4       4       4       t]P
                  P                  R
^ ^.4      ]P
                  P                  R]! . RO4      4      ]P
                  P                  R^^.4      ]P
                  P                  R^^.4      ]P
                  P                  RRR.4      ]P
                  P                  R. RO4      R 4       4       4       4       4       4       t]P
                  P                  R]! . RO4      4      ]P
                  P                  RRR.4      R 4       4       t]P
                  P                  R
^ ^.^ ^.^^..4      ]P
                  P                  R]! . RO4      4      ]P
                  P                  R^^.4      ]P
                  P                  R^^.4      ]P
                  P                  RRR.4      R 4       4       4       4       4       t]! RRR7      ]P
                  P                  R. . 3^^.. 3. ^.3.4      R 4       4       tR tR tRtV tR# )ÚTestOAConvolveiÈ  zshape_a_0, shape_b_0r°  c                ó&  € \         P                  P                  V4      p\         P                  P                  V4      pVP                  \	        WE4      4      pVP                  V4      pVP                  V4      p\        WE4      p\        Wv4       R # r*  )r   r  r:  rY   r   r   r:   )r[   Ú	shape_a_0Ú	shape_b_0r\   r]   r^   rÔ   rÕ   s   &&&&    r`   Útest_real_manylensÚ!TestOAConvolve.test_real_manylensÊ  sg   € ô �I‰I�N‰N˜9Ó%ˆÜ�I‰I�N‰N˜9Ó%ˆØ—:‘:œk¨!Ó/Ó0ˆØ�J‰J�q‹MˆØ�J‰J�q‹Mˆä˜Óˆä! #Ö0rc   Ú
is_complexTFrg   c                ó<  € \         P                  P                  V4      p\         P                  P                  V4      pV'       d[   VR \         P                  P                  V4      ,          ,           pVR \         P                  P                  V4      ,          ,           pVP                  \	        WxVR7      4      p	VP                  V4      pVP                  V4      pVP                  \        P                  R\        4       \        WxVR7      p
\        W©4       R# ©r®   rf   r   N©r   r  r:  rY   r   Úsetattrr   Ú_signaltoolsrb  r   r:   )r[   rz  r{  r~  rg   Úmonkeypatchr\   r]   r^   rÔ   rÕ   s   &&&&&&&    r`   Útest_1d_noaxesÚTestOAConvolve.test_1d_noaxesÚ  sÁ   € ô �I‰I�N‰N˜9Ó%ˆÜ�I‰I�N‰N˜9Ó%ˆßØ�B”r—y‘y—~‘~ iÓ0Õ0Õ0ˆAØ�B”r—y‘y—~‘~ iÓ0Õ0Õ0ˆAØ—:‘:œk¨!°TÔ:Ó;ˆØ�J‰J�q‹MˆØ�J‰J�q‹Mˆà×ÑœF×/Ñ/°Ü+ô	-ä˜ DÔ)ˆä! #Ö0rc   rÊ  Úshape_a_extraÚshape_b_extrac
           	     ól  € V.^,          p
V.^,          pW*V&   W;V&   \         P                  P                  ! V
!  p\         P                  P                  ! V!  pV'       dY   VR\         P                  P                  ! V
!  ,          ,           pVR\         P                  P                  ! V!  ,          ,           pV	P                  \	        WÍWqR7      4      pV	P                  V4      pV	P                  V4      pVP                  \        P                  R\        4       \        WÍWqR7      p\        Wþ4       R# )rQ   r®   ©rg   rÊ  r   Nr�  )r[   rÊ  rz  r{  r‡  rˆ  r~  rg   r„  r\   Úax_aÚax_br]   r^   rÔ   rÕ   s   &&&&&&&&&&      r`   Útest_1d_axesÚTestOAConvolve.test_1d_axesï  sç   € ð ˆ˜qÕ ˆØˆ˜qÕ ˆØˆT‰
ØˆT‰
ä�I‰I�NŠN˜DÑ!ˆÜ�I‰I�NŠN˜DÑ!ˆßØ�B”r—y‘y—~’~ tÑ,Õ,Õ,ˆAØ�B”r—y‘y—~’~ tÑ,Õ,Õ,ˆAà—:‘:œk¨!°TÔEÓFˆØ�J‰J�q‹MˆØ�J‰J�q‹Mˆà×ÑœF×/Ñ/°Ü+ô	-ä˜ DÔ4ˆä! #Ö0rc   z0shape_a_0, shape_b_0, shape_a_1, shape_b_1, modec	                ó<  € \         P                  P                  W4      p	\         P                  P                  W$4      p
V'       d[   V	R \         P                  P                  W4      ,          ,           p	V
R \         P                  P                  W$4      ,          ,           p
VP                  \	        WšVR7      4      pVP                  V	4      p	VP                  V
4      p
VP                  \        P                  R\        4       \        WšVR7      p\        WË4       R# r€  r�  )r[   rz  r{  Ú	shape_a_1Ú	shape_b_1rg   r~  r„  r\   r]   r^   rÔ   rÕ   s   &&&&&&&&&    r`   Útest_2d_noaxesÚTestOAConvolve.test_2d_noaxes  sÁ   € ô �I‰I�N‰N˜9Ó0ˆÜ�I‰I�N‰N˜9Ó0ˆßØ�B”r—y‘y—~‘~ iÓ;Õ;Õ;ˆAØ�B”r—y‘y—~‘~ iÓ;Õ;Õ;ˆAà—:‘:œk¨!°TÔ:Ó;ˆØ�J‰J�q‹MˆØ�J‰J�q‹Mˆà×ÑœF×/Ñ/°Ü+ô	-ä˜ DÔ)ˆä! #Ö0rc   c           	     óÌ  € V.^,          pV.^,          pW,V^ ,          &   W=V^ ,          &   WLV^,          &   W]V^,          &   \         P                  P                  ! V!  p\         P                  P                  ! V!  pV	'       dY   VR\         P                  P                  ! V!  ,          ,           pVR\         P                  P                  ! V!  ,          ,           p\        V4      pVP	                  \        WïWaR7      4      pVP	                  V4      pVP	                  V4      pV
P                  \        P                  R\        4       \        WïWaR7      p\        VV4       R# )rK   r®   rŠ  r   N)r   r  r:  rŽ   rY   r   r‚  r   rƒ  rb  r   r:   )r[   rÊ  rz  r{  r�  r‘  rg   r‡  rˆ  r~  r„  r\   r‹  rŒ  r]   r^   rÔ   rÕ   s   &&&&&&&&&&&&      r`   Útest_2d_axesÚTestOAConvolve.test_2d_axes%  s  € ð ˆ˜qÕ ˆØˆ˜qÕ ˆØ!ˆT�!�W‰Ø!ˆT�!�W‰Ø!ˆT�!�W‰Ø!ˆT�!�W‰ä�I‰I�NŠN˜DÑ!ˆÜ�I‰I�NŠN˜DÑ!ˆßØ�B”r—y‘y—~’~ tÑ,Õ,Õ,ˆAØ�B”r—y‘y—~’~ tÑ,Õ,Õ,ˆAä�T‹{ˆØ—:‘:œk¨!°TÔEÓFˆØ�J‰J�q‹MˆØ�J‰J�q‹Mˆà×ÑœF×/Ñ/°Ü+ô	-ä˜ DÔ4ˆä! # xÖ0rc   r«   z*ValueError: Target length must be positiverH   r(  c                ó�   € \        \        VP                  V4      VP                  V4      4      VP                  . 4      R R7       R# )Fr  N)r5   r   rY   r+  s   &&&&r`   r,  ÚTestOAConvolve.test_emptyH  s3   € ô 	Ü�r—z‘z !“} b§j¡j°£mÓ4Ø�J‰J�r‹N¨÷	
rc   c                ó„   € VP                  R 4      pVP                  R4      p\        W#4      p\        WBV,          4       R# r”   ©rY   r   r5   r/  s   &&   r`   r{   ÚTestOAConvolve.test_zero_rankQ  s4   € Ø�J‰J�tÓˆØ�J‰J�tÓˆÜ˜ÓˆÜ˜ �UÖ#rc   c                óˆ   € VP                  R .4      pVP                  R.4      p\        W#4      p\        WBV,          4       R# r”   rš  r/  s   &&   r`   r—   Ú"TestOAConvolve.test_single_elementW  s8   € Ø�J‰J˜�vÓˆØ�J‰J˜�vÓˆÜ˜ÓˆÜ˜ �UÖ#rc   r*  N)r  é/   rN   rL   rP   r¥  )r  rž  rN   rL   )r,  r-  r.  r/  rÃ  rÄ  rÆ  rÅ  rv  rÓ  r�   r|  ri  r…  r�  rt  r’  r•  r1  r,  r{   r—   r2  r3  r4  s   @r`   rx  rx  È  sõ  ø‡ € à‡[�[×ÑÓØ‡[�[×ÑÐ3Ù-©d±5¸¸CÀÓ3CÓ.DÙ.2±5¸¸dÀBÓ3GÓ.Hõ/Ió Jóñ	1ó	ó ð
	1ð ‡[�[×ÑÐ3Ù*Ò+<Ó=ó?à‡[�[×Ñ˜\¨D°%¨=Ó9Ø‡[�[×Ñ˜VÒ%>Ó?ñ1ó @ó :ó?ð1ð" ‡[�[×Ñ˜V a¨ VÓ,Ø‡[�[×ÑÐ3Ù*ª>Ó:ó<à‡[�[×Ñ˜_¨q°!¨fÓ5Ø‡[�[×Ñ˜_¨q°!¨fÓ5Ø‡[�[×Ñ˜\¨D°%¨=Ó9Ø‡[�[×Ñ˜VÒ%>Ó?ñ1ó @ó :ó 6ó 6ó<ó -ð1ð0 ‡[�[×Ñð :á-ªnÓ=ó?ð ‡[�[×Ñ˜\¨D°%¨=Ó9ñ1ó :ó?ð1ð& ‡[�[×Ñ˜V q¨! f¨q°!¨f°q¸!°fÐ%=Ó>Ø‡[�[×Ñð :á-ªnÓ=ó?ð ‡[�[×Ñ˜_¨q°!¨fÓ5Ø‡[�[×Ñ˜_¨q°!¨fÓ5Ø‡[�[×Ñ˜\¨D°%¨=Ó9ñ1ó :ó 6ó 6ó?ó ?ð1ñ8 �wÐ'SÔTØ‡[�[×Ñ˜U b¨" X°°A°¸¨|¸bÀ1À#¸YÐ$GÓHñ
ó Ió Uð
ò$÷$ð $rc   rx  Tz!assertions may differ on backendsr}   Úconvapproachc                   ó’   a € ] tR tRt o R tR t]P                  P                  R^.^3^^.3^.^..3.4      R 4       t	R t
RtV tR# )	ÚTestAllFreqConvolvesi^  c                ó  € \         P                  ! ^^4      P                  R4      p\         P                  ! R^ 4      P                  R4      p\        \        RR7      ;_uu_ 4        V! W4RR7       RRR4       R#   + '       g   i     R# ; i)	rP   zOFor 'valid' mode, one must be at least as large as the other in every dimensionr[  r²   rf   Nrâ   rã   rä   )r   rŒ   r‹   rÅ   rÆ   ©r[   rŸ  r\   r]   r^   s   &&&  r`   rå   Ú(TestAllFreqConvolves.test_invalid_shapesd  ss   € Ü�IŠI�a˜‹O×#Ñ# FÓ+ˆÜ�IŠI�b˜!Ó×$Ñ$ VÓ,ˆÜœ:ð"F÷Gö Gñ ˜ GÕ,÷G÷ G÷ Gò Gús   Á&A;Á;B	c                óê   € \         P                  ! . RO4      p\         P                  ! . RO4      p\        \        RR7      ;_uu_ 4        V! W4^ ^.R7       RRR4       R#   + '       g   i     R# ; i)rM   zVincompatible shapes for in1 and in2: \(5L?, 6L?, 2L?, 1L?\) and \(5L?, 6L?, 3L?, 1L?\)r[  rÍ  N)rM   rN   rQ   rP   )rM   rN   rK   rP   )r   r·  rÅ   rÆ   r£  s   &&&  r`   Útest_invalid_shapes_axesÚ-TestAllFreqConvolves.test_invalid_shapes_axesl  sW   € Ü�HŠH’\Ó"ˆÜ�HŠH’\Ó"ˆÜœ:ð"6÷7ö 7ñ ˜ Q¨ FÕ+÷	7÷ 7÷ 7ò 7ús   Á
A!Á!A2	r(  c                ó‚   € \        \        R R7      ;_uu_ 4        V! W4       RRR4       R#   + '       g   i     R# ; i)z/in1 and in2 should have the same dimensionalityr[  N©rÅ   rÆ   )r[   r]   r^   rŸ  r\   s   &&&&&r`   r(  Ú)TestAllFreqConvolves.test_mismatched_dimsu  s7   € ô
 œ:ð"-÷.ö .ñ ˜Ô÷.÷ .÷ .ò .ús   š	-­>	c           	     óÀ  € \        \        R R7      ;_uu_ 4        V! ^.^.RR7       RRR4       \        \        RR7      ;_uu_ 4        V! ^.^.. R7       RRR4       \        \        RR7      ;_uu_ 4        V! ^.^.^^.^^..R7       RRR4       \        \        RR7      ;_uu_ 4        V! ^.^.. R
OR7       RRR4       \        \        RR7      ;_uu_ 4        V! ^.^.^.R7       RRR4       \        \        RR7      ;_uu_ 4        V! ^.^.R.R7       RRR4       \        \        R	R7      ;_uu_ 4        V! ^.^.^ ^ .R7       RRR4       R#   + '       g   i     EL9; i  + '       g   i     EL; i  + '       g   i     Lü; i  + '       g   i     LÞ; i  + '       g   i     LÁ; i  + '       g   i     L¤; i  + '       g   i     R# ; i)z4acceptable mode flags are 'valid', 'same', or 'full'r[  Úchipsrf   Nz#when provided, axes cannot be emptyrÍ  z-axes must be a scalar or iterable of integersz$axes exceeds dimensionality of inputzall axes must be unique)rå  r|  r€  r�  r\  r©  )r[   rŸ  r\   s   &&&r`   Útest_invalid_flagsÚ'TestAllFreqConvolves.test_invalid_flags  s®  € Üœ:ð"0÷1ö 1ñ ˜!˜˜q˜c¨Õ0÷1ô
 œ:Ø!F÷Hö Há˜!˜˜q˜c¨Õ+÷Hô œ:ð .2÷ 3ö 3á˜!˜˜q˜c¨!¨Q¨°!°Q°Ð(8Õ9÷3ô œ:ð .2÷ 3ö 3á˜!˜˜q˜cÒ(8Õ9÷3ô œ:Ø!G÷Iö Iá˜!˜˜q˜c¨¨Õ,÷Iô œ:Ø!G÷Iö Iá˜!˜˜q˜c¨¨Õ-÷Iô œ:Ø!:÷<ö <á˜!˜˜q˜c¨¨A¨Õ/÷<ñ <÷31÷ 1ð 1ú÷
H÷ Hð Hú÷3÷ 3ú÷3÷ 3ú÷I÷ Iú÷I÷ Iú÷<÷ <ð <úsS   šEÁ	E,Á8F Â-FÃF&ÄF9Ä>GÅE)	Å,E=	Æ F	ÆF#	Æ&F6	Æ9G		ÇG	r*  N)r,  r-  r.  r/  rå   r¦  rÃ  rÄ  rÅ  r(  r­  r2  r3  r4  s   @r`   r¡  r¡  ^  sb   ø‡ € ò-ò,ð ‡[�[×Ñ˜UØ !˜s A˜hØ  1 #˜hØ !˜s a S E˜lð,ó-ñó	-ð÷0ð 0rc   r¡  zignore::DeprecationWarningr°   c           	      óŽ  € \         P                  P                  R4      P                  V 4      p\         P                  P                  R4      P                  V 4      p\         P                  ! V ! 4       4      '       d   VR,          pVR,          p\	        W#4      p\        V\        W#RR7      4       VP                  V 8X  g   Q hR# )rƒ   y        š™™™™™¹?r„   r…   N)rƒ   rƒ   ©rL   rL   )r   r  r  Úiscomplexobjr   r4   r   r°   )r°   r\   rt   ru   Úress   &&   r`   Útest_convolve_longdtype_inputr³  ž  s’   € ô
 	�	‰	×Ñ˜Ó"×)Ñ)¨%Ó0€AÜ
�	‰	×Ñ˜Ó ×'Ñ'¨Ó.€AÜ	‡‚‘u“w×ÒØ	ˆS�ˆØ	ˆS�ˆä
�aÓ
€CÜ�Cœ !¨xÔ8Ô9Ø�9‰9˜ÔÐÒrc   c                   ó¦  a € ] tR tRt o . RO. RO. RO. RO. RO. RO. RO. RO. RO. RO.
t. RO. R O. R!O. R"O. R#O. R$O. R%O. R&O. R'O. R(O.
t^^.t]! ]P                  ]P                  4      R 4       t]P                  P                  R. R)O4      ]! ]P                  ]P                  4      R 4       4       t]! RRR7      ]P                  P                  R]P$                  ]P&                  ]P(                  ]P*                  ]P,                  RR	.4      ]! ]P                  ]P                  4      R
 4       4       4       t]! RRR7      ]! ]P                  4      R 4       4       t]! RRR7      ]! ]P                  4      R 4       4       t]! RRR7      ]P                  P                  R. R*O4      ]! ]P                  4      R 4       4       4       tRtV tR# )+ÚTestMedFilti®  c                óf  € VP                  V P                  4      pVP                  V P                  4      pVP                  V P                  4      p\        P
                  ! W$4      p\        P                  ! VP                  W!P                  R 7      V4      p\        WS4       \        WVRR7       R# )r¯   Fr  N)	rY   ÚINÚOUTÚKERNEL_SIZEr   ÚmedfiltÚ	medfilt2drþ   r5   )r[   r\   Úin_Úout_Úkernel_sizer¨   r:  s   &&     r`   ra   ÚTestMedFilt.test_basicÈ  s}   € ð �j‰j˜Ÿ™Ó!ˆØ�z‰z˜$Ÿ(™(Ó#ˆØ—j‘j ×!1Ñ!1Ó2ˆä�NŠN˜3Ó,ˆÜ×Ò˜RŸZ™Z¨·:±:˜ZÓ>ÀÓLˆÜ˜Ô Ü˜¨%×0rc   r°   c                óN  € \        V4      '       d   VR9   d   \        P                  ! R4       \        W!4      pVP	                  V P
                  VR7      p\        P                  ! V4      P                  V8X  g   Q h\        P                  ! V4      P                  V8X  g   Q hR# )rè   z%torch does not support unisigned intsr¯   N©rè   rû   rü   )
r7   rÃ  ÚskipÚgetattrrY   r·  r   rº  r°   r»  ©r[   r°   r\   Úin_typeds   &&& r`   Ú
test_typesÚTestMedFilt.test_typesÔ  s~   € ô �B�<Š<˜EÐ%CÔCÜ�KŠKÐ?Ô@ä˜Ó"ˆØ—:‘:˜dŸg™g¨U�:Ó3ˆÜ�~Š~˜hÓ'×-Ñ-°Ô6Ð6Ð6Ü×Ò Ó)×/Ñ/°5Ô8Ð8Ò8rc   Tzassertions may differr}   Úfloat96Úfloat128c                óJ  € VR9   dM   \         P                  ! \         P                  4      P                  V8w  d   \        P
                  ! RV 24       \         P                  ! V P                  VR7      p\        P                  ! \        RR7      ;_uu_ 4        \        P                  ! V4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        P                  ! V4       RRR4       R#   + '       g   i     LU; i  + '       g   i     R# ; i)rÈ  zPlatform does not support r¯   znot supportedr[  N)rÈ  rÉ  )r   ÚfinfoÚ
longdoubler°   rÃ  rÂ  Úarrayr·  r   rÆ   r   rº  r»  rÄ  s   &&& r`   Útest_invalid_dtypesÚTestMedFilt.test_invalid_dtypesâ  s°   € ð Ð,Ô,Ü—H’HœRŸ]™]Ó+×1Ñ1°UÔ:Ü�KŠKÐ4°U°GÐ<Ô=ä—8’8˜DŸG™G¨5Ô1ˆÜ�]Š]œ:¨_×=Ö=Ü�NŠN˜8Ô$÷ >ô �]Š]œ:¨_×=Ö=Ü×Ò˜XÔ&÷ >Ñ=÷ >×=ú÷ >×=Ð=ús   ÂC>ÃDÃ>D	ÄD"	zobject arraysc                ó¦   € \        \        \        34      ;_uu_ 4        \        P                  ! R 4       R R R 4       R #   + '       g   i     R # ; ir*  )rÅ   rÆ   Ú	TypeErrorr   rº  r'  s   &&r`   Ú	test_noneÚTestMedFilt.test_noneõ  s/   € ô œJ¬	Ð2×3Õ3Ü�NŠN˜4Ô ÷ 4×3×3Ò3ús	   ž?¿A	z#strides are only writeable in NumPyc                ó
  € VP                  ^
VP                  R7      pVR,          p\        P                  P                  P                  VRR7      p\        \        P                  ! V^4      VP                  R.4      4       R# )rR   r¯   :rM   rN   N)r´  ç      @N)rŸ   )
rŒ   rþ   r   r¸  r®  r¹  r4   r   rº  rY   )r[   r\   Údummyr]   s   &&  r`   Útest_odd_stridesÚTestMedFilt.test_odd_stridesü  sb   € ð —	‘	˜" B§J¡J�	Ó/ˆØ�#�JˆÜ�F‰F× Ñ ×+Ñ+¨A°uÐ+Ó=ˆÜœŸš q¨!Ó,¨r¯z©z¸2¸$Ó/?Ö@rc   rF   z6chunk assignment does not work on jax immutable arraysrH   c           	     ó  a aaaaa€ \        W!4      pVP                  S P                  VR 7      oVP                  S P                  VR 7      pSP                  VP                  8X  g   Q hVP                  ^ ,          ^,          oVP                  ^,          ^,          oS P
                  ^ ,          ^,          ^,           oS P
                  ^,          ^,          ^,           oVVVVVV 3R lpVP                  V4      p\        ^R7      ;_uu_ 4       p0 RmpV Uu0 uF  q†P                  WH4      kK  	  p	p\        V	4       F  p
V
P                  4       w  r¼pWµWÍ3&   K  	  RRR4       \        WS4       R# u upi   + '       g   i     L"; i)r¯   c                 óö  <€ V w  rV^ 8X  d.   \        ^ SS,           4      p\        ^ S) 4      p\        ^ S4      pM+\        SS,
          R4      p\        SR4      p\        SR4      pV^ 8X  d.   \        ^ SS,           4      p\        ^ S) 4      p\        ^ S4      pM+\        SS,
          R4      p\        SR4      p\        SR4      pSW63,          p	\        P                  ! V	SP                  4      p
W¤V3,          WX3# ©r   N)Úslicer   r»  r¹  )ÚchunkÚMÚNÚMinÚMselÚMoutÚNinÚNselÚNoutÚ
chunk_dataÚmedÚM1ÚN1rÅ  ÚoffMÚoffNr[   s   &          €€€€€€r`   ÚapplyÚ2TestMedFilt.test_medfilt2d_parallel.<locals>.apply  sï   ø€ ð ‰DˆAØ�AŒvÜ˜A˜r D�yÓ)�Ü˜Q  “�Ü˜Q “|‘ä˜B �I tÓ,�Ü˜T 4Ó(�Ü˜R “�Ø�AŒvÜ˜A˜r D�yÓ)�Ü˜Q  “�Ü˜Q “|‘ä˜B �I tÓ,�Ü˜T 4Ó(�Ü˜R “�ð " # (Õ+ˆJÜ×"Ò" :¨t×/?Ñ/?Ó@ˆCØ˜T�z•? DÐ.Ð.rc   )Úmax_workersN>   ©r   r   ©r   rP   ©rP   rP   ©rP   r   )rÃ  rY   r·  r¸  r³  r¹  Ú
zeros_liker   Úsubmitr   r†  r5   )r[   r°   r\   rÔ   rì  ÚoutputÚpoolÚchunksrÝ  ÚfuturesÚfutureÚdataÚMsliceÚNslicerè  ré  rÅ  rê  rë  s   f&&           @@@@@r`   Útest_medfilt2d_parallelÚ#TestMedFilt.test_medfilt2d_parallel  s?  ý€ ô ˜Ó"ˆØ—:‘:˜dŸg™g¨U�:Ó3ˆØ—:‘:˜dŸh™h¨e�:Ó4ˆð �~‰~ §¡Ô/Ð/Ð/ð
 �^‰^˜AÕ !Õ#ˆØ�^‰^˜AÕ !Õ#ˆØ×Ñ Õ" aÕ'¨!Õ+ˆØ×Ñ Õ" aÕ'¨!Õ+ˆ÷	/ò 	/ð8 —‘˜xÓ(ˆÜ¨A×.Õ.°$Ú5ˆFÙ>DÓE¹f°U—{‘{ 5Ö0¹fˆGÐEô ' wÖ/�Ø'-§}¡}£Ñ$�˜fØ)-�v�~Ó&ñ 0÷ /ô 	˜Ö)ùò F÷ /×.ús   Ä	E7ÄE2Ä1,E7Å2E7Å7F	r*  N)
r  r  r  r  r  ru  é   rƒ   rÏ   rS  )
r  r  r  r  r  r   éH   éM   rl  rr  )
r  r  r  r  r  rS  rž  é   rR  r  )
r  r  r  r  r  é*   é   é   é_   é#   )
r  r  r  r  r  rS  ri   r?  r‚  rr  )
rÌ   éa   rT   rl  rÍ   r  rÚ   r£   éG   r  )
rR  r  rq  r  rl  rU   r  rl  rO  rs  )
rK   é!   r  rT  rP   rÍ   rk  é7   rW   éS   )
rž   rE  rS  rÌ   r   rž  rO  é+   rÚ   rP  )
rU   rÚ   éX   rž   é'   rL   ru  rR  rÜ   rÚ   )
r   r  r  r  r  r  r  rÿ  rƒ   r   )
r   r  r  r  r  r  r  r‚  r  r   )
r  r  r  r  r  rž  ri   ri   rS  r  )
r  r  r  r  r  r  r  rž  rR  r  )
r  r  r  r  r  r  rS  r  rR  r  )
r
  r  r  r  r  rž  rS  r  r  rP  )
rU   r  r  r  r  rž  rS  rÜ   r  rP  )
rž   rS  r  r  rž  rS  rS  r  rÜ   r‚  )
r   rU   r
  r  rU   rU   r  r  r  r   )
r   rž   rE  rž   rL   rL   r  r  rO  r   ©
rú   rö   rè   r÷   rû   rø   rü   rù   rý   rþ   )rú   rý   rþ   )r,  r-  r.  r/  r·  r¸  r¹  r@   r   rº  r»  ra   rÃ  rÄ  rÅ  rÆ  r0  r   Úbool_rÿ   r¸   Úclongdoubleré   rÎ  rÒ  r×  rý  r2  r3  r4  s   @r`   rµ  rµ  ®  sé  ø‡ € â
2Ú
1Ú
2Ú
2Ú
1Ú
2Ú
2Ú
0Ú
1Ú
0ð	
2€Bò 2Ú1Ú3Ú3Ú3Ú3Ú3Ú2Ú1Ú-ð	/€Cð �Q�%€Ká�v—~‘~ v×'7Ñ'7Ó8ñ	1ó 9ð	1ð ‡[�[×Ñ˜Wò '=ó >ñ �v—~‘~ v×'7Ñ'7Ó8ñ9ó 9ó>ð9ñ ˜dÐ+BÔCØ‡[�[×Ñ˜W r§x¡x°·±¸r¿}¹}Ø')§~¡~°r·z±zØ'0°*ð'>ó ?ñ �v—~‘~ v×'7Ñ'7Ó8ñ'ó 9ó?ó Dð
'ñ ˜d¨?Ô;Ù�v—~‘~Ó&ñ!ó 'ó <ð!ñ
 ˜dÐ+PÔQÙ�v—~‘~Ó&ñAó 'ó RðAñ ØØGôð ‡[�[×Ñ˜WÒ&EÓFÙ�v×'Ñ'Ó(ñ6*ó )ó Gó	ö6*rc   rµ  c                   ó@   a € ] tR tRt o ]! RRR7      R 4       tRtV tR# )Ú
TestWieneriF  r™   zXXX: can_cast in cupy <= 13.2rH   c                ó  € VP                  . RO. RO. RO. RO.VP                  R7      pVP                  . R	O. R
O. RO. RO.4      p\        \        P                  ! V4      V^R7       \        \        P                  ! V^R7      V^R7       R# )rM   r¯   ©Údecimal)ÚmysizeN)rM   rN   rL   rK   )rK   rM   rN   rQ   )rQ   rK   rM   rN   )rP   rN   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º“@­_)@)rY   rþ   r:   r   Úwiener)r[   r\   rG  rF  s   &&  r`   ra   ÚTestWiener.test_basicI  s   € à�J‰JšÚ$Ú$Ú$ð&ð .0¯Z©Zð ó 9ˆð �J‰JÒNÚQÚQÚRðTó Uˆô 	"¤&§-¢-°Ó"2°A¸qÕAÜ!¤&§-¢-°¸!Ô"<¸aÈ×Krc   r*  N)r,  r-  r.  r/  r0  ra   r2  r3  r4  s   @r`   r  r  F  s$   ø‡ € ñ �fÐ%DÔEñ
Ló Fö
Lrc   r  c                   óÐ  a € ] tR tRt o ]! ]P                  ]P                  4      ]! RRR7      R 4       4       t	]
P                  P                  RR)4      ]
P                  P                  RR*4      ]
P                  P                  R	R+4      ]! ]P                  4      R
 4       4       4       4       t]! ]P                  4      R 4       t]
P                  P                  RR,4      ]
P                  P                  RR,4      ]
P                  P                  RR-4      ]! ]P                  4      R 4       4       4       4       t]! RRR7      ]
P                  P                  R]4      ]! ]P                  4      R 4       4       4       t]! RRR7      ]! ]P                  4      ]
P                  P                  R]4      R 4       4       4       t]
P                  P                  R]4      ]
P                  P                  RRR.4      ]! RRR7      ]! ]P                  4      R 4       4       4       4       t]! RRR7      ]
P                  P                  RR..]! ]! R.RR.]4      4      ,           4      ]! ]P                  ]P                  4      R 4       4       4       t]
P                  P                  RR/4      ]
P                  P                  RR04      ]! ]P                  4      R 4       4       4       t]
P                  P                  RR14      ]
P                  P                  RR04      ]! ]P                  4      R 4       4       4       t]
P                  P                  R R24      ]
P                  P                  R!R24      ]! ]P                  4      R" 4       4       4       t]
P                  P                  R#. R3O4      ]
P                  P                  R]]P:                  ]P<                  ]] .4      ]! ]P                  4      R$ 4       4       4       t!]! ]P                  4      R% 4       t"]! ]P                  4      ]
P                  P                  RR&R.4      ]! RRR7      R' 4       4       4       t#R(t$V t%R# )4ÚTestResamplei[  r™   z-does not raise with non-int upsampling factorrH   c           
     ól  € VP                  ^€VP                  R7      pRp\        P                  ! R^ VR7      p\	        \
        \        P                  W#VR7       \	        \
        \        P                  W#RR7       \	        \
        \        P                  VR^4       \	        \
        \        P                  V^^ 4       \	        \
        \        P                  VR^4       \	        \
        \        P                  V^R4       \	        \
        \        P                  V^^R	R
7       \	        \
        \        P                  V^^R^
R7       \	        \
        \        P                  V^^VP                  ^4      R7       VP                  VP                  ^ VP                  R7      R4      p\        P                  ! WSRVR7       VP                  R8X  g   Q h\        P                  ! V^^4      p\        P                  ! V^^RR
7      p\        P                  ! V^^R^ R7      p\        W†4       \        Wv4       R# )é€   r¯   é   ©r\   ©ÚwindowÚINVALID©ÚdomainÚyogÍÌÌÌÌÌô?rË  ©ÚpadtypeÚmean)r(  Úcval©r£  r"  ÚconstantN)Úkaiserç       @)rQ   rP   r´   )é    )rŒ   rþ   r   Ú
get_windowrÅ   rÆ   ÚresampleÚresample_polyÚeyerÙ  r³  r5   )	r[   r\   ÚsigÚnumÚwinÚsig2Úx_refÚx0r  s	   &&       r`   ra   ÚTestResample.test_basic]  s   € ð �i‰i˜ 2§:¡:ˆiÓ.ˆØˆÜ×Ò °¸Ô<ˆÜ”j¤&§/¡/°3ÀCÕHÜ”j¤&§/¡/°3ÀIÕNô 	”j¤&×"6Ñ"6¸¸TÀ1ÔEÜ”j¤&×"6Ñ"6¸¸QÀÔBÜ”j¤&×"6Ñ"6¸¸SÀ!ÔDÜ”j¤&×"6Ñ"6¸¸QÀÔDÜ”j¤&×"6Ñ"6¸¸QÀÈ2ÕNÜ”j¤&×"6Ñ"6¸¸QÀØ$¨2õ	/ä”j¤&×"6Ñ"6¸¸QÀÈ"Ï&É&ÐQRË)ÕTð �w‰w�r—y‘y ¨B¯J©J�yÓ7¸Ó@ˆÜ�Š˜¨°3Õ7Ø�y‰y˜FÔ"Ð"Ð"ô ×$Ò$ S¨!¨QÓ/ˆÜ×!Ò! # q¨!°ZÔ@ˆÜ×!Ò! # q¨!°ZÀaÔHˆÜ˜Ô"Ü˜Ö"rc   r"  Nrß  r5  c           	     ó  € \        V4      pWTP                  8X  d   VP                  MVP                  pVP	                  ^ ^
VRR7      pVP                  V^,          ) R,          4      p\        P                  ! VP                  W†4      W#R7      p	\        \        P                  ! W‚VR7      VP                  V	4      4       VP                  VP                  V^,          ) R,          4      VP                  V^,          ) R,          4      .4      pVP                  W†4      p
\        P                  ! W¢^VR7      pWTP                  8X  d   RMRp\        \        P                  ! W‚^VR7      VP                  V4      VR7       R	# )
r   F)Úendpointç      @r!  r+  ç•Ö&è.>çvƒôõ!”>rˆ   N)r>   rý   rÿ   r¸   ÚlinspaceÚcosr   r1  r  r4   ÚrealÚstackÚsinrþ   )r[   rß  r5  r"  r\   Údt_rÚdt_crt   ru   ÚdesiredÚ	y_complexÚ	resampledr‰   s   &&&&&        r`   Ú	test_rfftÚTestResample.test_rfft€  s   € ô   Ó#ˆØ#§z¡zÔ1ˆr�|Š|°r·}±}ˆà�K‰K˜˜2˜q¨5ˆKÓ1ˆØ�F‰F�A�q•D�5˜•9ÓˆÜ—/’/ "§)¡)¨AÓ"4°cÔIˆÜœŸš¨°vÔ>ØŸ™ Ó(ô	*ð �H‰H�b—f‘f˜a �d˜U 3�YÓ'¨¯©°°Aµ°°cµ	Ó):Ð;Ó<ˆØ—I‘I˜aÓ&ˆ	Ü—O’O I¸À6ÔJˆ	àŸz™zÔ)‰t¨tˆäÜ�OŠO˜A¨°6Ô:Ø�G‰G�IÓØ÷	rc   c           	     ó   € VP                  VP                  R 4      VP                  4      p\        P                  ! V4      pR p\        \        P                  ! W4RR7      \        P                  ! W$RR7      RR7       R# )r  Úfreqr$  Útimer>  rˆ   N)r  rŒ   r¸   Úsp_fftr
   r4   r   r1  )r[   r\   ÚtsigÚfsigr5  s   &&   r`   Útest_input_domainÚTestResample.test_input_domain›  sZ   € ð �y‰y˜Ÿ™ 3›¨¯©Ó7ˆÜ�zŠz˜$ÓˆØˆÜÜ�OŠO˜D¨fÔ5Ü�OŠO˜D¨fÔ5Ø÷	rc   ÚnxÚnyr°   rþ   c                óÚ   € \        WC4      pVP                  ^.V,          VR7      p\        P                  ! WR4      p\	        WdP                  ^.V,          VP
                  R7      4       R# )rP   r¯   N)rÃ  rY   r   r1  r4   r°   )r[   rT  rU  r°   r\   rt   ru   s   &&&&&  r`   Útest_dcÚTestResample.test_dc¦  sS   € ô
 ˜Ó"ˆØ�J‰J˜�s˜R•x uˆJÓ-ˆÜ�OŠO˜AÓ"ˆÜ˜Ÿ:™: q c¨B¥h°a·g±g˜:Ó>Ö?rc   z padtype not supported by upfirdnr(  c                ó  € VP                  ^4      pVP                  \        P                  P	                  ^ 4      P                  ^4      4      pVP                  VRR7      p\        P                  ! V^^WAR7       \        WE4       R# )rK   T©Úcopy©r"  r(  N)	r·  rY   r   r  r  r  r   r2  r5   )r[   r(  r\   Úimpulser"  Úwindow_origs   &&&   r`   Útest_mutable_windowÚ TestResample.test_mutable_window°  sg   € ð
 —(‘(˜1“+ˆØ—‘œBŸI™I×1Ñ1°!Ó4×:Ñ:¸1Ó=Ó>ˆØ—j‘j ¨d�jÓ3ˆÜ×Ò˜W a¨°6ÕKÜ˜Ö,rc   c                óì   € VP                  ^
VP                  R7      pVP                  . ROVP                  R7      p\        P                  ! V^^WAR7      pVP
                  VP                  8X  g   Q hR# )rR   r¯   r\  N©rP   rP   rP   )rŒ   rý   rY   r   r2  r°   )r[   r(  r\   rt   rF  ru   s   &&&   r`   Útest_output_float32Ú TestResample.test_output_float32»  s\   € ð
 �I‰I�b §
¡
ˆIÓ+ˆØ�J‰J’y¨¯
©
ˆJÓ3ˆÜ× Ò   A q°ÔDˆØ�w‰w˜"Ÿ*™*Ô$Ð$Ò$rc   rý   c                ó°   € \        W24      pVP                  ^
VR7      p\        P                  ! V^^VR7      pVP                  VP                  8X  g   Q hR# )rR   r¯   r'  N)rÃ  rŒ   r   r2  r°   )r[   r(  r°   r\   rt   ru   s   &&&&  r`   Útest_output_match_dtypeÚ$TestResample.test_output_match_dtypeÅ  sL   € ô ˜Ó"ˆØ�I‰I�b ˆIÓ&ˆÜ× Ò   A q°'Ô:ˆØ�w‰w˜!Ÿ'™'Ô!Ð!Ò!rc   zmethod, ext, padtypeFÚ	polyphaseTc                ó&	  € ^dp. ROpVP                  WTP                  R7      \        V4      ,          pVP                  R4      RVP                  3,          pVP                  ^VP                  ,          V,          V,          4      \        WTR7      ,          p	V EF  p
VP                  W¤P                  R7      \        V
4      ,          pVP                  ^VP                  ,          V,          V,          4      \        W¤R7      ,          pVR8X  d   \        P                  ! WšRR7      pM¤V'       d   W¥8w  dy   \        W¥4      pW®,          pW^,          p\        VV4      pRV,          p^
V,          p\        P                  ! ^V,          ^,           VRR7      pVP                  V4      pRVR	V/pMR	V/p\        P                  ! WšV3R
R/VB p\        VP                  ^ ,          4       F¾  pVVR3,          pVVR3,          p\        VV^ 3,          4      pVRV
,          8¼  d9   VP!                  V4      pVR9   d   \#        VVRR7       Kc  \#        VVRR7       Ks  VP                  VP                  8X  g   Q h\$        P&                  ! VV4      R,          pVR8”  d   K·  Q VWZ34       h	  EK  	  \$        P(                  P+                  ^ 4      p\        V4      \$        P,                  ! VP/                  V4      4      ,          p	VP                  V	4      p	V FÕ  p
VP                  W¤P                  R7      \        V
4      ,          p\$        P0                  ! W·V	4      pVR8X  d   \        P                  ! Wš4      pM\        P                  ! WšVVR7      pVP                  VP                  8X  g   Q hVP                  \$        P&                  ! VV4      R,          4      pVR8”  d   KÐ  Q V4       h	  VR8X  d™   VP                  RR.4      p\        P                  ! V^4      pVP                  . RO4      p\#        VVRR7       VP                  . RO4      p\        P                  ! V^4      p VP                  RR.4      p!\#        V V!RR7       R# R# )r+  r¯   rå  r¦  r   r
   r¢  r!  r"  r(  r£  ç      à?ç333333Ó?rˆ   ró   g®Gáz®ï?r'  rµ   ç        çê-�™—q=N)	r¦   r  r  éc   r+  ée   éÇ   éÈ   éÉ   )rå  ç      $@g      D@r´   )r-  rÕ  )ÚminimumÚmaximumrð  rÒ   )rÒ   ù      à?        rµ   rv  )rå  rj  rl  rj  )rŒ   rþ   r’  rY   ÚnewaxisrD  Úpir.   r   r1  r   ÚmaxrU  r2  r�   r³  ró  r4   r   Úcorrcoefr  r  Úcumsumr  Úinterp)"r[   r†   Úextr(  r\   ÚrateÚrates_tor  Úfreqsrt   Úrate_toÚt_toÚy_tosÚ	y_resampsrG  ÚupÚdownÚmax_rateÚf_cÚhalf_lenr"  Úpolyargsr�   Úy_toÚy_resamprM  Úcorrr  r  Úy1_testÚy1_truer  Úy2_testÚy2_trues"   &&&&&                             r`   Útest_resample_methodsÚ"TestResample.test_resample_methodsÐ  s´  € ð ˆÚ<ˆð �I‰I�d§*¡*ˆIÓ-´°d³Õ;ˆØ—
‘
˜>Ó*¨1¨b¯j©j¨=Õ9ˆØ�F‰F�1�r—u‘u•9˜uÕ$ qÕ(Ó)¬D°Ô,=Õ=ˆäˆGØ—9‘9˜W¯J©J�9Ó7¼%À».ÕHˆDØ—F‘F˜1˜rŸu™u�9 uÕ,¨tÕ3Ó4´t¸GÔ7KÕKˆEØ˜ŒÜ"ŸOšO¨A¸RÔ@‘	ç˜7œ?ä˜GÓ*�AØ ��BØ�9�DÜ" 2 t›}�HØ˜x�-�CØ! H�}�HÜ#Ÿ]š]¨1¨x­<¸!Õ+;¸SØ2AôC�FàŸZ™Z¨Ó/�FØ (¨&°)¸WÐE‘Hà )¨7Ð3�Hä"×0Ò0°¸Tñ =Èð =Ø3;ñ=�	ô ˜5Ÿ;™; q�>Ö*�Ø˜Q ˜T•{�Ø$ Q¨ T�?�Ü˜U 1 a 4�[Ó)�Ø˜3 �=Ô(àŸ=™=¨Ó.�DØÐ"8Ô8Ü'¨°$¸T×Bä'¨°$¸T×BàŸ:™:¨¯©Ô7Ð7Ð7ÜŸ;š; t¨XÓ6°tÕ<�DØ $ž;Ð=¨¨tÐ(=Ó=˜;ô +ñ1  ôR �i‰i×#Ñ# AÓ&ˆÜ�‹JœŸš 3§9¡9¨T£?Ó3Õ3ˆØ�J‰J�q‹MˆÛˆGà—9‘9˜W¯J©J�9Ó7¼%À».ÕHˆDÜ—9’9˜T aÓ(ˆDØ˜ŒÜ!Ÿ?š?¨1Ó6‘ä!×/Ò/°¸DØ8?ôA�à—:‘: §¡Ô/Ð/Ð/Ø—:‘:œbŸkšk¨$°Ó9¸$Õ?Ó@ˆDØ˜$–;Ð$ Ó$�;ñ  ð �UŒ?Ø—‘˜V VÐ,Ó-ˆBÜ—o’o b¨!Ó,ˆGà—j‘jÒ!CÓDˆGÜ˜G W°5Õ9Ø—‘Ò.Ó/ˆBÜ—o’o b¨!Ó,ˆGØ—j‘j " b Ó*ˆGÜ˜G W°5×9ñ rc   Ún_inÚn_outc                ó¾   € \         P                  ! V4      pR p\        P                  ! W24      p\        P                  ! W2VR7      p\	        ^V,          VRR7       R# )zTest callable window function. c                ó<   € R\         P                  ! V 4      ,          # )zScale input by 1/2rj  )r   Ú	ones_like)r€  s   &r`   r6  Ú0TestResample.test_resample_win_func.<locals>.win1  s   € àœŸš eÓ,Õ,Ð,rc   r!  rm  rˆ   N)r   rƒ  r   r1  r4   )r[   r”  r•  Úx_inr6  Úy0Úy1s   &&&    r`   Útest_resample_win_funcÚ#TestResample.test_resample_win_func*  sF   € ô
 �wŠw�t‹}ˆò	-ô �_Š_˜TÓ)ˆÜ�_Š_˜T°Ô5ˆä˜˜"�˜b u×-rc   c                óN  € ^
^rC\         P                  ! V4      p\        P                  ! WR4      p\        P                  ! WRW3V,           .R7      w  rx^
\         P                  ! \        V4      4      V,          V,          V,          ,           p	\        Wv4       \        W‰RR7       R# )zSVerify behavior for parameter `t`.

Note that only `t[0]` and `t[1]` are utilized.
)r  rm  rˆ   N)r   rƒ  r   r1  rŒ   Úlenr5   r4   )
r[   r”  r•  Út0Údtrš  r›  rœ  r
  Út_refs
   &&&       r`   Útest__resample_param_tÚ#TestResample.test__resample_param_t:  sv   € ð �QˆBÜ�wŠw�t‹}ˆä�_Š_˜TÓ)ˆÜ—’ °¸µU°Ô<‰ˆØ”R—Y’Yœs 2›wÓ'¨"Õ,¨tÕ3°eÕ;Õ;ˆä˜ÔÜ˜¨×.rc   Ún1Ún0c                ó  a€ \        W4      ^,          oR W3 4       pV3R lV 4       w  rE\        P                  ! WB4      p\        P                  ! VR,           V4      p\        WeRR7       \        VP                  VRR7       R# )zDTest behavior at Nyquist frequency to ensure issue #14569 is fixed. c              3   ó\   "  € T F"  p\         P                  ! V4      V,          x € K$  	  R # 5ir*  )r   rŒ   )Ú.0Ún_s   & r`   Ú	<genexpr>Ú5TestResample.test_resample_nyquist.<locals>.<genexpr>R  s    é € Ð4©8 RŒb�iŠi˜‹m˜b× Ò «8ùs   ‚*,c              3   ó–   <"  € T F>  p\         P                  ! ^\         P                  ,          S,          V,          4      x € K@  	  R# 5i)rQ   N)r   rA  rx  )rª  Út_Úf_nys   & €r`   r¬  r­  S  s/   øé € Ð=¹"°B”"—&’&˜œRŸU™U� TÕ)¨BÕ.×/Ð/»"ùs   ƒAA	rµ   rm  rˆ   N)Úminr   r1  r4   rB  )	r[   r§  r¦  Úttr9  r  Úy1_rÚy1_cr°  s	   &&&     @r`   Útest_resample_nyquistÚ"TestResample.test_resample_nyquistL  sg   ø€ ô
 �2‹{˜aÕˆÙ4¨B©8Ó4ˆÜ=¹"Ó=‰ˆä�Š˜rÓ&ˆÜ�Š˜r B�w¨Ó+ˆä˜ uÕ-Ü˜Ÿ	™	 2¨E×2rc   Údown_factorc                óv  € \         P                  P                  ^4      pRpVP                  V4      P	                  V4      pV\         P
                  \         P                  39   d    VRVP                  V4      ,          ,          p^ V^ &   ^ VR&   \        P                  ! ^RV,          RR7      p\        VRVRR7      RRV1,          p\        V\         P                  ! V4      4      p	\        VP                  WiVP                  4       34      w  rip\        P                  ! V^WR7      p
\!        WŠR	R
R7       R# )r    rK  r®   rå  Úhammingr!  r,  r'  Nr?  gvƒôõ!¤>©r‰   rð   r´   )r   r  r  r  r  rÿ   r¸   r   rU  r   r   ÚflipÚmaprY   r[  r2  r4   )r[   r·  r°   r\   Úrandom_staterì   rt   rF  ÚyfÚhcru   s   &&&&       r`   Útest_poly_vs_filtfiltÚ"TestResample.test_poly_vs_filtfilt[  s  € ô
 —y‘y×,Ñ,¨RÓ0ˆØˆà×Ñ˜tÓ$×+Ñ+¨EÓ2ˆØ”R—\‘\¤2§=¡=Ð1Ô1Ø��l×(Ñ(¨Ó.Õ.Õ.ˆAð ˆˆ!‰Øˆˆ"‰ä�MŠM˜"˜b ;Õ.°yÔAˆÜ�a˜˜a¨Ô4±]°{°]ÕCˆô
 �aœŸš ›Ó$ˆô ˜Ÿ
™
 Q¨B¯G©G«IÐ$6Ó7‰	ˆˆrÜ× Ò   A {Ô>ˆÜ˜ D¨t×4rc   c           
     óª  € R FÌ  p\        ^^(V4       F¸  pR F¯  p\        P                  P                  V34      p\        P                  P                  V34      p\        V\        P                  ! V4      RR7      p\        VP                  WVV34      w  rVp\        P                  ! V^W&R7      p\        VRRV1,          V4       K±  	  Kº  	  KÎ  	  R# )rQ   r,  rf   )r…  r†  r"  N)rQ   rL   )rU   r
  )
r�   r   r  r   r»  r¼  rY   r   r2  r4   )	r[   r\   r†  rT  Únweightsrt   ÚweightsÚy_gÚy_ss	   &&       r`   Útest_correlate1dÚTestResample.test_correlate1dz  s®   € ãˆDÜ˜A˜r 4Ö(�Û (�HÜŸ	™	×(Ñ(¨"¨Ó/�AÜ Ÿi™i×.Ñ.°¨{Ó;�GÜ% a¬¯ª°Ó)9À
ÔK�CÜ&)¨"¯*©*°qÀ3Ð6GÓ&H‘O�A Ü ×.Ò.Ø˜a dô<�Cä# C©¨$¨¥K°Ö5ó !)ó )ó rc   rø   c                ó´   € \        W!4      pVP                  . ROVR7      p\        P                  ! V^^RR7      p\        P
                  ! V4      ^ 8”  g   Q hR# )r   r¯   Úsmooth)r…  r†  r(  N)r   rP   rQ   rK   rQ   rP   r   )rÃ  rY   r   r2  r   Úcount_nonzero)r[   r°   r\   rú  Úactuals   &&&  r`   Útest_gh_15620ÚTestResample.test_gh_15620‡  sW   € ô ˜Ó"ˆØ�z‰zÒ/°uˆzÓ=ˆÜ×%Ò% dØ)*Ø+,Ø.6ô8ˆô ×Ò Ó'¨!Ô+Ð+Ò+rc   r*  )Nr¹  )r  r  )r+  ro  rR   rE  )rP   rQ   rK   rM   r­   )rþ   r¸   )r
   FN)r­   r?  )rK   rL   )rN   rW   )rQ   rK   rž   r­   )rQ   rE  éO   )&r,  r-  r.  r/  r@   r   r1  r2  r1  ra   rÃ  rÄ  rÅ  rJ  rR  rW  r0  Úpadtype_optionsr_  rc  rf  rÓ  r   r’  r�  r¤  rµ  Úintr   rý   rÿ   r’  ÚcomplexrÀ  rÇ  rÍ  r2  r3  r4  s   @r`   r  r  [  sb  ø‡ € á�v—‘¨×(<Ñ(<Ó=Ù�vÐ&UÔVñ#ó Wó >ð#ðB ‡[�[×Ñ˜XÐ'8Ó9Ø‡[�[×Ñ˜S (Ó+Ø‡[�[×Ñ˜UÐ$6Ó7Ù�v—‘Ó'ñó (ó 8ó ,ó :ðñ. �v—‘Ó'ñó (ðð ‡[�[×Ñ˜T ?Ó3Ø‡[�[×Ñ˜T ?Ó3Ø‡[�[×Ñ˜WÐ&?Ó@Ù�v—‘Ó'ñ@ó (ó Aó 4ó 4ð@ñ �fÐ%GÔHØ‡[�[×Ñ˜Y¨Ó8Ù�v×+Ñ+Ó,ñ-ó -ó 9ó Ið-ñ �fÐ%GÔHÙ�v×+Ñ+Ó,Ø‡[�[×Ñ˜Y¨Ó8ñ%ó 9ó -ó Ið%ð ‡[�[×Ñ˜Y¨Ó8Ø‡[�[×Ñ˜W y°)Ð&<Ó=Ù�fÐ%GÔHÙ�v×+Ñ+Ó,ñ"ó -ó Ió >ó 9ð"ñ �fÐ%GÔHØ‡[�[×ÑØØ	ÐÙ
ÙØ�  t˜}¨oóó
õ	
óñ �v—‘¨×(<Ñ(<Ó=ñM:ó >óó IðM:ð^ ‡[�[×Ñ˜V VÓ,Ø‡[�[×Ñ˜W fÓ-Ù�v—‘Ó'ñ.ó (ó .ó -ð.ð ‡[�[×Ñ˜V WÓ-Ø‡[�[×Ñ˜W fÓ-Ù�v—‘Ó'ñ/ó (ó .ó .ð/ð ‡[�[×Ñ˜T <Ó0Ø‡[�[×Ñ˜T <Ó0Ù�v—‘Ó'ñ
3ó (ó 1ó 1ð
3ð ‡[�[×Ñ˜]ªKÓ8Ø‡[�[×Ñ˜W s¨B¯J©J¸¿¹ÀeÈWÐ&UÓVÙ�v×+Ñ+Ó,ñ5ó -ó Wó 9ð5ñ8 �v×+Ñ+Ó,ñ
6ó -ð
6ñ �v×+Ñ+Ó,Ø‡[�[×Ñ˜W w°	Ð&:Ó;Ù�fÐ%GÔHñ,ó Ió <ó -ö,rc   r  c                   ó,   a € ] tR tRt o R tR tRtV tR# )ÚTestCSpline1DEvali”  c                óÒ  € \         P                  ! . RO4      p\         P                  ! VP                  ^ ,          4      pV^,          V^ ,          ,
          pVP                  \        P
                  ! V4      4      pVP                  \        V4      R,          4      R,          p\        P                  ! WVWC^ ,          R7      p\        VR,          VP                  V4      ^R7       R# )rP   rs  )Údxr9  :NNrR   r  N)	rP   rQ   rK   rL   rK   rQ   rP   rQ   r€  )	r   rY   rŒ   r³  r   Ú	cspline1dr   Úcspline1d_evalr:   )r[   r\   ru   rt   rÖ  Úcjr  Úy2s   &&      r`   ra   ÚTestCSpline1DEval.test_basic—  sœ   € Ü�JŠJÒ4Ó5ˆÜ�IŠI�a—g‘g˜a•jÓ!ˆØˆq�T�A�a•D�[ˆØ�Z‰Zœ×(Ò(¨Ó+Ó,ˆØ�Y‰Y”s˜1“v •}Ó%¨Õ,ˆÜ×"Ò" 2¨b°qµTÔ:ˆô 	" " T¥(¨B¯J©J°q«MÀ1×Erc   c                ó  € \         P                  ! R 4      p\         P                  ! VP                  \         P                  R7      pRpRV,          p\         P
                  ! R\         P                  ,          V,          V,          4      pVP                  \        P                  ! V4      4      pVP                  R.4      p\        P                  ! Wg4      pVP                  VP                  V4      P                  8X  g   Q hR# )r|  r¯   rs  rå  rs   rj  N)r   rŒ   r·  r³  rÿ   Úexprx  rY   r   r×  rØ  r°   )	r[   r\   rt   ru   ÚTrí   ÚcyÚxnewÚynews	   &&       r`   rw   ÚTestCSpline1DEval.test_complex¢  s²   € ä�IŠI�c‹NˆÜ�HŠH�Q—W‘W¤B§L¡LÔ1ˆØˆØ�!�GˆÜ�FŠF�4œ"Ÿ%™%•< !Õ# aÕ'Ó(ˆð �Z‰Zœ×(Ò(¨Ó+Ó,ˆð �z‰z˜3˜%Ó ˆÜ×$Ò$ RÓ.ˆà�z‰z˜RŸZ™Z¨›]×0Ñ0Ô0Ð0Ò0rc   r*  N)r,  r-  r.  r/  ra   rw   r2  r3  r4  s   @r`   rÔ  rÔ  ”  s   ø‡ € ò	F÷1ð 1rc   rÔ  c                   ó–   a € ] tR tRt o R tR t]! RRR7      ]! RRR7      ]! ]P                  4      R	 4       4       4       t
R
 tRtV tR# )ÚTestOrderFilti´  c                ó¶   € \         P                  ! VP                  . RO4      VP                  . RO4      ^4      pVP                  . RO4      p\        W#4       R# )rP   NrO   ©rP   r   rP   )rQ   rK   rQ   )r   Úorder_filterrY   r5   )r[   r\   rÌ  Úexpects   &&  r`   ra   ÚTestOrderFilt.test_basic·  s?   € Ü×$Ò$ R§Z¡Z²	Ó%:¸B¿J¹JÂyÓ<QÐSTÓUˆØ—‘šIÓ&ˆÜ˜Ö'rc   c                óH  € VP                  VP                  ^\        V4      R7      R4      pVP                  ^\        V4      R7      pVP	                  . RO. RO. RO. RO. RO.\        V4      R7      p\        \        P                  ! W#^ 4      V4       VP	                  . RO. R	O. R
O. RO. RO.4      p\        \        P                  ! W#^4      V4       VP	                  . RO. RO. RO. RO. RO.\        V4      R7      p\        \        P                  ! W#^4      V4       R# )é   r¯   N©rM   rM   )rl  rl  rl  rl  rl  )rl  rl  rå  r|  rl  )rl  rÕ  r=  ç      @rl  )rl  rs  ç      &@r  rl  )r=  rí  r.  rÐ  r�  )rî  r  g      *@ç      ,@rÐ  )g      0@g      1@g      2@ç      3@rï  )ç      5@ç      6@ç      7@r  rð  )r  rñ  rò  ró  r  ©r   rP   rQ   rK   r   )rM   rN   rž   r­   rK   )rR   rE  rW   é   r­   )r  rŸ   r    rÿ  rõ  ©r   r  rŸ   r    rÿ  )r‹   rŒ   r>   r3  rY   r4   r   rç  ©r[   r\   rt   r%  rÔ   s   &&   r`   Útest_doc_exampleÚTestOrderFilt.test_doc_example¼  s  € Ø�J‰J�r—y‘y Ô+;¸BÓ+?�yÓ@À&ÓIˆØ—‘˜Ô!1°"Ó!5�Ó6ˆð —:‘:Ú!Ú!Ú!Ú$Ú!ð	#ô
 # 2Ó&ð ó 
ˆô 	œ×+Ò+¨A°qÓ9¸8ÔDð —:‘:Ú!Ú%Ú&Ú&Ú&ð	(ó
ˆô 	œ×+Ò+¨A°qÓ9¸8ÔDð —:‘:ÚÚÚ Ú!Ú ð	"ô
 # 2Ó&ð ó 
ˆô 	œ×+Ò+¨A°qÓ9¸8ÖDrc   z
dask.arrayzrepeat requires an axisrH   r«   zarray-api-compat#292c                ó*  € VP                  VP                  ^4      R4      pVP                  . RO. RO. RO. RO. RO.4      p\        \        P
                  ! V^4      V4       \        \        P                  ! W!P                  R4      ^4      V4       R# )	rë  Nrì  rô  )rP   rN   rž   r­   rL   )rN   rE  rW   rõ  r?  )rE  rŸ   r    rÿ  é   )r   rŸ   r    rÿ  r   r‘  )r‹   rŒ   rY   r4   r   rº  rç  rƒ  )r[   r\   rt   rÔ   s   &&  r`   Útest_medfilt_order_filterÚ'TestOrderFilt.test_medfilt_order_filterâ  sz   € ð �J‰J�r—y‘y “} fÓ-ˆð —:‘:ÚÚÚÚ!Úð	!ó
ˆô 	œŸš q¨!Ó,¨hÔ7äÜ×Ò §7¡7¨6£?°AÓ6Øö	
rc   c                ó€  € VP                  VP                  ^4      R4      pVP                  . RO. RO. RO.4      pVP                  . RO. RO. RO. R	O. R
O.4      p\        \        P
                  ! W#^ 4      V4       VP                  . RO. RO. RO. RO. RO.4      p\        \        P
                  ! W#^4      V4       R# )rë  Nrì  )rP   rP   r   )r   rP   r   ©r   r   r   ©r   r   r   r   r   )r   r   rP   rQ   rK   )r   rM   rN   rž   r­   )r   rR   rE  rW   rõ  rö  )r   rP   rQ   rK   rL   )rM   rN   rž   r­   r?  )rR   rE  rW   rõ  rû  )r  rŸ   r    rÿ  r  )r‹   rŒ   rY   r4   r   rç  r÷  s   &&   r`   Útest_order_filter_asymmetricÚ*TestOrderFilt.test_order_filter_asymmetricø  s®   € Ø�J‰J�r—y‘y “} fÓ-ˆØ—‘ÚÚÚðó
ˆð —:‘:ÚÚÚÚ Ú ð	"ó
ˆô 	œ×+Ò+¨A°qÓ9¸8ÔDà—:‘:ÚÚÚÚ!Ú!ð	#ó
ˆô 	œ×+Ò+¨A°qÓ9¸8ÖDrc   r*  N)r,  r-  r.  r/  ra   rø  r1  r@   r   rº  rü  r  r2  r3  r4  s   @r`   rä  rä  ´  s[   ø‡ € ò(ò
$EñL �|Ð,EÔFÙ�wÐ'=Ô>Ù�v—~‘~Ó&ñ
ó 'ó ?ó Gð
÷&Eð Erc   rä  c                   óî  a € ] tR tRt o R tR t]! RRR7      R 4       tR tR	 t	]! RR
R7      R 4       t
]! RR
R7      R 4       tR tR t]! RR
R7      R 4       t]! RR
R7      R 4       tR t]! RRR7      R 4       tR t]! RRR7      R 4       t]! RR
R7      R 4       t]! RR
R7      R 4       t]! RR
R7      R 4       tR t]! RRR7      R 4       tR t]! RRR7      ]P8                  P;                  R^^.. R2O^^.. R3O3]R 7      ]! ] 4      R! 4       4       4       t!]! ] 4      R" 4       t"]! R#R$R7      ]! RR%R7      ]! ] 4      R& 4       4       4       t#]! RR
R7      R' 4       t$]! RR
R7      R( 4       t%R) t&R* t']! R+R,7      ]P8                  P;                  RR-R-.](PR                  ! R-4      .4      ]P8                  P;                  R.R-R-.](PR                  ! R-4      .4      R/ 4       4       4       t*R0t+V t,R1# )4Ú_TestLinearFilteri  c                ó  € \        V\        4      '       d   TM\        P                  ! V4      pVP	                  ^ V^,
          V4      p\        V\        4      '       g   VP                  WA4      pV P                  WB4      # rM  )rÒ  rÑ  ÚmathÚprodr@  r‹   Úconvert_dtype)r[   r³  r\   Ú	prodshapert   s   &&&  r`   ÚgenerateÚ_TestLinearFilter.generate  s`   € Ü'¨¬s×3Ò3‘E¼¿ºÀ5Ó9Iˆ	Ø�K‰K˜˜9 q�=¨)Ó4ˆÜ˜%¤×%Ò%Ø—
‘
˜1Ó$ˆAØ×!Ñ! !Ó(Ð(rc   c                ó  € V P                   \        P                   ! R 4      8X  d‰   \        P                  ! V4      p\        P                  ! VP                  V P                   4      p\        P
                  ! W.RR.R.R..4      pV F   w  rVV P                  VR,          4      VR&   K"  	  V# \        V P                   \        4      '       d   \        W P                   4      MV P                   pVP                  WR7      # )ÚOÚrefs_okÚzerosize_okÚreadonlyÚ	writeonly.r¯   r*  )
r°   r   rY   Úemptyr³  ÚnditerÚtyperÒ  ÚstrrÃ  )r[   Úarrr\   rÕ   Úiterrt   ru   r°   s   &&&     r`   r  Ú_TestLinearFilter.convert_dtype  sÇ   € Ø�:‰:œŸš #›Ô&Ü—*’*˜S“/ˆCÜ—(’(˜3Ÿ9™9 d§j¡jÓ1ˆCÜ—9’9˜c˜Z¨)°MÐ)BØ$˜ { mÐ4ó6ˆDã‘�ØŸ™ 1 R¥5Ó)��#“ñ àˆJô # 4§:¡:¬s×3Ò3ô ˜R§¡Ô,àŸ*™*ð ð —:‘:˜c�:Ó/Ð/rc   r™   z/XXX https://github.com/scipy/scipy/issues/23539rH   c                ó  a€ SP                  ^.4      SP                  ^.4      SP                  ^^.4      rCp\        P                  ! \        RR7      ;_uu_ 4        \	        SP                  ^4      W44       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \	        SP                  . 4      W44       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \	        VSP                  ^4      V4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \	        VSP                  . 4      V4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        V3R lW#V3 4       w  r#p\	        W#V4       RRR4       R#   + '       g   i     EL7; i  + '       g   i     EL; i  + '       g   i     LÍ; i  + '       g   i     L—; i  + '       g   i     R# ; i)z"Verify all exceptions are raised. z^Parameter b is notr[  Nz^Parameter a is notz^Parameter's dtypes produced c              3   ó`   <"  € T F#  pSP                  VSP                  R R7      x € K%  	  R# 5i)FrZ  N)r  rü   )rª  Úv_r\   s   & €r`   r¬  Ú8_TestLinearFilter.test_invalid_params.<locals>.<genexpr>8  s'   øé € ÐPÁiÀ�r—y‘y  R§Y¡Y°U�y×;Ð;Ãiùs   ƒ+.)rY   rÃ  r   rÆ   r   r3  ÚNotImplementedError)r[   r\   r^   r]   rt   s   &f   r`   rÈ   Ú%_TestLinearFilter.test_invalid_params+  sD  ø€ ð —*‘*˜a˜S“/ 2§:¡:¨q¨c£?°B·J±JÀÀ1¸vÓ4FˆaˆÜ�]Š]œ:Ð-B×CÖCÜ�B—F‘F˜1“I˜qÔ$÷ Dä�]Š]œ:Ð-B×CÖCÜ�B—J‘J˜r“N AÔ)÷ Dä�]Š]œ:Ð-B×CÖCÜ�A�r—v‘v˜a“y !Ô$÷ Dä�]Š]œ:Ð-B×CÖCÜ�A�r—z‘z "“~ qÔ)÷ Dä�]Š]Ô.Ð6U×VÖVÜPÀqÈQÁiÓP‰GˆA�!Ü�A˜!Ô÷ WÑV÷ D×CÐCúçC×CÐCúçC×CúçC×CúçV×VÐVús<   ÁF&Â$F:Ã,GÄ5G!Å>G4Æ&F7	Æ:G	ÇG	Ç!G1	Ç4H	c                óÎ   € V P                  RV4      pV P                  ^R.V4      pV P                  RR.V4      pV P                  . ROV4      p\        \        W4V4      V4       R# )rN   rj  N©rN   r´   ç      à¿©r   rQ   rL   rN   r­   rs  ©r
  r  r:   r   ©r[   r\   rt   r^   r]   Úy_rs   &&    r`   Útest_rank_1_IIRÚ!_TestLinearFilter.test_rank_1_IIR;  sb   € Ø�M‰M˜$ Ó#ˆØ×Ñ  2˜w¨Ó+ˆØ×Ñ  T˜{¨BÓ/ˆØ× Ñ Ò!5°rÓ:ˆÜ!¤'¨!°Ó"2°CÖ8rc   c                óÌ   € V P                  RV4      pV P                  ^^.V4      pV P                  ^.V4      pV P                  . ROV4      p\        \        W4V4      V4       R# )rN   Nr   ©r   rP   rK   rM   rž   rÐ  r#  r$  s   &&    r`   Útest_rank_1_FIRÚ!_TestLinearFilter.test_rank_1_FIRB  s`   € Ø�M‰M˜$ Ó#ˆØ×Ñ  1˜v rÓ*ˆØ×Ñ ˜s BÓ'ˆØ× Ñ Ò!4°bÓ9ˆÜ!¤'¨!°Ó"2°CÖ8rc   z*XXX https://github.com/cupy/cupy/pull/8677c                ó<  € V P                  RV4      pV P                  . ROV4      pV P                  RR.V4      pV P                  ^^.V4      pV P                  . ROV4      pV P                  ^R.V4      p\        W4W%R7      w  r‰\        W†4       \        W—4       R# )	rN   rj  ©ÚziNr   ©rP   r   r´   r!  )rP   rM   r?  rõ  r    r‚  éöÿÿÿ©r
  r  r   r:   ©
r[   r\   rt   r^   r]   r.  r%  Úzf_rru   Úzfs
   &&        r`   Útest_rank_1_IIR_init_condÚ+_TestLinearFilter.test_rank_1_IIR_init_condI  s—   € à�M‰M˜$ Ó#ˆØ×Ñšz¨2Ó.ˆØ×Ñ  T˜{¨BÓ/ˆØ×Ñ  A ¨Ó+ˆØ× Ñ Ò!6¸Ó;ˆØ×!Ñ! 2 s )¨RÓ0ˆÜ˜˜aÔ'‰ˆÜ! !Ô)Ü! "Ö+rc   c                ó:  € V P                  RV4      pV P                  . ROV4      pV P                  ^.V4      pV P                  ^^.V4      pV P                  . ROV4      pV P                  ^	^.V4      p\        W4W%R7      w  r‰\        W†4       \        W—4       R# )rN   r-  Nr   rb  )rP   rQ   rK   rN   r?  r  r1  r2  s
   &&        r`   Útest_rank_1_FIR_init_condÚ+_TestLinearFilter.test_rank_1_FIR_init_condU  s•   € à�M‰M˜$ Ó#ˆØ×Ñšy¨"Ó-ˆØ×Ñ ˜s BÓ'ˆØ×Ñ  A ¨Ó+ˆØ× Ñ Ò!5°rÓ:ˆØ×!Ñ! 1 a &¨"Ó-ˆÜ˜˜aÔ'‰ˆÜ! !Ô)Ü! "Ö+rc   c                óè   € V P                  RV4      pV P                  ^R.V4      pV P                  RR.V4      pV P                  . RO. RO. RO. RO.V4      p\        W4V^ R7      p\        WV4       R# )rL   rj  r¢  N©rL   rK   r´   ©r   rQ   rL   ©rN   rL   rQ   r1  )r[   r\   rt   r^   r]   Úy_r2_a0ru   s   &&     r`   Útest_rank_2_IIR_axis_0Ú(_TestLinearFilter.test_rank_2_IIR_axis_0a  su   € Ø�M‰M˜& "Ó%ˆØ×Ñ  2˜w¨Ó+ˆØ×Ñ  S˜z¨2Ó.ˆØ×$Ñ$¢i²ºIÚ&/ð&1Ø24ó6ˆä�A˜! !Ô$ˆÜ! 'Ö-rc   c                óè   € V P                  RV4      pV P                  ^R.V4      pV P                  RR.V4      pV P                  . RO. RO. RO. R	O.V4      p\        W4V^R7      p\        WV4       R# )
rL   rj  r¢  Nr;  r´   ©r   rQ   r   ©rN   r]  rN   ©rW   r0  rW   ©rÿ  iðÿÿÿrÿ  r1  )r[   r\   rt   r^   r]   Úy_r2_a1ru   s   &&     r`   Útest_rank_2_IIR_axis_1Ú(_TestLinearFilter.test_rank_2_IIR_axis_1j  su   € Ø�M‰M˜& "Ó%ˆØ×Ñ  2˜w¨Ó+ˆØ×Ñ  S˜z¨2Ó.ˆØ×$Ñ$¢i²º]Ú)ð&+Ø,.ó0ˆä�A˜! !Ô$ˆÜ! 'Ö-rc   c                ó¦  € V P                  RV4      pV P                  ^R.V4      pV P                  RR.V4      pV P                  \        P                  ! R4      V4      pV P                  . RO. R	O. R
O. RO.V4      pV P                  . ROV4      R\        P                  3,          p\        W4V^VR7      w  r‰\        Wh4       \        W—4       R# )rL   rj  r¦  ©r£  r.  Nr;  r´   )rL   rP   rb  )rž   éûÿÿÿrž   )rõ  éõÿÿÿrõ  )r  éïÿÿÿr  )rK  rM  iãÿÿÿi×ÿÿÿ)r
  r  r   rƒ  rw  r   r:   )
r[   r\   rt   r^   r]   r.  Ú	y_r2_a0_1r3  ru   r4  s
   &&        r`   Ú test_rank_2_IIR_axis_0_init_condÚ2_TestLinearFilter.test_rank_2_IIR_axis_0_init_conds  s»   € à�M‰M˜& "Ó%ˆØ×Ñ  2˜w¨Ó+ˆØ×Ñ  S˜z¨2Ó.ˆØ×Ñ¤§¢¨£°Ó3ˆà×&Ñ&ª	²:º}Ú+ð(-Ø.0ó2ˆ	à×!Ñ!Ò"5°rÓ:¸1¼b¿j¹j¸=ÕIˆÜ˜˜a a¨BÔ/‰ˆÜ! )Ô/Ü! "Ö+rc   c                óz  € V P                  RV4      pV P                  ^R.V4      pV P                  RR.V4      pV P                  \        P                  ! R4      V4      pV P                  . RO. RO. RO. RO.V4      pV P                  . R	O.V4      p\	        W4V^ VR7      w  r‰\        Wh4       \        W—4       R# )
rL   rj  rJ  Nr;  r´   ©rP   rK   )rP   rK   rM   )rM   rK   rP   )ééÿÿÿrS  rS  )r
  r  r   rƒ  r   r:   )
r[   r\   rt   r^   r]   r.  Ú	y_r2_a0_0r3  ru   r4  s
   &&        r`   Ú test_rank_2_IIR_axis_1_init_condÚ2_TestLinearFilter.test_rank_2_IIR_axis_1_init_cond�  s±   € à�M‰M˜& "Ó%ˆØ×Ñ  2˜w¨Ó+ˆØ×Ñ  S˜z¨2Ó.ˆØ×Ñ¤§¢¨£°Ó4ˆà×&Ñ&ª	²9Ú(1²9ð(>Ø?AóCˆ	à×!Ñ!¢?Ð"3°RÓ8ˆÜ˜˜a a¨BÔ/‰ˆÜ! )Ô/Ü! "Ö+rc   c                óf  a	a
€ V P                  RV4      pV P                  ^R.V4      pV P                  RR.V4      p\        \        WCV34      w  o	o
p\	        VP
                  4       FE  p\        W4W&4      p\        P                  ! V	V
3R lWe4      p\        WqP                  V4      4       KG  	  R# )rL   rj  c                 ó   <€ \        SSV 4      # r*  ©r   ©Úwr”  r¨  s   &€€r`   Ú<lambda>Ú3_TestLinearFilter.test_rank_3_IIR.<locals>.<lambda>–  ó   ø€ ´¸¸dÀAÔ0Frc   N©rL   rK   rQ   r´   ©r
  r  r¼  rC   r�   Úndimr   r   Úapply_along_axisr:   rY   ©r[   r\   rt   r^   r]   Úx_npr£  ru   r%  r”  r¨  s   &&       @@r`   Útest_rank_3_IIRÚ!_TestLinearFilter.test_rank_3_IIR�  s˜   ù€ Ø�M‰M˜) RÓ(ˆØ×Ñ  2˜w¨Ó+ˆØ×Ñ  S˜z¨2Ó.ˆÜÔ0°1¸°)Ó<Ñˆˆd�DÜ˜!Ÿ&™&–MˆDÜ˜˜aÓ&ˆAÜ×%Ò%Õ&FÈÓSˆCÜ% a¯©°C«Ö9ó "rc   Ú
inaccuratec                ó¤  aaa€ V P                  RV4      pV P                  ^R.V4      pV P                  RR.V4      p\        VP                  4       Fù  p\	        VP
                  4      p^We&   V P                  VP                  V4      V4      pV P                  ^.V4      p\        W4W%V4      w  rš\        \        W4V34      w  oooVVV3R lpVVV3R lp\        P                  ! Wµ\        V4      4      p\        P                  ! WÅ\        V4      4      p\        W‘P                  V4      4       \        W¡P                  V4      4       Kû  	  R# )rL   rj  c                 ó0   <€ \        SSV SR 7      ^ ,          # ©r-  rY  ©r[  r”  r¨  Úzi1_nps   &€€€r`   Úlf0Ú8_TestLinearFilter.test_rank_3_IIR_init_cond.<locals>.lf0¦  ó   ø€ Ü˜t T¨1°Ô8¸Õ;Ð;rc   c                 ó0   <€ \        SSV SR 7      ^,          # rj  rY  rk  s   &€€€r`   Úlf1Ú8_TestLinearFilter.test_rank_3_IIR_init_cond.<locals>.lf1¨  ro  rc   Nr_  r´   )r
  r  r�   ra  rÓ  r³  rƒ  r   r¼  rC   r   rb  r:   rY   )r[   r\   rt   r^   r]   r£  Úzi_shaper.  Úzi1ru   r4  rm  rq  r%  r3  r”  r¨  rl  s   &&             @@@r`   Útest_rank_3_IIR_init_condÚ+_TestLinearFilter.test_rank_3_IIR_init_cond™  s  ú€ à�M‰M˜) RÓ(ˆØ×Ñ  2˜w¨Ó+ˆØ×Ñ  S˜z¨2Ó.ˆä˜!Ÿ&™&–MˆDÜ˜AŸG™G“}ˆHØˆH‰NØ×#Ñ# B§G¡G¨HÓ$5°rÓ:ˆBØ×$Ñ$ a S¨"Ó-ˆCÜ˜A !¨2Ó.‰EˆAÜ!$Ô%6¸¸s¸Ó!DÑˆD�$˜÷<÷<ä×%Ò% cÔ1BÀ1Ó1EÓFˆCÜ×&Ò& sÔ2CÀAÓ2FÓGˆDÜ% a¯©°C«Ô9Ü% b¯*©*°TÓ*:Ö;ó "rc   c                ód  a	a
€ V P                  RV4      pV P                  . ROV4      pV P                  ^.V4      p\        \        WCV34      w  o	o
p\	        VP
                  4       FE  p\        W4W&4      p\        P                  ! V	V
3R lWe4      p\        WqP                  V4      4       KG  	  R# )rL   c                 ó   <€ \        SSV 4      # r*  rY  rZ  s   &€€r`   r\  Ú3_TestLinearFilter.test_rank_3_FIR.<locals>.<lambda>·  r^  rc   Nr_  r/  r`  rc  s   &&       @@r`   Útest_rank_3_FIRÚ!_TestLinearFilter.test_rank_3_FIR¯  s’   ù€ Ø�M‰M˜) RÓ(ˆØ×Ñšz¨2Ó.ˆØ×Ñ ˜s BÓ'ˆäÔ0°1¸°)Ó<Ñˆˆd�DÜ˜!Ÿ&™&–MˆDÜ˜˜aÓ&ˆAÜ×%Ò%Õ&FÈÓSˆCÜ% a¯©°C«Ö9ó "rc   c                óÂ  aaa€ V P                  RV4      pV P                  . ROV4      pV P                  ^.V4      p\        \        W#V34      w  poo\	        VP
                  4       Fó  p\        VP                  4      p^Wv&   V P                  VP                  V4      V4      pV P                  ^^.V4      p	\        V	4      o\        W4W&V4      w  r«\        \        W4V	34      w  oooVVV3R lpVVV3R lp\        P                  ! WÆV4      p\        P                  ! WÖV4      p\        W¡P                  V4      4       \        W±P                  V4      4       Kõ  	  R# )rL   c                 ó0   <€ \        SSV SR 7      ^ ,          # rj  rY  rk  s   &€€€r`   rm  Ú8_TestLinearFilter.test_rank_3_FIR_init_cond.<locals>.lf0É  ro  rc   c                 ó0   <€ \        SSV SR 7      ^,          # rj  rY  rk  s   &€€€r`   rq  Ú8_TestLinearFilter.test_rank_3_FIR_init_cond.<locals>.lf1Ë  ro  rc   Nr_  r/  )r
  r  r¼  rC   r�   ra  rÓ  r³  rƒ  r   r   rb  r:   rY   )r[   r\   rt   r^   r]   rd  r£  rs  r.  rt  ru   r4  rm  rq  r%  r3  r”  r¨  rl  s   &&              @@@r`   Útest_rank_3_FIR_init_condÚ+_TestLinearFilter.test_rank_3_FIR_init_condº  s)  ú€ à�M‰M˜) RÓ(ˆØ×Ñšz¨2Ó.ˆØ×Ñ ˜s BÓ'ˆäÔ0°1¸°)Ó<Ñˆˆd�DÜ˜!Ÿ&™&–MˆDÜ˜AŸG™G“}ˆHØˆH‰NØ×#Ñ# B§G¡G¨HÓ$5°rÓ:ˆBØ×$Ñ$ a¨ V¨RÓ0ˆCÜ& sÓ+ˆFÜ˜A !¨2Ó.‰EˆAÜ!$Ô%6¸¸s¸Ó!DÑˆD�$˜÷<÷<ä×%Ò% c°Ó6ˆCÜ×&Ò& s°$Ó7ˆDÜ% a¯©°C«Ô9Ü% b¯*©*°TÓ*:Ö;ó "rc   c                ó  € V P                  RV4      p\        P                  ! ^RRR7      w  r4V P                  W14      pV P                  WA4      pVP                  ^ ,          ^,
          pV P                  VP                  ^^V34      V4      pV P                  VP                  ^^V34      V4      p\        W4W&R7      w  r‰\        W4W'R7      w  r«\        W¨4       \        W›4       \        \        \        W4VRVP                  V4      4       R# )rL   rQ  Úba©rõ  r-  N)rL   rM   r  r´   )
r
  r   r   r  r³  rƒ  r   r:   rÅ   rÆ   )r[   r\   rt   r^   r]   Úzi_sizeÚzi_fullÚzi_singÚy_fullÚzf_fullÚy_singÚzf_sings   &&          r`   Útest_zi_pseudobroadcastÚ)_TestLinearFilter.test_zi_pseudobroadcastÒ  sä   € à�M‰M˜* bÓ)ˆÜ�}Š}˜Q ¨DÔ1‰ˆØ×Ñ˜qÓ%ˆØ×Ñ˜qÓ%ˆØ—'‘'˜!•*˜q•.ˆð ×$Ñ$ R§W¡W¨a°°G¨_Ó%=¸rÓBˆØ×$Ñ$ R§W¡W¨a°°G¨_Ó%=¸rÓBˆä! !¨Ô6‰ˆÜ! !¨Ô6‰ˆä! &Ô1Ü! 'Ô3ô 	”j¤'¨1°°B¸¿¹ÀÓ8HÖIrc   c                óÜ   € V P                  ^V4      pV P                  . ROV4      pV P                  ^.V4      pV P                  . ROV4      p\        W4^ ,          V4      p\        We4       R# )rN   Nr/  )r   rP   rQ   rQ   rQ   rQ   r1  )r[   r\   rt   r^   r]   r%  ru   s   &&     r`   Útest_scalar_aÚ_TestLinearFilter.test_scalar_aè  se   € ð �M‰M˜!˜RÓ ˆØ×Ñšz¨2Ó.ˆØ×Ñ ˜s BÓ'ˆØ× Ñ Ò!3°RÓ8ˆä�A˜•t˜QÓˆÜ! !Ö)rc   c                ó�  € V P                  VP                  RVP                  R7      V4      pV P                  VP                  ^VP                  R7      V4      pV P                  VP	                  . RO4      V4      p\
        P                  ! R\
        P                  R7      pVR;;,          ^,          uu&   VR;;,          ^,          uu&   VP	                  V4      pV P                  WQ4      pV P                  VP                  RVP                  R7      V4      p\
        P                  ! R\
        P                  R7      p^..^..^...VR	&   VP	                  V4      pV P                  Wq4      p\        W4VR
V4      w  r‰\        W‡4       \        W–4       \        W4^ ,          VR
V4      w  r«\        W§4       \        W¶4       R# )rK   r¯   N)rK   rQ   rM   )rP   r   r   )rK   rP   rL   )rP   r¦  r¦  )rQ   r¦  r¦  )rK   rQ   rL   )r¦  r¦  :NrL   Nr´   )r  r·  rù   rƒ  rY   r   r   r:   )r[   r\   rt   r^   r]   r.  Úzf_expectedÚ
y_expectedÚy_iirÚzf_iirÚy_firÚzf_firs   &&          r`   Útest_zi_some_singleton_dimsÚ-_TestLinearFilter.test_zi_some_singleton_dimsó  sp  € ð
 ×Ñ˜rŸx™x¨	¸¿¹˜xÓBÀBÓGˆØ×Ñ˜rŸw™w q°·±˜wÓ9¸2Ó>ˆØ×Ñ˜rŸz™zª)Ó4°bÓ9ˆÜ�WŠW�Y¤b§h¡hÔ/ˆØ
ˆ7��qÕ‹Ø
ˆ7��qÕ‹Ø�Z‰Z˜‹^ˆØ×Ñ Ó'ˆà×(Ñ(¨¯©°)À2Ç8Á8¨Ó)LÈbÓQˆÜ—X’X˜i¬r¯x©xÔ8ˆ
Ø"#  ¨¨ u°¨s¨eÐ4ˆ
�8ÑØ—Z‘Z 
Ó+ˆ
Ø×'Ñ'¨
Ó7ˆ
ô    a¨¨RÓ0‰ˆÜ! %Ô4Ü! &Ô6ô    Q¥4¨¨B°Ó3‰ˆÜ! %Ô4Ü! &Ö6rc   c           	     ó¼   € V P                  W4      pV P                  W&4      pV P                  W64      pV P                  WV4      p\        \        \        WW4V4       R # r*  )r  rÅ   rÆ   r   )r[   r^   r]   rt   r£  r.  r\   s   &&&&&&&r`   Úbase_bad_size_ziÚ"_TestLinearFilter.base_bad_size_zi  sR   € Ø×Ñ˜qÓ%ˆØ×Ñ˜qÓ%ˆØ×Ñ˜qÓ%ˆØ×Ñ Ó'ˆÜ”j¤'¨1°¸"Ö=rc   zcupy does not raisec                óø  € VP                  ^4      pV P                  ^.^.VR^.V4       V P                  ^^.^.VR^ ^.V4       V P                  ^^.^.VR^ ..V4       V P                  ^^.^.VR. ROV4       V P                  . RO^.VR^ ..V4       V P                  . RO^.VR. ROV4       V P                  ^.^^.VR^ ^.V4       V P                  ^.^^.VR^ ..V4       V P                  ^.^^.VR. ROV4       V P                  . RO^^.VR^ .V4       V P                  . RO^^.VR^ .^..V4       V P                  . RO^^.VR. ROV4       V P                  . RO^^.VR. ROV4       V P                  ^^.. ROVR^ .V4       V P                  ^^.. ROVR^ .^..V4       V P                  ^^.. ROVR. ROV4       V P                  ^^.. ROVR. ROV4       \        P                   ! ^4      P                  R4      pVP	                  V4      pV P                  ^.^.V^ ^ .V4       V P                  ^^.^.V^ . ROV4       V P                  ^^.^.V^ . RO..V4       V P                  ^^.^.V^ ^ .^.^..V4       V P                  ^^.^.V^ ^ ^..V4       V P                  ^^.^.V^ . RO.V4       V P                  . RO^.V^ . ROV4       V P                  . RO^.V^ . RO. RO..V4       V P                  . RO^.V^ ^ ^.^^.^^..V4       V P                  . RO^.V^ ^ ^.^^..V4       V P                  . RO^.V^ . RO. R	O.V4       V P                  ^.^^.V^ . ROV4       V P                  ^.^^.V^ . RO..V4       V P                  ^.^^.V^ ^ .^.^..V4       V P                  ^.^^.V^ ^ ^..V4       V P                  ^.^^.V^ . RO.V4       V P                  ^.. ROV^ . ROV4       V P                  ^.. ROV^ . RO. RO..V4       V P                  ^.. ROV^ ^ ^.^^.^^..V4       V P                  ^.. ROV^ ^ ^.^^..V4       V P                  ^.. ROV^ . RO. R	O.V4       V P                  . RO^^.V^ . ROV4       V P                  . RO^^.V^ . RO. RO..V4       V P                  . RO^^.V^ ^ ^.^^.^^..V4       V P                  . RO^^.V^ ^ ^.^^..V4       V P                  . RO^^.V^ . RO. R	O.V4       V P                  ^.^.V^^ .V4       V P                  ^^.^.V^. ROV4       V P                  ^^.^.V^^ .^.^.^...V4       V P                  ^^.^.V^. RO.V4       V P                  ^^.^.V^^ .^.^..V4       V P                  ^^.^.V^^ .^.^.^.^..V4       V P                  . RO^.V^. R
OV4       V P                  . RO^.V^^ ^.^^.^^.^^...V4       V P                  . RO^.V^. RO. R	O.V4       V P                  . RO^.V^^ ^.^^.^^..V4       V P                  . RO^.V^^ ^.^^.^^.^^.^^	..V4       V P                  ^.^^.V^. ROV4       V P                  ^.^^.V^^ .^.^.^...V4       V P                  ^.^^.V^. RO.V4       V P                  ^.^^.V^^ .^.^..V4       V P                  ^.^^.V^^ .^.^.^.^..V4       V P                  ^.. ROV^. R
OV4       V P                  ^.. ROV^^ ^.^^.^^.^^...V4       V P                  ^.. ROV^. RO. R	O.V4       V P                  ^.. ROV^^ ^.^^.^^..V4       V P                  ^.. ROV^^ ^.^^.^^.^^.^^	..V4       V P                  . RO^^.V^. R
OV4       V P                  . RO^^.V^^ ^.^^.^^.^^...V4       V P                  . RO^^.V^. RO. R	O.V4       V P                  . RO^^.V^^ ^.^^.^^..V4       V P                  . RO^^.V^^ ^.^^.^^.^^.^^	..V4       R# )rN   Nr´   ©r   rP   rQ   rb  ©r   rP   rQ   rK   r;  )r   rP   rQ   rK   rL   rM   rh   )rL   rM   rN   rž   )r   rP   rQ   rK   rL   rM   rN   rž   )rŒ   rœ  r   r‹   rY   )r[   r\   r  r  s   &&  r`   Útest_bad_size_ziÚ"_TestLinearFilter.test_bad_size_zi  sQ
  € ð �Y‰Y�q‹\ˆØ×Ñ˜q˜c A 3¨¨B°°°RÔ8Ø×Ñ˜q !˜f q c¨2¨r°A°q°6¸2Ô>Ø×Ñ˜q !˜f q c¨2¨r°Q°C°5¸"Ô=Ø×Ñ˜q !˜f q c¨2¨r²9¸bÔAØ×Ñši¨!¨¨b°"¸°s°e¸RÔ@Ø×Ñši¨!¨¨b°"²iÀÔDØ×Ñ˜q˜c A q 6¨2¨r°A°q°6¸2Ô>Ø×Ñ˜q˜c A q 6¨2¨r°Q°C°5¸"Ô=Ø×Ñ˜q˜c A q 6¨2¨r²9¸bÔAØ×Ñši¨!¨Q¨°°R¸!¸¸bÔAØ×Ñši¨!¨Q¨°°R¸1¸#À¸s¸ÀRÔHØ×Ñši¨!¨Q¨°°RºÀBÔGØ×Ñši¨!¨Q¨°°RºÀrÔJØ×Ñ˜q !˜f¢i°°R¸!¸¸bÔAØ×Ñ˜q !˜f¢i°°R¸1¸#À¸s¸ÀRÔHØ×Ñ˜q !˜f¢i°°RºÀBÔGØ×Ñ˜q !˜f¢i°°RºÀrÔJô �YŠY�r‹]×"Ñ" 5Ó)ˆØ�Z‰Z˜‹^ˆà×Ñ˜q˜c A 3¨¨A°¨s°BÔ7ð 	×Ñ˜q !˜f q c¨2¨q²)¸RÔ@Ø×Ñ˜q !˜f q c¨2¨q²I°;°-ÀÔDØ×Ñ˜q !˜f q c¨2¨q°A°3¸¸¸a¸S°/À2ÔFØ×Ñ˜q !˜f q c¨2¨q°A°q°6°(¸BÔ?Ø×Ñ˜q !˜f q c¨2¨q²<°.À"ÔEà×Ñši¨!¨¨b°!Ò5GÈÔLØ×Ñši¨!¨¨b°!²yÂ)Ð6LÐ5MÈrÔRØ×Ñši¨!¨¨b°!°q¸!°f¸qÀ!¸fÀqÈ!ÀfÐ5MÈrÔRØ×Ñši¨!¨¨b°!°q¸!°f¸qÀ!¸fÐ5EÀrÔJØ×Ñši¨!¨¨b°!²lÂLÐ5QÐSUÔVà×Ñ˜q˜c A q 6¨2¨q²)¸RÔ@Ø×Ñ˜q˜c A q 6¨2¨q²I°;°-ÀÔDØ×Ñ˜q˜c A q 6¨2¨q°A°3¸¸¸a¸S°/À2ÔFØ×Ñ˜q˜c A q 6¨2¨q°A°q°6°(¸BÔ?Ø×Ñ˜q˜c A q 6¨2¨q²<°.À"ÔEà×Ñ˜q˜c¢9¨b°!Ò5GÈÔLØ×Ñ˜q˜c¢9¨b°!²yÂ)Ð6LÐ5MÈrÔRØ×Ñ˜q˜c¢9¨b°!°q¸!°f¸qÀ!¸fÀqÈ!ÀfÐ5MÈrÔRØ×Ñ˜q˜c¢9¨b°!°q¸!°f¸qÀ!¸fÐ5EÀrÔJØ×Ñ˜q˜c¢9¨b°!²lÂLÐ5QÐSUÔVà×Ñši¨!¨Q¨°°QÒ8JÈBÔOØ×Ñši¨!¨Q¨°°Qº)ÂYÐ9OÐ8PÐRTÔUØ×Ñši¨!¨Q¨°°Q¸!¸Q¸À!ÀQÀÈ!ÈQÈÐ8PÐRTÔUØ×Ñši¨!¨Q¨°°Q¸!¸Q¸À!ÀQÀÐ8HÈ"ÔMØ×Ñši¨!¨Q¨°°QÚ+ª\Ð:¸Bô	@ð 	×Ñ˜q˜c A 3¨¨A°¨s°BÔ7à×Ñ˜q !˜f q c¨2¨q²,ÀÔCØ×Ñ˜q !˜f q c¨2¨q°Q°C¸!¸¸q¸cÀAÀ3Ð3GÐ2HÈ"ÔMØ×Ñ˜q !˜f q c¨2¨q²<°.À"ÔEØ×Ñ˜q !˜f q c¨2¨q°A°3¸¸¸a¸S°/À2ÔFØ×Ñ˜q !˜f q c¨2¨q°A°3¸¸¸a¸SÀ1À#ÈÀsÐ2KÈRÔPà×Ñši¨!¨¨b°!Ò5MÈrÔRØ×Ñši¨!¨¨b°!Ø!" A ¨¨A¨°°A°¸¸A¸Ð?Ð@À"ô	Fà×Ñši¨!¨¨b°!²lÂLÐ5QÐSUÔVØ×Ñši¨!¨¨b°!°q¸!°f¸qÀ!¸fÀqÈ!ÀfÐ5MÈrÔRØ×Ñši¨!¨¨b°!Ø ! 1˜v¨¨1 v°°1¨v¸¸1°vÀÀ1¸vÐFÈô	Lð 	×Ñ˜q˜c A q 6¨2¨q²,ÀÔCØ×Ñ˜q˜c A q 6¨2¨q°Q°C¸!¸¸q¸cÀAÀ3Ð3GÐ2HÈ"ÔMØ×Ñ˜q˜c A q 6¨2¨q²<°.À"ÔEØ×Ñ˜q˜c A q 6¨2¨q°A°3¸¸¸a¸S°/À2ÔFØ×Ñ˜q˜c A q 6¨2¨q°A°3¸¸¸a¸SÀ1À#ÈÀsÐ2KÈRÔPà×Ñ˜q˜c¢9¨b°!Ò5MÈrÔRØ×Ñ˜q˜c¢9¨b°!Ø!" A ¨¨A¨°°A°¸¸A¸Ð?Ð@À"ô	Fà×Ñ˜q˜c¢9¨b°!²lÂLÐ5QÐSUÔVØ×Ñ˜q˜c¢9¨b°!°q¸!°f¸qÀ!¸fÀqÈ!ÀfÐ5MÈrÔRØ×Ñ˜q˜c¢9¨b°!°q¸!°fØ  !˜f q¨! f¨q°!¨f°q¸!°fð6>Ø?Aô	Cð 	×Ñši¨!¨Q¨°°QÒ8PÐRTÔUØ×Ñši¨!¨Q¨°°QØ!" A ¨¨A¨°°A°¸¸A¸Ð?Ð@À"ô	Fà×Ñši¨!¨Q¨°°QÚ+ª\Ð:¸Bô	@à×Ñši¨!¨Q¨°°Q¸!¸Q¸À!ÀQÀÈ!ÈQÈÐ8PÐRTÔUØ×Ñši¨!¨Q¨°°QØ ! 1˜v¨¨1 v°°1¨v¸¸1°vÀÀ1¸vÐFÈö	Lrc   c                ó–  € V P                  RV4      pV P                  ^.V4      pV P                  ^.V4      pV P                  . V4      p\        WCW%R7      w  rg\        Wb4       VP                  \        V P                  \        4      '       d   \        WP                  4      MV P                  8X  g   Q h\        V4      ^ 8X  g   Q hR# )rM   r-  N)rM   )	r
  r  r   r:   r°   rÒ  r  rÃ  r=   )r[   r\   rt   r]   r^   r.  ru   r4  s   &&      r`   Útest_empty_ziÚ_TestLinearFilter.test_empty_zi‚  s²   € à�M‰M˜$ Ó#ˆØ×Ñ ˜s BÓ'ˆØ×Ñ ˜s BÓ'ˆØ×Ñ  BÓ'ˆÜ˜˜aÔ'‰ˆÜ! !Ô'Ø�x‰xÜ)¨$¯*©*´c×:Ò:ô $ B¯
©
Ô3à!%§¡ô-ð 	-ð -ô �r‹{˜aÔÐÒrc   rF   z jax does not support inplace opsr]   )Úidsc           	     ó<  € \        V4      '       d8   \        V\        \        ,          4      '       d   \        P
                  ! R 4       V P                  ^V4      pV P                  . ROV4      pV P                  W4      p\        V4      ^,
          p\        V4      ^,
          p\        V4      '       d	   We,           M
\        WV4      p\        WAW0P                  Wr4      R7      w  r‰\        WAVP                  V4      VP                  V4      4      p
\        Wš4       R# )z0cupy does not supoprt scalar filter coefficientsr-  N)rj  rå  rQ  )r9   rÒ  rÑ  r’  rÃ  rÂ  r
  r  r=   ry  r   r#   r»  r:   )r[   r]   r\   rt   r^   rß  rÞ  ÚKrœ  Úzi_1Úzi_2s   &&&        r`   Útest_lfilticÚ_TestLinearFilter.test_lfiltic�  sÈ   € ô �2�;Š;œ: a¬¬u­×5Ò5Ü�KŠKÐJÔKØ�M‰M˜!˜RÓ ˆØ×Ñš|¨RÓ0ˆØ×Ñ˜qÓ%ˆÜ�A‹J˜�NˆÜ�A‹J˜�NˆÜ˜R—[’[ˆAŽE¤c¨!£iˆä˜1 §}¡}°QÓ';Ô<‰ˆä�q˜RŸW™W R›[¨"¯'©'°!«*Ó5ˆä! $Ö-rc   c           	     ó  € \        \        \        ^^.. ^ ^ .^ ^.4       \        \        \        ^^.^ ^.^ ^ .^ ^.4       \        \        \        ^^.^.^..^ ^ .^ ^.4       \        \        \        ^.^..^.^ ^ .^ ^.4       R# ©rP   N)rÅ   rÆ   r#   r   s   &r`   Útest_lfiltic_bad_coeffsÚ)_TestLinearFilter.test_lfiltic_bad_coeffs¥  sŽ   € ô 	”j¤'¨A¨q¨6°2¸¸1°vÀÀ1¸vÔFÜ”j¤'¨A¨q¨6°A°q°6¸A¸q¸6ÀAÀqÀ6ÔJÜ”j¤'¨A¨q¨6°Q°C¸!¸°:ÀÀ1¸vÈÈ1ÀvÔNÜ”j¤'¨Q¨C°!°¨:¸°s¸QÀ¸FÀQÈÀFÖKrc   Úarray_api_strictz-int64 and float64 cannot be promoted togetherzjax dtype defaults differc                ód  € V P                  ^.V4      pV P                  ^.V4      p\        W2VP                  R^ .4      4      p\        W2VP                  R^ .4      4      p\        W2VP                  RR.4      4      p\        WE4       V P                  \
        8X  d   / MRR/p\        WF3/ VB  R# )rP   rå  TFr  N)r  r#   rY   r5   r°   Úobject)r[   r\   r]   r^   r.  r©  rª  Úcheck_dtype_args   &&      r`   Útest_lfiltic_bad_ziÚ%_TestLinearFilter.test_lfiltic_bad_zi­  s£   € ð ×Ñ ˜s BÓ'ˆØ×Ñ ˜s BÓ'ˆä�Q˜2Ÿ:™: r¨1 gÓ.Ó/ˆÜ�q˜RŸZ™Z¨¨a¨Ó1Ó2ˆÜ�q˜RŸZ™Z¨¨u¨Ó6Ó7ˆÜ˜Ô!à $§
¡
¬fÔ 4™"¸=È%Ð:PˆÜ˜Ñ4 OÔ4rc   c                ó:  € V P                  ^.V4      pV P                  . ROV4      pV P                  ^^.V4      pV P                  ^H.V4      pV P                  ^J.V4      pV P                  ^R.V4      p\        W2WTR7      w  r‰\        W†4       \        W—4       R# )rP   r-  Nr/  é¸ÿÿÿ©r  r   r:   ©
r[   r\   r]   r^   r.  rt   ÚyeÚzferu   r4  s
   &&        r`   Útest_short_x_FIRÚ"_TestLinearFilter.test_short_x_FIR¿  sœ   € ð ×Ñ ˜s BÓ'ˆØ×Ñšz¨2Ó.ˆØ×Ñ  A ¨Ó+ˆØ×Ñ ˜t RÓ(ˆØ×Ñ   bÓ)ˆØ× Ñ  ! S ¨2Ó.ˆÜ˜˜aÔ'‰ˆÜ! !Ô(Ü! "Ö*rc   c                ó<  € V P                  ^^.V4      pV P                  . ROV4      pV P                  ^^.V4      pV P                  ^H.V4      pV P                  ^J.V4      pV P                  RR.V4      p\        W2WTR7      w  r‰\        W†4       \        W—4       R# )rP   r-  Nr/  i½ÿÿÿr¸  r¹  rº  s
   &&        r`   Útest_short_x_IIRÚ"_TestLinearFilter.test_short_x_IIRÍ  sž   € ð ×Ñ  1˜v rÓ*ˆØ×Ñšz¨2Ó.ˆØ×Ñ  A ¨Ó+ˆØ×Ñ ˜t RÓ(ˆØ×Ñ   bÓ)ˆØ× Ñ  # s ¨RÓ0ˆÜ˜˜aÔ'‰ˆÜ! !Ô(Ü! "Ö*rc   c                ó,  € V P                  RV4      pV P                  ^R.V4      p\        W1R7      pV P                  RR.V4      p\        WQR7      pV P                  . ROV4      p\        W5V4      p\	        W‡4       \        W44       \        WV4       R# )rN   r   rj  Nr   r´   r!  r"  ©r
  r  r<   r   r:   r5   ©	r[   r\   rt   r^   Úb0r]   Úa0r%  Úy_fs	   &&       r`   Útest_do_not_modify_a_b_IIRÚ,_TestLinearFilter.test_do_not_modify_a_b_IIRÛ  s‰   € Ø�M‰M˜$ Ó#ˆØ×Ñ  2˜w¨Ó+ˆÜ�QÔˆØ×Ñ  T˜{¨BÓ/ˆÜ�QÔˆØ× Ñ Ò!5°rÓ:ˆÜ�a˜AÓˆÜ! #Ô+Ü˜ÔÜ˜Örc   c                ó*  € V P                  RV4      pV P                  . ROV4      p\        W1R7      pV P                  ^.V4      p\        WQR7      pV P                  . ROV4      p\        W5V4      p\	        W‡4       \        W44       \        WV4       R# )rN   r   Nr   ræ  )r   rj  rP   rQ   rK   r�  rÃ  rÄ  s	   &&       r`   Útest_do_not_modify_a_b_FIRÚ,_TestLinearFilter.test_do_not_modify_a_b_FIRç  sƒ   € Ø�M‰M˜$ Ó#ˆØ×Ñšy¨"Ó-ˆÜ�QÔˆØ×Ñ ˜s BÓ'ˆÜ�QÔˆØ× Ñ Ò!6¸Ó;ˆÜ�a˜AÓˆÜ! #Ô+Ü˜ÔÜ˜Örc   Tr$  rå  r^   c                óè   € \         P                  P                  ^
4      pVP                  V4      p\	        \        VP                  R.4      VP                  R.4      V4      \        W!V4      4       R# )rR   rå  N)r   r  r  rY   r4   r   )r[   r]   r^   r\   rú  s   &&&& r`   Útest_scalar_inputÚ#_TestLinearFilter.test_scalar_inputó  sX   € ô �y‰y�‰˜rÓ"ˆØ�z‰z˜$ÓˆÜÜ�B—J‘J ˜uÓ% r§z¡z°3°%Ó'8¸$Ó?Ü�A˜$Óö	
rc   r*  N)rP   rj  ç      ø?)rQ   rP   rK   )-r,  r-  r.  r/  r
  r  r0  rÈ   r&  r*  r5  r8  r?  rG  rO  rU  re  r1  ru  rz  r�  r�  r�  r™  rœ  r¡  r¤  rÃ  rÄ  rÅ  r  r@   r#   r«  r¯  rµ  r½  rÀ  rÈ  rË  r   rÍ  rÎ  r2  r3  r4  s   @r`   r  r    sá  ø‡ € ò)ò0ñ �fÐ%VÔWñó Xðò9ò9ñ �fÐ%QÔRñ	,ó Sð	,ñ �fÐ%QÔRñ	,ó Sð	,ò.ò.ñ �fÐ%QÔRñ,ó Sð,ñ �fÐ%QÔRñ,ó Sð,ò:ñ �v lÔ3ñ<ó 4ð<ò*	:ñ �v lÔ3ñ<ó 4ð<ñ. �fÐ%QÔRñJó SðJñ* �fÐ%QÔRñ*ó Sð*ñ �fÐ%QÔRñ7ó Sð7ò:>ñ �fÐ%:Ô;ñgLó <ðgLòR ñ �kÐ*LÔMØ‡[�[×Ñ˜S 1 q cª<¸¸Q¸CÂÐ"KØ!$ð ó &á�wÓñ.ó  ó&ó Nð.ñ$ �wÓñLó  ðLñ ØÐ#Rôñ �kÐ*EÔFÙ�wÓñ5ó  ó Góð
5ñ �fÐ%QÔRñ+ó Sð+ñ �fÐ%QÔRñ+ó Sð+ò
ò
ñ ˜dÔ#Ø‡[�[×Ñ˜S 3¨¨¨r¯xªx¸«}Ð"=Ó>Ø‡[�[×Ñ˜S 3¨¨¨r¯xªx¸«}Ð"=Ó>ñ
ó ?ó ?ó $ö
rc   r  c                   ó   € ] tR tRtRtRtR# )ÚTestLinearFilterFloat32iÿ  rý   r*  N©r,  r-  r.  r/  r°   r2  r*  rc   r`   rÒ  rÒ  ÿ  ó   † Ø„Erc   rÒ  c                   ó   € ] tR tRtRtRtR# )ÚTestLinearFilterFloat64i	  rþ   r*  NrÓ  r*  rc   r`   rÖ  rÖ  	  rÔ  rc   rÖ  r$  c                   ó:   € ] tR tRt]P
                  ! R4      tRtR# )ÚTestLinearFilterFloatExtendedi	  rG  r*  N©r,  r-  r.  r/  r   r°   r2  r*  rc   r`   rØ  rØ  	  ó   † à�HŠH�S‹M„Erc   rØ  c                   ó   € ] tR tRtRtRtR# )ÚTestLinearFilterComplex64i	  rÿ   r*  NrÓ  r*  rc   r`   rÜ  rÜ  	  s   † Ø„Erc   rÜ  c                   ó   € ] tR tRtRtRtR# )ÚTestLinearFilterComplex128i	  r¸   r*  NrÓ  r*  rc   r`   rÞ  rÞ  	  s   † Ø„Erc   rÞ  c                   ó:   € ] tR tRt]P
                  ! R4      tRtR# )ÚTestLinearFilterComplexExtendedi	  ÚGr*  NrÙ  r*  rc   r`   rà  rà  	  rÚ  rc   rà  c                 ó*  € \        \        R 4      '       d,   R\        P                  9   d   \        P                  ! R4       \        \        \        R.R.. RO4       \        \        \        R.R.. RO4       \        \        \        R.R.. RO4       R# )Úabiflagsr¨   z'test is flaky when run with python3-dbgrå  N)rå  Nr|  ©rå  r|  r€  )ÚhasattrÚsysrã  rÃ  rÂ  rÅ   rÑ  r   r   s   &r`   Útest_lfilter_bad_objectrç  	  sf   € ô Œs�J×Ò C¬3¯<©<Ô$7Ü�ŠÐ=Ô>Ü”)œW s e¨c¨UÒ4DÔEÜ”)œW s e¨d¨V²_ÔEÜ”)œW t f¨s¨e²_ÖErc   c                 ó@   € \        \        \        ^^.^^.. RO4       R# )rQ   N)rP   rQ   rK   rL   rM   )rÅ   r  r   r   s   &r`   Ú!test_lfilter_notimplemented_inputré  $	  s   € ô Ô%¤w°°1°¸¸!°uºkÖJrc   r¢  rF   zfails all aroundrH   c                   óÊ   a € ] tR tRt o R tR tR t]! RRR7      R 4       tR	 t	R
 t
R tR t]! RRR7      R 4       t]! RRR7      R 4       t]! RRR7      R 4       tRtV tR# )ÚTestCorrelateReali*	  c                óˆ   € VP                  ^ ^^VR7      pVP                  ^^^VR7      pVP                  . ROVR7      pW4V3# )r   r¯   )r   rQ   rM   r­   rK   )r@  rY   ©r[   r¢  r\   r]   r^   r%  s   &&&   r`   Ú_setup_rank1ÚTestCorrelateReal._setup_rank13	  sJ   € Ø�K‰K˜˜1˜a rˆKÓ*ˆØ�K‰K˜˜1˜a rˆKÓ*ˆà�j‰jš°ˆjÓ3ˆØ�SˆyÐrc   c                óà   € ^p \         P                  ! V4      p\        VR4      '       d1   \        R\         P                  ! VP
                  4      ,          4      pV#   \         d     T# i ; i)rN   Ú
resolutionr!  )r   rË  rå  rÑ  Úlog10rñ  Ú	Exception)r[   Úres_dtr  Údt_infos   &&  r`   Úequal_toleranceÚ!TestCorrelateReal.equal_tolerance:	  se   € àˆð	Ü—h’h˜vÓ&ˆGÜ�w ×-Ò-Ü˜d¤2§8¢8¨G×,>Ñ,>Ó#?Õ?Ó@�ð ˆøô ô 	ØØˆð	ús   „AA ÁA-Á,A-c                óŒ   € V\         P                  8X  d    V P                  \         P                  4      # V P                  V4      # r*  )r   rÌ  rö  rþ   )r[   rô  s   &&r`   Úequal_tolerance_fftÚ%TestCorrelateReal.equal_tolerance_fftE	  s6   € ð ”R—]‘]Ô"Ø×'Ñ'¬¯
©
Ó3Ð3à×'Ñ'¨Ó/Ð/rc   Tz	order='F'r}   c                ó\  € \        W!4      pV P                  W4      w  r4p\        W4R R7      p\        W4RR7      p\        WVV P	                  VP
                  4      R7       \        WWV P                  VP
                  4      R7       VP
                  V8X  g   Q hVP
                  V8X  g   Q hR# )r
   r…   r„   r  N)rÃ  Ú_setup_rank3r   r:   rù  r°   rö  )r[   r¢  r\   r]   r^   r%  Úy_fftÚy_directs   &&&     r`   Útest_methodÚTestCorrelateReal.test_methodM	  s•   € ä�R‹_ˆà×%Ñ% bÓ-‰	ˆˆcÜ˜! uÔ-ˆÜ˜Q¨(Ô3ˆä! #Ø*.×*BÑ*BÀ5Ç;Á;Ó*Oõ	Rä! #Ø*.×*>Ñ*>¸x¿~¹~Ó*Nõ	Qà�{‰{˜bÔ Ð Ð Ø�~‰~ Ô#Ð#Ò#rc   c                ó²  € \        V4      '       d   VR9   d   \        P                  ! R4       \        V\        4      '       d   \        W!4      MTpV P                  W4      w  r4p\        W4R4      p\        WeR,          4       VP                  V8X  g   Q h\        WCR4      p\        WbP                  VR,          4      4       VP                  V8X  g   Q hR# )rè   ú$torch does not support unsigned intsr²   :rP   rL   NNrÁ  )r7   rÃ  rÂ  rÒ  r  rÃ  rî  r   r:   r°   r»  ©r[   r¢  r\   r]   r^   r%  ru   s   &&&    r`   Útest_rank1_validÚ"TestCorrelateReal.test_rank1_valid\	  s¦   € Ü�B�<Š<˜BÐ"@Ô@Ü�;Š;Ð=Ô>ä *¨2¬s× 3Ò 3ŒW�RŒ_¸ˆØ×%Ñ% bÓ-‰	ˆˆcÜ�a˜GÓ$ˆÜ! !¨¥XÔ.Ø�w‰w˜"Œ}Ðˆ}ô �a˜GÓ$ˆÜ! !§W¡W¨S°­XÓ%6Ô7Ø�w‰w˜"Œ}ÐŠ}rc   c                ó*  € \        V4      '       d   VR9   d   \        P                  ! R4       \        V\        4      '       d   \        W!4      MTpV P                  W4      w  r4p\        W4R4      p\        WeRR 4       VP                  V8X  g   Q hR# )rè   r  re   NrÁ  r´   ©
r7   rÃ  rÂ  rÒ  r  rÃ  rî  r   r:   r°   r  s   &&&    r`   Útest_rank1_sameÚ!TestCorrelateReal.test_rank1_samek	  su   € Ü�B�<Š<˜BÐ"@Ô@Ü�;Š;Ð=Ô>ä *¨2¬s× 3Ò 3ŒW�RŒ_¸ˆà×%Ñ% bÓ-‰	ˆˆcÜ�a˜FÓ#ˆÜ! !¨¨" XÔ.Ø�w‰w˜"Œ}ÐŠ}rc   c                ó$  € \        V4      '       d   VR9   d   \        P                  ! R4       \        V\        4      '       d   \        W!4      MTpV P                  W4      w  r4p\        W4R4      p\        We4       VP                  V8X  g   Q hR# )rè   r  r±   NrÁ  r  r  s   &&&    r`   Útest_rank1_fullÚ!TestCorrelateReal.test_rank1_fullv	  so   € Ü�B�<Š<˜BÐ"@Ô@Ü�;Š;Ð=Ô>ä *¨2¬s× 3Ò 3ŒW�RŒ_¸ˆà×%Ñ% bÓ-‰	ˆˆcÜ�a˜FÓ#ˆÜ! !Ô)Ø�w‰w˜"Œ}ÐŠ}rc   c                óÆ  € \         P                  ! ^ ^'^(4      P                  RRR7      P                  V4      p\         P                  ! ^ ^^4      P                  RRR7      P                  V4      p\         P                  ! . RO. RO. RO. R	O. R
O. RO.. RO. RO. RO. RO. RO. RO.. RO. RO. RO. RO. RO. RO..\         P
                  R7      P                  V4      pW4V3# )r   ÚF)Úorderr¯   )rQ   rL   rM   rœ   )rl  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@)ró  g      y@g     ,�@ç      œ@g     ¥@g     $›@g     @Œ@g     Pr@)r  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      {@r  g     4¤@r  g     �´@g     Ü§@g     €”@ç     Àl@)g      n@g     à…@g     ”@g     €�@g     €£@g     œ•@g      €@rÂ  )rò  g     Àj@g     €€@g      Œ@g     Ð”@g     pŠ@g     àz@g     €`@)g     €U@g     @~@g     (‘@r  g     P¤@g     ™@g      ˆ@g     Ài@)g     €g@g     ‰@r  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@rl  )r   r@  r‹   r  rÍ  rþ   rí  s   &&&   r`   rü  ÚTestCorrelateReal._setup_rank3�	  sé   € Ü�KŠK˜˜2˜rÓ"×*Ñ*¨9¸CÐ*Ó@×GÑGØóˆä�KŠK˜˜2˜rÓ"×*Ñ*¨9¸CÐ*Ó@×GÑGØóˆô �hŠhÒHÚIÚKÚKÚJÚFðHò JÚKÚLÚLÚLÚIðKò GÚIÚKÚLÚIÚEðGðHô( Ÿ*™*ô)&÷( '-¡f¨R£jð) 	ð, �SˆyÐrc   c           	     ó^  € \        V\        4      '       d   \        W!4      MTpV P                  W4      w  r4p\	        W4R 4      p\        WeR,          4       VP                  V8X  g   Q h\	        WCR 4      p\        WeR,          RRR1RRR1RRR13,          4       VP                  V8X  g   Q hR# )r²   N):rP   rQ   N:rQ   rL   N:rK   rM   Nr´   )rÒ  r  rÃ  rü  r   r:   r°   r  s   &&&    r`   Útest_rank3_validÚ"TestCorrelateReal.test_rank3_validŸ	  s™   € ä *¨2¬s× 3Ò 3ŒW�RŒ_¸ˆØ×%Ñ% bÓ-‰	ˆˆcÜ�a˜GÓ$ˆÜ! !¨Õ%7Ô8Ø�w‰w˜"Œ}Ðˆ}ô �a˜GÓ$ˆÜ! !¨Õ%7¹¸"¸¹dÀ¸dÁDÀbÀDÐ8HÕ%IÔJØ�w‰w˜"Œ}ÐŠ}rc   c                óè   € \        V\        4      '       d   \        W!4      MTpV P                  W4      w  r4p\	        W4R 4      p\        We^ R1^R1^R13,          4       VP                  V8X  g   Q hR# )re   Nr´   r\  ©rÒ  r  rÃ  rü  r   r4   r°   r  s   &&&    r`   Útest_rank3_sameÚ!TestCorrelateReal.test_rank3_same¬	  si   € ä *¨2¬s× 3Ò 3ŒW�RŒ_¸ˆØ×%Ñ% bÓ-‰	ˆˆcÜ�a˜FÓ#ˆÜ˜˜q ˜t Q r T¨1¨R¨4Ð/Õ0Ô1Ø�w‰w˜"Œ}ÐŠ}rc   c                óÆ   € \        V\        4      '       d   \        W!4      MTpV P                  W4      w  r4p\	        W44      p\        We4       VP                  V8X  g   Q hR # r*  r  r  s   &&&    r`   Útest_rank3_allÚ TestCorrelateReal.test_rank3_all´	  sN   € ä *¨2¬s× 3Ò 3ŒW�RŒ_¸ˆØ×%Ñ% bÓ-‰	ˆˆcÜ�a‹OˆÜ˜ÔØ�w‰w˜"Œ}ÐŠ}rc   r*  N)r,  r-  r.  r/  rî  rö  rù  r0  rÿ  r  r  r  rü  r  r  r   r2  r3  r4  s   @r`   rë  rë  *	  s”   ø‡ € òò	ò0ñ ˜d¨;Ô7ñ$ó 8ð$òò	ò	òñ< ˜d¨;Ô7ñ
ó 8ð
ñ ˜d¨;Ô7ñó 8ðñ ˜d¨;Ô7ñó 8örc   rë  c                   ó¶   a € ] tR tRt o ]! RR7      R 4       t]! RR7      R 4       t]! RR7      R 4       t]! RR.R7      ]! R	R
R7      R 4       4       tRt	V t
R# )ÚTestCorrelatei½	  Tr$  c                ó
  € \         P                  ! ^^4      P                  R4      p\         P                  ! R^ 4      P                  R4      p\        \        \
        .W#3O5/ RR/B  \        \        \
        .W23O5/ RR/B  R# rá   )r   rŒ   r‹   rÅ   rÆ   r   rÇ   s   &&  r`   rå   Ú!TestCorrelate.test_invalid_shapesÁ	  so   € ô �IŠI�a˜‹O×#Ñ# FÓ+ˆÜ�IŠI�b˜!Ó×$Ñ$ VÓ,ˆä”j¤)ÐJ¨q¨fÒJ¸ÀÐ8IÒJÜ”j¤)ÐJ¨q¨fÒJ¸ÀÐ8IÔJrc   c           	     ó  € . ROp. ROp\        \        \        W#RR7       \        \        \        W#RRR7       \        \        \        W#RRR7       \        \        \        W#RR	R7       \        \        \        W#R
R	R7       R# r¿   ©rÅ   rÆ   r   rÇ   s   &&  r`   rÈ   Ú!TestCorrelate.test_invalid_paramsÎ	  sZ   € âˆÚˆÜ”j¤)¨Q¸Õ?Ü”j¤)¨Q¸ÀuÕMÜ”j¤)¨Q¸ÀhÕOÜ”j¤)¨Q¸ÀwÕOÜ”j¤)¨Q¸Àw×Orc   c                ó.  € \        \        \        ^.^RR7       \        \        \        ^^.RR7       \        \        \        ^.^RR7       \        \        \        ^^.RR7       \        \        \        ^.^..4       \        \        \        ^.^4       R# r&  r'  r'  s   &&r`   r(  Ú"TestCorrelate.test_mismatched_dimsØ	  sp   € ô 	”j¤)¨a¨S°!¸HÕEÜ”j¤)¨Q°°¸HÕEÜ”j¤)¨a¨S°!¸EÕBÜ”j¤)¨Q°°¸EÕBÜ”j¤)¨a¨S°A°3°%Ô8Ü”j¤)¨a¨S°!Ö4rc   r™   )Úcpu_onlyÚ
exceptionsrF   zdtype differsrH   c                óÜ  € VP                  . RO4      pVP                  ^^.4      p\        \        W#RR7      VP                  . RO4      4       VP                  . RO4      pVP                  . RO4      p\        \        W#RR7      VP                  . R	O4      4       \        \        W#RR7      VP                  . R
O4      4       \        \        W#RR7      VP                  ^ .4      4       R# )rP   re   rf   r±   r²   NrO   )rM   rû  rV   r�   )r    rU   rV   )rN   r    rU   rV   rW   )rY   r4   r   rÇ   s   &&  r`   Útest_numpy_fastpathÚ!TestCorrelate.test_numpy_fastpathâ	  s«   € ð �J‰J’yÓ!ˆØ�J‰J˜˜1�vÓˆÜœ	 !¨VÔ4°b·j±jÂÓ6MÔNà�J‰J’yÓ!ˆØ�J‰J’yÓ!ˆÜœ	 !¨VÔ4°b·j±jÂÓ6NÔOÜœ	 !¨VÔ4°b·j±jÒATÓ6UÔVÜœ	 !¨WÔ5°r·z±zÀ2À$Ó7GÖHrc   r*  N)r,  r-  r.  r/  r0  rå   rÈ   r(  r.  r2  r3  r4  s   @r`   r#  r#  ½	  s‚   ø‡ € ñ ˜dÔ#ñ
Kó $ð
Kñ ˜dÔ#ñPó $ðPñ ˜dÔ#ñ5ó $ð5ñ ˜t°°Ô9Ù�k¨/Ô:ñ	Ió ;ó :ö	Irc   r#  rg   ÚbehindFÚ
input_sizer°  r±  rK  )Úmarksi'  c                 óä  € \         P                  P                  ^ 4      pVP                  V4      p\	        V^
,          4      pV'       d,   \         P
                  ! VP                  V4      V.4      pV) pMWVR pTp\        WWV R7      p	\        VP                  VP                  V R7      p
\         P                  ! V	4      p\        W«,          V4       V
P                  V	P                  8X  g   Q hR# )r   Nrf   )r   r  r  rR  rÑ  Úconcatenater   r   rì   Úargmaxr5   r³  )rg   r0  r1  r\   r  Úin1ÚoffsetÚin2rÔ   ÚcorrelationÚlagsÚ	lag_indexs   &&&&        r`   Útest_correlation_lagsr<  ð	  sÂ   € ô �)‰)×
Ñ
 Ó
"€CØ
×
Ñ
˜jÓ
)€CÜ�˜B•Ó€Fçä�nŠn˜c×1Ñ1°&Ó9¸3Ð?Ó@ˆØ�7‰ð �'ˆlˆØˆä˜C¨4Ô0€KÜ˜CŸH™H c§h¡h°TÔ:€Dä—	’	˜+Ó&€Iä�D•O XÔ.à�:‰:˜×*Ñ*Ô*Ð*Ò*rc   c                 ó¤   € \         P                  ! \        R R7      ;_uu_ 4        \        ^d^dRR7       RRR4       R#   + '       g   i     R# ; i)zMode asdfgh is invalidr[  Úasdfghrf   N)rÃ  r   rÆ   r   r   s   &r`   Ú"test_correlation_lags_invalid_moder?  
  s0   € ä	�Š”zÐ)A×	BÖ	BÜ˜˜c¨Õ1÷ 
C×	B×	BÒ	Bús	   ¥>¾A	Údt_namerÿ   r¸   c                   óˆ   a € ] tR tRt o R tR tR tR tR tR t	R t
]! R	R
R7      R 4       t]! RR7      R 4       tRtV tR# )ÚTestCorrelateComplexi
  c                óì   € \        V4      '       d&   V\        P                  8X  d   \        P                  p^@^^ ^/VP	                  V4      P
                  ,          p\        ^V,          ^,          4      # )rR  )r6   r   r  ÚcdoublerË  ÚbitsrÑ  )r[   r¢  r\   Úprecs   &&& r`   r  ÚTestCorrelateComplex.decimal 
  sT   € Ü�B�<Š<˜B¤"§.¡.Ô0Ü—‘ˆBð �B˜˜Aˆ˜rŸx™x¨›|×0Ñ0Õ1ˆÜ�1�t•8˜a•<Ó Ð rc   c           	     ó|  € \         P                  P                  ^	4      p\         P                  P                  ^
4      P	                  V4      pVRVP                  ^
4      P	                  V4      ,          ,          p\         P                  P                  ^4      P	                  V4      pVRVP                  ^4      P	                  V4      ,          ,          p\        VP                  VP                  VR7      \        VP                  VP                  VR7      ,           P	                  V4      pVR\        VP                  VP                  VR7      ) \        VP                  VP                  VR7      ,           ,          ,          pVP                  V4      VP                  V4      VP                  V4      rvpWVV3# )r?  r®   rf   )
r   r  r9  r  r  rR  r   rB  ÚimagrY   )r[   r¢  rg   r\   r  r]   r^   r%  s   &&&&    r`   rî  Ú!TestCorrelateComplex._setup_rank1(
  sD  € Ü�i‰i×#Ñ# AÓ&ˆÜ�I‰I�O‰O˜BÓ×&Ñ& rÓ*ˆØ	ˆR�#×%Ñ% bÓ)×0Ñ0°Ó4Õ4Õ4ˆÜ�I‰I�O‰O˜AÓ×%Ñ% bÓ)ˆØ	ˆR�#×%Ñ% aÓ(×/Ñ/°Ó3Õ3Õ3ˆä˜Ÿ™ §¡¨dÔ3Ü˜Ÿ™ §¡¨dÔ3õ4ß5;±V¸B³Zð 	àˆr”i §¡¨¯©°TÔ:Ð:Ü˜qŸv™v q§v¡v°DÔ9õ:õ ;õ 	;ˆð —J‘J˜q“M 2§:¡:¨a£=°"·*±*¸S³/ˆcˆØ�SˆyÐrc   c                óp  € V P                  VR V4      w  r4p\        W!4      p\        W4R 4      p\        WuV P	                  Wb4      R7       VP
                  V8X  g   Q h\        WCR 4      p\        WrP                  VP                  V4      4      V P	                  Wb4      R7       VP
                  V8X  g   Q hR# )r²   r  N)rî  rÃ  r   r:   r  r°   Úconjr»  ©r[   r@  r\   r]   r^   r%  r¢  ru   s   &&&     r`   r  Ú%TestCorrelateComplex.test_rank1_valid7
  s™   € Ø×%Ñ% g¨w¸Ó;‰	ˆˆcÜ�RÓ!ˆÜ�a˜GÓ$ˆÜ! !°$·,±,¸rÓ2FÕGØ�w‰w˜"Œ}Ðˆ}ô �a˜GÓ$ˆÜ! !§W¡W¨R¯W©W°S«\Ó%:Ø*.¯,©,°rÓ*>õ	@à�w‰w˜"Œ}ÐŠ}rc   c                ó¾   € V P                  VR V4      w  r4p\        W!4      p\        W4R 4      p\        WuV P	                  Wb4      R7       VP
                  V8X  g   Q hR# )re   r  N©rî  rÃ  r   r:   r  r°   rM  s   &&&     r`   r  Ú$TestCorrelateComplex.test_rank1_sameD
  sS   € Ø×%Ñ% g¨v°rÓ:‰	ˆˆcÜ�RÓ!ˆä�a˜FÓ#ˆÜ! !°$·,±,¸rÓ2FÕGØ�w‰w˜"Œ}ÐŠ}rc   c                ó¾   € V P                  VR V4      w  r4p\        W!4      p\        W4R 4      p\        WuV P	                  Wb4      R7       VP
                  V8X  g   Q hR# )r±   r  NrP  rM  s   &&&     r`   r  Ú$TestCorrelateComplex.test_rank1_fullL
  sS   € Ø×%Ñ% g¨v°rÓ:‰	ˆˆcÜ�RÓ!ˆÜ�a˜FÓ#ˆÜ! !°$·,±,¸rÓ2FÕGØ�w‰w˜"Œ}ÐŠ}rc   c                óÄ   € \        W!4      pVP                  . ROVR7      pVP                  . ROVR7      p\        WE4      p\        WbP                  . RO4      RRR7       R# )	rl  r¯   rò   Frí  N©rµ   rp   rÞ  ©y      ð?      @y       @      @y      @      @y      @      @)rµ   ù      $@       Àù      <@      Àù      6@      Ày      0@      Ày       @      À)rÃ  rY   r   r4   )r[   r@  r\   r¢  r¨   Úkru   s   &&&    r`   Útest_swap_fullÚ#TestCorrelateComplex.test_swap_fullS
  sU   € Ü�RÓ!ˆØ�J‰JÒ/°rˆJÓ:ˆØ�J‰JÒ7¸rˆJÓBˆÜ�a‹OˆÜØ�z‰zÒNÓOØ 5÷	
rc   c                ó¤   € VP                  . RO4      pVP                  . RO4      p\        W4RR7      p\        WRP                  . RO4      4       R# )rl  re   rf   NrU  rV  )rW  rX  rY  )rY   r   r4   )r[   r@  r\   r¨   rZ  ru   s   &&&   r`   Útest_swap_sameÚ#TestCorrelateComplex.test_swap_same]
  s>   € Ø�J‰JÒ/Ó0ˆØ�J‰JÒ7Ó8ˆÜ�a Ô(ˆÜ˜Ÿ:™:Ò&AÓBÖCrc   r™   ÚnotimplementederrorrH   c                ór  € \        V4      '       d#   \        R 8w  d   \        P                  ! RR7       \        P
                  P                  ^
^^4      P                  V4      pVR\        P
                  P                  ^
^^4      P                  V4      ,          ,          p\        P
                  P                  ^^^4      P                  V4      pVR\        P
                  P                  ^^^4      P                  V4      ,          ,          p\        VP                  VP                  4      \        VP                  VP                  4      ,           P                  V4      pVR\        VP                  VP                  4      ) \        VP                  VP                  4      ,           ,          ,          pVP                  V4      VP                  V4      VP                  V4      rTp\        W!4      p\        W4R4      p\        WuV P                  Wb4      ^,
          R7       VP                  V8X  g   Q hR# )Úcpuz)error tolerances exceeded with JAX on gpurH   r®   r±   r  N)r8   rB   rÃ  Úxfailr   r  r  r  r   rB  rI  rY   rÃ  r:   r  r°   rM  s   &&&     r`   Ú
test_rank3ÚTestCorrelateComplex.test_rank3c
  s„  € ä�"�:Š:œ,¨%Ô/Ü�LŠLÐ KÕLÜ�I‰I�O‰O˜B  1Ó%×,Ñ,¨WÓ5ˆØ	ˆR”"—)‘)—/‘/ " a¨Ó+×2Ñ2°7Ó;Õ;Õ;ˆÜ�I‰I�O‰O˜A˜q !Ó$×+Ñ+¨GÓ4ˆØ	ˆR”"—)‘)—/‘/ ! Q¨Ó*×1Ñ1°'Ó:Õ:Õ:ˆä˜Ÿ™ §¡Ó(Ü˜1Ÿ6™6 1§6¡6Ó*õ+ß,2©F°7«Oð 	àˆr”i §¡¨¯©Ó/Ð/´)¸A¿F¹FÀAÇFÁFÓ2KÕKÕLÕLˆà—J‘J˜q“M 2§:¡:¨a£=°"·*±*¸S³/ˆcˆÜ�RÓ!ˆä�a˜FÓ#ˆÜ! !°$·,±,¸rÓ2FÈÕ2JÕKØ�w‰w˜"Œ}ÐŠ}rc   Tr$  c           	     óê  € \         P                  ! \         P                  P                  4       4      P	                  V4      pVR \         P                  ! \         P                  P                  4       4      P	                  V4      ,          ,          p\         P                  ! \         P                  P                  4       4      P	                  V4      pVR \         P                  ! \         P                  P                  4       4      P	                  V4      ,          ,          p\        W!4      p\        VP                  VP                  4      \        VP                  VP                  4      ,           P	                  V4      pVR \         P                  ! \        VP                  VP                  4      ) \        VP                  VP                  4      ,           4      ,          ,          pVP                  V4      VP                  V4      rC\        W4R4      p\        WvV P                  WR4      ^,
          R7       VP                  V8X  g   Q h\        \        ^.R.4      \         P                  ! \        ^R4      4      RR7       \        \        R.R.4      \         P                  ! \        RR4      4      RR7       \        \        R.^.4      \         P                  ! \        R^4      4      RR7       R# )r®   r±   r  rs   F)Úcheck_shapeù              @N)r   rÍ  r  r  r  rÃ  r   rB  rI  rY   r:   r  r°   r5   )r[   r@  r\   r]   r^   r¢  r%  ru   s   &&&     r`   Ú
test_rank0ÚTestCorrelateComplex.test_rank0w
  sù  € ä�HŠH”R—Y‘Y—_‘_Ó&Ó'×.Ñ.¨wÓ7ˆØ	ˆR”"—(’(œ2Ÿ9™9Ÿ?™?Ó,Ó-×4Ñ4°WÓ=Õ=Õ=ˆÜ�HŠH”R—Y‘Y—_‘_Ó&Ó'×.Ñ.¨wÓ7ˆØ	ˆR”"—(’(œ2Ÿ9™9Ÿ?™?Ó,Ó-×4Ñ4°WÓ=Õ=Õ=ˆÜ�RÓ!ˆä˜Ÿ™ §¡Ó(Ü˜1Ÿ6™6 1§6¡6Ó*õ+ß,2©F°2«Jð 	àˆr”B—H’Hœi¨¯©°·±Ó7Ð7Ü& q§v¡v¨q¯v©vÓ6õ7ó 8õ 8õ 	8ˆð �z‰z˜!‹}˜bŸj™j¨›mˆ1ä�a˜FÓ#ˆÜ! !°$·,±,¸rÓ2FÈÕ2JÕKØ�w‰w˜"Œ}Ðˆ}äœ	 1 #¨ tÓ,¬b¯jªj¼À1ÀbÓ9IÓ.JØ$)õ	+äœ	 2 $¨¨Ó-¬r¯zªz¼)ÀBÈÓ:KÓ/LØ$)õ	+äœ	 2 $¨¨Ó,¬b¯jªj¼À2ÀqÓ9IÓ.JØ$)÷	+rc   r*  N)r,  r-  r.  r/  r  rî  r  r  r  r[  r^  r0  rd  ri  r2  r3  r4  s   @r`   rB  rB  
  s^   ø‡ € ò!òòòòò
òDñ �fÐ%:Ô;ñó <ðñ& ˜dÔ#ñ+ó $ö+rc   rB  c                   ó  a € ] tR tRt o ]! ]P                  4      R 4       t]! RR7      ]! ]P                  4      R 4       4       t
]! RR7      ]! ]P                  4      R 4       4       t]! ]P                  4      R 4       tRtV tR	# )
ÚTestCorrelate2di“
  c           	     óì  € \         P                  ! ^4      p\         P                  ! . RO4      pR F¿  pVP                  V4      VP                  V4      re\         P                  ! W#VR7      p\        \        P                  ! WVVR7      VP                  V4      4       VR8X  g   Kv  \         P                  ! W2VR7      p\        \        P                  ! WeVR7      VP                  V4      4       KÁ  	  R# ©rM   r²   rf   Nr¤  r¥  )r   rŒ   rÍ  rY   r   r;   r   )r[   r\   r]   r^   rg   Úa_xpÚb_xpÚnp_corr_results   &&      r`   Ú test_consistency_correlate_funcsÚ0TestCorrelate2d.test_consistency_correlate_funcs•
  s°   € ô �IŠI�a‹LˆÜ�HŠH’]Ó#ˆÛ-ˆDØŸ™ A›¨¯
©
°1«�$ÜŸ\š\¨!°TÔ:ˆNÜ¤× 0Ò 0°À$Ô GØ "§
¡
¨>Ó :ô<ð �wŽÜ!#§¢¨a¸Ô!>�Ü#¤F×$4Ò$4°TÀdÔ$KØ$&§J¡J¨~Ó$>ö@ó .rc   Tr$  c                óÂ  € \         P                  ! ^4      p\         P                  ! . RO4      pR Fª  p\        \         P                  ! \
        P                  ! V.V.VR7      4      \
        P                  ! W#VR7      4       VR8X  g   K[  \        \         P                  ! \
        P                  ! V.V.VR7      4      \
        P                  ! W2VR7      4       K¬  	  R# rn  )r   rŒ   rÍ  r;   r§  r   r   r   )r[   r\   r]   r^   rg   s   &&   r`   Ú"test_consistency_correlate_funcs_2Ú2TestCorrelate2d.test_consistency_correlate_funcs_2¦
  s®   € ô �IŠI�a‹LˆÜ�HŠH’]Ó#ˆÛ-ˆDÜ¤§
¢
¬6×+=Ò+=¸q¸cÀAÀ3ØCGô,Ió !Jä &× 0Ò 0°¸DÔ AôCð
 �wŽÜ#¤B§J¢J¬v×/AÒ/AÀ1À#ÈÀsØGKô0Mó %Nä$*×$4Ò$4°QÀÔ$EöGó .rc   c                ó2  € \         P                  ! ^^4      P                  R4      p\         P                  ! R^ 4      P                  R4      p\        \        \
        P                  .W#3O5/ RR/B  \        \        \
        P                  .W23O5/ RR/B  R# rá   )r   rŒ   r‹   rÅ   rÆ   r   r   rÇ   s   &&  r`   rå   Ú#TestCorrelate2d.test_invalid_shapes¸
  s{   € ô �IŠI�a˜‹O×#Ñ# FÓ+ˆÜ�IŠI�b˜!Ó×$Ñ$ VÓ,ˆä”j¤&×"4Ñ"4ÐS¸°vÒSÀ&È'ÐARÒSÜ”j¤&×"4Ñ"4ÐS¸°vÒSÀ&È'ÐARÔSrc   c                ó
  € \        \        P                  ! VP                  ^..4      VP                  R..4      4      VP                  R.4      RRR7       \        \        P                  ! VP                  R..4      VP                  R..4      4      VP                  R.4      RRR7       \        \        P                  ! VP                  R..4      VP                  ^..4      4      VP                  R.4      RRR7       R# )	rP   rs   F)rg  r  rh  y              (@Nù       €       Ày      @        )r5   r   r   rY   r'  s   &&r`   Útest_complex_inputÚ"TestCorrelate2d.test_complex_inputÆ
  sÎ   € äœ×*Ò*¨2¯:©:¸°s°eÓ+<¸b¿j¹jÈ2È$ÈÓ>PÓQØŸ
™
 C 5Ó)°uÈ%õ	Qäœ×*Ò*¨2¯:©:¸°t°fÓ+=¸r¿z¹zÈBÈ4È&Ó?QÓRØŸ
™
 D 6Ó*¸È5õ	Räœ×*Ò*¨2¯:©:¸°t°fÓ+=¸r¿z¹zÈAÈ3È%Ó?PÓQØŸ
™
 C 5Ó)°uÈ%÷	Qrc   r*  N)r,  r-  r.  r/  r@   r   r   rr  r0  r   ru  rå   r{  r2  r3  r4  s   @r`   rl  rl  “
  s¡   ø‡ € á�v×'Ñ'Ó(ñ@ó )ð@ñ  ˜dÔ#Ù�v×)Ñ)Ó*ñGó +ó $ðGñ  ˜dÔ#Ù�v×)Ñ)Ó*ñ
Tó +ó $ð
Tñ �v×)Ñ)Ó*ñQó +öQrc   rl  c                   ó”   a € ] tR tRt o ]! RRR7      R 4       tR tR t]P                  P                  RR	R
.4      R 4       tRtV tR# )ÚTestLFilterZIiÐ
  Tzlist inputs are numpy specificr}   c                ób   € VP                  R R.4      p\        . RO. RO4      p\        W24       R# )rÕ  Nr  ©rå  rl  r|  ©rå  r  rj  ©rY   r   r:   )r[   r\   Úzi_expectedr.  s   &&  r`   Útest_array_likeÚTestLFilterZI.test_array_likeÓ
  s)   € à—j‘j # t Ó-ˆÜšÒ)9Ó:ˆÜ! "Ö2rc   c                ó¤   € VP                  . RO4      pVP                  . RO4      pVP                  RR.4      p\        W24      p\        WT4       R# )rå  rÕ  Nr  r�  r€  r‚  )r[   r\   r]   r^   rƒ  r.  s   &&    r`   ra   ÚTestLFilterZI.test_basicÙ
  sC   € Ø�J‰JÒ'Ó(ˆØ�J‰J’Ó'ˆØ—j‘j # t Ó-ˆÜ˜ÓˆÜ! "Ö2rc   c                ó¶   € VP                  . RO4      pVP                  . RO4      p\        W#4      p\        ^V,          ^V,          4      p\        WTRR7       R# )r|  rm  r8  N)r|  r­   rM   )rå  rP   r­   )rY   r   r4   )r[   r\   r^   r]   rt  Úzi2s   &&    r`   Útest_scale_invarianceÚ#TestLFilterZI.test_scale_invarianceà
  sH   € ð �J‰J’{Ó#ˆØ�J‰J’{Ó#ˆÜ˜ÓˆÜ˜˜1�˜a �cÓ"ˆÜ˜ u×-rc   r°   rý   rþ   c                ó¸   € \        W!4      pVP                  ^VR7      pVP                  ^.VR7      p\        P                  ! W44      P
                  V8X  g   Q hR# ©r­   r¯   N)rÃ  r·  rY   r   r   r°   )r[   r°   r\   r^   r]   s   &&&  r`   rÆ  ÚTestLFilterZI.test_typesé
  sQ   € ä˜Ó"ˆØ�H‰H�a ˆHÓ&ˆØ�J‰J˜�s %ˆJÓ(ˆÜ× Ò  Ó&×,Ñ,°Ô5Ð5Ò5rc   r*  N)r,  r-  r.  r/  r0  r„  ra   rŠ  rÃ  rÄ  rÅ  rÆ  r2  r3  r4  s   @r`   r~  r~  Ð
  sV   ø‡ € ñ ˜dÐ+KÔLñ3ó Mð3ò
3ò.ð ‡[�[×Ñ˜W y°)Ð&<Ó=ñ6ó >ö6rc   r~  c                   óî   a € ] tR tRt o RtRR lt]! RRR7      R 4       t]! RRR7      R	 4       t]! RRR7      R
 4       t	]! RRR7      R 4       t
]! RRR7      R 4       t]! RRR7      R 4       tRtV tR# )ÚTestFiltFiltiñ
  ÚtfNc	           
     ó  € V P                   R 8X  d;   \        V!  w  ršVP                  V	4      VP                  V
4      r©\        WšW#WEWg4      # V P                   R8X  d(   \	        V!  pVP                  V4      p\        W²W4V4      # R# )r‘  ÚsosN)Úfiltfilt_kindr   rY   r   r   r&   )r[   Úzpkrt   r£  r(  Úpadlenr†   Úirlenr\   r^   r]   r“  s   &&&&&&&&&   r`   r   ÚTestFiltFilt.filtfiltõ
  s{   € à×Ñ Ô%Ü˜3‘<‰DˆAØ—:‘:˜a“= "§*¡*¨Q£-ˆqÜ˜A !¨7¸FÓJÐJØ×Ñ 5Ô(Ü˜3‘-ˆCØ—*‘*˜S“/ˆCÜ˜s t°fÓ=Ð=ñ )rc   r«   únegative stridesrH   c                ó’  € \        V4      '       d)   V P                  R 8X  d   \        P                  ! RR7       \	        VP                  . R	O4      VP                  . R	O4      4      pV P                  W!P                  ^4      VR7      p\        V4      '       d   RMRp\        W1P                  ^VP                  R7      VR7       R# )
r“  úsosfilt works in-placerH   r   g•Ö&è.1>g6Â‹{ðÍ=r¯   rˆ   Nræ  )r8   r”  rÃ  rÂ  r(   rY   r   rŒ   r9   r4   rþ   )r[   r\   r•  rÕ   r‰   s   &&   r`   ra   ÚTestFiltFilt.test_basic   s‡   € ä�"�:Š:˜$×,Ñ,°Ô5Ü�KŠKÐ7Õ8ä�R—Z‘Z¢
Ó+¨R¯Z©Zº
Ó-CÓDˆØ�m‰m˜C§¡¨2£°2ˆmÓ6ˆÜ˜b—k’k‰d xˆÜ˜ŸY™Y r°·±˜YÓ<À4×Hrc   c                ó¼  € \        V4      '       d)   V P                  R 8X  d   \        P                  ! RR7       RpVP	                  ^ RV^,           4      pVP                  ^
\        P                  ,          V,          4      pVP                  R\        P                  ,          V,          4      pWE,           p\        ^VP                  R4      RR7      p\        P                  ! V^,          4      P                  4       pRp	\        \        P                  ! \        P                  ! V	4      \        P                  ! V4      ,          4      4      p
V P                  WvW¡R	7      p\        P                  ! W´,
          4      P                  4       pVR
8  g   Q hVP                  \        P                   ! WDV,           .4      4      pV P                  W}V
^VR7      pVP"                  VP"                  8X  g   Q h\        P                  ! Wä,
          4      P                  4       pVR
8  g   Q hV P                  W}P$                  V
^ VR7      p\'        WïP$                  4       R# )r“  r›  rH   éÐ  rå  ç      À?r•  r…  rô   )r–  r\   rñ   ©r–  r£  r\   Niô  )r8   r”  rÃ  rÂ  r@  rD  r   rx  r   rY   rf  ry  rÑ  ÚceilÚlogr   Úvstackr³  rÞ  r5   )r[   r\   r~  r  ÚxlowÚxhighrt   r•  ÚrÚepsr  ru   ÚerrÚx2dÚy2dÚy2dts   &&              r`   Ú	test_sineÚTestFiltFilt.test_sine
  s¯  € ä�"�:Š:˜$×,Ñ,°Ô5Ü�KŠKÐ7Õ8àˆØ�K‰K˜˜3  q¥Ó)ˆà�v‰v�eœbŸe™e•m aÕ'Ó(ˆØ—‘�w¤§¡•¨Õ*Ó+ˆØ�Lˆä�Q˜Ÿ
™
 5Ó)°%Ô8ˆä�FŠF�3�q•6‹N×ÑÓ ˆØˆô ”—’œŸš˜s›¤b§f¢f¨Q£iÕ/Ó0Ó1ˆð �M‰M˜#¨ˆMÓ2ˆä�fŠf�Q•XÓ×"Ñ"Ó$ˆØ�TŒzÐˆzð �j‰jœŸš D°­,Ð#7Ó8Ó9ˆØ�m‰m˜C¨Q°Q¸2ˆmÓ>ˆØ�y‰y˜CŸI™IÔ%Ð%Ð%Ü�fŠf�S•ZÓ ×$Ñ$Ó&ˆØ�TŒzÐˆzð �}‰}˜S§%¡%°¸¸bˆ}ÓAˆÜ˜ŸV™VÖ$rc   c           
     óô  € \        V4      '       d)   V P                  R 8X  d   \        P                  ! RR7       \        P
                  ! R4      P                  ^
^^4      pVP                  V4      p\        ^VP                  R4      RR7      pV P                  W2^ ^ VR7      pV P                  W1P                  \        P                  ! V^ ^4      4      ^ ^VR7      p\        WAP                  \        P                  ! V^ ^4      4      4       V P                  W1P                  \        P                  ! V^ ^4      4      ^ ^VR7      p\        WAP                  \        P                  ! V^ ^4      4      4       R# )	r“  r›  rH   rŸ  r•  r…  r   Ng      ”@)r8   r”  rÃ  rÂ  r   rŒ   r‹   rY   r   r   rG  r5   )r[   r\   rt   r•  r›  rœ  rÚ  s   &&     r`   Ú	test_axisÚTestFiltFilt.test_axis0  s#  € ä�"�:Š:˜$×,Ñ,°Ô5Ü�KŠKÐ7Õ8ô �IŠIÐ(Ó)×1Ñ1°"°b¸"Ó=ˆØ�J‰J�q‹MˆÜ�Q˜Ÿ
™
 5Ó)°%Ô8ˆØ�]‰]˜3¨!°!¸ˆ]Ó;ˆØ�]‰]Ø—‘œBŸKšK¨¨1¨aÓ0Ó1¸!À!Èð ó 
ˆô 	˜ŸJ™J¤r§{¢{°2°q¸!Ó'<Ó=Ô>Ø�]‰]Ø—‘œBŸKšK¨¨1¨aÓ0Ó1¸!À!Èð ó 
ˆô 	˜ŸJ™J¤r§{¢{°2°q¸!Ó'<Ó=Ö>rc   Tz-python scalars in array_namespace are np-onlyr}   c           	     ó  € V P                   R 8w  d   R# \        P                  ! VP                  RR.4      ^VP	                  ^
VP
                  R7      4      p\        W!P	                  ^
VP
                  R7      RRR7       R# )r‘  Nrj  r¯   r‡   rC  )r”  r   r   rY   rŒ   rþ   r4   )r[   r\   rÕ   s   && r`   Útest_acoeffÚTestFiltFilt.test_acoeffC  sg   € ð ×Ñ Ô%Ùä�oŠoØ�J‰J˜˜B�xÓ  ! R§Y¡Y¨r¸¿¹ YÓ%Dó
ˆô 	˜ŸY™Y r°·±˜YÓ<À5Èu×Urc   z_filtfilt_gust is np-onlyc           
     ó  € V P                   R 8w  d   \        P                  ! R4       VP                  RR.4      pVP                  R.4      pVP                  RR
.4      p\	        W4V4      w  rVp\        V^ ,          RV^ ,          ,          RV^,          ,          ,           4       \        V^ ,          RV^ ,          ,          RV^,          ,          ,           4       \        VVP                  V^ ,          RV^ ,          ,          ,           RV^ ,          ,          ,           RV^,          ,          ,           RV^ ,          ,          V^ ,          ,           RV^ ,          ,          ,           RV^,          ,          ,           .4      4       R	# )r‘  ú$gust only implemented for TF systemsrå  r|  rj  rk  rQ  ç      Ð?rŸ  Nr!  )r”  rÃ  rÂ  rY   r/   r4   )r[   r\   rt   r^   r]   ru   Úz1Úz2s   &&      r`   Útest_gust_simpleÚTestFiltFilt.test_gust_simpleN  s!  € à×Ñ Ô%Ü�KŠKÐ>Ô?ð �J‰J˜˜S�zÓ"ˆØ�J‰J˜�uÓˆØ�J‰J˜˜T�{Ó#ˆÜ" 1¨Ó+‰	ˆˆrÜ˜˜1�˜s 1 Q¥4�x¨#¨a°­d­(Õ2Ô3Ü˜˜1�˜s 1 Q¥4�x¨#¨a°­d­(Õ2Ô3Ü˜ØŸ
™
 B q¥E¨D°°Aµ­JÕ$6¸¸aÀ½d½Õ$BÀUÈ1ÈQÍ4ÅZÕ$OØ$(¨¨A­¥J°°AµÕ$6¸¸qÀ½t½Õ$CÀdÈ1ÈQÍ4ÅiÕ$Oð$Qó Rö	
rc   c                óÜ   € V P                   R 8w  d   \        P                  ! R4       VP                  ^4      pRpRp\	        W4VRR7      pW4,          ^,          V,          p\        WV4       R# )r‘  rµ  r€  r|  Úgustr…   N)r”  rÃ  rÂ  rŒ   r   r4   )r[   r\   rt   r^   r]   ru   rÔ   s   &&     r`   Útest_gust_scalarsÚTestFiltFilt.test_gust_scalars_  s]   € ð ×Ñ Ô%Ü�KŠKÐ>Ô?ð �I‰I�b‹MˆØˆØˆÜ�Q˜1 VÔ,ˆØ•C˜!•8˜a•<ˆÜ˜Ö$rc   r*  )r´   ÚoddNr“  NN)r,  r-  r.  r/  r”  r   r0  ra   r¬  r¯  r²  r¹  r½  r2  r3  r4  s   @r`   r�  r�  ñ
  sÅ   ø‡ € à€Mô	>ñ �gÐ&8Ô9ñIó :ðIñ �gÐ&8Ô9ñ#%ó :ð#%ñJ �gÐ&8Ô9ñ?ó :ð?ñ$ ˜dØLôNñVóNðVñ ˜dÐ+FÔGñ
ó Hð
ñ  ˜dØLôNñ%óNö%rc   r�  c                   ó^   a € ] tR tRt o Rt]! RRR7      ]! RRR7      R 4       4       tR	tV tR
# )ÚTestSOSFiltFiltio  r“  rF   r›  rH   r«   r™  c                óŠ  € \         P                  P                  ^ 4      P                  R4      pVP	                  V4      p\        ^^4       Fs  p\        P                  ! VRRR7      p\        V!  w  rV\        V!  p\        VP                  WVV34      w  rVp\        WVV4      p\        Wr4      p	\        W‰RRV 2R7       Ku  	  R# )	z1Test equivalence between sosfiltfilt and filtfiltr°  çffffffÖ?r•  r…  rm  zorder=)r‰   Úerr_msgN)r   r  r  r  rY   r�   r   r   r   r   r¼  r   r&   r4   )
r[   r\   rt   r  r•  r^   r]   r“  ru   Úy_soss
   &&        r`   Útest_equivalenceÚ TestSOSFiltFilt.test_equivalences  s§   € ô �I‰I×!Ñ! !Ó$×*Ñ*¨4Ó0ˆØ�J‰J�q‹MˆÜ˜1˜a–[ˆEÜ—-’-  t°EÔ:ˆCÜ˜3‘<‰DˆAÜ˜3‘-ˆCä˜BŸJ™J¨¨s¨Ó4‰IˆA�#Ü˜˜qÓ!ˆAÜ Ó'ˆEÜ˜A¨5¸FÀ5À'Ð:J×Kó !rc   r*  N)	r,  r-  r.  r/  r”  r0  rÆ  r2  r3  r4  s   @r`   rÁ  rÁ  o  s7   ø‡ € à€Má�kÐ*BÔCÙ�gÐ&8Ô9ñLó :ó DöLrc   rÁ  c                óì  € R p\        \        V4      \        V 4      4      ^,
          p\        W4      p\        P                  ! VRV P                  4       V,          W$) R P                  4       V,          34      p\        W6WV3RRRRRRR7	      pVw  r‰r«pV^ 8”  d   \        R	V 24      hVRV pW„R p\        WVRRR1,          VR
7      ^ ,          RRR1,          p\        WWýR
7      ^ ,          pVWÞ3# )a9  
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                óœ  € \        \        V4      \        V4      4      ^,
          pV RV pWR p\        WW5R7      ^ ,          p\        WVRRR1,          VR7      ^ ,          RRR1,          p\        WVRRR1,          VR7      ^ ,          RRR1,          p	\        WW•R7      ^ ,          p
\        P                  ! WŠ,
          ^,          4      pV# )z-Objective function used in filtfilt_gust_opt.Nr-  r´   )ry  r   r   r   Úsum)Úicsr^   r]   rt   ÚmÚz0fÚz0brÇ  Úy_fbÚy_bÚy_bfÚvalues   &&&&        r`   Úfiltfilt_gust_opt_funcÚ1filtfilt_gust_opt.<locals>.filtfilt_gust_opt_func�  s³   € ä”�A“œ˜A›Ó !Õ#ˆØ�"�1ˆgˆØ�"ˆgˆÜ�a˜AÔ& qÕ)ˆÜ�q˜S¡ 2 �Y¨3Ô/°Õ2±4°R°4Õ8ˆä�a˜A™d ˜d�G¨Ô,¨QÕ/±°"°Õ5ˆÜ�q˜SÔ)¨!Õ,ˆÜ—’˜� aÕ'Ó(ˆØˆrc   Nr7  rm  rK  TF)r  ÚxtolÚftolÚmaxfunÚmaxiterÚfull_outputÚdispz3minimization failed in filtfilt_gust_opt: warnflag=r-  r´   )	ry  r   r   r   r4  r)  r   ra  r   )r^   r]   rt   rÓ  rÌ  r.  rË  r†  ÚoptÚfoptÚniterÚfuncallsÚwarnflagrÍ  rÎ  rÐ  ru   s   &&&              r`   Úfiltfilt_gust_optrà  „  s  € òô 	ŒC�‹F”C˜“FÓ˜aÕ€AÜ	�AÓ	€BÜ
�.Š.˜!˜B˜Q˜%Ÿ*™*›, r�/¨1¨R¨S¨6¯;©;«=¸Õ+;Ð<Ó
=€CÜÐ(°Q¸1°IØ 5Ø¨Ø"¨ô0€Fð ,2Ñ(€Cˆu Ø�!„|ÜØAÀ(ÀÐLó
ð 	
ð ˆbˆqˆ'€CØ
ˆbˆ'€Cô �!˜™$˜B˜$� CÔ
(¨Õ
+©D¨b¨DÕ
1€CÜ��cÔ" 1Õ%€Aàˆcˆ;Ðrc   c           	      óz  € \         P                  P                  ^{4      pVP                  V4      p\	        WWcRVR7      p\        WWcVR7      w  r‰p
\         P                  ! WcR4      pVP                  RR p\         P                  ! V4      p\        \        V4      \        V 4      4      ^,
          p\         P                  ! WÎ3,           4      p\         P                  ! WÎ3,           4      p\        V Uu. uF  p\        V4      NK  	  up!   F#  p\        WVV,          4      w  VV&   VV&   VV&   K%  	  \         P                  ! VRV4      p\         P                  ! VRV4      p\         P                  ! VRV4      p\        W}RRR7       \        W�RRR7       \        WŸRRR7       \        V
VRRR7       R# u upi )	rB  r¼  )r£  r†   r—  )r£  r—  Nrõ   r>  rC  r´   )r   r  r9  rR  r   r/   rG  r³  Ú
empty_likery  r   r  r   r�   rà  r4   )r^   r]   r³  r£  r—  r  rt   ru   ÚygÚzg1Úzg2ÚxxÚ	out_shaper&  rÌ  Úzo1Úzo2r¨   Úindxs   &&&&&              r`   Úcheck_filtfilt_gustrë  ±  sl  € ä
�)‰)×
Ñ
 Ó
$€CØ×Ñ˜EÓ"€Aô 	��q¨F¸%Ô@€Aô " !¨¸EÔB�L€BˆSô
 
�Š�Q˜bÓ	!€BØ—‘˜˜"�€IÜ	�Š�rÓ	€BÜŒC�‹F”C˜“FÓ˜aÕ€AÜ
�(Š(�9˜tÕ#Ó
$€CÜ
�(Š(�9˜tÕ#Ó
$€CÜ©IÓ6©I qœ% ž(©IÑ6Ô7ˆÜ):¸1ÀÀDÅÓ)JÑ&ˆˆ4‰�#�d‘)˜S ›Yñ 8ä	�Š�R˜˜TÓ	"€BÜ
�+Š+�c˜2˜tÓ
$€CÜ
�+Š+�c˜2˜tÓ
$€Cä�A ¨4Õ0Ü�B ¨DÕ1Ü�C 4¨dÕ3Ü�C˜ 4¨d×3ùò 7s   Ã5F8c           	      ó  € R EFy  pR	 FÆ  p^^RrTp\         P                  P                  ! V3V,          !  p\         P                  P                  ! V3V,          !  p\        WgVR7      pW…8X  g   Q h\        WgVRR7      w  ršV	R
9   g   Q h\	        V
\
        4      '       g   Q hRV
P                  4       9   d   RV
P                  4       9   d   KÆ  Q h	  ^
pR FV  p\        \         V4      '       g   K  \         P                  ! W;R7      pVP                  4       p\        WgVR7      R8X  d   KV  Q h	  \         P                  ! R.\         P                  R7      pVP                  4       p\        WgVR7      R8X  d   EKz  Q h	  R# )r²   r„   rf   T)rg   Úmeasurer
   r¯   N©r²   re   r±   )rP   rQ   >   r
   r„   ©Ú
complex256Ú
complex192l         @ )r   r  r  r   rÒ  ÚdictÚkeysrå  rƒ  r[  rÍ  rù   )r\   rg   ra  r  rZ  Útrue_methodrt   rF  r†   Ú
method_tryÚtimesÚnot_fft_conv_supps   &           r`   Útest_choose_conv_methodrø  Ñ  sE  € ô *ˆÛˆDØ ! 1 h�+ˆAÜ—	‘	—’ 1 $¨¥+Ñ/ˆAÜ—	‘	—’ 1 $¨¥+Ñ/ˆAä'¨°4Ô8ˆFØÔ(Ð(Ð(ä 2°1¸dÈDÔ QÑˆJØÐ!2Ô2Ð2Ð2Ü˜e¤T×*Ò*Ð*Ð*Ø˜EŸJ™J›LÔ(¨X¸¿¹»Ö-EÐEÐEñ ð ˆÛ!=ÐÜ”rÐ,×-Ô-Ü—G’G˜AÔ7�Ø—F‘F“H�Ü)¨!°TÔ:¸hÖFÐFÐFñ	 ">ô �HŠH�e�W¤B§H¡HÔ-ˆØ�F‰F‹HˆÜ! !¨TÔ2°h×>Ð>Ð>ó/ *rc   c                 óÔ   € R Fa  p^
pR FV  p\        \        V4      '       g   K  \        P                  ! W#R7      pVP                  4       p\	        WEVR7      R8X  d   KV  Q h	  Kc  	  R# )r²   r¯   rf   r„   Nrî  rï  )rå  r   rƒ  r[  r   )r\   rg   r  r÷  rt   rF  s   &     r`   Útest_choose_conv_method_2rú  î  sX   € ã)ˆØˆÛ!=ÐÜ”rÐ,×-Ô-Ü—G’G˜AÔ7�Ø—F‘F“H�Ü)¨!°TÔ:¸hÖFÐFÐFó	 ">ó *rc   c           	      ó$  € \         P                  ! ^R^xRRR7      w  rpRp\        P                  ! \        P                  ! V4      4      p\        \        P                  ! \        P                  ! V4      \        P                  ! V4      ,          4      4      p\        WV4      w  rxRV3 FB  p	^V,          p
\        WxV
3^ V	4       \        ^4       F  p. ROpW¬V&   \        WxWËV	4       K  	  KD  	  ^V,          ^2,
          p\        WxV3^ V4       R# )rK   ç{®Gáz„?gffffff¶?r•  r…  r7  Nr³   )r   Úellipr   ry  rf  rÑ  r¡  r¢  r   rë  r�   )r\   rv   ÚprZ  r§  r¦  Úapprox_impulse_lenr^   r]   r—  Ú
signal_lenr£  r³  Úlengths   &             r`   Útest_filtfilt_gustr  ù  sé   € ô �lŠl˜1˜d C¨¸Ô>�G€Aˆ!ð €CÜ
�ŠŒr�vŠv�a‹yÓ€AÜœRŸWšW¤R§V¢V¨C£[´2·6²6¸!³9Õ%<Ó=Ó>Ðä�!˜‹?�D€AØÐ*Ó+ˆØÐ+Õ+ˆ
ô 	˜A : -°°EÔ:ô ˜!–HˆDÚˆEØ$�$‰KÜ  e°5Ö9ó ñ ,ð Ð!Õ! BÕ&€FÜ˜˜v˜i¨Ð,>Ö?rc   c                   ó  a € ] tR tRt o R tR tR tR t]! RRR7      R	 4       t	]! RRR7      R
 4       t
]! RRR7      R 4       t]! RRR7      R 4       tR tR tR tR t]! RRR7      R 4       t]! RRR7      R 4       tRtV tR# )ÚTestDecimatei  c                ó°   € VP                  ^4      p\        \        \        P                  VR^R7       \        \        \        P                  V^RR7       R# )rW   rj  )Úqr  N)rŒ   rÅ   rÑ  r   Údecimate©r[   r\   rt   s   && r`   Útest_bad_argsÚTestDecimate.test_bad_args  s7   € Ø�I‰I�b‹MˆÜ”i¤§¡°!°s¸aÕ@Ü”i¤§¡°!°q¸C×@rc   c                óÄ   € VP                  ^4      p\        P                  ! V^^RRR7      P                  4       p\	        W2R,          P                  \        4      4       R# )rW   ÚiirF©r  ÚftypeÚ
zero_phaser²  N©rŒ   r   r  Úroundr5   r  r’  ©r[   r\   rt   ru   s   &&  r`   Útest_basic_IIRÚTestDecimate.test_basic_IIR  óC   € Ø�I‰I�b‹MˆÜ�OŠO˜A˜q A¨U¸uÔE×KÑKÓMˆÜ˜˜S�6Ÿ=™=¬Ó/Ö0rc   c                óÄ   € VP                  ^4      p\        P                  ! V^^RRR7      P                  4       p\	        W2R,          P                  \        4      4       R# )rW   ÚfirFr  r²  Nr  r  s   &&  r`   Útest_basic_FIRÚTestDecimate.test_basic_FIR$  r  rc   c                óÜ   € VP                  R4      p\        P                  ! V^^ RR7      pVP                  R8X  g   Q h\        P                  ! V^^RR7      pVP                  R8X  g   Q hR# )r¡   F)r£  r  N)r¡   r¡   )r  r¡   )r¡   r  )r·  r   r  r³  )r[   r\   rv   Úd0Úd1s   &&   r`   Ú
test_shapeÚTestDecimate.test_shape)  s\   € à�H‰H�XÓˆÜ�_Š_˜Q ¨°eÔ<ˆØ�x‰x˜8Ô#Ð#Ð#Ü�_Š_˜Q ¨°eÔ<ˆØ�x‰x˜8Ô#Ð#Ò#rc   Tztest code is NumPy specificr}   c                óØ   € \         P                  ! 4       ;_uu_ 4        \         P                  ! R R\        4       V P	                  RRR7       RRR4       R#   + '       g   i     R# ; i)rZ  úBadly conditioned filterr  F©r†   r  N©r_  r`  ra  r)   Ú_test_phaseshiftr'  s   &&r`   Útest_phaseshift_FIRÚ TestDecimate.test_phaseshift_FIR1  sJ   € ä×$Ò$×&Õ&Ü×#Ò#ØÐ4´oôGà×!Ñ!¨¸5Ð!ÔA÷ '×&×&Ò&úó   ž0AÁA)	c                óØ   € \         P                  ! 4       ;_uu_ 4        \         P                  ! R R\        4       V P	                  RRR7       RRR4       R#   + '       g   i     R# ; i)rZ  r   r  Tr!  Nr"  r'  s   &&r`   Útest_zero_phase_FIRÚ TestDecimate.test_zero_phase_FIR8  sJ   € ä×$Ò$×&Õ&Ü×#Ò#ØÐ4´oôGà×!Ñ!¨¸4Ð!Ô@÷ '×&×&Ò&úr&  c                ó,   € V P                  R RR7       R# )r  Fr!  N©r#  r'  s   &&r`   Útest_phaseshift_IIRÚ TestDecimate.test_phaseshift_IIR?  s   € à×Ñ U°uÐÖ=rc   c                ó,   € V P                  R RR7       R# )r  Tr!  Nr+  r'  s   &&r`   Útest_zero_phase_IIRÚ TestDecimate.test_zero_phase_IIRC  s   € à×Ñ U°tÐÖ<rc   c           	     óZ  € ^xp. ROp^dp\         P                  ! W5,          ^,           4      \        V4      ,          p\         P                  ! V4      R,          ^,          p\         P                  ! R\         P
                  ,          VR\         P                  3,          ,          V,          4      \        P                  P                  VP                  R4      ,          pV EFÅ  p	W9,          p
\         P                  ! W•,          ^,           4      \        V	4      ,          p\         P                  ! R\         P
                  ,          VR\         P                  3,          ,          V,          4      \        P                  P                  VP                  R4      ,          pVR8X  d@   ^p\        P                  ! \        P                  ! V^,           RV
,          RR7      R4      pMfVR8X  d`   ^pR\         P
                  ,          V
,          p\        P                  ! \        P                  ! VR	V\         P
                  ,          4      !  pVR
J dp   \        P                  ! XP                  VP                   Ws,          ^,          \         P
                  ,          4      w  ppV\         P"                  ! V4      ,          pM\         P$                  ! V4      p\        P&                  ! VP(                  V
XXVR7      p\         P*                  ! VP-                  4       V,          RR7      pV\         P"                  ! V4      ,          pVRV	,          8  p\         P.                  ! VP-                  4       V,          4      V,          p\1        V\         P2                  ! V4      RRR7       EKÈ  	  R# )éx   çš™™™™™é?r¦  çš™™™™™¹?r  rå  r¹  r!  r  gš™™™™™©?F©r  r  r¢  rj  ró   rº  N)r  r  r¡   rQ  rs   r´   )r   rŒ   r’  rÍ  rÝ  rx  rw  r   ÚwindowsÚtukeyrì   ÚdltirU  Úcheby1Úfreqzr5  Údenrf  r˜  r  rB  rÊ  rL  Úangler4   ró  )r[   r†   r  r~  r  Út_totr  r€  r¨   r�  r  r‚  Úd_tosr  ÚsystemÚwcÚ_Úh_respsr„  Ú	h_resampsÚsubnyqr†  s   &&&                   r`   r#  ÚTestDecimate._test_phaseshiftG  s|  € àˆÚ#ˆàˆÜ�IŠI�d•j •lÓ#¤e¨D£kÕ1ˆô —’˜Ó" SÕ(¨1Õ,ˆÜ�VŠV�FœRŸU™U•N U¨1¬b¯j©j¨=Õ%9Õ9¸AÕ=Ó>Ü�~‰~×#Ñ# A§F¡F¨CÓ0õ1ˆô  ˆGØ•ˆAÜ—9’9˜W�]¨1�_Ó-´°g³Õ>ˆDÜ—V’V˜F¤R§U¡U�N¨U°1´b·j±j°=Õ-AÕAÀDÕHÓIÜ—~‘~×+Ñ+¨D¯I©I°sÓ;õ<ˆEð ˜ŒØ�ÜŸš¤V§]¢]°1°qµ5¸"¸q½&Ø:Cô&EØFHóJ‘à˜5”Ø�ØœŸ™•Y˜q•[�ÜŸš¤f§m¢m°A°t¸RÄÇÁ½XÓ&FÑG�ð ˜UÓ"Ü#Ÿ\š\¨&¯*©*°f·j±jØ*/­*°Q­,´r·u±uÕ*<ó>‘
��7àœ2Ÿ6š6 '›?Õ*‘äŸ,š, uÓ-�äŸš¨¯©°°1¸FØ3=ô?ˆIô Ÿš˜uŸz™z›|¨iÕ7¸bÔAˆIØœŸš 	Ó*Õ*ˆIØ˜S �[Ñ(ˆFô —X’X˜gŸl™l›n¨YÕ6Ó7¸Õ?ˆFÜ˜F¤B§M¢M°&Ó$9Ø!%¨D÷2ð 2óE  rc   c                óü  € R pRpVP                  V4      V,          pVP                  VP                  RV,          4      VP                  ^VP                  ,          VR,          ,          V,          4      ,          4      p\        VP                  VP                  V4      4      VP                  R4      RRR7       \        P                  ! V^RR	7      pVP                  VP                  V4      4      R
8  g   Q hR# )g      Y@r°  r|  g      >@rå  ró   F)rð   Úcheck_0dr  )r  rü  N)	rŒ   rY   ÚsqrtrD  rx  r4   Údotr   r  )r[   r\   Úsfreqr  r  rt   Úx_outs   &&     r`   Útest_auto_nÚTestDecimate.test_auto_ny  s¹   € ð ˆØˆØ�I‰I�a‹L˜5Õ ˆà�J‰J�r—w‘w˜r A�v“¨¯©°°B·E±Eµ	¸UÀS½[Õ0IÈAÕ0MÓ)NÕNÓOˆô 	˜Ÿ™ §¡ a£Ó)¨2¯:©:°b«>ÀÈuÕUÜ—’  2¨UÔ3ˆØ�w‰w�u—y‘y Ó'Ó(¨4Ô/Ð/Ò/rc   c                ó®   € \         P                  ! VP                  R VP                  R7      ^
4      p\	        VP                  V4      4      '       d   Q hR# )rK  r¯   N)r   r  rƒ  rý   r  Úisnanr  s   && r`   Útest_long_float32ÚTestDecimate.test_long_float32‡  sA   € ô �OŠO˜BŸG™G F°"·*±*˜GÓ=¸rÓBˆÜ�r—x‘x “{×#Ò#Ð#Ð#Ñ#rc   c                óÒ   € \         P                  ! \        P                  ! ^d\        P                  R7      ^
4      pVP
                  P                  \        P                  8X  g   Q hR# )r+  r¯   N)r   r  r   rƒ  ré   r°   r  rþ   )r[   rt   s   & r`   Útest_float16_upcastÚ TestDecimate.test_float16_upcast�  s;   € ä�OŠOœBŸGšG C¬r¯z©zÔ:¸BÓ?ˆØ�w‰w�|‰|œrŸz™zÔ)Ð)Ò)rc   r8  c                ó°  € ^2p^pRp\         P                  ! ^VP                  ^VP                  ,          V,          ^,          4      RVR7      w  rVpVP	                  \
        4      VP                  VP                  RVP                  ,          V,          V,          4      4      ,          pVP	                  \
        4      VP                  VP                  RVP                  ,          V,          V,          4      4      ,          p\         P                  ! WVV4      pVP                  ^È4      V,          p	VP                  RVP                  ,          V,          V	,          4      RVP                  RVP                  ,          V,          V	,          4      ,          ,           p
\         P                  ! V
^VRR7      p\         P                  ! . \         P                  ! WVV4      OV
N5!  R,          p\        W¼4       \         P                  ! V
^VR	R7      p\         P                  ! . \         P                  ! WVV4      OV
N5!  R,          p\        WÞR
RR7       R# )r  ç     @�@r•  )rõ  Úfsrs   rj  Fr5  r²  Tr7  ç‚vIhÂ%<=rC  Nrz  )r   r   rY   rx  r  rÒ  rÝ  r8  rŒ   r  r   r   r5   r   r4   )r[   r\   ÚfcentreÚfwidthrW  rv   rþ  rZ  r?  r  rî   ÚynzpÚynzprefÚyzpÚyzprefs   &&             r`   Útest_complex_iir_dltiÚ"TestDecimate.test_complex_iir_dlti’  sÄ  € ð ˆàˆàˆä—-’-  2§:¡:¨a°·±­g°f­n¸QÕ.>Ó#?Ø',°ô5‰ˆˆaà�H‰H”WÓ §¡ r§z¡z°"°r·u±uµ*¸wÕ2FÀrÕ2IÓ'JÓ KÕKˆØ�H‰H”WÓ §¡ r§z¡z°"°r·u±uµ*¸wÕ2FÀrÕ2IÓ'JÓ KÕKˆÜ—’˜Q 1Ó%ˆà�I‰I�c‹N˜RÕˆð �V‰V�B˜Ÿ™•J Õ(¨1Õ,Ó-Ø�R—V‘V˜C "§%¡%�K¨'Õ1°AÕ5Ó6Õ6õ7ˆô �Š˜q !¨6¸eÔDˆÜ—.’.ð $¤&§-¢-°°aÓ"8ð $Ø!"ó$Ø$'õ)ˆô 	˜Ô&ä�oŠo˜a ¨&¸TÔBˆÜ—’ð $¤&§-¢-°°aÓ"8ð $Ø!"ó$Ø$'õ)ˆô 	˜¨%°e×<rc   c                ó¶  € ^2p^pRp^p\         P                  ! WS^,          VR7      p\        P                  ! V4      pV\        P                  ! R\        P
                  ,          V,          V,          4      ,          pV^ ,          \        P                  ! V4      ,          p	\         P                  ! V	^4      p
\        P                  ! ^È4      V,          p\        P                  ! R\        P
                  ,          V,          V,          4      R\        P                  ! R\        P
                  ,          V,          V,          4      ,          ,           p\         P                  ! V^V
RR7      p\         P                  ! Wœ^^R7      R,          p\        WÞ4       \         P                  ! V^V
R	R7      p\         P                  ! V^^V	R
7      p\        VV4       R# )r  rV  )rW  rs   rj  Fr5  )r…  r†  :Nr+  NTr!  Nrz  )r   rU  r   ÚrootsrÝ  rx  Úpolyr8  rŒ   r  Úupfirdnr5   r2  )r[   r\   rY  rZ  rW  ÚnumtapsÚbbaseÚzbaseÚzrotÚbzr?  r  rî   r[  r\  r]  r^  s   &&               r`   Útest_complex_fir_dltiÚ"TestDecimate.test_complex_fir_dlti´  sM  € ð ˆàˆàˆØˆô —’˜g¨a¥x°BÔ7ˆô —’˜“ˆØ”r—v’v˜b¤2§5¡5�j¨7Õ2°2Õ5Ó6Õ6ˆà�1�XœŸš ›Õ%ˆä—’˜R Ó#ˆä�IŠI�c‹N˜RÕˆô �VŠV�BœŸ™•J Õ(¨1Õ,Ó-Ø”R—V’V˜C¤"§%¡%�K¨'Õ1°AÕ5Ó6Õ6õ7ˆô �Š˜q !¨6¸eÔDˆÜ—.’. ¨1°1Ô5°dÕ;ˆä˜Ô&ä�oŠo˜a ¨&¸TÔBˆÜ×%Ò% a¨¨A°bÔ9ˆä˜˜VÖ$rc   r*  N)r,  r-  r.  r/  r	  r  r  r  r0  r$  r(  r,  r/  r#  rL  rP  rS  r_  rj  r2  r3  r4  s   @r`   r  r    sÞ   ø‡ € òAò
1ò
1ò
$ñ ˜dÐ+HÔIñBó JðBñ ˜dÐ+HÔIñAó JðAñ ˜dÐ+HÔIñ>ó Jð>ñ ˜dÐ+HÔIñ=ó Jð=ò02òd0ò$ò*ñ
 ˜d¨6Ô2ñ=ó 3ð=ñB ˜d¨6Ô2ñ"%ó 3ö"%rc   r  c                   ó€   a € ] tR tRt o R tR tR tR t]P                  P                  RRR.4      R	 4       tR
tV tR# )ÚTestHilbertiÙ  c                ó¤   € VP                  R.4      p\        \        \        V4       VP	                  R4      p\        \        \        V^ R7       R# )rå  r.  ©rß  NrÒ   )rY   rÅ   rÆ   r   rŒ   r  s   && r`   r	  ÚTestHilbert.test_bad_argsÜ  s9   € Ø�J‰J˜
�|Ó$ˆÜ”j¤'¨1Ô-Ø�I‰I�c‹NˆÜ”j¤'¨1°×2rc   c           
     óž  € ^pVP                   pVP                  ^ ^V,          VR,          VP                  R7      pVP                  V4      pVP	                  V4      pVP                  ^V,          4      pVP	                  ^V,          4      pVP                  WVWx.4      p	\        V	4      p
VP                  V
4      pVP                  VP                  V
4      VP                  V
4      4      pVP                  V
4      p\        WÙV4       \        W±P                  V	P                  4      V4       \        VR,          VP                  V) ^,          V^,          VR,          VP                  R7      V4       \        VR,          VP                  ^ W3R,          VP                  R7      V4       \        VR,          VP                  V) ^,          V^,          V^€,          VP                  R7      V4       \        VR,          VP                  ^ W3^€,          VP                  R7      V4       \        VP                  V
R,          4      WR4       R# )	rû  r  r¯   N)r   ºNr  N)rP   rr  )rQ   ºNr  N)rK   rs  )rP   r¦  )rx  rŒ   rþ   rD  rA  rC  r   rf  Úatan2rI  rB  r;   rƒ  r³  )r[   r\   r  rx  r  rÆ  Úa1Úa2Úa3r]   rF  Úh_absÚh_angleÚh_reals   &&            r`   Útest_hilbert_theoreticalÚ$TestHilbert.test_hilbert_theoreticalâ  sÐ  € àˆà�U‰UˆØ�I‰I�a˜˜R�  c¥°·±ˆIÓ<ˆØ�V‰V�A‹YˆØ�V‰V�A‹YˆØ�V‰V�A˜•E‹]ˆØ�V‰V�A˜•E‹]ˆØ�H‰H�b˜bÐ%Ó&ˆä�A‹JˆØ—‘�q“	ˆà—(‘(˜2Ÿ7™7 1›: r§w¡w¨q£zÓ2ˆØ—‘˜“ˆô 	˜F wÔ/ä˜E§7¡7¨1¯7©7Ó#3°WÔ=ô 	˜G GÕ,ØŸI™I r c¨A¥g¨r°A­v°r¸CµxÀrÇzÁz˜IÓRØ#ô	%ô
 	Ø�GÕ˜bŸi™i¨¨2°C­x¸r¿z¹z˜iÓJÈGô	Uô 	˜G GÕ,ØŸI™I r c¨A¥g¨r°A­v°r¸CµxÀrÇzÁz˜IÓRØ#ô	%ô 	Ø�GÕ˜bŸi™i¨¨2°C­x¸r¿z¹z˜iÓJÈGô	Uô 	˜BŸG™G A d¥GÓ,¨bÖ:rc   c                ó*  € VP                  VP                  ^VP                  R7      R4      p\        VRR7      p\	        \        VP
                  ^ R7      VP
                  4       \        \        VR	,          4      VR	,          ^4       \        V^RR7      pVP                  R
8X  g   Q h\        VP
                  ^^ R7      P                  R8X  g   Q h\        P                  ! . RO4      pVP                  V4      p\        VR	,          V^RR7       R# )rÿ  r¯   r¢  )rß  r£  zN regression)rÄ  N)rK   rN   r´   )r   r¦  )rK   r  )r  rK   )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\é¿)r‹   rŒ   rþ   r   r5   rÞ  r;   r³  r   rÍ  rY   )r[   r\   r]   ÚaaÚaanÚa0hilbs   &&    r`   Útest_hilbert_axisNÚTestHilbert.test_hilbert_axisN  sÝ   € à�J‰J�r—y‘y ¨2¯:©:�yÓ6¸Ó?ˆä�Q˜RÔ ˆÜœ §¡¨!Ô,¨b¯d©dÔ3äœG A d¥GÓ,¨b°­h¸Ô;ô �a˜2 BÔ'ˆØ�y‰y˜GÔ#Ð#Ð#Ü�q—s‘s˜b qÔ)×/Ñ/°7Ô:Ð:Ð:ô —’ò Fó Gˆð( —‘˜FÓ#ˆÜ˜C �I v¨r¸>×Jrc   c                ó  € VP                  VP                  ^iVP                  R7      R4      p\        VRR7      pR F>  p\        VP	                  VRV4      VR7      pVP	                  WTR4      p\        W54       K@  	  R# )rK   r¯   r¢  N)rK   rM   rž   r´   rð  )r‹   rŒ   rþ   r   rF  r5   )r[   r\   r]   r~  r£  Úaaps   &&    r`   Útest_hilbert_axis_3dÚ TestHilbert.test_hilbert_axis_3d2  sj   € Ø�J‰J�r—y‘y °"·*±*�yÓ=¸yÓIˆä�Q˜RÔ ˆÛˆDÜ˜"Ÿ+™+ a¨¨TÓ2¸Ô>ˆCØ—+‘+˜c¨Ó,ˆCÜ˜BÖ$ó rc   r°   rý   rþ   c                ó˜   € \        W!4      pVP                  ^VR7      pVP                  \        V4      4      P                  V8X  g   Q hR# r�  )rÃ  r·  rB  r   r°   rÄ  s   &&& r`   Útest_hilbert_typesÚTestHilbert.test_hilbert_types;  s@   € ä˜Ó"ˆØ—8‘8˜A U�8Ó+ˆØ�w‰w”w˜xÓ(Ó)×/Ñ/°5Ô8Ð8Ò8rc   r*  N)r,  r-  r.  r/  r	  r{  r�  r…  rÃ  rÄ  rÅ  rˆ  r2  r3  r4  s   @r`   rm  rm  Ù  sF   ø‡ € ò3ò(;òT$KòL%ð ‡[�[×Ñ˜W y°)Ð&<Ó=ñ9ó >ö9rc   rm  c            	       ó°  a € ] tR tRt o Rt]! RRR7      R 4       tR t]! RR	R
7      R 4       t]	P                  P                  RRR.4      R 4       tR tR t]	P                  P                  R. RO4      ]! RRR
7      R 4       4       t]	P                  P                  R. RO4      R 4       t]	P                  P                  R^^.4      ]	P                  P                  R^^.4      ]	P                  P                  R^^	.4      ]	P                  P                  R. R O4      ]! RRR
7      R 4       4       4       4       4       t]! RRR
7      R 4       tRtV tR# )!ÚTestHilbert2iB  z!Test function `signal.hilbert2`. Túlist inputs are numpy-specificr}   c                ó(   € \        . RO. RO.4       R# )rP   NrO   r�   )r   r'  s   &&r`   r„  ÚTestHilbert2.test_array_likeF  s   € ä’)šYÐ'Ö(rc   c                óÐ  € VP                  VP                  ^4      R4      p\        P                  ! \        RR7      ;_uu_ 4        \        VP                  R..4      4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        VR	R7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        VR
R7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        VRR7       RRR4       R#   + '       g   i     LÀ; i  + '       g   i     L™; i  + '       g   i     Lr; i  + '       g   i     R# ; i)z$Raise all exceptions in `hilbert2`. z^x must be real.r[  Nz^N must be positive.ro  z#^When given as a tuple, N must holdr°  rÒ   r´   rb  rð  )r‹   rŒ   rÃ  r   rÆ   r   rY   r  s   && r`   r	  ÚTestHilbert2.test_bad_argsJ  sÒ   € à�J‰J�r—y‘y “} fÓ-ˆÜ�]Š]œ:Ð-?×@Ö@Ü�R—Z‘Z *  Ó/Ô0÷ Aä�]Š]œ:Ð-C×DÖDÜ�Q˜"Õ÷ Eä�]Š]œ:Ð-R×SÖSÜ�Q˜)Õ$÷ Tä�]Š]œ:Ð-R×SÖSÜ�Q˜&Õ!÷ TÑS÷ A×@úçD×DúçS×SúçS×SÐSús0   ÁDÂD.Ã	EÄEÄD+	Ä.D>	ÅE	ÅE%	r™   z,CuPy's hilbert2 does not have axes= argumentrH   c                ó~  € VP                  VP                  ^4      R4      p\        P                  ! \        RR7      ;_uu_ 4        \        VRR7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        VRR7       RRR4       R#   + '       g   i     LL; i  + '       g   i     R# ; i)	rŸ   z!^axes must be a tuple of length 2r[  rÍ  Nz"^axes must contain 2 distinct axesr°  rŸ  rï  )r‹   rŒ   rÃ  r   rÆ   r   r  s   && r`   Útest_bad_args2ÚTestHilbert2.test_bad_args2V  su   € à�J‰J�r—y‘y “} fÓ-ˆÜ�]Š]œ:Ð-P×QÖQÜ�Q˜YÕ'÷ Rä�]Š]œ:Ð-Q×RÖRÜ�Q˜VÕ$÷ SÑR÷ R×QúçR×RÐRús   ÁBÂ B+ÂB(	Â+B<	r°   rý   rþ   c                ó²   € \        W!4      pVP                  RVR7      pVP                  \        P                  ! V4      4      pVP
                  V8X  g   Q hR# )rQ   r¯   N)rQ   rU   )rÃ  r·  rB  r   r   r°   )r[   r°   r\   rÅ  rÕ   s   &&&  r`   Útest_hilbert2_typesÚ TestHilbert2.test_hilbert2_types^  sG   € ä˜Ó"ˆØ—8‘8˜G¨5�8Ó1ˆØ�g‰g”f—o’o hÓ/Ó0ˆØ�y‰y˜EÔ!Ð!Ò!rc   c                óî   € VP                  . RO4      p\        P                  ! VP                  VR4      4      p\        P                  ! VP                  VR4      4      p\	        W4P
                  4       R# )zNeeded for 100% coverage N)rl  rå  rå  rl  r  r  )rN   rP   ©rP   rN   )rY   r   r   r‹   r4   rÞ  )r[   r\   rt   Úx0aÚx1as   &&   r`   Útest_1d_inputÚTestHilbert2.test_1d_inpute  sO   € à�J‰JÒ1Ó2ˆÜ�oŠo˜bŸj™j¨¨FÓ3Ó4ˆÜ�oŠo˜bŸj™j¨¨FÓ3Ó4ˆÜ˜ŸU™UÖ#rc   c                ór   € VP                  R4      p\        V^R7      p\        VRR7      p\        WC4       R# )z%Compare passing tuple to single int. ro  Nrì  r°  )r·  r   r5   )r[   r\   rt   Úx0_aÚx1_as   &&   r`   Útest_parameter_NÚTestHilbert2.test_parameter_Nl  s0   € à�H‰H�VÓˆÜ˜˜QÔˆÜ˜˜VÔ$ˆÜ˜Ö#rc   r³  z)Bug in cupy implementation, see cupy#9396c                ób  € VP                  WP                  R7      pVR;;,          ^,          uu&   VP                  \        P                  ! V4      4      p\        V4      p\        P                  ! V4      p\        ^V^ ,          ^,           ^,          4      \        V^ ,          ^,           ^,          R4      r‡\        ^V^,          ^,           ^,          4      \        V^,          ^,           ^,          R4      r©Rp\        WgV	3,          W7V	3,          ^,          VR7       \        V^ V	3,          V^ V	3,          ^,          VR7       \        Wg^ 3,          W7^ 3,          ^,          VR7       \        VR,          VR,          VR7       WhV
3,          p\        WÂP                  V4      VR7       R# )z8Compare desired and calculated values in Fourier space. r¯   Nrm  rˆ   rï  )
rƒ  r¸   rB  rO  Úifft2r   Úfft2rÜ  r4   ró  )r[   r³  r\   Úx_frt   Úx_asÚx_as_fÚf0_posÚf0_negÚf1_posÚf1_negr‰   Úzz_as_fs   &&&          r`   Útest_quadrant_valuesÚ!TestHilbert2.test_quadrant_valuess  sN  € ð �g‰g�e§=¡=ˆgÓ1ˆØˆE�
�a�‹
Ø�G‰G”F—L’L Ó%Ó&ˆä˜‹{ˆÜ—’˜TÓ"ˆô ˜q 5¨¥8¨a¥<°AÕ"5Ó6¼¸uÀQ½xÈ!½|ÐPQÕ>QÐSWÓ8X�Ü˜q 5¨¥8¨a¥<°AÕ"5Ó6¼¸uÀQ½xÈ!½|ÐPQÕ>QÐSWÓ8X�àˆÜ˜ v˜~Õ.°¸F°NÕ0CÀaÕ0GÈdÕSÜ˜˜q &˜yÕ)¨3¨q°&¨y­>¸AÕ+=ÀDÕIÜ˜ q˜yÕ)¨3°q¨y­>¸AÕ+=ÀDÕIÜ˜˜t� c¨$¥i°dÕ;Ø ˜Õ(ˆÜ˜§¡¨wÓ!7¸d×Crc   c                ó  € V^ ,          ^,          pV^,          ^,          pVP                  V4      pRWS^,
          V^,           3&   RWS^,           V^,
          3&   \        P                  ! V4      pVP                  \        P                  ! V4      4      pVP                  \        V4      4      R8”  g   Q h\        V4      p\        WrP                  V4      VP                  VP                  4      P                  ^,          R7       R# )zYTest that a real signal with Z[-p,-q] == np.conj(Z[p,q])
produces a zero analytic signal.rå  rl  rˆ   N)r·  rO  Ú	ifftshiftrB  r£  rÊ  rf  r   r4   ró  rË  r°   r§  )r[   r³  r\   Úc0Úc1r¥  rt   r¦  s   &&&     r`   Útest_zero_analytic_signalÚ&TestHilbert2.test_zero_analytic_signal‹  sÉ   € ð �1�X˜�]ˆØ�1�X˜�]ˆØ�h‰h�u‹oˆØ!ˆ��F�B˜•FˆNÑØ!ˆ��F�B˜•FˆNÑÜ×Ò˜sÓ#ˆØ�G‰G”F—L’L Ó%Ó&ˆØ�v‰v”c˜!“f‹~ Ô#Ð#Ð#Ü˜‹{ˆÜ˜Ÿm™m¨DÓ1¸¿¹ÀÇÁÓ8L×8PÑ8PÐQSÕ8S×Trc   Úsh0Úsh1Úsh2Únot_axisz,cupy implementation does not have axes kwargc                ó\  € VP                  VP                  W,          V,          VP                  R7      WV34      p. ROpVP                  V4       \	        WgR7      pVP                  WdR7      p	V	 U
u. uF  p
\	        V
4      NK  	  pp
VP                  W´R7      p\        W‹4       R# u up
i )z?2d transform on 3d array is equal to 2d transform on 2d slices.r¯   rÍ  r¢  NrŸ  )r‹   rŒ   rþ   Úpopr   ÚunstackrC  r4   )r[   rµ  r¶  r·  r¸  r\   rt   Útransform_axesÚx_as_3dÚpartsrþ  Úx_as_2ds   &&&&&&      r`   Útest_3d_vs_sliceÚTestHilbert2.test_3d_vs_sliceš  s’   € ð �J‰J�r—y‘y ¥¨S¥¸¿
¹
�yÓCÀcÐPSÀ_ÓUˆÚ"ˆØ×Ñ˜8Ô$Ü˜1Ô2ˆØ—
‘
˜1�
Ó,ˆÙ(-Ó.© 1”8˜A–;©ˆÐ.Ø—(‘(˜7�(Ó2ˆÜ˜Ö)ùò /s   Á4B)c                ón  € VP                  VP                  RVP                  R7      R4      p\        V4      pVP	                  V^ ^4      p\        VRR7      pVP	                  V^^ 4      p\        W54       VP	                  V^ ^4      p\        VRR7      pVP	                  V^^ 4      p\        W74       R# )z72d transform on equal arrays with moved axis are equal.r¯   rÍ  Ni;  )rM   rž   r?  )r   rQ   rð  )r‹   rŒ   rþ   r   rF  r4   )r[   r\   r9  Úx0_asr  Úx1_asr  Úx2_ass   &&      r`   Útest_3d_axis_orderÚTestHilbert2.test_3d_axis_orderª  sž   € ð �Z‰Z˜Ÿ	™	 )°2·:±:˜	Ó>À	ÓJˆÜ˜“ˆà�[‰[˜˜Q Ó"ˆÜ˜ &Ô)ˆØ—‘˜E 1 aÓ(ˆÜ˜Ô%à�[‰[˜˜Q Ó"ˆÜ˜ &Ô)ˆØ—‘˜E 1 aÓ(ˆÜ˜Ö%rc   r*  N))rL   rM   )rM   rL   r°  rì  rŸ  )r,  r-  r.  r/  Ú__doc__r0  r„  r	  r’  rÃ  rÄ  rÅ  r•  r›  r   r­  r³  rÀ  rÆ  r2  r3  r4  s   @r`   r‹  r‹  B  s†  ø‡ € á+á˜dÐ+KÔLñ)ó Mð)ò
"ñ �fÐ%SÔTñ%ó Uð%ð ‡[�[×Ñ˜W y°)Ð&<Ó=ñ"ó >ð"ò$ò$ð ‡[�[×Ñ˜WÒ&FÓGÙ�fÐ%PÔQñDó Ró HðDð, ‡[�[×Ñ˜WÒ&FÓGñUó HðUð ‡[�[×Ñ˜U Q¨ FÓ+Ø‡[�[×Ñ˜U Q¨ FÓ+Ø‡[�[×Ñ˜U Q¨ FÓ+Ø‡[�[×Ñ˜ZªÓ3Ù�fÐ%SÔTñ	*ó Uó 4ó ,ó ,ó ,ð
	*ñ �fÐ%SÔTñ&ó Uö&rc   r‹  c                   ó¢  a € ] tR tRt o Rt]R 4       tR t]! RRR7      R 4       t	]! RRR7      ]
P                  P                  R	. ROR. RO. RO3. ROR. RO. RO3. ROR. RO. RO3. ROR. RO. R O3. R!OR". RO. R O3. R#OR$. RO. R%O3. R#OR&. RO. R#O3.4      R 4       4       t]! RRR7      ]
P                  P                  R. R'OR. R(O. RO3. R)OR*. R(O. R+O3. R,OR*. R-O. R.O3.4      R 4       4       t]! RRR7      R 4       t]! RRR7      R 4       t]! RRR7      ]
P                  P                  R. R/O. R0O.4      R 4       4       tR tRtV tR
# )1ÚTestEnvelopei»  z4Unit tests for function `._signaltools.envelope()`. c                ót   € \        V4      VP                  8X  d   R RRR/MR RRR/p \        W3/ VBRV/B  R# )r‰   rm  rð   rô   rÄ  N)r>   rþ   r4   )rÌ  rG  rb  r\   Úa_r_tols   &&&& r`   Úassert_closeÚTestEnvelope.assert_close¿  sL   € ô ' rÓ*¨b¯j©jÔ8ð ˜E 6¨5Ñ1à  v¨tÐ4ð 	ð
 	HÜ˜Ñ@¨7Ñ@¸CÕ@rc   c                óÖ  € \         P                  ! \        RR7      ;_uu_ 4        \        \        P
                  ! ^4      ^R7       RRR4       \         P                  ! \        RR7      ;_uu_ 4        \        VP                  R4      ^R7       RRR4       R Fo  pRP                  \        \        V4      4      p\         P                  ! \        RV R2R7      ;_uu_ 4        \        VP                  ^4      VR	7       RRR4       Kq  	  \         P                  ! \        R
R7      ;_uu_ 4        \        VP                  ^4      RR7       RRR4       R FL  p\         P                  ! \        RR7      ;_uu_ 4        \        VP                  ^4      VR	7       RRR4       KN  	  \         P                  ! \        RR7      ;_uu_ 4        \        VP                  ^4      RR7       RRR4       R#   + '       g   i     ELµ; i  + '       g   i     EL€; i  + '       g   i     EK“  ; i  + '       g   i     Lê; i  + '       g   i     Kü  ; i  + '       g   i     R# ; i)zSFor `envelope()` Raise all exceptions that are used to verify function
parameters. z'Invalid parameter axis=2 for z.shape=.*r[  r¢  Nz&z.shape\[axis\] not > 0 for z.shape=.*z, zbp_in=\(z\) isn't a 2-tuple of.*)Úbp_inz)n_out=10.0 is not a positive integer or.*rs  )r•  z&`-n//2 <= bp_in\[0\] < bp_in\[1\] <=.*zresidual='undefined' not in .*Ú	undefined©Úresidual)rK   r   )rŸ  )r   r|  )Nr|  ))r´   rK   rñ  )r   rR   )	rÃ  r   rÆ   r   r   rƒ  Újoinr¼  r  )r[   r\   rÐ  Útss   &&  r`   Ú test_envelope_invalid_parametersÚ-TestEnvelope.test_envelope_invalid_parametersÉ  sÓ  € ô �]Š]œ:Ø!K÷Mö Mä”R—W’W˜Q“Z aÕ(÷Mô �]Š]œ:Ø!J÷Lö Lä�R—W‘W˜V“_¨1Õ-÷Ló 6ˆEØ—‘œ3œs E›?Ó+ˆBÜ—’œzØ(0°°Ð4KÐ%L÷Nö Nô ˜Ÿ™ ›¨5Õ1÷Nñ Nñ 6ô �]Š]œ:Ø!L÷Nö Nô �R—W‘W˜Q“Z sÕ+÷Nó 0ˆEÜ—’œzØ%N÷Pö Pä˜Ÿ™ ›¨5Õ1÷Pñ Pñ 0ô �]Š]œ:Ð-M×NÖNä�R—W‘W˜Q“Z¨+Õ6÷ OÑN÷)M÷ Mð Mú÷L÷ Lð Lú÷
N÷ Nñ Nú÷N÷ Nú÷
P÷ Pð Pú÷ O×NÐNúsG   ¥"G3Á3HÃ$HÄ1H0Å?IÇIÇ3H	ÈH	ÈH-È0I 	ÉIÉI(	rF   zXXX: immutable arraysrH   c           
     óŽ  € \        V4      pW!P                  8X  d   VP                  MVP                  pVP	                  . ROVR7      pVP	                  . ROVR7      p\
        P                  ! V4      pVP                  ^ ,          pVP                  \        VRRRR7      4      w  r‰V P                  \
        P                  ! V4      VP	                  . ROVR7      RVR7       V P                  \
        P                  ! V	4      VP	                  . ROVR7      RVR7       VP                  \        VRRRR7      4      w  r«V P                  V
^,          VR	VR7       V P                  W¹R
VR7       VP                  \        VRRR^V,          R7      4      w  rÍV P                  VR,          VRVR7       V P                  VR,          V	RVR7       VP                  \        VRRRR7      4      w  rïV P                  WèRVR7       V P                  \
        P                  ! V4      VP	                  . ROVR7      RVR7       \        VRRRR7      pV P                  VVRVR7       VP	                  VRR7      pVR;;,          ^,          uu&   \
        P                  ! VVR7      pV P                  VP                  V4      VRVR7       VP                  \        VRRRR7      4      w  ppV P                  VVP                  Wƒ4      RVR7       V P                  \
        P                  ! V4      VP	                  WSR7      RVR7       R# ) zEEnsure that the various parametrizations produce compatible results. r¯   ÚallT©rÓ  ÚsquaredúEnvelope calculation error©rb  r\   úResidual calculation errorFz3Unsquared versus Squared envelope calculation errorz3Unsquared versus Squared residual calculation error)rÓ  rÛ  r•  :NNrK   z(3x up-sampled envelope calculation errorz(3x up-sampled residual calculation errorÚlowpassz/`residual='lowpass'` envelope calculation errorz/`residual='lowpass'` residual calculation errorNz*`residual=None` envelope calculation errorrZ  :rP   NN)r  zReference analytic signal errorz"Complex envelope calculation errorz"Complex residual calculation error)r�  rQ   rQ   rK   r   )r�  r   r   rN   r   r   r   r   rR  ©rL   rQ   r   r   r   )rL   r   r   rK   r   )rL   r   r   r   r   )r>   rý   rÿ   r¸   rY   rO  Úirfftr³  r»  r   rÍ  ÚrfftÚifftrB  r  r
   )r[   r\   rE  rF  ÚZÚZr_arv   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   &&                   r`   Útest_envelope_verify_parametersÚ,TestEnvelope.test_envelope_verify_parametersä  s  € ô   Ó#ˆØ#§z¡zÔ1ˆr�|Š|°r·}±}ˆà�J‰JÒ(°ˆJÓ5ˆØ�z‰zÒ4¸DˆzÓAˆÜ�LŠL˜‹OˆØ�G‰G�A�Jˆð —j‘j¤¨!¨V¸eÈTÔ!RÓS‰ˆØ×Ñœ&Ÿ+š+ eÓ,ØŸ*™*¢_¸D˜*ÓAØ:¸rð 	ô 	Cð 	×Ñœ&Ÿ+š+ dÓ+ØŸ*™*¢_¸D˜*ÓAØ:¸rð 	ô 	Cð —Z‘Z¤¨¨F¸UÈEÔ RÓS‰
ˆØ×Ñ˜$ �' 5ØSØð 	ô 	!ð 	×Ñ˜$ØSØð 	ô 	!ð —j‘jÜ�Q˜¨¸ÀAÀaÅCÔHó
‰ˆð 	×Ñ˜% �* eØHÈRð 	ô 	Qà×Ñ˜$˜s�) TØHÈRð 	ô 	Qð —j‘j¤¨!¨V¸iÐQUÔ!VÓW‰ˆØ×Ñ˜%ØOÐTVð 	ô 	Xà×Ñœ&Ÿ+š+ dÓ+ØŸ*™*¢_¸D˜*ÓAØOÐTVð 	ô 	Xô ˜˜F¨T¸4Ô@ˆØ×Ñ˜% ØJÈrð 	ô 	Sð �j‰j˜ ˆjÓ&ˆØˆB��1�‹Ü�kŠk˜# Ô#ˆØ×Ñ˜"Ÿ'™' #›,¨Ø?ÀBð 	ô 	Hà—j‘j¤¨#¨vÀÈtÔ!TÓU‰ˆˆtØ×Ñ˜% §¡¨5Ó!7ØBÀrð 	ô 	Kà×Ñœ&Ÿ*š* TÓ*¨B¯J©J°t¨JÓ,HØBÀrð 	ö 	Krc   z@               Z,        bp_in,     Ze2_desired,      Zr_desiredNc           	     ó®  € VP                  WP                  R7      pVP                  W5P                  R7      pVP                  WEP                  R7      p\        P                  ! V4      pVP	                  \        WbRRR7      4      w  rxVP	                  \        WbRRR7      4      w  ršR WxWš3 4       w  r¼rÞVP                  W5P                  R7      pVP                  WEP                  R7      pV P                  W³RVR7       V P                  WÄR	VR7       V^,          e   ^ WB^,          R
% V P                  WÓRVR7       V P                  WäRVR7       R
# )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¯   rÙ  TrÚ  rß  c              3   óN   "  € T F  p\         P                  ! V4      x € K  	  R # 5ir*  ©rO  râ  ©rª  Úz_s   & r`   r¬  Ú:TestEnvelope.test_envelope_real_signals.<locals>.<genexpr>:  s   é € Ð!UÑ<T°b¤&§+¢+¨b§/ /Ó<Tùó   ‚#%z+Envelope calculation error (residual='all')rÝ  z+Residual calculation error (residual='all')Nz/Envelope calculation error (residual='lowpass')z/Residual calculation error (residual='lowpass'))rY   rþ   rO  rá  r»  r   r¸   rÍ  )r[   rä  rÐ  ÚZe2_desiredÚ
Zr_desiredr\   rv   Úze2ÚzrÚze2_lpÚzr_lpÚZe2ÚZrÚZe2_lpÚZr_lps   &&&&&&         r`   Útest_envelope_real_signalsÚ'TestEnvelope.test_envelope_real_signals  sF  € ð( �J‰J�q§
¡
ˆJÓ+ˆØ—j‘j ·J±J�jÓ?ˆØ—Z‘Z 
·*±*�ZÓ=ˆ
ä�LŠL˜‹OˆØ—*‘*œX a¸ÈÔMÓN‰ˆØŸ
™
¤8¨A¸yÐRVÔ#WÓX‰ˆÙ!U¸SÀfÑ<TÓ!UÑˆ�à—j‘j ·M±M�jÓBˆØ—Z‘Z 
·-±-�ZÓ@ˆ
Ø×Ñ˜#ØKÐPRð 	ô 	Tà×Ñ˜"ØKÐPRð 	ô 	Tð ��8ÒØ$%ˆJ˜Q•x�yÐ!Ø×Ñ˜&ØOÐTVð 	ô 	Xà×Ñ˜%ØOÐTVð 	ö 	Xrc   zG               Z,        bp_in,         Ze2_desired,         Zr_desiredc           	     ó¨  € VP                  WP                  R7      pVP                  W5P                  R7      pVP                  WEP                  R7      p\        P                  ! \        P
                  ! V4      4      pVP                  \        WbRRR7      4      w  rxR Wx3 4       w  ršV P                  W“RVR7       V P                  W¤RVR7       R	# )
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¯   rÙ  TrÚ  c              3   óv   "  € T F/  p\         P                  ! \         P                  ! V4      4      x € K1  	  R # 5ir*  ©rO  Úfftshiftr
   rø  s   & r`   r¬  Ú=TestEnvelope.test_envelope_complex_signals.<locals>.<genexpr>]  s$   é € ÐG¹Y°r”6—?’?¤6§:¢:¨b£>×2Ð2»Yùs   ‚79rÜ  rÝ  rÞ  N)	rY   rþ   r¸   rO  rã  r°  r»  r   rÍ  )r[   rä  rÐ  rü  rý  r\   rv   rþ  rÿ  r  r  s   &&&&&&     r`   Útest_envelope_complex_signalsÚ*TestEnvelope.test_envelope_complex_signalsJ  s¶   € ð �J‰J�q§
¡
ˆJÓ+ˆØ—j‘j ·M±M�jÓBˆØ—Z‘Z 
·-±-�ZÓ@ˆ
ä�KŠKœ×(Ò(¨Ó+Ó,ˆØ—*‘*œX a¸ÈÔMÓN‰ˆÙG¸c¹YÓG‰ˆà×Ñ˜#Ø:¸rð 	ô 	Cà×Ñ˜"Ø:¸rð 	ö 	Crc   c                óž  € \        V4      pW!P                  8X  d   VP                  MVP                  p\        P
                  ! VP                  . RO. RO.VR7      4      pVP                  . RO. RO.VR7      pVP                  . RO. RO.VR7      pVP                  \        VR^R7      4      w  rxVP                  \        VP                  R^ R7      4      w  ršR WyP                  WŠP                  3 4       w  r¼rÞV P                  WµRVR7       V P                  WÖRVR7       V P                  WÅRVR7       V P                  WæR	VR7       R
# )z.Test for multi-channel envelope calculations. r¯   T)rÛ  r£  c              3   óN   "  € T F  p\         P                  ! V4      x € K  	  R # 5ir*  r÷  rø  s   & r`   r¬  ÚCTestEnvelope.test_envelope_verify_axis_parameter.<locals>.<genexpr>q  s   é € ÐOÑ6N°œFŸKšK¨ŸO˜OÓ6Nùrû  ú2d envelope calculation errorrÝ  ú2d residual calculation errorú"Transposed 2d envelope calc. errorú"Transposed 2d residual calc. errorN)rå  r   rQ   rQ   r   )rž   r   rL   rL   r   rà  )rŸ   r­   r   r   r   ©rP   r   r   r   r   )rž   r   r   r   r   )r>   rý   rÿ   r¸   rO  rá  rY   r»  r   rÞ  rÍ  )r[   r\   rE  rF  rv   rü  rý  rþ  rÿ  Úye2TÚyrTr  ÚYe2r  ÚYrs   &&             r`   Ú#test_envelope_verify_axis_parameterÚ0TestEnvelope.test_envelope_verify_axis_parameterd  s5  € ô   Ó#ˆØ#§z¡zÔ1ˆr�|Š|°r·}±}ˆä�LŠL˜Ÿ™Ò%6ºÐ$HÐPT˜ÓUÓVˆØ—j‘j¢/Ò3CÐ!DØ'+ð !ó -ˆà—Z‘Z¢²/Ð BÈ$�ZÓOˆ
à—*‘*œX a°¸AÔ>Ó?‰ˆØ—J‘Jœx¨¯©°TÀÔBÓC‰	ˆÙO°s¿F¹FÀBÏÉÑ6NÓOÑˆ�"à×Ñ˜#Ð0OÐTVÐÔWØ×Ñ˜"Ð/NÐSUÐÔVØ×ÑØÐ"FÈ2ð 	ô 	
ð 	×ÑØÐ DÈð 	ö 	
rc   c                óî  € \        V4      pW!P                  8X  d   VP                  MVP                  pVP	                  . RO. RO.VR7      p\
        P                  ! \
        P                  ! V^R7      4      pVP	                  . RO. RO.VR7      pVP	                  . RO. RO.VR7      p\        RRRR7      pVP                  \        V3R^/VB 4      w  ršVP                  \        VP                  3R^ /VB 4      w  r¼R W›P                  W¬P                  3 4       w  rÞppV P                  WÖRVR	7       V P                  W÷R
VR	7       V P                  WæRVR	7       V P                  VVRVR	7       R# )zBTest for multi-channel envelope calculations with complex values. r¯   rÍ  rÙ  T)rÐ  rÓ  rÛ  r£  c              3   óz   "  € T F1  p\         P                  ! \         P                  ! V4      ^R7      x € K3  	  R# 5i)rP   rÍ  Nr
  rø  s   & r`   r¬  ÚKTestEnvelope.test_envelope_verify_axis_parameter_complex.<locals>.<genexpr>‰  s.   é € ð @Ù&> ô #ŸOšO¬F¯JªJ°r«NÀ×CÑCÛ&>ùs   ‚9;r  rÝ  r  r  r  N)rå  rM   r   rM   rQ   )rP   rR   r   rR   rQ   ©rM   r   rR   r   rM   )r  r   rQ  r   r  ©rP   r   r   r   rQ   ©r´   rQ   )r>   rý   rÿ   r¸   rY   rO  rã  r°  rò  r»  r   rÞ  rÍ  )r[   r\   rE  rF  Úinprv   ÚZe2_desÚZr_desÚkwrþ  rÿ  r  r  r  r  r  r  s   &&               r`   Ú+test_envelope_verify_axis_parameter_complexÚ8TestEnvelope.test_envelope_verify_axis_parameter_complex|  sd  € ô   Ó#ˆØ#§z¡zÔ1ˆr�|Š|°r·}±}ˆØ�j‰jÒ+Ò->Ð?ÀtˆjÓLˆÜ�KŠKœ×(Ò(¨°1Ô5Ó6ˆØ—*‘*Ò.Ò0BÐDÈD�*ÓQˆØ—‘š_ªoÐ>Àd�ÓKˆä˜¨%¸Ô>ˆØ—*‘*œX aÑ6¨aÐ6°2Ñ6Ó7‰ˆØ—J‘Jœx¨¯©Ñ:°!Ð:°rÑ:Ó;‰	ˆñ@Ø'*¯F©F°B¿¹Ñ&>ó@Ñˆ�"�bð 	×Ñ˜#Ð,KÐPRÐÔSØ×Ñ˜"Ð*IÈbÐÔQØ×ÑØÐCÈð 	ô 	
ð 	×Ñ˜"˜fÐ+OÐTVÐÖWrc   ÚXc                óâ   € VP                  WP                  R7      p\        P                  ! V4      pVP	                  \        V4      4      p\        VRRR7      pV P                  WERVR7       R# )z0Compare output of `envelope()` and `hilbert()`. r¯   NrÒ  z!Hilbert-Envelope comparison errorrÝ  ©NN)rY   rþ   rO  rá  rf  r   r   rÍ  )r[   r)  r\   rt   Úe_hilÚe_envs   &&&   r`   Útest_compare_envelope_hilbertÚ*TestEnvelope.test_compare_envelope_hilbert“  s\   € ð �J‰J�q§
¡
ˆJÓ+ˆÜ�LŠL˜‹OˆØ—‘”w˜q“zÓ"ˆÜ˜˜L°4Ô8ˆØ×Ñ˜%Ð,OÐTVÐÖWrc   c                óº  € \         P                  ! . R	O4      p\        P                  ! V^R7      p\	        V^RR7      w  r4\	        VR,           ^RR7      w  rV\        V\        P                  ! ^4      RR7       \        WBRR7       \        V\        P                  ! ^VP                  R7      RR7       \        WbP                  VP                  4      RR7       R# )
aD  Test behavior when input is a cosine at the Nyquist frequency.

Resampling even length signals, requires accounting for unpaired bins at the
Nyquist frequency (consults the source code of `resample`).

Since `envelope` excludes the Nyquist frequency from the envelope calculation,
only the residues need to be investigated.
)r5  rÙ  )r•  rÓ  rµ   rm  rˆ   r¯   N)r   r   r­   )
rO  rá  r   r1  r   r4   r   r·  r°   r  )r[   Úx4Úx6Úy6Úy6_resÚz6Úz6_ress   &      r`   Útest_nyquistÚTestEnvelope.test_nyquist�  s–   € ô �\Š\š)Ó$ˆÜ�_Š_˜R QÔ'ˆÜ˜b¨°EÔ:‰
ˆÜ˜b 2�g¨Q¸Ô?‰
ˆä˜œBŸHšH Q›K¨eÕ4Ü˜¨Õ/ä˜œBŸHšH Q¨b¯h©hÔ7¸eÕDÜ˜§	¡	¨"¯(©(Ó 3¸%×@rc   r*  )rP   r   rQ   rQ   r   r®  rà  r  )rL   r   rQ   r   r   rÛ  r   )rL   r   r   rQ   r   r+  )r   r   rQ   rQ   r   rR  )rQ   r   r   r   r   )r   r   r   rQ   r   )rL   r   rQ   rQ   r   )éýÿÿÿrK   )rL   r   rK   rL   r   )NrP   )r   r   rK   rL   r   )Nr   )r   rM   r   rM   r   r   )rP   rM   r   rM   rQ   r"  r!  )rP   rQ   rN   r   rN   rK   )r   rN   r   rW   r   rN   )rP   rQ   r   r   r   rK   )rL   r   r   rP   rQ   )rL   r   r   rQ   rP   rQ   )r,  r-  r.  r/  rÈ  ÚstaticmethodrÍ  rÖ  r0  ró  rÃ  rÄ  rÅ  r  r  r  r'  r.  r7  r2  r3  r4  s   @r`   rÊ  rÊ  »  sÄ  ø‡ € á>àñAó ðAò7ñ6 �kÐ*AÔBñ8Kó Cð8Kñt �kÐ*AÔBØ‡[�[×ÑØJÚ
˜iªº/Ð	JÚ
˜iªº/Ð	JÚ
˜<ªº/Ð	JÚ
 ªº/Ð	JÚ
 ªº/Ð	JÚ
˜iªº/Ð	JÚ
˜iªº/Ð	Jð	LóMñXóMó CðXñB �kÐ*AÔBØ‡[�[×ÑØQÚ
˜<Ò,<ÂÐ	QÚ
 Ò,<ÂÐ	QÚ
 Ò)<Ò>PÐ	Qð	óñCóó CðCñ& �kÐ*AÔBñ
ó Cð
ñ. �kÐ*AÔBñXó CðXñ, �kÐ*AÔBØ‡[�[×Ñ˜S¢?Ò4FÐ"GÓHñXó Ió CðX÷Að Arc   rÊ  c                   óü  a € ] tR tRt o ]RR l4       t]! RR7      R 4       t]! RR7      R 4       t]	! ]
4      R 4       t]	! ]
4      R 4       t]	! ]
4      R	 4       t]	! ]4      R
 4       t]	! ]4      R 4       t]	! ]4      R 4       t]	! ]]4      R 4       t]	! ]]4      R 4       t]	! ]]4      R 4       t]	! ]4      R 4       t]	! ]4      R 4       t]	! ]4      R 4       t]! RR7      ]	! ]]4      R 4       4       tRtV tR# )ÚTestPartialFractionExpansioni²  c                ót  € \        W4      pVP                  V4      pVP                  V4      pVP                  \        VR,          V,
          4      \        V R,          V,
          4      4      p\	        \        V4      4      w  rx\        W,          W8,          VR7       \        W,          W(,          VR7       R# )r¦  Nr  )r¦  N)r?   rY   Úhypotrf  r   rC   r;   )	r¦  rþ  Úr_trueÚp_truer  r\   ÚdistanceÚrowsÚcolss	   &&&&&    r`   Úassert_rp_almost_equalÚ3TestPartialFractionExpansion.assert_rp_almost_equal³  s‹   € ä˜QÓ"ˆØ—‘˜FÓ#ˆØ—‘˜FÓ#ˆà—8‘8œC  '¥
¨VÕ 3Ó4Ü  '¥
¨VÕ 3Ó4ó6ˆô +Ô+<¸XÓ+FÓG‰
ˆÜ˜A�G V¥\¸7ÕCÜ˜A�G V¥\¸7×Crc   Tr$  c                ó  € \        . RO. RO4      w  r#\        V4      ^8X  g   Q h\        V^ ,          \        P                  ! . RO4      4       \        V^,          \        P                  ! . RO4      4       \        V^,          \        P                  ! . RO4      4       \        V\        P                  ! . R	O4      4       \        . RO. RORR7      w  r#\        V4      ^8X  g   Q h\        V^ ,          \        P                  ! . R
O4      4       \        V^,          \        P                  ! . RO4      4       \        V^,          \        P                  ! . RO4      4       \        V^,          \        P                  ! . RO4      4       \        V^,          \        P                  ! . RO4      4       \        V^,          \        P                  ! . RO4      4       \        V\        P                  ! . R	O4      4       R# )rP   T)Úinclude_powersNrO   r  )rQ   rQ   rK   )rP   rP   rP   rK   )rP   rP   rP   rQ   rQ   )rP   rP   rP   rQ   rQ   rK   )rP   rP   rQ   rQ   rK   )rP   rQ   rQ   rK   )rP   rP   rP   rQ   rK   )r0   r   r;   r   rc  )r[   r\   Úfactorsrc  s   &&  r`   Útest_compute_factorsÚ1TestPartialFractionExpansion.test_compute_factorsÀ  s>  € ä(ª²IÓ>‰ˆÜ�7‹|˜qÔ Ð Ð Ü˜G A�J¬¯ª²	Ó(:Ô;Ü˜G A�J¬¯ª²Ó(=Ô>Ü˜G A�J¬¯ª²Ó(@ÔAÜ˜D¤"§'¢'Ò*<Ó"=Ô>ä(ª²IØ8<ô>‰ˆä�7‹|˜qÔ Ð Ð Ü˜G A�J¬¯ª²Ó(@ÔAÜ˜G A�J¬¯ª²Ó(=Ô>Ü˜G A�J¬¯ª²	Ó(:Ô;Ü˜G A�J¬¯ª²Ó(@ÔAÜ˜G A�J¬¯ª²Ó(=Ô>Ü˜G A�J¬¯ª²Ó(@ÔAÜ˜D¤"§'¢'Ò*<Ó"=Ö>rc   c                ó`   € \        . RORR4      w  r#\        V. RO4       \        V. RO4       R# )rå  r4  r±  N)rå  gj¼t“ð?g?5^ºIð?r|  g /Ý$ @r€  rä  r  )r1   r4   ©r[   r\   ÚuniqueÚmultiplicitys   &&  r`   Útest_group_polesÚ-TestPartialFractionExpansion.test_group_polesÔ  s*   € ä+Ú0°#°uó >Ñˆä˜¢Ô0Ü˜¢iÖ0rc   c                ó¢  € \        VP                  . RO4      VP                  . RO4      4      w  r#p\        W!P                  . RO4      ^R7       \        W1P                  . R	O4      ^R7       \        WAP                  R
.4      ^R7       \        VP                  R^.4      VP                  . RO4      4      w  r#p\        W!P                  ^R.4      4       \        W1P                  RR.4      4       VP                  ^ 8X  g   Q h\        VP                  ^^.4      VP                  . RO4      4      w  r#p\        W!P                  ^^.4      4       \        W1P                  R^.4      4       VP                  ^ 8X  g   Q h\        VP                  ^^.4      VP                  . RO4      4      w  r#pV P	                  W#. RO. RO4       VP                  ^ 8X  g   Q h\        VP                  ^^.4      VP                  . RO4      4      w  r#pV P	                  W#. RO. RO4       VP                  ^ 8X  g   Q h\        VP                  . RO4      VP                  . RO4      4      w  r#p\        W!P                  . RO4      4       \        W1P                  . RO4      4       \        WAP                  ^^.4      4       \        VP                  ^.4      VP                  . RO4      4      w  r#p\        W!P                  RR.4      4       \        W1P                  ^R.4      4       VP                  ^ 8X  g   Q h\        VP                  . RO4      VP                  . RO4      4      w  r#pV P	                  W#. RO. RO4       VP                  ^ 8X  g   Q h\        VP                  . R O4      VP                  . R!O4      4      w  r#pV P	                  W#. R"O. R#O4       VP                  ^ 8X  g   Q h\        VP                  ^R.4      VP                  . R$O4      4      w  r#p\        W!P                  R^.4      4       \        W1P                  ^^.4      4       VP                  ^ 8X  g   Q h\        VP                  . R%O4      VP                  . R$O4      4      w  r#p\        W!P                  R^.4      4       \        W1P                  ^^.4      4       \        WAP                  ^.4      4       \        VP                  . R&O4      VP                  . R$O4      4      w  r#p\        W!P                  R'^E.4      4       \        W1P                  ^^.4      4       \        WAP                  ^^.4      4       \        VP                  . R%O4      VP                  . R(O4      4      w  r#pV P	                  W#. R)O. R*O4       VP                  ^ 8X  g   Q hR# )+rM   r  r¶  Nr\  ©rM   rK   r\  rž   r]  ©r]  r   r­   rK   )gZd;ßOõ?gîëÀ9#Jå¿g&äƒžÍªö¿)gà-� ø1Ú¿gþe÷äa¡ò¿gvqà-ù?g      ô¿©rP   rN   r­   iôÿÿÿr´   )rP   r´   r\  )rQ   g333333Àg®Gáz®ÿ?g–C‹lçûÙ¿)y      2À     @*Ày      2À     @*@g      B@)y      à?š™™™™™É¿y      à?š™™™™™É?gffffffæ?)rP   rM   r­   rL   )r´   rP   rK   )r´   r\  r\  )rK   gš™™™™™ñ¿g)\�Âõ(ì?g^ºI+ÀgÅ °rh‘õ?)rP   gffffffæ¿gìQ¸…ëÁ¿gú~j¼t“¨?r9  )r9  rL   rP   )rQ  g333333Ó¿r3  )rP   rQ   r9  ç      Ð¿)rP   r   rK  )rP   r   r   r   r´   )rP   y              ø?y       €      ø¿r´   )r´   ù       €      ð¿r®   rP   )rK   r­   rN   ©rP   rK   rK   rP   rO   ©r´   r´   r´   )rP   r9  rQ   )rQ   rK   r´   )rž   rQ   rK   r´   rL  )rP   r9  rL   r\  )rL   y      ð¿      @y      ð¿      À)rP   ù      ð?      ð¿rp   )r,   rY   r;   rì   rD  ©r[   r\   r¦  rþ  rZ  s   &&   r`   Útest_residue_generalÚ1TestPartialFractionExpansion.test_residue_generalÛ  sv  € ô ˜"Ÿ*™*¢]Ó3°R·Z±ZÂÓ5NÓO‰ˆˆaÜ˜AŸz™zÒ*DÓEÈqÕQÜ˜AŸz™zÒ*DÓEÈqÕQÜ˜AŸz™z¨7¨)Ó4¸aÕ@ä˜"Ÿ*™* b¨! WÓ-¨r¯z©zº)Ó/DÓE‰ˆˆaÜ˜AŸz™z¨1¨c¨(Ó3Ô4Ü˜AŸz™z¨2¨r¨(Ó3Ô4Ø�v‰v˜Œ{Ðˆ{ä˜"Ÿ*™* a¨ VÓ,¨b¯j©jºÓ.EÓF‰ˆˆaÜ˜AŸz™z¨1¨a¨&Ó1Ô2Ü˜AŸz™z¨2¨q¨'Ó2Ô3Ø�v‰v˜Œ{Ðˆ{ä˜"Ÿ*™* a¨ VÓ,ØŸ*™*Ò%<Ó=ó?‰ˆˆaà×#Ñ#ØÒ?Ú)ô	+ð �v‰v˜Œ{Ðˆ{ä˜"Ÿ*™* a¨ VÓ,¨b¯j©jºÓ.FÓG‰ˆˆaØ×#Ñ# Aª*Ú$0ô	2à�v‰v˜Œ{Ðˆ{ä˜"Ÿ*™*Ò%CÓDØŸ*™*Ò%<Ó=ó?‰ˆˆaä˜AŸz™zª*Ó5Ô6Ü˜AŸz™zÒ*:Ó;Ô<Ü˜AŸz™z¨1¨a¨&Ó1Ô2ä˜"Ÿ*™* a S›/¨2¯:©:²jÓ+AÓB‰ˆˆaÜ˜AŸz™z¨4°¨-Ó8Ô9Ü˜AŸz™z¨1¨b¨'Ó2Ô3Ø�v‰v˜Œ{Ðˆ{ä˜"Ÿ*™*¢ZÓ0°"·*±*Ò=MÓ2NÓO‰ˆˆaØ×#Ñ# AÚ$8Ú$4ô	6ð �v‰v˜Œ{Ðˆ{ä˜"Ÿ*™*¢YÓ/°·±ºLÓ1IÓJ‰ˆˆaØ×#Ñ# Aª)Ú$0ô	2à�v‰v˜Œ{Ðˆ{ä˜"Ÿ*™* a¨ WÓ-¨r¯z©zº*Ó/EÓF‰ˆˆaÜ˜AŸz™z¨2¨q¨'Ó2Ô3Ü˜AŸz™z¨1¨a¨&Ó1Ô2Ø�v‰v˜Œ{Ðˆ{ä˜"Ÿ*™*¢ZÓ0°"·*±*ºZÓ2HÓI‰ˆˆaÜ˜AŸz™z¨2¨r¨(Ó3Ô4Ü˜AŸz™z¨1¨a¨&Ó1Ô2Ü˜AŸz™z¨1¨#›Ô/ä˜"Ÿ*™*¢]Ó3°R·Z±ZÂ
Ó5KÓL‰ˆˆaÜ˜AŸz™z¨3°¨)Ó4Ô5Ü˜AŸz™z¨1¨a¨&Ó1Ô2Ü˜AŸz™z¨1¨b¨'Ó2Ô3ä˜"Ÿ*™*¢ZÓ0°"·*±*º^Ó2LÓM‰ˆˆaØ×#Ñ# AÒ*CÚ$7ô	9à�v‰v˜Œ{ÐŠ{rc   c                óT  € \        VP                  . RO4      VP                  . RO4      4      w  r#p\        VP                  . RO4      VP                  . RO4      4      w  rVp\        VP                  . RO4      VP                  . RO4      4      w  r‰p
\        VP                  . RO4      VP                  . RO4      4      w  r¼p\        W%4       \        W(4       \        W+4       \        W64       \        W94       \        W<4       \        WG4       \        WJ4       \        WM4       R# )rM   NrR  rS  )r   rM   rK   r\  rž   )r   r]  r   r­   rK   )r   r   rM   rK   r\  rž   )r   r   r   r]  r   r­   rK   )r,   rY   r;   ©r[   r\   Úr0Úp0Úk0Úr1Úp1Úk1Úr2Úp2Úk2Úr3Úp3Úk3s   &&            r`   Útest_residue_leading_zerosÚ7TestPartialFractionExpansion.test_residue_leading_zeros$  sÜ   € ô ˜RŸZ™ZªÓ6¸¿
¹
Â=Ó8QÓR‰
ˆ�Ü˜RŸZ™ZÒ(8Ó9¸2¿:¹:ÂmÓ;TÓU‰
ˆ�Ü˜RŸZ™ZªÓ6¸¿
¹
ÒCSÓ8TÓU‰
ˆ�Ü˜RŸZ™ZÒ(;Ó<ØŸZ™ZÒ(>Ó?óA‰
ˆ�ä˜BÔ#Ü˜BÔ#Ü˜BÔ#Ü˜BÔ#Ü˜BÔ#Ü˜BÔ#Ü˜BÔ#Ü˜BÔ#Ü˜BÖ#rc   c                ód  € \        VP                  ^ ^ .4      VP                  . RO4      4      w  r#p\        W!P                  ^ ^ .4      4       \        W1P                  RR.4      4       VP                  ^ 8X  g   Q h\        VP                  ^ 4      VP                  ^4      4      w  r#pVP                  ^ 8X  g   Q hVP                  ^ 8X  g   Q hVP                  ^ 8X  g   Q h\        P
                  ! \        RR7      ;_uu_ 4        \        ^^ 4       RRR4       R#   + '       g   i     R# ; i)r   úDenominator `a` is zero.r[  NrT  r\  r]  )r,   rY   r;   rì   rÃ  r   rÆ   rZ  s   &&   r`   Útest_residue_degenerateÚ4TestPartialFractionExpansion.test_residue_degenerate6  sß   € ô ˜"Ÿ*™* a¨ VÓ,¨b¯j©jºÓ.CÓD‰ˆˆaÜ˜AŸz™z¨1¨a¨&Ó1Ô2Ü˜AŸz™z¨2¨r¨(Ó3Ô4Ø�v‰v˜Œ{Ðˆ{ä˜"Ÿ*™* Q›-¨¯©°A«Ó7‰ˆˆaØ�v‰v˜Œ{Ðˆ{Ø�v‰v˜Œ{Ðˆ{Ø�v‰v˜Œ{Ðˆ{ä�]Š]œ:Ð-G×HÖHÜ�A�qŒM÷ I×H×HÒHús   ÄDÄD/	c           
     óÎ  € \        VP                  . R	O4      VP                  . RO4      4      w  r#pV P                  W#. RO. RO4       \        WAP                  R.4      4       \        VP                  . RO4      VP                  . RO4      4      w  r#pV P                  W#RR.RR.^R7       \        WAP                  R.4      ^R7       \        VP                  ^R.4      VP                  . RO4      4      w  r#p\        W!P                  R^.4      4       \        W1P                  ^^.4      4       VP                  ^ 8X  g   Q h\        VP                  . RO4      VP                  . RO4      4      w  r#pV P                  W#. RO. RO4       VP                  ^ 8X  g   Q h\        VP                  . RO4      VP                  . RO4      4      w  r#p\        W!P                  RR.4      4       \        W1P                  R^.4      4       \        WAP                  RR.4      4       \        VP                  ^.4      VP                  . RO4      4      w  r#pV P                  W#. R O. R!O4       VP                  ^ 8X  g   Q h\        VP                  ^^.4      VP                  \
        P                  ! ^R".^R.4      4      4      w  r#p\        W!P                  R#R$.4      4       \        W1P                  R%R.4      4       VP                  ^ 8X  g   Q h\        VP                  . R&O4      VP                  ^R.4      4      w  r#p\        W!P                  ^ .4      4       \        W1P                  ^.4      4       \        WAP                  ^R.4      4       \        VP                  ^4      VP                  ^R
.4      4      w  r#p\        W!P                  ^.4      4       \        W1P                  R.4      4       VP                  ^ 8X  g   Q h\        VP                  ^4      VP                  . R'O4      4      w  r#p\        W!P                  ^ ^.4      4       \        W1P                  RR.4      4       VP                  ^ 8X  g   Q h\        VP                  ^4      VP                  . R(O4      4      w  r#p\        W!P                  R^.4      4       \        W1P                  RR.4      4       VP                  ^ 8X  g   Q h\        VP                  . R)O4      VP                  . R&O4      4      w  r#p\        W!P                  R^	.4      4       \        W1P                  ^^.4      4       \        WAP                  ^.4      4       \        VP                  ^^.4      VP                  . R&O4      4      w  r#p\        W!P                  R^.4      4       \        W1P                  ^^.4      4       VP                  ^ 8X  g   Q h\        VP                  . R	O4      VP                  . R&O4      4      w  r#p\        W!P                  R*^.4      4       \        W1P                  ^^.4      4       \        WAP                  ^
^.4      4       \        VP                  . R+O4      VP                  . R,O4      4      w  r#pV P                  W#. R-O. R.O^R7       VP                  ^ 8X  g   Q hR# )/rP   r®   rs   rj  r  g�Å�1w@rÐ  r¶  N)rP   rN   rN   rQ   rV  )rP   y       À      ð¿ró  rV  r\  )y       À      @y      @      @y      À      (À)r®   rP   rP   )rP   rQ   rP   r´   )rP   r´   g'Â†§WÊÖ?y	Šcîì¿à-� øÀy	Šcîì¿à-� ø@y      à?*©ÐDØÔ?y      à?*©ÐDØÔ¿)rP   rK  rN   rœ   rW  )rL   rK  rK   rX  r0  )rP   r0  r]  rL   )rQ   r\  r]  g      ø¿)rÿ  rK   r]  r´   )g
×£p=
×?g¸…ëQ¸Î?çš™™™™™Ù?)rj  çUUUUUUÕ¿rs  r!  g«ªªªªª
ÀgUUUUUU@rU  ©rP   r\  rP   )rP   r´   r¶  )rP   g      è¿rŸ  )rP   rN   rQ   ièÿÿÿræ  )rP   r   r   r   r   r´   )yoð…ÉTÁÐ?cÙ=yXÈ?yoð…ÉTÁÐ?cÙ=yXÈ¿rr  yjMóŽ£?%uš¾¿yjMóŽ£?%uš¾?)yÙÎ÷Sãé¿s×òAÏâ?yÙÎ÷Sãé¿s×òAÏâ¿rå  y-²�ï§ÆÓ?8gDioî?y-²�ï§ÆÓ?8gDioî¿)r-   rY   rD  r;   rì   r   ÚpolymulrZ  s   &&   r`   Útest_residuez_generalÚ2TestPartialFractionExpansion.test_residuez_generalF  sc  € ä˜2Ÿ:™:¢lÓ3ØŸ:™:Ò&CÓDóF‰ˆˆaà×#Ñ# AÒ*GÚ$.ô	0ä˜AŸz™z¨2¨$Ó/Ô0ä˜2Ÿ:™:¢iÓ0°"·*±*º_Ó2MÓN‰ˆˆaØ×#Ñ# AØ%6Ð8IÐ$JØ%2°MÐ$BØ,-ð 	$ô 	/ô 	˜AŸz™z¨6¨(Ó3¸QÕ?ä˜2Ÿ:™: q¨" gÓ.°·
±
º:Ó0FÓG‰ˆˆaÜ˜AŸz™z¨2¨q¨'Ó2Ô3Ü˜AŸz™z¨1¨a¨&Ó1Ô2Ø�v‰v˜Œ{Ðˆ{ä˜2Ÿ:™:¢iÓ0°"·*±*º\Ó2JÓK‰ˆˆaØ×#Ñ# Aª*²lÔCØ�v‰v˜Œ{Ðˆ{ä˜2Ÿ:™:¢oÓ6¸¿
¹
Â;Ó8OÓP‰ˆˆaÜ˜AŸz™z¨3°¨+Ó6Ô7Ü˜AŸz™z¨2¨q¨'Ó2Ô3Ü˜AŸz™z¨3°¨)Ó4Ô5ä˜2Ÿ:™: r dÓ+¨R¯Z©ZºÓ-HÓI‰ˆˆaØ×#Ñ# AÚ$5Ò7Hô	Jà�v‰v˜Œ{Ðˆ{ä˜2Ÿ:™: q¨! fÓ-ØŸ:™:¤b§j¢j°!°T°¸QÀ¸HÓ&EÓFóH‰ˆˆaä˜AŸz™z¨5°$¨-Ó8Ô9Ü˜AŸz™z¨5°#¨,Ó7Ô8Ø�v‰v˜Œ{Ðˆ{ä˜2Ÿ:™:¢jÓ1°2·:±:¸qÀ"¸gÓ3FÓG‰ˆˆaÜ˜AŸz™z¨1¨#›Ô/Ü˜AŸz™z¨1¨#›Ô/Ü˜AŸz™z¨1¨b¨'Ó2Ô3ä˜2Ÿ:™: a›=¨"¯*©*°a¸°XÓ*>Ó?‰ˆˆaÜ˜AŸz™z¨1¨#›Ô/Ü˜AŸz™z¨2¨$Ó/Ô0Ø�v‰v˜Œ{Ðˆ{ä˜2Ÿ:™: a›=¨"¯*©*²]Ó*CÓD‰ˆˆaÜ˜AŸz™z¨1¨a¨&Ó1Ô2Ü˜AŸz™z¨3°¨*Ó5Ô6Ø�v‰v˜Œ{Ðˆ{ä˜2Ÿ:™: a›=¨"¯*©*Ò5EÓ*FÓG‰ˆˆaÜ˜AŸz™z¨2¨q¨'Ó2Ô3Ü˜AŸz™z¨4°¨+Ó6Ô7Ø�v‰v˜Œ{Ðˆ{ä˜2Ÿ:™:¢iÓ0°"·*±*ºZÓ2HÓI‰ˆˆaÜ˜AŸz™z¨3°¨(Ó3Ô4Ü˜AŸz™z¨1¨a¨&Ó1Ô2Ü˜AŸz™z¨1¨#›Ô/ä˜2Ÿ:™: q¨! fÓ-¨r¯z©zº*Ó/EÓF‰ˆˆaÜ˜AŸz™z¨2¨q¨'Ó2Ô3Ü˜AŸz™z¨1¨a¨&Ó1Ô2Ø�v‰v˜Œ{Ðˆ{ä˜2Ÿ:™:¢lÓ3°R·Z±ZÂ
Ó5KÓL‰ˆˆaÜ˜AŸz™z¨3°¨)Ó4Ô5Ü˜AŸz™z¨1¨a¨&Ó1Ô2Ü˜AŸz™z¨2¨q¨'Ó2Ô3ä˜2Ÿ:™:¢iÓ0°"·*±*Ò=PÓ2QÓR‰ˆˆaØ×#Ñ# Aò%Nò%Nà,-ð 	$ô 	/ð �v‰v˜Œ{ÐŠ{rc   c                óT  € \        VP                  . RO4      VP                  . RO4      4      w  r#p\        VP                  . RO4      VP                  . RO4      4      w  rVp\        VP                  . RO4      VP                  . RO4      4      w  r‰p
\        VP                  . RO4      VP                  . RO4      4      w  r¼p\        W%4       \        W(4       \        W+4       \        W64       \        W94       \        W<4       \        WG4       \        WJ4       \        WM4       R# )rM   NrR  rS  )rM   rK   r\  rž   r   )r]  r   r­   rK   r   )rM   rK   r\  rž   r   r   )r]  r   r­   rK   r   r   r   )r-   rY   r;   r^  s   &&            r`   Útest_residuez_trailing_zerosÚ9TestPartialFractionExpansion.test_residuez_trailing_zerosš  så   € ô ˜bŸj™jªÓ7Ø Ÿj™jªÓ7ó9‰
ˆ�ä˜bŸj™jÒ)9Ó:Ø Ÿj™jªÓ7ó9‰
ˆ�ä˜bŸj™jªÓ7Ø Ÿj™jÒ)9Ó:ó<‰
ˆ�ä˜bŸj™jÒ)<Ó=Ø Ÿj™jÒ)?Ó@óB‰
ˆ�ä˜BÔ#Ü˜BÔ#Ü˜BÔ#Ü˜BÔ#Ü˜BÔ#Ü˜BÔ#Ü˜BÔ#Ü˜BÔ#Ü˜BÖ#rc   c           	     óx  € \        VP                  ^ ^ .4      VP                  . RO4      4      w  r#p\        W!P                  ^ ^ .4      4       \        W1P                  RR.4      4       VP                  ^ 8X  g   Q h\        VP                  ^ 4      VP                  ^4      4      w  r#pVP                  ^ 8X  g   Q hVP                  ^ 8X  g   Q hVP                  ^ 8X  g   Q h\        P
                  ! \        RR7      ;_uu_ 4        \        VP                  ^4      VP                  ^ 4      4       RRR4       \        P
                  ! \        RR7      ;_uu_ 4        \        VP                  ^4      VP                  . RO4      4       RRR4       R#   + '       g   i     Lk; i  + '       g   i     R# ; i)	r   rn  r[  Nz6First coefficient of determinant `a` must be non-zero.rT  r\  r]  r   )r-   rY   r;   rì   rÃ  r   rÆ   rZ  s   &&   r`   Útest_residuez_degenerateÚ5TestPartialFractionExpansion.test_residuez_degenerate°  s?  € ä˜2Ÿ:™: q¨! fÓ-¨r¯z©zº)Ó/DÓE‰ˆˆaÜ˜AŸz™z¨1¨a¨&Ó1Ô2Ü˜AŸz™z¨2¨r¨(Ó3Ô4Ø�v‰v˜Œ{Ðˆ{ä˜2Ÿ:™: a›=¨"¯*©*°Q«-Ó8‰ˆˆaØ�v‰v˜Œ{Ðˆ{Ø�v‰v˜Œ{Ðˆ{Ø�v‰v˜Œ{Ðˆ{ä�]Š]œ:Ð-G×HÖHÜ�R—Z‘Z “] B§J¡J¨q£MÔ2÷ Iô �]Š]œ:ð"0÷1ö 1ô �R—Z‘Z “] B§J¡Jª|Ó$<Ô=÷1ñ 1÷ I×Hú÷1÷ 1ð 1ús   Ä+FÅ-F(ÆF%	Æ(F9	c                óz  € VP                  . RO4      pVP                  . RO4      pVP                  . 4      pVP                  . R	O4      pVP                  . R
O4      pR FW  p\        W#WGR7      w  r‰\        W…RR7       \        W–RRR7       \        W#WGR7      w  r‰\        W…RR7       \        W–RRR7       KY  	  R# )rK   ©ÚrtypegVçž¯Â<rˆ   F)r  r‰   N)rk  çUUUUUUÅ¿gÁ¿)r   r\  rK  )rl  rP   rK   )rP   rž   rR   r   ©Úavgr)  r±  rt  ry  ru  ©rY   r    r4   r!   )
r[   r\   r¦  rþ  rZ  Ú
b_expectedÚ
a_expectedr€  r^   r]   s
   &&        r`   Ú*test_inverse_unique_roots_different_rtypesÚGTestPartialFractionExpansion.test_inverse_unique_roots_different_rtypesÄ  s    € ð �J‰JÒ0Ó1ˆØ�J‰J’{Ó#ˆØ�J‰J�r‹NˆØ—Z‘Z¢Ó,ˆ
Ø—Z‘Z¢Ó.ˆ
ó IˆEÜ˜! Ô/‰DˆAÜ˜A°Õ6Ü˜A°uÀ5ÕIä˜1 Ô0‰DˆAÜ˜A°Õ6Ü˜A°uÀ5×Ió Irc   c                óœ  € VP                  . RO4      pVP                  . RO4      pVP                  . 4      pVP                  . R	O4      pVP                  . R
O4      pVP                  . RO4      pR FU  p\        W#WHR7      w  rš\        W•RR7       \        W§RR7       \        W#WHR7      w  rš\        W–RR7       \        W§RR7       KW  	  R# )rK   r  r‡   rˆ   Fr  N©g333333Ã?g9Žã8ŽãÈ¿r�  glÁlÁ¦?©r   r\  r\  rK  )rl  r   rP   rK   )r�  gUUUUUUå¿gUUUUUUý?rK   )rP   r?  rO  r  r   r‚  r„  )r[   r\   r¦  rþ  rZ  r…  Úb_expected_zr†  r€  r^   r]   s   &&         r`   Ú,test_inverse_repeated_roots_different_rtypesÚITestPartialFractionExpansion.test_inverse_repeated_roots_different_rtypesØ  s§   € à�J‰JÒ8Ó9ˆØ�J‰J’Ó'ˆØ�J‰J�r‹NˆØ—Z‘Z¢Ó/ˆ
Ø—z‘zÒ"7Ó8ˆØ—Z‘ZÒ 1Ó2ˆ
ãHˆEÜ˜! Ô/‰DˆAÜ˜A°Õ6Ü˜A°uÕ=ä˜1 Ô0‰DˆAÜ˜A°%Õ8Ü˜A°u×=ó Irc   c           	     ó®  € VP                  . RO4      pVP                  . RO4      pVP                  . 4      p\        P                  ! \        RR7      ;_uu_ 4        \	        W#VRR7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        W#VRR7       RRR4       R#   + '       g   i     LM; i  + '       g   i     R# ; i)rK   z`rtype` must be one ofr[  Úmedianr  NrŠ  r‹  )rY   rÃ  r   rÆ   r    r!   rZ  s   &&   r`   Útest_inverse_bad_rtypeÚ3TestPartialFractionExpansion.test_inverse_bad_rtypeê  s‹   € à�J‰JÒ8Ó9ˆØ�J‰J’Ó'ˆØ�J‰J�r‹NˆÜ�]Š]œ:Ð-E×FÖFÜ�1˜ (Õ+÷ Gä�]Š]œ:Ð-E×FÖFÜ�A˜! 8Õ,÷ GÑF÷ G×FúçF×FÐFús   ÁB0ÂCÂ0C 	ÃC	c                óü   € VP                  ^.4      pVP                  ^.4      pVP                  ^ .4      p\        W#V4      w  rV\        WQP                  ^.4      4       \        WaP                  RR.4      4       R# )rP   rå  Ng       À)rY   r!   r4   )r[   r\   r¦  rþ  rZ  r^   r]   s   &&     r`   Ú test_invresz_one_coefficient_bugÚ=TestPartialFractionExpansion.test_invresz_one_coefficient_bugô  sf   € ð �J‰J˜�s‹OˆØ�J‰J˜�s‹OˆØ�J‰J˜�s‹OˆÜ�q˜QÓ‰ˆÜ˜Ÿ:™: q c›?Ô+Ü˜Ÿ:™: s¨D kÓ2Ö3rc   c                ó¼  € \        VP                  ^.4      VP                  ^.4      VP                  . 4      4      w  r#\        W!P                  ^.4      4       \        W1P                  ^R.4      4       \        VP                  . RO4      VP                  . RO4      VP                  . 4      4      w  r#\        W!P                  . RO4      4       \        W1P                  . R	O4      4       \        VP                  R^.4      VP                  RR
.4      VP                  . RO4      4      w  r#\        W!P                  . RO4      4       \        W1P                  . RO4      4       \        VP                  . RO4      VP                  . RO4      VP                  . 4      4      w  r#\        VVP                  . RO4      4       \        VVP                  . RO4      4       \        VP                  RR.4      VP                  ^^.4      VP                  ^^.4      4      w  r#\        W!P                  . RO4      4       \        W1P                  . RO4      4       R# )rP   r®   rj  Nr´   rY  ©rY  rQ   ù      à?      À©rP   rï   rp   ©y      @      Ày      !À      Ð?y      @      
@©rP   y       À      ø¿y      à?       @y      à?      à¿rÞ  rO   )rP   ù      ð¿      ð¿ù      ð?       Àr˜  rR   ©rP   ù      À      ð¿rL   ©r´   rQ   r®   r  rL   r\  ©r´   rÐ   rÐ   rK   rK   rK   )y      @      ð¿y      <À      0@y      D@      OÀy      Y@      8@y     @rÀ     `k@y      h@     ÀpÀ©rP   y      (À       @y     €J@      4Ày      XÀ      Q@y      ;@      RÀy      [@      KÀy     @TÀ      [@)rP   r   r]  rr   rt  )r    rY   r;   ©r[   r\   r^   r]   s   &&  r`   Útest_invresÚ(TestPartialFractionExpansion.test_invresþ  sÌ  € ä�b—j‘j ! “o r§z¡z°1°#£¸¿
¹
À2»ÓG‰ˆÜ˜AŸz™z¨1¨#›Ô/Ü˜AŸz™z¨1¨b¨'Ó2Ô3ä�b—j‘jÒ!6Ó7Ø—j‘jÒ!2Ó3°R·Z±ZÀ³^óE‰ˆä˜AŸz™zÒ*OÓPÔQÜ˜AŸz™zÒ*NÓOÔPä�b—j‘j # q Ó*¨B¯J©J¸ÀÐ7GÓ,HØ—j‘j¢Ó+ó-‰ˆä˜AŸz™zÒ*LÓMÔNÜ˜AŸz™zª/Ó:Ô;ä�b—j‘jÒ!;Ó<Ø—j‘jÒ!>Ó?ÀÇÁÈBÃóQ‰ˆä˜AØŸJ™Jò (Aó Bô	Cô 	˜AØŸJ™Jò (?ó @ô	Aô �b—j‘j " b Ó*¨B¯J©J¸¸1°vÓ,>ÀÇ
Á
ÈAÈqÈ6Ó@RÓS‰ˆÜ˜AŸz™zÒ*<Ó=Ô>Ü˜AŸz™zª*Ó5Ö6rc   c                ó¼  € \        VP                  ^.4      VP                  ^.4      VP                  . 4      4      w  r#\        W!P                  ^.4      4       \        W1P                  ^R.4      4       \        VP                  . RO4      VP                  . RO4      VP                  . 4      4      w  r#\        W!P                  . RO4      4       \        W1P                  . R	O4      4       \        VP                  R^.4      VP                  RR
.4      VP                  . RO4      4      w  r#\        W!P                  . RO4      4       \        W1P                  . RO4      4       \        VP                  . RO4      VP                  . RO4      VP                  . 4      4      w  r#\        VVP                  . RO4      4       \        VVP                  . RO4      4       \        VP                  RR.4      VP                  ^^.4      VP                  ^^.4      4      w  r#\        W!P                  . RO4      4       \        W1P                  . RO4      4       R# )rP   r®   rj  Nr´   rY  r—  r™  rš  r›  rÞ  rO   )g      @rŸ  r�  y      ð¿      ÀrW   rž  r   r¡  )rN   y      IÀ      &@y      Y@      RÀy      T@      M@y      vÀ     €l@y     @m@     �rÀr¢  )r®   rP   r9  rQ   rt  )r!   rY   r;   r£  s   &&  r`   Útest_invreszÚ)TestPartialFractionExpansion.test_invresz  sÖ  € ä�r—z‘z 1 #“¨¯
©
°A°3«¸¿¹ÀB»ÓH‰ˆÜ˜AŸz™z¨1¨#›Ô/Ü˜AŸz™z¨1¨b¨'Ó2Ô3ä�r—z‘zÒ"7Ó8Ø—z‘zÒ"3Ó4°b·j±jÀ³nóF‰ˆä˜AŸz™zÒ*OÓPÔQÜ˜AŸz™zÒ*NÓOÔPä�r—z‘z 3¨ (Ó+Ø—z‘z 6¨6Ð"2Ó3Ø—z‘z¢)Ó,ó.‰ˆô 	˜AŸz™zÒ*MÓNÔOÜ˜AŸz™zª/Ó:Ô;ä�r—z‘zÒ"<Ó=Ø—z‘zÒ"?Ó@Ø—z‘z "“~ó'‰ˆô 	˜AØŸJ™Jò (Aó Bô	Cô 	˜AØŸJ™Jò (?ó @ô	Aô �r—z‘z 2 r (Ó+Ø—z‘z 1 a &Ó)Ø—z‘z 1 a &Ó)ó+‰ˆô 	˜AŸz™zª.Ó9Ô:Ü˜AŸz™zª*Ó5Ö6rc   c                ó²   € \        ^^^4      w  r#\        V^^ .4       \        V^R.4       \        ^^^4      w  r#\        V^R.4       \        V^R.4       R# )rP   Nr´   )r    r;   r!   r£  s   &&  r`   Útest_inverse_scalar_argumentsÚ:TestPartialFractionExpansion.test_inverse_scalar_arguments<  s[   € ô �a˜˜A‹‰ˆÜ˜A  1˜vÔ&Ü˜A  2˜wÔ'ä�q˜!˜QÓ‰ˆÜ˜A  2˜wÔ'Ü˜A  2˜wÖ'rc   r*  N)rž   )r,  r-  r.  r/  r:  rD  r0  rI  rO  r@   r,   r[  rk  ro  r-   rv  ry  r|  r    r!   r‡  r�  r‘  r”  r¤  r§  rª  r2  r3  r4  s   @r`   r<  r<  ²  s®  ø‡ € Øó
Dó ð
Dñ ˜dÔ#ñ?ó $ð?ñ& ˜dÔ#ñ1ó $ð1ñ �wÓñFó  ðFñP �wÓñ$ó  ð$ñ" �wÓñó  ðñ �xÓ ñQó !ðQñf �xÓ ñ$ó !ð$ñ* �xÓ ñ>ó !ð>ñ& �v˜wÓ'ñJó (ðJñ& �v˜wÓ'ñ>ó (ð>ñ" �v˜wÓ'ñ-ó (ð-ñ �wÓñ4ó  ð4ñ �vÓñ7ó ð7ñ8 �wÓñ7ó  ð7ñ@ ˜dÔ#Ù�v˜wÓ'ñ(ó (ó $ö(rc   r<  c                   ó¨   a € ] tR tRt o R t]! RRR7      R 4       tR tR tR	 t	R
 t
R t]! RRR7      R 4       tR tR tR tR tR tR tRtV tR# )ÚTestVectorstrengthiH  c                óV  € VP                  R .4      pRpRpRp\        W#4      w  rgVP                  ^ 8X  g   Q hVP                  ^ 8X  g   Q h\        P                  ! WdRR7      '       g   Q h\        P                  ! V^\        P
                  ,          V,          RR7      '       g   Q hR# )rj  rÕ  rå  r4  çvƒôõ!„>©Úabs_tolN©rY   r"   ra  r  Úiscloserx  ©r[   r\   ÚeventsÚperiodÚtarg_strengthÚ
targ_phaseÚstrengthÚphases   &&      r`   Útest_single_1dperiodÚ'TestVectorstrength.test_single_1dperiodK  sŒ   € Ø—‘˜R˜DÓ!ˆØˆØˆØˆ
ä(¨Ó8‰ˆà�}‰} Ô!Ð!Ð!Ø�z‰z˜QŒÐˆä�|Š|˜H¸V×DÓDÐDÐDÜ�|Š|˜E 1¤t§w¡w¥;°Õ#;ÀV×LÓLÐLÒLrc   r«   zphase modulo 2*pirH   c                ól  € VP                  R .4      pVP                  . RO4      pVP                  R.^,          4      pVP                  . RO4      p\        W#4      w  rgVP                  ^8X  g   Q hVP                  ^8X  g   Q h\        Wd4       \	        V^VP
                  ,          V,          4       R# )rj  rå  N)rP   rQ   rÕ  )rj  r¶  r4  )rY   r"   ra  r:   r;   rx  r´  s   &&      r`   Útest_single_2dperiodÚ'TestVectorstrength.test_single_2dperiodY  s�   € à—‘˜R˜DÓ!ˆØ—‘šJÓ'ˆØŸ
™
 B 4¨!¥8Ó,ˆØ—Z‘Z¢Ó.ˆ
ä(¨Ó8‰ˆà�}‰} Ô!Ð!Ð!Ø�z‰z˜QŒÐˆÜ! (Ô:Ü˜E 1 r§u¡u¥9¨zÕ#9Ö:rc   c                óX  € VP                  . RO4      p^pRpRp\        W#4      w  rgVP                  ^ 8X  g   Q hVP                  ^ 8X  g   Q h\        P                  ! WdRR7      '       g   Q h\        P                  ! V^\        P
                  ,          V,          RR7      '       g   Q hR# )r¶  rå  rŸ  r¯  r°  N©r¶  r¶  r¶  r¶  r¶  r¶  r²  r´  s   &&      r`   Útest_equal_1dperiodÚ&TestVectorstrength.test_equal_1dperiodg  s‹   € Ø—‘Ò:Ó;ˆØˆØˆØˆ
ä(¨Ó8‰ˆà�}‰} Ô!Ð!Ð!Ø�z‰z˜QŒÐˆä�|Š|˜H¸V×DÓDÐDÐDÜ�|Š|˜E 1¤t§w¡w¥;°Õ#;ÀV×LÓLÐLÒLrc   c                ón  € VP                  . RO4      pVP                  ^^.4      pVP                  R.^,          4      pVP                  R R.4      p\        W#4      w  rgVP                  ^8X  g   Q hVP                  ^8X  g   Q h\        Wd4       \        V^VP                  ,          V,          4       R# )r¶  rå  rŸ  NrÁ  ©rY   r"   ra  r;   rx  r´  s   &&      r`   Útest_equal_2dperiodÚ&TestVectorstrength.test_equal_2dperiodu  s–   € Ø—‘Ò:Ó;ˆØ—‘˜Q ˜HÓ%ˆØŸ
™
 B 4¨!¥8Ó,ˆØ—Z‘Z  d Ó,ˆ
ä(¨Ó8‰ˆà�}‰} Ô!Ð!Ð!Ø�z‰z˜QŒÐˆÜ˜HÔ4Ü˜E 1 r§u¡u¥9¨zÕ#9Ö:rc   c                óX  € VP                  . RO4      p^pRpR p\        W#4      w  rgVP                  ^ 8X  g   Q hVP                  ^ 8X  g   Q h\        P                  ! WdRR7      '       g   Q h\        P                  ! V^\        P
                  ,          V,          RR7      '       g   Q hR# )r4  rå  r¯  r°  rÎ  N©r4  gš™™™™™ñ?gÍÌÌÌÌÌ @gffffff@g333333$@r²  r´  s   &&      r`   Útest_spaced_1dperiodÚ'TestVectorstrength.test_spaced_1dperiod‚  s‹   € Ø—‘Ò5Ó6ˆØˆØˆØˆ
ä(¨Ó8‰ˆà�}‰} Ô!Ð!Ð!Ø�z‰z˜QŒÐˆä�|Š|˜H¸V×DÓDÐDÐDÜ�|Š|˜E 1¤t§w¡w¥;°Õ#;ÀV×LÓLÐLÒLrc   c                ó°  € VP                  . RO4      pVP                  ^R.4      pVP                  R.^,          4      pVP                  R R.4      p\        W#4      w  rgVP                  ^8X  g   Q hVP                  ^8X  g   Q h\        Wd4       \	        V4      VP
                  8X  d   RR/M/ p\        V^VP                  ,          V,          3/ VB  R# )r4  rj  rå  rQ  rð   g�íµ ÷ÆÀ>NrÉ  )rY   r"   ra  r;   r>   rý   r4   rx  )	r[   r\   rµ  r¶  r·  r¸  r¹  rº  Úrtol_kws	   &&       r`   Útest_spaced_2dperiodÚ'TestVectorstrength.test_spaced_2dperiod�  s¶   € Ø—‘Ò5Ó6ˆØ—‘˜Q ˜GÓ$ˆØŸ
™
 B 4¨!¥8Ó,ˆØ—Z‘Z  R Ó)ˆ
ä(¨Ó8‰ˆà�}‰} Ô!Ð!Ð!Ø�z‰z˜QŒÐˆÜ˜HÔ4Ü$4°RÓ$8¸B¿J¹JÔ$F�6˜4‘.ÈBˆÜ˜˜q 2§5¡5�y¨:Õ5ÑA¸ÔArc   c                óP  € VP                  . RO4      p^pRpRp\        W#4      w  rgVP                  ^ 8X  g   Q hVP                  ^ 8X  g   Q h\        P                  ! Wd4      '       g   Q h\        P                  ! V^\        P
                  ,          V,          4      '       g   Q hR# )r¶  rj  N©r¶  rj  ç      è?çUUUUUUÕ?r²  r´  s   &&      r`   Útest_partial_1dperiodÚ(TestVectorstrength.test_partial_1dperiodž  s†   € Ø—‘šNÓ+ˆØˆØˆØˆ
ä(¨Ó8‰ˆà�}‰} Ô!Ð!Ð!Ø�z‰z˜QŒÐˆä�|Š|˜H×4Ò4Ð4Ð4Ü�|Š|˜E 1¤t§w¡w¥;°Õ#;×<Ò<Ð<Ò<rc   c                ón  € VP                  . RO4      pVP                  . RO4      pVP                  R.^,          4      pVP                  . RO4      p\        W#4      w  rgVP                  ^8X  g   Q hVP                  ^8X  g   Q h\        Wd4       \        V^VP                  ,          V,          4       R# )r¶  NrÑ  )rå  rå  rå  rå  rÓ  )rj  rj  rj  rj  rÅ  r´  s   &&      r`   Útest_partial_2dperiodÚ(TestVectorstrength.test_partial_2dperiod­  s�   € à—‘šNÓ+ˆØ—‘Ò,Ó-ˆØŸ
™
 G 9¨q¥=Ó1ˆØ—Z‘ZÒ 0Ó1ˆ
ä(¨Ó8‰ˆà�}‰} Ô!Ð!Ð!Ø�z‰z˜QŒÐˆÜ˜HÔ4Ü˜E 1 r§u¡u¥9¨zÕ#9Ö:rc   c                óÚ   € VP                  . RO4      pRp^ p\        W#4      w  rVVP                  ^ 8X  g   Q hVP                  ^ 8X  g   Q h\        P                  ! WTRR7      '       g   Q hR# )r   rå  r¯  r°  N©r   r¶  rj  rÒ  )rY   r"   ra  r  r³  ©r[   r\   rµ  r¶  r·  r¹  rº  s   &&     r`   Útest_opposite_1dperiodÚ)TestVectorstrength.test_opposite_1dperiod»  s`   € Ø—‘Ò-Ó.ˆØˆØˆä(¨Ó8‰ˆà�}‰} Ô!Ð!Ð!Ø�z‰z˜QŒÐˆÜ�|Š|˜H¸V×DÓDÐDÒDrc   c                ó  € VP                  . RO4      pVP                  R.^
,          4      pVP                  R.^
,          4      p\        W#4      w  rVVP                  ^8X  g   Q hVP                  ^8X  g   Q h\        WT4       R# )r   rå  rl  NrÚ  )rY   r"   ra  r;   rÛ  s   &&     r`   Útest_opposite_2dperiodÚ)TestVectorstrength.test_opposite_2dperiodÆ  so   € Ø—‘Ò-Ó.ˆØ—‘˜R˜D 2�IÓ&ˆØŸ
™
 B 4¨"¥9Ó-ˆä(¨Ó8‰ˆà�}‰} Ô!Ð!Ð!Ø�z‰z˜QŒÐˆÜ˜HÖ4rc   c                ó\   € VP                  ^^..4      pRp\        \        \        W#4       R# )rP   rå  N©rY   rÅ   rÆ   r"   ©r[   r\   rµ  r¶  s   &&  r`   Útest_2d_events_ValueErrorÚ,TestVectorstrength.test_2d_events_ValueErrorÑ  s'   € Ø—‘˜a ˜V˜HÓ%ˆØˆÜ”j¤.°&ÖArc   c                óZ   € R pVP                  ^..4      p\        \        \        W#4       R# ©rå  Nrâ  rã  s   &&  r`   Útest_2d_period_ValueErrorÚ,TestVectorstrength.test_2d_period_ValueErrorÖ  s%   € ØˆØ—‘˜a˜S˜EÓ"ˆÜ”j¤.°&ÖArc   c                ó8   € R p^ p\        \        \        W#4       R# rç  ©rÅ   rÆ   r"   rã  s   &&  r`   Útest_zero_period_ValueErrorÚ.TestVectorstrength.test_zero_period_ValueErrorÛ  s   € ØˆØˆÜ”j¤.°&ÖArc   c                ó8   € R pRp\        \        \        W#4       R# )rå  Nr´   rë  rã  s   &&  r`   Útest_negative_period_ValueErrorÚ2TestVectorstrength.test_negative_period_ValueErrorà  s   € ØˆØˆÜ”j¤.°&ÖArc   r*  N)r,  r-  r.  r/  r»  r1  r¾  rÂ  rÆ  rÊ  rÎ  rÔ  r×  rÜ  rß  rä  rè  rì  rï  r2  r3  r4  s   @r`   r­  r­  H  sˆ   ø‡ € òMñ �wÐ':Ô;ñ;ó <ð;òMò;òMòBò=ñ �wÐ':Ô;ñ;ó <ð;ò	Eò	5òBò
Bò
B÷
Bð Brc   r­  )r+  c                   óx  a € ] tR tRt o ]! RRR7      R 4       t]! RRR7      R 4       t]! RRR7      R 4       tR t]! RR	R7      R
 4       t	]! RR	R7      ]! RRR7      R 4       4       t
]! RR	R7      R 4       t]! RRR7      ]! RR	R7      R 4       4       t]! RR	R7      R 4       t]! RR7      R 4       tRtV tR# )ÚTestSOSFiltiì  rF   zbuffer array is read-onlyrH   c                ó~  € \        W!4      pVP                  ^ ^^VR7      pVP                  ^R.VR7      pVP                  RR.VR7      pVP                  . ROVR7      p\        \        P                  WE34      w  rx\        Wx4      p	VP                  V	4      p	\        \        W“4      V4       VP                  ^^.VR7      pVP                  ^^ .VR7      pVP                  . ROVR7      p\        \        P                  WE34      w  rx\        Wx4      p	VP                  V	4      p	\        \        W“4      V4       VP                  . RO4      pVP                  . R	O4      pVP                  ^4      pVP                  WE34      p	VP                  V	R
4      p	\        W“4      p
\        W¢P                  . RO4      4       R# )r   r¯   rj  Nr´   r!  r"  r)  )rå  rP   r   )rå  r   r   r˜  )rå  rQ   rQ   rQ   rQ   rQ   rQ   rQ   )rÃ  r@  rY   r¼  r   r$   r:   r%   rƒ  Úconcatr‹   r4   )r[   r¢  r\   rt   r^   r]   r%  Úbbr~  r“  ru   s   &&&        r`   Ú
test_rank1ÚTestSOSFilt.test_rank1ò  sw  € ä�R‹_ˆØ�K‰K˜˜1˜a rˆKÓ*ˆØ�J‰J˜˜2�w bˆJÓ)ˆØ�J‰J˜˜T�{¨"ˆJÓ-ˆð �j‰jÒ-°RˆjÓ8ˆÜ”R—Z‘Z ! Ó(‰ˆÜ�R‹nˆØ�j‰j˜‹oˆÜ!¤'¨#£/°3Ô7ð �J‰J˜˜1�v RˆJÓ(ˆà�J‰J˜˜1�v RˆJÓ(ˆØ�j‰jÒ,°BˆjÓ7ˆÜ”R—Z‘Z ! Ó(‰ˆÜ�R‹nˆØ�j‰j˜‹oˆÜ!¤'¨#£/°3Ô7à�J‰J’{Ó#ˆØ�J‰J’{Ó#ˆØ�G‰G�A‹Jˆà�i‰i˜˜ÓˆØ�j‰j˜˜fÓ%ˆÜ�C‹OˆÜ˜Ÿ:™:Ò&@ÓAÖBrc   c                ó~  € \        W!4      pRp\        P                  ! V4      pVP                  ^ V^,
          WAR7      pVP	                  WS4      pVP                  ^R.VR7      pVP                  RR.VR7      pVP                  . RO. RO. RO. RO.VR7      pVP                  . R	O. R
O. RO. RO.VR7      p	\        \        P
                  Wg34      w  r«\        W«4      pVP                  V4      p\        WÅ^ R7      p\        W�4       \        W«4      pVP                  V4      p\        WÅ^R7      p\        W�4       R# )rL   r¯   rj  r¢  Nr;  r´   r<  r=  rB  rC  rD  rE  )rÃ  r  r  r@  r‹   rY   r¼  r   r$   r%   r:   )r[   r¢  r\   r³  r	  rt   r^   r]   r>  rF  rõ  r~  r“  ru   s   &&&           r`   Ú
test_rank2ÚTestSOSFilt.test_rank2  s!  € ä�R‹_ˆØˆÜ—I’I˜eÓ$ˆ	Ø�K‰K˜˜9 q�=¨)ˆKÓ>ˆØ�J‰J�qÓ ˆà�J‰J˜˜2�w bˆJÓ)ˆØ�J‰J˜˜S�z¨ˆJÓ,ˆà—*‘*šiª²IºyÐIØ!#ð ó %ˆð —*‘*šiª²]Ú)ð+Ø24ð ó 6ˆô ”R—Z‘Z ! Ó(‰ˆÜ�R‹nˆØ�j‰j˜‹oˆÜ�C Ô#ˆÜ! 'Ô-ä�R‹nˆØ�j‰j˜‹oˆÜ�C Ô#ˆÜ! 'Ö-rc   c                óZ  € \        W!4      pRp\        P                  ! V4      pVP                  ^ V^,
          V4      pVP	                  WS4      pVP                  ^R.VR7      pVP                  RR.VR7      p\        \        P
                  Wg34      w  r‰\        W‰4      p
VP                  V
4      p
\        W¥4      p\        VP                  ^ ,          4       FN  p\        VP                  ^,          4       F+  p\        W¼VR3,          \        WgW\VR3,          4      4       K-  	  KP  	  R# )rL   r¯   rj  .Nr_  r´   )rÃ  r  r  r@  r‹   rY   r¼  r   r$   r%   r�   r³  r:   r   )r[   r¢  r\   r³  r	  rt   r^   r]   rõ  r~  r“  ru   r�   Újs   &&&           r`   rd  ÚTestSOSFilt.test_rank3/  sò   € ä�R‹_ˆØˆÜ—I’I˜eÓ$ˆ	Ø�K‰K˜˜9 q�=¨)Ó4ˆØ�J‰J�qÓ ˆà�J‰J˜˜2�w bˆJÓ)ˆØ�J‰J˜˜S�z¨ˆJÓ,ˆô ”R—Z‘Z ! Ó(‰ˆÜ�R‹nˆØ�j‰j˜‹oˆÜ�C‹OˆÜ�q—w‘w˜q•zÖ"ˆAÜ˜1Ÿ7™7 1�:Ö&�Ü)¨!¨q°#¨I­,¼ÀÀaÈ1ÈcÈ	ÅlÓ8SÖTó 'ó #rc   c                ó>  € \         P                  ! ^RR4      w  r#\         P                  ! ^RR4      w  rE\         P                  ! ^RR4      w  rg\        P                  ! \        P                  ! W$4      V4      p\        P                  ! \        P                  ! W54      V4      p	\        P                  ! \        P
                  W#3,          \        P
                  WE3,          \        P
                  Wg3,          34      p
\        VP                  W˜V
34      w  r˜p
W˜V
3# )rQ   r¶  ÚlowrÒ  )r   r   r   r   rÍ  Úr_r¼  rY   )r[   r\   Úb1ru  Úb2rv  Úb3rw  r^   r]   r“  s   &&         r`   Ú_get_ab_sosÚTestSOSFilt._get_ab_sosC  sÅ   € Ü—’˜q $¨Ó.‰ˆÜ—’˜q $¨Ó.‰ˆÜ—’˜q $¨Ó.‰ˆÜ�KŠKœŸš BÓ+¨RÓ0ˆÜ�KŠKœŸš BÓ+¨RÓ0ˆÜ�hŠhœŸ™˜b˜f�¤r§u¡u¨R¨V¥}´b·e±e¸B¸FµmÐDÓEˆä˜Ÿ
™
 Q¨3 KÓ0‰	ˆˆcØ�SˆyÐrc   zitem assignmentc           
     óø  € V P                  V4      w  r4p\        P                  P                  ^24      P	                  V4      pVP                  V4      p\        W!4      p\        WCVR,          VP                  ^4      R7      w  rxVP                  V\        WCVR,          VR7      ^ ,          34      p\        V\        WCV4      4       \        WVR,          VP                  R4      R7      w  r˜VP                  V	\        WVR,          VR7      ^ ,          34      p	\        Wy4       \        V4      pVP                  ^VR7      p\        WVVR7      w  r«\        W¢P                  ^4      RR7       \        W¸RR7       R# )	r  :Nr  Nr-  :r  NNr¯   Fr  Nrä   )r  r   r  r:  r  rY   rÃ  r   r·  rô  r4   r%   r'   rƒ  )r[   r¢  r\   r]   r^   r“  rt   Úy_truer.  rÅ  ru   r4  s   &&&         r`   Útest_initial_conditionsÚ#TestSOSFilt.test_initial_conditionsN  s*  € à×$Ñ$ RÓ(‰	ˆˆcä�I‰I�N‰N˜2Ó×%Ñ% bÓ)ˆØ�J‰J�q‹Mˆä�R‹_ˆô ˜Q 1 S¥6¨b¯h©h°q«kÔ:‰
ˆØ—‘˜F¤G¨A°!°Cµ&¸RÔ$@ÀÕ$CÐDÓEˆÜ˜¤¨¨aÓ 0Ô1ä˜C 3¥¨B¯H©H°VÓ,<Ô=‰	ˆØ—	‘	˜5¤'¨#°­v¸"Ô"=¸aÕ"@ÐAÓBˆÜ˜Ô&ô ˜‹_ˆØ�G‰G�A˜RˆGÓ ˆÜ˜ 2Ô&‰ˆä˜Ÿ7™7 1›:°5Õ9Ü˜¨E×2rc   r±  zfancy indexing not supportedc                ó"  € \        W!4      pVP                  ^VR7      pV P                  V4      w   rE\        V4      pVP	                  VRVP
                  ,           4      p\        P                  ! \        4      ;_uu_ 4        \        WSVR7       RRR4       \        WbR7      pVP	                  WvP
                  ^ ,          ^^VP
                  R	,          34      p\        P                  ! \        4      ;_uu_ 4        \        WSVRRR. R
O3,          R7       RRR4       \        WSVR7      w  r‰\        VR,          VP                  ^4      RR7       \        V	R,          VRR7       R#   + '       g   i     Lâ; i  + '       g   i     Lm; i)r­   r¯   r-  Nr   r¦  Fr  rñ  r´   )r   rP   rP   rï  )r¦  r   r   r¦  )rÃ  rƒ  r  r'   r‹   r³  rÃ  r   rÆ   r%   r<   r4   )
r[   r¢  r\   rt   rA  r“  r.  Úzi_ndru   r4  s
   &&&       r`   Útest_initial_conditions_2Ú%TestSOSFilt.test_initial_conditions_2h  s  € ô �R‹_ˆØ�G‰G�A˜RˆGÓ ˆà×$Ñ$ RÓ(‰	ˆˆ1Ü˜‹_ˆð �J‰J�q˜& 1§7¡7Õ*Ó+ˆÜ�]Š]œ:×&Õ&Ü�C˜rÕ"÷ 'ô ˜Ô"ˆØ—
‘
˜5§8¡8¨A¥;°°1°b·h±h¸rµlÐ"CÓDˆä�]Š]œ:×&Õ&Ü�C˜u Q¨¨1ªiÐ%7Õ8Õ9÷ 'ô ˜ 5Ô)‰ˆÜ˜˜$� §¡¨£¸Õ?Ü˜˜:�¨¸×>÷ '×&ú÷ '×&ús   ÂE+Ã>E>Å+E;	Å>F	c                ó4  € \         P                  P                  ^Ÿ4      P                  ^ ^RR7      pVP	                  V4      pVP                  V4      p\        P                  ! ^RRR7      p\        V!  pVP                  V4      pVP                  ^ ,          p^p\        VP                  4      p^W‡&   \        V.V,           4      pVP                  V4      p	\        WSWyR7      w  r«\        WSR,          WyR7      w  rÍ\        WSR,          W}R7      w  rïVP                  WÎ3VR7      p\        VV
RRR	7       \        WûRRR	7       \!        V4      pVP#                  VV^^^34      pVVR,          ,          p\        WSVVR7      ^ ,          p\%        V!  w  ppVP                  V4      VP                  V4      pp\'        VV4      pVP#                  V^\)        V4      ^34      pVVR,          ,          p\+        VVW7VR7      ^ ,          p\        VVRRR	7       R
# )éŸ   rë   rÃ  r•  r…  rJ  r¢  r7  rX  rC  N)rQ   r  rK   )r¦  :NrM   Nr¦  )r¦  :rM   NNr¦  )r¦  :r   rP   Nr¦  )r   r  r  r^  r  rY   r   r   r   r³  rÓ  rŽ   r·  r%   rô  r4   r'   r‹   r   r   r=   r   )r[   r¢  r\   rt   r•  r“  Ú	nsectionsr£  ÚshpÚz0r¾  r4  rœ  r·  rÚ  r¸  ru   r.  r^   r]   Úy_tfs   &&&                  r`   Ú test_initial_conditions_3d_axis1Ú,TestSOSFilt.test_initial_conditions_3d_axis1€  sß  € ô
 �I‰I×!Ñ! #Ó&×.Ñ.¨q°!¸*Ð.ÓEˆØ�H‰H�R‹LˆØ�J‰J�q‹Mˆô �mŠm˜A˜t¨EÔ2ˆÜ�s‰mˆØ�j‰j˜‹oˆà—I‘I˜a•Lˆ	ð ˆô �1—7‘7‹mˆØˆ‰	Ü�Y�K #Õ%Ó&ˆØ�X‰X�c‹]ˆô ˜ dÔ2‰ˆô ˜ �k°Ô<‰ˆÜ˜ �k°Ô<‰ˆð �I‰I�r�h TˆIÓ*ˆÜ˜˜2 E°Õ6Ü˜ U°Õ7ô ˜‹_ˆØ�Z‰Z˜˜Y¨¨1¨aÐ0Ó1ˆØ�!�I•,ÕˆÜ�C ¨"Ô-¨aÕ0ˆä�s‰|‰ˆˆ1Ø�z‰z˜!‹}˜bŸj™j¨›mˆ1ˆä˜˜1ÓˆØ�Z‰Z˜˜Q¤¨£¨QÐ/Ó0ˆØ�!�I•,ÕˆÜ�q˜!˜Q¨bÔ1°!Õ4ˆÜ˜˜4 e°%×8rc   r«   zissues a RuntimeWarningc           	     óÊ  € \        W!4      pVP                  RVR7      pVP                  R	4      pVP                  R
4      p\        P                  ! \
        RR7      ;_uu_ 4        \        WCV^R7       RRR4       RVR&   \        P                  ! \
        RR7      ;_uu_ 4        \        WCV^R7       RRR4       R#   + '       g   i     LR; i  + '       g   i     R# ; i)rK   r¯   zshould be all onesr[  )r.  r£  Nrå  zInvalid zi shape)rK   r  rK   )rL   rN   )rL   rK   rK   rQ   )r¦  rK   )rÃ  r  r·  rÃ  r   rÆ   r%   )r[   r¢  r\   rt   r“  r.  s   &&&   r`   Útest_bad_zi_shapeÚTestSOSFilt.test_bad_zi_shape´  s¨   € ô �R‹_ˆð �H‰H�Z rˆHÓ*ˆØ�h‰h�vÓˆØ�X‰X�lÓ#ˆÜ�]Š]œ:Ð-A×BÖBÜ�C˜r¨Õ*÷ CàˆˆD‰	Ü�]Š]œ:Ð-?×@Ö@Ü�C˜r¨Õ*÷ AÑ@÷ C×Bú÷ A×@Ð@ús   Á%B>Â%CÂ>C	ÃC"	c                ó¸  € \        W!4      p\        P                  ! ^RRR7      pVP                  V4      p\	        V4      p\        W2P                  ^(VR7      VR7      w  rV\        WdRRR7       VP                  VP                  VR,          RR	7      VP                  VR,          RR	7      ,          4      p\        WWVP                  V4      ,          RR
7       R# )rN   rQ  r“  r…  r¯   r-  rX  F©rð   r  r¢  r8  N)r¦  :NrK   Nr´   )r¦  :rK   NN)rÃ  r   r   rY   r'   r%   rƒ  r4   r  rÊ  r˜  )r[   r¢  r\   r“  r.  ru   r4  Ússs   &&&     r`   Útest_sosfilt_ziÚTestSOSFilt.test_sosfilt_ziÃ  s¨   € ä�R‹_ˆÜ�mŠm˜A˜s¨5Ô1ˆØ�j‰j˜‹oˆÜ˜‹_ˆä˜ŸW™W R¨r˜WÓ2°rÔ:‰ˆÜ˜ U¸Õ>ð �W‰W�R—V‘V˜C �J¨R�VÓ0°2·6±6¸#¸e½*È2°6Ó3NÕNÓOˆÜ˜ §¡¨Q£Õ/°e×<rc   Tr$  c                óþ   € \        W!4      p\        P                  ! ^RRR7      pVP                  V4      p\	        V4      p\        W2P                  ^(VR7      VP                  4       R7      w  rV\        WdRRR7       R	# )
rN   rQ  r“  r…  r¯   r-  rX  Fr  N)	rÃ  r   r   rY   r'   r%   rƒ  r_  r4   )r[   r¢  r\   r“  r.  rA  r4  s   &&&    r`   Útest_sosfilt_zi_2ÚTestSOSFilt.test_sosfilt_zi_2Ñ  sb   € ô �R‹_ˆÜ�mŠm˜A˜s¨5Ô1ˆØ�j‰j˜‹oˆÜ˜‹_ˆä˜ŸW™W R¨r˜WÓ2°r·y±y³{ÔC‰ˆÜ˜ U¸×>rc   r*  N)r,  r-  r.  r/  r0  rö  rù  rd  r  r  r  r  r  r  r  r2  r3  r4  s   @r`   rò  rò  ì  s/  ø‡ € ñ �kÐ*EÔFñCó GðCñ@ �kÐ*EÔFñ.ó Gð.ñ6 �kÐ*EÔFñUó GðUò&	ñ �kÐ*;Ô<ñ3ó =ð3ñ2 �kÐ*;Ô<ÙÐ(Ð1OÔPñ?ó Qó =ð?ñ, �kÐ*;Ô<ñ19ó =ð19ñf �gÐ&?Ô@Ù�kÐ*;Ô<ñ+ó =ó Að+ñ �kÐ*;Ô<ñ=ó =ð=ñ ˜dÔ#ñ?ó $ö?rc   rò  c                   óŒ   a € ] tR tRt o ]! RRR7      R 4       tR t]! RRR	7      R
 4       t]! RRR	7      R 4       t	R t
RtV tR# )ÚTestDeconvolveiÝ  TrŒ  r}   c                ó‚   € . ROp^^.pVP                  . RO4      p\        P                  ! WC4      w  rV\        WR4       R# )rl  N©rl  rP   r   r   rP   rP   r   r   ©	rl  rQ   rP   r   rQ   rK   rP   r   r   )rY   r   Ú
deconvolver4   ©r[   r\   ÚoriginalÚimpulse_responseÚrecordedÚ	recoveredÚ	remainders   &&     r`   r„  ÚTestDeconvolve.test_array_likeà  s=   € ò .ˆØ˜q˜6ÐØ—:‘:Ò;Ó<ˆÜ%×0Ò0°ÓLÑˆ	Ü˜	Ö,rc   c                óÖ   € VP                  . ROVP                  R7      pVP                  ^^.4      pVP                  . RO4      p\        P                  ! WC4      w  rV\	        WR4       R# )rl  r¯   Nr$  r%  )rY   rþ   r   r&  r4   r'  s   &&     r`   ra   ÚTestDeconvolve.test_basicé  sV   € à—:‘:Ò8ÀÇ
Á
�:ÓKˆØŸ:™: q¨! fÓ-ÐØ—:‘:Ò;Ó<ˆÜ%×0Ò0°ÓLÑˆ	Ü˜	Ö,rc   r™   zdifferent error messagerH   c                ó  € VP                  ^ ^ .^ ^ ..4      pVP                  ^ ^ .4      p\        P                  ! \        RR7      ;_uu_ 4        \        P
                  ! W#4      w  rERRR4       R#   + '       g   i     R# ; i)r   z#^Parameter signal must be non-emptyr[  N©rY   rÃ  r   rÆ   r   r&  ©r[   r\   r*  r)  Úquotientr,  s   &&    r`   Útest_n_dimensional_signalÚ(TestDeconvolve.test_n_dimensional_signalñ  se   € à—:‘:  1˜v¨¨1 vÐ.Ó/ˆØŸ:™: q¨! fÓ-ÐÜ�]Š]œ:Ð-R×SÖSÜ"(×"3Ò"3°HÓ"OÑˆH÷ T×S×SÒSúó   ÁA2Á2B	c                ó  € VP                  ^ ^ .4      pVP                  ^ ^ .^ ^ ..4      p\        P                  ! \        RR7      ;_uu_ 4        \        P
                  ! W#4      w  rERRR4       R#   + '       g   i     R# ; i)r   z$^Parameter divisor must be non-emptyr[  Nr1  r2  s   &&    r`   Útest_n_dimensional_divisorÚ)TestDeconvolve.test_n_dimensional_divisorø  se   € à—:‘:˜q !˜fÓ%ˆØŸ:™:¨¨1 v°°1¨vÐ&6Ó7ÐÜ�]Š]œ:Ð-S×TÖTÜ"(×"3Ò"3°HÓ"OÑˆH÷ U×T×TÒTúr6  c                óØ   € VP                  . RO4      VP                  . RO4      r2\        P                  ! W#4      w  rE\        WR4       \	        VP                  V4      4      ^ 8X  g   Q hR# )zCReturn signal as `remainder` when ``len(divisior) > len(signal)``. NrŸ  )r   rP   rQ   rL   rM   )rY   r   r&  r5   r=   )r[   r\   r4  Údivr3  r,  s   &&    r`   Útest_divisor_greater_signalÚ*TestDeconvolve.test_divisor_greater_signalÿ  sR   € à—:‘:šiÓ(¨"¯*©*²_Ó*EˆSÜ$×/Ò/°Ó9ÑˆÜ˜	Ô'Ü�r—z‘z (Ó+Ó,°Ô1Ð1Ò1rc   r*  N)r,  r-  r.  r/  r0  r„  ra   r1  r4  r8  r<  r2  r3  r4  s   @r`   r"  r"  Ý  so   ø‡ € ñ ˜dÐ+KÔLñ-ó Mð-ò-ñ �vÐ&?Ô@ñPó AðPñ �vÐ&?Ô@ñPó AðP÷2ð 2rc   r"  c                   óF  a € ] tR tRt o R t]! RRR7      R 4       t]P                  P                  RRR	.4      ]P                  P                  R
. RO4      R 4       4       t
R t]P                  P                  R]P                  ! ^ ^.4      ^ ^..4      R 4       tRtV tR# )ÚTestDetrendi  c                óz   € \        VP                  . RO4      4      pVP                  . RO4      p\        W#4       R# )rP   NrO   rÿ  )r*   rY   r:   )r[   r\   Ú	detrendedÚdetrended_exacts   &&  r`   ra   ÚTestDetrend.test_basic
  s+   € Ü˜BŸJ™J¢yÓ1Ó2ˆ	ØŸ*™*¢YÓ/ˆÜ! )Ö=rc   rF   zoverwrite_data not implementedrH   c                óv   € VP                  . RO4      p\        VRR7      p\        VRR7      p\        W44       R# )rP   F)Úoverwrite_dataTN)rP   ç333333ó?rÐ  gš™™™™™ù?g333333@)rY   r*   r:   )r[   r\   rt   Ú
copy_arrayÚinplaces   &&   r`   Ú	test_copyÚTestDetrend.test_copy  s1   € à�J‰JÒ.Ó/ˆÜ˜Q¨uÔ5ˆ
Ü˜!¨DÔ1ˆÜ! *Ö6rc   r  Úlinearr,  r£  c                óœ   € VP                  VP                  ^Ò4      R4      p\        WBVR7      pVP                  VP                  8X  g   Q hR# )rM   )r  r£  N)rM   rN   rž   )r‹   rŒ   r*   r³  )r[   r£  r  r\   rú  rA  s   &&&&  r`   r¯  ÚTestDetrend.test_axis  s?   € ð �z‰z˜"Ÿ)™) EÓ*¨IÓ6ˆÜ˜D°$Ô7ˆ	Ø�‰ $§*¡*Ô,Ð,Ò,rc   c                ó   € . RO. RO,           pVP                  V4      p\        VR^R7      p\        W1P                  V4      RR7       VP                  V4      R	,          p\        VR^^R7      p\        W1P                  V4      RR7       \	        \
        4      ;_uu_ 4        \        VR^R7       RRR4       R#   + '       g   i     R# ; i)
r   rK  )r  Úbpr‡   rˆ   N)r  rO  r£  rŸ  )rM   r   rK  r0  )Nr¦  N)rY   r*   r4   ró  rÅ   rÆ   )r[   r\   rú  rA  s   &&  r`   Útest_bpÚTestDetrend.test_bp  s›   € Úš?Õ*ˆØ�z‰z˜$ÓˆÜ˜D x°AÔ6ˆ	Ü˜	§=¡=°Ó#;À%ÕHð �z‰z˜$Ó Õ.ˆä˜D x°A¸AÔ>ˆ	Ü˜	§=¡=°Ó#;À%ÕHô œ:×&Õ&Ü�D˜x¨AÕ.÷ '×&×&Ò&ús   Â#B<Â<C	rO  c                ó(  € \         P                  P                  R 4      pVP                  ^
4      pVP	                  V\        V4      R7      p\        V\         P                  4      '       d$   \        V4      '       g   VP	                  V4      pM8\        V4      '       g(   \        V4      '       g   \        P                  ! R4       \        WAR7      pVP	                  . RO4      p\        V4      VP                  8X  d   RMRp\        WVVR7       R# )	i90  r¯   z'list bp is currently numpy and jax only)rO  r?  r‡   rˆ   N)
g¢3   À¼g¢3   °¼gÿ_ìòêr¼¿g�b	6±Å¿gq üç­]½?g=~¹›D°?g@âzI Ö?gØñòƒÙÕ¢¿gˆ»Ý?Ô…”¿g1ï
ÛàÈ¿)r   r  r  r:  rY   r>   rÒ  Úndarrayr8   r6   rÃ  rÂ  r*   rý   r4   )r[   rO  r\   r  rt   r²  Úres_scipy_191r‰   s   &&&     r`   Útest_detrend_array_bpÚ!TestDetrend.test_detrend_array_bp-  sÅ   € ô �i‰i×#Ñ# EÓ*ˆØ�H‰H�R‹LˆØ�J‰J�qÔ 0°Ó 4ˆJÓ5ˆÜ�bœ"Ÿ*™*×%Ò%¬f°R¯jªjð —‘˜B“‰Bä˜R—L’L¤F¨2§J¢JÜ—’ÐEÔFä�aÔˆØŸ
™
ò $Oó Pˆô (¨Ó+¨r¯z©zÔ9‰t¸uˆÜ˜°×6rc   r*  NrŸ  )r,  r-  r.  r/  ra   r0  rI  rÃ  rÄ  rÅ  r¯  rP  r   rÍ  rU  r2  r3  r4  s   @r`   r?  r?    sª   ø‡ € ò>ñ
 �kÐ*JÔKñ7ó Lð7ð ‡[�[×Ñ˜V h°
Ð%;Ó<Ø‡[�[×Ñ˜V¢YÓ/ñ-ó 0ó =ð-ò
/ð  ‡[�[×Ñ˜T B§H¢H¨a°¨VÓ$4°q¸!°fÐ#=Ó>ñ7ó ?ö7rc   r?  c                   óJ   a € ] tR tRt o R tR tR tR tR tR t	R t
R	tV tR
# )ÚTestUniqueRootsiD  c                ó²   € VP                  . RO4      p\        V4      w  r4\        W2^R7       \        WAP	                  \        V4      \        R7      4       R# )rå  r  r¯   N)r  r!  rk  rF  rs  ©rY   r+   r;   r5   rƒ  r   rÑ  ©r[   r\   rþ  rM  rN  s   &&   r`   Útest_real_no_repeatÚ#TestUniqueRoots.test_real_no_repeatF  s@   € Ø�J‰JÒ3Ó4ˆÜ+¨A›ÑˆÜ˜F¨rÕ2Ü˜§g¡g¬c°!«f¼C gÓ&@ÖArc   c                óè  € VP                  . RO4      p\        VRRR7      w  r4\        W1P                  . R	O4      ^R7       \        WAP                  . R
O4      4       \        VRRR7      w  r4\        W1P                  . RO4      ^R7       \        WAP                  . R
O4      4       \        VRRR7      w  r4\        W1P                  . RO4      ^R7       \        WAP                  . R
O4      4       R# )rå  r4  r±  ©Útolr€  r  ry  rƒ  N)r  çffffffî¿ç{®Gázì¿çš™™™™™é¿rj  rå  çÍÌÌÌÌÌð?)r  rb  rj  rå  ©rQ   rQ   rP   rQ   )ra  rc  rj  rd  )g333333ï¿g
×£p=
ë¿rj  gffffffð?©rY   r+   r;   r5   r[  s   &&   r`   Útest_real_repeatÚ TestUniqueRoots.test_real_repeatL  s¸   € Ø�J‰JÒAÓBˆä+¨A°4¸uÔEÑˆÜ˜F§J¡JÒ/FÓ$GÐQSÕTÜ˜§j¡j²Ó&>Ô?ä+¨A°4¸uÔEÑˆÜ˜F§J¡JÒ/GÓ$HÐRTÕUÜ˜§j¡j²Ó&>Ô?ä+¨A°4¸uÔEÑˆÜ˜F§J¡JÒ/KÓ$LØ$&õ	(ä˜§j¡j²Ó&>Ö?rc   c                ó²   € VP                  . RO4      p\        V4      w  r4\        W2^R7       \        WAP	                  \        V4      \        R7      4       R# )rå  r  r¯   N)r  r®   ù      à?      à?rœ  rŸ  rZ  r[  s   &&   r`   Útest_complex_no_repeatÚ&TestUniqueRoots.test_complex_no_repeat\  s@   € Ø�J‰JÒHÓIˆÜ+¨A›ÑˆÜ˜F¨rÕ2Ü˜§g¡g¬c°!«f¼C gÓ&@ÖArc   c                óî  € VP                  . RO4      p\        VRRR7      w  r4\        VVP                  . R	O4      ^R7       \        WAP                  . R
O4      4       \        VRRR7      w  r4\        VVP                  . RO4      ^R7       \        WAP                  . R
O4      4       \        VRRR7      w  r4\        VVP                  . RO4      ^R7       \        WAP                  . R
O4      4       R# )rå  r4  r±  r_  r  ry  rƒ  N)r  ù      ð¿š™™™™™©?ùffffffî¿333333Ã?ùÍÌÌÌÌÌì¿333333Ã?rl  rj  ùÍÌÌÌÌÌÜ?š™™™™™á?)r  ro  rl  rq  re  )rn  rp  rl  rj  )y      ð¿š™™™™™™?yš™™™™™í¿333333Ã?rl  yffffffÞ?ÍÌÌÌÌÌà?rf  r[  s   &&   r`   Útest_complex_repeatÚ#TestUniqueRoots.test_complex_repeatb  s×   € Ø�J‰Jò 'ó (ˆô  ,¨A°4¸uÔEÑˆÜ˜FØŸJ™JÒ'OÓPØ$&õ	(ô 	˜§j¡j²Ó&>Ô?ä+¨A°4¸uÔEÑˆÜØØ�J‰JÚ>óð õ	
ô 	˜§j¡j²Ó&>Ô?ä+¨A°4¸uÔEÑˆÜØØ�J‰JÒKÓLØõ	
ô
 	˜§j¡j²Ó&>Ö?rc   c           
     óž  € VP                  \        P                  ! \        P                  ! \        P                  ! ^4      \        P                  ! ^4      4      4      4      pVP                  . RO4      p\        V4      w  rEVP                  V4      p\        VP                  V4      V^R7       \        WQP                  . RO4      4       R# )rM   r  N)y¨ô—›wãé¿^Zu#Ïâ¿y§ô—›wãé¿_Zu#Ïâ?yNé/7ïÆÓ? UDoî¿yPé/7ïÆÓ?ÿTDoî?)rQ   rQ   rQ   rQ   )	rY   r   rb  r   rƒ  r+   Úsortr;   r5   )r[   r\   rþ  Ú
true_rootsrM  rN  s   &&    r`   Útest_gh_4915ÚTestUniqueRoots.test_gh_4915~  s…   € Ø�J‰J”r—x’x¤§¢¬B¯GªG°A«J¼¿ºÀ»
Ó CÓDÓEˆØ—Z‘ZÚBó
ˆ
ô  ,¨A›ÑˆØ—‘˜“ˆä˜BŸG™G F›O¨ZÀÕCÜ˜§j¡j²Ó&>Ö?rc   c                ój  € \        VP                  . RO4      4      w  r#\        W!P                  R R.4      ^R7       \        W1P                  ^^.4      4       \        VP                  . RO4      RR7      w  r#\        W!P                  R R.4      ^R7       \        W1P                  ^^.4      4       R# )	rå  r®   r  r4  )r`  N)rå  r®   rå  ù•Ö&è.>      ð?)rP   g_p‰   ð?rz  )r+   rY   r;   r5   rL  s   &&  r`   Útest_complex_roots_extraÚ(TestUniqueRoots.test_complex_roots_extraŠ  s�   € Ü+¨B¯J©JÒ7GÓ,HÓIÑˆÜ˜F§J¡J°°T¨{Ó$;ÀRÕHÜ˜§j¡j°!°Q°Ó&8Ô9ä+Ø�J‰JÒ/Ó0°cô 
Ñˆô 	˜F§J¡J°°[Ð/AÓ$BÈBÕOÜ˜§j¡j°!°Q°Ó&8Ö9rc   c                ól  € VP                  \        P                  P                  ^d4      R\        P                  P                  ^d4      ,          ,           4      p\	        V^4      w  r4\        W1P                  \        P                  ! V4      .4      ^R7       \        WAP                  ^d.4      4       R# )r+  r®   r  N)rY   r   r  r:  r+   r;   r±  r5   r[  s   &&   r`   Útest_single_unique_rootÚ'TestUniqueRoots.test_single_unique_root•  ss   € Ø�J‰J”r—y‘y—~‘~ cÓ*¨R´"·)±)·.±.ÀÓ2EÕ-EÕEÓFˆÜ+¨A¨qÓ1ÑˆÜ˜F§J¡J´·²°q³	¨{Ó$;ÀRÕHÜ˜§j¡j°#°Ó&7Ö8rc   r*  N)r,  r-  r.  r/  r\  rg  rk  rr  rw  r{  r~  r2  r3  r4  s   @r`   rX  rX  D  s2   ø‡ € òBò@ò Bò@ò8
@ò	:÷9ð 9rc   rX  c                  óÀ   € \         P                  ! \        P                  ! R \        P                  R7      ^^4      p V P
                  \        P                  8X  g   Q hR# )rž  r¯   N)r   r2  r   rŒ   rÿ   r°   )rÌ  s    r`   Útest_gh_22684r�  œ  s;   € Ü×!Ò!¤"§)¢)¨D¼¿¹Ô"EÀqÈ!ÓL€FØ�<‰<œ2Ÿ<™<Ô'Ð'Ò'rc   )r)  r�  rt  ru  Úliner  rî  r*  )rý   rþ   rÿ   r¸   )–ræ  r  r_  Úconcurrent.futuresr   r   Ú	itertoolsr   r   rÃ  r   rÅ   Únumpyr   Únumpy.exceptionsr	   Úscipyr
   rO  r‹  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%   r&   r'   r(   r)   r*   r+   r,   r-   Úscipy.signal.windowsr.   Úscipy.signal._signaltoolsr/   r0   r1   Úscipy.signal._upfirdnr2   Ú
scipy._libr3   Úscipy._lib._array_apir4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rÄ  r0  r1  Úlazy_xp_modulesrE   r7  rÉ  rb  ri  rt  rv  rx  rÅ  r¡  ra  rÌ  r  r³  rµ  r  r  rÐ  r  rØ  rÔ  rç  rä  r  rÒ  rÖ  rØ  rÜ  rÞ  rà  rç  ré  rë  r#  ÚparamrÆ  r<  r?  rB  rl  r~  r�  rÁ  rà  rë  Ú	fail_slowrø  rú  r  r  r  rm  r‹  rÊ  r<  r­  rò  r&  r"  r?  rX  r�  r*  rc   r`   Ú<module>r’     sl  ðÛ 
Û Û ç ?Ý Ý ã Ý *Û Ý +å Ý %ß 6Ý ÷÷ ÷ ÷ ÷ ÷ ÷ ÷ ñ õ &ß TÑ TÝ 0Ý !÷÷ ÷ ÷ ó ð —;‘;×/Ñ/Ð Ø—K‘K×1Ñ1Ð à�(€ñ �8Ó÷o4ð o4ó ðo4ñd �:Ó÷["ð ["ó ð["ñ| �;Ó÷mLð mLó  ðmLò`3òò

Còñ
 �:Ó÷R$ð R$ó ðR$ñj ˜$Ð'JÔKØ‡�×Ñ˜Ù.¨{Ó;Ù.¨zÓ:ð<ó=÷90ð 90ó=ó Lð90ñx ˜$Ð'JÔKØ‡�×ÑÐ8Ó9Ø‡�×Ñ˜ 2§=¡=°"·.±.Ð"AÓBÙ�8˜[Ó)ñ	ó *ó Có :ó Lð	÷U*ñ U*ñp �6—=‘=Ó!÷Lð Ló "ðLò  C€Ø �>Õ !€÷v,ñ v,ñr	 �6×(Ñ(Ó)÷1ð 1ó *ð1ñ> �6×&Ñ&Ó'÷[Eð [Eó (ð[Eñ| �7Ó÷h
ð h
ó ðh
ôVÐ/ô ôÐ/ô ñ ˜$ÔôÐ$5ó ó  ðôÐ 1ô ôÐ!2ô ñ ˜$ÔôÐ&7ó ó  ðñ �7ÓñFó ðFñ �7ÓñKó ðKð
 ‡�×Ñ˜ò  !ó "ñ �;Ð'9Ô:Ù�9Ó÷Hð Hó ó ;ó"ðHñV �9Ó÷/Ið /Ió ð/Iñd Ð#Ó$Ø‡�×Ñ˜Ò!:Ó;Ø‡�×Ñ˜ D¨% =Ó1Ø‡�×Ñ˜¨¨S°$¸Ø(.¯ª°UÀ6Ç;Á;×CSÑCSÐBTÔ(UØ(.¯ª°UÀ6Ç;Á;×CSÑCSÐBTÔ(Uð(Wó ñ+ó	ó 2ó <ó %ð+ñ2 Ð#Ó$ñ2ó %ð2ñ
 �9ÓØ‡�×Ñ˜ [°,Ð$?Ó@÷w+ð w+ó Aó ðw+÷v:Qñ :Qñz �:Ó÷6ð 6ó ð6ñ@ �8˜[Ó)÷z%ð z%ó *ðz%ñz �; Ó)ôL�ló Ló *ðLò(*ôZ4ñ@ Ð%Ó&Ø‡�×Ò�rÓñ?ó ó 'ð?ñ6 Ð%Ó&ñGó 'ðGñ ˜$ÔØ‡�×Ò�rÓñ@ó ó  ð@ñ: �6—?’?Ó#÷~%ð ~%ó $ð~%ñ@ �7Ó÷e9ð e9ó ðe9ñP �8Ó÷u&ð u&ó ðu&ñp �8Ó÷sAð sAó ðsA÷lS(ñ S(ñl �>Ó"÷ZBð ZBó #ðZBñF ˜4Ô Ù�7ÓØ‡�×Ñ˜ÒPÓQ÷k?ð k?ó Ró ó !ðk?ñ\ �6×$Ò$Ó%÷&2ð &2ó &ð&2ñR �7Ó÷97ð 97ó ð97ñx �<Ó ÷T9ð T9ó !ðT9ôn(rc   