summaryrefslogtreecommitdiff
path: root/ext/standard/tests/math/sin_basic.phpt
blob: f9be13bec9024282fd3f7bc83508f3a776b39c1a (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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
--TEST--
Test return type and value for expected input sin()
--INI--
precision = 14
--FILE--
<?php
/*
 * proto float sin(float number)
 * Function is implemented in ext/standard/math.c
*/

$file_path = __DIR__;
require($file_path."/allowed_rounding_error.inc");


// Use known values to test

$sixty = M_PI / 3.0;
$thirty = M_PI / 6.0;
$ninety = M_PI /2.0;
$oneeighty = M_PI;
$twoseventy = M_PI * 1.5;
$threesixty = M_PI * 2.0;


echo "sin 30 = ";
var_dump(sin($thirty));
if (allowed_rounding_error(sin($thirty),0.5)) {
	echo "Pass\n";
}
else {
	echo "Fail\n";
}

echo "sin 60 = ";
var_dump(sin($sixty));
if (allowed_rounding_error(sin($sixty),0.86602540378444)) {
	echo "Pass\n";
}
else {
	echo "Fail\n";
}

echo "sin 90 = ";
var_dump(sin($ninety));
if (allowed_rounding_error(sin($ninety),1.0)) {
	echo "Pass\n";
}
else {
	echo "Fail\n";
}

echo "sin 180 = ";
var_dump(sin($oneeighty));
if (allowed_rounding_error(sin($oneeighty),0.0)) {
	echo "Pass\n";
}
else {
	echo "Fail\n";
}

echo "sin 270 = ";
var_dump(sin($twoseventy));
if (allowed_rounding_error(sin($twoseventy),-1.0)) {
	echo "Pass\n";
}
else {
	echo "Fail\n";
}

echo "sin 360 = ";
var_dump(sin($threesixty));
if (allowed_rounding_error(sin($threesixty),0.0)) {
	echo "Pass\n";
}
else {
	echo "Fail\n";
}
?>
--EXPECTF--
sin 30 = float(%f)
Pass
sin 60 = float(%f)
Pass
sin 90 = float(%f)
Pass
sin 180 = float(%f)
Pass
sin 270 = float(%f)
Pass
sin 360 = float(%f)
Pass