mirror of
https://github.com/denoland/deno.git
synced 2024-11-21 15:04:11 -05:00
feat: enable Float16Array support (#23490)
Closes https://github.com/denoland/deno/issues/23450
This commit is contained in:
parent
5236fd0dad
commit
b0d3b20f23
6 changed files with 576 additions and 29 deletions
|
@ -385,7 +385,7 @@ fn resolve_flags_and_init(
|
||||||
// Using same default as VSCode:
|
// Using same default as VSCode:
|
||||||
// https://github.com/microsoft/vscode/blob/48d4ba271686e8072fc6674137415bc80d936bc7/extensions/typescript-language-features/src/configuration/configuration.ts#L213-L214
|
// https://github.com/microsoft/vscode/blob/48d4ba271686e8072fc6674137415bc80d936bc7/extensions/typescript-language-features/src/configuration/configuration.ts#L213-L214
|
||||||
DenoSubcommand::Lsp => vec!["--max-old-space-size=3072".to_string()],
|
DenoSubcommand::Lsp => vec!["--max-old-space-size=3072".to_string()],
|
||||||
_ => vec![],
|
_ => vec!["--js-float16array".to_string()],
|
||||||
};
|
};
|
||||||
|
|
||||||
init_v8_flags(&default_v8_flags, &flags.v8_flags, get_v8_flags_from_env());
|
init_v8_flags(&default_v8_flags, &flags.v8_flags, get_v8_flags_from_env());
|
||||||
|
|
503
cli/tsc/dts/lib.deno.unstable.d.ts
vendored
503
cli/tsc/dts/lib.deno.unstable.d.ts
vendored
|
@ -4348,3 +4348,506 @@ declare namespace Intl {
|
||||||
timeStyle?: "full" | "long" | "medium" | "short";
|
timeStyle?: "full" | "long" | "medium" | "short";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A typed array of 16-bit float values. The contents are initialized to 0. If the requested number
|
||||||
|
* of bytes could not be allocated an exception is raised.
|
||||||
|
*/
|
||||||
|
interface Float16Array {
|
||||||
|
/**
|
||||||
|
* The size in bytes of each element in the array.
|
||||||
|
*/
|
||||||
|
readonly BYTES_PER_ELEMENT: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The ArrayBuffer instance referenced by the array.
|
||||||
|
*/
|
||||||
|
readonly buffer: ArrayBufferLike;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The length in bytes of the array.
|
||||||
|
*/
|
||||||
|
readonly byteLength: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The offset in bytes of the array.
|
||||||
|
*/
|
||||||
|
readonly byteOffset: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the this object after copying a section of the array identified by start and end
|
||||||
|
* to the same array starting at position target
|
||||||
|
* @param target If target is negative, it is treated as length+target where length is the
|
||||||
|
* length of the array.
|
||||||
|
* @param start If start is negative, it is treated as length+start. If end is negative, it
|
||||||
|
* is treated as length+end.
|
||||||
|
* @param end If not specified, length of the this object is used as its default value.
|
||||||
|
*/
|
||||||
|
copyWithin(target: number, start: number, end?: number): this;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determines whether all the members of an array satisfy the specified test.
|
||||||
|
* @param predicate A function that accepts up to three arguments. The every method calls
|
||||||
|
* the predicate function for each element in the array until the predicate returns a value
|
||||||
|
* which is coercible to the Boolean value false, or until the end of the array.
|
||||||
|
* @param thisArg An object to which the this keyword can refer in the predicate function.
|
||||||
|
* If thisArg is omitted, undefined is used as the this value.
|
||||||
|
*/
|
||||||
|
every(
|
||||||
|
predicate: (value: number, index: number, array: Float16Array) => unknown,
|
||||||
|
thisArg?: any,
|
||||||
|
): boolean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Changes all array elements from `start` to `end` index to a static `value` and returns the modified array
|
||||||
|
* @param value value to fill array section with
|
||||||
|
* @param start index to start filling the array at. If start is negative, it is treated as
|
||||||
|
* length+start where length is the length of the array.
|
||||||
|
* @param end index to stop filling the array at. If end is negative, it is treated as
|
||||||
|
* length+end.
|
||||||
|
*/
|
||||||
|
fill(value: number, start?: number, end?: number): this;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the elements of an array that meet the condition specified in a callback function.
|
||||||
|
* @param predicate A function that accepts up to three arguments. The filter method calls
|
||||||
|
* the predicate function one time for each element in the array.
|
||||||
|
* @param thisArg An object to which the this keyword can refer in the predicate function.
|
||||||
|
* If thisArg is omitted, undefined is used as the this value.
|
||||||
|
*/
|
||||||
|
filter(
|
||||||
|
predicate: (value: number, index: number, array: Float16Array) => any,
|
||||||
|
thisArg?: any,
|
||||||
|
): Float16Array;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the value of the first element in the array where predicate is true, and undefined
|
||||||
|
* otherwise.
|
||||||
|
* @param predicate find calls predicate once for each element of the array, in ascending
|
||||||
|
* order, until it finds one where predicate returns true. If such an element is found, find
|
||||||
|
* immediately returns that element value. Otherwise, find returns undefined.
|
||||||
|
* @param thisArg If provided, it will be used as the this value for each invocation of
|
||||||
|
* predicate. If it is not provided, undefined is used instead.
|
||||||
|
*/
|
||||||
|
find(
|
||||||
|
predicate: (value: number, index: number, obj: Float16Array) => boolean,
|
||||||
|
thisArg?: any,
|
||||||
|
): number | undefined;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the index of the first element in the array where predicate is true, and -1
|
||||||
|
* otherwise.
|
||||||
|
* @param predicate find calls predicate once for each element of the array, in ascending
|
||||||
|
* order, until it finds one where predicate returns true. If such an element is found,
|
||||||
|
* findIndex immediately returns that element index. Otherwise, findIndex returns -1.
|
||||||
|
* @param thisArg If provided, it will be used as the this value for each invocation of
|
||||||
|
* predicate. If it is not provided, undefined is used instead.
|
||||||
|
*/
|
||||||
|
findIndex(
|
||||||
|
predicate: (value: number, index: number, obj: Float16Array) => boolean,
|
||||||
|
thisArg?: any,
|
||||||
|
): number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Performs the specified action for each element in an array.
|
||||||
|
* @param callbackfn A function that accepts up to three arguments. forEach calls the
|
||||||
|
* callbackfn function one time for each element in the array.
|
||||||
|
* @param thisArg An object to which the this keyword can refer in the callbackfn function.
|
||||||
|
* If thisArg is omitted, undefined is used as the this value.
|
||||||
|
*/
|
||||||
|
forEach(
|
||||||
|
callbackfn: (value: number, index: number, array: Float16Array) => void,
|
||||||
|
thisArg?: any,
|
||||||
|
): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the index of the first occurrence of a value in an array.
|
||||||
|
* @param searchElement The value to locate in the array.
|
||||||
|
* @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
|
||||||
|
* search starts at index 0.
|
||||||
|
*/
|
||||||
|
indexOf(searchElement: number, fromIndex?: number): number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds all the elements of an array separated by the specified separator string.
|
||||||
|
* @param separator A string used to separate one element of an array from the next in the
|
||||||
|
* resulting String. If omitted, the array elements are separated with a comma.
|
||||||
|
*/
|
||||||
|
join(separator?: string): string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the index of the last occurrence of a value in an array.
|
||||||
|
* @param searchElement The value to locate in the array.
|
||||||
|
* @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
|
||||||
|
* search starts at index 0.
|
||||||
|
*/
|
||||||
|
lastIndexOf(searchElement: number, fromIndex?: number): number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The length of the array.
|
||||||
|
*/
|
||||||
|
readonly length: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calls a defined callback function on each element of an array, and returns an array that
|
||||||
|
* contains the results.
|
||||||
|
* @param callbackfn A function that accepts up to three arguments. The map method calls the
|
||||||
|
* callbackfn function one time for each element in the array.
|
||||||
|
* @param thisArg An object to which the this keyword can refer in the callbackfn function.
|
||||||
|
* If thisArg is omitted, undefined is used as the this value.
|
||||||
|
*/
|
||||||
|
map(
|
||||||
|
callbackfn: (value: number, index: number, array: Float16Array) => number,
|
||||||
|
thisArg?: any,
|
||||||
|
): Float16Array;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calls the specified callback function for all the elements in an array. The return value of
|
||||||
|
* the callback function is the accumulated result, and is provided as an argument in the next
|
||||||
|
* call to the callback function.
|
||||||
|
* @param callbackfn A function that accepts up to four arguments. The reduce method calls the
|
||||||
|
* callbackfn function one time for each element in the array.
|
||||||
|
* @param initialValue If initialValue is specified, it is used as the initial value to start
|
||||||
|
* the accumulation. The first call to the callbackfn function provides this value as an argument
|
||||||
|
* instead of an array value.
|
||||||
|
*/
|
||||||
|
reduce(
|
||||||
|
callbackfn: (
|
||||||
|
previousValue: number,
|
||||||
|
currentValue: number,
|
||||||
|
currentIndex: number,
|
||||||
|
array: Float16Array,
|
||||||
|
) => number,
|
||||||
|
): number;
|
||||||
|
reduce(
|
||||||
|
callbackfn: (
|
||||||
|
previousValue: number,
|
||||||
|
currentValue: number,
|
||||||
|
currentIndex: number,
|
||||||
|
array: Float16Array,
|
||||||
|
) => number,
|
||||||
|
initialValue: number,
|
||||||
|
): number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calls the specified callback function for all the elements in an array. The return value of
|
||||||
|
* the callback function is the accumulated result, and is provided as an argument in the next
|
||||||
|
* call to the callback function.
|
||||||
|
* @param callbackfn A function that accepts up to four arguments. The reduce method calls the
|
||||||
|
* callbackfn function one time for each element in the array.
|
||||||
|
* @param initialValue If initialValue is specified, it is used as the initial value to start
|
||||||
|
* the accumulation. The first call to the callbackfn function provides this value as an argument
|
||||||
|
* instead of an array value.
|
||||||
|
*/
|
||||||
|
reduce<U>(
|
||||||
|
callbackfn: (
|
||||||
|
previousValue: U,
|
||||||
|
currentValue: number,
|
||||||
|
currentIndex: number,
|
||||||
|
array: Float16Array,
|
||||||
|
) => U,
|
||||||
|
initialValue: U,
|
||||||
|
): U;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calls the specified callback function for all the elements in an array, in descending order.
|
||||||
|
* The return value of the callback function is the accumulated result, and is provided as an
|
||||||
|
* argument in the next call to the callback function.
|
||||||
|
* @param callbackfn A function that accepts up to four arguments. The reduceRight method calls
|
||||||
|
* the callbackfn function one time for each element in the array.
|
||||||
|
* @param initialValue If initialValue is specified, it is used as the initial value to start
|
||||||
|
* the accumulation. The first call to the callbackfn function provides this value as an
|
||||||
|
* argument instead of an array value.
|
||||||
|
*/
|
||||||
|
reduceRight(
|
||||||
|
callbackfn: (
|
||||||
|
previousValue: number,
|
||||||
|
currentValue: number,
|
||||||
|
currentIndex: number,
|
||||||
|
array: Float16Array,
|
||||||
|
) => number,
|
||||||
|
): number;
|
||||||
|
reduceRight(
|
||||||
|
callbackfn: (
|
||||||
|
previousValue: number,
|
||||||
|
currentValue: number,
|
||||||
|
currentIndex: number,
|
||||||
|
array: Float16Array,
|
||||||
|
) => number,
|
||||||
|
initialValue: number,
|
||||||
|
): number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calls the specified callback function for all the elements in an array, in descending order.
|
||||||
|
* The return value of the callback function is the accumulated result, and is provided as an
|
||||||
|
* argument in the next call to the callback function.
|
||||||
|
* @param callbackfn A function that accepts up to four arguments. The reduceRight method calls
|
||||||
|
* the callbackfn function one time for each element in the array.
|
||||||
|
* @param initialValue If initialValue is specified, it is used as the initial value to start
|
||||||
|
* the accumulation. The first call to the callbackfn function provides this value as an argument
|
||||||
|
* instead of an array value.
|
||||||
|
*/
|
||||||
|
reduceRight<U>(
|
||||||
|
callbackfn: (
|
||||||
|
previousValue: U,
|
||||||
|
currentValue: number,
|
||||||
|
currentIndex: number,
|
||||||
|
array: Float16Array,
|
||||||
|
) => U,
|
||||||
|
initialValue: U,
|
||||||
|
): U;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverses the elements in an Array.
|
||||||
|
*/
|
||||||
|
reverse(): Float16Array;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets a value or an array of values.
|
||||||
|
* @param array A typed or untyped array of values to set.
|
||||||
|
* @param offset The index in the current array at which the values are to be written.
|
||||||
|
*/
|
||||||
|
set(array: ArrayLike<number>, offset?: number): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a section of an array.
|
||||||
|
* @param start The beginning of the specified portion of the array.
|
||||||
|
* @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'.
|
||||||
|
*/
|
||||||
|
slice(start?: number, end?: number): Float16Array;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determines whether the specified callback function returns true for any element of an array.
|
||||||
|
* @param predicate A function that accepts up to three arguments. The some method calls
|
||||||
|
* the predicate function for each element in the array until the predicate returns a value
|
||||||
|
* which is coercible to the Boolean value true, or until the end of the array.
|
||||||
|
* @param thisArg An object to which the this keyword can refer in the predicate function.
|
||||||
|
* If thisArg is omitted, undefined is used as the this value.
|
||||||
|
*/
|
||||||
|
some(
|
||||||
|
predicate: (value: number, index: number, array: Float16Array) => unknown,
|
||||||
|
thisArg?: any,
|
||||||
|
): boolean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sorts an array.
|
||||||
|
* @param compareFn Function used to determine the order of the elements. It is expected to return
|
||||||
|
* a negative value if first argument is less than second argument, zero if they're equal and a positive
|
||||||
|
* value otherwise. If omitted, the elements are sorted in ascending order.
|
||||||
|
* ```ts
|
||||||
|
* [11,2,22,1].sort((a, b) => a - b)
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
sort(compareFn?: (a: number, b: number) => number): this;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets a new Float16Array view of the ArrayBuffer store for this array, referencing the elements
|
||||||
|
* at begin, inclusive, up to end, exclusive.
|
||||||
|
* @param begin The index of the beginning of the array.
|
||||||
|
* @param end The index of the end of the array.
|
||||||
|
*/
|
||||||
|
subarray(begin?: number, end?: number): Float16Array;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts a number to a string by using the current locale.
|
||||||
|
*/
|
||||||
|
toLocaleString(): string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a string representation of an array.
|
||||||
|
*/
|
||||||
|
toString(): string;
|
||||||
|
|
||||||
|
/** Returns the primitive value of the specified object. */
|
||||||
|
valueOf(): Float16Array;
|
||||||
|
|
||||||
|
[index: number]: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Float16ArrayConstructor {
|
||||||
|
readonly prototype: Float16Array;
|
||||||
|
new (length: number): Float16Array;
|
||||||
|
new (array: ArrayLike<number> | ArrayBufferLike): Float16Array;
|
||||||
|
new (
|
||||||
|
buffer: ArrayBufferLike,
|
||||||
|
byteOffset?: number,
|
||||||
|
length?: number,
|
||||||
|
): Float16Array;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The size in bytes of each element in the array.
|
||||||
|
*/
|
||||||
|
readonly BYTES_PER_ELEMENT: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a new array from a set of elements.
|
||||||
|
* @param items A set of elements to include in the new array object.
|
||||||
|
*/
|
||||||
|
of(...items: number[]): Float16Array;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an array from an array-like or iterable object.
|
||||||
|
* @param arrayLike An array-like or iterable object to convert to an array.
|
||||||
|
*/
|
||||||
|
from(arrayLike: ArrayLike<number>): Float16Array;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an array from an array-like or iterable object.
|
||||||
|
* @param arrayLike An array-like or iterable object to convert to an array.
|
||||||
|
* @param mapfn A mapping function to call on every element of the array.
|
||||||
|
* @param thisArg Value of 'this' used to invoke the mapfn.
|
||||||
|
*/
|
||||||
|
from<T>(
|
||||||
|
arrayLike: ArrayLike<T>,
|
||||||
|
mapfn: (v: T, k: number) => number,
|
||||||
|
thisArg?: any,
|
||||||
|
): Float16Array;
|
||||||
|
}
|
||||||
|
declare var Float16Array: Float16ArrayConstructor;
|
||||||
|
|
||||||
|
interface Float16 {
|
||||||
|
[Symbol.iterator](): IterableIterator<number>;
|
||||||
|
/**
|
||||||
|
* Returns an array of key, value pairs for every entry in the array
|
||||||
|
*/
|
||||||
|
entries(): IterableIterator<[number, number]>;
|
||||||
|
/**
|
||||||
|
* Returns an list of keys in the array
|
||||||
|
*/
|
||||||
|
keys(): IterableIterator<number>;
|
||||||
|
/**
|
||||||
|
* Returns an list of values in the array
|
||||||
|
*/
|
||||||
|
values(): IterableIterator<number>;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Float16Constructor {
|
||||||
|
new (elements: Iterable<number>): Float16;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an array from an array-like or iterable object.
|
||||||
|
* @param arrayLike An array-like or iterable object to convert to an array.
|
||||||
|
* @param mapfn A mapping function to call on every element of the array.
|
||||||
|
* @param thisArg Value of 'this' used to invoke the mapfn.
|
||||||
|
*/
|
||||||
|
from(
|
||||||
|
arrayLike: Iterable<number>,
|
||||||
|
mapfn?: (v: number, k: number) => number,
|
||||||
|
thisArg?: any,
|
||||||
|
): Float16;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Float16Array {
|
||||||
|
readonly [Symbol.toStringTag]: "Float16Array";
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Float16Array {
|
||||||
|
/**
|
||||||
|
* Determines whether an array includes a certain element, returning true or false as appropriate.
|
||||||
|
* @param searchElement The element to search for.
|
||||||
|
* @param fromIndex The position in this array at which to begin searching for searchElement.
|
||||||
|
*/
|
||||||
|
includes(searchElement: number, fromIndex?: number): boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Float16ArrayConstructor {
|
||||||
|
new (): Float16Array;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Float16Array {
|
||||||
|
/**
|
||||||
|
* Returns the item located at the specified index.
|
||||||
|
* @param index The zero-based index of the desired code unit. A negative index will count back from the last item.
|
||||||
|
*/
|
||||||
|
at(index: number): number | undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Float16Array {
|
||||||
|
/**
|
||||||
|
* Returns the value of the last element in the array where predicate is true, and undefined
|
||||||
|
* otherwise.
|
||||||
|
* @param predicate findLast calls predicate once for each element of the array, in descending
|
||||||
|
* order, until it finds one where predicate returns true. If such an element is found, findLast
|
||||||
|
* immediately returns that element value. Otherwise, findLast returns undefined.
|
||||||
|
* @param thisArg If provided, it will be used as the this value for each invocation of
|
||||||
|
* predicate. If it is not provided, undefined is used instead.
|
||||||
|
*/
|
||||||
|
findLast<S extends number>(
|
||||||
|
predicate: (
|
||||||
|
value: number,
|
||||||
|
index: number,
|
||||||
|
array: Float16Array,
|
||||||
|
) => value is S,
|
||||||
|
thisArg?: any,
|
||||||
|
): S | undefined;
|
||||||
|
findLast(
|
||||||
|
predicate: (
|
||||||
|
value: number,
|
||||||
|
index: number,
|
||||||
|
array: Float16Array,
|
||||||
|
) => unknown,
|
||||||
|
thisArg?: any,
|
||||||
|
): number | undefined;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the index of the last element in the array where predicate is true, and -1
|
||||||
|
* otherwise.
|
||||||
|
* @param predicate findLastIndex calls predicate once for each element of the array, in descending
|
||||||
|
* order, until it finds one where predicate returns true. If such an element is found,
|
||||||
|
* findLastIndex immediately returns that element index. Otherwise, findLastIndex returns -1.
|
||||||
|
* @param thisArg If provided, it will be used as the this value for each invocation of
|
||||||
|
* predicate. If it is not provided, undefined is used instead.
|
||||||
|
*/
|
||||||
|
findLastIndex(
|
||||||
|
predicate: (
|
||||||
|
value: number,
|
||||||
|
index: number,
|
||||||
|
array: Float16Array,
|
||||||
|
) => unknown,
|
||||||
|
thisArg?: any,
|
||||||
|
): number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Copies the array and returns the copy with the elements in reverse order.
|
||||||
|
*/
|
||||||
|
toReversed(): Float16Array;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Copies and sorts the array.
|
||||||
|
* @param compareFn Function used to determine the order of the elements. It is expected to return
|
||||||
|
* a negative value if the first argument is less than the second argument, zero if they're equal, and a positive
|
||||||
|
* value otherwise. If omitted, the elements are sorted in ascending order.
|
||||||
|
* ```ts
|
||||||
|
* const myNums = Float16Array.from([11.25, 2, -22.5, 1]);
|
||||||
|
* myNums.toSorted((a, b) => a - b) // Float16Array(4) [-22.5, 1, 2, 11.5]
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
toSorted(compareFn?: (a: number, b: number) => number): Float16Array;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Copies the array and inserts the given number at the provided index.
|
||||||
|
* @param index The index of the value to overwrite. If the index is
|
||||||
|
* negative, then it replaces from the end of the array.
|
||||||
|
* @param value The value to insert into the copied array.
|
||||||
|
* @returns A copy of the original array with the inserted value.
|
||||||
|
*/
|
||||||
|
with(index: number, value: number): Float16Array;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface DataView {
|
||||||
|
/**
|
||||||
|
* Gets the Float16 value at the specified byte offset from the start of the view. There is
|
||||||
|
* no alignment constraint; multi-byte values may be fetched from any offset.
|
||||||
|
* @param byteOffset The place in the buffer at which the value should be retrieved.
|
||||||
|
* @param littleEndian If false or undefined, a big-endian value should be read.
|
||||||
|
*/
|
||||||
|
getFloat16(byteOffset: number, littleEndian?: boolean): number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Stores an Float16 value at the specified byte offset from the start of the view.
|
||||||
|
* @param byteOffset The place in the buffer at which the value should be set.
|
||||||
|
* @param value The value to set.
|
||||||
|
* @param littleEndian If false or undefined, a big-endian value should be written.
|
||||||
|
*/
|
||||||
|
setFloat16(byteOffset: number, value: number, littleEndian?: boolean): void;
|
||||||
|
}
|
||||||
|
|
|
@ -36,6 +36,7 @@ const {
|
||||||
Uint16Array,
|
Uint16Array,
|
||||||
Uint32Array,
|
Uint32Array,
|
||||||
BigUint64Array,
|
BigUint64Array,
|
||||||
|
Float16Array,
|
||||||
Float32Array,
|
Float32Array,
|
||||||
Float64Array,
|
Float64Array,
|
||||||
} = primordials;
|
} = primordials;
|
||||||
|
@ -115,6 +116,9 @@ function structuredClone(value) {
|
||||||
case "BigUint64Array":
|
case "BigUint64Array":
|
||||||
Constructor = BigUint64Array;
|
Constructor = BigUint64Array;
|
||||||
break;
|
break;
|
||||||
|
case "Float16Array":
|
||||||
|
Constructor = Float16Array;
|
||||||
|
break;
|
||||||
case "Float32Array":
|
case "Float32Array":
|
||||||
Constructor = Float32Array;
|
Constructor = Float32Array;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -5144,7 +5144,7 @@ fn lsp_jsr_auto_import_completion() {
|
||||||
json!({ "triggerKind": 1 }),
|
json!({ "triggerKind": 1 }),
|
||||||
);
|
);
|
||||||
assert!(!list.is_incomplete);
|
assert!(!list.is_incomplete);
|
||||||
assert_eq!(list.items.len(), 263);
|
assert_eq!(list.items.len(), 264);
|
||||||
let item = list.items.iter().find(|i| i.label == "add").unwrap();
|
let item = list.items.iter().find(|i| i.label == "add").unwrap();
|
||||||
assert_eq!(&item.label, "add");
|
assert_eq!(&item.label, "add");
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
|
@ -5224,7 +5224,7 @@ fn lsp_jsr_auto_import_completion_import_map() {
|
||||||
json!({ "triggerKind": 1 }),
|
json!({ "triggerKind": 1 }),
|
||||||
);
|
);
|
||||||
assert!(!list.is_incomplete);
|
assert!(!list.is_incomplete);
|
||||||
assert_eq!(list.items.len(), 263);
|
assert_eq!(list.items.len(), 264);
|
||||||
let item = list.items.iter().find(|i| i.label == "add").unwrap();
|
let item = list.items.iter().find(|i| i.label == "add").unwrap();
|
||||||
assert_eq!(&item.label, "add");
|
assert_eq!(&item.label, "add");
|
||||||
assert_eq!(json!(&item.label_details), json!({ "description": "add" }));
|
assert_eq!(json!(&item.label_details), json!({ "description": "add" }));
|
||||||
|
|
|
@ -48,3 +48,12 @@ Deno.test(function setUnion() {
|
||||||
const union = a.union(b);
|
const union = a.union(b);
|
||||||
assertEquals(union, new Set([1, 2, 3, 4, 5]));
|
assertEquals(union, new Set([1, 2, 3, 4, 5]));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Deno.test(function float16Array() {
|
||||||
|
const myNums = Float16Array.from([11.25, 2, -22.5, 1]);
|
||||||
|
const sorted = myNums.toSorted((a, b) => a - b);
|
||||||
|
assertEquals(sorted[0], -22.5);
|
||||||
|
assertEquals(sorted[1], 1);
|
||||||
|
assertEquals(sorted[2], 2);
|
||||||
|
assertEquals(sorted[3], 11.25);
|
||||||
|
});
|
||||||
|
|
|
@ -1,11 +1,7 @@
|
||||||
{
|
{
|
||||||
"WebCryptoAPI": {
|
"WebCryptoAPI": {
|
||||||
"getRandomValues.any.html": [
|
"getRandomValues.any.html": true,
|
||||||
"Float arrays"
|
"getRandomValues.any.worker.html": true,
|
||||||
],
|
|
||||||
"getRandomValues.any.worker.html": [
|
|
||||||
"Float arrays"
|
|
||||||
],
|
|
||||||
"derive_bits_keys": {
|
"derive_bits_keys": {
|
||||||
"ecdh_bits.https.any.html": [
|
"ecdh_bits.https.any.html": [
|
||||||
"P-521 good parameters",
|
"P-521 good parameters",
|
||||||
|
@ -2891,14 +2887,8 @@
|
||||||
"api-replacement-encodings.any.worker.html": true,
|
"api-replacement-encodings.any.worker.html": true,
|
||||||
"api-surrogates-utf8.any.html": true,
|
"api-surrogates-utf8.any.html": true,
|
||||||
"api-surrogates-utf8.any.worker.html": true,
|
"api-surrogates-utf8.any.worker.html": true,
|
||||||
"encodeInto.any.html": [
|
"encodeInto.any.html": true,
|
||||||
"Invalid encodeInto() destination: Float16Array, backed by: ArrayBuffer",
|
"encodeInto.any.worker.html": true,
|
||||||
"Invalid encodeInto() destination: Float16Array, backed by: SharedArrayBuffer"
|
|
||||||
],
|
|
||||||
"encodeInto.any.worker.html": [
|
|
||||||
"Invalid encodeInto() destination: Float16Array, backed by: ArrayBuffer",
|
|
||||||
"Invalid encodeInto() destination: Float16Array, backed by: SharedArrayBuffer"
|
|
||||||
],
|
|
||||||
"idlharness.any.html": true,
|
"idlharness.any.html": true,
|
||||||
"idlharness.any.worker.html": true,
|
"idlharness.any.worker.html": true,
|
||||||
"iso-2022-jp-decoder.any.html": true,
|
"iso-2022-jp-decoder.any.html": true,
|
||||||
|
@ -6852,8 +6842,54 @@
|
||||||
"request-headers-case.any.worker.html": false,
|
"request-headers-case.any.worker.html": false,
|
||||||
"request-headers-nonascii.any.html": true,
|
"request-headers-nonascii.any.html": true,
|
||||||
"request-headers-nonascii.any.worker.html": true,
|
"request-headers-nonascii.any.worker.html": true,
|
||||||
"request-headers.any.html": false,
|
"request-headers.any.html": [
|
||||||
"request-headers.any.worker.html": false,
|
"Fetch with PUT without body",
|
||||||
|
"Fetch with PUT with body",
|
||||||
|
"Fetch with POST without body",
|
||||||
|
"Fetch with POST with text body",
|
||||||
|
"Fetch with POST with FormData body",
|
||||||
|
"Fetch with POST with URLSearchParams body",
|
||||||
|
"Fetch with POST with Blob body",
|
||||||
|
"Fetch with POST with ArrayBuffer body",
|
||||||
|
"Fetch with POST with Uint8Array body",
|
||||||
|
"Fetch with POST with Int8Array body",
|
||||||
|
"Fetch with POST with Float16Array body",
|
||||||
|
"Fetch with POST with Float32Array body",
|
||||||
|
"Fetch with POST with Float64Array body",
|
||||||
|
"Fetch with POST with DataView body",
|
||||||
|
"Fetch with POST with Blob body with mime type",
|
||||||
|
"Fetch with Chicken",
|
||||||
|
"Fetch with Chicken with body",
|
||||||
|
"Fetch with POST and mode \"same-origin\" needs an Origin header",
|
||||||
|
"Fetch with POST and mode \"no-cors\" needs an Origin header",
|
||||||
|
"Fetch with PUT and mode \"same-origin\" needs an Origin header",
|
||||||
|
"Fetch with TacO and mode \"same-origin\" needs an Origin header",
|
||||||
|
"Fetch with TacO and mode \"cors\" needs an Origin header"
|
||||||
|
],
|
||||||
|
"request-headers.any.worker.html": [
|
||||||
|
"Fetch with PUT without body",
|
||||||
|
"Fetch with PUT with body",
|
||||||
|
"Fetch with POST without body",
|
||||||
|
"Fetch with POST with text body",
|
||||||
|
"Fetch with POST with FormData body",
|
||||||
|
"Fetch with POST with URLSearchParams body",
|
||||||
|
"Fetch with POST with Blob body",
|
||||||
|
"Fetch with POST with ArrayBuffer body",
|
||||||
|
"Fetch with POST with Uint8Array body",
|
||||||
|
"Fetch with POST with Int8Array body",
|
||||||
|
"Fetch with POST with Float16Array body",
|
||||||
|
"Fetch with POST with Float32Array body",
|
||||||
|
"Fetch with POST with Float64Array body",
|
||||||
|
"Fetch with POST with DataView body",
|
||||||
|
"Fetch with POST with Blob body with mime type",
|
||||||
|
"Fetch with Chicken",
|
||||||
|
"Fetch with Chicken with body",
|
||||||
|
"Fetch with POST and mode \"same-origin\" needs an Origin header",
|
||||||
|
"Fetch with POST and mode \"no-cors\" needs an Origin header",
|
||||||
|
"Fetch with PUT and mode \"same-origin\" needs an Origin header",
|
||||||
|
"Fetch with TacO and mode \"same-origin\" needs an Origin header",
|
||||||
|
"Fetch with TacO and mode \"cors\" needs an Origin header"
|
||||||
|
],
|
||||||
"text-utf8.any.html": true,
|
"text-utf8.any.html": true,
|
||||||
"text-utf8.any.worker.html": true,
|
"text-utf8.any.worker.html": true,
|
||||||
"accept-header.any.html": true,
|
"accept-header.any.html": true,
|
||||||
|
@ -8490,12 +8526,8 @@
|
||||||
"blob": {
|
"blob": {
|
||||||
"Blob-array-buffer.any.html": true,
|
"Blob-array-buffer.any.html": true,
|
||||||
"Blob-array-buffer.any.worker.html": true,
|
"Blob-array-buffer.any.worker.html": true,
|
||||||
"Blob-constructor.any.html": [
|
"Blob-constructor.any.html": true,
|
||||||
"Passing typed arrays as elements of the blobParts array should work."
|
"Blob-constructor.any.worker.html": true,
|
||||||
],
|
|
||||||
"Blob-constructor.any.worker.html": [
|
|
||||||
"Passing typed arrays as elements of the blobParts array should work."
|
|
||||||
],
|
|
||||||
"Blob-slice-overflow.any.html": true,
|
"Blob-slice-overflow.any.html": true,
|
||||||
"Blob-slice-overflow.any.worker.html": true,
|
"Blob-slice-overflow.any.worker.html": true,
|
||||||
"Blob-slice.any.html": true,
|
"Blob-slice.any.html": true,
|
||||||
|
@ -10110,8 +10142,7 @@
|
||||||
"The IDBKeyRange interface object should be exposed.",
|
"The IDBKeyRange interface object should be exposed.",
|
||||||
"The IDBCursor interface object should be exposed.",
|
"The IDBCursor interface object should be exposed.",
|
||||||
"The IDBCursorWithValue interface object should be exposed.",
|
"The IDBCursorWithValue interface object should be exposed.",
|
||||||
"The IDBTransaction interface object should be exposed.",
|
"The IDBTransaction interface object should be exposed."
|
||||||
"The Float16Array interface object should be exposed."
|
|
||||||
],
|
],
|
||||||
"002.worker.html": true
|
"002.worker.html": true
|
||||||
},
|
},
|
||||||
|
@ -10650,8 +10681,8 @@
|
||||||
"compression-with-detach.tentative.window.html": true,
|
"compression-with-detach.tentative.window.html": true,
|
||||||
"decompression-bad-chunks.tentative.any.html": true,
|
"decompression-bad-chunks.tentative.any.html": true,
|
||||||
"decompression-bad-chunks.tentative.any.worker.html": true,
|
"decompression-bad-chunks.tentative.any.worker.html": true,
|
||||||
"decompression-buffersource.tentative.any.html": false,
|
"decompression-buffersource.tentative.any.html": true,
|
||||||
"decompression-buffersource.tentative.any.worker.html": false,
|
"decompression-buffersource.tentative.any.worker.html": true,
|
||||||
"decompression-constructor-error.tentative.any.html": true,
|
"decompression-constructor-error.tentative.any.html": true,
|
||||||
"decompression-constructor-error.tentative.any.worker.html": true,
|
"decompression-constructor-error.tentative.any.worker.html": true,
|
||||||
"decompression-correct-input.tentative.any.html": true,
|
"decompression-correct-input.tentative.any.html": true,
|
||||||
|
|
Loading…
Reference in a new issue