Высокопроизводительная библиотека для битовых операций?
Обращаясь к очень большому набору данных bool, попробуйте использовать бит-мутную операцию для его обработки, ища некоторую библиотеку, которая имеет дело с бит-множеством, которая может:
- Динамический набор и может быть передан указателями или ссылками.
- Читайте и пишите битво.
- Считать количество бит и быстро.
Очевидно, что функции std::bitset
слишком ограничены для этого, любые рекомендации?
Ответы
Ответ 1
GMP предоставляет низкоуровневые функции бит на произвольно размерные натуральные числа. Это "низкоуровневые функции GMP, используемые для реализации высокоуровневых функций GMP, но также предназначенные для критического для пользователя кода пользователя".
К ним относятся mpn_popcount
для подсчета 1 бит и mpn_copyi
для извлечения подпоследовательностей.
Ответ 2
библиотека BitMagic может быть вашим другом.