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 являются скалярами.
Примечания
Комплексные типы данных не поддерживаются, они вызовут 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.])