unsigned int ix;
int     ix;
mp_err   s_mp_lshd(mp_int *mp, mp_size p){  mp_err  res;  mp_size pos;  unsigned int ix;  if(p == 0)    return MP_OKAY;  if (MP_USED(mp) == 1 && MP_DIGIT(mp, 0) == 0)    return MP_OKAY;  if((res = s_mp_pad(mp, USED(mp) + p)) != MP_OKAY)    return res;  pos = USED(mp) - 1;  /* Shift all the significant figures over as needed */  for(ix = pos - p; ix >= 0; ix--)     DIGIT(mp, ix + p) = DIGIT(mp, ix);  /* Fill the bottom digits with zeroes */  for(ix = 0; ix < p; ix++)    DIGIT(mp, ix) = 0;  return MP_OKAY;} /* end s_mp_lshd() */