* @return this / number
* @throws UndefinedResultException
*/
public BigDec divide(BigDec number) throws UndefinedResultException {
if (infinity != 0 && number.infinity != 0)
throw new UndefinedResultException("Infinity / infinity is an undefined operation.", null);
else if (infinity != 0)
return new BigDec(new Integer(infinity));
else if (number.infinity != 0)
return ZERO;
else if (number.eq(ZERO) && eq(ZERO))
throw new UndefinedResultException("0 / 0 is an undefined operation.", null);
else if (number.eq(ZERO))
return new BigDec(new Integer(signum()));
return new BigDec(internal.divide(number.internal));
}