L iw6dZddlZddlmZmZdZdZdZd}dZ dZ e Z e Z d Z d ZeZd Zd Zd Zd~dZdZdZdZdZddZddZddZddddZddZddZ ddZdefdZ ddZ!ddZ"ddZ#dd Z$d!Z%d"Z&d#Z'dddd$d%Z(dd&Z)e)Z*dd'Z+e+Z,dd(Z-dd)Z.dd*Z/dd+Z0dd,Z1dd-Z2dd.Z3dd/Z4d0Z5d1Z6d2Z7d3Z8e8Z9e8Z:e8Z;e8Z;e8Zdd5Z?dd6Z@dd7ZAdd8ZBdd9ZCdd:ZDdd;ZEdd<ZFdd=ZGdd>ZHd?ZIeIZJeIZKd@ZLddAZMdBZNddDZOdEZP ddFZQ ddGZRddHZSdddIdJZTdKZUdLZVdMZWeWZXddNZYeYZZddOZ[e[Z\dPZ]ddQZ^ddRZ_e_Z`dSZadTZbddUZcecZddVZedWZfddXdYZgddZZh dddd[d\Zid]ZjejZkejZlejZmejZnejZoejZpejZqeqZrd^ZsesZtetZuetZvd_ZwewZxewZydd`ZzddaZ{ddbZ|dcZ}ddZ~deZeZddfZdgZddhZdiZdjZeZddkZdlZddmZddnZddoZeZddpZddqZddrZdsZeZeZeZdtZeZduZddvZddwZdxZddyZddzddCd{d|Zy)aDelegators for alternative backends in scipy.signal. The signature of `func_signature` must match the signature of signal.func. The job of a `func_signature` is to know which arguments of `signal.func` are arrays. * signatures are generated by -------------- import inspect from scipy import signal names = [x for x in dir(signal) if not x.startswith('_')] objs = [getattr(signal, name) for name in names] funcs = [obj for obj in objs if inspect.isroutine(obj)] for func in funcs: try: sig = inspect.signature(func) except ValueError: sig = "( FIXME )" print(f"def {func.__name__}_signature{sig}: return array_namespace(... ) ") --------------- * which arguments to delegate on: manually trawled the documentation for array-like and array arguments N)array_namespace np_compatc(t|tr|Sy)zHandle `system` arg overloads. ATM, only pass tuples through. Consider updating when cupyx.lti class is supported. N) isinstancetupleargs ^/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/scipy/signal/_delegators.py _skip_if_ltir "s #u c^t|tst|ts t|ry|S)z=Handle `window` being a str or a tuple or an array-like. N)rstrrcallable)windows r _skip_if_str_or_tupler.s&&#*VU";x?O r c>t|tjrdS|Sr)rnppoly1dr s r _skip_if_poly1dr7sc299-4636r ct||||Srr)ABCDs r abcd_normalize_signaturer= 1aA &&r ct|Srr)dataargskwdss r argrelextrema_signaturer#As 4  r ct||Srr)wpindpassbstopbgpassgstoptypes r band_stop_obj_signaturer,Hs 5% ((r ct|SrrNWnr!r"s r bessel_signaturer1L 2 r ct|Srr)r/rsr0r!r"s r cheby2_signaturer5Rr2r ct|Srr)r/rpr0r!r"s r cheby1_signaturer8Vr2r ct|Srr)r/r7r4r0r!r"s r ellip_signaturer:Zr2r ctSrr)r/norms r besselap_signaturer>_ Ir ctSrr<)r/s r buttap_signaturerAbr?r ctSrr<)r/r7s r cheb1ap_signaturerCer?r ctSrr<)r/r4s r cheb2ap_signaturerEir?r ctSrr<)r/r7r4s r ellipap_signaturerGlr?r ctSrr<)in1_lenin2_lenmodes r correlation_lags_signaturerLor?r ctSrr<)mwas r czt_points_signaturerQsr?r ctSrr<)freqftypeordernumtapsfss r gammatone_signaturerXwr?r F) pass_zeroctSrr<)w0QrTrWrYs r iircomb_signaturer]{r?r ctSrr<r[r\rWs r iirnotch_signaturer`r?r ctSrr<r_s r iirpeak_signaturerbr?r ctSrr<) window_length polyorderderivdeltaposuses r savgol_coeffs_signaturerjs  Ir ctSrr<)shapeidxdtypes r unit_impulse_signatureror?r ctSrr<r%wsr)r*analogrWs r buttord_signaturertr?r ctSrr<rqs r cheb1ord_signaturervr?r ctSrr<rqs r cheb2ord_signaturerxr?r ctSrr<rqs r ellipord_signaturerzr?r ctSrr<)rVwidths r kaiser_atten_signaturer}r?r ctSrr<)rPs r kaiser_beta_signaturerr?r ctSrr<)rippler|s r kaiserord_signaturerr?r )xpdevicec|tS|Srr<)rNxfftbinsrrs r get_window_signaturers2##r c.tgt||Srrr systemrOns r bode_signaturer  4L0 4! 44r c.tgt||Srrrs r freqresp_signaturerrr c2tgt|||SrrrX0Tr/s r impulse_signaturer  8L0 8" 8a 88r c2tgt|||Srrrx0trs r dimpulse_signaturerrr c6tgt||||Srr)rUrrinterps r lsim_signaturer$  ;L0 ;! ;Q ; ;;r c6tgt||||Srr)rurrs r dlsim_signaturerrr c2tgt|||Srrrs r step_signaturerrr c2tgt|||Srrrs r dstep_signaturerrr c$tt|Srr)rdtmethodalphas r cont2discrete_signaturers L0 11r ct||Srr)brPrWs r bilinear_signaturer 1a  r ct||Srr)zpkrWs r bilinear_zpk_signaturerrr ct|Srr)rr!r"s r chirp_signaturer 1 r ct||Srrin1in2r!r"s r choose_conv_method_signaturer 3 $$r ct||Srrrs r convolve_signaturerrr c.t||t|SrrrxyrWrr!r"s r coherence_signaturer 1a!6v!> ??r c.t||t|Srrrs r csd_signaturerrr c,t|t|Srr)rrWrs r periodogram_signaturer 13F; <>r c.t||t|Srr)rnumraxisrdomains r resample_signaturerrr c,t|t|Srr)rupdownrrr!r"s r resample_poly_signaturerrr c*tt|Srrrnpersegnoverlaptols r check_COLA_signaturer 08 99r c*tt|Srrrs r check_NOLA_signaturerrr ct|Srrrr!r"s r czt_signaturer rr ct||Srr)signaldivisors r deconvolve_signaturer's 67 ++r ct||Srr)r rr+bpr!r"s r detrend_signaturer+s 4 $$r ct|||Srr)rrPrr!r"s r filtfilt_signaturer/ 1a ##r ct||||Srr)rrPrrzis r lfilter_signaturer3s 1aB ''r ct|Srr)rr!r"s r envelope_signaturer7rr c "t||||||Srr) rheight thresholddistance prominencer|wlen rel_height plateau_sizes r find_peaks_signaturer;s 1fiUL QQr ct|||Srr)vectorwidthswavelet max_distancesr!r"s r find_peaks_cwt_signaturer Bs 66= 99r ct||Srr)rdenr/kinds r findfreqs_signaturerHrr )weightrWct|||Srr)rVbandsdesiredrrWs r firls_signaturerL 5'6 22r cZt|ttzrt}|St |}|Sr)rintfloatrr)rVcutoffr!r"rs r firwin_signaturerPs-&#+&  IV $ Ir ct||Srr)rVrSgainr!r"s r firwin2_signaturerXs 4 &&r ct|||Srr)rrrworNr!r"s r freqs_zpk_signaturer \ 1a &&r ct|||Srr)rrPrr!r"s r freqs_signaturer#br!r ct||Srr)sosrr!r"s r freqz_sos_signaturer&hs 3 %%r c@t|trdn|}t|Sr)rrr)rr!r"arr_ts r gausspulse_signaturer)nsq#&DAE 5 !!r c,tt||Srr)rrOwholerWs r group_delay_signaturer,ss 08! <rr ct||||Srr)rrPrrs r lfiltic_signaturer@rr )weights floating_meanct||||Srr)rrfreqs precenter normalizerArBs r lombscargle_signaturerGs 1a 00r ct||Srr)rrPr!r"s r lp2bp_signaturerIrr ct||Srrrrrr!r"s r lp2bp_zpk_signaturerLrr ct||SrrrKs r zpk2sos_signaturerNrr ct||Srr)nbitsstatelengthtapss r max_len_seq_signaturerTs 5$ ''r ct|Srr)volume kernel_sizes r medfilt_signaturerX 6 ""r ct|Srr)inputrWs r medfilt2d_signaturer\s 5 !!r ct|Srr)hr!r"s r minimum_phase_signaturer_rr ct||Srr)rPrranks r order_filter_signaturerbs 1f %%r ct||Srr)rpeaksr!r"s r peak_prominences_signatureres 1e $$r ct|||Srr)rrpolesrrtolmaxiters r place_poles_signaturerjs 1a ''r ct|Srrrs r savgol_filter_signaturerlrr ct|Srr)rr|s r sawtooth_signaturernrr ct|||Srr)r[hrowhcols r sepfir2d_signaturerrs 5$ --r ct|Srrr:s r sos2tf_signaturertr<r ct|||Srr)r%rrrs r sosfilt_signaturervs 32 &&r ct||Srr)r%rr!r"s r sosfiltfilt_signaturerxs 3 ""r ct|Srr)Iinlmbdas r spline_filter_signaturer|r<r ct|Srr)rdutys r square_signaturerrr ct||||Srr)rrrrr[s r ss2tf_signaturerrr c,t|t|Sr)rr)rpolyphis r sweep_poly_signaturers 1od3 44r ct|Srr)rc0z1 precisions r symiirorder1_signaturer rYr ct|||Srr)r[r4omegars r symiirorder2_signaturers 5!U ++r ct|Srr)rr!r"s r cspline1d_signaturerrYr ct||Srr)cjnewxr!r"s r cspline1d_eval_signaturers 2t $$r ct||Srr)rr s r tf2ss_signaturer"rr ct|Srr)rrr5s r unique_roots_signaturer&rr ct||Srr)r^rrrrrKcvals r upfirdn_signaturer*rr ct||Srr)eventsperiods r vectorstrength_signaturer.s 66 **r ct|Srr)immysizenoises r wiener_signaturer2r2r )rWendpointrct||Srr)rfnrNrWrrs r zoom_fft_signaturer6s 1b !!r )NNNN)phase)full)Ny?)NNN)notch@)r)r?Nconv)FN)T)Nd)Ni')NT)NN)zohN)r)rhann)rboxcar)r)tukeyg?)NrNtime)r)kaiser@)g|=)linearr)rN)NNNNNN?N)ba)))rFg-DT!@)Nr)MbP?avgr)FF))YTr)r)r)r)r)g)rmin)rrrconstantr)__doc__numpyrscipy._lib._array_apirrr rrrr#argrelmax_signatureargrelmin_signaturer,r1butter_signaturer5r8r:r>rArCrErGrLrQrXr]r`rbrjrrortrvrxrzr}rrrrdbode_signaturerdfreqresp_signaturerrrrrrrrrrrrfftconvolve_signatureoaconvolve_signaturecorrelate_signatureconvolve2d_signaturecorrelate2d_signaturerrrrrrrrrrrrdecimate_signaturegauss_spline_signaturerrrrrrr rrrrr freqz_zpk_signaturer#freqz_signaturer&sosfreqz_signaturer)r,r.hilbert2_signaturer0r2r6invresz_signaturer8r;r>r@rGrIlp2bs_signaturelp2hp_signaturelp2lp_signaturetf2zpk_signaturetf2sos_signaturenormalize_signatureresidue_signatureresiduez_signaturerLlp2bs_zpk_signaturelp2hp_zpk_signaturelp2lp_zpk_signaturerNzpk2ss_signaturezpk2tf_signaturerTrXr\r_rbrepeak_widths_signaturerjrlrnrrrtsos2zpk_signaturervrxr|rrss2zpk_signaturerrrrqspline1d_signaturecspline2d_signatureqspline2d_signaturerqspline1d_eval_signaturerrrrrrr r rs:< 7 '!.-)$  AG '+%  $d$ 5!5)99<<992!! % %+)(()*@@====?@=::#&,%$( KO,0R15: %8<3''*'"&)" ='#$%! 8<3' -21 1!"!!""%#&!*))!%$(#"&%3(. %'# '#5#,#*))%4%!+"AB"r