mindspore.ops.ldexp

mindspore.ops.ldexp(x, other)[source]

Multiplies input Tensor by \(2^{other}\) element-wise.

It takes two arguments, a mantissa x and an exponent other, and returns their product as a floating-point number:

\[out_{i} = x_{i} * ( 2 ^{other_{i}} )\]

Note

This function is commonly used to construct floating-point numbers from their component parts, or to scale a floating-point number by a power of two.

Parameters
  • x (Tensor) – The input Tensor.

  • other (Tensor) – A Tensor of integers that represent exponents.

Returns

Tensor, the output Tensor.

Raises
Supported Platforms:

Ascend GPU CPU

Examples

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor
>>> from mindspore import ops
>>> x = Tensor(np.array([1.]), mindspore.float32)
>>> other = Tensor(np.array([1, 2, 3, 4]), mindspore.int32)
>>> out = ops.ldexp(x, other)
>>> print(out)
[ 2.  4.  8. 16.]
>>> x = Tensor(np.array([[1.], [2]]), mindspore.float32)
>>> other = Tensor(np.array([[1.], [2]]), mindspore.int32)
>>> out = ops.ldexp(x, other)
>>> print(out)
[[2.]
 [8.]]