jax.lax.nextafter#

jax.lax.nextafter(x1, x2)[source]#

返回 x1 之后在 x2 方向上的下一个可表示值。

此函数直接降低到 chlo.next_after 操作。

参数:
  • x1 (ArrayLike) – 输入数组。必须具有匹配的浮点数据类型。如果都不是标量,则必须具有相同的维度数并且是广播兼容的。

  • x2 (ArrayLike) – 输入数组。必须具有匹配的浮点数据类型。如果都不是标量,则必须具有相同的维度数并且是广播兼容的。

返回:

包含 x1 之后在 x2 方向上的下一个可表示浮点值的数组,具有与输入相同的 dtype 和广播形状。

返回类型:

Array

注释

在某些环境中,使用 flush-denormal-to-zero 语义。这意味着,在零附近,此函数返回严格的非零值,这些值在任何操作中都显示为零。考虑以下示例

>>> from jax import lax
>>> lax.nextafter(0.0, 1.0)  # denormal numbers are representable
Array(1.e-45, dtype=float32, weak_type=True)
>>> lax.nextafter(0.0, 1.0) * 1  # but are flushed to zero
Array(0., dtype=float32, weak_type=True)

对于最小可用(即正常)浮点数,请使用 jnp.finfotiny