code: function remainder() {
    var set;
    if (remainder.arguments.length == 2)
     {
      set = remainder.arguments[1];
     }
    else if (remainder.arguments.length == 1)
     {
      set = this.plainMC;
     }
    else
     {
      throw "remainder(): " + remainder.arguments.length + " arguments given; expected 1 or 2";
     }
    var rhs = remainder.arguments[0];
    return this.dodivide('R',rhs,set,-1);
    }
docs: Returns a <code>BigDecimal</code> whose value is the remainder of
  <code>this/rhs</code>.
  <p>
  Implements the remainder operator
  (as defined in the decimal documentation, see {@link BigDecimal
  class header}),
  and returns the result as a <code>BigDecimal</code> object.
  <p>
  This is not the modulo operator -- the result may be negative.
  
  @param  rhs The <code>BigDecimal</code> for the right hand side of
  the remainder operation.
  @param  set The <code>MathContext</code> arithmetic settings.
  @return     A <code>BigDecimal</code> whose value is the remainder
  of <code>this+rhs</code>.
  @throws ArithmeticException if <code>rhs</code> is zero.
  @throws ArithmeticException if the integer part of the result will
  not fit in the number of digits specified for the
  context.
  @stable ICU 2.0
   --public com.ibm.icu.math.BigDecimal remainder(com.ibm.icu.math.BigDecimal rhs,com.ibm.icu.math.MathContext set){