Float16Array
Float16Array
类型数组表示平台字节顺序中的 16 位浮点数数组。如果需要控制字节顺序,请使用 DataView
。除非明确提供初始化数据,否则内容将初始化为 0
。一旦建立,你可以使用对象的方法或使用标准数组索引语法(即使用括号表示法)来引用数组中的元素。
¥The Float16Array
typed array represents an array of 16-bit floating point numbers in the platform byte order. If control over byte order is needed, use DataView
instead. The contents are initialized to 0
unless initialization data is explicitly provided. Once established, you can reference elements in the array using the object's methods, or using standard array index syntax (that is, using bracket notation).
Float16Array
是隐藏 TypedArray
类的子类。
¥Float16Array
is a subclass of the hidden TypedArray
class.
注意:Float16 支持不是通用的,无论是在 JavaScript API 中还是在底层 CPU 架构中。使用它可能会导致某些平台的性能下降。它旨在与高度优化和性能敏感的系统交互,例如 浮动画布、WebGPU、WebGL 和深度学习模型(包括 稳定扩散)。
¥Note: Float16 support is not universal, both in the JavaScript API and the underlying CPU architecture. Using it may result in slower performance on some platforms. It is intended for interacting with highly optimized and performance-sensitive systems such as float-backed canvases, WebGPU, WebGL, and deep learning models including stable diffusion.
构造函数
静态属性
¥Static properties
还从其父级 TypedArray
继承静态属性。
¥Also inherits static properties from its parent TypedArray
.
Float16Array.BYTES_PER_ELEMENT
-
返回元素大小的数值。
2
在Float16Array
的情况下。
静态方法
实例属性
¥Instance properties
还从其父级 TypedArray
继承实例属性。
¥Also inherits instance properties from its parent TypedArray
.
这些属性在 Float16Array.prototype
上定义并由所有 Float16Array
实例共享。
¥These properties are defined on Float16Array.prototype
and shared by all Float16Array
instances.
Float16Array.prototype.BYTES_PER_ELEMENT
-
返回元素大小的数值。如果是
Float16Array
,则为2
。 Float16Array.prototype.constructor
-
创建实例对象的构造函数。对于
Float16Array
实例,初始值为Float16Array
构造函数。
实例方法
示例
创建 Float16Array 的不同方法
¥Different ways to create a Float16Array
// From a length
const float16 = new Float16Array(2);
float16[0] = 42;
console.log(float16[0]); // 42
console.log(float16.length); // 2
console.log(float16.BYTES_PER_ELEMENT); // 2
// From an array
const x = new Float16Array([21, 31]);
console.log(x[1]); // 31
// From another TypedArray
const y = new Float16Array(x);
console.log(y[0]); // 21
// From an ArrayBuffer
const buffer = new ArrayBuffer(32);
const z = new Float16Array(buffer, 4, 4);
console.log(z.byteOffset); // 4
// From an iterable
const iterable = (function* () {
yield* [1, 2, 3];
})();
const float16FromIterable = new Float16Array(iterable);
console.log(float16FromIterable);
// Float16Array [1, 2, 3]
规范
Specification |
---|
Float16Array # sec-float16array |
浏览器兼容性
BCD tables only load in the browser
也可以看看
¥See also