[t][TT #1610] Add tests for Parrot_compile_string
[parrot.git] / t / dynoplibs / obscure.t
blob225b28c5407fecefb4a5146dd61be9487f223a97
1 #!./parrot
2 # Copyright (C) 2009-2010, Parrot Foundation.
3 # $Id$
5 =head1 NAME
7 t/dynoplibs/obscure.t - Tests for obscure mathematical functions
9 =head1 SYNOPSIS
11         % prove t/dynoblibs/obscure.t
13 =head1 DESCRIPTION
15 Tests obscure.ops
17 =cut
19 .loadlib 'obscure_ops'
20 .sub main :main
21     .include 'fp_equality.pasm'
22     .include 'test_more.pir'
23     plan(17)
24     ok(1,"load obscure_ops")
26     test_covers()
27     test_vers()
28     test_hav()
29     test_exsec()
30 .end
32 .sub test_covers
33     .local num x, pi, halfpi, y
34     y      = atan 1.0, 1.0
35     halfpi = y
36     halfpi *= 2
37     pi     = halfpi
38     pi     *= 2
39     covers x, 0
40     .fp_eq_ok(x, 1, "covers of 0")
41     covers x, halfpi
42     .fp_eq_ok(x, 0, 'covers of pi/2')
43     covers x, pi
44     .fp_eq_ok(x, 1, 'covers of pi')
45     covers x, y
46     .fp_eq_ok(x, 0.292893218813453, 'covers of pi/4')
47 .end
49 .sub test_vers
50     .local num x, pi, halfpi, y
51     y      = atan 1.0, 1.0
52     halfpi = y
53     halfpi *= 2
54     pi     = halfpi
55     pi     *= 2
56     vers x, 0
57     .fp_eq_ok(x, 0, "vers of 0")
58     vers x, halfpi
59     .fp_eq_ok(x, 1, 'vers of pi/2')
60     vers x, pi
61     .fp_eq_ok(x, 2, 'vers of pi')
62     vers x, y
63     .fp_eq_ok(x, 0.292893218813453, 'covers of pi/4')
64 .end
66 .sub test_hav
67     .local num x, pi, halfpi, y
68     y      = atan 1.0, 1.0
69     halfpi = y
70     halfpi *= 2
71     pi     = halfpi
72     pi     *= 2
73     hav x, 0
74     .fp_eq_ok(x, 0, "hav of 0")
75     hav x, halfpi
76     .fp_eq_ok(x, 0.5, 'hav of pi/2')
77     hav x, pi
78     .fp_eq_ok(x, 1, 'hav of pi')
79     hav x, y
80     .fp_eq_ok(x, 0.146446609406726, 'hav of pi/4')
81 .end
83 .sub test_exsec
84     .local num x, pi, halfpi, y
85     y      = atan 1.0, 1.0
86     halfpi = y
87     halfpi *= 2
88     pi     = halfpi
89     pi     *= 2
90     hav x, 0
91     .fp_eq_ok(x, 0, "exsec of 0")
92     exsec x, halfpi
93     .fp_eq_ok(x, 'nan', 'exsec of pi/2')
94     exsec x, pi
95     .fp_eq_ok(x, -2, 'exsec of pi')
96     exsec x, y
97     .fp_eq_ok(x, 0.414213562373095, 'exsec of pi/4')
98 .end
101 # Local Variables:
102 #   mode: pir
103 #   fill-column: 100
104 # End:
105 # vim: expandtab shiftwidth=4 ft=pir: