From fcad805d35a16efc4b9e42c9ef5950cf6c0693f2 Mon Sep 17 00:00:00 2001
From: gaikwadrahul8 <115997457+gaikwadrahul8@users.noreply.github.com>
Date: Thu, 30 May 2024 05:45:25 +0530
Subject: [PATCH] Update supported TypedArray data types in tf.tensor in the
 documentation (#8287)

* Update supported TypedArray data types in tf.tensor in the documentation

* Address Exceeds maximum line length of 80 tslint error

* Address Exceeds maximum line length of 80 tslint error again

* Address no-consecutive-blank-lines tslint error
---
 tfjs-core/src/ops/tensor.ts | 47 +++++++++++++++++++------------------
 1 file changed, 24 insertions(+), 23 deletions(-)

diff --git a/tfjs-core/src/ops/tensor.ts b/tfjs-core/src/ops/tensor.ts
index 9b664e07a07..b472ebdc662 100644
--- a/tfjs-core/src/ops/tensor.ts
+++ b/tfjs-core/src/ops/tensor.ts
@@ -172,28 +172,29 @@ import {makeTensor} from './tensor_ops_util';
  * await tf.setBackend(savedBackend);
  * ```
  * @param values The values of the tensor. Can be nested array of numbers,
- *     or a flat array, or a `TypedArray`, or a `WebGLData` object, or a
- * `WebGPUData` object. If the values are strings, they will be encoded as utf-8
- * and kept as `Uint8Array[]`. If the values is a `WebGLData` object, the dtype
- * could only be 'float32' or 'int32' and the object has to have: 1. texture, a
- * `WebGLTexture`, the texture must share the same `WebGLRenderingContext` with
- * TFJS's WebGL backend (you could create a custom WebGL backend from your
- * texture's canvas) and the internal texture format for the input texture must
- * be floating point or normalized integer; 2. height, the height of the
- * texture; 3. width, the width of the texture; 4. channels, a non-empty subset
- * of 'RGBA', indicating the values of which channels will be passed to the
- * tensor, such as 'R' or 'BR' (The order of the channels affect the order of
- * tensor values. ). (If the values passed from texture is less than the tensor
- * size, zeros will be padded at the rear.). If the values is a `WebGPUData`
- * object, the dtype could only be 'float32' or 'int32 and the object has to
- * have: buffer, a `GPUBuffer`. The buffer must: 1. share the same `GPUDevice`
- * with TFJS's WebGPU backend; 2. buffer.usage should at least support
- * GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC; 3. buffer.size should not
- * be smaller than the byte size of tensor shape. WebGPUData optionally supports
- * zero copy by flag zeroCopy. When zeroCopy is false or undefined(default),
- * this passing GPUBuffer can be destroyed after tensor is created. When
- * zeroCopy is true, this GPUBuffer is bound directly by the tensor, so do not
- * destroy this GPUBuffer until all access is done.
+ * or a flat array, or a `TypedArray`(At the moment it supports Uint8Array,
+ * Uint8ClampedArray, Int32Array, Float32Array) data types, or a `WebGLData`
+ * object, or a `WebGPUData` object. If the values are strings, they will be
+ * encoded as utf-8 and kept as `Uint8Array[]`. If the values is a `WebGLData`
+ * object, the dtype could only be 'float32' or 'int32' and the object has to
+ * have: 1. texture, a `WebGLTexture`, the texture must share the same
+ * `WebGLRenderingContext` with TFJS's WebGL backend (you could create a custom
+ * WebGL backend from your texture's canvas) and the internal texture format
+ * for the input texture must be floating point or normalized integer; 2.
+ * height, the height of the texture; 3. width, the width of the texture; 4.
+ * channels, a non-empty subset of 'RGBA', indicating the values of which
+ * channels will be passed to the tensor, such as 'R' or 'BR' (The order of the 
+ * channels affect the order of tensor values. ). (If the values passed from 
+ * texture is less than the tensor size, zeros will be padded at the rear.). If 
+ * the values is a `WebGPUData` object, the dtype could only be 'float32' or
+ * 'int32 and the object has to have: buffer, a `GPUBuffer`. The buffer must:
+ * 1. share the same `GPUDevice` with TFJS's WebGPU backend; 2. buffer.usage
+ * should at least support GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC; 3.
+ * buffer.size should not be smaller than the byte size of tensor shape.
+ * WebGPUData optionally supports zero copy by flag zeroCopy. When zeroCopy is
+ * false or undefined(default),this passing GPUBuffer can be destroyed after
+ * tensor is created. When zeroCopy is true, this GPUBuffer is bound directly
+ * by the tensor, so do not destroy this GPUBuffer until all access is done.
  * @param shape The shape of the tensor. Optional. If not provided,
  *   it is inferred from `values`.
  * @param dtype The data type.
@@ -205,4 +206,4 @@ export function tensor<R extends Rank>(
     dtype?: DataType): Tensor<R> {
   const inferredShape = inferShape(values, dtype);
   return makeTensor(values, shape, inferredShape, dtype) as Tensor<R>;
-}
+}
\ No newline at end of file