Coverage Report

Created: 2023-09-25 06:08

/src/dropbear/libtommath/bn_mp_cmp.c
Line
Count
Source (jump to first uncovered line)
1
#include "tommath_private.h"
2
#ifdef BN_MP_CMP_C
3
/* LibTomMath, multiple-precision integer library -- Tom St Denis */
4
/* SPDX-License-Identifier: Unlicense */
5
6
/* compare two ints (signed)*/
7
mp_ord mp_cmp(const mp_int *a, const mp_int *b)
8
5
{
9
   /* compare based on sign */
10
5
   if (a->sign != b->sign) {
11
0
      if (a->sign == MP_NEG) {
12
0
         return MP_LT;
13
0
      } else {
14
0
         return MP_GT;
15
0
      }
16
0
   }
17
18
   /* compare digits */
19
5
   if (a->sign == MP_NEG) {
20
      /* if negative compare opposite direction */
21
0
      return mp_cmp_mag(b, a);
22
5
   } else {
23
5
      return mp_cmp_mag(a, b);
24
5
   }
25
5
}
26
#endif