emul/mini/src/main/resources/org/apidesign/vm4brwsr/emul/lang/java_lang_Number.js
1.1 --- a/emul/mini/src/main/resources/org/apidesign/vm4brwsr/emul/lang/java_lang_Number.js Wed Jan 30 22:23:21 2013 +0100
1.2 +++ b/emul/mini/src/main/resources/org/apidesign/vm4brwsr/emul/lang/java_lang_Number.js Thu Jan 31 13:42:14 2013 +0100
1.3 @@ -15,7 +15,7 @@
1.4 return low;
1.5 }
1.6 var l = new Number(low);
1.7 - l.hi = this;
1.8 + l.hi = this | 0;
1.9 return l;
1.10 };
1.11
1.12 @@ -28,7 +28,7 @@
1.13 };
1.14 Number.prototype.toLong = function() {
1.15 var hi = (this > __m32) ? (Math.floor(this / (__m32+1))) | 0 : 0;
1.16 - return hi.next32(this % (__m32+1));
1.17 + return hi.next32(Math.floor(this % (__m32+1)));
1.18 };
1.19
1.20 Number.prototype.toExactString = function() {
1.21 @@ -88,14 +88,15 @@
1.22 };
1.23
1.24 Number.prototype.shl64 = function(x) {
1.25 - if (x > 32) {
1.26 - var hi = (this << (x - 32)) & 0xFFFFFFFF;
1.27 + if (x >= 32) {
1.28 + var hi = (this << (x - 32)) | 0;
1.29 return hi.next32(0);
1.30 } else {
1.31 - var hi = (this.high32() << x) & 0xFFFFFFFF;
1.32 + var hi = (this.high32() << x) | 0;
1.33 var low_reminder = this >> (32 - x);
1.34 hi |= low_reminder;
1.35 var low = this << x;
1.36 + low += (low < 0) ? (__m32+1) : 0;
1.37 return hi.next32(low);
1.38 }
1.39 };