LCOV - code coverage report
Current view: top level - third_party/heimdal/lib/hcrypto/libtommath - bn_mp_cmp_d.c (source / functions) Hit Total Coverage
Test: coverage report for master 2f515e9b Lines: 8 10 80.0 %
Date: 2024-04-21 15:09:00 Functions: 1 1 100.0 %

          Line data    Source code
       1             : #include "tommath_private.h"
       2             : #ifdef BN_MP_CMP_D_C
       3             : /* LibTomMath, multiple-precision integer library -- Tom St Denis */
       4             : /* SPDX-License-Identifier: Unlicense */
       5             : 
       6             : /* compare a digit */
       7         774 : mp_ord mp_cmp_d(const mp_int *a, mp_digit b)
       8             : {
       9             :    /* compare based on sign */
      10         774 :    if (a->sign == MP_NEG) {
      11           0 :       return MP_LT;
      12             :    }
      13             : 
      14             :    /* compare based on magnitude */
      15         774 :    if (a->used > 1) {
      16         168 :       return MP_GT;
      17             :    }
      18             : 
      19             :    /* compare the only digit of a to b */
      20         598 :    if (a->dp[0] > b) {
      21         443 :       return MP_GT;
      22         139 :    } else if (a->dp[0] < b) {
      23           0 :       return MP_LT;
      24             :    } else {
      25         139 :       return MP_EQ;
      26             :    }
      27             : }
      28             : #endif

Generated by: LCOV version 1.14