Source code

Revision control

Copy as Markdown

Other Tools

// Copyright 2016 Rick Waldron. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-applying-the-exp-operator
description: If base < 0 and base is finite and exponent is finite and exponent is not an integer, the result is NaN.
features: [exponentiation]
---*/
var exponents = [];
var bases = [];
bases[0] = -1.7976931348623157E308; //largest (by module) finite number
bases[1] = -Math.PI;
bases[2] = -1;
bases[3] = -0.000000000000001;
exponents[0] = -Math.PI;
exponents[1] = -Math.E;
exponents[2] = -1.000000000000001;
exponents[3] = -0.000000000000001;
exponents[4] = 0.000000000000001;
exponents[5] = 1.000000000000001;
exponents[6] = Math.E;
exponents[7] = Math.PI;
for (var i = 0; i < bases.length; i++) {
for (var j = 0; j < exponents.length; j++) {
assert.sameValue(
bases[i] ** exponents[j],
NaN,
bases[i] + " ** " + exponents[j]
);
}
}
reportCompare(0, 0);