emul/mini/src/main/resources/org/apidesign/vm4brwsr/emul/lang/java_lang_Number.js
brancharithmetic
changeset 675 7d3da112e2c1
parent 669 3754580b6c67
child 676 eecf6077ec4e
     1.1 --- a/emul/mini/src/main/resources/org/apidesign/vm4brwsr/emul/lang/java_lang_Number.js	Tue Feb 05 15:03:22 2013 +0100
     1.2 +++ b/emul/mini/src/main/resources/org/apidesign/vm4brwsr/emul/lang/java_lang_Number.js	Tue Feb 05 16:32:14 2013 +0100
     1.3 @@ -37,8 +37,15 @@
     1.4          var a = [ 6,9,2,7,6,9,4,9,2,4 ];
     1.5          var s = '';
     1.6          var digit;
     1.7 -        var hi = this.hi;
     1.8 -        var low = this;
     1.9 +        var neg = this.hi < 0;
    1.10 +        if (neg) {
    1.11 +            var x = this.neg64();
    1.12 +            var hi = x.hi;
    1.13 +            var low = x;
    1.14 +        } else {
    1.15 +            var hi = this.hi;
    1.16 +            var low = this;
    1.17 +        }
    1.18          for (var i = 0; i < a.length; i++) {
    1.19              res += hi * a[i];
    1.20              var low_digit = low % 10;
    1.21 @@ -53,7 +60,7 @@
    1.22              }
    1.23              s = String(digit).concat(s);
    1.24          }
    1.25 -        return String(res).concat(s);
    1.26 +        return (neg ? '-' : '').concat(res).concat(s);
    1.27      }
    1.28      return String(this);
    1.29  };