From 0ee6428c2ddf94b758bf6005f1bae593c7a0366c Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 22 Apr 2015 19:54:34 -0700 Subject: mpi-set-mpi-word patch * mpi/mpi.c (mp_set_word): New function. * mpi/mpi.h (mp_set_word): Declared. --- mpi/mpi.c | 9 +++++++++ mpi/mpi.h | 1 + 2 files changed, 10 insertions(+) diff --git a/mpi/mpi.c b/mpi/mpi.c index 7989a98c..93a97331 100644 --- a/mpi/mpi.c +++ b/mpi/mpi.c @@ -571,6 +571,15 @@ mp_err mp_get_intptr(mp_int *mp, int_ptr_t *z) return MP_OKAY; } +mp_err mp_set_word(mp_int *mp, mp_word w, int sign) +{ + USED(mp) = 2; + DIGIT(mp, 0) = w & MP_DIGIT_MAX; + DIGIT(mp, 1) = w >> MP_DIGIT_BIT; + SIGN(mp) = sign; + return MP_OKAY; +} + /*------------------------------------------------------------------------*/ /* {{{ Digit arithmetic */ diff --git a/mpi/mpi.h b/mpi/mpi.h index e0fdbf92..91fb967d 100644 --- a/mpi/mpi.h +++ b/mpi/mpi.h @@ -100,6 +100,7 @@ void mp_set(mp_int *mp, mp_digit d); mp_err mp_set_int(mp_int *mp, long z); mp_err mp_set_intptr(mp_int *mp, int_ptr_t z); mp_err mp_get_intptr(mp_int *mp, int_ptr_t *z); +mp_err mp_set_word(mp_int *mp, mp_word w, int sign); /*------------------------------------------------------------------------*/ /* Single digit arithmetic */ -- cgit v1.2.3