in src/main/java/org/apache/datasketches/vector/matrix/Matrix.java [176:189]
public int getCompactSizeBytes(final int rows, final int cols) {
final int nRows = Math.min(rows, numRows_);
final int nCols = Math.min(cols, numCols_);
if ((nRows < 1) || (nCols < 1)) {
return MatrixFamily.MATRIX.getMinPreLongs() * Long.BYTES;
} else if ((nRows == numRows_) && (nCols == numCols_)) {
return getSizeBytes();
}
final int preBytes = MatrixFamily.MATRIX.getMaxPreLongs() * Long.BYTES;
final int mtxBytes = (nRows * nCols) * Double.BYTES;
return preBytes + mtxBytes;
}