UNPKG

@rwk/physics-math

Version:
39 lines 1.64 kB
/** * Functions defined piecewise. * @packageDocumentation * @module Functionals */ import { PCalculus } from "./pfunction"; import { BaseValueRelative, TYPE } from "./math-types"; import { Divide, Multiply, Unit } from "./units"; import { Units } from "./unit-defs"; import { IndefiniteIntegral, IPCompileResult, IPFunctionCalculus, Variable } from "./base"; import { StyleContext } from "./latex"; export declare class Piecewise<R extends BaseValueRelative = BaseValueRelative, C extends Unit = Unit, D extends Unit = Divide<C, Units.time>, I extends Unit = Multiply<C, Units.time>> extends PCalculus<R, C, D, I> { private start_times; private functions; private readonly type; constructor(unit: Unit, type?: TYPE); /** * Add a piece of the function starting at `t` and continuing up to the next time. * @param t * @param f */ add(t: number, f: number | IPFunctionCalculus<R, C, 0 | 1, D, I>): this; /** * Add a series of segments, e.g. pw.at(t0, f0, t1, f1, t2, f2, ...); * @param pairs alternating time and value pairs. */ at(...pairs: [number, number | IPFunctionCalculus<R, C, 0 | 1, D, I>][]): this; /** * Add a value for t = -∞. * @param f */ initial(f: number | IPFunctionCalculus<R, C, 1, D, I>): this; protected compileFn(): IPCompileResult<R>; differentiate(): IPFunctionCalculus<R, D, 1, Divide<D, Units.time>, C>; integrate(): IndefiniteIntegral<R, I, C>; get returnType(): TYPE; toTex(varName?: Variable, ctx?: StyleContext): string; } //# sourceMappingURL=piecewise.d.ts.map