@thi.ng/sparse
Version:
Sparse vector & matrix implementations
36 lines • 1.22 kB
TypeScript
import type { BinOp, NzEntry } from "./api.js";
/**
* Sparse nD binary vector where each component can only have 0 or 1 values and
* only the indices of 1-components are stored. See thi.ng/bitfield for an
* alternative.
*/
export declare class SparseBVec {
/**
* Creates a SparseBVec from a dense vector of numbers or booleans. Only the
* indices of truthy or non-zero components are stored.
*
* @param dense
*/
static fromDense(dense: ArrayLike<number | boolean>): SparseBVec;
m: number;
data: number[];
constructor(m: number, data?: number[]);
copy(): SparseBVec;
get length(): number;
get nnz(): number;
nzEntries(): Generator<NzEntry, void, unknown>;
at(m: number, safe?: boolean): number;
setAt(m: number, v: number, safe?: boolean): this;
binopN(op: BinOp, n: number): SparseBVec;
binop(op: BinOp, b: SparseBVec): SparseBVec;
and(b: SparseBVec): SparseBVec;
or(b: SparseBVec): SparseBVec;
not(): SparseBVec;
dot(v: SparseBVec): number;
magSquared(): number;
mag(): number;
toDense(): number[];
toString(): string;
protected ensureSize(v: SparseBVec): void;
}
//# sourceMappingURL=bvec.d.ts.map