Spec-Zone.ru › NumPy 2.0

numpy.bitwise_count

numpy.bitwise_count(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature])=<ufunc 'bitwise_count'>

Вычисляет количество бит 1 в абсолютном значении x. Аналогично встроенной функции int.bit_count или popcount в C++.

Параметры:
xarray_like, unsigned int

Входной массив.

outndarray, None, или кортеж ndarray и None, необязательно

Место для хранения результата. Если указано, оно должно иметь форму, к которой векторизуются входные данные. Если не указано или равно None, возвращается только что выделенный массив. Кортеж (возможен только как ключевое слово) должен иметь длину, равную количеству выходов.

wherearray_like, необязательно

Это условие векторизуется по входным данным. В местах, где условие True, массив out будет установлен в результат ufunc. В противном случае массив out сохранит своё исходное значение. Обратите внимание, что если массив out создан без инициализации по умолчанию out=None, места в нём, где условие False, останутся неинициализированными.

**kwargs

Для других ключевых аргументов см. документацию ufunc.

Возвращаемые значения:
yndarray

Соответствующее количество бит 1 во входных данных. Возвращает uint8 для всех целочисленных типов. Это скаляр, если x является скаляром.

Ссылки

[1]

https://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetParallel

[2]

Википедия, «Вес Хэмминга», https://en.wikipedia.org/wiki/Hamming_weight

[3]

http://aggregate.ee.engr.uky.edu/MAGIC/#Population%20Count%20(Ones%20Count)

Примеры

>>> np.bitwise_count(1023)
10
>>> a = np.array([2**i - 1 for i in range(16)])
>>> np.bitwise_count(a)
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15],
      dtype=uint8)

© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.bitwise_count.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API