1 #include "tommath_private.h"
2 #ifdef BN_MP_REDUCE_IS_2K_C
3 /* LibTomMath, multiple-precision integer library -- Tom St Denis */
4 /* SPDX-License-Identifier: Unlicense */
6 /* determines if mp_reduce_2k can be used */
7 mp_bool
mp_reduce_is_2k(const mp_int
*a
)
14 } else if (a
->used
== 1) {
16 } else if (a
->used
> 1) {
17 iy
= mp_count_bits(a
);
21 /* Test every bit from the second digit up, must be 1 */
22 for (ix
= MP_DIGIT_BIT
; ix
< iy
; ix
++) {
23 if ((a
->dp
[iw
] & iz
) == 0u) {
27 if (iz
> MP_DIGIT_MAX
) {