public final class MutableDecimal15f extends AbstractMutableDecimal<Scale15f,MutableDecimal15f> implements Cloneable
All methods for this class throw NullPointerException
when passed a
null
object reference for any input parameter.
Constructor and Description |
---|
MutableDecimal15f()
Constructs a new
MutableDecimal15f with value zero. |
MutableDecimal15f(BigDecimal value)
Constructs a
MutableDecimal15f whose value is calculated by
rounding the specified BigDecimal argument to scale 15 using
HALF_UP rounding. |
MutableDecimal15f(BigInteger value)
Constructs a
MutableDecimal15f whose value is numerically equal to
that of the specified BigInteger value. |
MutableDecimal15f(Decimal<?> value)
|
MutableDecimal15f(Decimal15f value)
Constructs a
MutableDecimal15f whose value is numerically equal to
that of the specified Decimal15f value. |
MutableDecimal15f(double value)
Constructs a
MutableDecimal15f whose value is calculated by
rounding the specified double argument to scale 15 using
HALF_UP rounding. |
MutableDecimal15f(long value)
Constructs a
MutableDecimal15f whose value is numerically equal
to that of the specified long value. |
MutableDecimal15f(String value)
Translates the string representation of a
Decimal into a
MutableDecimal15f . |
Modifier and Type | Method and Description |
---|---|
static MutableDecimal15f |
billionth()
Returns a new
MutableDecimal15f whose value is equal to one billionth. |
MutableDecimal15f |
clone()
Returns a clone of this mutable Decimal numerically identical to this
value.
|
protected MutableDecimal15f |
create(long unscaled)
Returns a new
Decimal whose value is
(unscaled × 10-scale). |
protected MutableDecimal15f[] |
createArray(int length)
Returns a new
Decimal array of the specified length . |
static MutableDecimal15f |
eight()
Returns a new
MutableDecimal15f whose value is equal to eight. |
static MutableDecimal15f |
five()
Returns a new
MutableDecimal15f whose value is equal to five. |
static MutableDecimal15f |
four()
Returns a new
MutableDecimal15f whose value is equal to four. |
protected DecimalArithmetic |
getDefaultArithmetic()
Returns the default arithmetic performing unchecked operations with
rounding mode
HALF_UP . |
protected DecimalArithmetic |
getDefaultCheckedArithmetic()
Returns the default arithmetic performing checked operations with
rounding mode
HALF_UP . |
Factory15f |
getFactory()
Returns the factory that can be used to create other Decimal values of the same scale as
this Decimal. |
protected DecimalArithmetic |
getRoundingDownArithmetic()
Returns the arithmetic performing unchecked operations with rounding mode
DOWN . |
protected DecimalArithmetic |
getRoundingFloorArithmetic()
Returns the arithmetic performing unchecked operations with rounding mode
FLOOR . |
protected DecimalArithmetic |
getRoundingHalfEvenArithmetic()
Returns the arithmetic performing unchecked operations with rounding mode
HALF_EVEN . |
protected DecimalArithmetic |
getRoundingUnnecessaryArithmetic()
Returns the arithmetic performing unchecked operations with rounding mode
UNNECESSARY . |
int |
getScale()
Returns the scale associated with this Decimal.
|
Scale15f |
getScaleMetrics()
Returns the metrics associated with the scale of this Decimal.
|
static MutableDecimal15f |
half()
Returns a new
MutableDecimal15f whose value is equal to one half. |
static MutableDecimal15f |
hundred()
Returns a new
MutableDecimal15f whose value is equal to one hundred. |
static MutableDecimal15f |
hundredth()
Returns a new
MutableDecimal15f whose value is equal to one hundredth. |
static MutableDecimal15f |
millionth()
Returns a new
MutableDecimal15f whose value is equal to one millionth. |
static MutableDecimal15f |
minusOne()
Returns a new
MutableDecimal15f whose value is equal to minus one. |
Multipliable15f |
multiplyExact()
Returns this
Decimal as a multipliable factor for exact
typed exact multiplication. |
static MutableDecimal15f |
nine()
Returns a new
MutableDecimal15f whose value is equal to nine. |
static MutableDecimal15f |
one()
Returns a new
MutableDecimal15f whose value is equal to one. |
static MutableDecimal15f |
quadrillionth()
Returns a new
MutableDecimal15f whose value is equal to one quadrillionth. |
protected MutableDecimal15f |
self()
Returns
this decimal value as concrete implementation subtype. |
static MutableDecimal15f |
seven()
Returns a new
MutableDecimal15f whose value is equal to seven. |
static MutableDecimal15f |
six()
Returns a new
MutableDecimal15f whose value is equal to six. |
static MutableDecimal15f |
ten()
Returns a new
MutableDecimal15f whose value is equal to ten. |
static MutableDecimal15f |
tenth()
Returns a new
MutableDecimal15f whose value is equal to one tenth. |
static MutableDecimal15f |
thousand()
Returns a new
MutableDecimal15f whose value is equal to one thousand. |
static MutableDecimal15f |
thousandth()
Returns a new
MutableDecimal15f whose value is equal to one thousandth. |
static MutableDecimal15f |
three()
Returns a new
MutableDecimal15f whose value is equal to three. |
Decimal15f |
toImmutableDecimal()
If this
Decimal value is already an ImmutableDecimal it is simply returned. |
MutableDecimal15f |
toMutableDecimal()
If this
Decimal value is already a MutableDecimal it is simply returned. |
static MutableDecimal15f |
trillionth()
Returns a new
MutableDecimal15f whose value is equal to one trillionth. |
static MutableDecimal15f |
two()
Returns a new
MutableDecimal15f whose value is equal to two. |
static MutableDecimal15f |
ulp()
Returns a new
MutableDecimal15f whose value is equal to one ULP. |
static MutableDecimal15f |
unscaled(long unscaledValue)
Returns a new
MutableDecimal15f whose value is equal to
unscaledValue * 10-15 . |
static MutableDecimal15f |
zero()
Returns a new
MutableDecimal15f whose value is equal to zero. |
createOrAssign, max, min, multiplyExact, scale, scale, scale, scale, set, set, set, set, set, set, set, set, set, set, set, set, setMinusOne, setOne, setUlp, setUnscaled, setUnscaled, setUnscaled, setZero, unscaledValue
abs, abs, add, add, add, add, add, add, add, add, addSquared, addSquared, addSquared, addUnscaled, addUnscaled, addUnscaled, addUnscaled, addUnscaled, avg, avg, byteValueExact, compareTo, compareToNumerically, divide, divide, divide, divide, divide, divide, divide, divide, divideAndRemainder, divideAndRemainder, divideBy, divideBy, divideBy, divideByPowerOfTen, divideByPowerOfTen, divideByPowerOfTen, divideExact, divideToIntegralValue, divideToIntegralValue, divideToLongValue, divideToLongValue, divideTruncate, divideUnscaled, divideUnscaled, divideUnscaled, divideUnscaled, divideUnscaled, divideUnscaled, doubleValue, doubleValue, equals, floatValue, floatValue, fractionalPart, getArithmeticFor, getArithmeticFor, getArithmeticFor, getCheckedArithmeticFor, hashCode, integralPart, intValue, intValueExact, invert, invert, invert, isBetweenZeroAndMinusOne, isBetweenZeroAndOne, isEqualTo, isEqualToNumerically, isGreaterThan, isGreaterThanOrEqualTo, isIntegral, isIntegralPartZero, isLessThan, isLessThanOrEqualTo, isMinusOne, isNegative, isNonNegative, isNonPositive, isOne, isPositive, isUlp, isZero, longValue, longValue, longValueExact, max, max, min, min, multiply, multiply, multiply, multiply, multiply, multiply, multiply, multiplyBy, multiplyBy, multiplyBy, multiplyByPowerOfTen, multiplyByPowerOfTen, multiplyByPowerOfTen, multiplyUnscaled, multiplyUnscaled, multiplyUnscaled, multiplyUnscaled, multiplyUnscaled, multiplyUnscaled, negate, negate, pow, pow, pow, remainder, round, round, round, shiftLeft, shiftLeft, shiftLeft, shiftRight, shiftRight, shiftRight, shortValueExact, signum, sqrt, sqrt, square, square, square, subtract, subtract, subtract, subtract, subtract, subtract, subtract, subtract, subtractSquared, subtractSquared, subtractSquared, subtractUnscaled, subtractUnscaled, subtractUnscaled, subtractUnscaled, subtractUnscaled, toBigDecimal, toBigDecimal, toBigInteger, toBigInteger, toBigIntegerExact, toString
byteValue, shortValue
finalize, getClass, notify, notifyAll, wait, wait, wait
abs, abs, add, add, add, add, add, add, add, add, addSquared, addSquared, addSquared, addUnscaled, addUnscaled, addUnscaled, addUnscaled, addUnscaled, avg, avg, divide, divide, divide, divide, divide, divide, divide, divide, divideAndRemainder, divideAndRemainder, divideBy, divideBy, divideBy, divideByPowerOfTen, divideByPowerOfTen, divideByPowerOfTen, divideExact, divideToIntegralValue, divideToIntegralValue, divideTruncate, divideUnscaled, divideUnscaled, divideUnscaled, divideUnscaled, divideUnscaled, divideUnscaled, fractionalPart, integralPart, invert, invert, invert, multiply, multiply, multiply, multiply, multiply, multiply, multiply, multiplyBy, multiplyBy, multiplyBy, multiplyByPowerOfTen, multiplyByPowerOfTen, multiplyByPowerOfTen, multiplyUnscaled, multiplyUnscaled, multiplyUnscaled, multiplyUnscaled, multiplyUnscaled, multiplyUnscaled, negate, negate, pow, pow, pow, remainder, round, round, round, shiftLeft, shiftLeft, shiftLeft, shiftRight, shiftRight, shiftRight, sqrt, sqrt, square, square, square, subtract, subtract, subtract, subtract, subtract, subtract, subtract, subtract, subtractSquared, subtractSquared, subtractSquared, subtractUnscaled, subtractUnscaled, subtractUnscaled, subtractUnscaled, subtractUnscaled
byteValue, byteValueExact, compareTo, compareToNumerically, divideToLongValue, divideToLongValue, doubleValue, doubleValue, equals, floatValue, floatValue, hashCode, intValue, intValueExact, isBetweenZeroAndMinusOne, isBetweenZeroAndOne, isEqualTo, isEqualToNumerically, isGreaterThan, isGreaterThanOrEqualTo, isIntegral, isIntegralPartZero, isLessThan, isLessThanOrEqualTo, isMinusOne, isNegative, isNonNegative, isNonPositive, isOne, isPositive, isUlp, isZero, longValue, longValue, longValueExact, max, min, shortValue, shortValueExact, signum, toBigDecimal, toBigDecimal, toBigInteger, toBigInteger, toBigIntegerExact, toString
public MutableDecimal15f()
MutableDecimal15f
with value zero.zero()
public MutableDecimal15f(String value)
Decimal
into a
MutableDecimal15f
. The string representation consists
of an optional sign, '+'
or '-'
, followed by a sequence
of zero or more decimal digits ("the integer"), optionally followed by a
fraction.
The fraction consists of a decimal point followed by zero or more decimal
digits. The string must contain at least one digit in either the integer
or the fraction. If the fraction contains more than 15 digits, the
value is rounded using HALF_UP
rounding. An
exception is thrown if the value is too large to be represented as a
MutableDecimal15f
.
value
- String value to convert into a MutableDecimal15f
NumberFormatException
- if value
does not represent a valid Decimal
or if the value is too large to be represented as a
MutableDecimal15f
AbstractMutableDecimal.set(String, RoundingMode)
public MutableDecimal15f(long value)
MutableDecimal15f
whose value is numerically equal
to that of the specified long
value. An exception is thrown if the
specified value is too large to be represented as a MutableDecimal15f
.value
- long value to convert into a MutableDecimal15f
IllegalArgumentException
- if value
is too large to be represented as a
MutableDecimal15f
public MutableDecimal15f(double value)
MutableDecimal15f
whose value is calculated by
rounding the specified double
argument to scale 15 using
HALF_UP
rounding. An exception is thrown if the
specified value is too large to be represented as a MutableDecimal15f
.value
- double value to convert into a MutableDecimal15f
IllegalArgumentException
- if value
is NaN or infinite or if the magnitude is too large
for the double to be represented as a MutableDecimal15f
AbstractMutableDecimal.set(double, RoundingMode)
,
AbstractMutableDecimal.set(float)
,
AbstractMutableDecimal.set(float, RoundingMode)
public MutableDecimal15f(BigInteger value)
MutableDecimal15f
whose value is numerically equal to
that of the specified BigInteger
value. An exception is thrown if the
specified value is too large to be represented as a MutableDecimal15f
.value
- BigInteger
value to convert into a MutableDecimal15f
IllegalArgumentException
- if value
is too large to be represented as a MutableDecimal15f
public MutableDecimal15f(BigDecimal value)
MutableDecimal15f
whose value is calculated by
rounding the specified BigDecimal
argument to scale 15 using
HALF_UP
rounding. An exception is thrown if the
specified value is too large to be represented as a MutableDecimal15f
.value
- BigDecimal
value to convert into a MutableDecimal15f
IllegalArgumentException
- if value
is too large to be represented as a MutableDecimal15f
AbstractMutableDecimal.set(BigDecimal, RoundingMode)
public MutableDecimal15f(Decimal15f value)
MutableDecimal15f
whose value is numerically equal to
that of the specified Decimal15f
value.value
- Decimal15f
value to convert into a MutableDecimal15f
public MutableDecimal15f(Decimal<?> value)
MutableDecimal15f
whose value is calculated by
rounding the specified Decimal
argument to scale 15 using
HALF_UP
rounding. An exception is thrown if
the specified value is too large to be represented as a MutableDecimal15f
.value
- Decimal value to convert into a MutableDecimal15f
IllegalArgumentException
- if value
is too large to be represented as a MutableDecimal15f
AbstractMutableDecimal.set(Decimal, RoundingMode)
protected final MutableDecimal15f create(long unscaled)
AbstractDecimal
Decimal
whose value is
(unscaled × 10-scale).create
in class AbstractDecimal<Scale15f,MutableDecimal15f>
unscaled
- unscaled value to be returned as a Decimal
protected final MutableDecimal15f[] createArray(int length)
AbstractDecimal
Decimal
array of the specified length
.createArray
in class AbstractDecimal<Scale15f,MutableDecimal15f>
length
- the length of the array to returnnew D[length]
protected final MutableDecimal15f self()
AbstractDecimal
this
decimal value as concrete implementation subtype.self
in class AbstractDecimal<Scale15f,MutableDecimal15f>
this
public final Scale15f getScaleMetrics()
Decimal
long
value underlying this Decimal
.getScaleMetrics
in interface Decimal<Scale15f>
ScaleMetrics.getScale()
,
ScaleMetrics.getScaleFactor()
public final int getScale()
Decimal
long
value underlying this Decimal
.
If the scale is f
then the value represented by a Decimal
instance is
(unscaledValue × 10-f).
This method is a shortcut for getScaleMetrics().getScale()
.
getScale
in interface Decimal<Scale15f>
Decimal.getScaleMetrics()
,
ScaleMetrics.getScale()
,
Decimal.unscaledValue()
public Factory15f getFactory()
Decimal
this
Decimal.getFactory
in interface Decimal<Scale15f>
protected DecimalArithmetic getDefaultArithmetic()
AbstractDecimal
HALF_UP
.getDefaultArithmetic
in class AbstractDecimal<Scale15f,MutableDecimal15f>
HALF_UP
rounding and UNCHECKED
overflow
modeprotected DecimalArithmetic getDefaultCheckedArithmetic()
AbstractDecimal
HALF_UP
.getDefaultCheckedArithmetic
in class AbstractDecimal<Scale15f,MutableDecimal15f>
HALF_UP
rounding and CHECKED
overflow modeprotected DecimalArithmetic getRoundingDownArithmetic()
AbstractDecimal
DOWN
.getRoundingDownArithmetic
in class AbstractDecimal<Scale15f,MutableDecimal15f>
DOWN
rounding and
UNCHECKED
overflow modeprotected DecimalArithmetic getRoundingFloorArithmetic()
AbstractDecimal
FLOOR
.getRoundingFloorArithmetic
in class AbstractDecimal<Scale15f,MutableDecimal15f>
FLOOR
rounding and
UNCHECKED
overflow modeprotected DecimalArithmetic getRoundingHalfEvenArithmetic()
AbstractDecimal
HALF_EVEN
.getRoundingHalfEvenArithmetic
in class AbstractDecimal<Scale15f,MutableDecimal15f>
HALF_UP
rounding and
UNCHECKED
overflow modeprotected DecimalArithmetic getRoundingUnnecessaryArithmetic()
AbstractDecimal
UNNECESSARY
.getRoundingUnnecessaryArithmetic
in class AbstractDecimal<Scale15f,MutableDecimal15f>
UNNECESSARY
rounding and UNCHECKED
overflow
modepublic MutableDecimal15f clone()
MutableDecimal
clone
in interface MutableDecimal<Scale15f>
clone
in class AbstractMutableDecimal<Scale15f,MutableDecimal15f>
public static MutableDecimal15f unscaled(long unscaledValue)
MutableDecimal15f
whose value is equal to
unscaledValue * 10-15
.unscaledValue
- the unscaled decimal value to convertMutableDecimal15f
value initialised with unscaledValue * 10-15
AbstractMutableDecimal.setUnscaled(long, int)
,
AbstractMutableDecimal.setUnscaled(long, int, RoundingMode)
public static MutableDecimal15f zero()
MutableDecimal15f
whose value is equal to zero.MutableDecimal15f
value initialised with 0.public static MutableDecimal15f ulp()
MutableDecimal15f
whose value is equal to one ULP.MutableDecimal15f
value initialised with 10-15.public static MutableDecimal15f one()
MutableDecimal15f
whose value is equal to one.MutableDecimal15f
value initialised with 1.public static MutableDecimal15f two()
MutableDecimal15f
whose value is equal to two.MutableDecimal15f
value initialised with 2.public static MutableDecimal15f three()
MutableDecimal15f
whose value is equal to three.MutableDecimal15f
value initialised with 3.public static MutableDecimal15f four()
MutableDecimal15f
whose value is equal to four.MutableDecimal15f
value initialised with 4.public static MutableDecimal15f five()
MutableDecimal15f
whose value is equal to five.MutableDecimal15f
value initialised with 5.public static MutableDecimal15f six()
MutableDecimal15f
whose value is equal to six.MutableDecimal15f
value initialised with 6.public static MutableDecimal15f seven()
MutableDecimal15f
whose value is equal to seven.MutableDecimal15f
value initialised with 7.public static MutableDecimal15f eight()
MutableDecimal15f
whose value is equal to eight.MutableDecimal15f
value initialised with 8.public static MutableDecimal15f nine()
MutableDecimal15f
whose value is equal to nine.MutableDecimal15f
value initialised with 9.public static MutableDecimal15f ten()
MutableDecimal15f
whose value is equal to ten.MutableDecimal15f
value initialised with 10.public static MutableDecimal15f hundred()
MutableDecimal15f
whose value is equal to one hundred.MutableDecimal15f
value initialised with 100.public static MutableDecimal15f thousand()
MutableDecimal15f
whose value is equal to one thousand.MutableDecimal15f
value initialised with 1000.public static MutableDecimal15f minusOne()
MutableDecimal15f
whose value is equal to minus one.MutableDecimal15f
value initialised with -1.public static MutableDecimal15f half()
MutableDecimal15f
whose value is equal to one half.MutableDecimal15f
value initialised with 0.5.public static MutableDecimal15f tenth()
MutableDecimal15f
whose value is equal to one tenth.MutableDecimal15f
value initialised with 0.1.public static MutableDecimal15f hundredth()
MutableDecimal15f
whose value is equal to one hundredth.MutableDecimal15f
value initialised with 0.01.public static MutableDecimal15f thousandth()
MutableDecimal15f
whose value is equal to one thousandth.MutableDecimal15f
value initialised with 0.001.public static MutableDecimal15f millionth()
MutableDecimal15f
whose value is equal to one millionth.MutableDecimal15f
value initialised with 10-6.public static MutableDecimal15f billionth()
MutableDecimal15f
whose value is equal to one billionth.MutableDecimal15f
value initialised with 10-9.public static MutableDecimal15f trillionth()
MutableDecimal15f
whose value is equal to one trillionth.MutableDecimal15f
value initialised with 10-12.public static MutableDecimal15f quadrillionth()
MutableDecimal15f
whose value is equal to one quadrillionth.MutableDecimal15f
value initialised with 10-15.public Multipliable15f multiplyExact()
Decimal
as a multipliable factor for exact
typed exact multiplication. The second factor is passed to one of
the by(..)
methods of the returned multiplier. The scale of
the result is the sum of the scales of this
Decimal and the
second factor passed to the by(..)
method.
The method is similar to multiplyExact(Decimal)
but the result
is retrieved in exact typed form with the correct result scale.
For instance one can write:
Decimal17f product = this.multiplyExact().by(Decimal2f.FIVE);
public Decimal15f toImmutableDecimal()
Decimal
Decimal
value is already an ImmutableDecimal
it is simply returned. Otherwise a new
immutable value with the same scale and numerical value as this
Decimal is created and returned.toImmutableDecimal
in interface Decimal<Scale15f>
this
if immutable and a new ImmutableDecimal
with the same scale and value as
this
Decimal otherwisepublic MutableDecimal15f toMutableDecimal()
Decimal
Decimal
value is already a MutableDecimal
it is simply returned. Otherwise a new mutable
value with the same scale and numerical value as this
Decimal is created and returned.toMutableDecimal
in interface Decimal<Scale15f>
this
if mutable and a new MutableDecimal
with the same scale and value as this
Decimal otherwise