/src/dropbear/libtommath/bn_mp_cmp_d.c
Line | Count | Source (jump to first uncovered 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) |
8 | 8 | { |
9 | | /* compare based on sign */ |
10 | 8 | if (a->sign == MP_NEG) { |
11 | 0 | return MP_LT; |
12 | 0 | } |
13 | | |
14 | | /* compare based on magnitude */ |
15 | 8 | if (a->used > 1) { |
16 | 8 | return MP_GT; |
17 | 8 | } |
18 | | |
19 | | /* compare the only digit of a to b */ |
20 | 0 | if (a->dp[0] > b) { |
21 | 0 | return MP_GT; |
22 | 0 | } else if (a->dp[0] < b) { |
23 | 0 | return MP_LT; |
24 | 0 | } else { |
25 | 0 | return MP_EQ; |
26 | 0 | } |
27 | 0 | } |
28 | | #endif |