@rwk/physics-math
Version:
Math for physics homework problems
32 lines • 1.65 kB
TypeScript
/**
* @packageDocumentation
* @module Functionals
*/
import { BaseValueInFrame, BaseValueRelative, TYPE } from "./math-types";
import { PCalculus } from "./pfunction";
import { IndefiniteIntegral, IPCompileResult, IPFunction, IPFunctionCalculus, Value, Variable } from "./base";
import { Units } from "./unit-defs";
import { Unit, Divide, Multiply } from "./units";
import { StyleContext } from "./latex";
/**
* Scalar constants
*/
export declare class ScalarConstant<C extends Unit = Unit> extends PCalculus<number, C, Divide<C, Units.time>, Multiply<C, Units.time>> implements Value<number, C> {
readonly value: number;
constructor(value: number, unit: C);
protected compileFn(): IPCompileResult<number>;
toTex(varName?: Variable, ctx?: StyleContext): string;
toTexWithUnits(varName?: Variable, ctx?: StyleContext): string;
differentiate(): ScalarConstant<Divide<C, Units.time>> & IPFunctionCalculus<number, Divide<C, Units.time>, 1, Multiply<C, Units.time>, C>;
integrate(): IndefiniteIntegral<number, Multiply<C, Units.time>, C>;
get returnType(): TYPE.SCALAR;
equiv<T>(f: T): null | this | T;
}
/**
* Get an IConstant from a value or a function at T=0;
* @param v A value, a PFunction, or a Value.
* @param unit a Unit describing the type of constant.
*/
export declare function constant<T extends BaseValueRelative, U extends Unit>(v: T | IPFunction<T, U> | Value<T, U>, unit: U): Value<T, U>;
export declare function constant<T extends BaseValueInFrame, U extends Unit>(v: T | IPFunction<T, U> | Value<T, U>, unit: U): Value<T, U>;
//# sourceMappingURL=scalar.d.ts.map