Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / swingjs / j2s / java / text / DigitList.js
index 7a36878..b3b5a76 100644 (file)
-Clazz.declarePackage ("java.text");\r
-Clazz.load (["java.math.RoundingMode"], "java.text.DigitList", ["java.lang.ArithmeticException", "$.Double", "$.InternalError", "$.Long", "$.StringBuffer"], function () {\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.decimalAt = 0;\r
-this.count = 0;\r
-this.digits = null;\r
-this.data = null;\r
-this.roundingMode = null;\r
-this.isNegative = false;\r
-this.tempBuffer = null;\r
-Clazz.instantialize (this, arguments);\r
-}, java.text, "DigitList", null, Cloneable);\r
-Clazz.prepareFields (c$, function () {\r
-this.digits =  Clazz.newCharArray (19, '\0');\r
-this.roundingMode = java.math.RoundingMode.HALF_EVEN;\r
-});\r
-Clazz.defineMethod (c$, "isZero", \r
-function () {\r
-for (var i = 0; i < this.count; ++i) {\r
-if (this.digits[i] != '0') {\r
-return false;\r
-}}\r
-return true;\r
-});\r
-Clazz.defineMethod (c$, "setRoundingMode", \r
-function (r) {\r
-this.roundingMode = r;\r
-}, "java.math.RoundingMode");\r
-Clazz.defineMethod (c$, "clear", \r
-function () {\r
-this.decimalAt = 0;\r
-this.count = 0;\r
-});\r
-Clazz.defineMethod (c$, "append", \r
-function (digit) {\r
-if (this.count == this.digits.length) {\r
-var data =  Clazz.newCharArray (this.count + 100, '\0');\r
-System.arraycopy (this.digits, 0, data, 0, this.count);\r
-this.digits = data;\r
-}this.digits[this.count++] = digit;\r
-}, "~S");\r
-Clazz.defineMethod (c$, "getDouble", \r
-function () {\r
-if (this.count == 0) {\r
-return 0.0;\r
-}var temp = this.getStringBuffer ();\r
-temp.append ('.');\r
-temp.append (this.digits, 0, this.count);\r
-temp.append ('E');\r
-temp.append ("" + this.decimalAt);\r
-return Double.parseDouble (temp.toString ());\r
-});\r
-Clazz.defineMethod (c$, "getLong", \r
-function () {\r
-if (this.count == 0) {\r
-return 0;\r
-}if (this.isLongMIN_VALUE ()) {\r
-return -9223372036854775808;\r
-}var temp = this.getStringBuffer ();\r
-temp.append (this.digits, 0, this.count);\r
-for (var i = this.count; i < this.decimalAt; ++i) {\r
-temp.append ('0');\r
-}\r
-return Long.parseLong (temp.toString ());\r
-});\r
-Clazz.defineMethod (c$, "fitsIntoLong", \r
-function (isPositive, ignoreNegativeZero) {\r
-while (this.count > 0 && this.digits[this.count - 1] == '0') {\r
---this.count;\r
-}\r
-if (this.count == 0) {\r
-return isPositive || ignoreNegativeZero;\r
-}if (this.decimalAt < this.count || this.decimalAt > 19) {\r
-return false;\r
-}if (this.decimalAt < 19) return true;\r
-for (var i = 0; i < this.count; ++i) {\r
-var dig = this.digits[i];\r
-var max = java.text.DigitList.LONG_MIN_REP[i];\r
-if (dig > max) return false;\r
-if (dig < max) return true;\r
-}\r
-if (this.count < this.decimalAt) return true;\r
-return !isPositive;\r
-}, "~B,~B");\r
-Clazz.defineMethod (c$, "setDouble", \r
-function (isNegative, source, maximumFractionDigits) {\r
-this.set (isNegative, source, maximumFractionDigits, true);\r
-}, "~B,~N,~N");\r
-Clazz.defineMethod (c$, "set", \r
-function (isNegative, source, maximumDigits, fixedPoint) {\r
-this.set (isNegative, Double.toString (source), maximumDigits, fixedPoint);\r
-}, "~B,~N,~N,~B");\r
-Clazz.defineMethod (c$, "set", \r
-function (isNegative, s, maximumDigits, fixedPoint) {\r
-this.isNegative = isNegative;\r
-var len = s.length;\r
-var source = this.getDataChars (len);\r
-s.getChars (0, len, source, 0);\r
-this.decimalAt = -1;\r
-this.count = 0;\r
-var exponent = 0;\r
-var leadingZerosAfterDecimal = 0;\r
-var nonZeroDigitSeen = false;\r
-for (var i = 0; i < len; ) {\r
-var c = source[i++];\r
-if (c == '.') {\r
-this.decimalAt = this.count;\r
-} else if (c == 'e' || c == 'E') {\r
-exponent = java.text.DigitList.parseInt (source, i, len);\r
-break;\r
-} else {\r
-if (!nonZeroDigitSeen) {\r
-nonZeroDigitSeen = (c != '0');\r
-if (!nonZeroDigitSeen && this.decimalAt != -1) ++leadingZerosAfterDecimal;\r
-}if (nonZeroDigitSeen) {\r
-this.digits[this.count++] = c;\r
-}}}\r
-if (this.decimalAt == -1) {\r
-this.decimalAt = this.count;\r
-}if (nonZeroDigitSeen) {\r
-this.decimalAt += exponent - leadingZerosAfterDecimal;\r
-}if (fixedPoint) {\r
-if (-this.decimalAt > maximumDigits) {\r
-this.count = 0;\r
-return;\r
-} else if (-this.decimalAt == maximumDigits) {\r
-if (this.shouldRoundUp (0)) {\r
-this.count = 1;\r
-++this.decimalAt;\r
-this.digits[0] = '1';\r
-} else {\r
-this.count = 0;\r
-}return;\r
-}}while (this.count > 1 && this.digits[this.count - 1] == '0') {\r
---this.count;\r
-}\r
-this.round (fixedPoint ? (maximumDigits + this.decimalAt) : maximumDigits);\r
-}, "~B,~S,~N,~B");\r
-Clazz.defineMethod (c$, "round", \r
- function (maximumDigits) {\r
-if (maximumDigits >= 0 && maximumDigits < this.count) {\r
-if (this.shouldRoundUp (maximumDigits)) {\r
-for (; ; ) {\r
---maximumDigits;\r
-if (maximumDigits < 0) {\r
-this.digits[0] = '1';\r
-++this.decimalAt;\r
-maximumDigits = 0;\r
-break;\r
-}this.digits[maximumDigits] = String.fromCharCode (this.digits[maximumDigits].charCodeAt (0) + 1);\r
-if (this.digits[maximumDigits] <= '9') break;\r
-}\r
-++maximumDigits;\r
-}this.count = maximumDigits;\r
-while (this.count > 1 && this.digits[this.count - 1] == '0') {\r
---this.count;\r
-}\r
-}}, "~N");\r
-Clazz.defineMethod (c$, "shouldRoundUp", \r
- function (maximumDigits) {\r
-if (maximumDigits < this.count) {\r
-switch (this.roundingMode) {\r
-case java.math.RoundingMode.UP:\r
-for (var i = maximumDigits; i < this.count; ++i) {\r
-if (this.digits[i] != '0') {\r
-return true;\r
-}}\r
-break;\r
-case java.math.RoundingMode.DOWN:\r
-break;\r
-case java.math.RoundingMode.CEILING:\r
-for (var i = maximumDigits; i < this.count; ++i) {\r
-if (this.digits[i] != '0') {\r
-return !this.isNegative;\r
-}}\r
-break;\r
-case java.math.RoundingMode.FLOOR:\r
-for (var i = maximumDigits; i < this.count; ++i) {\r
-if (this.digits[i] != '0') {\r
-return this.isNegative;\r
-}}\r
-break;\r
-case java.math.RoundingMode.HALF_UP:\r
-if (this.digits[maximumDigits] >= '5') {\r
-return true;\r
-}break;\r
-case java.math.RoundingMode.HALF_DOWN:\r
-if (this.digits[maximumDigits] > '5') {\r
-return true;\r
-} else if (this.digits[maximumDigits] == '5') {\r
-for (var i = maximumDigits + 1; i < this.count; ++i) {\r
-if (this.digits[i] != '0') {\r
-return true;\r
-}}\r
-}break;\r
-case java.math.RoundingMode.HALF_EVEN:\r
-if (this.digits[maximumDigits] > '5') {\r
-return true;\r
-} else if (this.digits[maximumDigits] == '5') {\r
-for (var i = maximumDigits + 1; i < this.count; ++i) {\r
-if (this.digits[i] != '0') {\r
-return true;\r
-}}\r
-return maximumDigits > 0 && ((this.digits[maximumDigits - 1]).charCodeAt (0) % 2 != 0);\r
-}break;\r
-case java.math.RoundingMode.UNNECESSARY:\r
-for (var i = maximumDigits; i < this.count; ++i) {\r
-if (this.digits[i] != '0') {\r
-throw  new ArithmeticException ("Rounding needed with the rounding mode being set to RoundingMode.UNNECESSARY");\r
-}}\r
-break;\r
-default:\r
-}\r
-}return false;\r
-}, "~N");\r
-Clazz.defineMethod (c$, "setExp", \r
-function (isNegative, source) {\r
-this.setLong (isNegative, source, 0);\r
-}, "~B,~N");\r
-Clazz.defineMethod (c$, "setLong", \r
-function (isNegative, source, maximumDigits) {\r
-this.isNegative = isNegative;\r
-if (source <= 0) {\r
-if (source == -9223372036854775808) {\r
-this.decimalAt = this.count = 19;\r
-System.arraycopy (java.text.DigitList.LONG_MIN_REP, 0, this.digits, 0, this.count);\r
-} else {\r
-this.decimalAt = this.count = 0;\r
-}} else {\r
-var left = 19;\r
-var right;\r
-while (source >= 1) {\r
-this.digits[--left] = String.fromCharCode (48 + (source % 10));\r
-source = Clazz.doubleToInt (source / 10);\r
-}\r
-this.decimalAt = 19 - left;\r
-for (right = 18; this.digits[right] == '0'; --right) ;\r
-this.count = right - left + 1;\r
-System.arraycopy (this.digits, left, this.digits, 0, this.count);\r
-}if (maximumDigits > 0) this.round (maximumDigits);\r
-}, "~B,~N,~N");\r
-Clazz.overrideMethod (c$, "equals", \r
-function (obj) {\r
-if (this === obj) return true;\r
-if (!(Clazz.instanceOf (obj, java.text.DigitList))) return false;\r
-var other = obj;\r
-if (this.count != other.count || this.decimalAt != other.decimalAt) return false;\r
-for (var i = 0; i < this.count; i++) if (this.digits[i] != other.digits[i]) return false;\r
-\r
-return true;\r
-}, "~O");\r
-Clazz.overrideMethod (c$, "hashCode", \r
-function () {\r
-var hashcode = this.decimalAt;\r
-for (var i = 0; i < this.count; i++) {\r
-hashcode = hashcode * 37 + (this.digits[i]).charCodeAt (0);\r
-}\r
-return hashcode;\r
-});\r
-Clazz.defineMethod (c$, "clone", \r
-function () {\r
-try {\r
-var other = Clazz.superCall (this, java.text.DigitList, "clone", []);\r
-var newDigits =  Clazz.newCharArray (this.digits.length, '\0');\r
-System.arraycopy (this.digits, 0, newDigits, 0, this.digits.length);\r
-other.digits = newDigits;\r
-other.tempBuffer = null;\r
-return other;\r
-} catch (e) {\r
-if (Clazz.exceptionOf (e, CloneNotSupportedException)) {\r
-throw  new InternalError ();\r
-} else {\r
-throw e;\r
-}\r
-}\r
-});\r
-Clazz.defineMethod (c$, "isLongMIN_VALUE", \r
- function () {\r
-if (this.decimalAt != this.count || this.count != 19) {\r
-return false;\r
-}for (var i = 0; i < this.count; ++i) {\r
-if (this.digits[i] != java.text.DigitList.LONG_MIN_REP[i]) return false;\r
-}\r
-return true;\r
-});\r
-c$.parseInt = Clazz.defineMethod (c$, "parseInt", \r
- function (str, offset, strLen) {\r
-var c;\r
-var positive = true;\r
-if ((c = str[offset]) == '-') {\r
-positive = false;\r
-offset++;\r
-} else if (c == '+') {\r
-offset++;\r
-}var value = 0;\r
-while (offset < strLen) {\r
-c = str[offset++];\r
-if (c >= '0' && c <= '9') {\r
-value = value * 10 + (c.charCodeAt (0) - 48);\r
-} else {\r
-break;\r
-}}\r
-return positive ? value : -value;\r
-}, "~A,~N,~N");\r
-Clazz.overrideMethod (c$, "toString", \r
-function () {\r
-if (this.isZero ()) {\r
-return "0";\r
-}var buf = this.getStringBuffer ();\r
-buf.append ("0.");\r
-buf.append (this.digits, 0, this.count);\r
-buf.append ("x10^");\r
-buf.append ("" + this.decimalAt);\r
-return buf.toString ();\r
-});\r
-Clazz.defineMethod (c$, "getStringBuffer", \r
- function () {\r
-if (this.tempBuffer == null) {\r
-this.tempBuffer =  new StringBuffer (19);\r
-} else {\r
-this.tempBuffer.setLength (0);\r
-}return this.tempBuffer;\r
-});\r
-Clazz.defineMethod (c$, "getDataChars", \r
- function (length) {\r
-if (this.data == null || this.data.length < length) {\r
-this.data =  Clazz.newCharArray (length, '\0');\r
-}return this.data;\r
-}, "~N");\r
-Clazz.defineStatics (c$,\r
-"MAX_COUNT", 19);\r
-c$.LONG_MIN_REP = c$.prototype.LONG_MIN_REP = "9223372036854775808".toCharArray ();\r
-});\r
+Clazz.declarePackage ("java.text");
+Clazz.load (["java.math.RoundingMode"], "java.text.DigitList", ["java.lang.ArithmeticException", "$.Double", "$.InternalError", "$.Long", "$.StringBuffer"], function () {
+c$ = Clazz.decorateAsClass (function () {
+this.decimalAt = 0;
+this.count = 0;
+this.digits = null;
+this.data = null;
+this.roundingMode = null;
+this.isNegative = false;
+this.tempBuffer = null;
+Clazz.instantialize (this, arguments);
+}, java.text, "DigitList", null, Cloneable);
+Clazz.prepareFields (c$, function () {
+this.digits =  Clazz.newCharArray (19, '\0');
+this.roundingMode = java.math.RoundingMode.HALF_EVEN;
+});
+Clazz.defineMethod (c$, "isZero", 
+function () {
+for (var i = 0; i < this.count; ++i) {
+if (this.digits[i] != '0') {
+return false;
+}}
+return true;
+});
+Clazz.defineMethod (c$, "setRoundingMode", 
+function (r) {
+this.roundingMode = r;
+}, "java.math.RoundingMode");
+Clazz.defineMethod (c$, "clear", 
+function () {
+this.decimalAt = 0;
+this.count = 0;
+});
+Clazz.defineMethod (c$, "append", 
+function (digit) {
+if (this.count == this.digits.length) {
+var data =  Clazz.newCharArray (this.count + 100, '\0');
+System.arraycopy (this.digits, 0, data, 0, this.count);
+this.digits = data;
+}this.digits[this.count++] = digit;
+}, "~S");
+Clazz.defineMethod (c$, "getDouble", 
+function () {
+if (this.count == 0) {
+return 0.0;
+}var temp = this.getStringBuffer ();
+temp.append ('.');
+temp.append (this.digits, 0, this.count);
+temp.append ('E');
+temp.append ("" + this.decimalAt);
+return Double.parseDouble (temp.toString ());
+});
+Clazz.defineMethod (c$, "getLong", 
+function () {
+if (this.count == 0) {
+return 0;
+}if (this.isLongMIN_VALUE ()) {
+return -9223372036854775808;
+}var temp = this.getStringBuffer ();
+temp.append (this.digits, 0, this.count);
+for (var i = this.count; i < this.decimalAt; ++i) {
+temp.append ('0');
+}
+return Long.parseLong (temp.toString ());
+});
+Clazz.defineMethod (c$, "fitsIntoLong", 
+function (isPositive, ignoreNegativeZero) {
+while (this.count > 0 && this.digits[this.count - 1] == '0') {
+--this.count;
+}
+if (this.count == 0) {
+return isPositive || ignoreNegativeZero;
+}if (this.decimalAt < this.count || this.decimalAt > 19) {
+return false;
+}if (this.decimalAt < 19) return true;
+for (var i = 0; i < this.count; ++i) {
+var dig = this.digits[i];
+var max = java.text.DigitList.LONG_MIN_REP[i];
+if (dig > max) return false;
+if (dig < max) return true;
+}
+if (this.count < this.decimalAt) return true;
+return !isPositive;
+}, "~B,~B");
+Clazz.defineMethod (c$, "setDouble", 
+function (isNegative, source, maximumFractionDigits) {
+this.set (isNegative, source, maximumFractionDigits, true);
+}, "~B,~N,~N");
+Clazz.defineMethod (c$, "set", 
+function (isNegative, source, maximumDigits, fixedPoint) {
+this.set (isNegative, Double.toString (source), maximumDigits, fixedPoint);
+}, "~B,~N,~N,~B");
+Clazz.defineMethod (c$, "set", 
+function (isNegative, s, maximumDigits, fixedPoint) {
+this.isNegative = isNegative;
+var len = s.length;
+var source = this.getDataChars (len);
+s.getChars (0, len, source, 0);
+this.decimalAt = -1;
+this.count = 0;
+var exponent = 0;
+var leadingZerosAfterDecimal = 0;
+var nonZeroDigitSeen = false;
+for (var i = 0; i < len; ) {
+var c = source[i++];
+if (c == '.') {
+this.decimalAt = this.count;
+} else if (c == 'e' || c == 'E') {
+exponent = java.text.DigitList.parseInt (source, i, len);
+break;
+} else {
+if (!nonZeroDigitSeen) {
+nonZeroDigitSeen = (c != '0');
+if (!nonZeroDigitSeen && this.decimalAt != -1) ++leadingZerosAfterDecimal;
+}if (nonZeroDigitSeen) {
+this.digits[this.count++] = c;
+}}}
+if (this.decimalAt == -1) {
+this.decimalAt = this.count;
+}if (nonZeroDigitSeen) {
+this.decimalAt += exponent - leadingZerosAfterDecimal;
+}if (fixedPoint) {
+if (-this.decimalAt > maximumDigits) {
+this.count = 0;
+return;
+} else if (-this.decimalAt == maximumDigits) {
+if (this.shouldRoundUp (0)) {
+this.count = 1;
+++this.decimalAt;
+this.digits[0] = '1';
+} else {
+this.count = 0;
+}return;
+}}while (this.count > 1 && this.digits[this.count - 1] == '0') {
+--this.count;
+}
+this.round (fixedPoint ? (maximumDigits + this.decimalAt) : maximumDigits);
+}, "~B,~S,~N,~B");
+Clazz.defineMethod (c$, "round", 
+ function (maximumDigits) {
+if (maximumDigits >= 0 && maximumDigits < this.count) {
+if (this.shouldRoundUp (maximumDigits)) {
+for (; ; ) {
+--maximumDigits;
+if (maximumDigits < 0) {
+this.digits[0] = '1';
+++this.decimalAt;
+maximumDigits = 0;
+break;
+}this.digits[maximumDigits] = String.fromCharCode (this.digits[maximumDigits].charCodeAt (0) + 1);
+if (this.digits[maximumDigits] <= '9') break;
+}
+++maximumDigits;
+}this.count = maximumDigits;
+while (this.count > 1 && this.digits[this.count - 1] == '0') {
+--this.count;
+}
+}}, "~N");
+Clazz.defineMethod (c$, "shouldRoundUp", 
+ function (maximumDigits) {
+if (maximumDigits < this.count) {
+switch (this.roundingMode) {
+case java.math.RoundingMode.UP:
+for (var i = maximumDigits; i < this.count; ++i) {
+if (this.digits[i] != '0') {
+return true;
+}}
+break;
+case java.math.RoundingMode.DOWN:
+break;
+case java.math.RoundingMode.CEILING:
+for (var i = maximumDigits; i < this.count; ++i) {
+if (this.digits[i] != '0') {
+return !this.isNegative;
+}}
+break;
+case java.math.RoundingMode.FLOOR:
+for (var i = maximumDigits; i < this.count; ++i) {
+if (this.digits[i] != '0') {
+return this.isNegative;
+}}
+break;
+case java.math.RoundingMode.HALF_UP:
+if (this.digits[maximumDigits] >= '5') {
+return true;
+}break;
+case java.math.RoundingMode.HALF_DOWN:
+if (this.digits[maximumDigits] > '5') {
+return true;
+} else if (this.digits[maximumDigits] == '5') {
+for (var i = maximumDigits + 1; i < this.count; ++i) {
+if (this.digits[i] != '0') {
+return true;
+}}
+}break;
+case java.math.RoundingMode.HALF_EVEN:
+if (this.digits[maximumDigits] > '5') {
+return true;
+} else if (this.digits[maximumDigits] == '5') {
+for (var i = maximumDigits + 1; i < this.count; ++i) {
+if (this.digits[i] != '0') {
+return true;
+}}
+return maximumDigits > 0 && ((this.digits[maximumDigits - 1]).charCodeAt (0) % 2 != 0);
+}break;
+case java.math.RoundingMode.UNNECESSARY:
+for (var i = maximumDigits; i < this.count; ++i) {
+if (this.digits[i] != '0') {
+throw  new ArithmeticException ("Rounding needed with the rounding mode being set to RoundingMode.UNNECESSARY");
+}}
+break;
+default:
+}
+}return false;
+}, "~N");
+Clazz.defineMethod (c$, "setExp", 
+function (isNegative, source) {
+this.setLong (isNegative, source, 0);
+}, "~B,~N");
+Clazz.defineMethod (c$, "setLong", 
+function (isNegative, source, maximumDigits) {
+this.isNegative = isNegative;
+if (source <= 0) {
+if (source == -9223372036854775808) {
+this.decimalAt = this.count = 19;
+System.arraycopy (java.text.DigitList.LONG_MIN_REP, 0, this.digits, 0, this.count);
+} else {
+this.decimalAt = this.count = 0;
+}} else {
+var left = 19;
+var right;
+while (source >= 1) {
+this.digits[--left] = String.fromCharCode (48 + (source % 10));
+source = Clazz.doubleToInt (source / 10);
+}
+this.decimalAt = 19 - left;
+for (right = 18; this.digits[right] == '0'; --right) ;
+this.count = right - left + 1;
+System.arraycopy (this.digits, left, this.digits, 0, this.count);
+}if (maximumDigits > 0) this.round (maximumDigits);
+}, "~B,~N,~N");
+Clazz.overrideMethod (c$, "equals", 
+function (obj) {
+if (this === obj) return true;
+if (!(Clazz.instanceOf (obj, java.text.DigitList))) return false;
+var other = obj;
+if (this.count != other.count || this.decimalAt != other.decimalAt) return false;
+for (var i = 0; i < this.count; i++) if (this.digits[i] != other.digits[i]) return false;
+
+return true;
+}, "~O");
+Clazz.overrideMethod (c$, "hashCode", 
+function () {
+var hashcode = this.decimalAt;
+for (var i = 0; i < this.count; i++) {
+hashcode = hashcode * 37 + (this.digits[i]).charCodeAt (0);
+}
+return hashcode;
+});
+Clazz.defineMethod (c$, "clone", 
+function () {
+try {
+var other = Clazz.superCall (this, java.text.DigitList, "clone", []);
+var newDigits =  Clazz.newCharArray (this.digits.length, '\0');
+System.arraycopy (this.digits, 0, newDigits, 0, this.digits.length);
+other.digits = newDigits;
+other.tempBuffer = null;
+return other;
+} catch (e) {
+if (Clazz.exceptionOf (e, CloneNotSupportedException)) {
+throw  new InternalError ();
+} else {
+throw e;
+}
+}
+});
+Clazz.defineMethod (c$, "isLongMIN_VALUE", 
+ function () {
+if (this.decimalAt != this.count || this.count != 19) {
+return false;
+}for (var i = 0; i < this.count; ++i) {
+if (this.digits[i] != java.text.DigitList.LONG_MIN_REP[i]) return false;
+}
+return true;
+});
+c$.parseInt = Clazz.defineMethod (c$, "parseInt", 
+ function (str, offset, strLen) {
+var c;
+var positive = true;
+if ((c = str[offset]) == '-') {
+positive = false;
+offset++;
+} else if (c == '+') {
+offset++;
+}var value = 0;
+while (offset < strLen) {
+c = str[offset++];
+if (c >= '0' && c <= '9') {
+value = value * 10 + (c.charCodeAt (0) - 48);
+} else {
+break;
+}}
+return positive ? value : -value;
+}, "~A,~N,~N");
+Clazz.overrideMethod (c$, "toString", 
+function () {
+if (this.isZero ()) {
+return "0";
+}var buf = this.getStringBuffer ();
+buf.append ("0.");
+buf.append (this.digits, 0, this.count);
+buf.append ("x10^");
+buf.append ("" + this.decimalAt);
+return buf.toString ();
+});
+Clazz.defineMethod (c$, "getStringBuffer", 
+ function () {
+if (this.tempBuffer == null) {
+this.tempBuffer =  new StringBuffer (19);
+} else {
+this.tempBuffer.setLength (0);
+}return this.tempBuffer;
+});
+Clazz.defineMethod (c$, "getDataChars", 
+ function (length) {
+if (this.data == null || this.data.length < length) {
+this.data =  Clazz.newCharArray (length, '\0');
+}return this.data;
+}, "~N");
+Clazz.defineStatics (c$,
+"MAX_COUNT", 19);
+c$.LONG_MIN_REP = c$.prototype.LONG_MIN_REP = "9223372036854775808".toCharArray ();
+});