| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -2286,6 +2286,13 @@ object such that no properties can be set on it, and no prototype. | |||
| 2286 | 2286 | ||
| 2287 | 2287 | #### `napi_typedarray_type` | |
| 2288 | 2288 | ||
| 2289 | + <!-- YAML | ||
| 2290 | + changes: | ||
| 2291 | + - version: REPLACEME | ||
| 2292 | + pr-url: https://github.com/nodejs/node/pull/58879 | ||
| 2293 | + description: Added `napi_float16_array` for Float16Array support. | ||
| 2294 | + --> | ||
| 2295 | + | ||
| 2289 | 2296 | ```c | |
| 2290 | 2297 | typedef enum { | |
| 2291 | 2298 | napi_int8_array, | |
@@ -2299,6 +2306,7 @@ typedef enum { | |||
| 2299 | 2306 | napi_float64_array, | |
| 2300 | 2307 | napi_bigint64_array, | |
| 2301 | 2308 | napi_biguint64_array, | |
| 2309 | + napi_float16_array, | ||
| 2302 | 2310 | } napi_typedarray_type; | |
| 2303 | 2311 | ``` | |
| 2304 | 2312 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -121,6 +121,8 @@ typedef enum { | |||
| 121 | 121 | napi_float64_array, | |
| 122 | 122 | napi_bigint64_array, | |
| 123 | 123 | napi_biguint64_array, | |
| 124 | + #define NODE_API_HAS_FLOAT16_ARRAY | ||
| 125 | + napi_float16_array, | ||
| 124 | 126 | } napi_typedarray_type; | |
| 125 | 127 | ||
| 126 | 128 | typedef enum { | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -3259,6 +3259,10 @@ napi_status NAPI_CDECL napi_create_typedarray(napi_env env, | |||
| 3259 | 3259 | CREATE_TYPED_ARRAY( | |
| 3260 | 3260 | env, BigUint64Array, 8, buffer, byte_offset, length, typedArray); | |
| 3261 | 3261 | break; | |
| 3262 | + case napi_float16_array: | ||
| 3263 | + CREATE_TYPED_ARRAY( | ||
| 3264 | + env, Float16Array, 2, buffer, byte_offset, length, typedArray); | ||
| 3265 | + break; | ||
| 3262 | 3266 | default: | |
| 3263 | 3267 | return napi_set_last_error(env, napi_invalid_arg); | |
| 3264 | 3268 | } | |
@@ -3297,6 +3301,8 @@ napi_status NAPI_CDECL napi_get_typedarray_info(napi_env env, | |||
| 3297 | 3301 | *type = napi_int32_array; | |
| 3298 | 3302 | } else if (value->IsUint32Array()) { | |
| 3299 | 3303 | *type = napi_uint32_array; | |
| 3304 | + } else if (value->IsFloat16Array()) { | ||
| 3305 | + *type = napi_float16_array; | ||
| 3300 | 3306 | } else if (value->IsFloat32Array()) { | |
| 3301 | 3307 | *type = napi_float32_array; | |
| 3302 | 3308 | } else if (value->IsFloat64Array()) { | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -41,8 +41,8 @@ assert.strictEqual(externalResult[2], 2); | |||
| 41 | 41 | // Validate creation of all kinds of TypedArrays | |
| 42 | 42 | const buffer = new ArrayBuffer(128); | |
| 43 | 43 | const arrayTypes = [ Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, | |
| 44 | - Uint16Array, Int32Array, Uint32Array, Float32Array, | ||
| 45 | - Float64Array, BigInt64Array, BigUint64Array ]; | ||
| 44 | + Uint16Array, Int32Array, Uint32Array, Float16Array, | ||
| 45 | + Float32Array, Float64Array, BigInt64Array, BigUint64Array ]; | ||
| 46 | 46 | ||
| 47 | 47 | arrayTypes.forEach((currentType) => { | |
| 48 | 48 | const template = Reflect.construct(currentType, buffer); | |
@@ -64,7 +64,7 @@ arrayTypes.forEach((currentType) => { | |||
| 64 | 64 | }); | |
| 65 | 65 | ||
| 66 | 66 | const nonByteArrayTypes = [ Int16Array, Uint16Array, Int32Array, Uint32Array, | |
| 67 | - Float32Array, Float64Array, | ||
| 67 | + Float16Array, Float32Array, Float64Array, | ||
| 68 | 68 | BigInt64Array, BigUint64Array ]; | |
| 69 | 69 | nonByteArrayTypes.forEach((currentType) => { | |
| 70 | 70 | const template = Reflect.construct(currentType, buffer); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -75,10 +75,9 @@ static napi_value Multiply(napi_env env, napi_callback_info info) { | |||
| 75 | 75 | return output_array; | |
| 76 | 76 | } | |
| 77 | 77 | ||
| 78 | - static void FinalizeCallback(napi_env env, | ||
| 78 | + static void FinalizeCallback(node_api_basic_env env, | ||
| 79 | 79 | void* finalize_data, | |
| 80 | - void* finalize_hint) | ||
| 81 | - { | ||
| 80 | + void* finalize_hint) { | ||
| 82 | 81 | free(finalize_data); | |
| 83 | 82 | } | |
| 84 | 83 | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments