function bnpMultiplyTo(a,r) {
  var this_array = this.array;
  var r_array = r.array;
  var x = this.abs(), y = a.abs();
  var y_array = y.array;

  var i = x.t;
  r.t = i+y.t;
  while(--i >= 0) r_array[i] = 0;
  for(i = 0; i < y.t; ++i) r_array[i+x.t] = x.am(0,y_array[i],r,i,0,x.t);
  r.s = 0;
  r.clamp();
  if(this.s != a.s) BigInteger.ZERO.subTo(r,r);
}
function bnpMultiplyTo(a,r) {
  var this_array = this.array;
  var r_array = r.array;
  var x = this.abs(), y = a.abs();
  var y_array = y.array;

  var i = x.t;
  r.t = i+y.t;
  while(--i >= 0) r_array[i] = 0;
  for(i = 0; i < y.t; ++i) r_array[i+x.t] = x.am(0,y_array[i],r,i,0,x.t);
  r.s = 0;
  r.clamp();
  if(this.s != a.s) BigInteger.ZERO.subTo(r,r);
}
function bnpMultiplyTo ( a , r ) { var this_array = this . array ; var r_array = r . array ; var x = this . abs ( ) , y = a . abs ( ) ; var y_array = y . array ; var i = x . t ; r . t = i + y . t ; while ( -- i >= 0 ) r_array [ i ] = 0 ; for ( i = 0 ; i < y . t ; ++ i ) r_array [ i + x . t ] = x . am ( 0 , y_array [ i ] , r , i , 0 , x . t ) ; r . s = 0 ; r . clamp ( ) ; if ( this . s != a . s ) BigInteger . ZERO . subTo ( r , r ) ; }
(protected) r = this * a, r != this,a (HAC 14.12) "this" should be the larger one if appropriate.
( protected ) r = this * a r ! = this a ( HAC 14 . 12 ) this should be the larger one if appropriate .