UNPKG

@thi.ng/vector-pools

Version:

Data structures for managing & working with strided, memory mapped vectors

31 lines 1.29 kB
import type { GLType, IObjectOf, IRelease, Maybe, NumericArray, Type, TypedArray } from "@thi.ng/api"; import type { MemPool, MemPoolOpts } from "@thi.ng/malloc"; import type { ReadonlyVec, StridedVec } from "@thi.ng/vectors"; export interface AttribSpec { type: GLType | Type; size: number; byteOffset: number; stride?: number; default?: number | ReadonlyVec; data?: ReadonlyVec | ReadonlyVec[]; index?: number; } export interface AttribPoolOpts { mem: MemPool | Partial<MemPoolOpts>; attribs?: IObjectOf<AttribSpec>; num: number; resizable?: boolean; } export interface IVecPool extends IRelease { malloc(size: number, type?: GLType | Type): Maybe<TypedArray>; mallocWrapped(size: number, stride?: number, type?: GLType | Type): Maybe<StridedVec>; mallocArray(num: number, size: number, cstride?: number, estride?: number, type?: GLType | Type): Maybe<StridedVec[]>; free(vec: StridedVec | TypedArray): boolean; freeAll(): void; } export type VecFactory = (buf: NumericArray, size: number, index: number, stride: number) => StridedVec; /** * See [thi.ng/logger](https://docs.thi.ng/umbrella/logger/) for usage. */ export declare const LOGGER: import("@thi.ng/logger/root").ProxyLogger; //# sourceMappingURL=api.d.ts.map