public BigRational add(BigRational value) {
		if (denominator.equals(value.denominator)) {
			return of(numerator.add(value.numerator), denominator);
		}

		BigDecimal n = numerator.multiply(value.denominator).add(value.numerator.multiply(denominator));
		BigDecimal d = denominator.multiply(value.denominator);
		return of(n, d);
	}
public BigRational add ( BigRational value ) { if ( denominator . equals ( value . denominator ) ) { return of ( numerator . add ( value . numerator ) , denominator ) ; } BigDecimal n = numerator . multiply ( value . denominator ) . add ( value . numerator . multiply ( denominator ) ) ; BigDecimal d = denominator . multiply ( value . denominator ) ; return of ( n , d ) ; }
Calculates the addition (+) of this rational number and the specified argument.

<p>The result has no loss of precision.</p>

@param value the rational number to add
@return the resulting rational number