supercat666's picture
add igv
78c921d
raw
history blame
4.41 kB
// automatically generated by the FlatBuffers compiler, do not modify
import * as flatbuffers from 'flatbuffers';
import { Buffer } from './buffer.js';
import { Int } from './int.js';
import { SparseMatrixCompressedAxis } from './sparse-matrix-compressed-axis.js';
/**
* Compressed Sparse format, that is matrix-specific.
*/
export class SparseMatrixIndexCSX {
bb: flatbuffers.ByteBuffer|null = null;
bb_pos = 0;
__init(i:number, bb:flatbuffers.ByteBuffer):SparseMatrixIndexCSX {
this.bb_pos = i;
this.bb = bb;
return this;
}
static getRootAsSparseMatrixIndexCSX(bb:flatbuffers.ByteBuffer, obj?:SparseMatrixIndexCSX):SparseMatrixIndexCSX {
return (obj || new SparseMatrixIndexCSX()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
}
static getSizePrefixedRootAsSparseMatrixIndexCSX(bb:flatbuffers.ByteBuffer, obj?:SparseMatrixIndexCSX):SparseMatrixIndexCSX {
bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);
return (obj || new SparseMatrixIndexCSX()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
}
/**
* Which axis, row or column, is compressed
*/
compressedAxis():SparseMatrixCompressedAxis {
const offset = this.bb!.__offset(this.bb_pos, 4);
return offset ? this.bb!.readInt16(this.bb_pos + offset) : SparseMatrixCompressedAxis.Row;
}
/**
* The type of values in indptrBuffer
*/
indptrType(obj?:Int):Int|null {
const offset = this.bb!.__offset(this.bb_pos, 6);
return offset ? (obj || new Int()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;
}
/**
* indptrBuffer stores the location and size of indptr array that
* represents the range of the rows.
* The i-th row spans from `indptr[i]` to `indptr[i+1]` in the data.
* The length of this array is 1 + (the number of rows), and the type
* of index value is long.
*
* For example, let X be the following 6x4 matrix:
* ```text
* X := [[0, 1, 2, 0],
* [0, 0, 3, 0],
* [0, 4, 0, 5],
* [0, 0, 0, 0],
* [6, 0, 7, 8],
* [0, 9, 0, 0]].
* ```
* The array of non-zero values in X is:
* ```text
* values(X) = [1, 2, 3, 4, 5, 6, 7, 8, 9].
* ```
* And the indptr of X is:
* ```text
* indptr(X) = [0, 2, 3, 5, 5, 8, 10].
* ```
*/
indptrBuffer(obj?:Buffer):Buffer|null {
const offset = this.bb!.__offset(this.bb_pos, 8);
return offset ? (obj || new Buffer()).__init(this.bb_pos + offset, this.bb!) : null;
}
/**
* The type of values in indicesBuffer
*/
indicesType(obj?:Int):Int|null {
const offset = this.bb!.__offset(this.bb_pos, 10);
return offset ? (obj || new Int()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;
}
/**
* indicesBuffer stores the location and size of the array that
* contains the column indices of the corresponding non-zero values.
* The type of index value is long.
*
* For example, the indices of the above X is:
* ```text
* indices(X) = [1, 2, 2, 1, 3, 0, 2, 3, 1].
* ```
* Note that the indices are sorted in lexicographical order for each row.
*/
indicesBuffer(obj?:Buffer):Buffer|null {
const offset = this.bb!.__offset(this.bb_pos, 12);
return offset ? (obj || new Buffer()).__init(this.bb_pos + offset, this.bb!) : null;
}
static startSparseMatrixIndexCSX(builder:flatbuffers.Builder) {
builder.startObject(5);
}
static addCompressedAxis(builder:flatbuffers.Builder, compressedAxis:SparseMatrixCompressedAxis) {
builder.addFieldInt16(0, compressedAxis, SparseMatrixCompressedAxis.Row);
}
static addIndptrType(builder:flatbuffers.Builder, indptrTypeOffset:flatbuffers.Offset) {
builder.addFieldOffset(1, indptrTypeOffset, 0);
}
static addIndptrBuffer(builder:flatbuffers.Builder, indptrBufferOffset:flatbuffers.Offset) {
builder.addFieldStruct(2, indptrBufferOffset, 0);
}
static addIndicesType(builder:flatbuffers.Builder, indicesTypeOffset:flatbuffers.Offset) {
builder.addFieldOffset(3, indicesTypeOffset, 0);
}
static addIndicesBuffer(builder:flatbuffers.Builder, indicesBufferOffset:flatbuffers.Offset) {
builder.addFieldStruct(4, indicesBufferOffset, 0);
}
static endSparseMatrixIndexCSX(builder:flatbuffers.Builder):flatbuffers.Offset {
const offset = builder.endObject();
builder.requiredField(offset, 6) // indptrType
builder.requiredField(offset, 8) // indptrBuffer
builder.requiredField(offset, 10) // indicesType
builder.requiredField(offset, 12) // indicesBuffer
return offset;
}
}