maxframe.tensor.fmod#

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

返回逐元素的除法余数。

这是 C 库函数 fmod 的 NumPy 实现,余数与被除数 x1 具有相同的符号。它等价于 Matlab(TM) 的 rem 函数,不应与 Python 的模运算符 x1 % x2 混淆。

参数:
  • x1 (array_like) -- 被除数。

  • x2 (array_like) -- 除数。

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

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

  • **kwargs -- 对于其他仅关键字参数,请参见 ufunc 文档

返回:

y -- x1 除以 x2 的余数。

返回类型:

Tensor_like

参见

remainder

等价于 Python 的 % 运算符。

divide

备注

对于负数被除数和除数,模运算的结果遵循约定。对于 fmod,结果的符号与被除数相同,而对于 remainder,结果的符号与除数相同。fmod 函数等价于 Matlab(TM) 的 rem 函数。

示例

>>> import maxframe.tensor as mt
>>> mt.fmod([-3, -2, -1, 1, 2, 3], 2).execute()
array([-1,  0, -1,  1,  0,  1])
>>> mt.remainder([-3, -2, -1, 1, 2, 3], 2).execute()
array([1, 0, 1, 1, 0, 1])
>>> mt.fmod([5, 3], [2, 2.]).execute()
array([ 1.,  1.])
>>> a = mt.arange(-3, 3).reshape(3, 2)
>>> a.execute()
array([[-3, -2],
       [-1,  0],
       [ 1,  2]])
>>> mt.fmod(a, [2,2]).execute()
array([[-1,  0],
       [-1,  0],
       [ 1,  0]])