]>
Commit | Line | Data |
---|---|---|
1 | /* Test carg. | |
2 | Copyright (C) 1997-2018 Free Software Foundation, Inc. | |
3 | This file is part of the GNU C Library. | |
4 | ||
5 | The GNU C Library is free software; you can redistribute it and/or | |
6 | modify it under the terms of the GNU Lesser General Public | |
7 | License as published by the Free Software Foundation; either | |
8 | version 2.1 of the License, or (at your option) any later version. | |
9 | ||
10 | The GNU C Library is distributed in the hope that it will be useful, | |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 | Lesser General Public License for more details. | |
14 | ||
15 | You should have received a copy of the GNU Lesser General Public | |
16 | License along with the GNU C Library; if not, see | |
17 | <http://www.gnu.org/licenses/>. */ | |
18 | ||
19 | #include "libm-test-driver.c" | |
20 | ||
21 | static const struct test_c_f_data carg_test_data[] = | |
22 | { | |
23 | /* carg (x + iy) is specified as atan2 (y, x) */ | |
24 | ||
25 | /* carg (inf + i y) == +0 for finite y > 0. */ | |
26 | TEST_c_f (carg, plus_infty, 2.0, 0), | |
27 | ||
28 | /* carg (inf + i y) == -0 for finite y < 0. */ | |
29 | TEST_c_f (carg, plus_infty, -2.0, minus_zero), | |
30 | ||
31 | /* carg(x + i inf) == pi/2 for finite x. */ | |
32 | TEST_c_f (carg, 10.0, plus_infty, lit_pi_2_d), | |
33 | ||
34 | /* carg(x - i inf) == -pi/2 for finite x. */ | |
35 | TEST_c_f (carg, 10.0, minus_infty, -lit_pi_2_d), | |
36 | ||
37 | /* carg (-inf + i y) == +pi for finite y > 0. */ | |
38 | TEST_c_f (carg, minus_infty, 10.0, lit_pi), | |
39 | ||
40 | /* carg (-inf + i y) == -pi for finite y < 0. */ | |
41 | TEST_c_f (carg, minus_infty, -10.0, -lit_pi), | |
42 | ||
43 | TEST_c_f (carg, plus_infty, plus_infty, lit_pi_4_d), | |
44 | ||
45 | TEST_c_f (carg, plus_infty, minus_infty, -lit_pi_4_d), | |
46 | ||
47 | TEST_c_f (carg, minus_infty, plus_infty, lit_pi_3_m_4_d), | |
48 | ||
49 | TEST_c_f (carg, minus_infty, minus_infty, -lit_pi_3_m_4_d), | |
50 | ||
51 | TEST_c_f (carg, qnan_value, qnan_value, qnan_value), | |
52 | ||
53 | AUTO_TESTS_c_f (carg), | |
54 | }; | |
55 | ||
56 | static void | |
57 | carg_test (void) | |
58 | { | |
59 | ALL_RM_TEST (carg, 0, carg_test_data, RUN_TEST_LOOP_c_f, END); | |
60 | } | |
61 | ||
62 | static void | |
63 | do_test (void) | |
64 | { | |
65 | carg_test (); | |
66 | } | |
67 | ||
68 | /* | |
69 | * Local Variables: | |
70 | * mode:c | |
71 | * End: | |
72 | */ |