public void shiftLeftThis(){
  int i;
  if ((len & 0x1f) == 0) {
    len+=1;
    blocks+=1;
    if (blocks > value.length) {
      int[] bs=new int[blocks];
      System.arraycopy(value,0,bs,0,value.length);
      value=null;
      value=bs;
    }
    for (i=blocks - 1; i >= 1; i--) {
      value[i]|=value[i - 1] >>> 31;
      value[i - 1]<<=1;
    }
  }
 else {
    len+=1;
    for (i=blocks - 1; i >= 1; i--) {
      value[i]<<=1;
      value[i]|=value[i - 1] >>> 31;
    }
    value[0]<<=1;
  }
}

public void shiftLeftThis ( ) { int i ; if ( ( len & 0x1f ) == 0 ) { len += 1 ; blocks += 1 ; if ( blocks > value . length ) { int [ ] bs = new int [ blocks ] ; System . arraycopy ( value , 0 , bs , 0 , value . length ) ; value = null ; value = bs ; } for ( i = blocks - 1 ; i >= 1 ; i -- ) { value [ i ] |= value [ i - 1 ] > > > 31 ; value [ i - 1 ] <<= 1 ; } } else { len += 1 ; for ( i = blocks - 1 ; i >= 1 ; i -- ) { value [ i ] <<= 1 ; value [ i ] |= value [ i - 1 ] > > > 31 ; } value [ 0 ] <<= 1 ; } }
shifts - left this by one and enlarges the size of value if necesary .
