Package org.apache.lucene.util
Class SmallFloat
- java.lang.Object
 - 
- org.apache.lucene.util.SmallFloat
 
 
- 
public class SmallFloat extends java.lang.ObjectFloating point numbers smaller than 32 bits. 
- 
- 
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static floatbyte315ToFloat(byte b)byteToFloat(b, mantissaBits=3, zeroExponent=15)static floatbyte52ToFloat(byte b)byteToFloat(b, mantissaBits=5, zeroExponent=2)static floatbyteToFloat(byte b, int numMantissaBits, int zeroExp)Converts an 8 bit float to a 32 bit float.static bytefloatToByte(float f, int numMantissaBits, int zeroExp)Converts a 32 bit float to an 8 bit float.static bytefloatToByte315(float f)floatToByte(b, mantissaBits=3, zeroExponent=15)
smallest non-zero value = 5.820766E-10
largest value = 7.5161928E9
epsilon = 0.125static bytefloatToByte52(float f)floatToByte(b, mantissaBits=5, zeroExponent=2)
smallest nonzero value = 0.033203125
largest value = 1984.0
epsilon = 0.03125 
 - 
 
- 
- 
Method Detail
- 
floatToByte
public static byte floatToByte(float f, int numMantissaBits, int zeroExp)Converts a 32 bit float to an 8 bit float.
Values less than zero are all mapped to zero.
Values are truncated (rounded down) to the nearest 8 bit value.
Values between zero and the smallest representable value are rounded up.- Parameters:
 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 values- Returns:
 - the 8 bit float representation
 
 
- 
byteToFloat
public static float byteToFloat(byte b, int numMantissaBits, int zeroExp)Converts an 8 bit float to a 32 bit float. 
- 
floatToByte315
public 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 
- 
byte315ToFloat
public static float byte315ToFloat(byte b)
byteToFloat(b, mantissaBits=3, zeroExponent=15) 
- 
floatToByte52
public static byte floatToByte52(float f)
floatToByte(b, mantissaBits=5, zeroExponent=2)
smallest nonzero value = 0.033203125
largest value = 1984.0
epsilon = 0.03125 
- 
byte52ToFloat
public static float byte52ToFloat(byte b)
byteToFloat(b, mantissaBits=5, zeroExponent=2) 
 - 
 
 -