numpy.ldexp#

numpy.ldexp(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, сигнатура]) = 'ldexp'>#

Возвращает x1 * 2**x2 поэлементно.

Мантиссы x1 и экспоненты двоек x2 используются для построения чисел с плавающей запятой x1 * 2**x2.

Параметры:
x1array_like

Массив множителей.

x2array_like, int

Массив степеней двойки. Если x1.shape != x2.shape, они должны быть транслируемы к общей форме (которая становится формой вывода).

выходndarray, None или кортеж из ndarray и None, опционально

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

гдеarray_like, необязательный

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

**kwargs

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

Возвращает:
yndarray или скаляр

Результат x1 * 2**x2. Это скаляр, если оба x1 и x2 являются скалярами.

Смотрите также

frexp

Возвращает (y1, y2) из x = y1 * 2**y2, обратный к ldexp.

Примечания

Комплексные типы данных не поддерживаются, они вызовут TypeError.

ldexp полезен как обратный к frexp, если используется само по себе, более понятно просто использовать выражение x1 * 2**x2.

Примеры

>>> import numpy as np
>>> np.ldexp(5, np.arange(4))
array([ 5., 10., 20., 40.], dtype=float16)
>>> x = np.arange(6)
>>> np.ldexp(*np.frexp(x))
array([ 0.,  1.,  2.,  3.,  4.,  5.])