Ë
    /æjG  ã                   óh  — d dl Z d dlZd dlmZmZmZmZmZ ddl­ ddl	mZ ddl	m
Z
 ej                  ZdZg d¢Zg d	¢Zd
diZd„ Zh d£Zd„ ZdZdZdZdZdZdZdZi d eddd¬«      “d eddgddde¬«      “d edddgdd¬ «      “d! eddgdd¬ «      “d" edddgdde¬#«      “d$ edddgdde¬#«      “d% edddgdde¬#«      “d& eddgdd¬ «      “d' eddgdd¬ «      “d( eddg¬)«      “d* eddd+gde¬,«      “d- eddd+gde¬,«      “d. eddd+gde¬,«      “d/ eddd+gde¬,«      “d0 ed¬1«      “d2 eddgdd¬ «      “d3 eddgdd¬ «      “i d4 eddgdd¬ «      “d5 eddg¬)«      “d6 eddgdd7g¬8«      “d9 eddg¬)«      “d: eddd+gd¬;«      “d< eddg¬)«      “d= edd>¬?«      “d@ eddgdddA¬B«      “dC eddgdddA¬B«      “dD eddddE¬F«      “dG edddgdd¬ «      “dH eddgdddI¬B«      “dJ eddd+g¬K«      “dL edddgdd¬ «      “dM edddgdd¬ «      “dN edddgdd¬ «      “d
 edddgdd¬ «      “¥i dO eddgdd¬ «      “dP edddgd7g¬Q«      “dR edddgd7g¬Q«      “dS eddg¬)«      “dT eddg¬)«      “dU edVg¬W«      “dX edddgdd¬ «      “dY eddZ¬[«      “d\ eddZ¬[«      “d] eddZ¬[«      “d^ eddgdd¬_«      “d` eddd¬a«      “db eddgd¬;«      “dc edddgdddg¬8«      “de edddgdd¬_«      “df edddgdddg¬8«      “dg edddgdd¬_«      “¥i dh edddgdd¬_«      “di edddgdd¬_«      “dj edddgdddg¬8«      “dk edddgdd¬_«      “dl edd>¬?«      “dm eddgdddn¬o«      “dp eddgdddq¬o«      “dr edddgdd¬_«      “ds edddgdd¬ «      “dt edddgdugdvg¬w«      “dx eddgdddn¬o«      “dy eddgdd¬ «      “dz eddgdd¬ «      “d{ eddg¬)«      “d| eddd¬a«      “d} eddgd~dg¬Q«      “d€ eddgdd~ge¬�«      “¥i d‚ eddg¬)«      “dƒ eddg¬)«      “d„ eddgdd…¬†«      “d‡ ed¬ˆ«      “d‰ eddgdd¬ «      “dŠ eddgdd¬ «      “d‹ eddgd¬;«      “dŒ eddgg d�¢¬Q«      “d edddgdd¬ «      “dŽ eddgdd¬ «      “d� eddgdd¬ «      “d� eddgdd¬ «      “d‘ eddg¬)«      “d’ eddgddd“e¬«      “d” edddgdd¬_«      “d• eddd+gddd–¬o«      “d— eddgdd¬ «      “¥ eddgdde¬#«       ed¬1«       ed¬1«       ed¬1«       ed¬1«      d˜œ¥Zej                  D ]l  Z eee«      Z ee
ed™z   d«      Zere�  eee«      e«      ZneZ e eejB                  «      s!ejE                  e eee«      «      Z# e#e«      Ze e$«       e<   Œn y)šé    N)Úis_cupyÚis_jaxÚscipy_namespace_forÚSCIPY_ARRAY_APIÚxp_capabilitiesé   )Ú*)Ú_signal_api)Ú_delegatorsÚsignal)	ÚfftconvolveÚconvolveÚ
convolve2dÚ	correlateÚcorrelate2dÚcsdÚdetrendÚistftÚwelch)Ú
lfilter_ziÚ
sosfilt_ziÚ
get_windowÚbesselapÚenvelopeÚremezÚbesselÚ	freqz_sosÚsosfreqzc                 ó   ‡ ‡— ˆ ˆfd„}|S )Nc                 óH   •‡ — t        j                  ‰ «      ˆˆ ˆfd„«       }|S )Nc                  óF  •— 	  ‰| i |¤Ž}t        |«      rz‰j                  t        vrht
        j                  ‰j                  ‰j                  «      }dd l}|j                  d‰› �«      }t        ||«      }|j                  dd «        || i |¤ŽS t        |«      rY‰j                  t        v rGt        |«      }t        |‰«      }	t        |	‰j                  «      }
|j                  dd «        |
| i |¤ŽS  ‰| i |¤ŽS # t         $ r ‰j                  dk(  rdd l}|}n‚ Y �Œw xY w)NÚtf2ssr   zcupyx.scipy.Úxp)Ú	TypeErrorÚ__name__Únumpyr   ÚCUPY_BLACKLISTÚCUPY_RENAMESÚgetÚ	importlibÚimport_moduleÚgetattrÚpopr   ÚJAX_SIGNAL_FUNCSr   )ÚargsÚkwdsr#   ÚnpÚ	func_namer*   Úcupyx_moduleÚ
cupyx_funcÚspxÚ
jax_moduleÚjax_funcÚ	delegatorÚfuncÚmodule_names              €€€úm/root/repos/pocs/video-evals/.venv/lib/python3.12/site-packages/scipy/signal/_support_alternative_backends.pyÚwrapperz+delegate_xp.<locals>.inner.<locals>.wrapper"   s!  ø€ ðÙ Ð-¨Ñ-�ô �rŒ{˜tŸ}™}´NÑBÜ(×,Ñ,¨T¯]©]¸D¿M¹MÓJ�	ó !Ø(×6Ñ6¸ÀkÀ]Ð7SÓT�Ü$ \°9Ó=�
Ø—‘˜˜tÔ$Ù! 4Ð0¨4Ñ0Ð0Ü˜” §¡Ô1AÑ AÜ)¨"Ó-�Ü$ S¨+Ó6�
Ü" :¨t¯}©}Ó=�Ø—‘˜˜tÔ$Ù Ð.¨Ñ.Ð.ñ ˜TÐ* TÑ*Ð*øô5 ò à—=‘= GÒ+Û&Ø‘Bàò ð	ús   ƒC< Ã< D ÄD )Ú	functoolsÚwraps)r9   r<   r8   r:   s   ` €€r;   Úinnerzdelegate_xp.<locals>.inner!   s%   ù€ Ü	�‰˜Ó	õ	+ó 
ð	+ð< ˆó    © )r8   r:   r?   s   `` r;   Údelegate_xprB       s   ù€ õ ðB €Lr@   >'   r   ÚlsimÚstepÚchirpÚdbodeÚdlsimÚdstepÚss2tfr"   r   ÚsquareÚss2zpkÚzpk2ssÚfreqrespÚsawtoothÚsepfir2dÚzoom_fftÚ	argrelmaxÚ	argrelminÚ	coherenceÚ	dfreqrespÚ	findfreqsÚ
check_NOLAÚ
czt_pointsÚ
find_peaksÚ
gausspulseÚ
place_polsÚ
sweep_polyÚlombscargleÚmax_len_seqÚpeak_widthsÚperiodogramÚsymiirorder1Úsymiirorder2Úunit_impulseÚargrelextremaÚband_stop_objÚfind_peaks_cwtÚpeak_prominencesc                 óB   — |�| t         v rt        d¬«      S t        «       S )NT©Únp_only)Úuntestedr   )r2   r8   s     r;   Úget_default_capabilitiesrk   s   s#   € ØÐ˜I¬Ñ1Ü tÔ,Ð,ÜÓÐr@   z*CuPy does not accept complex inputs.

    zªCuPy does not support inputs with ``ndim>1`` when ``method="auto"``
    but does support higher dimensional arrays for ``method="direct"``
    and ``method="fft"``.

    z0CuPy only supports ``padtype="constant"``.

    z>CuPy only supports ``mode="constant"`` and ``cval=0.0``.

    zoThe ``torch`` backend on GPU does not support the case where
    `wp` and `ws` specify a Bandstop filter.

    zLThe JAX backend only supports ``boundary="fill"`` and ``fillvalue=0``.

    z;The CuPy and JAX backends both support only 1d input.

    r   TF)Úcpu_onlyÚjax_jitÚallow_dask_computeÚbilinearÚcupyzUses np.polynomial.Polynomial)rl   Ú
