maxframe.tensor.copysign#

maxframe.tensor.copysign(x1, x2, out=None, where=None, **kwargs)[源代码]#

将 x1 的符号更改为 x2 的符号,逐元素进行。

如果两个参数都是数组或序列,则它们的长度必须相同。如果 x2 是标量,则其符号将被复制到 x1 的所有元素。

参数:
  • x1 (array_like) -- 需要更改符号的值。

  • x2 (array_like) -- x2 的符号被复制到 x1

  • out (Tensor, None, or tuple of Tensor and None, optional) -- 用于存储结果的位置。如果提供,其形状必须可以广播输入。如果未提供或为 None,则返回一个新分配的张量。元组(仅可作为关键字参数)的长度必须等于输出数量。

  • where (array_like, optional) -- 为 True 的值表示在该位置计算 ufunc,为 False 的值表示保留输出中的值不变。

  • **kwargs

返回:

out -- 具有 x2 符号的 x1 值。

返回类型:

array_like

示例

>>> import maxframe.tensor as mt
>>> mt.copysign(1.3, -1).execute()
-1.3
>>> (1/mt.copysign(0, 1)).execute()
inf
>>> (1/mt.copysign(0, -1)).execute()
-inf
>>> mt.copysign([-1, 0, 1], -1.1).execute()
array([-1., -0., -1.])
>>> mt.copysign([-1, 0, 1], mt.arange(3)-1).execute()
array([-1.,  0.,  1.])