@rwk/physics-math
Version:
Math for physics homework problems
39 lines • 1.64 kB
TypeScript
/**
* 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