Test List: decimal/ops, decimal/methods
Skip List: (none)
43 test(s) selected, 43 test(s) completed, 0 failures reported (0% failed)
Engine command line: ../src/Linux_All_DBG.OBJ/js
OS type: Linux rubix 2.6.22-15-generic #1 SMP Fri Jul 11 19:25:33 UTC 2008 i686 GNU/Linux
Testcase execution time: 0 seconds.
Tests completed on Sat Sep 20 21:32:24 2008.
expression | result |
---|---|
eval("var MYVAR=1.10m; MYVAR++") | 1.10m |
eval("var MYVAR=1.10m; MYVAR++; MYVAR") | 2.10m |
expression | result |
---|---|
eval("var MYVAR=3.10m; MYVAR--") | 3.10m |
eval("var MYVAR=3.10m; MYVAR--; MYVAR") | 2.10m |
expression | result |
---|---|
delete new Decimal(1) | true |
expression | result |
---|---|
typeof 1m | "decimal" |
typeof Decimal(1m) | "decimal" |
typeof new Decimal(1m) | "object" |
typeof Object(1m) | "object" |
typeof new Object(1m) | "object" |
typeof Object(1m).valueOf() | "decimal" |
typeof 1m.valueOf() | "decimal" |
expression | result |
---|---|
eval("var MYVAR=1.10m; ++MYVAR") | 2.10m |
eval("var MYVAR=1.10m; ++MYVAR; MYVAR") | 2.10m |
expression | result |
---|---|
eval("var MYVAR=3.10m; --MYVAR") | 2.10m |
eval("var MYVAR=3.10m; --MYVAR; MYVAR") | 2.10m |
expression | result |
---|---|
(+Decimal("1.10")).toString() | "1.10" |
(+Decimal("-1.10")).toString() | "-1.10" |
expression | result |
---|---|
(-Decimal("1.10")).toString() | "-1.10" |
(-Decimal("-1.10")).toString() | "1.10" |
(-(1m/0m)).toString() | "-Infinity" |
(-(0m/0m)).toString() | "NaN" |
expression | result |
---|---|
~1e12m | 727379967 |
(-Decimal("-1.10")).toString() | "1.10" |
expression | result |
---|---|
!3.1m | false |
!0.00m | true |
!(-0m) | true |
!(1m/0m) | false |
!(Decimal('foo')) | false |
expression | result |
---|---|
1.50m * 1.05m | 1.5750m |
1.50m * 1.5 | 2.250m |
1.50 * 1.5m | 2.25m |
1.50m * true | 1.50m |
true * 1.50m | 1.50m |
1.50m * '3.10' | 4.650m |
'3.10' * 1.50m | 4.650m |
(1.50m * 'm').toString().substr(0,3) | "NaN" |
('m' * 1.50m).toString().substr(0,3) | "NaN" |
(RegExp() * 1m).toString() | "NaN" |
(1m * RegExp()).toString() | "NaN" |
(1e+3100m * 1e+3100m).toString() | "Infinity" |
1e-3200m * 1e-3200m | 0E-6176m |
(0m * 0m).toString() | "0" |
(0m * -0m).toString() | "-0" |
(-0m * 0m).toString() | "-0" |
(-0m * -0m).toString() | "0" |
expression | result |
---|---|
5.60m / 1.4m | 4.0m |
(5.60m / 0.0m).toString() | "Infinity" |
5.60m / 1.4 | 4.000000000000000253765262771464368m |
5.60m / true | 5.60m |
5.60m / '1.4' | 4.0m |
(1.50m / 'm').toString().substr(0,3) | "NaN" |
(RegExp() / 1m).toString() | "NaN" |
(1e+3100m / 1e-3100m).toString() | "Infinity" |
1e-3200m / 1e+3200m | 0E-6176m |
(1m / 0m).toString() | "Infinity" |
(1m / -0m).toString() | "-Infinity" |
(-1m / 0m).toString() | "-Infinity" |
(-1m / -0m).toString() | "Infinity" |
expression | result |
---|---|
5.80m % 1.4m | 0.20m |
(5.80m % 0.0m).toString() | "NaN" |
5.80m % 1.4 | 0.200000000000000355271367880050092m |
5.80m % true | 0.80m |
5.80m % '1.4' | 0.20m |
(1.50m % 'm').toString().substr(0,3) | "NaN" |
(RegExp() % 1m).toString() | "NaN" |
expression | result |
---|---|
1.05m + 1.05m | 2.10m |
1.60m + 1.5 | 3.10m |
1.50 + 1.6m | 3.1m |
1.60m + true | 2.60m |
true + 1.60m | 2.60m |
1.60m + 'm' | "1.60m" |
'm' + 1.60m | "m1.60" |
RegExp() + 1m | "/(?:)/1" |
1m + RegExp() | "1/(?:)/" |
(0m + 0m).toString() | "0" |
(0m + -0m).toString() | "0" |
(-0m + 0m).toString() | "0" |
(-0m + -0m).toString() | "-0" |
expression | result |
---|---|
1234.56789m << 21 | -1707081728 |
(-0m) << 2 | 0 |
(1m/0m) << 2 | 0 |
(Decimal('foo')) << 2 | 0 |
expression | result |
---|---|
-1234.56789m >> 2 | -309 |
(-0m) >> 2 | 0 |
(1m/0m) >> 2 | 0 |
(Decimal('foo')) >> 2 | 0 |
expression | result |
---|---|
-1234.56789m >>> 2 | 1073741515 |
(-0m) >>> 2 | 0 |
(1m/0m) >>> 2 | 0 |
(Decimal('foo')) >>> 2 | 0 |
expression | result |
---|---|
1.1m < 1.2m | true |
1.2m < 1.1m | false |
1.1m < 1.10m | false |
1.10m < 1.1m | false |
1.1m < 1.1 | true |
1.2m < 1.2 | false |
1.5m < 1.5 | false |
-0m < 0m | false |
-1m/0m < 1m/0m | true |
Decimal('foo') < Decimal('foo') | false |
Decimal('foo') < - Decimal('foo') | false |
expression | result |
---|---|
1.1m > 1.2m | false |
1.2m > 1.1m | true |
1.1m > 1.10m | false |
1.10m > 1.1m | false |
1.1m > 1.1 | false |
1.2m > 1.2 | true |
1.5m > 1.5 | false |
-0m > 0m | false |
-1m/0m > 1m/0m | false |
Decimal('foo') > Decimal('foo') | false |
Decimal('foo') > - Decimal('foo') | false |
expression | result |
---|---|
1.1m <= 1.2m | true |
1.2m <= 1.1m | false |
1.1m <= 1.10m | true |
1.10m <= 1.1m | true |
1.1m <= 1.1 | true |
1.2m <= 1.2 | false |
1.5m <= 1.5 | true |
-0m <= 0m | true |
-1m/0m <= 1m/0m | true |
Decimal('foo') <= Decimal('foo') | false |
Decimal('foo') <= - Decimal('foo') | false |
expression | result |
---|---|
1.1m >= 1.2m | false |
1.2m >= 1.1m | true |
1.1m >= 1.10m | true |
1.10m >= 1.1m | true |
1.1m >= 1.1 | false |
1.2m >= 1.2 | true |
1.5m >= 1.5 | true |
-0m >= 0m | true |
-1m/0m >= 1m/0m | false |
Decimal('foo') >= Decimal('foo') | false |
Decimal('foo') >= - Decimal('foo') | false |
expression | result |
---|---|
1.1m instanceof Decimal | false |
1.1 instanceof Decimal | false |
Decimal('5') instanceof Decimal | false |
new Decimal('5') instanceof Decimal | true |
new Object(5m) instanceof Decimal | true |
Object(5m) instanceof Decimal | true |
Object(5m).valueOf() instanceof Decimal | false |
5m.valueOf() instanceof Decimal | false |
expression | result |
---|---|
'add' in Decimal | true |
'add' in 7.1m | true |
'substr' in Decimal | false |
'substr' in 7.1m | false |
expression | result |
---|---|
1.1m == 1.1m | true |
1.2m == 1.1m | false |
1.1m == 1.10m | true |
1.10m == 1.1m | true |
1.1m == 1.1 | false |
1.2m == 1.2 | false |
1.2m == '1.2' | true |
1.0m == true | true |
1.5m == 1.5 | true |
-0m == 0m | true |
-1m/0m == 1m/0m | false |
Decimal('foo') == Decimal('foo') | false |
Decimal('foo') == - Decimal('foo') | false |
Decimal(1) == Decimal(1) | true |
1m == Decimal(1) | true |
new Decimal(1) == new Decimal(1) | false |
expression | result |
---|---|
1.1m != 1.1m | false |
1.2m != 1.1m | true |
1.1m != 1.10m | false |
1.10m != 1.1m | false |
1.1m != 1.1 | true |
1.2m != 1.2 | true |
1.2m != '1.2' | false |
1.0m != true | false |
1.5m != 1.5 | false |
-0m != 0m | false |
-1m/0m != 1m/0m | true |
Decimal('foo') != Decimal('foo') | true |
Decimal('foo') != - Decimal('foo') | true |
expression | result |
---|---|
1.1m === 1.1m | true |
1.2m === 1.1m | false |
1.1m === 1.10m | true |
1.10m === 1.1m | true |
1.1m === 1.1 | false |
1.2m === 1.2 | false |
1.2m === '1.2' | false |
1.0m === true | false |
1.5m === 1.5 | false |
-0m === 0m | true |
-1m/0m === 1m/0m | false |
Decimal('foo') === Decimal('foo') | false |
Decimal('foo') === - Decimal('foo') | false |
Decimal(1) === Decimal(1) | true |
1m === Decimal(1) | true |
new Decimal(1) === new Decimal(1) | false |
expression | result |
---|---|
1.1m !== 1.1m | false |
1.2m !== 1.1m | true |
1.1m !== 1.10m | false |
1.10m !== 1.1m | false |
1.1m !== 1.1 | true |
1.2m !== 1.2 | true |
1.2m !== '1.2' | true |
1.0m !== true | true |
1.5m !== 1.5 | true |
-0m !== 0m | false |
-1m/0m !== 1m/0m | true |
Decimal('foo') !== Decimal('foo') | true |
expression | result |
---|---|
2e10m & 2e5m | 198656 |
2e10m | 2e5m | -1474835136 |
2e10m ^ 2e5m | -1475033792 |
expression | result |
---|---|
12.34m || 56.78m | 12.34m |
0.0m || 56.78m | 56.78m |
12.34m && 56.78m | 56.78m |
0.0m && 56.78m | 0.0m |
expression | result |
---|---|
isNaN(0m/0m) | true |
isNaN(-(0m/0m)) | true |
isNaN(-(1m/0m)) | false |
isNaN(-(1m/0m)) | false |
isNaN(1e309m) | false |
expression | result |
---|---|
isFinite(0m/0m) | false |
isFinite(-(0m/0m)) | false |
isFinite(-(1m/0m)) | false |
isFinite(-(1m/0m)) | false |
isFinite(1e309m) | true |
expression | result |
---|---|
Decimal() | 0m |
Decimal(12.50m) | 12.50m |
Decimal('12.50') | 12.50m |
Decimal('123345678901234567890.123456789012345678901234567890') | 123345678901234567890.1234567890123m |
Decimal('98765432109876543210.987654321098765432109876543210') | 98765432109876543210.98765432109877m |
Decimal('garbage').toString() | "NaN" |
Decimal(1) | 1m |
Decimal(1.1) | 1.100000000000000088817841970012523m |
(Decimal(-0)).toString() | "-0" |
(Decimal(Infinity)).toString() | "Infinity" |
(Decimal(NaN)).toString() | "NaN" |
Decimal(true) | 1m |
Decimal(/./).toString() | "NaN" |
expression | result |
---|---|
new Decimal().valueOf() | 0m |
new Decimal(12.50m).valueOf() | 12.50m |
new Decimal('12.50').valueOf() | 12.50m |
new Decimal('123345678901234567890.123456789012345678901234567890').valueOf() | 123345678901234567890.1234567890123m |
new Decimal('98765432109876543210.987654321098765432109876543210').valueOf() | 98765432109876543210.98765432109877m |
new Decimal('garbage').toString() | "NaN" |
new Decimal(1).valueOf() | 1m |
new Decimal(1.1).valueOf() | 1.100000000000000088817841970012523m |
(new Decimal(-0)).toString() | "-0" |
(new Decimal(Infinity)).toString() | "Infinity" |
(new Decimal(NaN)).toString() | "NaN" |
new Decimal(true).valueOf() | 1m |
new Decimal(/./).toString() | "NaN" |
expression | result |
---|---|
Decimal.abs(1m) | 1m |
Decimal.abs(-1m) | 1m |
Decimal.abs(1m/0m).toString() | "Infinity" |
Decimal.abs(-1m/0m).toString() | "Infinity" |
Decimal.abs(0m/0m).toString() | "NaN" |
Decimal.abs(-(0m/0m)).toString() | "NaN" |
expression | result |
---|---|
Decimal.digits(-1234m) | 4 |
Decimal.digits(1234e-17m) | 4 |
Decimal.digits(0m) | 1 |
Decimal.digits(-0m) | 1 |
Decimal.digits(1m/0m) | 1 |
Decimal.digits(-1m/0m) | 1 |
Decimal.digits(0m/0m) | 1 |
Decimal.digits(-(0m/0m)) | 1 |
expression | result |
---|---|
Decimal.divideInteger(100m, 7m) | 14m |
Decimal.divideInteger(100m, 13m) | 7m |
Decimal.divideInteger(100m, 13m, {round: Decimal.ROUND_UP}) | 7m |
expression | result |
---|---|
Decimal.getExponent(1e4m) | 4 |
Decimal.getExponent(1000m) | 0 |
Decimal.getExponent(12.34m) | -2 |
Decimal.getExponent(1m/0m) | -134217728 |
Decimal.getExponent(-1m/0m) | -134217728 |
Decimal.getExponent(0m/0m) | -67108864 |
Decimal.getExponent(-(0m/0m)) | -67108864 |
expression | result |
---|---|
Decimal.max(8m, -3m) | 8m |
Decimal.max().toString() | "Infinity" |
Decimal.max(8m) | 8m |
Decimal.max(8m, -3m, -9m, 12m) | 12m |
Decimal.max(8m, -3m, -9m, 0m/0m, 3m).toString() | "NaN" |
expression | result |
---|---|
Decimal.min(8m, -3m) | -3m |
Decimal.min().toString() | "-Infinity" |
Decimal.min(8m) | 8m |
Decimal.min(8m, -3m, -9m, 12m) | -9m |
Decimal.min(8m, -3m, -9m, 0m/0m, 3m).toString() | "NaN" |
expression | result |
---|---|
Decimal.reduce(-12.3400m).toString() | "-12.34" |
Decimal.reduce(1000m).toString() | "1e+3" |
Decimal.abs(1m/0m).toString() | "Infinity" |
Decimal.abs(-1m/0m).toString() | "Infinity" |
Decimal.abs(0m/0m).toString() | "NaN" |
Decimal.abs(-(0m/0m)).toString() | "NaN" |
expression | result |
---|---|
Decimal.quantize(1m, 0.01m).toString() | "1.00" |
Decimal.quantize(1m/3m, 0.01m) | 0.33m |
Decimal.quantize(1m/3m, 0.01m, {round: Decimal.ROUND_UP}) | 0.34m |
Decimal.quantize(2m/3m, 0.01m, {round: Decimal.ROUND_DOWN}) | 0.66m |
Decimal.quantize(1.235m, 0.01m, {round: Decimal.ROUND_CEILING}) | 1.24m |
Decimal.quantize(-1.235m, 0.01m, {round: Decimal.ROUND_CEILING}) | -1.23m |
Decimal.quantize(1.235m, 0.01m, {round: Decimal.ROUND_FLOOR}) | 1.23m |
Decimal.quantize(-1.235m, 0.01m, {round: Decimal.ROUND_FLOOR}) | -1.24m |
Decimal.quantize(1.235m, 0.01m, {round: Decimal.ROUND_HALF_DOWN}) | 1.23m |
Decimal.quantize(1.235m, 0.01m, {round: Decimal.ROUND_HALF_UP}) | 1.24m |
Decimal.quantize(1.235m, 0.01m, {round: Decimal.ROUND_HALF_EVEN}) | 1.24m |
Decimal.quantize(1.245m, 0.01m, {round: Decimal.ROUND_HALF_EVEN}) | 1.24m |
Decimal.quantize(1m/0m).toString() | "NaN" |
Decimal.quantize(-1m/0m).toString() | "NaN" |
Decimal.quantize(0m/0m).toString() | "NaN" |
Decimal.quantize(-(0m/0m), 0.01m).toString() | "NaN" |
expression | result |
---|---|
(-1.10m).toString() | "-1.10" |
(1e-6m).toString() | "0.000001" |
(1e-7m).toString() | "1e-7" |
(1e+1m).toString() | "1e+1" |
12345678901234567890123456789012345m.toString() | "1.234567890123456789012345678901234e+34" |
1234567890123456789012345678901234m.toString() | "1234567890123456789012345678901234" |
(1m/0m).toString() | "Infinity" |
(-1m/0m).toString() | "-Infinity" |
(0m/0m).toString() | "NaN" |
(-(0m/0m)).toString() | "NaN" |
expression | result |
---|---|
(-1.10m).toEngString() | "-1.10" |
1.2e+14m.toEngString() | "120e+12" |
(1m/0m).toEngString() | "Infinity" |
(-1m/0m).toEngString() | "-Infinity" |
(0m/0m).toEngString() | "NaN" |
(-(0m/0m)).toEngString() | "NaN" |
expression | result |
---|---|
Decimal.Infinity.toString() | "Infinity" |
expression | result |
---|---|
Decimal.NaN.toString() | "NaN" |