Package org.openjdk.jmc.common.unit
Enum Class BinaryPrefix
- All Implemented Interfaces:
Serializable,Comparable<BinaryPrefix>,Constable,IPrefix<BinaryPrefix>
Binary prefixes, as standardized by IEC. The corresponding SI prefixes are also provided to
reflect common usage. (JEDEC defines these to be used for powers of 1024 as well, except that
they too capitalize "k".) Extend functionality as needed, perhaps like
TimeUnit.-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>> -
Enum Constant Summary
Enum Constants -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionAn alternative symbol.asExponentialStringBuilder(boolean multiplicationSign) doubleconvertTo(double value) floatconvertTo(float value) longconvertTo(long value) createUnitSelector(LinearKindOfQuantity kindOfQuantity, Iterable<BinaryPrefix> prefixes) static intgetAlignmentLog1024(double value) The base 1024 logarithm of the binary alignment ofvalue.static intgetAlignmentLog1024(long value) The base 1024 logarithm of the binary alignment ofvalue.static intgetAlignmentLog2(double value) The base 2 logarithm of the binary alignment ofvalue.static intgetAlignmentLog2(long value) The base 2 logarithm of the binary alignment ofvalue.static intgetFloorLog1024(double value) The base 1024 logarithm.static intgetFloorLog1024(long value) The base 1024 logarithm.static intgetFloorLog2(double value) The base 2 logarithm.static intgetFloorLog2(long value) The base 2 logarithm.static BinaryPrefixgetFloorPrefix(double value) static BinaryPrefixgetFloorPrefix(long value) intlog1024()intshift()symbol()valueFactorTo(BinaryPrefix targetPrefix) static BinaryPrefixReturns the enum constant of this class with the specified name.static BinaryPrefix[]values()Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
NOBI
-
KIBI
-
MEBI
-
GIBI
-
TEBI
-
PEBI
-
EXBI
-
ZEBI
-
YOBI
-
-
Field Details
-
prefixSI
Deprecated.Accept that kilobytes and kibibytes are different units.Temporary reference to the corresponding decimal prefix to get the full name, only to be used during the transition phase where JMC hasn't been completely converted to use quantities. Do not rely on this. -
symbolSI
-
symbolJEDEC
-
symbolIEC
-
englishName
-
localizedName
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-
shift
public int shift() -
log1024
public int log1024() -
convertTo
public long convertTo(long value) -
convertTo
public float convertTo(float value) -
convertTo
public double convertTo(double value) -
getFloorLog2
public static int getFloorLog2(long value) The base 2 logarithm. Note that for the value 0, 0 is returned in order to be consistent withMath.floor(double).- Returns:
- the floor of the base 2 logarithm of the absolute value of
value
-
getFloorLog1024
public static int getFloorLog1024(long value) The base 1024 logarithm. Note that for the value 0, 0 is returned in order to be consistent withMath.floor(double).- Returns:
- the floor of the base 1024 logarithm of the absolute value of
value
-
getFloorPrefix
-
getAlignmentLog2
public static int getAlignmentLog2(long value) The base 2 logarithm of the binary alignment ofvalue. Note that for the value 0, the return value is undefined.- Returns:
- the base 2 logarithm of the alignment of
value
-
getAlignmentLog1024
public static int getAlignmentLog1024(long value) The base 1024 logarithm of the binary alignment ofvalue. Note that for the value 0, the return value is undefined.- Returns:
- the base 1024 logarithm of the alignment of
value
-
getFloorLog2
public static int getFloorLog2(double value) The base 2 logarithm. Note that for the value 0, 0 is returned, in order to be consistent withMath.floor(double).- Returns:
- the floor of the base 2 logarithm of the absolute value of
value
-
getFloorLog1024
public static int getFloorLog1024(double value) The base 1024 logarithm. Note that for the value 0, 0 is returned in order to be consistent withMath.floor(double).- Returns:
- the floor of the base 1024 logarithm of the absolute value of
value
-
getFloorPrefix
-
getAlignmentLog2
public static int getAlignmentLog2(double value) The base 2 logarithm of the binary alignment ofvalue. Note that for zero, infinity, NaN, and denormalized values, the return value is currently undefined.- Returns:
- the base 2 logarithm of the alignment of
value
-
getAlignmentLog1024
public static int getAlignmentLog1024(double value) The base 1024 logarithm of the binary alignment ofvalue. Note that for zero, infinity, NaN, and denormalized values, the return value is currently undefined.- Returns:
- the base 1024 logarithm of the alignment of
value
-
identifier
- Specified by:
identifierin interfaceIPrefix<BinaryPrefix>- Returns:
- identifier usable for constructing persistable identifiers for units.
-
symbol
- Specified by:
symbolin interfaceIPrefix<BinaryPrefix>- Returns:
- the symbol normally used to present this prefix in a GUI.
-
altSymbol
Description copied from interface:IPrefixAn alternative symbol. Intended to be used for interactive parsing where entering the micron character may be cumbersome, or catching typing of MB when intending MiB. (These are very different cases, and should ideally not be handled by the same mechanism. However, a single mechanism seems to work right now.)- Specified by:
altSymbolin interfaceIPrefix<BinaryPrefix>- Returns:
- alternative symbol, or
nullif no other representation is available
-
localizedName
- Specified by:
localizedNamein interfaceIPrefix<BinaryPrefix>
-
asExponentialStringBuilder
- Specified by:
asExponentialStringBuilderin interfaceIPrefix<BinaryPrefix>
-
scaleFactor
- Specified by:
scaleFactorin interfaceIPrefix<BinaryPrefix>
-
valueFactorTo
- Specified by:
valueFactorToin interfaceIPrefix<BinaryPrefix>
-
createUnitSelector
public LinearKindOfQuantity.LinearUnitSelector createUnitSelector(LinearKindOfQuantity kindOfQuantity, Iterable<BinaryPrefix> prefixes) - Specified by:
createUnitSelectorin interfaceIPrefix<BinaryPrefix>
-