michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: michael@0: /** michael@0: File Name: 15.8.2.10.js michael@0: ECMA Section: 15.8.2.10 Math.log(x) michael@0: Description: return an approximiation to the natural logarithm of michael@0: the argument. michael@0: special cases: michael@0: - if arg is NaN result is NaN michael@0: - if arg is <0 result is NaN michael@0: - if arg is 0 or -0 result is -Infinity michael@0: - if arg is 1 result is 0 michael@0: - if arg is Infinity result is Infinity michael@0: Author: christine@netscape.com michael@0: Date: 7 july 1997 michael@0: */ michael@0: michael@0: var SECTION = "15.8.2.10"; michael@0: var VERSION = "ECMA_1"; michael@0: var TITLE = "Math.log(x)"; michael@0: var BUGNUMBER = "77391"; michael@0: michael@0: startTest(); michael@0: michael@0: writeHeaderToLog( SECTION + " "+ TITLE); michael@0: michael@0: michael@0: new TestCase( SECTION, michael@0: "Math.log.length", michael@0: 1, michael@0: Math.log.length ); michael@0: michael@0: michael@0: new TestCase( SECTION, michael@0: "Math.log()", michael@0: Number.NaN, michael@0: Math.log() ); michael@0: michael@0: new TestCase( SECTION, michael@0: "Math.log(void 0)", michael@0: Number.NaN, michael@0: Math.log(void 0) ); michael@0: michael@0: new TestCase( SECTION, michael@0: "Math.log(null)", michael@0: Number.NEGATIVE_INFINITY, michael@0: Math.log(null) ); michael@0: michael@0: new TestCase( SECTION, michael@0: "Math.log(true)", michael@0: 0, michael@0: Math.log(true) ); michael@0: michael@0: new TestCase( SECTION, michael@0: "Math.log(false)", michael@0: -Infinity, michael@0: Math.log(false) ); michael@0: michael@0: new TestCase( SECTION, michael@0: "Math.log('0')", michael@0: -Infinity, michael@0: Math.log('0') ); michael@0: michael@0: new TestCase( SECTION, michael@0: "Math.log('1')", michael@0: 0, michael@0: Math.log('1') ); michael@0: michael@0: new TestCase( SECTION, michael@0: "Math.log('Infinity')", michael@0: Infinity, michael@0: Math.log("Infinity") ); michael@0: michael@0: michael@0: new TestCase( SECTION, michael@0: "Math.log(NaN)", michael@0: Number.NaN, michael@0: Math.log(Number.NaN) ); michael@0: michael@0: new TestCase( SECTION, michael@0: "Math.log(-0.0000001)", michael@0: Number.NaN, michael@0: Math.log(-0.000001) ); michael@0: michael@0: new TestCase( SECTION, michael@0: "Math.log(-1)", michael@0: Number.NaN, michael@0: Math.log(-1) ); michael@0: michael@0: new TestCase( SECTION, michael@0: "Math.log(0)", michael@0: Number.NEGATIVE_INFINITY, michael@0: Math.log(0) ); michael@0: michael@0: new TestCase( SECTION, michael@0: "Math.log(-0)", michael@0: Number.NEGATIVE_INFINITY, michael@0: Math.log(-0)); michael@0: michael@0: new TestCase( SECTION, michael@0: "Math.log(1)", michael@0: 0, michael@0: Math.log(1) ); michael@0: michael@0: new TestCase( SECTION, michael@0: "Math.log(Infinity)", michael@0: Number.POSITIVE_INFINITY, michael@0: Math.log(Number.POSITIVE_INFINITY) ); michael@0: michael@0: new TestCase( SECTION, michael@0: "Math.log(-Infinity)", michael@0: Number.NaN, michael@0: Math.log(Number.NEGATIVE_INFINITY) ); michael@0: michael@0: test();