Index: mpi-1.8.6/mpi.c =================================================================== --- mpi-1.8.6.orig/mpi.c 2015-02-07 19:32:53.524604501 -0800 +++ mpi-1.8.6/mpi.c 2015-02-07 19:32:56.016560235 -0800 @@ -571,6 +571,15 @@ 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 */ Index: mpi-1.8.6/mpi.h =================================================================== --- mpi-1.8.6.orig/mpi.h 2015-02-07 19:32:48.892686392 -0800 +++ mpi-1.8.6/mpi.h 2015-02-07 19:32:56.016560235 -0800 @@ -100,6 +100,7 @@ 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 */