cnum
Version:
Represent rational numbers in comfortably numeric way.
49 lines (48 loc) • 1.42 kB
TypeScript
export declare class Rat {
n: bigint;
d: bigint;
constructor(numerator?: bigint | number, denominator?: bigint | number);
valueOf(): number;
toString(): string;
get profile(): string;
clone(): Rat;
normalize(): void;
add(that: Rat): Rat;
sub(that: Rat): Rat;
mul(that: Rat): Rat;
div(that: Rat): Rat;
mediant(that: Rat): Rat;
min(that: Rat): Rat;
max(that: Rat): Rat;
pow(that: Rat): Rat;
dot(that: Rat): bigint;
equals(that: Rat): boolean;
approximates(n: number): boolean;
isGreaterThan(that: Rat): boolean;
isLessThan(that: Rat): boolean;
abs(): Rat;
neg(): Rat;
isNegative(): boolean;
isFinite(): boolean;
inv(): Rat;
sqrt(): Rat;
root(n: number): Rat;
round(): bigint;
floor(): bigint;
ceil(): bigint;
psin(): Rat;
pcos(): Rat;
ptan(): Rat;
mixedFractionString(): string;
continuedFraction(): Generator<number>;
continuedFractionString(): string;
primeFactorization(): Array<[bigint, bigint]>;
primeFactorizationString(): string;
egyptianFraction(): Array<Rat>;
egyptianFractionString(): string;
babylonianFraction(): Array<string>;
babylonianFractionString(): string;
}
export declare const floatToRat: (n: number) => Rat;
export declare const parseRat: (s: string) => Rat;
export default Rat;