UNPKG

starling-framework

Version:

A fast, productive library for 2D cross-platform development.

134 lines (118 loc) 3.73 kB
// Class: js.html.compat.Float32Array var $global = typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this $global.Object.defineProperty(exports, "__esModule", {value: true}); var __map_reserved = {}; // Imports var $hxClasses = require("./../../../hxClasses_stub").default; var $import = require("./../../../import_stub").default; function js_html_compat_ArrayBuffer() {return require("./../../../js/html/compat/ArrayBuffer");} function Std() {return require("./../../../Std");} function haxe_io_FPHelper() {return require("./../../../haxe/io/FPHelper");} function js__$Boot_HaxeError() {return require("./../../../js/_Boot/HaxeError");} // Constructor var Float32Array = function(){} // Meta Float32Array.__name__ = ["js","html","compat","Float32Array"]; Float32Array.prototype = { }; Float32Array.prototype.__class__ = Float32Array.prototype.constructor = $hxClasses["js.html.compat.Float32Array"] = Float32Array; // Init var Float32Array = $global.Float32Array || Float32Array._new; // Statics Float32Array._new = function(arg1,offset,length) { var arr; if(typeof(arg1) == "number") { arr = []; var _g1 = 0; var _g = arg1; while(_g1 < _g) { var i = _g1++; arr[i] = 0; } arr.byteLength = arr.length << 2; arr.byteOffset = 0; var _g2 = []; var _g21 = 0; var _g11 = arr.length << 2; while(_g21 < _g11) { var i1 = _g21++; _g2.push(0); } arr.buffer = new (js_html_compat_ArrayBuffer().default)(_g2); } else if((Std().default)["is"](arg1,(js_html_compat_ArrayBuffer().default))) { var buffer = arg1; if(offset == null) { offset = 0; } if(length == null) { length = buffer.byteLength - offset >> 2; } arr = []; var _g12 = 0; var _g3 = length; while(_g12 < _g3) { var i2 = _g12++; var val = buffer.a[offset++] | buffer.a[offset++] << 8 | buffer.a[offset++] << 16 | buffer.a[offset++] << 24; arr.push((haxe_io_FPHelper().default).i32ToFloat(val)); } arr.byteLength = arr.length << 2; arr.byteOffset = offset; arr.buffer = buffer; } else if((arg1 instanceof Array) && arg1.__enum__ == null) { arr = arg1.slice(); var buffer1 = []; var _g4 = 0; while(_g4 < arr.length) { var f = arr[_g4]; ++_g4; var i3 = (haxe_io_FPHelper().default).floatToI32(f); buffer1.push(i3 & 255); buffer1.push(i3 >> 8 & 255); buffer1.push(i3 >> 16 & 255); buffer1.push(i3 >>> 24); } arr.byteLength = arr.length << 2; arr.byteOffset = 0; arr.buffer = new (js_html_compat_ArrayBuffer().default)(buffer1); } else { throw new (js__$Boot_HaxeError().default)("TODO " + (Std().default).string(arg1)); } arr.subarray = Float32Array._subarray; arr.set = Float32Array._set; return arr; } Float32Array._set = function(arg,offset) { if((Std().default)["is"](arg.buffer,(js_html_compat_ArrayBuffer().default))) { var a = arg; if(arg.byteLength + offset > this.byteLength) { throw new (js__$Boot_HaxeError().default)("set() outside of range"); } var _g1 = 0; var _g = arg.byteLength; while(_g1 < _g) { var i = _g1++; this[i + offset] = a[i]; } } else if((arg instanceof Array) && arg.__enum__ == null) { var a1 = arg; if(a1.length + offset > this.byteLength) { throw new (js__$Boot_HaxeError().default)("set() outside of range"); } var _g11 = 0; var _g2 = a1.length; while(_g11 < _g2) { var i1 = _g11++; this[i1 + offset] = a1[i1]; } } else { throw new (js__$Boot_HaxeError().default)("TODO"); } } Float32Array._subarray = function(start,end) { var a = Float32Array._new(this.slice(start,end)); a.byteOffset = start * 4; return a; } Float32Array.BYTES_PER_ELEMENT = 4 // Export exports.default = Float32Array;