2009-06-28 12 views
15

Sto cercando un C++ classe/libreria che fornisce 1024 bit e più grande interi e le operazioni po 'come: - po spostamento, - OR bit a bit/E, - posizionare primo bit pari a zerobigint (Bigbít) biblioteca

la velocità è fondamentale, quindi dovrebbe essere implementata con alcuni assiemi SIMD.

risposta

14

Ci sono diversi, tra cui GMP, ma per la velocità, il migliore è probabile TTmath. La decisione progettuale di TTmath di utilizzare lunghezze fisse basate su modelli a compiletime consente di essere abbastanza veloce.

4

provare gmp library. È una libreria in C A partire da GMP 4.0 un wrapper C++ viene fornito in bundle con la versione.

1

Basta considerare la grande moltiplicazione intera, la libreria TTmath utilizza l'algoritmo di Karatsuba, che ha una complessità di tempo $ O (n^{1.585}) $. L'algoritmo più veloce è $ O (n log n log log n) $, usando FFT.