exceptionsrm   rn   ÚreasonÚ
extra_noteÚbilinear_zpkÚtorch)rl   rq   rm   rn   ÚbutterÚbuttord)rl   rq   rm   rn   rs   Úcheb1ordÚcheb2ordÚcheby1Úcheby2Úcont2discrete)ri   rq   r   ú	jax.numpy)rl   rq   rn   rs   r   r   r   Úcorrelation_lags)Úout_of_scopeÚ	cspline1dÚcspline1d_evalÚ	cspline2dÚcztÚ
deconvolve)r}   zitem assignment)rl   rq   rn   Úskip_backendsÚdecimater   )rl   rq   rn   ÚdimpulseÚdltiz-works in CuPy but delegation isn't set up yet)ri   rr   Úellipzscipy.special.ellipk)rl   rq   rm   rn   rr   ÚellipordÚfirlsÚlstsq)rl   rn   rm   rr   ÚfirwinÚfirwin2zfirwin uses np.interpr   )rl   rq   ÚfreqsÚ	freqs_zpkÚfreqzÚgroup_delayÚhilbert)rl   rq   r…   Úhilbert2ÚinvresÚinvreszÚiircomb)r}   Ú
inaccurate)Úxfail_backendsÚ	iirfilterÚkaiser_attenzscalars in, scalars out)r   rr   Úkaiser_betaÚ	kaiserordÚlfilter)rl   rq   rn   rm   r   )rl   rn   rm   ÚlfilticÚlp2bp)r}   zin-place item assignmentÚ	lp2bp_zpkÚlp2bsÚ	lp2bs_zpkÚlp2lpÚ	lp2lp_zpkÚlp2hpÚ	lp2hp_zpkÚltiÚmedfiltzuses scipy.ndimage.rank_filter)rl   rq   rn   rm   rr   Ú	medfilt2dzc extension moduleÚminimum_phaseÚ	normalizeÚ
oaconvolve)r}   zfails all around)ú
dask.arrayzwrong answer)rl   rq   r…   r™   Úorder_filterÚ	qspline1dÚqspline1d_evalÚ	qspline2dr   Úresample)r®   zXXX something in dask)r}   zXXX: immutable arraysÚresample_poly)rl   rq   rm   r…   rs   ÚresidueÚresiduezÚsavgol_filterzconvolve1d is cpu-only)rl   rq   rm   rr   rO   rh   Úsos2zpkÚsos2tfÚsosfiltÚsosfiltfilt))r®   zLsosfiltfilt directly sets shape attributes on arrays which dask doesn't like)ru   znegative strides)r}   zsosfilt works in-placeÚspline_filterÚtf2sosÚtf2zpkÚunique_rootsÚupfirdnzCython implementationÚvectorstrengthÚwienerzuses scipy.signal.correlateÚzpk2sos)Úzpk2tfÚspectrogramÚstftr   Ú
check_COLAÚ
_signature)%r=   ÚtypesÚscipy._lib._array_apir   r   r   r   r   r
   Ú r   Ú__all__ÚMODULE_NAMEr.   r'   r(   rB   rj   rk   Úbilinear_extra_noteÚuses_choose_conv_extra_noteÚresample_poly_extra_noteÚupfirdn_extra_noteÚxord_extra_noteÚconvolve2d_extra_noteÚzpk2tf_extra_noteÚcapabilities_overridesÚobj_namer,   Úbare_objr8   ÚfÚ
