jax.numpy.finfo#

class jax.numpy.finfo(dtype)#

浮点类型的机器限制。

bits#

类型占用的位数。

类型:

int

dtype#

返回 finfo 返回信息的 dtype。对于复数输入,返回的 dtype 是其实部和虚部对应的 float* dtype。

类型:

dtype

eps#

1.0 与大于 1.0 的下一个可表示的最小浮点数之间的差值。例如,对于 IEEE-754 标准中的 64 位二进制浮点数,eps = 2**-52,约等于 2.22e-16。

类型:

float

epsneg#

1.0 与小于 1.0 的下一个可表示的最小浮点数之间的差值。例如,对于 IEEE-754 标准中的 64 位二进制浮点数,epsneg = 2**-53,约等于 1.11e-16。

类型:

float

iexp#

浮点表示中指数部分的位数。

类型:

int

machep#

产生 eps 的指数。

类型:

int

max#

可表示的最大数。

类型:

相应类型的浮点数

maxexp#

导致溢出的最小正幂(基数为 2)。

类型:

int

min#

可表示的最小数,通常为 -max

类型:

相应类型的浮点数

minexp#

与尾数中没有前导 0 相符的最负幂(基数为 2)。

类型:

int

negep#

产生 epsneg 的指数。

类型:

int

nexp#

指数的位数,包括其符号和偏差。

类型:

int

nmant#

尾数的位数。

类型:

int

precision#

此浮点类型精确的十进制位数近似值。

类型:

int

resolution#

此类型的十进制分辨率近似值,即 10**-precision

类型:

相应类型的浮点数

tiny#

作为 smallest_normal 的别名,为保持向后兼容性而保留。

类型:

float

smallest_normal#

IEEE-754 标准中尾数第一个比特为 1 的最小正浮点数(参见“注释”)。

类型:

float

smallest_subnormal#

IEEE-754 标准中尾数第一个比特为 0 的最小正浮点数。

类型:

float

参数:

dtype (float, dtype, or instance) – 关于要获取信息的浮点数或复数浮点数据类型的种类。

另请参阅

iinfo

整数数据类型的等效函数。

spacing

一个值与其最近的相邻数之间的距离

nextafter

x1 相对于 x2 的下一个浮点值

注意事项

对于 NumPy 的开发者:请勿在模块级别实例化此对象。这些参数的初始计算成本很高,并且会对导入时间产生负面影响。这些对象是缓存的,因此在函数内部重复调用 finfo() 不是问题。

请注意,smallest_normal 实际上并不是 NumPy 浮点类型中最小的正可表示值。与 IEEE-754 标准 [1] 一样,NumPy 浮点类型利用非正规数(subnormal numbers)来填充 0 和 smallest_normal 之间的空白。然而,非正规数可能会显著降低精度 [2]

此函数也可用于复数数据类型。如果使用,输出将与相应的实浮点类型相同(例如,numpy.finfo(numpy.csingle) 与 numpy.finfo(numpy.single) 相同)。但是,此输出对于实部和虚部都适用。

参考文献

示例

>>> import numpy as np
>>> np.finfo(np.float64).dtype
dtype('float64')
>>> np.finfo(np.complex64).dtype
dtype('float32')
__init__()#

方法

__init__()

属性

smallest_normal

返回最小正规数的(smallest normal)值。

tiny

返回 tiny 的值,它是 smallest_normal 的别名。