| Modifier and Type | Class and Description |
|---|---|
static class |
DfpField.RoundingMode
Enumerate for rounding modes.
|
| Modifier and Type | Field and Description |
|---|---|
static int |
FLAG_DIV_ZERO
IEEE 854-1987 flag for division by zero.
|
static int |
FLAG_INEXACT
IEEE 854-1987 flag for inexact result.
|
static int |
FLAG_INVALID
IEEE 854-1987 flag for invalid operation.
|
static int |
FLAG_OVERFLOW
IEEE 854-1987 flag for overflow.
|
static int |
FLAG_UNDERFLOW
IEEE 854-1987 flag for underflow.
|
| Constructor and Description |
|---|
DfpField(int decimalDigits)
Create a factory for the specified number of radix digits.
|
| Modifier and Type | Method and Description |
|---|---|
void |
clearIEEEFlags()
Clears the IEEE 854 status flags.
|
static Dfp |
computeExp(Dfp a,
Dfp one)
Compute exp(a).
|
static Dfp |
computeLn(Dfp a,
Dfp one,
Dfp two)
Compute ln(a).
|
Dfp |
getE()
Get the constant e.
|
Dfp[] |
getESplit()
Get the constant e split in two pieces.
|
int |
getIEEEFlags()
Get the IEEE 854 status flags.
|
Dfp |
getLn10()
Get the constant ln(10).
|
Dfp |
getLn2()
Get the constant ln(2).
|
Dfp[] |
getLn2Split()
Get the constant ln(2) split in two pieces.
|
Dfp |
getLn5()
Get the constant ln(5).
|
Dfp[] |
getLn5Split()
Get the constant ln(5) split in two pieces.
|
Dfp |
getOne()
Get the constant 1.
|
Dfp |
getPi()
Get the constant π.
|
Dfp[] |
getPiSplit()
Get the constant π split in two pieces.
|
int |
getRadixDigits()
Get the number of radix digits of the
Dfp instances built by this factory. |
DfpField.RoundingMode |
getRoundingMode()
Get the current rounding mode.
|
Class<? extends FieldElement<Dfp>> |
getRuntimeClass()
Returns the runtime class of the FieldElement.
|
Dfp |
getSqr2()
Get the constant √2.
|
Dfp |
getSqr2Reciprocal()
Get the constant √2 / 2.
|
Dfp[] |
getSqr2Split()
Get the constant √2 split in two pieces.
|
Dfp |
getSqr3()
Get the constant √3.
|
Dfp |
getSqr3Reciprocal()
Get the constant √3 / 3.
|
Dfp |
getTwo()
Get the constant 2.
|
Dfp |
getZero()
Get the constant 0.
|
Dfp |
newDfp()
Makes a
Dfp with a value of 0. |
Dfp |
newDfp(byte x)
Create an instance from a byte value.
|
Dfp |
newDfp(byte sign,
byte nans)
Creates a
Dfp with a non-finite value. |
Dfp |
newDfp(Dfp d)
Copy constructor.
|
Dfp |
newDfp(double x)
Create an instance from a double value.
|
Dfp |
newDfp(int x)
Create an instance from an int value.
|
Dfp |
newDfp(long x)
Create an instance from a long value.
|
Dfp |
newDfp(String s)
Create a
Dfp given a String representation. |
void |
setIEEEFlags(int flags)
Sets the IEEE 854 status flags.
|
void |
setIEEEFlagsBits(int bits)
Sets some bits in the IEEE 854 status flags, without changing the already set bits.
|
void |
setRoundingMode(DfpField.RoundingMode mode)
Set the rounding mode.
|
public static final int FLAG_INVALID
public static final int FLAG_DIV_ZERO
public static final int FLAG_OVERFLOW
public static final int FLAG_UNDERFLOW
public static final int FLAG_INEXACT
public DfpField(int decimalDigits)
Note that since the Dfp class uses 10000 as its radix, each radix
digit is equivalent to 4 decimal digits. This implies that asking for
13, 14, 15 or 16 decimal digits will really lead to a 4 radix 10000 digits in
all cases.
decimalDigits - minimal number of decimal digits.public int getRadixDigits()
Dfp instances built by this factory.public void setRoundingMode(DfpField.RoundingMode mode)
DfpField.RoundingMode.ROUND_HALF_EVEN.public DfpField.RoundingMode getRoundingMode()
public int getIEEEFlags()
clearIEEEFlags(),
setIEEEFlags(int),
setIEEEFlagsBits(int),
FLAG_INVALID,
FLAG_DIV_ZERO,
FLAG_OVERFLOW,
FLAG_UNDERFLOW,
FLAG_INEXACTpublic void clearIEEEFlags()
public void setIEEEFlags(int flags)
flags - desired value for the flagsgetIEEEFlags(),
clearIEEEFlags(),
setIEEEFlagsBits(int),
FLAG_INVALID,
FLAG_DIV_ZERO,
FLAG_OVERFLOW,
FLAG_UNDERFLOW,
FLAG_INEXACTpublic void setIEEEFlagsBits(int bits)
Calling this method is equivalent to call setIEEEFlags(getIEEEFlags() | bits)
bits - bits to setgetIEEEFlags(),
clearIEEEFlags(),
setIEEEFlags(int),
FLAG_INVALID,
FLAG_DIV_ZERO,
FLAG_OVERFLOW,
FLAG_UNDERFLOW,
FLAG_INEXACTpublic Dfp newDfp(byte x)
x - value to convert to an instanceDfp with the same value as xpublic Dfp newDfp(int x)
x - value to convert to an instanceDfp with the same value as xpublic Dfp newDfp(long x)
x - value to convert to an instanceDfp with the same value as xpublic Dfp newDfp(double x)
x - value to convert to an instanceDfp with the same value as xpublic Dfp newDfp(Dfp d)
d - instance to copyDfp with the same value as dpublic Dfp newDfp(String s)
Dfp given a String representation.s - string representation of the instanceDfp parsed from specified stringpublic Dfp newDfp(byte sign, byte nans)
Dfp with a non-finite value.sign - sign of the Dfp to createnans - code of the value, must be one of Dfp.INFINITE,
Dfp.SNAN, Dfp.QNANDfp with a non-finite valuepublic Dfp getZero()
public Dfp getOne()
public Class<? extends FieldElement<Dfp>> getRuntimeClass()
getRuntimeClass in interface Field<Dfp>Class object that represents the runtime
class of this object.public Dfp[] getSqr2Split()
Dfp with value √2 split in two piecespublic Dfp getSqr2Reciprocal()
Dfp with value √2 / 2public Dfp getSqr3Reciprocal()
Dfp with value √3 / 3public Dfp[] getPiSplit()
Dfp with value π split in two piecespublic Dfp[] getESplit()
Dfp with value e split in two piecespublic Dfp[] getLn2Split()
Dfp with value ln(2) split in two piecespublic Dfp[] getLn5Split()
Dfp with value ln(5) split in two piecespublic static Dfp computeExp(Dfp a, Dfp one)
a - number for which we want the exponentialone - constant with value 1 at desired precisionpublic static Dfp computeLn(Dfp a, Dfp one, Dfp two)
a - number for which we want the exponentialone - constant with value 1 at desired precisiontwo - constant with value 2 at desired precisionCopyright © 2003–2016 The Apache Software Foundation. All rights reserved.