@fleupold/dex-contracts
Version:
Contracts for dFusion multi-token batch auction exchange
35 lines (34 loc) • 1.14 kB
TypeScript
import BN from "bn.js";
export declare class Fraction {
private numerator;
private denominator;
constructor(numerator: BN | number, denominator: BN | number);
isZero(): boolean;
eq(other: Fraction): boolean;
gt(other: Fraction): boolean;
lt(other: Fraction): boolean;
reduce(): void;
inverted(): Fraction;
negated(): Fraction;
mul(other: Fraction): Fraction;
abs(): Fraction;
div(other: Fraction): Fraction;
sub(other: Fraction): Fraction;
add(other: Fraction): Fraction;
toNumber(): number;
/**
* Represents a Javascript number as a pair numerator/denominator without precision loss
* by retrieving mantissa, exponent, and sign from its bit representation
* @param number - The Javascript number to be represented
* @returns a BigInt array with two elements: numerator and denominator
*/
private static numberToNumAndDen;
static fromNumber(number: number): Fraction;
toBN(): BN;
clone(): Fraction;
static fromJSON(o: FractionJson): Fraction;
}
export interface FractionJson {
numerator: string;
denominator: string;
}