push
travis-ci
83775 of 156529 relevant lines covered (53.52%)
879627.44 hits per line
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 |
mp_ord mp_cmp_d(const mp_int *a, mp_digit b)
|
3,324,939✔ |
8 |
{ |
|
9 |
/* compare based on sign */
|
|
10 |
if (a->sign == MP_NEG) {
|
3,324,939✔ |
11 |
return MP_LT;
|
× |
12 |
} |
|
13 |
|
|
14 |
/* compare based on magnitude */
|
|
15 |
if (a->used > 1) { |
3,324,939✔ |
16 |
return MP_GT;
|
3,293,950✔ |
17 |
} |
|
18 |
|
|
19 |
/* compare the only digit of a to b */
|
|
20 |
if (a->dp[0] > b) { |
30,989✔ |
21 |
return MP_GT;
|
13,583✔ |
22 |
} else if (a->dp[0] < b) { |
17,406✔ |
23 |
return MP_LT;
|
12,774✔ |
24 |
} else {
|
|
25 |
return MP_EQ;
|
4,632✔ |
26 |
} |
|
27 |
} |
|
28 |
#endif
|