Package org.apfloat
Class AprationalMath
java.lang.Object
org.apfloat.AprationalMath
Various mathematical functions for arbitrary precision rational numbers.
- Version:
- 1.9.0
- Author:
- Mikko Tommila
-
Method Summary
Modifier and TypeMethodDescriptionstatic Aprational
abs(Aprational x)
Absolute value.static Aprational
copySign(Aprational x, Aprational y)
Copy sign from one argument to another.static Aprational
max(Aprational x, Aprational y)
Returns the greater of the two values.static Aprational
min(Aprational x, Aprational y)
Returns the smaller of the two values.static Aprational
negate(Aprational x)
Deprecated.static Aprational
pow(Aprational x, long n)
Integer power.static Aprational
product(Aprational... x)
Product of numbers.static Apfloat
round(Aprational x, long precision, RoundingMode roundingMode)
Rounds the given number to the specified precision with the specified rounding mode.static Aprational
scale(Aprational x, long scale)
Multiply by a power of the radix.static Aprational
sum(Aprational... x)
Sum of numbers.
-
Method Details
-
pow
public static Aprational pow(Aprational x, long n) throws ArithmeticException, ApfloatRuntimeExceptionInteger power.- Parameters:
x
- Base of the power operator.n
- Exponent of the power operator.- Returns:
x
to then
:th power, that isxn
.- Throws:
ArithmeticException
- If bothx
andn
are zero.ApfloatRuntimeException
-
negate
Deprecated.UseAprational.negate()
.Returns an aprational whose value is-x
.- Parameters:
x
- The argument.- Returns:
-x
.- Throws:
ApfloatRuntimeException
-
abs
Absolute value.- Parameters:
x
- The argument.- Returns:
- Absolute value of
x
. - Throws:
ApfloatRuntimeException
-
copySign
Copy sign from one argument to another.- Parameters:
x
- The value whose sign is to be adjusted.y
- The value whose sign is to be used.- Returns:
x
with its sign changed to match the sign ofy
.- Throws:
ApfloatRuntimeException
- Since:
- 1.1
-
scale
Multiply by a power of the radix. Note that this method is prone to intermediate overflow errors. Also, scaling by a very large negative number won't result in an underflow and a zero result, but an overflow of the denominator and an exception thrown.- Parameters:
x
- The argument.scale
- The scaling factor.- Returns:
x * x.radix()scale
.- Throws:
ApfloatRuntimeException
-
round
public static Apfloat round(Aprational x, long precision, RoundingMode roundingMode) throws IllegalArgumentException, ArithmeticException, ApfloatRuntimeExceptionRounds the given number to the specified precision with the specified rounding mode.- Parameters:
x
- The number to round.precision
- The precision to round to.roundingMode
- The rounding mode to use.- Returns:
- The rounded number.
- Throws:
IllegalArgumentException
- Ifprecision
is less than zero or zero.ArithmeticException
- If rounding is necessary (result is not exact) and rounding mode isRoundingMode.UNNECESSARY
.ApfloatRuntimeException
- Since:
- 1.7.0
-
product
Product of numbers. This method may perform significantly better than simply multiplying the numbers sequentially.If there are no arguments, the return value is
1
.- Parameters:
x
- The argument(s).- Returns:
- The product of the given numbers.
- Throws:
ApfloatRuntimeException
- Since:
- 1.3
-
sum
Sum of numbers. This method may perform significantly better than simply adding the numbers sequentially.If there are no arguments, the return value is
0
.- Parameters:
x
- The argument(s).- Returns:
- The sum of the given numbers.
- Throws:
ApfloatRuntimeException
- Since:
- 1.3
-
max
Returns the greater of the two values.- Parameters:
x
- An argument.y
- Another argument.- Returns:
- The greater of the two values.
- Since:
- 1.9.0
-
min
Returns the smaller of the two values.- Parameters:
x
- An argument.y
- Another argument.- Returns:
- The smaller of the two values.
- Since:
- 1.9.0
-
Aprational.negate()
.