Package org.apfloat.spi
Interface ApfloatImpl
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
DoubleApfloatImpl,FloatApfloatImpl,IntApfloatImpl,LongApfloatImpl
Interface for apfloat implementations. An
ApfloatImpl implements all of the
low-level functionality that is needed behind the high-level apfloat API.
A class implementing ApfloatImpl is not required to accept any other ApfloatImpl
class as the argument than the same implementing class.
- Version:
- 1.7.0
- Author:
- Mikko Tommila
-
Method Summary
Modifier and TypeMethodDescriptionabsCeil()Returns thisApfloatImplrounded away from zero.absFloor()Returns thisApfloatImplrounded towards zero.addOrSubtract(ApfloatImpl x, boolean subtract) Add or subtract anApfloatImplto this object.intCompare thisApfloatImpland another number.Divide thisApfloatImplby anApfloatImplthat is "short".doubleReturns the value of the this number as adouble.longThe number of equal digits in thisApfloatImpland another number.frac()Returns the fractional part of thisApfloatImpl.inthashCode()Returns the hash code for thisApfloatImpl.booleanisOne()Tests if this number is equal to 1.booleanisShort()Returns if thisApfloatImplis "short".longReturns the value of the this number as along.Multiply this object by anApfloatImpl.negate()Returns thisApfloatImplnegated.longReturns the precision of thisApfloatImpl.precision(long precision) Returns thisApfloatImplwith the specified precision.intradix()Returns the radix of thisApfloatImpl.longscale()Returns the scale of thisApfloatImpl.intsignum()Returns the signum of thisApfloatImpl.longsize()Returns the size of the mantissa of thisApfloatImpl.toString(boolean pretty) Convert thisApfloatImpltoString.voidPrint thisApfloatImplto a stream.
-
Method Details
-
addOrSubtract
Add or subtract anApfloatImplto this object.- Parameters:
x- The number to be added or subtracted to thisApfloatImpl.subtract-trueif the numbers are to be subtracted,falseif added.- Returns:
this + xorthis - xdepending on thesubtractargument.- Throws:
ApfloatRuntimeException
-
multiply
Multiply this object by anApfloatImpl.- Parameters:
x- The number to be multiplied by thisApfloatImpl.- Returns:
this * x.- Throws:
ApfloatRuntimeException
-
isShort
Returns if thisApfloatImplis "short". TypicallyApfloatImplis "short" if its mantissa fits in one machine word. If the apfloat is "short", some algorithms can be performed faster.The return value of this method is highly implementation dependent.
- Returns:
trueif theApfloatImplis "short",falseif not.- Throws:
ApfloatRuntimeException- See Also:
-
divideShort
Divide thisApfloatImplby anApfloatImplthat is "short".- Parameters:
x- The number by which thisApfloatImplis to be divided.- Returns:
this / x.- Throws:
ApfloatRuntimeException
-
absFloor
Returns thisApfloatImplrounded towards zero.- Returns:
- This
ApfloatImplrounded towards zero. - Throws:
ApfloatRuntimeException
-
absCeil
Returns thisApfloatImplrounded away from zero.- Returns:
- This
ApfloatImplrounded away from zero. - Throws:
ApfloatRuntimeException
-
frac
Returns the fractional part of thisApfloatImpl.- Returns:
- The fractional part of this
ApfloatImpl. - Throws:
ApfloatRuntimeException- Since:
- 1.7.0
-
radix
int radix()Returns the radix of thisApfloatImpl.- Returns:
- The radix of this
ApfloatImpl.
-
precision
long precision()Returns the precision of thisApfloatImpl.- Returns:
- The precision of this
ApfloatImpl.
-
size
Returns the size of the mantissa of thisApfloatImpl.- Returns:
- The size of the mantissa of this
ApfloatImpl. - Throws:
ApfloatRuntimeException- Since:
- 1.2
-
precision
Returns thisApfloatImplwith the specified precision.- Parameters:
precision- The precision.- Returns:
- This
ApfloatImplwith the specified precision. - Throws:
ApfloatRuntimeException
-
scale
Returns the scale of thisApfloatImpl.- Returns:
- The scale of this
ApfloatImpl. - Throws:
ApfloatRuntimeException- See Also:
-
signum
int signum()Returns the signum of thisApfloatImpl.- Returns:
- The signum of this
ApfloatImpl. - See Also:
-
negate
Returns thisApfloatImplnegated.- Returns:
-this.- Throws:
ApfloatRuntimeException
-
doubleValue
double doubleValue()Returns the value of the this number as adouble. If the number is greater thanDouble.MAX_VALUE, thenDouble.POSITIVE_INFINITYis returned.If the number is less than
Double.MIN_VALUE, thenDouble.NEGATIVE_INFINITYis returned.If the number is very small in magnitude, underflow may happen and zero is returned.
- Returns:
- The numeric value represented by this object after conversion to type
double.
-
longValue
long longValue()Returns the value of the this number as along. The fractional part is truncated towards zero.If the number is greater than
Long.MAX_VALUE, thenLong.MAX_VALUEis returned.If the number is less than
Long.MIN_VALUE, thenLong.MIN_VALUEis returned.- Returns:
- The numeric value represented by this object after conversion to type
long.
-
isOne
Tests if this number is equal to 1.- Returns:
trueif this number is equal to one, otherwisefalse.- Throws:
ApfloatRuntimeException
-
equalDigits
The number of equal digits in thisApfloatImpland another number.- Parameters:
x- The number to compare with.- Returns:
- The number of equal digits in this
ApfloatImplandx. - Throws:
ApfloatRuntimeException- See Also:
-
compareTo
Compare thisApfloatImpland another number.- Parameters:
x- The number to compare with.- Returns:
- Zero, less than zero or greater than zero depending on the result of the comparison.
- Throws:
ApfloatRuntimeException- See Also:
-
hashCode
-
toString
Convert thisApfloatImpltoString.- Parameters:
pretty- Flag for formatting.- Returns:
- String representation of this
ApfloatImpl. - Throws:
ApfloatRuntimeException- See Also:
-
writeTo
Print thisApfloatImplto a stream.- Parameters:
out- The stream to write to.pretty- Flag for formatting.- Throws:
IOException- In case of I/O error writing to the stream.ApfloatRuntimeException- See Also:
-