Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Bigint (bigbit) library

Tags:

c++

biginteger

I'm looking for a c++ class/library that provides 1024 bit and bigger integers and bit operations like: - bit shifting, - bitwise OR/AND, - position first zero bit

speed is crucial, so it would have to be implemented with some SIMD assembly.

like image 827
Łukasz Lew Avatar asked Jun 28 '09 20:06

Łukasz Lew


3 Answers

There are several, including GMP, but for speed, the best is likely TTmath. TTmath's design decision to use templated fixed lengths at compiletime lets it be quite fast.

like image 187
SPWorley Avatar answered Oct 09 '22 01:10

SPWorley


try gmp library. It is a C library. Beginning with GMP 4.0 a C++ wrapper is bundled with the release.

like image 23
dfa Avatar answered Oct 09 '22 01:10

dfa


Just consider the big integer multiplication, the TTmath Library use Karatsuba algorithm, which has time complexity $O(n^{1.585})$. The fastest algorithm is $O(n log n log log n)$, using FFT.

like image 1
Kevin Avatar answered Oct 08 '22 23:10

Kevin