2 # Copyright (C) 2008, The Perl Foundation.
7 t/php/math.t - Standard Library math
11 % perl -I../lib pipp/t/php/math.t
15 Tests PHP Standard Library math
16 (implemented in F<languages/pipp/src/common/php_math.pir>).
18 See L<http://www.php.net/manual/en/ref.math.php>.
26 use lib "$FindBin::Bin/../../lib";
28 use Test::More tests => 39;
32 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'abs' );
35 echo abs(-3.14), "\n";
38 echo abs('0x03'), "\n";
40 echo abs('-3.14'), "\n";
41 echo abs(' 0x03'), "\n";
42 echo abs(' -3'), "\n";
43 echo abs(' -3.14'), "\n";
44 echo abs(' 0x03 '), "\n";
45 echo abs(' -3 '), "\n";
46 echo abs(' -3.14 '), "\n";
47 echo abs('str'), "\n";
48 echo abs(' str'), "\n";
49 echo abs(' str '), "\n";
50 $hello['world'] = 'hi';
51 echo abs($hello), "\n";
73 language_output_like( 'Pipp', <<'CODE', <<'OUTPUT', 'acos' );
81 language_output_like( 'Pipp', <<'CODE', <<'OUTPUT', 'acosh' );
83 echo acosh(1.5), "\n";
89 language_output_like( 'Pipp', <<'CODE', <<'OUTPUT', 'asin' );
97 language_output_like( 'Pipp', <<'CODE', <<'OUTPUT', 'asinh' );
99 echo asinh(0.5), "\n";
105 language_output_like( 'Pipp', <<'CODE', <<'OUTPUT', 'atan' );
107 echo atan(0.5), "\n";
113 language_output_like( 'Pipp', <<'CODE', <<'OUTPUT', 'atanh' );
115 echo atanh(0.5), "\n";
121 language_output_like( 'Pipp', <<'CODE', <<'OUTPUT', 'atan2' );
123 echo atan2(1, 2), "\n";
129 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'base_convert' );
131 echo base_convert(126, 10, 16), "\n";
137 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'bindec' );
139 echo bindec('0101'), "\n";
145 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'ceil' );
147 echo ceil(3.14), "\n";
153 language_output_like( 'Pipp', <<'CODE', <<'OUTPUT', 'cos' );
161 language_output_like( 'Pipp', <<'CODE', <<'OUTPUT', 'cosh' );
163 echo cosh(0.5), "\n";
169 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'decbin' );
171 echo decbin(126), "\n";
177 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'dechex' );
179 echo dechex(126), "\n";
185 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'decoct' );
187 echo decoct(126), "\n";
193 language_output_like( 'Pipp', <<'CODE', <<'OUTPUT', 'deg2rad' );
195 echo deg2rad(90), "\n";
201 language_output_like( 'Pipp', <<'CODE', <<'OUTPUT', 'exp' );
209 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'floor' );
211 echo floor(3.14), "\n";
217 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'fmod' );
219 echo fmod(3.14, 2.5), "\n";
225 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'hexdec' );
227 echo hexdec('7E'), "\n";
233 language_output_like( 'Pipp', <<'CODE', <<'OUTPUT', 'hypot' );
235 echo hypot(1, 2), "\n";
241 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'is_finite' );
243 echo is_finite(3.14), "\n";
249 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'is_infinite' );
251 echo is_infinite(3.14), "\n";
257 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'is_nan' );
259 echo is_nan(3.14), "\n";
265 language_output_like( 'Pipp', <<'CODE', <<'OUTPUT', 'log' );
273 language_output_like( 'Pipp', <<'CODE', <<'OUTPUT', 'log' );
275 echo log(10, 2), "\n";
281 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'log10' );
283 echo log10(100), "\n";
289 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'number_format' );
291 echo number_format(42), "\n";
292 echo number_format(-4096), "\n";
293 echo number_format(123456789), "\n";
294 echo number_format(3.14159, 2), "\n";
303 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'octdec' );
305 echo octdec('0777'), "\n";
311 language_output_like( 'Pipp', <<'CODE', <<'OUTPUT', 'pi' );
319 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'pow' );
321 echo pow(2, 3), "\n";
322 echo pow(1.5, 2), "\n";
329 language_output_like( 'Pipp', <<'CODE', <<'OUTPUT', 'rad2deg' );
331 echo rad2deg(0.5), "\n";
337 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'round' );
339 echo round(3.14159), "\n";
340 echo round(3.14159, 2), "\n";
341 echo round(3.14159, 4), "\n";
349 language_output_like( 'Pipp', <<'CODE', <<'OUTPUT', 'sin' );
357 language_output_like( 'Pipp', <<'CODE', <<'OUTPUT', 'sinh' );
359 echo sinh(0.5), "\n";
365 language_output_like( 'Pipp', <<'CODE', <<'OUTPUT', 'sqrt' );
367 echo sqrt(0.5), "\n";
373 language_output_like( 'Pipp', <<'CODE', <<'OUTPUT', 'tan' );
381 language_output_like( 'Pipp', <<'CODE', <<'OUTPUT', 'tanh' );
383 echo tanh(0.5), "\n";
391 # cperl-indent-level: 4
394 # vim: expandtab shiftwidth=4: