aboutsummaryrefslogtreecommitdiffstats
path: root/packages/typescript-typings/types/bn.js/index.d.ts
blob: f59b74bad4d47465de1085fa07015f16aa3020b3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
declare module 'bn.js' {
    import { Buffer } from 'buffer';

    type Endianness = 'le' | 'be';

    class BN {
        constructor(num: number | string | number[] | Buffer, base?: number, endian?: Endianness);
        public clone(): BN;
        public toString(base?: number, length?: number): string;
        public toNumber(): number;
        public toJSON(): string;
        public toArray(endian?: Endianness, length?: number): number[];
        public toBuffer(endian?: Endianness, length?: number): Buffer;
        public bitLength(): number;
        public zeroBits(): number;
        public byteLength(): number;
        public isNeg(): boolean;
        public isEven(): boolean;
        public isOdd(): boolean;
        public isZero(): boolean;
        public cmp(b: any): number;
        public lt(b: any): boolean;
        public lte(b: any): boolean;
        public gt(b: any): boolean;
        public gte(b: any): boolean;
        public eq(b: any): boolean;
        public isBN(b: any): boolean;

        public neg(): BN;
        public abs(): BN;
        public add(b: BN): BN;
        public sub(b: BN): BN;
        public mul(b: BN): BN;
        public sqr(): BN;
        public pow(b: BN): BN;
        public div(b: BN): BN;
        public mod(b: BN): BN;
        public divRound(b: BN): BN;

        public or(b: BN): BN;
        public and(b: BN): BN;
        public xor(b: BN): BN;
        public setn(b: number): BN;
        public shln(b: number): BN;
        public shrn(b: number): BN;
        public testn(b: number): boolean;
        public maskn(b: number): BN;
        public bincn(b: number): BN;
        public notn(w: number): BN;

        public gcd(b: BN): BN;
        public egcd(b: BN): { a: BN; b: BN; gcd: BN };
        public invm(b: BN): BN;
    }

    export = BN;
}