frysk.value
Class FloatingPoint854Format
java.lang.Object
frysk.value.FloatingPointFormat
frysk.value.FloatingPoint854Format
public class FloatingPoint854Format
- extends FloatingPointFormat
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
IEEE32
public static final FloatingPointFormat IEEE32
IEEE64
public static final FloatingPointFormat IEEE64
IEEE128
public static final FloatingPointFormat IEEE128
IEEE80
public static final FloatingPointFormat IEEE80
IEEE96
public static final FloatingPointFormat IEEE96
packExponent
private Packing packExponent
packFraction
private Packing packFraction
sizeF
private int sizeF
sizeE
private int sizeE
size
private int size
integralOfMantissa
private int integralOfMantissa
two
private static final BigDecimal two
FloatingPoint854Format
FloatingPoint854Format(int size,
int idxE,
int sizeE,
int idxF,
int sizeF)
- Parameters:
size
- - size of floating point in bytesidxE
- - begin bit index of exponent fieldsizeE
- - bit size of exponent fieldidxF
- - begin bit index of fraction fieldsizeF
- - size of fraction field
Note: include j bit in fraction field, where applicable.
unpack
BigFloatingPoint unpack(byte[] bytes)
- Specified by:
unpack
in class FloatingPointFormat
getSign
int getSign(byte[] bytes)
- Returns:
- 0 for negative and 1 for positive values FPs.
getBiasedExponent
BigInteger getBiasedExponent(byte[] bytes)
getFraction
BigInteger getFraction(byte[] bytes)
getIntegralOfMantissa
int getIntegralOfMantissa(byte[] bytes)
getMaxEValue
BigInteger getMaxEValue()
getMantissa
private BigDecimal getMantissa(BigInteger f,
BigInteger e,
int sizeOfF)
- Gets mantissa value according to IEEE 754/854 floating point rules
- Parameters:
f
- - value of fraction field (including j bit where applicable)e
- - value of exponent fieldsizeOfF
- - bit size of fraction field
(including j bit where applicable)
- Returns:
- mantissa
getMantissaExtended
private BigDecimal getMantissaExtended(BigInteger f,
int sizeOfF)
toBigFP
private BigFloatingPoint toBigFP(int s,
BigInteger e,
BigInteger f,
BigInteger maxE)
- Calculate floating point value according to IEEE 754/854 rules.
- Parameters:
s
- - sign bite
- - value of exponent fieldm
- - mantissamaxE
- - max possible value of exponent field
divide
private BigDecimal divide(BigDecimal a,
BigDecimal b)
pack
byte[] pack(BigFloatingPoint value,
int size)
- FIXME: Convert to byte[] using Packing methods. Need to
store mantissa and exponent value?
- Specified by:
pack
in class FloatingPointFormat