pythoncomparisonfloating-pointepsilon

Value for epsilon in Python


Is there a standard value for (or method for obtaining) epsilon in Python? I need to compare floating point values and want to compare against the smallest possible difference.

In C++ there's a function provided numeric_limits::epsilon( ) which gives the epsilon value for any given data type. Is there an equivalent in Python?


Solution

  • The information is available in sys.float_info, which corresponds to float.h in C99.

    >>> import sys
    >>> sys.float_info.epsilon
    2.220446049250313e-16