@qudtlib/core
Version:
Data model for QUDTLib
48 lines (47 loc) • 1.91 kB
TypeScript
import { SupportsEquals } from "./baseTypes.js";
import { FactorUnits } from "./factorUnits.js";
import { Unit } from "./unit.js";
import { Decimal } from "decimal.js";
import { DimensionVector } from "./dimensionVector.js";
/**
* Combines a {@link Unit} and an exponent; some Units are a combination of {@link FactorUnit}s. If
* a unit is such a 'derived unit', its {@link Unit#getFactorUnits()} method returns a non-empty Set
* of FactorUnits.
*
*/
export declare class FactorUnit implements SupportsEquals<FactorUnit> {
readonly exponent: number;
readonly unit: Unit;
constructor(unit: Unit, exponent: number);
/**
* Perform mathematical simplification on factor units. Only simplifies units with exponents of the same sign.
*
* For example,
* ```
* N / M * M -> N per M^2
* ```
*
* @param factorUnits the factor units to simplify
* @return the simplified factor units.
*/
static contractExponents(factorUnits: FactorUnit[]): FactorUnit[];
static reduceExponents(factorUnits: FactorUnit[]): FactorUnit[];
pow(by: number): FactorUnit;
getExponentCumulated(cumulatedExponent: number): number;
isCompatibleWith(other: FactorUnit): boolean;
getConversionMultiplier(other: FactorUnit): Decimal;
equals(other?: FactorUnit): boolean;
toString(): string;
static combine(left: FactorUnit, right: FactorUnit): FactorUnit;
/**
* Combines unit IRI and sign of exponent in one string.
*/
getKind(): string;
getLeafFactorUnitsWithCumulativeExponents(): FactorUnit[];
normalize(): FactorUnits;
getAllPossibleFactorUnitCombinations(): FactorUnit[][];
static getAllPossibleFactorUnitCombinations(factorUnits: FactorUnit[]): FactorUnit[][];
getDimensionVector(): DimensionVector | undefined;
static ofUnit(unit: Unit): FactorUnit;
}
//# sourceMappingURL=factorUnit.d.ts.map