onnxruntime/js/common
Yulong Wang 58f4921686
[js] changes to allow Float16Array if any polyfill is available (#19305)
### Description

This change adds only necessary code to enable ort-web works with any
Float16Array polyfill. Unlike #19302, in this PR, ort-web does not
include any specific polyfill; instead, it's user's choice for how to
use a polyfill.

ORT-web uses Float16Array if it's available; otherwise, fallback to use
Uint16Array.

```js
// case 1: user does not use polyfill:
import * as ort from 'onnxruntime-web';

const myF16Data = new Uint16Array(...);  // need to use Uint16Array
const myF16tensor = new ort.Tensor('float16', myF16Data, dims);
```

```js
// case 2: user use polyfill:
import * as ort from 'onnxruntime-web';
import {
  Float16Array, isFloat16Array, isTypedArray,
  getFloat16, setFloat16,
  f16round,
} from "@petamoriken/float16";
globalThis.Float16Array = Float16Array;  // ort-web will pick the global Float16Array

const myF16Data = new Float16Array(...);  // Use the polyfilled Float16Array type
const myF16tensor = new ort.Tensor('float16', myF16Data, dims);
```
2024-02-21 00:31:06 -08:00
..
lib [js] changes to allow Float16Array if any polyfill is available (#19305) 2024-02-21 00:31:06 -08:00
test [js/common] upgrade tsc in common from 4.9.5 to 5.2.2 (#19317) 2024-02-20 17:33:37 -08:00
.gitignore [js/common] a few fixes/revises to onnxruntime-common (#16853) 2023-08-01 11:17:39 -07:00
.npmignore [js/common] a few fixes/revises to onnxruntime-common (#16853) 2023-08-01 11:17:39 -07:00
build.js [js] upgrade JS shared dev dependencies (#17831) 2023-10-10 17:44:39 -07:00
package-lock.json [js/common] upgrade tsc in common from 4.9.5 to 5.2.2 (#19317) 2024-02-20 17:33:37 -08:00
package.json [js/common] upgrade tsc in common from 4.9.5 to 5.2.2 (#19317) 2024-02-20 17:33:37 -08:00
README.md
tsconfig.json [js/web] fix typescript type check (#18343) 2023-11-10 16:03:38 -08:00
typedoc.json [js] enable formatter for more file types (#16888) 2023-07-28 15:46:58 -07:00
webpack.config.js [js/common] allow import onnxruntime-common as ESM and CJS (#15772) 2023-06-12 12:05:11 -07:00

ONNX Runtime JavaScript API

ONNX Runtime JavaScript API is a unified API for all JavaScript usages. It's dependency of the following NPM packages:

  • onnxruntime-node
  • onnxruntime-web
  • onnxruntime-react-native

This package (onnxruntime-common) is not designed for using directly. Please consider to install one of the NPM packages above according to target platform.

License

License information can be found here.