mindspore.ops.xdivy

mindspore.ops.xdivy(x, y)[source]

Divides the first input tensor by the second input tensor element-wise. Returns zero when x is zero.

Inputs of x and y comply with the implicit type conversion rules to make the data types consistent. The inputs must be two tensors or one tensor and one scalar. When the inputs are two tensors, dtypes of them cannot be bool at the same time, and the shapes of them could be broadcast. When the inputs are one tensor and one scalar, the scalar could only be a constant.

Note

When x and y are both of datatype complex, they should be both complex64 or complex128 at the same time.

Parameters
  • x (Union[Tensor, Number, bool]) – Tensor of datatype number.Number or bool, or it can be a bool or number.

  • y (Union[Tensor, Number, bool]) – Tensor of datatype number.Number or bool, or it can be a bool or number. x and y can not be both bool at the same time.

Returns

Tensor, the shape is the same as the one after broadcasting, and the data type is the one with higher precision or higher digits among the two inputs.

Raises
  • TypeError – If x and y is not one of the following: Tensor, Number, bool.

  • TypeError – If dtype of x and ‘y’ is not in [float16, float32, float64, complex64, complex128, bool].

  • ValueError – If x could not be broadcast to a tensor with shape of y.

  • RuntimeError – If the data type of x, y conversion of Parameter is given but data type conversion of Parameter is not supported.

Supported Platforms:

Ascend GPU CPU

Examples

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> x = Tensor(np.array([2, 4, -1]), mindspore.float32)
>>> y = Tensor(np.array([2, 2, 2]), mindspore.float32)
>>> output = ops.xdivy(x, y)
>>> print(output)
[ 1.   2.  -0.5]