isinstanceÚ
ModuleTyper)   ÚcapabilitiesÚvarsrA   r@   r;   ú<module>rÝ      sø  ðÛ Û ÷õ ô Ý Ý Ø
×
Ñ
€ð €ò
Ð ò€ð
 ˜ZÐ(€ò"òP(€òVðð ðð ðð ðð ðð ðð ðð ð
RØ‰o t°UÈtÔTðRà‘¨¸6¸(Ø(-À$Ø'FØ+>ô@ðRð ‘O¨T¸vÀwÐ>OØ,1ÀdôLðRð ‰o t¸¸È%Ø15ô7ðRð ‰¨¸&À'Ð9JØ',ÀØ*9ô;ðRð ‘¨¸6À7Ð:KØ(-À$Ø+:ô<ðRð  ‘¨¸6À7Ð:KØ(-À$Ø+:ô<ð!Rð& ‰o t¸¸È%Ø15ô7ð'Rð, ‰o t¸¸È%Ø15ô7ð-Rð0 ‘_¨T¸v¸hÔGð1Rð2 ‘¨¸6À;Ð:OØ37Ø+FôHð3Rð8 ‘/¨4¸VÀ[Ð<QØ59Ø-BôDð9Rð> ‘¨$¸FÀKÐ;PØ48Ø,GôIð?RðD ‘?¨D¸fÀkÐ=RØ6:Ø.CôEðERðJ ™°TÔ:ðKRðL ‘¨$¸F¸8Ø).À4ôIðMRðP ‘o¨tÀÀØ.3ÈôNñQRðT ‘¨$¸F¸8Ø).À4ôIðURðX 
‰? 4°V°HÔ=ðYRðZ ‘/¨4¸V¸HØ59Ø1QÐ0RôTð[Rð` ‘¨¸&¸ÔBðaRðb ‰¨¸&À+Ð9NØ26ô8ðcRðf ‘¨¸&¸ÔBðgRðh ‰O DØ#RôTðiRðl ‰_ d¸°xÈØ04Ø$:ô<ðmRðr ‘¨¸6¸(Ø(-À$Ø'=ô?ðsRðx ‰_ d¸tÈUØ$+ô-ðyRð| ‰o t¸ÀÐ8IØ&+ÀôFð}Rð@ ‰¨¸&¸Ø',ÀØ&=ô?ðARðF ‘?¨D¸fÀkÐ=RÔSðGRðH ‰_ d¸ÀÐ7HØ%*¸tôEðIRðL ‘¨$¸FÀGÐ;LØ).À4ôIðMRðP ‰_ d¸ÀÐ7HØ%*¸tôEðQRðT ‘¨$¸FÀGÐ;LØ).À4ôIòURðX ‘?¨D¸f¸XØ+0ÀTôKðYRð\ ‰Ø 6¨7Ð"3Ø7Ð8ôð]Rðd ‘Ø 6¨7Ð"3Ø7Ð8ôðeRðl ‰o d¸°xÔ@ðmRðn ‰ t¸¸ÔAðoRðp ‰Ð/JÐ.KÔLðqRðr ‘¨$¸FÀGÐ;LØ).À4ôIðsRðv ‘OØÐ";ôðwRð| ‘?°Ð=VÔWð}Rð~ ‘¨dÐ;TÔUðRð@ ‰¨¸&¸Ø26ÀôGðARðD ‘/¨4ÀDØ*/ô1ðERðH ‰¨¸&¸Ø26ô8ðIRðL ‰_ d¸ÀÐ7HØ04Ø,UÐ+VôXðMRðR ‘¨$¸FÀGÐ;LØ48À%ôIðSRðV ‰_ d¸ÀÐ7HØ04Ø,UÐ+VôXðWRð\ ‘¨$¸FÀGÐ;LØ48À%ôIò]Rð` ‰_ d¸ÀÐ7HØ04¸eôEðaRðd ‘¨$¸FÀGÐ;LØ48À%ôIðeRðh ‰_ d¸ÀÐ7HØ04Ø,UÐ+VôXðiRðn ‘¨$¸FÀGÐ;LØ48À%ôIðoRðr 
‰? 4Ø#RôTðsRðv ‰¨¸&¸Ø26ÀØ&FôHðwRð| ‘¨$¸F¸8Ø48À%Ø(<ô>ð}RðB ‘_¨dÀÈÐ?PØ8<ÀeôMðCRðF ‘¨$¸FÀGÐ;LØ).À4ôIðGRðJ ‘/Ø 6¨7Ð"3Ø8Ð9Ø6Ð7ôðKRðT ‘O¨T¸v¸hØ7;ÀUØ+KôMðURðZ ‘¨$¸F¸8Ø).À4ôIð[Rð^ ‘o¨tÀÀØ.3ÈôNð_Rðb ‘¨¸6¸(ÔCðcRðd ‰_ d¸tÈUÔSðeRðf ‘Ø 6 (à3Ø2ð
ôðgRðt ‘_Ø 6 (ØÐ&MÐ%NØ+ôòuRð~ ‰ t¸¸ÔAðRð@ ‘¨¸&¸ÔBðARðB ‘_¨dÀ¸xØ-2Ø,DôFðCRðH ‘¨Ô-ðIRðJ ‰¨¸&¸È5Ø26ô8ðKRðN ‰o t¸¸È%Ø15ô7ðORðR ‰¨¸&¸Ø26ô8ðSRðV ‘?Ø 6 (ò
ôðWRðn ‘¨¸6À7Ð:KØ(-À$ôHðoRðr ‘_¨dÀ¸xØ-2ÀtôMðsRðv ‰o t¸¸È%Ø15ô7ðwRðz ‰o t¸¸È%Ø15ô7ð{Rð~ ‘O¨D¸f¸XÔFðRð@ ‰¨¸&¸È5Ø26Ø&=Ø*<ô>ðARðH ‘o¨tÀÈÐ@QØ9=ÀuôNðIRðL ‰o t¸ÀÐ8MØ15¸uØ%BôDðMRðR ‰¨¸&¸È5Ø26ô8ñSRñV  t¸¸È%Ø15Ø):ô<ñ #°Ô5Ù¨Ô.Ù¨$Ô/Ù!¨tÔ4òcRÐ ðl ×#Ñ#ò €HÙ�{ HÓ-€HÙ˜ X°Ñ%<¸dÓC€Iá˜9Ð0Ø/‰K˜	 ;Ó/°Ó9‰àˆá�a˜×)Ñ)Ô*Ø-×1Ñ1ØÑ.¨x¸ÓCó
ˆñ ˜‹Oˆð �DƒFˆ8Òñ!r@   