Modifier and Type | Class | Description |
---|---|---|
static class |
DfpField.RoundingMode |
Enumerate for rounding modes.
|
Modifier and Type | Field | 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 | Description |
---|---|
DfpField(int decimalDigits) |
Create a factory for the specified number of radix digits.
|
Modifier and Type | Method | 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).
|
boolean |
equals(Object other) |
|
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.
|
int |
hashCode() |
|
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(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. |
Dfp |
newDfp(Dfp d) |
Copy constructor.
|
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_INEXACT
public 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_INEXACT
public 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_INEXACT
public 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.QNAN
Dfp
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 boolean equals(Object other)
Two fields are considered equals if they have the same number of radix digits and the same rounding mode.
public 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 © 2016–2018 Hipparchus.org. All rights reserved.