Socket
Socket
Sign inDemoInstall

@petamoriken/float16

Package Overview
Dependencies
Maintainers
1
Versions
68
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@petamoriken/float16 - npm Package Compare versions

Comparing version 1.0.0 to 1.0.1

nightwatch_custom/customSauceEnd.js

16

browser/float16.js
(function (exports) {
'use strict';
// ftp://ftp.fox-toolkit.org/pub/fasthalffloatconversion.pdf
const buffer = new ArrayBuffer(4);

@@ -55,3 +57,2 @@ const floatView = new Float32Array(buffer);

* @param {number} num
* @see {@link ftp://ftp.fox-toolkit.org/pub/fasthalffloatconversion.pdf}
*/

@@ -117,3 +118,2 @@ function roundToFloat16Bits(num) {

* @param {number} h - half float number bits
* @see {@link ftp://ftp.fox-toolkit.org/pub/fasthalffloatconversion.pdf}
*/

@@ -1140,5 +1140,5 @@ function convertNumber(h) {

// Chakra bug: https://github.com/Microsoft/ChakraCore/issues/1662
// Chakra (Edge <= 14) bug: https://github.com/Microsoft/ChakraCore/issues/1662
const proxy = new Proxy({}, {});
const isProxyEnableToBeWeakMapKey = new WeakMap().set(proxy, 1).get(proxy) === 1;
const isProxyAbleToBeWeakMapKey = new WeakMap().set(proxy, 1).get(proxy) === 1;

@@ -1203,3 +1203,3 @@ const _ = createPrivateStorage();

if(isFloat16Array(thisArg) && isDefaultFloat16ArrayMethods(func))
return Reflect.apply(func, isProxyEnableToBeWeakMapKey ? _(thisArg).target : thisArg[__target__], args);
return Reflect.apply(func, isProxyAbleToBeWeakMapKey ? _(thisArg).target : thisArg[__target__], args);

@@ -1266,3 +1266,3 @@ return Reflect.apply(func, thisArg, args);

if(isFloat16Array(input)) {
super(isProxyEnableToBeWeakMapKey ? _(input).target : input[__target__]);
super(isProxyAbleToBeWeakMapKey ? _(input).target : input[__target__]);

@@ -1313,3 +1313,3 @@ // 22.2.1.3, 22.2.1.4 TypedArray, Array, ArrayLike, Iterable

// proxy private storage
if(isProxyEnableToBeWeakMapKey) {
if(isProxyAbleToBeWeakMapKey) {
_(proxy).target = this;

@@ -1506,3 +1506,3 @@ } else {

if(isFloat16Array(input)) {
float16bits = isProxyEnableToBeWeakMapKey ? _(input).target : input[__target__];
float16bits = isProxyAbleToBeWeakMapKey ? _(input).target : input[__target__];

@@ -1509,0 +1509,0 @@ // input others

"use strict";
// JavaScriptCore bug: https://bugs.webkit.org/show_bug.cgi?id=171606
Object.defineProperty(exports, "__esModule", {
value: true
});
// JavaScriptCore bug: https://bugs.webkit.org/show_bug.cgi?id=171606
const isTypedArrayIndexedPropertyWritable = exports.isTypedArrayIndexedPropertyWritable = Object.getOwnPropertyDescriptor(new Uint8Array(1), 0).writable;
var isTypedArrayIndexedPropertyWritable = exports.isTypedArrayIndexedPropertyWritable = Object.getOwnPropertyDescriptor(new Uint8Array(1), 0).writable;
// Chakra bug: https://github.com/Microsoft/ChakraCore/issues/1662
const proxy = new Proxy({}, {});
const isProxyEnableToBeWeakMapKey = exports.isProxyEnableToBeWeakMapKey = new WeakMap().set(proxy, 1).get(proxy) === 1;
// Chakra (Edge <= 14) bug: https://github.com/Microsoft/ChakraCore/issues/1662
var proxy = new Proxy({}, {});
var isProxyAbleToBeWeakMapKey = exports.isProxyAbleToBeWeakMapKey = new WeakMap().set(proxy, 1).get(proxy) === 1;

@@ -27,5 +27,5 @@ "use strict";

const _ = (0, _private.createPrivateStorage)();
var _ = (0, _private.createPrivateStorage)();
const __target__ = Symbol("target");
var __target__ = Symbol("target");

@@ -47,6 +47,6 @@ function isFloat16Array(target) {

function copyToArray(float16bits) {
const length = float16bits.length;
var length = float16bits.length;
const array = new Array(length);
for (let i = 0; i < length; ++i) {
var array = new Array(length);
for (var i = 0; i < length; ++i) {
array[i] = (0, _lib.convertNumber)(float16bits[i]);

@@ -59,5 +59,5 @@ }

// proxy handler
const handler = {
var handler = {
get(target, key) {
let wrapper = null;
var wrapper = null;
if (!_bug.isTypedArrayIndexedPropertyWritable) {

@@ -71,3 +71,3 @@ wrapper = target;

} else {
const ret = wrapper !== null && Reflect.has(wrapper, key) ? Reflect.get(wrapper, key) : Reflect.get(target, key);
var ret = wrapper !== null && Reflect.has(wrapper, key) ? Reflect.get(wrapper, key) : Reflect.get(target, key);

@@ -77,3 +77,3 @@ if (typeof ret !== "function") return ret;

// TypedArray methods can't be called by Proxy
let proxy = _(ret).proxy;
var proxy = _(ret).proxy;

@@ -85,3 +85,3 @@ if (proxy === undefined) {

// peel off proxy
if (isFloat16Array(thisArg) && isDefaultFloat16ArrayMethods(func)) return Reflect.apply(func, _bug.isProxyEnableToBeWeakMapKey ? _(thisArg).target : thisArg[__target__], args);
if (isFloat16Array(thisArg) && isDefaultFloat16ArrayMethods(func)) return Reflect.apply(func, _bug.isProxyAbleToBeWeakMapKey ? _(thisArg).target : thisArg[__target__], args);

@@ -98,3 +98,3 @@ return Reflect.apply(func, thisArg, args);

set(target, key, value) {
let wrapper = null;
var wrapper = null;
if (!_bug.isTypedArrayIndexedPropertyWritable) {

@@ -123,7 +123,7 @@ wrapper = target;

handler.defineProperty = (wrapper, key, descriptor) => {
const target = _(wrapper).target;
var target = _(wrapper).target;
return !Reflect.has(target, key) || Object.isFrozen(wrapper) ? Reflect.defineProperty(wrapper, key, descriptor) : Reflect.defineProperty(target, key, descriptor);
};
handler.deleteProperty = (wrapper, key) => {
const target = _(wrapper).target;
var target = _(wrapper).target;
return Reflect.has(wrapper, key) ? Reflect.deleteProperty(wrapper, key) : Reflect.deleteProperty(target, key);

@@ -147,3 +147,3 @@ };

if (isFloat16Array(input)) {
super(_bug.isProxyEnableToBeWeakMapKey ? _(input).target : input[__target__]);
super(_bug.isProxyAbleToBeWeakMapKey ? _(input).target : input[__target__]);

@@ -153,8 +153,8 @@ // 22.2.1.3, 22.2.1.4 TypedArray, Array, ArrayLike, Iterable

// if input is Iterable, get Array
const array = (0, _is.isArrayLike)(input) ? input : [...input];
var array = (0, _is.isArrayLike)(input) ? input : [...input];
const length = array.length;
super(length);
var _length = array.length;
super(_length);
for (let i = 0; i < length; ++i) {
for (var i = 0; i < _length; ++i) {
// super (Uint16Array)

@@ -184,3 +184,3 @@ this[i] = (0, _lib.roundToFloat16Bits)(array[i]);

let proxy;
var proxy = void 0;

@@ -190,3 +190,3 @@ if (_bug.isTypedArrayIndexedPropertyWritable) {

} else {
const wrapper = Object.create(null);
var wrapper = Object.create(null);
_(wrapper).target = this;

@@ -197,3 +197,3 @@ proxy = new Proxy(wrapper, handler);

// proxy private storage
if (_bug.isProxyEnableToBeWeakMapKey) {
if (_bug.isProxyAbleToBeWeakMapKey) {
_(proxy).target = this;

@@ -214,4 +214,4 @@ } else {

const mapFunc = arguments.length <= 1 ? undefined : arguments[1];
const thisArg = arguments.length <= 2 ? undefined : arguments[2];
var mapFunc = arguments.length <= 1 ? undefined : arguments[1];
var thisArg = arguments.length <= 2 ? undefined : arguments[2];

@@ -243,3 +243,3 @@ return new Float16Array(Uint16Array.from(src, function (val) {

for (var _iterator = super[Symbol.iterator]()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
const val = _step.value;
var val = _step.value;

@@ -275,3 +275,3 @@ yield (0, _lib.convertNumber)(val);

for (var _iterator2 = super.values()[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
const val = _step2.value;
var val = _step2.value;

@@ -303,8 +303,8 @@ yield (0, _lib.convertNumber)(val);

for (var _iterator3 = super.entries()[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
const _ref = _step3.value;
var _ref = _step3.value;
var _ref2 = (0, _slicedToArray3.default)(_ref, 2);
const i = _ref2[0];
const val = _ref2[1];
var i = _ref2[0];
var val = _ref2[1];

@@ -333,7 +333,7 @@ yield [i, (0, _lib.convertNumber)(val)];

const thisArg = arguments.length <= 1 ? undefined : arguments[1];
var thisArg = arguments.length <= 1 ? undefined : arguments[1];
const array = [];
for (let i = 0, l = this.length; i < l; ++i) {
const val = (0, _lib.convertNumber)(this[i]);
var array = [];
for (var i = 0, l = this.length; i < l; ++i) {
var val = (0, _lib.convertNumber)(this[i]);
array.push(callback.call(thisArg, val, i, _(this).proxy));

@@ -348,7 +348,7 @@ }

const thisArg = arguments.length <= 1 ? undefined : arguments[1];
var thisArg = arguments.length <= 1 ? undefined : arguments[1];
const array = [];
for (let i = 0, l = this.length; i < l; ++i) {
const val = (0, _lib.convertNumber)(this[i]);
var array = [];
for (var i = 0, l = this.length; i < l; ++i) {
var val = (0, _lib.convertNumber)(this[i]);

@@ -364,3 +364,4 @@ if (callback.call(thisArg, val, i, _(this).proxy)) array.push(val);

let val, start;
var val = void 0,
start = void 0;

@@ -375,3 +376,3 @@ if ((arguments.length <= 1 ? 0 : arguments.length - 1) === 0) {

for (let i = start, l = this.length; i < l; ++i) {
for (var i = start, l = this.length; i < l; ++i) {
val = callback(val, (0, _lib.convertNumber)(this[i]), i, _(this).proxy);

@@ -386,5 +387,6 @@ }

let val, start;
var val = void 0,
start = void 0;
const length = this.length;
var length = this.length;
if ((arguments.length <= 1 ? 0 : arguments.length - 1) === 0) {

@@ -398,3 +400,3 @@ val = (0, _lib.convertNumber)(this[length - 1]);

for (let i = start; i--;) {
for (var i = start; i--;) {
val = callback(val, (0, _lib.convertNumber)(this[i]), i, _(this).proxy);

@@ -409,5 +411,5 @@ }

const thisArg = arguments.length <= 1 ? undefined : arguments[1];
var thisArg = arguments.length <= 1 ? undefined : arguments[1];
for (let i = 0, l = this.length; i < l; ++i) {
for (var i = 0, l = this.length; i < l; ++i) {
callback.call(thisArg, (0, _lib.convertNumber)(this[i]), i, _(this).proxy);

@@ -420,6 +422,6 @@ }

const thisArg = arguments.length <= 1 ? undefined : arguments[1];
var thisArg = arguments.length <= 1 ? undefined : arguments[1];
for (let i = 0, l = this.length; i < l; ++i) {
const value = (0, _lib.convertNumber)(this[i]);
for (var i = 0, l = this.length; i < l; ++i) {
var value = (0, _lib.convertNumber)(this[i]);
if (callback.call(thisArg, value, i, _(this).proxy)) return value;

@@ -432,6 +434,6 @@ }

const thisArg = arguments.length <= 1 ? undefined : arguments[1];
var thisArg = arguments.length <= 1 ? undefined : arguments[1];
for (let i = 0, l = this.length; i < l; ++i) {
const value = (0, _lib.convertNumber)(this[i]);
for (var i = 0, l = this.length; i < l; ++i) {
var value = (0, _lib.convertNumber)(this[i]);
if (callback.call(thisArg, value, i, _(this).proxy)) return i;

@@ -446,5 +448,5 @@ }

const thisArg = arguments.length <= 1 ? undefined : arguments[1];
var thisArg = arguments.length <= 1 ? undefined : arguments[1];
for (let i = 0, l = this.length; i < l; ++i) {
for (var i = 0, l = this.length; i < l; ++i) {
if (!callback.call(thisArg, (0, _lib.convertNumber)(this[i]), i, _(this).proxy)) return false;

@@ -459,5 +461,5 @@ }

const thisArg = arguments.length <= 1 ? undefined : arguments[1];
var thisArg = arguments.length <= 1 ? undefined : arguments[1];
for (let i = 0, l = this.length; i < l; ++i) {
for (var i = 0, l = this.length; i < l; ++i) {
if (callback.call(thisArg, (0, _lib.convertNumber)(this[i]), i, _(this).proxy)) return true;

@@ -473,17 +475,17 @@ }

const offset = arguments.length <= 1 ? undefined : arguments[1];
var offset = arguments.length <= 1 ? undefined : arguments[1];
let float16bits;
var float16bits = void 0;
// input Float16Array
if (isFloat16Array(input)) {
float16bits = _bug.isProxyEnableToBeWeakMapKey ? _(input).target : input[__target__];
float16bits = _bug.isProxyAbleToBeWeakMapKey ? _(input).target : input[__target__];
// input others
} else {
const array = (0, _is.isArrayLike)(input) ? input : [...input];
const length = array.length;
var array = (0, _is.isArrayLike)(input) ? input : [...input];
var length = array.length;
float16bits = new Uint16Array(length);
for (let i = 0, l = array.length; i < l; ++i) {
for (var i = 0, l = array.length; i < l; ++i) {
float16bits[i] = (0, _lib.roundToFloat16Bits)(array[i]);

@@ -531,3 +533,3 @@ }

let compareFunction = arguments.length <= 0 ? undefined : arguments[0];
var compareFunction = arguments.length <= 0 ? undefined : arguments[0];

@@ -538,3 +540,3 @@ if (compareFunction === undefined) {

const _convertNumber = (0, _memoize2.default)(_lib.convertNumber);
var _convertNumber = (0, _memoize2.default)(_lib.convertNumber);

@@ -550,3 +552,3 @@ super.sort((x, y) => compareFunction(_convertNumber(x), _convertNumber(y)));

let float16bits;
var float16bits = void 0;

@@ -558,3 +560,3 @@ // V8, SpiderMonkey, JavaScriptCore throw TypeError

if (e instanceof TypeError) {
const uint16 = new Uint16Array(this.buffer, this.byteOffset, this.length);
var uint16 = new Uint16Array(this.buffer, this.byteOffset, this.length);
float16bits = uint16.slice(...arguments);

@@ -572,3 +574,3 @@ } else {

let float16bits;
var float16bits = void 0;

@@ -580,3 +582,3 @@ // SpiderMonkey, JavaScriptCore throw TypeError

if (e instanceof TypeError) {
const uint16 = new Uint16Array(this.buffer, this.byteOffset, this.length);
var uint16 = new Uint16Array(this.buffer, this.byteOffset, this.length);
float16bits = uint16.subarray(...arguments);

@@ -595,5 +597,5 @@ } else {

const length = this.length;
var length = this.length;
let from = (0, _spec.ToInteger)(arguments.length <= 1 ? undefined : arguments[1]);
var from = (0, _spec.ToInteger)(arguments.length <= 1 ? undefined : arguments[1]);

@@ -605,3 +607,3 @@ if (from < 0) {

for (let i = from, l = length; i < l; ++i) {
for (var i = from, l = length; i < l; ++i) {
if ((0, _lib.convertNumber)(this[i]) === element) return i;

@@ -616,5 +618,5 @@ }

const length = this.length;
var length = this.length;
let from = (0, _spec.ToInteger)(arguments.length <= 1 ? undefined : arguments[1]);
var from = (0, _spec.ToInteger)(arguments.length <= 1 ? undefined : arguments[1]);

@@ -629,3 +631,3 @@ from = from === 0 ? length : from + 1;

for (let i = from; i--;) {
for (var i = from; i--;) {
if ((0, _lib.convertNumber)(this[i]) === element) return i;

@@ -640,5 +642,5 @@ }

const length = this.length;
var length = this.length;
let from = (0, _spec.ToInteger)(arguments.length <= 1 ? undefined : arguments[1]);
var from = (0, _spec.ToInteger)(arguments.length <= 1 ? undefined : arguments[1]);

@@ -650,5 +652,5 @@ if (from < 0) {

const isNaN = Number.isNaN(element);
for (let i = from, l = length; i < l; ++i) {
const value = (0, _lib.convertNumber)(this[i]);
var isNaN = Number.isNaN(element);
for (var i = from, l = length; i < l; ++i) {
var value = (0, _lib.convertNumber)(this[i]);

@@ -667,3 +669,3 @@ if (isNaN && Number.isNaN(value)) return true;

const array = copyToArray(this);
var array = copyToArray(this);

@@ -676,3 +678,3 @@ return array.join(...arguments);

const array = copyToArray(this);
var array = copyToArray(this);

@@ -689,5 +691,5 @@ return array.toLocaleString(...arguments);

exports.default = Float16Array;
const Float16Array$prototype = Float16Array.prototype;
var Float16Array$prototype = Float16Array.prototype;
const defaultFloat16ArrayMethods = new WeakSet();
var defaultFloat16ArrayMethods = new WeakSet();
var _iteratorNormalCompletion4 = true;

@@ -699,5 +701,5 @@ var _didIteratorError4 = false;

for (var _iterator4 = Reflect.ownKeys(Float16Array$prototype)[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
const key = _step4.value;
var key = _step4.value;
const val = Float16Array$prototype[key];
var val = Float16Array$prototype[key];
if (typeof val === "function") defaultFloat16ArrayMethods.add(val);

@@ -704,0 +706,0 @@ }

@@ -22,5 +22,5 @@ "use strict";

const x16 = (0, _lib.roundToFloat16Bits)(num);
var x16 = (0, _lib.roundToFloat16Bits)(num);
return (0, _lib.convertNumber)(x16);
}
module.exports = exports["default"];

@@ -0,1 +1,3 @@

// ftp://ftp.fox-toolkit.org/pub/fasthalffloatconversion.pdf
"use strict";

@@ -8,11 +10,11 @@

exports.convertNumber = convertNumber;
const buffer = new ArrayBuffer(4);
const floatView = new Float32Array(buffer);
const uint32View = new Uint32Array(buffer);
var buffer = new ArrayBuffer(4);
var floatView = new Float32Array(buffer);
var uint32View = new Uint32Array(buffer);
const baseTable = new Uint32Array(512);
const shiftTable = new Uint32Array(512);
var baseTable = new Uint32Array(512);
var shiftTable = new Uint32Array(512);
for (let i = 0; i < 256; ++i) {
const e = i - 127;
for (var i = 0; i < 256; ++i) {
var e = i - 127;

@@ -59,3 +61,2 @@ // very small number (0, -0)

* @param {number} num
* @see {@link ftp://ftp.fox-toolkit.org/pub/fasthalffloatconversion.pdf}
*/

@@ -65,20 +66,20 @@ function roundToFloat16Bits(num) {

const f = uint32View[0];
const e = f >> 23 & 0x1ff;
var f = uint32View[0];
var e = f >> 23 & 0x1ff;
return baseTable[e] + ((f & 0x007fffff) >> shiftTable[e]);
}
const mantissaTable = new Uint32Array(2048);
const exponentTable = new Uint32Array(64);
const offsetTable = new Uint32Array(64);
var mantissaTable = new Uint32Array(2048);
var exponentTable = new Uint32Array(64);
var offsetTable = new Uint32Array(64);
// mantissa
mantissaTable[0] = 0;
for (let i = 1; i < 1024; ++i) {
let m = i << 13; // zero pad mantissa bits
let e = 0; // zero exponent
for (var _i = 1; _i < 1024; ++_i) {
var m = _i << 13; // zero pad mantissa bits
var _e = 0; // zero exponent
// normalized
while ((m & 0x00800000) === 0) {
e -= 0x00800000; // decrement exponent
_e -= 0x00800000; // decrement exponent
m <<= 1;

@@ -88,8 +89,8 @@ }

m &= ~0x00800000; // clear leading 1 bit
e += 0x38800000; // adjust bias
_e += 0x38800000; // adjust bias
mantissaTable[i] = m | e;
mantissaTable[_i] = m | _e;
}
for (let i = 1024; i < 2048; ++i) {
mantissaTable[i] = 0x38000000 + (i - 1024 << 13);
for (var _i2 = 1024; _i2 < 2048; ++_i2) {
mantissaTable[_i2] = 0x38000000 + (_i2 - 1024 << 13);
}

@@ -99,9 +100,9 @@

exponentTable[0] = 0;
for (let i = 1; i < 31; ++i) {
exponentTable[i] = i << 23;
for (var _i3 = 1; _i3 < 31; ++_i3) {
exponentTable[_i3] = _i3 << 23;
}
exponentTable[31] = 0x47800000;
exponentTable[32] = 0x80000000;
for (let i = 33; i < 63; ++i) {
exponentTable[i] = 0x80000000 + (i - 32 << 23);
for (var _i4 = 33; _i4 < 63; ++_i4) {
exponentTable[_i4] = 0x80000000 + (_i4 - 32 << 23);
}

@@ -112,7 +113,7 @@ exponentTable[63] = 0xc7800000;

offsetTable[0] = 0;
for (let i = 1; i < 64; ++i) {
if (i === 32) {
offsetTable[i] = 0;
for (var _i5 = 1; _i5 < 64; ++_i5) {
if (_i5 === 32) {
offsetTable[_i5] = 0;
} else {
offsetTable[i] = 1024;
offsetTable[_i5] = 1024;
}

@@ -124,8 +125,7 @@ }

* @param {number} h - half float number bits
* @see {@link ftp://ftp.fox-toolkit.org/pub/fasthalffloatconversion.pdf}
*/
function convertNumber(h) {
const m = h >> 10;
var m = h >> 10;
uint32View[0] = mantissaTable[offsetTable[m] + (h & 0x3ff)] + exponentTable[m];
return floatView[0];
}

@@ -8,5 +8,5 @@ "use strict";

function createPrivateStorage() {
const wm = new WeakMap();
var wm = new WeakMap();
return self => {
let obj = wm.get(self);
var obj = wm.get(self);
if (obj) {

@@ -13,0 +13,0 @@ return obj;

@@ -18,5 +18,5 @@ "use strict";

function defaultCompareFunction(x, y) {
var _ref = [Number.isNaN(x), Number.isNaN(y)];
const isNaN_x = _ref[0],
isNaN_y = _ref[1];
var _ref = [Number.isNaN(x), Number.isNaN(y)],
isNaN_x = _ref[0],
isNaN_y = _ref[1];

@@ -35,5 +35,5 @@

if (x === 0 && y === 0) {
var _ref2 = [(0, _is.isPlusZero)(x), (0, _is.isPlusZero)(y)];
const isPlusZero_x = _ref2[0],
isPlusZero_y = _ref2[1];
var _ref2 = [(0, _is.isPlusZero)(x), (0, _is.isPlusZero)(y)],
isPlusZero_x = _ref2[0],
isPlusZero_y = _ref2[1];

@@ -40,0 +40,0 @@

{
"name": "@petamoriken/float16",
"description": "half precision floating point for JavaScript",
"version": "1.0.0",
"version": "1.0.1",
"main": "lib/index.js",

@@ -29,3 +29,4 @@ "jsnext:main": "src/index.js",

"browser",
"test"
"test",
"nightwatch_custom"
],

@@ -54,3 +55,3 @@ "keywords": [

"test:lib": "mocha",
"test:browser": "nightwatch -e chrome,chrome_old,firefox,firefox_old,edge,safari,safari_el",
"test-browser": "nightwatch -e chrome,chrome_old,firefox,firefox_old,edge,safari,safari_el",
"clean": "rm -rf lib browser docs/test/*.css docs/test/*.js docs/test/*.map",

@@ -57,0 +58,0 @@ "refresh": "yarn run clean && yarn run build && yarn run docs",

# float16
half precision floating point for JavaScript
half precision floating point for JavaScript.
see [ES Discuss Float16Array topic](https://esdiscuss.org/topic/float16array).

@@ -116,4 +117,6 @@ [![license](https://img.shields.io/npm/l/@petamoriken/float16.svg?style=flat-square)](https://github.com/petamoriken/float16/blob/master/LICENSE)

Export your Sauce Labs environment variable.
Access [test page](https://petamoriken.github.io/float16/test) ([PowerAssert version](https://petamoriken.github.io/float16/test/power)).
If you want to test in [Sauce Labs](https://saucelabs.com/), export environment variables.
```console

@@ -124,6 +127,12 @@ export SAUCE_USERNAME=<your Sauce Labs username>

(optional) Export a test page URL (default: https://petamoriken.github.io/float16/test/power).
```console
export SAUCE_URL=<browser test url>
```
Finally, exec below.
```console
yarn run test:browser
yarn run test-browser
```

@@ -0,6 +1,8 @@

"use strict";
// JavaScriptCore bug: https://bugs.webkit.org/show_bug.cgi?id=171606
export const isTypedArrayIndexedPropertyWritable = Object.getOwnPropertyDescriptor(new Uint8Array(1), 0).writable;
// Chakra bug: https://github.com/Microsoft/ChakraCore/issues/1662
// Chakra (Edge <= 14) bug: https://github.com/Microsoft/ChakraCore/issues/1662
const proxy = new Proxy({}, {});
export const isProxyEnableToBeWeakMapKey = new WeakMap().set(proxy, 1).get(proxy) === 1;
export const isProxyAbleToBeWeakMapKey = new WeakMap().set(proxy, 1).get(proxy) === 1;

@@ -11,3 +11,3 @@ "use strict";

import { isTypedArrayIndexedPropertyWritable, isProxyEnableToBeWeakMapKey } from "./bug";
import { isTypedArrayIndexedPropertyWritable, isProxyAbleToBeWeakMapKey } from "./bug";

@@ -73,3 +73,3 @@

if(isFloat16Array(thisArg) && isDefaultFloat16ArrayMethods(func))
return Reflect.apply(func, isProxyEnableToBeWeakMapKey ? _(thisArg).target : thisArg[__target__], args);
return Reflect.apply(func, isProxyAbleToBeWeakMapKey ? _(thisArg).target : thisArg[__target__], args);

@@ -136,3 +136,3 @@ return Reflect.apply(func, thisArg, args);

if(isFloat16Array(input)) {
super(isProxyEnableToBeWeakMapKey ? _(input).target : input[__target__]);
super(isProxyAbleToBeWeakMapKey ? _(input).target : input[__target__]);

@@ -183,3 +183,3 @@ // 22.2.1.3, 22.2.1.4 TypedArray, Array, ArrayLike, Iterable

// proxy private storage
if(isProxyEnableToBeWeakMapKey) {
if(isProxyAbleToBeWeakMapKey) {
_(proxy).target = this;

@@ -376,3 +376,3 @@ } else {

if(isFloat16Array(input)) {
float16bits = isProxyEnableToBeWeakMapKey ? _(input).target : input[__target__];
float16bits = isProxyAbleToBeWeakMapKey ? _(input).target : input[__target__];

@@ -379,0 +379,0 @@ // input others

@@ -0,1 +1,3 @@

"use strict";
import hfround from "./hfround";

@@ -2,0 +4,0 @@ import Float16Array from "./Float16Array";

@@ -0,1 +1,3 @@

// ftp://ftp.fox-toolkit.org/pub/fasthalffloatconversion.pdf
"use strict";

@@ -54,3 +56,2 @@

* @param {number} num
* @see {@link ftp://ftp.fox-toolkit.org/pub/fasthalffloatconversion.pdf}
*/

@@ -116,3 +117,2 @@ export function roundToFloat16Bits(num) {

* @param {number} h - half float number bits
* @see {@link ftp://ftp.fox-toolkit.org/pub/fasthalffloatconversion.pdf}
*/

@@ -119,0 +119,0 @@ export function convertNumber(h) {

@@ -0,1 +1,3 @@

"use strict";
export function createPrivateStorage() {

@@ -2,0 +4,0 @@ const wm = new WeakMap();

@@ -0,1 +1,3 @@

"use strict";
import { isPlusZero } from "./is";

@@ -2,0 +4,0 @@

@@ -17,3 +17,3 @@ "use strict";

["browser test"](client) {
client.url("https://petamoriken.github.io/float16/test/power")
client.url(process.env.SAUCE_URL || "https://petamoriken.github.io/float16/test/power")
.pause(1000);

@@ -20,0 +20,0 @@

(function() {
const isTypedArrayIndexedPropertyWritable = Object.getOwnPropertyDescriptor(new Uint8Array(1), 0).writable;
const isProxyEnableToBeWeakMapKey = (function() {
const isProxyAbleToBeWeakMapKey = (function() {
const proxy = new Proxy({}, {});

@@ -183,3 +183,3 @@ return new WeakMap().set(proxy, 1).get(proxy) === 1;

it("check ownKeys", function() {
if(!isTypedArrayIndexedPropertyWritable || !isProxyEnableToBeWeakMapKey)
if(!isTypedArrayIndexedPropertyWritable || !isProxyAbleToBeWeakMapKey)
this.skip();

@@ -186,0 +186,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc