BigInts for Nim

Pure BigInts for Nim


This library provides a pure implementation for arbitrary precision integers in Nim.

It can be installed through nimble with:

nimble install

bigints provides a BigInt type and related operations with standard Nim syntax:

  • creation of BigInt from all standard integer types (initBigInt)
  • comparisons (<, <=, ==)
  • addition, negation and subtraction (+, -, += -=)
  • multiplication (*, *=)
  • bit shifts (shr, shl)
  • bitwise not, and, or and xor (behave as if negative numbers were represented in 2's complement)
  • integer division and modulo operation (div, mod)
  • conversion of BigInt from/to strings supporting bases from 2 to 36 (initBigInt, $)
  • iteration utilities (inc, dec, countdown, countup, .., ..<)

Current limitations and possible enhancements

  • not expected to work on 32 bit
  • arithmetic operations such as addition, multiplication and division are not optimized for performance (e.g. Karatsuba multiplication is not implemented)


The documentation is available at:

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.