mirror of
https://github.com/Instadapp/Swap-Aggregator-Subgraph.git
synced 2024-07-29 21:57:12 +00:00
66 lines
1.9 KiB
TypeScript
Executable File
66 lines
1.9 KiB
TypeScript
Executable File
import { bigintresult } from './bigint.asm';
|
|
import { BigNumber_extGCD } from './extgcd';
|
|
export declare const _bigint_stdlib: {
|
|
Uint32Array: Uint32ArrayConstructor;
|
|
Math: Math;
|
|
};
|
|
export declare const _bigint_heap: Uint32Array;
|
|
export declare let _bigint_asm: bigintresult;
|
|
export declare class BigNumber {
|
|
limbs: Uint32Array;
|
|
bitLength: number;
|
|
sign: number;
|
|
static extGCD: typeof BigNumber_extGCD;
|
|
static ZERO: BigNumber;
|
|
static ONE: BigNumber;
|
|
static fromString(str: string): BigNumber;
|
|
static fromNumber(num: number): BigNumber;
|
|
static fromArrayBuffer(buffer: ArrayBuffer): BigNumber;
|
|
static fromConfig(obj: {
|
|
limbs: Uint32Array;
|
|
bitLength: number;
|
|
sign: number;
|
|
}): BigNumber;
|
|
constructor(num?: Uint8Array);
|
|
toString(radix: number): string;
|
|
toBytes(): Uint8Array;
|
|
/**
|
|
* Downgrade to Number
|
|
*/
|
|
valueOf(): number;
|
|
clamp(b: number): BigNumber;
|
|
slice(f: number, b?: number): BigNumber;
|
|
negate(): BigNumber;
|
|
compare(that: BigNumber): number;
|
|
add(that: BigNumber): BigNumber;
|
|
subtract(that: BigNumber): BigNumber;
|
|
square(): BigNumber;
|
|
divide(that: BigNumber): {
|
|
quotient: BigNumber;
|
|
remainder: BigNumber;
|
|
};
|
|
multiply(that: BigNumber): BigNumber;
|
|
isMillerRabinProbablePrime(rounds: number): boolean;
|
|
isProbablePrime(paranoia?: number): boolean;
|
|
}
|
|
export declare class Modulus extends BigNumber {
|
|
private comodulus;
|
|
private comodulusRemainder;
|
|
private comodulusRemainderSquare;
|
|
private coefficient;
|
|
constructor(number: BigNumber);
|
|
/**
|
|
* Modular reduction
|
|
*/
|
|
reduce(a: BigNumber): BigNumber;
|
|
/**
|
|
* Modular inverse
|
|
*/
|
|
inverse(a: BigNumber): BigNumber;
|
|
/**
|
|
* Modular exponentiation
|
|
*/
|
|
power(g: BigNumber, e: BigNumber): BigNumber;
|
|
static _Montgomery_reduce(a: BigNumber, n: Modulus): BigNumber;
|
|
}
|