summaryrefslogtreecommitdiff
path: root/ext/standard/tests/math/log.phpt
blob: 31c5e2ae8567d2a0b43361cb3f7c44230922713f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
--TEST--
log() tests
--FILE--
<?php
echo "On failure, please mail result to php-dev@lists.php.net\n";
for ($x = 0, $count= 0; $x < 200; $x++) {
    $x2 = (int) exp(log($x));
    // e ^ log(x) should be close in range to x
    if (($x2 < ($x + 2)) && ($x2 > ($x - 2))) { 
        $count++; 
    } else {
        print "$x : $x2\n";
    }
}
print $count . "\n";

// Now test the base form of log
for ($base = 2; $base < 11; $base++) {
    for ($x = 0, $count= 0; $x < 50; $x++) {
        $x2 = (int) pow($base, log($x, $base));
        // base ^ log(x) should be close in range to x
        if (($x2 < ($x + 2)) && ($x2 > ($x - 2))) { 
            $count++; 
        } else {
             print "base $base: $x : $x2\n";
        }
    }
    print $count . "\n";
}
?>
--EXPECT--
On failure, please mail result to php-dev@lists.php.net
200
50
50
50
50
50
50
50
50
50