| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- //-------------------------------------------------------------------------------------------------------
- // Copyright (C) Microsoft. All rights reserved.
- // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
- //-------------------------------------------------------------------------------------------------------
- // A specific case that was regressed
- var toSubtract = 1099511627776;
- writeLine("toSubtract:\n " + toSubtract);
- var toMultiply = 0.840812748240128;
- writeLine("toMultiply:\n " + toMultiply);
- var powResult = Math.pow(2, 55);
- writeLine("powResult:\n " + powResult);
- var subtracted = powResult - toSubtract;
- writeLine("subtracted:\n " + subtracted);
- var multiplied = toMultiply * subtracted;
- writeLine("multiplied:\n " + multiplied);
- var stringed = "" + multiplied;
- writeLine("stringed:\n " + stringed);
- var evaled = eval(stringed);
- writeLine("evaled:\n " + evaled);
- (function testInlineParameterSideEffects() {
- function foo(){
- var a = 12345;
- var x = Math.pow(a, 1 >> (a = 0));
- return x;
- }
- var x = foo();
- WScript.Echo("testInlineParameterSideEffects:\n " + x);
- })();
- (function testInlineWin8_748804() {
- var result;
- function decimalToHexString(n) {
- for (var i = 1; i >= 1; --i) {
- if (n >= Math.pow(16, i)) {
- var t = Math.floor(n / Math.pow(16, i));
- result = t;
- n = t * Math.pow(16, i);
- }
- }
- }
- decimalToHexString(0xDF);
- WScript.Echo("testInlineWin8_748804:\n " + result);
- })();
- safeCall(function testInlineMathBuiltinCalledAsConstructor() {
- var x = new Math.sin(0);
- });
- // Helpers
- function writeLine(str)
- {
- WScript.Echo("" + str);
- }
- function safeCall(f) {
- var args = [];
- for(var a = 1; a < arguments.length; ++a)
- args.push(arguments[a]);
- try {
- return f.apply(this, args);
- } catch(ex) {
- writeLine(ex.name);
- }
- }
|