From 128045a12139fe2e4be877df59da10c7d4857d9a Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Fri, 17 Apr 2020 11:45:38 +0900 Subject: mpi: Add _gcry_mpih_cmp_ui. * mpi/mpih-const-time.c (_gcry_mpih_cmp_ui): New. Signed-off-by: NIIBE Yutaka --- mpi/mpi-internal.h | 1 + mpi/mpih-const-time.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+) (limited to 'mpi') diff --git a/mpi/mpi-internal.h b/mpi/mpi-internal.h index 4111d905..8ccdeada 100644 --- a/mpi/mpi-internal.h +++ b/mpi/mpi-internal.h @@ -274,6 +274,7 @@ void _gcry_mpih_abs_cond (mpi_ptr_t wp, mpi_ptr_t up, mpi_size_t usize, unsigned long op_enable); mpi_ptr_t _gcry_mpih_mod (mpi_ptr_t vp, mpi_size_t vsize, mpi_ptr_t up, mpi_size_t usize); +int _gcry_mpih_cmp_ui (mpi_ptr_t up, mpi_size_t usize, unsigned long v); /* Define stuff for longlong.h. */ diff --git a/mpi/mpih-const-time.c b/mpi/mpih-const-time.c index d91bf1a9..5ebb8d11 100644 --- a/mpi/mpih-const-time.c +++ b/mpi/mpih-const-time.c @@ -180,3 +180,17 @@ _gcry_mpih_mod (mpi_ptr_t vp, mpi_size_t vsize, return rp; } + +int +_gcry_mpih_cmp_ui (mpi_ptr_t up, mpi_size_t usize, unsigned long v) +{ + int is_all_zero = 1; + mpi_size_t i; + + for (i = 1; i < usize; i++) + is_all_zero &= (up[i] == 0); + + if (is_all_zero) + return up[0] - v; + return 1; +} -- cgit v1.2.1