Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

bigjs

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bigjs

A big integer library for JS, based on Leemon, with focus on prime numbers and cryptography

  • 0.0.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
86
decreased by-41.1%
Maintainers
1
Weekly downloads
 
Created
Source

#BigJS This is my big integer library, it is built on top of the big int library built by Leemon Baird.

I built it for my own interests in cryptography. It was built as Leemon's library polluted the global scope and had a somewhat scattered design. I especially love the implementations that were done for finding primes. Enjoy!

Construction

BI(number, base)

number - the actual number, this can be a string, a JS number, or another BI object base - this defaults to 10

  // If you're using npm, otherwise BI is part of the window objects
  var BI = require('bigjs');


  var b = new BI(16772625);
  //Or
  var b = new BI("FFEE11", 16);
  //If you put a BI object in the constructor a deep copy of that number is made
  var foo = new BI(b);
  //foo is now a BI object with the value 0xFFEE11
.toString(base)

base - this also defaults to 10

  var b = new BI(16772625).toString(16);
  //b is now the string "FFEE11"
.valueOf()

this only works by translating whatever is in the big int to a JS number. It's called whenever the object is involved in a numerical operation.

  var b = (new BI(10)) * 2
  //b is now 20

Constants

BI.ONE == 1
BI.ZERO == 0

Primes

prime(bits, probable)

bits - bit size of the prime, anything over 2048bits is rather slow on most machines
probable - determines whether or not this is a true prime or a probable prime. Setting this to true means that 1 in every 2^80 numbers generated may be composite. However, it has a speed up of about 10x compared to the true prime.

BI.prime(2048) //Generates a 2048 bit true prime encapsulated in the BI object

Comparisons

Operations

Arithmetic

add(num, me)
  var b = new BI(1997);
  b.add(19);
  // Returns a new big int object with a value of 2016
  b.add(19, true);
  // Returns the current big int object, b, with its value changed to 2016
subtract(num, me)
  var b = new BI(2016);
  b.subtract(19);
  // Returns a new big int object with a value of 1997
  b.subtract(19, true);
  // Returns the current big int object, b, with its value changed to 1997
multiply(num, me)
  var b = new BI(8);
  b.multiply(7);
  // Returns a new big int object with a value of 56
  b.multiply(7, true);
  // Returns the current big int object, b, with its value changed to 56
times(num, me)

this is a synonym of .multiply()

Bitwise

Keywords

FAQs

Package last updated on 23 Jul 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc