public class OnDiskUpperTriangleMatrix extends Object
Modifier and Type | Field and Description |
---|---|
private OnDiskArray |
array
Data storage
|
private int |
matrixsize
Size of the matrix
|
private static long |
serialVersionUID
Serial number, also used for generating a magic
|
private static int |
TRIANGLE_HEADER_SIZE
Size of this class' header
|
Constructor and Description |
---|
OnDiskUpperTriangleMatrix(File filename,
int magicseed,
int extraheadersize,
int recordsize,
boolean writable)
Constructor to access an existing array.
|
OnDiskUpperTriangleMatrix(File filename,
int magicseed,
int extraheadersize,
int recordsize,
int matrixsize)
Constructor to access a new array.
|
Modifier and Type | Method and Description |
---|---|
private static int |
arraysize(int matrixsize)
Compute the size of the needed backing array from the matrix dimensions.
|
void |
close()
Close the matrix file.
|
private int |
computeOffset(int x,
int y)
Compute the offset within the file.
|
int |
getMatrixSize()
Query the size of the matrix.
|
ByteBuffer |
getRecordBuffer(int x,
int y)
Get a record buffer
|
void |
resizeMatrix(int newsize)
Resize the matrix to cover newsize x newsize.
|
private static final long serialVersionUID
private static final int TRIANGLE_HEADER_SIZE
private int matrixsize
private OnDiskArray array
public OnDiskUpperTriangleMatrix(File filename, int magicseed, int extraheadersize, int recordsize, boolean writable) throws IOException
filename
- File namemagicseed
- Magic numberextraheadersize
- Size of extra header datarecordsize
- Record sizewritable
- flag to open writableIOException
- on IO errorspublic OnDiskUpperTriangleMatrix(File filename, int magicseed, int extraheadersize, int recordsize, int matrixsize) throws IOException
filename
- File namemagicseed
- Magic numberextraheadersize
- Size of extra header datarecordsize
- Record sizematrixsize
- Size of matrix to storeIOException
- on IO errorspublic void resizeMatrix(int newsize) throws IOException
newsize
- New matrix size.IOException
- on IO errorsprivate static int arraysize(int matrixsize)
matrixsize
- size of the matrixprivate int computeOffset(int x, int y)
x
- First coordinatey
- Second coordinatepublic ByteBuffer getRecordBuffer(int x, int y) throws IOException
x
- First coordinatey
- Second coordinateIOException
- on IO errorspublic void close() throws IOException
IOException
- on IO errorspublic int getMatrixSize()