// Type definitions for ndarray 1.0
// Project: https://github.com/scijs/ndarray
// Definitions by: Giff Song , taoqf
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.3
declare function ndarray(
data: ndarray.Data, shape?: number[], stride?: number[], offset?: number
): ndarray;
interface ndarray {
data: ndarray.Data;
shape: number[];
stride: number[];
offset: number;
dtype: ndarray.DataType;
size: number;
order: number[];
dimension: number;
get(...args: number[]): T;
set(...args: number[]): T;
index(...args: number[]): T;
lo(...args: number[]): ndarray;
hi(...args: number[]): ndarray;
step(...args: number[]): ndarray;
transpose(...args: number[]): ndarray;
pick(...args: number[]): ndarray;
reshape(...shapes: number[]): ndarray;
T: ndarray;
}
declare namespace ndarray {
type DataType = 'int8' | 'int16' | 'int32' | 'uint8' | 'uint16' | 'uint32' |
'float32' | 'float64' | 'array' | 'uint8_clamped' | 'buffer' | 'generic';
type Data = T[] | Int8Array | Int16Array | Int32Array |
Uint8Array | Uint16Array | Uint32Array |
Float32Array | Float64Array | Uint8ClampedArray;
}
export = ndarray;