| if (!Int32Array.__proto__.from) { |
| Object.defineProperty(Int32Array.__proto__, 'from', { |
| value: function(obj) { |
| obj = Object(obj); |
| if (!obj['length']) { |
| return new this(0); |
| } |
| var typed_array = new this(obj.length); |
| for(var i = 0; i < typed_array.length; i++) { |
| typed_array[i] = obj[i]; |
| } |
| return typed_array; |
| } |
| }); |
| } |
| |
| if (!Array.prototype.copyWithin) { |
| Array.prototype.copyWithin = function(target, start, end) { |
| var O = Object(this); |
| var len = O.length >>> 0; |
| var to = target | 0; |
| var from = start | 0; |
| var count = Math.min(Math.min(end | 0, len) - from, len - to); |
| var direction = 1; |
| if (from < to && to < (from + count)) { |
| direction = -1; |
| from += count - 1; |
| to += count - 1; |
| } |
| while (count > 0) { |
| O[to] = O[from]; |
| from += direction; |
| to += direction; |
| count--; |
| } |
| return O; |
| }; |
| } |
| |
| if (!Array.prototype.fill) { |
| Object.defineProperty(Array.prototype, 'fill', { |
| value: function(value, start, end) { |
| end = end | 0; |
| var O = Object(this); |
| var k = start | 0; |
| while (k < end) { |
| O[k] = value; |
| k++; |
| } |
| return O; |
| } |
| }); |
| } |
| |
| if (!Int8Array.prototype.copyWithin) { |
| Int8Array.prototype.copyWithin = Array.prototype.copyWithin; |
| } |
| |
| if (!Int8Array.prototype.fill) { |
| Int8Array.prototype.fill = Array.prototype.fill; |
| } |
| |
| if (!Int32Array.prototype.fill) { |
| Int32Array.prototype.fill = Array.prototype.fill; |
| } |