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