onnxruntime/js/common/lib/tensor-utils.ts
Yulong Wang e3e4926d00
[js/common] allow import onnxruntime-common as ESM and CJS (#15772)
### Description
allow import onnxruntime-common as ESM and CJS.
2023-06-12 12:05:11 -07:00

31 lines
991 B
TypeScript

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
import {ConversionUtils} from './tensor-conversion.js';
import {Tensor, TypedTensor} from './tensor.js';
interface Properties {
/**
* Get the number of elements in the tensor.
*/
readonly size: number;
}
export interface TypedShapeUtils<T extends Tensor.Type> {
/**
* Create a new tensor with the same data buffer and specified dims.
*
* @param dims - New dimensions. Size should match the old one.
*/
reshape(dims: readonly number[]): TypedTensor<T>;
}
/**
* interface `TensorUtils` includes all utility members that does not use the type parameter from their signature.
*/
export interface TensorUtils extends Properties, ConversionUtils {}
/**
* interface `TypedShapeUtils` includes all utility members that uses the type parameter from their signature.
*/
export interface TypedTensorUtils<T extends Tensor.Type> extends TensorUtils, TypedShapeUtils<T> {}