numpy.finfo

class numpy.finfo(dtype)[source]

Machine limits for floating point types.

Parameters
dtypefloat, dtype, or instance

Kind of floating point data-type about which to get information.

See also

MachAr

The implementation of the tests that produce this information.

iinfo

The equivalent for integer data types.

spacing

The distance between a value and the nearest adjacent number

nextafter

The next floating point value after x1 towards x2

Notes

For developers of NumPy: do not instantiate this at the module level. The initial calculation of these parameters is expensive and negatively impacts import times. These objects are cached, so calling finfo() repeatedly inside your functions is not a problem.

Note that smallest_normal is not actually the smallest positive representable value in a NumPy floating point type. As in the IEEE-754 standard [1], NumPy floating point types make use of subnormal numbers to fill the gap between 0 and smallest_normal. However, subnormal numbers may have significantly reduced precision [2].

References

1

IEEE Standard for Floating-Point Arithmetic, IEEE Std 754-2008, pp.1-70, 2008, http://www.doi.org/10.1109/IEEESTD.2008.4610935

2

Wikipedia, “Denormal Numbers”, https://en.wikipedia.org/wiki/Denormal_number

Attributes
bitsint

The number of bits occupied by the type.

epsfloat

The difference between 1.0 and the next smallest representable float larger than 1.0. For example, for 64-bit binary floats in the IEEE-754 standard, eps = 2**-52, approximately 2.22e-16.

epsnegfloat

The difference between 1.0 and the next smallest representable float less than 1.0. For example, for 64-bit binary floats in the IEEE-754 standard, epsneg = 2**-53, approximately 1.11e-16.

iexpint

The number of bits in the exponent portion of the floating point representation.

macharMachAr

The object which calculated these parameters and holds more detailed information.

machepint

The exponent that yields eps.

maxfloating point number of the appropriate type

The largest representable number.

maxexpint

The smallest positive power of the base (2) that causes overflow.

minfloating point number of the appropriate type

The smallest representable number, typically -max.

minexpint

The most negative power of the base (2) consistent with there being no leading 0’s in the mantissa.

negepint

The exponent that yields epsneg.

nexpint

The number of bits in the exponent including its sign and bias.

nmantint

The number of bits in the mantissa.

precisionint

The approximate number of decimal digits to which this kind of float is precise.

resolutionfloating point number of the appropriate type

The approximate decimal resolution of this type, i.e., 10**-precision.

tinyfloat

Return the value for tiny, alias of smallest_normal.

smallest_normalfloat

Return the value for the smallest normal.

smallest_subnormalfloat

The smallest positive floating point number with 0 as leading bit in the mantissa following IEEE-754.