mirror of
https://github.com/lightpanda-io/browser.git
synced 2026-07-30 17:25:58 -04:00
v8: Expose Float16Array
Depends on https://github.com/lightpanda-io/zig-v8-fork/pull/191 If nothing else, it allows more WPT tests to pass, e.g.: /websockets/Send-binary-arraybufferview-float16.any.html?default
This commit is contained in:
@@ -931,6 +931,12 @@ fn jsValueToTypedArray(comptime T: type, js_val: js.Value) !?[]T {
|
||||
return ptr[0..num_elements];
|
||||
}
|
||||
},
|
||||
f16 => {
|
||||
if (js_val.isFloat16Array()) {
|
||||
const ptr = @as([*]f16, @ptrCast(@alignCast(base)));
|
||||
return ptr[0..num_elements];
|
||||
}
|
||||
},
|
||||
f32 => {
|
||||
if (js_val.isFloat32Array()) {
|
||||
const ptr = @as([*]f32, @ptrCast(@alignCast(base)));
|
||||
@@ -1071,6 +1077,9 @@ fn probeJsValueToZig(self: *const Local, comptime T: type, js_val: js.Value) !Pr
|
||||
i64 => if (js_val.isBigInt64Array()) {
|
||||
return .{ .ok = {} };
|
||||
},
|
||||
f16 => if (js_val.isFloat16Array()) {
|
||||
return .{ .ok = {} };
|
||||
},
|
||||
f32 => if (js_val.isFloat32Array()) {
|
||||
return .{ .ok = {} };
|
||||
},
|
||||
|
||||
@@ -166,6 +166,10 @@ pub fn isBigInt64Array(self: Value) bool {
|
||||
return v8.v8__Value__IsBigInt64Array(self.handle);
|
||||
}
|
||||
|
||||
pub fn isFloat16Array(self: Value) bool {
|
||||
return v8.v8__Value__IsFloat16Array(self.handle);
|
||||
}
|
||||
|
||||
pub fn isFloat32Array(self: Value) bool {
|
||||
return v8.v8__Value__IsFloat32Array(self.handle);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user