bigfloat
Version:
Fast arbitrary precision math library for computational geometry.
52 lines (51 loc) • 2.22 kB
TypeScript
import { BigFloatBase } from './BigFloatBase';
export declare class BigFloat32 implements BigFloatBase<BigFloat32> {
constructor(value?: BigFloat32 | number | string, base?: number);
clone(): BigFloat32;
setZero(): this;
setValue(other: BigFloat32 | number | string, base?: number): this;
private setBig;
/** Set value from a floating point number (probably IEEE 754 double). */
private setNumber;
private parseFraction;
private setString;
/** Trim zero limbs from most significant end. */
private trimMost;
/** Trim zero limbs from least significant end. */
private trimLeast;
/** Multiply by an integer and write output limbs to another list. */
private mulInt;
private mulBig;
/** Multiply and return product in a new BigFloat32. */
mul(multiplier: number | BigFloat32, product?: BigFloat32): BigFloat32;
absDeltaFrom(other: number | BigFloat32): number;
cmp: (other: number | BigFloat32) => number;
isZero(): boolean;
getSign(): 0 | 1 | -1;
/** Return an arbitrary number with sign matching the result of this - other. */
deltaFrom(other: number | BigFloat32): number;
private addBig;
private subBig;
private addSub;
/** Add and return sum in a new BigFloat32. */
add(addend: number | BigFloat32, sum?: BigFloat32): BigFloat32;
/** Subtract and return difference in a new BigFloat32. */
sub(subtrahend: number | BigFloat32, difference?: BigFloat32): BigFloat32;
/** Round towards zero, to given number of base 2^32 fractional digits. */
truncate(fractionLimbCount: number): this;
round(decimalCount: number): this;
/** Divide by integer, replacing current value by quotient. Return integer remainder. */
private divInt;
private fractionToString;
getExpansion(output: number[]): number;
valueOf(): number;
/** Convert to string in any even base supported by Number.toString.
* @return String in lower case. */
toString(base?: number): string;
private sign;
/** List of digits in base 2^32, least significant first. */
private limbList;
/** Number of limbs belonging to fractional part. */
private fractionLen;
private len;
}