@@ -21,94 +21,93 @@ if (typeof globalScope.ASC_TARGET === "undefined") {
2121 Object . defineProperties (
2222 globalScope [ "i8" ] = function i8 ( value ) { return value << 24 >> 24 ; } ,
2323 {
24- "MIN_VALUE" : { value : - 128 , writable : false } ,
25- "MAX_VALUE" : { value : 127 , writable : false }
24+ "MIN_VALUE" : { value : - 128 } ,
25+ "MAX_VALUE" : { value : 127 }
2626 }
2727 ) ;
2828
2929 Object . defineProperties (
3030 globalScope [ "i16" ] = function i16 ( value ) { return value << 16 >> 16 ; } ,
3131 {
32- "MIN_VALUE" : { value : - 32768 , writable : false } ,
33- "MAX_VALUE" : { value : 32767 , writable : false }
32+ "MIN_VALUE" : { value : - 32768 } ,
33+ "MAX_VALUE" : { value : 32767 }
3434 }
3535 ) ;
3636
3737 Object . defineProperties (
3838 globalScope [ "i32" ] = globalScope [ "isize" ] = function i32 ( value ) { return value | 0 ; } ,
3939 {
40- "MIN_VALUE" : { value : - 2147483648 , writable : false } ,
41- "MAX_VALUE" : { value : 2147483647 , writable : false }
40+ "MIN_VALUE" : { value : - 2147483648 } ,
41+ "MAX_VALUE" : { value : 2147483647 }
4242 }
4343 ) ;
4444
4545 Object . defineProperties (
4646 globalScope [ "u8" ] = function u8 ( value ) { return value & 0xff ; } ,
4747 {
48- "MIN_VALUE" : { value : 0 , writable : false } ,
49- "MAX_VALUE" : { value : 255 , writable : false }
48+ "MIN_VALUE" : { value : 0 } ,
49+ "MAX_VALUE" : { value : 255 }
5050 }
5151 ) ;
5252
5353 Object . defineProperties (
5454 globalScope [ "u16" ] = function u16 ( value ) { return value & 0xffff ; } ,
5555 {
56- "MIN_VALUE" : { value : 0 , writable : false } ,
57- "MAX_VALUE" : { value : 65535 , writable : false }
56+ "MIN_VALUE" : { value : 0 } ,
57+ "MAX_VALUE" : { value : 65535 }
5858 }
5959 ) ;
6060
6161 Object . defineProperties (
6262 globalScope [ "u32" ] = globalScope [ "usize" ] = function u32 ( value ) { return value >>> 0 ; } ,
6363 {
64- "MIN_VALUE" : { value : 0 , writable : false } ,
65- "MAX_VALUE" : { value : 4294967295 , writable : false }
64+ "MIN_VALUE" : { value : 0 } ,
65+ "MAX_VALUE" : { value : 4294967295 }
6666 }
6767 ) ;
6868
6969 Object . defineProperties (
7070 globalScope [ "bool" ] = function bool ( value ) { return ! ! value ; } ,
7171 {
72- "MIN_VALUE" : { value : false , writable : false } ,
73- "MAX_VALUE" : { value : true , writable : false }
72+ "MIN_VALUE" : { value : false } ,
73+ "MAX_VALUE" : { value : true }
7474 }
7575 ) ;
7676
7777 Object . defineProperties (
7878 globalScope [ "f32" ] = function f32 ( value ) { return Math . fround ( value ) ; } ,
7979 {
80- "EPSILON" : { value : 1.1920928955078125e-07 , writable : false } ,
81- "MIN_VALUE" : { value : 1.401298464324817e-45 , writable : false } ,
82- "MAX_VALUE" : { value : 3.4028234663852886e+38 , writable : false } ,
83- "MIN_NORMAL_VALUE" : { value : 1.1754943508222875e-38 , writable : false } ,
84- "MIN_SAFE_INTEGER" : { value : - 16777215 , writable : false } ,
85- "MAX_SAFE_INTEGER" : { value : 16777215 , writable : false } ,
86- "POSITIVE_INFINITY" : { value : Infinity , writable : false } ,
87- "NEGATIVE_INFINITY" : { value : - Infinity , writable : false } ,
88- "NaN" : { value : NaN , writable : false }
80+ "EPSILON" : { value : 1.1920928955078125e-07 } ,
81+ "MIN_VALUE" : { value : 1.401298464324817e-45 } ,
82+ "MAX_VALUE" : { value : 3.4028234663852886e+38 } ,
83+ "MIN_NORMAL_VALUE" : { value : 1.1754943508222875e-38 } ,
84+ "MIN_SAFE_INTEGER" : { value : - 16777215 } ,
85+ "MAX_SAFE_INTEGER" : { value : 16777215 } ,
86+ "POSITIVE_INFINITY" : { value : Infinity } ,
87+ "NEGATIVE_INFINITY" : { value : - Infinity } ,
88+ "NaN" : { value : NaN }
8989 }
9090 ) ;
9191
9292 Object . defineProperties (
9393 globalScope [ "f64" ] = function f64 ( value ) { return + value ; } ,
9494 {
95- "EPSILON" : { value : 2.2204460492503131e-016 , writable : false } ,
96- "MIN_VALUE" : { value : 5e-324 , writable : false } ,
97- "MAX_VALUE" : { value : 1.7976931348623157e+308 , writable : false } ,
98- "MIN_NORMAL_VALUE" : { value : 2.2250738585072014e-308 , writable : false } ,
99- "MIN_SAFE_INTEGER" : { value : - 9007199254740991 , writable : false } ,
100- "MAX_SAFE_INTEGER" : { value : 9007199254740991 , writable : false } ,
101- "POSITIVE_INFINITY" : { value : Infinity , writable : false } ,
102- "NEGATIVE_INFINITY" : { value : - Infinity , writable : false } ,
103- "NaN" : { value : NaN , writable : false }
95+ "EPSILON" : { value : 2.2204460492503131e-016 } ,
96+ "MIN_VALUE" : { value : 5e-324 } ,
97+ "MAX_VALUE" : { value : 1.7976931348623157e+308 } ,
98+ "MIN_NORMAL_VALUE" : { value : 2.2250738585072014e-308 } ,
99+ "MIN_SAFE_INTEGER" : { value : - 9007199254740991 } ,
100+ "MAX_SAFE_INTEGER" : { value : 9007199254740991 } ,
101+ "POSITIVE_INFINITY" : { value : Infinity } ,
102+ "NEGATIVE_INFINITY" : { value : - Infinity } ,
103+ "NaN" : { value : NaN }
104104 }
105105 ) ;
106106
107107 globalScope [ "clz" ] = Math . clz32 ;
108108
109109 globalScope [ "ctz" ] = function ctz ( value ) {
110- var c = Math . clz32 ( value & - value ) ;
111- return value ? 31 - c : c ;
110+ return 32 - Math . clz32 ( ~ value & ( value - 1 ) ) ;
112111 } ;
113112
114113 globalScope [ "popcnt" ] = function popcnt ( value ) {
@@ -306,6 +305,15 @@ if (typeof globalScope.ASC_TARGET === "undefined") {
306305 configurable : true
307306 } ) ;
308307 }
308+
309+ if ( Ctr != Array ) {
310+ Object . defineProperty ( Ctr , "wrap" , {
311+ value : function wrap ( buffer , byteOffset , length ) {
312+ return new Ctr ( buffer , byteOffset , length ) ;
313+ } ,
314+ configurable : true
315+ } ) ;
316+ }
309317 } ) ;
310318
311319 globalScope [ "isInteger" ] = Number . isInteger ;
@@ -388,60 +396,6 @@ if (typeof globalScope.ASC_TARGET === "undefined") {
388396 if ( n ) message += Array . prototype . slice . call ( arguments , 2 , 2 + n ) ;
389397 console . error ( "trace: " + message ) ;
390398 } ;
391-
392- Object . defineProperty ( Int8Array , "wrap" , {
393- value : function wrap ( buffer , byteOffset , length ) {
394- return new Int8Array ( buffer , byteOffset , length ) ;
395- }
396- } ) ;
397-
398- Object . defineProperty ( Uint8Array , "wrap" , {
399- value : function wrap ( buffer , byteOffset , length ) {
400- return new Uint8Array ( buffer , byteOffset , length ) ;
401- }
402- } ) ;
403-
404- Object . defineProperty ( Uint8ClampedArray , "wrap" , {
405- value : function wrap ( buffer , byteOffset , length ) {
406- return new Uint8ClampedArray ( buffer , byteOffset , length ) ;
407- }
408- } ) ;
409-
410- Object . defineProperty ( Int16Array , "wrap" , {
411- value : function wrap ( buffer , byteOffset , length ) {
412- return new Int16Array ( buffer , byteOffset , length ) ;
413- }
414- } ) ;
415-
416- Object . defineProperty ( Uint16Array , "wrap" , {
417- value : function wrap ( buffer , byteOffset , length ) {
418- return new Uint16Array ( buffer , byteOffset , length ) ;
419- }
420- } ) ;
421-
422- Object . defineProperty ( Int32Array , "wrap" , {
423- value : function wrap ( buffer , byteOffset , length ) {
424- return new Int32Array ( buffer , byteOffset , length ) ;
425- }
426- } ) ;
427-
428- Object . defineProperty ( Uint32Array , "wrap" , {
429- value : function wrap ( buffer , byteOffset , length ) {
430- return new Uint32Array ( buffer , byteOffset , length ) ;
431- }
432- } ) ;
433-
434- Object . defineProperty ( Float32Array , "wrap" , {
435- value : function wrap ( buffer , byteOffset , length ) {
436- return new Float32Array ( buffer , byteOffset , length ) ;
437- }
438- } ) ;
439-
440- Object . defineProperty ( Float64Array , "wrap" , {
441- value : function wrap ( buffer , byteOffset , length ) {
442- return new Float64Array ( buffer , byteOffset , length ) ;
443- }
444- } ) ;
445399} else {
446400 console . warn ( "compiler mismatch: std/portable included twice" ) ;
447401}
0 commit comments