Add static Decimal.compare method

This commit is contained in:
willclarktech
2020-06-10 15:40:51 +01:00
parent d6d6d3fee5
commit 9ac1994cb6
2 changed files with 11 additions and 11 deletions
+10 -10
View File
@@ -64,6 +64,11 @@ export class Decimal {
}
}
public static compare(a: Decimal, b: Decimal): number {
if (a.fractionalDigits !== b.fractionalDigits) throw new Error("Fractional digits do not match");
return a.data.atomics.cmp(new BN(b.atomics));
}
public get atomics(): string {
return this.data.atomics.toString();
}
@@ -119,28 +124,23 @@ export class Decimal {
return new Decimal(sum.toString(), this.fractionalDigits);
}
public compare(b: Decimal): number {
if (this.fractionalDigits !== b.fractionalDigits) throw new Error("Fractional digits do not match");
return this.data.atomics.cmp(new BN(b.atomics));
}
public equals(b: Decimal): boolean {
return this.compare(b) === 0;
return Decimal.compare(this, b) === 0;
}
public isLessThan(b: Decimal): boolean {
return this.compare(b) < 0;
return Decimal.compare(this, b) < 0;
}
public isLessThanOrEqual(b: Decimal): boolean {
return this.compare(b) <= 0;
return Decimal.compare(this, b) <= 0;
}
public isGreaterThan(b: Decimal): boolean {
return this.compare(b) > 0;
return Decimal.compare(this, b) > 0;
}
public isGreaterThanOrEqual(b: Decimal): boolean {
return this.compare(b) >= 0;
return Decimal.compare(this, b) >= 0;
}
}