class documentation

finfo(dtype)

Machine limits for floating point types.

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].

This function can also be used for complex data types as well. If used, the output will be the same as the corresponding real float type (e.g. numpy.finfo(numpy.csingle) is the same as numpy.finfo(numpy.single)). However, the output is true for the real and imaginary components.

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

Examples

>>> np.finfo(np.float64).dtype
dtype('float64')
>>> np.finfo(np.complex64).dtype
dtype('float32')
Parameters
dtypeKind of floating point or complex floating point data-type about which to get information.
Method __new__ Undocumented
Method __repr__ Undocumented
Method __str__ Undocumented
Instance Variable bits The number of bits occupied by the type.
Instance Variable dtype Returns the dtype for which finfo returns information. For complex input, the returned dtype is the associated float* dtype for its real and complex components.
Instance Variable eps 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.
Instance Variable epsneg 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.
Instance Variable iexp The number of bits in the exponent portion of the floating point representation.
Instance Variable machep The exponent that yields eps.
Instance Variable max The largest representable number.
Instance Variable maxexp The smallest positive power of the base (2) that causes overflow.
Instance Variable min The smallest representable number, typically -max.
Instance Variable minexp The most negative power of the base (2) consistent with there being no leading 0's in the mantissa.
Instance Variable negep The exponent that yields epsneg.
Instance Variable nexp The number of bits in the exponent including its sign and bias.
Instance Variable nmant The number of bits in the mantissa.
Instance Variable precision The approximate number of decimal digits to which this kind of float is precise.
Instance Variable resolution The approximate decimal resolution of this type, i.e., 10**-precision.
Instance Variable smallest_subnormal The smallest positive floating point number with 0 as leading bit in the mantissa following IEEE-754.
Property machar The object which calculated these parameters and holds more detailed information.
Property smallest_normal Return the value for the smallest normal.
Property tiny Return the value for tiny, alias of smallest_normal.
Method _init Undocumented
Class Variable _finfo_cache Undocumented
Instance Variable _machar Undocumented
Instance Variable _str_eps Undocumented
Instance Variable _str_epsneg Undocumented
Instance Variable _str_max Undocumented
Instance Variable _str_resolution Undocumented
Instance Variable _str_smallest_normal Undocumented
Instance Variable _str_smallest_subnormal Undocumented
Instance Variable _str_tiny Undocumented
def __new__(cls, dtype): (source)

Undocumented

def __repr__(self): (source)

Undocumented

def __str__(self): (source)

Undocumented

The number of bits occupied by the type.

dtype: float, dtype, or instance = (source)

Returns the dtype for which finfo returns information. For complex input, the returned dtype is the associated float* dtype for its real and complex components.

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.

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.

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

The exponent that yields eps.

max: floating point number of the appropriate type = (source)

The largest representable number.

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

min: floating point number of the appropriate type = (source)

The smallest representable number, typically -max.

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

The exponent that yields epsneg.

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

The number of bits in the mantissa.

precision: int = (source)

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

resolution: floating point number of the appropriate type = (source)

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

smallest_subnormal: float = (source)

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

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

Deprecated since version 1.22.
@property
smallest_normal = (source)

Return the value for the smallest normal.

Returns
floatsmallest_normal - Value for the smallest normal.
Warns
UserWarningIf the calculated value for the smallest normal is requested for double-double.

Return the value for tiny, alias of smallest_normal.

Returns
floattiny - Value for the smallest normal, alias of smallest_normal.
Warns
UserWarningIf the calculated value for the smallest normal is requested for double-double.
def _init(self, dtype): (source)

Undocumented

_finfo_cache: dict = (source)

Undocumented

Undocumented

_str_eps = (source)

Undocumented

_str_epsneg = (source)

Undocumented

_str_max = (source)

Undocumented

_str_resolution = (source)

Undocumented

_str_smallest_normal = (source)

Undocumented

_str_smallest_subnormal = (source)

Undocumented

_str_tiny = (source)

Undocumented