in src/main/java/org/apache/datasketches/vector/matrix/MatrixPreambleUtil.java [91:137]
public static String preambleToString(final Memory mem) {
final int preLongs = getAndCheckPreLongs(mem); // make sure we can get the assumed preamble
final MatrixFamily family = MatrixFamily.idToFamily(extractFamilyID(mem));
final int serVer = extractSerVer(mem);
if (serVer != SER_VER) {
throw new IllegalArgumentException("Invalid serialization version in memory region. "
+ "Found: " + serVer);
}
final int flags = extractFlags(mem);
final String flagsStr = Integer.toBinaryString(flags) + ", " + flags;
//final boolean isEmpty = (flags & EMPTY_FLAG_MASK) > 0;
final boolean isCompact = (flags & COMPACT_FLAG_MASK) > 0;
final int numRows = extractNumRows(mem);
final int numCols = extractNumColumns(mem);
int numRowsUsed = numRows;
int numColsUsed = numCols;
if (isCompact) {
numRowsUsed = extractNumRowsUsed(mem);
numColsUsed = extractNumColumnsUsed(mem);
}
final StringBuilder sb = new StringBuilder();
sb.append(LS)
.append("### START ")
.append(family.getFamilyName().toUpperCase())
.append(" PREAMBLE SUMMARY").append(LS)
.append("Byte 0: Preamble Longs : ").append(preLongs).append(LS)
.append("Byte 1: Serialization Version: ").append(serVer).append(LS)
.append("Byte 2: Family : ").append(family.toString()).append(LS)
.append("Byte 3: Flags Field : ").append(flagsStr).append(LS)
//.append(" EMPTY : ").append(isEmpty).append(LS)
.append(" COMPACT : ").append(isCompact).append(LS)
.append("Bytes 8-11: Num Rows : ").append(numRows).append(LS)
.append("Bytes 12-15: Num Columns : ").append(numCols).append(LS);
if (isCompact) {
sb.append("Bytes 16-23: Num Rows Used : ").append(numRowsUsed).append(LS);
sb.append("Bytes 24-31: Num Columns Used : ").append(numColsUsed).append(LS);
}
return sb.toString();
}