@thi.ng/dsp
Version:
Composable signal generators, oscillators, filters, FFT, spectrum, windowing & related DSP utils
44 lines • 1.8 kB
TypeScript
import type { IProc } from "./api.js";
import { AProc } from "./aproc.js";
/**
* Composes the given {@link IProc}s into a single new processor instance. The
* returned `IProc` processes the given procs in serial (sequence), i.e. output
* from 1st proc is used as input for 2nd etc.
*
* @remarks
* Provides optimized (loop free) versions for 2-4 inputs
*
* @param a -
* @param b -
*/
export declare function serial<A, B, C>(a: IProc<A, B>, b: IProc<B, C>): IProc<A, C>;
export declare function serial<A, B, C, D>(a: IProc<A, B>, b: IProc<B, C>, c: IProc<C, D>): IProc<A, D>;
export declare function serial<A, B, C, D, E>(a: IProc<A, B>, b: IProc<B, C>, c: IProc<C, D>, d: IProc<D, E>): IProc<A, E>;
export declare function serial<A, B, C, D, E>(a: IProc<A, B>, b: IProc<B, C>, c: IProc<C, D>, d: IProc<D, E>, ...procs: IProc<any, any>[]): IProc<A, any>;
export declare class Serial2<A, B, C> extends AProc<A, C> {
protected _a: IProc<A, B>;
protected _b: IProc<B, C>;
constructor(_a: IProc<A, B>, _b: IProc<B, C>);
next(x: A): C;
}
export declare class Serial3<A, B, C, D> extends AProc<A, D> {
protected _a: IProc<A, B>;
protected _b: IProc<B, C>;
protected _c: IProc<C, D>;
constructor(_a: IProc<A, B>, _b: IProc<B, C>, _c: IProc<C, D>);
next(x: A): D;
}
export declare class Serial4<A, B, C, D, E> extends AProc<A, E> {
protected _a: IProc<A, B>;
protected _b: IProc<B, C>;
protected _c: IProc<C, D>;
protected _d: IProc<D, E>;
constructor(_a: IProc<A, B>, _b: IProc<B, C>, _c: IProc<C, D>, _d: IProc<D, E>);
next(x: A): E;
}
export declare class Serial extends AProc<any, any> {
protected _procs: IProc<any, any>[];
constructor(_procs: IProc<any, any>[]);
next(x: any): any;
}
//# sourceMappingURL=serial.d.ts.map