ldexp

paddle. ldexp ( x, y, name=None ) [源代码]

计算 x 乘以 2 的 y 次幂

\[out = x * 2^{y}\]

参数

  • x (Tensor) - 多维 Tensor。数据类型为 float32、float64、int32、int64。

  • y (Tensor) - 多维 Tensor。通常为整数。

  • name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。

返回

输出为 Tensor,如果 xy 有不同的形状并且是可广播的,那么产生的张量形状是广播后 x 和 y 的形状。如果 xy 有相同的形状,其形状与 xy 相同。数据类型是 float32 或 float64。

代码示例

import paddle

#example1
x = paddle.to_tensor([1, 2, 3], dtype='float32')
y = paddle.to_tensor([2, 3, 4], dtype='int32')
res = paddle.ldexp(x, y)
print(res)
# Tensor(shape=[3], dtype=float32, place=CUDAPlace(0), stop_gradient=True,
#        [4., 16., 48.])

#example2
x = paddle.to_tensor([1, 2, 3], dtype='float32')
y = paddle.to_tensor([2], dtype='int32')
res = paddle.ldexp(x, y)
print(res)
# Tensor(shape=[3], dtype=float32, place=CUDAPlace(0), stop_gradient=True,
#        [4., 8., 12.])