]>
git.saurik.com Git - apple/javascriptcore.git/blob - tests/stress/math-log-basics.js
1 // Basic cases of Math.log().
4 function logNaN(antilogarithm
) {
5 return Math
.log(antilogarithm
);
9 function testLogNaN() {
10 for (var i
= 0; i
< 10000; ++i
) {
11 var result
= logNaN(NaN
);
13 throw "logNaN(NaN) = " + result
+ ", expected NaN";
20 function logZero(antilogarithm
) {
21 return Math
.log(antilogarithm
);
25 function testLogZero() {
26 for (var i
= 0; i
< 10000; ++i
) {
27 var result
= logZero(0);
28 if (result
!== -Infinity
)
29 throw "logZero(0) = " + result
+ ", expected -Infinity";
36 function logOne(antilogarithm
) {
37 return Math
.log(antilogarithm
);
41 function testLogOne() {
42 for (var i
= 0; i
< 10000; ++i
) {
43 var result
= logOne(1);
45 throw "logOne(1) = " + result
+ ", expected 0";
52 function logMinusOne(antilogarithm
) {
53 return Math
.log(antilogarithm
);
55 noInline(logMinusOne
);
57 function testLogMinusOne() {
58 for (var i
= 0; i
< 10000; ++i
) {
59 var result
= logMinusOne(-1);
61 throw "logMinusOne(-1) = " + result
+ ", expected NaN";
68 function logInfinity(antilogarithm
) {
69 return Math
.log(antilogarithm
);
71 noInline(logInfinity
);
73 function testLogInfinity() {
74 for (var i
= 0; i
< 10000; ++i
) {
75 var result
= logInfinity(Infinity
);
76 if (result
!== Infinity
)
77 throw "logInfinity(Infinity) = " + result
+ ", expected Infinity";
84 function logMinusInfinity(antilogarithm
) {
85 return Math
.log(antilogarithm
);
87 noInline(logMinusInfinity
);
89 function testLogMinusInfinity() {
90 for (var i
= 0; i
< 10000; ++i
) {
91 var result
= logMinusInfinity(-Infinity
);
93 throw "logMinusInfinity(-Infinity) = " + result
+ ", expected NaN";
96 testLogMinusInfinity();
100 function logInteger(antilogarithm
) {
101 return Math
.log(antilogarithm
);
103 noInline(logInteger
);
105 function testLogInteger() {
106 for (var i
= 0; i
< 10000; ++i
) {
107 var result
= logInteger(42);
108 if (result
!== 3.7376696182833684)
109 throw "logInteger(42) = " + result
+ ", expected 3.7376696182833684";
116 function logDouble(antilogarithm
) {
117 return Math
.log(antilogarithm
);
121 function testLogDouble() {
122 for (var i
= 0; i
< 10000; ++i
) {
123 var result
= logDouble(Math
.PI
);
124 if (result
!== 1.1447298858494002)
125 throw "logDouble(Math.PI) = " + result
+ ", expected 1.1447298858494002";