public class SmallFloat extends Object
Modifier and Type | Method and Description |
---|---|
static float |
byte315ToFloat(byte b)
byteToFloat(b, mantissaBits=3, zeroExponent=15)
|
static int |
byte4ToInt(byte b)
Decode values that have been encoded with
intToByte4(int) . |
static float |
byteToFloat(byte b,
int numMantissaBits,
int zeroExp)
Converts an 8 bit float to a 32 bit float.
|
static byte |
floatToByte(float f,
int numMantissaBits,
int zeroExp)
Converts a 32 bit float to an 8 bit float.
|
static byte |
floatToByte315(float f)
floatToByte(b, mantissaBits=3, zeroExponent=15)
smallest non-zero value = 5.820766E-10 largest value = 7.5161928E9 epsilon = 0.125 |
static long |
int4ToLong(int i)
Decode values encoded with
longToInt4(long) . |
static byte |
intToByte4(int i)
Encode an integer to a byte.
|
static int |
longToInt4(long i)
Float-like encoding for positive longs that preserves ordering and 4 significant bits.
|
public static byte floatToByte(float f, int numMantissaBits, int zeroExp)
f
- the 32 bit float to be converted to an 8 bit float (byte)numMantissaBits
- the number of mantissa bits to use in the byte, with the remainder to be used in the exponentzeroExp
- the zero-point in the range of exponent valuespublic static float byteToFloat(byte b, int numMantissaBits, int zeroExp)
public static byte floatToByte315(float f)
public static float byte315ToFloat(byte b)
public static int longToInt4(long i)
public static final long int4ToLong(int i)
longToInt4(long)
.public static byte intToByte4(int i)
longToInt4(long)
and leverages the fact that longToInt4(Integer.MAX_VALUE)
is
less than 255 to encode low values more accurately.public static int byte4ToInt(byte b)
intToByte4(int)
.Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.