@thi.ng/sparse
Version:
Sparse vector & matrix implementations
32 lines • 1.07 kB
TypeScript
import type { FnN2 } from "@thi.ng/api";
import type { NzEntry } from "./api.js";
export type BinOp = FnN2;
export declare class SparseVec {
static fromDense(dense: ArrayLike<number>): SparseVec;
m: number;
data: number[];
constructor(m: number, data?: number[]);
copy(): SparseVec;
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): SparseVec;
binop(op: BinOp, v: SparseVec): SparseVec;
add(v: SparseVec): SparseVec;
sub(v: SparseVec): SparseVec;
mul(v: SparseVec): SparseVec;
div(v: SparseVec): SparseVec;
addN(n: number): SparseVec;
subN(n: number): SparseVec;
mulN(n: number): SparseVec;
divN(n: number): SparseVec;
dot(v: SparseVec): number;
magSquared(): number;
mag(): number;
normalize(n?: number): this;
toDense(): any[];
protected ensureSize(v: SparseVec): void;
}
//# sourceMappingURL=vec.d.ts.map