uint256

1.0.8 • Public • Published

uint256

Unsigned 256 bit Integer type

npm

Install

npm install uint256

Usage

import { UInt256, U256 } from 'uint256';
 
const now = Date.now();
const scale = 18;
const digits = U256(10).pow(scale);
 
const POUND = (number: number) => U256(number).mul(digits);
const toPound = (number: UInt256, fraction = false) => {
  if (!fraction) {
    return String(number.div(digits));
  }
  const str = String(number);
  if (scale < 1) {
    return str;
  }
  return `${str.substring(0, str.length - scale)}.${str.substr(-scale)}`;
};
 
const a = POUND(11000);
const b = POUND(20000);
 
console.log('scale', scale);
console.log('a', toPound(a));
console.log('b', toPound(b));
console.log('mul', toPound(a.mul(b).div(digits)));
console.log('add', toPound(a.add(b)));
console.log('div', toPound(b.div(a.div(digits)), true));
console.log('sub', toPound(b.sub(a)));
console.log('elapsed(ms)', Date.now() - now);
 
// scale 18
// a 11000
// b 20000
// mul 220000000
// add 31000
// div 1.818181818181818181
// sub 9000
// elapsed(ms) 8

Package Sidebar

Install

npm i uint256

Weekly Downloads

23

Version

1.0.8

License

Apache-2.0

Unpacked Size

35.5 kB

Total Files

10

Last publish

Collaborators

  • artit91