Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import type { RoundingMode } from 'big.js';
- import Big from 'big.js';
- Big.DP = 100;
- Big.NE = -100;
- Big.PE = 100;
- export function mul(a: NumericValue, b: NumericValue) {
- return toBig(a).times(toBig(b)).toString();
- }
- export function mulDiv(a: NumericValue, b: NumericValue, c: NumericValue) {
- return toBig(a).times(toBig(b)).div(toBig(c)).toString();
- }
- export function div(a: NumericValue, b: NumericValue) {
- return toBig(a).div(toBig(b)).toString();
- }
- export function sub(a: NumericValue, b: NumericValue) {
- return toBig(a).sub(toBig(b)).toString();
- }
- export function add(a: NumericValue, b: NumericValue) {
- return toBig(a).plus(toBig(b)).toString();
- }
- export function gt(a: NumericValue, b: NumericValue) {
- return toBig(a).gt(toBig(b));
- }
- export function gte(a: NumericValue, b: NumericValue) {
- return toBig(a).gte(toBig(b));
- }
- export function lt(a: NumericValue, b: NumericValue) {
- return toBig(a).lt(toBig(b));
- }
- export function lte(a: NumericValue, b: NumericValue) {
- return toBig(a).lte(toBig(b));
- }
- export function eq(a: NumericValue, b: NumericValue) {
- return toBig(a).eq(toBig(b));
- }
- export function toBig(value: NumericValue): Big {
- return new Big(value.toString());
- }
- export function toFixed(a: NumericValue, precision: number = 2, roundingMode: RoundingMode = 3) {
- return new Big(a.toString()).toFixed(precision, roundingMode);
- }
- export function toNumber(a: NumericValue) {
- return new Big(a.toString()).toNumber();
- }
- export function toString(a: NumericValue) {
- return new Big(a.toString()).toString();
- }
- export function abs(a: NumericValue) {
- return new Big(a.toString()).abs().toString();
- }
- export function pow(a: NumericValue, exp: number) {
- return new Big(a.toString()).pow(exp).toString();
- }
- export function sqrt(a: NumericValue) {
- return new Big(a.toString()).sqrt().toString();
- }
- export function toBigInt(a: NumericValue) {
- return BigInt(a);
- }
Advertisement
Add Comment
Please, Sign In to add comment