| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.isFloat16Array = isFloat16Array;
- var _arrayIterator = require("./_util/arrayIterator.cjs");
- var _brand = require("./_util/brand.cjs");
- var _converter = require("./_util/converter.cjs");
- var _is = require("./_util/is.cjs");
- var _messages = require("./_util/messages.cjs");
- var _primordials = require("./_util/primordials.cjs");
- var _spec = require("./_util/spec.cjs");
- const BYTES_PER_ELEMENT = 2;
- const float16bitsArrays = new _primordials.NativeWeakMap();
- function isFloat16Array(target) {
- return (0, _primordials.WeakMapPrototypeHas)(float16bitsArrays, target) || !(0, _primordials.ArrayBufferIsView)(target) && (0, _brand.hasFloat16ArrayBrand)(target);
- }
- function assertFloat16Array(target) {
- if (!isFloat16Array(target)) {
- throw (0, _primordials.NativeTypeError)(_messages.THIS_IS_NOT_A_FLOAT16ARRAY_OBJECT);
- }
- }
- function assertSpeciesTypedArray(target, count) {
- const isTargetFloat16Array = isFloat16Array(target);
- const isTargetTypedArray = (0, _is.isNativeTypedArray)(target);
- if (!isTargetFloat16Array && !isTargetTypedArray) {
- throw (0, _primordials.NativeTypeError)(_messages.SPECIES_CONSTRUCTOR_DIDNT_RETURN_TYPEDARRAY_OBJECT);
- }
- if (typeof count === "number") {
- let length;
- if (isTargetFloat16Array) {
- const float16bitsArray = getFloat16BitsArray(target);
- length = (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray);
- } else {
- length = (0, _primordials.TypedArrayPrototypeGetLength)(target);
- }
- if (length < count) {
- throw (0, _primordials.NativeTypeError)(_messages.DERIVED_CONSTRUCTOR_CREATED_TYPEDARRAY_OBJECT_WHICH_WAS_TOO_SMALL_LENGTH);
- }
- }
- if ((0, _is.isNativeBigIntTypedArray)(target)) {
- throw (0, _primordials.NativeTypeError)(_messages.CANNOT_MIX_BIGINT_AND_OTHER_TYPES);
- }
- }
- function getFloat16BitsArray(float16) {
- const float16bitsArray = (0, _primordials.WeakMapPrototypeGet)(float16bitsArrays, float16);
- if (float16bitsArray !== undefined) {
- const buffer = (0, _primordials.TypedArrayPrototypeGetBuffer)(float16bitsArray);
- if ((0, _spec.IsDetachedBuffer)(buffer)) {
- throw (0, _primordials.NativeTypeError)(_messages.ATTEMPTING_TO_ACCESS_DETACHED_ARRAYBUFFER);
- }
- return float16bitsArray;
- }
- const buffer = float16.buffer;
- if ((0, _spec.IsDetachedBuffer)(buffer)) {
- throw (0, _primordials.NativeTypeError)(_messages.ATTEMPTING_TO_ACCESS_DETACHED_ARRAYBUFFER);
- }
- const cloned = (0, _primordials.ReflectConstruct)(Float16Array, [buffer, float16.byteOffset, float16.length], float16.constructor);
- return (0, _primordials.WeakMapPrototypeGet)(float16bitsArrays, cloned);
- }
- function copyToArray(float16bitsArray) {
- const length = (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray);
- const array = [];
- for (let i = 0; i < length; ++i) {
- array[i] = (0, _converter.convertToNumber)(float16bitsArray[i]);
- }
- return array;
- }
- const TypedArrayPrototypeGetters = new _primordials.NativeWeakSet();
- for (const key of (0, _primordials.ReflectOwnKeys)(_primordials.TypedArrayPrototype)) {
- if (key === _primordials.SymbolToStringTag) {
- continue;
- }
- const descriptor = (0, _primordials.ReflectGetOwnPropertyDescriptor)(_primordials.TypedArrayPrototype, key);
- if ((0, _primordials.ObjectHasOwn)(descriptor, "get") && typeof descriptor.get === "function") {
- (0, _primordials.WeakSetPrototypeAdd)(TypedArrayPrototypeGetters, descriptor.get);
- }
- }
- const handler = (0, _primordials.ObjectFreeze)({
- get(target, key, receiver) {
- if ((0, _is.isCanonicalIntegerIndexString)(key) && (0, _primordials.ObjectHasOwn)(target, key)) {
- return (0, _converter.convertToNumber)((0, _primordials.ReflectGet)(target, key));
- }
- if ((0, _primordials.WeakSetPrototypeHas)(TypedArrayPrototypeGetters, (0, _primordials.ObjectPrototype__lookupGetter__)(target, key))) {
- return (0, _primordials.ReflectGet)(target, key);
- }
- return (0, _primordials.ReflectGet)(target, key, receiver);
- },
- set(target, key, value, receiver) {
- if ((0, _is.isCanonicalIntegerIndexString)(key) && (0, _primordials.ObjectHasOwn)(target, key)) {
- return (0, _primordials.ReflectSet)(target, key, (0, _converter.roundToFloat16Bits)(value));
- }
- return (0, _primordials.ReflectSet)(target, key, value, receiver);
- },
- getOwnPropertyDescriptor(target, key) {
- if ((0, _is.isCanonicalIntegerIndexString)(key) && (0, _primordials.ObjectHasOwn)(target, key)) {
- const descriptor = (0, _primordials.ReflectGetOwnPropertyDescriptor)(target, key);
- descriptor.value = (0, _converter.convertToNumber)(descriptor.value);
- return descriptor;
- }
- return (0, _primordials.ReflectGetOwnPropertyDescriptor)(target, key);
- },
- defineProperty(target, key, descriptor) {
- if ((0, _is.isCanonicalIntegerIndexString)(key) && (0, _primordials.ObjectHasOwn)(target, key) && (0, _primordials.ObjectHasOwn)(descriptor, "value")) {
- descriptor.value = (0, _converter.roundToFloat16Bits)(descriptor.value);
- return (0, _primordials.ReflectDefineProperty)(target, key, descriptor);
- }
- return (0, _primordials.ReflectDefineProperty)(target, key, descriptor);
- }
- });
- class Float16Array {
- constructor(input, _byteOffset, _length) {
- let float16bitsArray;
- if (isFloat16Array(input)) {
- float16bitsArray = (0, _primordials.ReflectConstruct)(_primordials.NativeUint16Array, [getFloat16BitsArray(input)], new.target);
- } else if ((0, _is.isObject)(input) && !(0, _is.isArrayBuffer)(input)) {
- let list;
- let length;
- if ((0, _is.isNativeTypedArray)(input)) {
- list = input;
- length = (0, _primordials.TypedArrayPrototypeGetLength)(input);
- const buffer = (0, _primordials.TypedArrayPrototypeGetBuffer)(input);
- if ((0, _spec.IsDetachedBuffer)(buffer)) {
- throw (0, _primordials.NativeTypeError)(_messages.ATTEMPTING_TO_ACCESS_DETACHED_ARRAYBUFFER);
- }
- if ((0, _is.isNativeBigIntTypedArray)(input)) {
- throw (0, _primordials.NativeTypeError)(_messages.CANNOT_MIX_BIGINT_AND_OTHER_TYPES);
- }
- const data = new _primordials.NativeArrayBuffer(length * BYTES_PER_ELEMENT);
- float16bitsArray = (0, _primordials.ReflectConstruct)(_primordials.NativeUint16Array, [data], new.target);
- } else {
- const iterator = input[_primordials.SymbolIterator];
- if (iterator != null && typeof iterator !== "function") {
- throw (0, _primordials.NativeTypeError)(_messages.ITERATOR_PROPERTY_IS_NOT_CALLABLE);
- }
- if (iterator != null) {
- if ((0, _is.isOrdinaryArray)(input)) {
- list = input;
- length = input.length;
- } else {
- list = [...input];
- length = list.length;
- }
- } else {
- list = input;
- length = (0, _spec.ToLength)(list.length);
- }
- float16bitsArray = (0, _primordials.ReflectConstruct)(_primordials.NativeUint16Array, [length], new.target);
- }
- for (let i = 0; i < length; ++i) {
- float16bitsArray[i] = (0, _converter.roundToFloat16Bits)(list[i]);
- }
- } else {
- float16bitsArray = (0, _primordials.ReflectConstruct)(_primordials.NativeUint16Array, arguments, new.target);
- }
- const proxy = new _primordials.NativeProxy(float16bitsArray, handler);
- (0, _primordials.WeakMapPrototypeSet)(float16bitsArrays, proxy, float16bitsArray);
- return proxy;
- }
- static from(src, ...opts) {
- const Constructor = this;
- if (!(0, _primordials.ReflectHas)(Constructor, _brand.brand)) {
- throw (0, _primordials.NativeTypeError)(_messages.THIS_CONSTRUCTOR_IS_NOT_A_SUBCLASS_OF_FLOAT16ARRAY);
- }
- if (Constructor === Float16Array) {
- if (isFloat16Array(src) && opts.length === 0) {
- const float16bitsArray = getFloat16BitsArray(src);
- const uint16 = new _primordials.NativeUint16Array((0, _primordials.TypedArrayPrototypeGetBuffer)(float16bitsArray), (0, _primordials.TypedArrayPrototypeGetByteOffset)(float16bitsArray), (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray));
- return new Float16Array((0, _primordials.TypedArrayPrototypeGetBuffer)((0, _primordials.TypedArrayPrototypeSlice)(uint16)));
- }
- if (opts.length === 0) {
- return new Float16Array((0, _primordials.TypedArrayPrototypeGetBuffer)((0, _primordials.Uint16ArrayFrom)(src, _converter.roundToFloat16Bits)));
- }
- const mapFunc = opts[0];
- const thisArg = opts[1];
- return new Float16Array((0, _primordials.TypedArrayPrototypeGetBuffer)((0, _primordials.Uint16ArrayFrom)(src, function (val, ...args) {
- return (0, _converter.roundToFloat16Bits)((0, _primordials.ReflectApply)(mapFunc, this, [val, ...(0, _arrayIterator.safeIfNeeded)(args)]));
- }, thisArg)));
- }
- let list;
- let length;
- const iterator = src[_primordials.SymbolIterator];
- if (iterator != null && typeof iterator !== "function") {
- throw (0, _primordials.NativeTypeError)(_messages.ITERATOR_PROPERTY_IS_NOT_CALLABLE);
- }
- if (iterator != null) {
- if ((0, _is.isOrdinaryArray)(src)) {
- list = src;
- length = src.length;
- } else if ((0, _is.isOrdinaryNativeTypedArray)(src)) {
- list = src;
- length = (0, _primordials.TypedArrayPrototypeGetLength)(src);
- } else {
- list = [...src];
- length = list.length;
- }
- } else {
- if (src == null) {
- throw (0, _primordials.NativeTypeError)(_messages.CANNOT_CONVERT_UNDEFINED_OR_NULL_TO_OBJECT);
- }
- list = (0, _primordials.NativeObject)(src);
- length = (0, _spec.ToLength)(list.length);
- }
- const array = new Constructor(length);
- if (opts.length === 0) {
- for (let i = 0; i < length; ++i) {
- array[i] = list[i];
- }
- } else {
- const mapFunc = opts[0];
- const thisArg = opts[1];
- for (let i = 0; i < length; ++i) {
- array[i] = (0, _primordials.ReflectApply)(mapFunc, thisArg, [list[i], i]);
- }
- }
- return array;
- }
- static of(...items) {
- const Constructor = this;
- if (!(0, _primordials.ReflectHas)(Constructor, _brand.brand)) {
- throw (0, _primordials.NativeTypeError)(_messages.THIS_CONSTRUCTOR_IS_NOT_A_SUBCLASS_OF_FLOAT16ARRAY);
- }
- const length = items.length;
- if (Constructor === Float16Array) {
- const proxy = new Float16Array(length);
- const float16bitsArray = getFloat16BitsArray(proxy);
- for (let i = 0; i < length; ++i) {
- float16bitsArray[i] = (0, _converter.roundToFloat16Bits)(items[i]);
- }
- return proxy;
- }
- const array = new Constructor(length);
- for (let i = 0; i < length; ++i) {
- array[i] = items[i];
- }
- return array;
- }
- keys() {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- return (0, _primordials.TypedArrayPrototypeKeys)(float16bitsArray);
- }
- values() {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- return (0, _arrayIterator.wrap)(function* () {
- for (const val of (0, _primordials.TypedArrayPrototypeValues)(float16bitsArray)) {
- yield (0, _converter.convertToNumber)(val);
- }
- }());
- }
- entries() {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- return (0, _arrayIterator.wrap)(function* () {
- for (const [i, val] of (0, _primordials.TypedArrayPrototypeEntries)(float16bitsArray)) {
- yield [i, (0, _converter.convertToNumber)(val)];
- }
- }());
- }
- at(index) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- const length = (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray);
- const relativeIndex = (0, _spec.ToIntegerOrInfinity)(index);
- const k = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;
- if (k < 0 || k >= length) {
- return;
- }
- return (0, _converter.convertToNumber)(float16bitsArray[k]);
- }
- with(index, value) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- const length = (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray);
- const relativeIndex = (0, _spec.ToIntegerOrInfinity)(index);
- const k = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;
- const number = +value;
- if (k < 0 || k >= length) {
- throw (0, _primordials.NativeRangeError)(_messages.OFFSET_IS_OUT_OF_BOUNDS);
- }
- const uint16 = new _primordials.NativeUint16Array((0, _primordials.TypedArrayPrototypeGetBuffer)(float16bitsArray), (0, _primordials.TypedArrayPrototypeGetByteOffset)(float16bitsArray), (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray));
- const cloned = new Float16Array((0, _primordials.TypedArrayPrototypeGetBuffer)((0, _primordials.TypedArrayPrototypeSlice)(uint16)));
- const array = getFloat16BitsArray(cloned);
- array[k] = (0, _converter.roundToFloat16Bits)(number);
- return cloned;
- }
- map(callback, ...opts) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- const length = (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray);
- const thisArg = opts[0];
- const Constructor = (0, _spec.SpeciesConstructor)(float16bitsArray, Float16Array);
- if (Constructor === Float16Array) {
- const proxy = new Float16Array(length);
- const array = getFloat16BitsArray(proxy);
- for (let i = 0; i < length; ++i) {
- const val = (0, _converter.convertToNumber)(float16bitsArray[i]);
- array[i] = (0, _converter.roundToFloat16Bits)((0, _primordials.ReflectApply)(callback, thisArg, [val, i, this]));
- }
- return proxy;
- }
- const array = new Constructor(length);
- assertSpeciesTypedArray(array, length);
- for (let i = 0; i < length; ++i) {
- const val = (0, _converter.convertToNumber)(float16bitsArray[i]);
- array[i] = (0, _primordials.ReflectApply)(callback, thisArg, [val, i, this]);
- }
- return array;
- }
- filter(callback, ...opts) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- const length = (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray);
- const thisArg = opts[0];
- const kept = [];
- for (let i = 0; i < length; ++i) {
- const val = (0, _converter.convertToNumber)(float16bitsArray[i]);
- if ((0, _primordials.ReflectApply)(callback, thisArg, [val, i, this])) {
- (0, _primordials.ArrayPrototypePush)(kept, val);
- }
- }
- const Constructor = (0, _spec.SpeciesConstructor)(float16bitsArray, Float16Array);
- const array = new Constructor(kept);
- assertSpeciesTypedArray(array);
- return array;
- }
- reduce(callback, ...opts) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- const length = (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray);
- if (length === 0 && opts.length === 0) {
- throw (0, _primordials.NativeTypeError)(_messages.REDUCE_OF_EMPTY_ARRAY_WITH_NO_INITIAL_VALUE);
- }
- let accumulator, start;
- if (opts.length === 0) {
- accumulator = (0, _converter.convertToNumber)(float16bitsArray[0]);
- start = 1;
- } else {
- accumulator = opts[0];
- start = 0;
- }
- for (let i = start; i < length; ++i) {
- accumulator = callback(accumulator, (0, _converter.convertToNumber)(float16bitsArray[i]), i, this);
- }
- return accumulator;
- }
- reduceRight(callback, ...opts) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- const length = (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray);
- if (length === 0 && opts.length === 0) {
- throw (0, _primordials.NativeTypeError)(_messages.REDUCE_OF_EMPTY_ARRAY_WITH_NO_INITIAL_VALUE);
- }
- let accumulator, start;
- if (opts.length === 0) {
- accumulator = (0, _converter.convertToNumber)(float16bitsArray[length - 1]);
- start = length - 2;
- } else {
- accumulator = opts[0];
- start = length - 1;
- }
- for (let i = start; i >= 0; --i) {
- accumulator = callback(accumulator, (0, _converter.convertToNumber)(float16bitsArray[i]), i, this);
- }
- return accumulator;
- }
- forEach(callback, ...opts) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- const length = (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray);
- const thisArg = opts[0];
- for (let i = 0; i < length; ++i) {
- (0, _primordials.ReflectApply)(callback, thisArg, [(0, _converter.convertToNumber)(float16bitsArray[i]), i, this]);
- }
- }
- find(callback, ...opts) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- const length = (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray);
- const thisArg = opts[0];
- for (let i = 0; i < length; ++i) {
- const value = (0, _converter.convertToNumber)(float16bitsArray[i]);
- if ((0, _primordials.ReflectApply)(callback, thisArg, [value, i, this])) {
- return value;
- }
- }
- }
- findIndex(callback, ...opts) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- const length = (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray);
- const thisArg = opts[0];
- for (let i = 0; i < length; ++i) {
- const value = (0, _converter.convertToNumber)(float16bitsArray[i]);
- if ((0, _primordials.ReflectApply)(callback, thisArg, [value, i, this])) {
- return i;
- }
- }
- return -1;
- }
- findLast(callback, ...opts) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- const length = (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray);
- const thisArg = opts[0];
- for (let i = length - 1; i >= 0; --i) {
- const value = (0, _converter.convertToNumber)(float16bitsArray[i]);
- if ((0, _primordials.ReflectApply)(callback, thisArg, [value, i, this])) {
- return value;
- }
- }
- }
- findLastIndex(callback, ...opts) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- const length = (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray);
- const thisArg = opts[0];
- for (let i = length - 1; i >= 0; --i) {
- const value = (0, _converter.convertToNumber)(float16bitsArray[i]);
- if ((0, _primordials.ReflectApply)(callback, thisArg, [value, i, this])) {
- return i;
- }
- }
- return -1;
- }
- every(callback, ...opts) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- const length = (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray);
- const thisArg = opts[0];
- for (let i = 0; i < length; ++i) {
- if (!(0, _primordials.ReflectApply)(callback, thisArg, [(0, _converter.convertToNumber)(float16bitsArray[i]), i, this])) {
- return false;
- }
- }
- return true;
- }
- some(callback, ...opts) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- const length = (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray);
- const thisArg = opts[0];
- for (let i = 0; i < length; ++i) {
- if ((0, _primordials.ReflectApply)(callback, thisArg, [(0, _converter.convertToNumber)(float16bitsArray[i]), i, this])) {
- return true;
- }
- }
- return false;
- }
- set(input, ...opts) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- const targetOffset = (0, _spec.ToIntegerOrInfinity)(opts[0]);
- if (targetOffset < 0) {
- throw (0, _primordials.NativeRangeError)(_messages.OFFSET_IS_OUT_OF_BOUNDS);
- }
- if (input == null) {
- throw (0, _primordials.NativeTypeError)(_messages.CANNOT_CONVERT_UNDEFINED_OR_NULL_TO_OBJECT);
- }
- if ((0, _is.isNativeBigIntTypedArray)(input)) {
- throw (0, _primordials.NativeTypeError)(_messages.CANNOT_MIX_BIGINT_AND_OTHER_TYPES);
- }
- if (isFloat16Array(input)) {
- return (0, _primordials.TypedArrayPrototypeSet)(getFloat16BitsArray(this), getFloat16BitsArray(input), targetOffset);
- }
- if ((0, _is.isNativeTypedArray)(input)) {
- const buffer = (0, _primordials.TypedArrayPrototypeGetBuffer)(input);
- if ((0, _spec.IsDetachedBuffer)(buffer)) {
- throw (0, _primordials.NativeTypeError)(_messages.ATTEMPTING_TO_ACCESS_DETACHED_ARRAYBUFFER);
- }
- }
- const targetLength = (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray);
- const src = (0, _primordials.NativeObject)(input);
- const srcLength = (0, _spec.ToLength)(src.length);
- if (targetOffset === Infinity || srcLength + targetOffset > targetLength) {
- throw (0, _primordials.NativeRangeError)(_messages.OFFSET_IS_OUT_OF_BOUNDS);
- }
- for (let i = 0; i < srcLength; ++i) {
- float16bitsArray[i + targetOffset] = (0, _converter.roundToFloat16Bits)(src[i]);
- }
- }
- reverse() {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- (0, _primordials.TypedArrayPrototypeReverse)(float16bitsArray);
- return this;
- }
- toReversed() {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- const uint16 = new _primordials.NativeUint16Array((0, _primordials.TypedArrayPrototypeGetBuffer)(float16bitsArray), (0, _primordials.TypedArrayPrototypeGetByteOffset)(float16bitsArray), (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray));
- const cloned = new Float16Array((0, _primordials.TypedArrayPrototypeGetBuffer)((0, _primordials.TypedArrayPrototypeSlice)(uint16)));
- const clonedFloat16bitsArray = getFloat16BitsArray(cloned);
- (0, _primordials.TypedArrayPrototypeReverse)(clonedFloat16bitsArray);
- return cloned;
- }
- fill(value, ...opts) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- (0, _primordials.TypedArrayPrototypeFill)(float16bitsArray, (0, _converter.roundToFloat16Bits)(value), ...(0, _arrayIterator.safeIfNeeded)(opts));
- return this;
- }
- copyWithin(target, start, ...opts) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- (0, _primordials.TypedArrayPrototypeCopyWithin)(float16bitsArray, target, start, ...(0, _arrayIterator.safeIfNeeded)(opts));
- return this;
- }
- sort(compareFn) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- const sortCompare = compareFn !== undefined ? compareFn : _spec.defaultCompare;
- (0, _primordials.TypedArrayPrototypeSort)(float16bitsArray, (x, y) => {
- return sortCompare((0, _converter.convertToNumber)(x), (0, _converter.convertToNumber)(y));
- });
- return this;
- }
- toSorted(compareFn) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- if (compareFn !== undefined && typeof compareFn !== "function") {
- throw new _primordials.NativeTypeError(_messages.THE_COMPARISON_FUNCTION_MUST_BE_EITHER_A_FUNCTION_OR_UNDEFINED);
- }
- const sortCompare = compareFn !== undefined ? compareFn : _spec.defaultCompare;
- const uint16 = new _primordials.NativeUint16Array((0, _primordials.TypedArrayPrototypeGetBuffer)(float16bitsArray), (0, _primordials.TypedArrayPrototypeGetByteOffset)(float16bitsArray), (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray));
- const cloned = new Float16Array((0, _primordials.TypedArrayPrototypeGetBuffer)((0, _primordials.TypedArrayPrototypeSlice)(uint16)));
- const clonedFloat16bitsArray = getFloat16BitsArray(cloned);
- (0, _primordials.TypedArrayPrototypeSort)(clonedFloat16bitsArray, (x, y) => {
- return sortCompare((0, _converter.convertToNumber)(x), (0, _converter.convertToNumber)(y));
- });
- return cloned;
- }
- slice(start, end) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- const Constructor = (0, _spec.SpeciesConstructor)(float16bitsArray, Float16Array);
- if (Constructor === Float16Array) {
- const uint16 = new _primordials.NativeUint16Array((0, _primordials.TypedArrayPrototypeGetBuffer)(float16bitsArray), (0, _primordials.TypedArrayPrototypeGetByteOffset)(float16bitsArray), (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray));
- return new Float16Array((0, _primordials.TypedArrayPrototypeGetBuffer)((0, _primordials.TypedArrayPrototypeSlice)(uint16, start, end)));
- }
- const length = (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray);
- const relativeStart = (0, _spec.ToIntegerOrInfinity)(start);
- const relativeEnd = end === undefined ? length : (0, _spec.ToIntegerOrInfinity)(end);
- let k;
- if (relativeStart === -Infinity) {
- k = 0;
- } else if (relativeStart < 0) {
- k = length + relativeStart > 0 ? length + relativeStart : 0;
- } else {
- k = length < relativeStart ? length : relativeStart;
- }
- let final;
- if (relativeEnd === -Infinity) {
- final = 0;
- } else if (relativeEnd < 0) {
- final = length + relativeEnd > 0 ? length + relativeEnd : 0;
- } else {
- final = length < relativeEnd ? length : relativeEnd;
- }
- const count = final - k > 0 ? final - k : 0;
- const array = new Constructor(count);
- assertSpeciesTypedArray(array, count);
- if (count === 0) {
- return array;
- }
- const buffer = (0, _primordials.TypedArrayPrototypeGetBuffer)(float16bitsArray);
- if ((0, _spec.IsDetachedBuffer)(buffer)) {
- throw (0, _primordials.NativeTypeError)(_messages.ATTEMPTING_TO_ACCESS_DETACHED_ARRAYBUFFER);
- }
- let n = 0;
- while (k < final) {
- array[n] = (0, _converter.convertToNumber)(float16bitsArray[k]);
- ++k;
- ++n;
- }
- return array;
- }
- subarray(begin, end) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- const Constructor = (0, _spec.SpeciesConstructor)(float16bitsArray, Float16Array);
- const uint16 = new _primordials.NativeUint16Array((0, _primordials.TypedArrayPrototypeGetBuffer)(float16bitsArray), (0, _primordials.TypedArrayPrototypeGetByteOffset)(float16bitsArray), (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray));
- const uint16Subarray = (0, _primordials.TypedArrayPrototypeSubarray)(uint16, begin, end);
- const array = new Constructor((0, _primordials.TypedArrayPrototypeGetBuffer)(uint16Subarray), (0, _primordials.TypedArrayPrototypeGetByteOffset)(uint16Subarray), (0, _primordials.TypedArrayPrototypeGetLength)(uint16Subarray));
- assertSpeciesTypedArray(array);
- return array;
- }
- indexOf(element, ...opts) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- const length = (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray);
- let from = (0, _spec.ToIntegerOrInfinity)(opts[0]);
- if (from === Infinity) {
- return -1;
- }
- if (from < 0) {
- from += length;
- if (from < 0) {
- from = 0;
- }
- }
- for (let i = from; i < length; ++i) {
- if ((0, _primordials.ObjectHasOwn)(float16bitsArray, i) && (0, _converter.convertToNumber)(float16bitsArray[i]) === element) {
- return i;
- }
- }
- return -1;
- }
- lastIndexOf(element, ...opts) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- const length = (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray);
- let from = opts.length >= 1 ? (0, _spec.ToIntegerOrInfinity)(opts[0]) : length - 1;
- if (from === -Infinity) {
- return -1;
- }
- if (from >= 0) {
- from = from < length - 1 ? from : length - 1;
- } else {
- from += length;
- }
- for (let i = from; i >= 0; --i) {
- if ((0, _primordials.ObjectHasOwn)(float16bitsArray, i) && (0, _converter.convertToNumber)(float16bitsArray[i]) === element) {
- return i;
- }
- }
- return -1;
- }
- includes(element, ...opts) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- const length = (0, _primordials.TypedArrayPrototypeGetLength)(float16bitsArray);
- let from = (0, _spec.ToIntegerOrInfinity)(opts[0]);
- if (from === Infinity) {
- return false;
- }
- if (from < 0) {
- from += length;
- if (from < 0) {
- from = 0;
- }
- }
- const isNaN = (0, _primordials.NumberIsNaN)(element);
- for (let i = from; i < length; ++i) {
- const value = (0, _converter.convertToNumber)(float16bitsArray[i]);
- if (isNaN && (0, _primordials.NumberIsNaN)(value)) {
- return true;
- }
- if (value === element) {
- return true;
- }
- }
- return false;
- }
- join(separator) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- const array = copyToArray(float16bitsArray);
- return (0, _primordials.ArrayPrototypeJoin)(array, separator);
- }
- toLocaleString(...opts) {
- assertFloat16Array(this);
- const float16bitsArray = getFloat16BitsArray(this);
- const array = copyToArray(float16bitsArray);
- return (0, _primordials.ArrayPrototypeToLocaleString)(array, ...(0, _arrayIterator.safeIfNeeded)(opts));
- }
- get [_primordials.SymbolToStringTag]() {
- if (isFloat16Array(this)) {
- return "Float16Array";
- }
- }
- }
- exports.Float16Array = Float16Array;
- (0, _primordials.ObjectDefineProperty)(Float16Array, "BYTES_PER_ELEMENT", {
- value: BYTES_PER_ELEMENT
- });
- (0, _primordials.ObjectDefineProperty)(Float16Array, _brand.brand, {});
- (0, _primordials.ReflectSetPrototypeOf)(Float16Array, _primordials.TypedArray);
- const Float16ArrayPrototype = Float16Array.prototype;
- (0, _primordials.ObjectDefineProperty)(Float16ArrayPrototype, "BYTES_PER_ELEMENT", {
- value: BYTES_PER_ELEMENT
- });
- (0, _primordials.ObjectDefineProperty)(Float16ArrayPrototype, _primordials.SymbolIterator, {
- value: Float16ArrayPrototype.values,
- writable: true,
- configurable: true
- });
- (0, _primordials.ReflectSetPrototypeOf)(Float16ArrayPrototype, _primordials.TypedArrayPrototype);
|