test262/implementation-contributed/javascriptcore/stress/math-sqrt-basics-disable-architecture-specific-optimizations.js
test262-automation e9a5a7f918 [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time) (#1620)
* [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time)
2018-07-03 15:59:58 -04:00

48 lines
1.6 KiB
JavaScript

//@ run("no-architecture-specific-optimizations", "--useArchitectureSpecificOptimizations=false", *NO_CJIT_OPTIONS)
//@ run("no-architecture-specific-optimizations-ftl", "--useArchitectureSpecificOptimizations=false", *FTL_OPTIONS)
// Basic cases of Math.sqrt().
function sqrtOnInteger(radicand) {
return Math.sqrt(radicand);
}
noInline(sqrtOnInteger);
function testSquareRoot16() {
for (var i = 0; i < 10000; ++i) {
var result = sqrtOnInteger(16);
if (result !== 4)
throw "sqrtOnInteger(16) = " + result + ", expected 4";
}
}
testSquareRoot16();
var sqrtOnIntegerNegativeNumber = sqrtOnDouble(-4);
if (!isNaN(sqrtOnIntegerNegativeNumber))
throw "sqrtOnDouble(-4) = " + sqrtOnIntegerNegativeNumber + ", expected NaN";
var sqrtOnIntegerFallback = sqrtOnInteger(Math.PI);
if (sqrtOnIntegerFallback != 1.7724538509055159)
throw "sqrtOnInteger(Math.PI) = " + sqrtOnIntegerFallback + ", expected 1.7724538509055159";
function sqrtOnDouble(radicand) {
return Math.sqrt(radicand);
}
noInline(sqrtOnDouble);
function testSquareRootDouble() {
for (var i = 0; i < 10000; ++i) {
var result = sqrtOnInteger(Math.LN2);
if (result !== 0.8325546111576977)
throw "sqrtOnInteger(Math.LN2) = " + result + ", expected 0.8325546111576977";
}
}
testSquareRootDouble();
var sqrtOnDoubleNegativeNumber = sqrtOnDouble(-Math.PI);
if (!isNaN(sqrtOnDoubleNegativeNumber))
throw "sqrtOnDouble(-Math.PI) = " + sqrtOnDoubleNegativeNumber + ", expected NaN";
var sqrtOnDoubleFallback = sqrtOnDouble(4);
if (sqrtOnDoubleFallback !== 2)
throw "sqrtOnDouble(4) = " + sqrtOnDoubleFallback + ", expected 2";