Spaces:
Running
Running
// 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; | |
} | |
} | |