Index: mpi-1.8.6/mpi.c =================================================================== --- mpi-1.8.6.orig/mpi.c 2011-12-10 17:41:38.000000000 -0800 +++ mpi-1.8.6/mpi.c 2011-12-10 18:19:29.000000000 -0800 @@ -573,6 +573,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 2011-12-10 17:41:38.000000000 -0800 +++ mpi-1.8.6/mpi.h 2011-12-10 18:19:29.000000000 -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 */