w = DIGIT(mp, ix) + k;
w = (mp_word)DIGIT(mp, ix) + k;
mp_err   s_mp_add_d(mp_int *mp, mp_digit d)    /* unsigned digit addition */{  mp_word   w, k = 0;  mp_size   ix = 1;  w = DIGIT(mp, 0) + d;  DIGIT(mp, 0) = ACCUM(w);  k = CARRYOUT(w);  while(ix < USED(mp) && k) {    w = DIGIT(mp, ix) + k;    DIGIT(mp, ix) = ACCUM(w);    k = CARRYOUT(w);    ++ix;  }  if(k != 0) {    mp_err  res;    if((res = s_mp_pad(mp, USED(mp) + 1)) != MP_OKAY)      return res;    DIGIT(mp, ix) = k;  }  return MP_OKAY;} /* end s_mp_add_d() */