code: func (d *MyDecimal) doMiniLeftShift(shift, beg, end int) {
  	bufFrom := beg / digitsPerWord
  	bufEnd := (end - 1) / digitsPerWord
  	cShift := digitsPerWord - shift
  	if beg%digitsPerWord < shift {
  		d.wordBuf[bufFrom-1] = d.wordBuf[bufFrom] / powers10[cShift]
  	}
  	for bufFrom < bufEnd {
  		d.wordBuf[bufFrom] = (d.wordBuf[bufFrom]%powers10[cShift])*powers10[shift] + d.wordBuf[bufFrom+1]/powers10[cShift]
  		bufFrom++
  	}
  	d.wordBuf[bufFrom] = (d.wordBuf[bufFrom] % powers10[cShift]) * powers10[shift]
  }
docs: /*
    doMiniLeftShift does left shift for alignment of data in buffer.
  
      shift   number of decimal digits on which it should be shifted
      beg/end bounds of decimal digits (see digitsBounds())
  
    NOTE
      Result fitting in the buffer should be garanted.
      'shift' have to be from 1 to digitsPerWord-1 (inclusive)
  */