LCOV - code coverage report
Current view: | top level - Modules - _math.h (source / functions) |  |  | Hit | Total | Coverage
Test: | CPython 3.12 LCOV report [commit 5e6661bce9] |  | Lines: | 4 | 4 | 100.0 %
Date: | 2023-03-20 08:15:36 |  | Functions: | 1 | 1 | 100.0 %
|  |  | Branches: | 2 | 2 | 100.0 %

               Branch data     Line data    Source code
           1                 :            : /* log1p(x) = log(1+x).  The log1p function is designed to avoid the
           2                 :            :    significant loss of precision that arises from direct evaluation when x is
           3                 :            :    small. Use the substitute from _math.h on all platforms: it includes
           4                 :            :    workarounds for buggy handling of zeros.
           5                 :            :  */
           6                 :            :
           7                 :            : static double
           8                 :         60 : _Py_log1p(double x)
           9                 :            : {
          10                 :            :     /* Some platforms (e.g. MacOS X 10.8, see gh-59682) supply a log1p function
          11                 :            :        but don't respect the sign of zero:  log1p(-0.0) gives 0.0 instead of
          12                 :            :        the correct result of -0.0.
          13                 :            :
          14                 :            :        To save fiddling with configure tests and platform checks, we handle the
          15                 :            :        special case of zero input directly on all platforms.
          16                 :            :     */
          17         [ +  + ]:         60 :     if (x == 0.0) {
          18                 :          2 :         return x;
          19                 :            :     }
          20                 :            :     else {
          21                 :         58 :         return log1p(x);
          22                 :            :     }
          23                 :            : }
          24                 :            :
          25                 :            : #define m_log1p _Py_log1p

Generated by: LCOV version 1.14