diff options
author | NIIBE Yutaka <gniibe@fsij.org> | 2020-04-17 11:45:38 +0900 |
---|---|---|
committer | NIIBE Yutaka <gniibe@fsij.org> | 2020-04-17 13:50:43 +0900 |
commit | 128045a12139fe2e4be877df59da10c7d4857d9a (patch) | |
tree | d89e72918ef9f1d04fddcabca1edf0728ccc678d /mpi | |
parent | 515bd6e9fae448e966f71e23635503716201158d (diff) | |
download | libgcrypt-128045a12139fe2e4be877df59da10c7d4857d9a.tar.gz |
mpi: Add _gcry_mpih_cmp_ui.
* mpi/mpih-const-time.c (_gcry_mpih_cmp_ui): New.
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
Diffstat (limited to 'mpi')
-rw-r--r-- | mpi/mpi-internal.h | 1 | ||||
-rw-r--r-- | mpi/mpih-const-time.c | 14 |
2 files changed, 15 insertions, 0 deletions
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; +} |