in analysis/gc-log/src/main/java/org/eclipse/jifa/gclog/util/GCLogUtil.java [36:66]
public static long toByte(String sizeString, long divideIfNoUnit) {
sizeString = sizeString.toLowerCase();
int mid;
for (mid = 0; mid < sizeString.length(); mid++) {
char c = sizeString.charAt(mid);
if (!Character.isDigit(c) && c != '.') {
break;
}
}
double size = Double.parseDouble(sizeString.substring(0, mid));
String unit = sizeString.substring(mid).trim();
switch (unit) {
case "b":
return (long) size;
case "k":
case "kb":
return (long) (size * BYTE_UNIT_GAP);
case "m":
case "mb":
return (long) (size * BYTE_UNIT_GAP * BYTE_UNIT_GAP);
case "g":
case "gb":
return (long) (size * BYTE_UNIT_GAP * BYTE_UNIT_GAP * BYTE_UNIT_GAP);
case "t":
case "tb":
return (long) (size * (BYTE_UNIT_GAP * BYTE_UNIT_GAP * BYTE_UNIT_GAP * BYTE_UNIT_GAP));
default:
return (long) (size / divideIfNoUnit);
}
}