rt/emul/mini/src/main/resources/org/apidesign/vm4brwsr/emul/lang/java_lang_Number.js
brancharithmetic
changeset 778 6f8683517f1f
parent 772 d382dacfd73f
child 832 70c409def6ad
     1.1 --- a/rt/emul/mini/src/main/resources/org/apidesign/vm4brwsr/emul/lang/java_lang_Number.js	Tue Feb 26 16:54:16 2013 +0100
     1.2 +++ b/rt/emul/mini/src/main/resources/org/apidesign/vm4brwsr/emul/lang/java_lang_Number.js	Wed Feb 27 16:24:42 2013 +0100
     1.3 @@ -28,8 +28,17 @@
     1.4      return this.hi ? this.hi * (__m32+1) + this : this;
     1.5  };
     1.6  Number.prototype.toLong = function() {
     1.7 -    var hi = (this > __m32) ? (Math.floor(this / (__m32+1))) | 0 : 0;
     1.8 -    return hi.next32(Math.floor(this % (__m32+1)));
     1.9 +    var hi = (this / (__m32+1)) | 0;
    1.10 +    var low = (this % (__m32+1)) | 0;
    1.11 +    if (low < 0) {
    1.12 +        low += __m32+1;
    1.13 +    }
    1.14 +        
    1.15 +    if (this < 0) {
    1.16 +        hi -= 1;
    1.17 +    }
    1.18 +
    1.19 +    return hi.next32(low);
    1.20  };
    1.21  
    1.22  Number.prototype.toExactString = function() {
    1.23 @@ -481,7 +490,7 @@
    1.24              v = x;
    1.25          }
    1.26  
    1.27 -        if ((v === 0) && (v.high32() === 0)) {
    1.28 +        if ((v == 0) && (v.high32() === 0)) {
    1.29              __handleDivByZero();
    1.30          }
    1.31  
    1.32 @@ -522,7 +531,7 @@
    1.33              v = x;
    1.34          }
    1.35  
    1.36 -        if ((v === 0) && (v.high32() === 0)) {
    1.37 +        if ((v == 0) && (v.high32() === 0)) {
    1.38              __handleDivByZero();
    1.39          }
    1.40