我正在寻找一个C ++类/库,提供了1024位和更大的整数位操作,如: - 位移, - 位或/和, - 定位第一个零位
速度是至关重要的,所以它必须与一些SIMD组装来实现。
我正在寻找一个C ++类/库,提供了1024位和更大的整数位操作,如: - 位移, - 位或/和, - 定位第一个零位
速度是至关重要的,所以它必须与一些SIMD组装来实现。
有好几种,包括GMP ,但对速度,最好的可能是TTmath 。 TTmath的在编译时使用模板固定长度的设计决定让它相当快。
尝试GMP库 。 这是一个C库。 符合GMP 4.0开始一个C ++包装是捆绑在一起的版本。
只考虑大整数乘法运算时,TTmath图书馆使用karatsuba算法,它的时间复杂度$ O(N ^ {} 1.585)$。 最快的算法为$ O(N日志的n log log n)的$,使用FFT。