function bnpLShiftTo(n,r) {
  var this_array = this.array;
  var r_array = r.array;
  var bs = n%BI_DB;
  var cbs = BI_DB-bs;
  var bm = (1<<cbs)-1;
  var ds = Math.floor(n/BI_DB), c = (this.s<<bs)&BI_DM, i;
  for(i = this.t-1; i >= 0; --i) {
    r_array[i+ds+1] = (this_array[i]>>cbs)|c;
    c = (this_array[i]&bm)<<bs;
  }
  for(i = ds-1; i >= 0; --i) r_array[i] = 0;
  r_array[ds] = c;
  r.t = this.t+ds+1;
  r.s = this.s;
  r.clamp();
}
function bnpLShiftTo(n,r) {
  var this_array = this.array;
  var r_array = r.array;
  var bs = n%BI_DB;
  var cbs = BI_DB-bs;
  var bm = (1<<cbs)-1;
  var ds = Math.floor(n/BI_DB), c = (this.s<<bs)&BI_DM, i;
  for(i = this.t-1; i >= 0; --i) {
    r_array[i+ds+1] = (this_array[i]>>cbs)|c;
    c = (this_array[i]&bm)<<bs;
  }
  for(i = ds-1; i >= 0; --i) r_array[i] = 0;
  r_array[ds] = c;
  r.t = this.t+ds+1;
  r.s = this.s;
  r.clamp();
}
function bnpLShiftTo ( n , r ) { var this_array = this . array ; var r_array = r . array ; var bs = n % BI_DB ; var cbs = BI_DB - bs ; var bm = ( 1 << cbs ) - 1 ; var ds = Math . floor ( n / BI_DB ) , c = ( this . s << bs ) & BI_DM , i ; for ( i = this . t - 1 ; i >= 0 ; -- i ) { r_array [ i + ds + 1 ] = ( this_array [ i ] >> cbs ) | c ; c = ( this_array [ i ] & bm ) << bs ; } for ( i = ds - 1 ; i >= 0 ; -- i ) r_array [ i ] = 0 ; r_array [ ds ] = c ; r . t = this . t + ds + 1 ; r . s = this . s ; r . clamp ( ) ; }
(protected) r = this << n
( protected ) r = this << n