source: rtems/testsuites/libtests/math/domath.h @ dd309b1

4.11
Last change on this file since dd309b1 was 61d2fb4d, checked in by Ralf Corsépius <ralf.corsepius@…>, on May 24, 2012 at 5:15:40 AM

Revert "Revert "libtests/math*: Avoid generated files""

This reverts commit 87c8d8aba6a9582ca5eeacd332b5b107e26ea50f.

  • Property mode set to 100644
File size: 8.0 KB
Line 
1/*
2 * Copyright (c) 2010, 2011 by
3 * Ralf Corsepius, Ulm/Germany. All rights reserved.
4 *
5 * Permission to use, copy, modify, and distribute this software
6 * is freely granted, provided that this notice is preserved.
7 */
8
9#include <math.h>
10#include <stdio.h>
11
12#ifndef M_PI_2
13#define M_PI_2 1.57079632679489661923
14#endif
15
16#ifndef M_PI_4
17#define M_PI_4 0.78539816339744830962
18#endif
19
20#define CONCAT(x, y) x ## y
21#define XCONCAT(x, y) CONCAT(x, y)
22
23#define STRINGIFY(x, y) # x # y
24#define XSTRINGIFY(x, y) STRINGIFY(x, y)
25
26#ifdef SUFFIX
27  #define FUNC(name) XCONCAT(name, SUFFIX)
28  #define STR(name) XSTRINGIFY(name, SUFFIX)
29#else
30  #define FUNC(name) XCONCAT(name, )
31  #define STR(name) XSTRINGIFY(name, ) " "
32#endif
33
34extern void FUNC(domath) (void);
35
36void
37FUNC(domath) (void)
38{
39#ifndef PROVIDE_EMPTY_FUNC
40  FTYPE f1;
41  FTYPE f2;
42
43  int i1;
44
45  f1 = FUNC(acos) (0.0);
46  fprintf( stdout, STR(acos) "          : " PRI "\n", f1);
47
48  f1 = FUNC(acosh) (0.0);
49  fprintf( stdout, STR(acosh) "         : " PRI "\n", f1);
50
51  f1 = FUNC(asin) (1.0);
52  fprintf( stdout, STR(asin) "          : " PRI "\n", f1);
53
54  f1 = FUNC(asinh) (1.0);
55  fprintf( stdout, STR(asinh) "         : " PRI "\n", f1);
56
57  f1 = FUNC(atan) (M_PI_4);
58  fprintf( stdout, STR(atan) "          : " PRI "\n", f1);
59
60  f1 = FUNC(atan2) (2.3, 2.3);
61  fprintf( stdout, STR(atan2) "         : " PRI "\n", f1);
62
63  f1 = FUNC(atanh) (1.0);
64  fprintf( stdout, STR(atanh) "         : " PRI "\n", f1);
65
66  f1 = FUNC(cbrt) (27.0);
67  fprintf( stdout, STR(cbrt) "          : " PRI "\n", f1);
68
69  f1 = FUNC(ceil) (3.5);
70  fprintf( stdout, STR(ceil) "          : " PRI "\n", f1);
71
72  f1 = FUNC(copysign) (3.5, -2.5);
73  fprintf( stdout, STR(copysign) "      : " PRI "\n", f1);
74
75  f1 = FUNC(cos) (M_PI_2);
76  fprintf( stdout, STR(cos) "           : " PRI "\n", f1);
77
78  f1 = FUNC(cosh) (M_PI_2);
79  fprintf( stdout, STR(cosh) "          : " PRI "\n", f1);
80
81  f1 = FUNC(erf) (42.0);
82  fprintf( stdout, STR(erf) "           : " PRI "\n", f1);
83
84  f1 = FUNC(erfc) (42.0);
85  fprintf( stdout, STR(erfc) "          : " PRI "\n", f1);
86
87  f1 = FUNC(exp) (0.42);
88  fprintf( stdout, STR(exp) "           : " PRI "\n", f1);
89
90  f1 = FUNC(exp2) (0.42);
91  fprintf( stdout, STR(exp2) "          : " PRI "\n", f1);
92
93  f1 = FUNC(expm1) (0.00042);
94  fprintf( stdout, STR(expm1) "         : " PRI "\n", f1);
95
96  f1 = FUNC(fabs) (-1.123);
97  fprintf( stdout, STR(fabs) "          : " PRI "\n", f1);
98
99  f1 = FUNC(fdim) (1.123, 2.123);
100  fprintf( stdout, STR(fdim) "          : " PRI "\n", f1);
101
102  f1 = FUNC(floor) (0.5);
103  fprintf( stdout, STR(floor) "         : " PRI "\n", f1);
104  f1 = FUNC(floor) (-0.5);
105  fprintf( stdout, STR(floor) "         : " PRI "\n", f1);
106
107  f1 = FUNC(fma) (2.1, 2.2, 3.01);
108  fprintf( stdout, STR(fma) "           : " PRI "\n", f1);
109
110  f1 = FUNC(fmax) (-0.42, 0.42);
111  fprintf( stdout, STR(fmax) "          : " PRI "\n", f1);
112
113  f1 = FUNC(fmin) (-0.42, 0.42);
114  fprintf( stdout, STR(fmin) "          : " PRI "\n", f1);
115
116  f1 = FUNC(fmod) (42.0, 3.0);
117  fprintf( stdout, STR(fmod) "          : " PRI "\n", f1);
118
119  /* no type-specific variant */
120  i1 = fpclassify(1.0);
121  fprintf( stdout, "fpclassify     : %d\n", i1);
122
123  f1 = FUNC(frexp) (42.0, &i1);
124  fprintf( stdout, STR(frexp) "         : " PRI "\n", f1);
125
126  f1 = FUNC(hypot) (42.0, 42.0);
127  fprintf( stdout, STR(hypot) "         : " PRI "\n", f1);
128
129  i1 = FUNC(ilogb) (42.0);
130  fprintf( stdout, STR(ilogb) "         : %d\n", i1);
131
132  /* no type-specific variant */
133  i1 = isfinite(3.0);
134  fprintf( stdout, "isfinite       : %d\n", i1);
135
136  /* no type-specific variant */
137  i1 = isgreater(3.0, 3.1);
138  fprintf( stdout, "isgreater      : %d\n", i1);
139
140  /* no type-specific variant */
141  i1 = isgreaterequal(3.0, 3.1);
142  fprintf( stdout, "isgreaterequal : %d\n", i1);
143
144  /* no type-specific variant */
145  i1 = isinf(3.0);
146  fprintf( stdout, "isinf          : %d\n", i1);
147
148  /* no type-specific variant */
149  i1 = isless(3.0, 3.1);
150  fprintf( stdout, "isless         : %d\n", i1);
151
152  /* no type-specific variant */
153  i1 = islessequal(3.0, 3.1);
154  fprintf( stdout, "islessequal    : %d\n", i1);
155
156  /* no type-specific variant */
157  i1 = islessgreater(3.0, 3.1);
158  fprintf( stdout, "islessgreater  : %d\n", i1);
159
160  /* no type-specific variant */
161  i1 = isnan(0.0);
162  fprintf( stdout, "isnan          : %d\n", i1);
163
164  /* no type-specific variant */
165  i1 = isnormal(3.0);
166  fprintf( stdout, "isnormal       : %d\n", i1);
167
168  /* no type-specific variant */
169  f1 = isunordered(1.0, 2.0);
170  fprintf( stdout, "isunordered    : %d\n", i1);
171
172  f1 = FUNC(j0) (1.2);
173  fprintf( stdout, STR(j0) "            : " PRI "\n", f1);
174
175  f1 = FUNC(j1) (1.2);
176  fprintf( stdout, STR(j1) "            : " PRI "\n", f1);
177
178  f1 = FUNC(jn) (2,1.2);
179  fprintf( stdout, STR(jn) "            : " PRI "\n", f1);
180
181  f1 = FUNC(ldexp) (1.2,3);
182  fprintf( stdout, STR(ldexp) "         : " PRI "\n", f1);
183
184  f1 = FUNC(lgamma) (42.0);
185  fprintf( stdout, STR(lgamma) "        : " PRI "\n", f1);
186
187  f1 = FUNC(llrint) (-0.5);
188  fprintf( stdout, STR(llrint) "        : " PRI "\n", f1);
189  f1 = FUNC(llrint) (0.5);
190  fprintf( stdout, STR(llrint) "        : " PRI "\n", f1);
191
192  f1 = FUNC(llround) (-0.5);
193  fprintf( stdout, STR(lround) "        : " PRI "\n", f1);
194  f1 = FUNC(llround) (0.5);
195  fprintf( stdout, STR(lround) "        : " PRI "\n", f1);
196
197  f1 = FUNC(log) (42.0);
198  fprintf( stdout, STR(log) "           : " PRI "\n", f1);
199
200  f1 = FUNC(log10) (42.0);
201  fprintf( stdout, STR(log10) "         : " PRI "\n", f1);
202
203  f1 = FUNC(log1p) (42.0);
204  fprintf( stdout, STR(log1p) "         : " PRI "\n", f1);
205
206  f1 = FUNC(log2) (42.0);
207  fprintf( stdout, STR(log2) "          : " PRI "\n", f1);
208
209  f1 = FUNC(logb) (42.0);
210  fprintf( stdout, STR(logb) "          : " PRI "\n", f1);
211
212  f1 = FUNC(lrint) (-0.5);
213  fprintf( stdout, STR(lrint) "         : " PRI "\n", f1);
214  f1 = FUNC(lrint) (0.5);
215  fprintf( stdout, STR(lrint) "         : " PRI "\n", f1);
216
217  f1 = FUNC(lround) (-0.5);
218  fprintf( stdout, STR(lround) "        : " PRI "\n", f1);
219  f1 = FUNC(lround) (0.5);
220  fprintf( stdout, STR(lround) "        : " PRI "\n", f1);
221
222  f1 = FUNC(modf) (42.0,&f2);
223  fprintf( stdout, STR(lmodf) "         : " PRI "\n", f1);
224
225  f1 = FUNC(nan) ("");
226  fprintf( stdout, STR(nan) "           : " PRI "\n", f1);
227
228  f1 = FUNC(nearbyint) (1.5);
229  fprintf( stdout, STR(nearbyint) "     : " PRI "\n", f1);
230
231  f1 = FUNC(nextafter) (1.5,2.0);
232  fprintf( stdout, STR(nextafter) "     : " PRI "\n", f1);
233
234  f1 = FUNC(pow) (3.01, 2.0);
235  fprintf( stdout, STR(pow) "           : " PRI "\n", f1);
236
237  f1 = FUNC(remainder) (3.01,2.0);
238  fprintf( stdout, STR(remainder) "     : " PRI "\n", f1);
239
240  f1 = FUNC(remquo) (29.0,3.0,&i1);
241  fprintf( stdout, STR(remquo) "        : " PRI "\n", f1);
242
243  f1 = FUNC(rint) (0.5);
244  fprintf( stdout, STR(rint) "          : " PRI "\n", f1);
245  f1 = FUNC(rint) (-0.5);
246  fprintf( stdout, STR(rint) "          : " PRI "\n", f1);
247
248  f1 = FUNC(round) (0.5);
249  fprintf( stdout, STR(round) "         : " PRI "\n", f1);
250  f1 = FUNC(round) (-0.5);
251  fprintf( stdout, STR(round) "         : " PRI "\n", f1);
252
253  f1 = FUNC(scalbln) (1.2,3);
254  fprintf( stdout, STR(scalbln) "       : " PRI "\n", f1);
255
256  f1 = FUNC(scalbn) (1.2,3);
257  fprintf( stdout, STR(scalbn) "        : " PRI "\n", f1);
258
259  /* no type-specific variant */
260  i1 = signbit(1.0);
261  fprintf( stdout, "signbit        : %i\n", i1);
262
263  f1 = FUNC(sin) (M_PI_4);
264  fprintf( stdout, STR(sin) "           : " PRI "\n", f1);
265
266  f1 = FUNC(sinh) (M_PI_4);
267  fprintf( stdout, STR(sinh) "          : " PRI "\n", f1);
268
269  f1 = FUNC(sqrt) (9.0);
270  fprintf( stdout, STR(sqrt) "          : " PRI "\n", f1);
271
272  f1 = FUNC(tan) (M_PI_4);
273  fprintf( stdout, STR(tan) "           : " PRI "\n", f1);
274
275  f1 = FUNC(tanh) (M_PI_4);
276  fprintf( stdout, STR(tanh) "          : " PRI "\n", f1);
277
278  f1 = FUNC(tgamma) (2.1);
279  fprintf( stdout, STR(tgamma) "        : " PRI "\n", f1);
280
281  f1 = FUNC(trunc) (3.5);
282  fprintf( stdout, STR(trunc) "         : " PRI "\n", f1);
283
284  f1 = FUNC(y0) (1.2);
285  fprintf( stdout, STR(y0) "            : " PRI "\n", f1);
286
287  f1 = FUNC(y1) (1.2);
288  fprintf( stdout, STR(y1) "            : " PRI "\n", f1);
289
290  f1 = FUNC(yn) (3,1.2);
291  fprintf( stdout, STR(yn) "            : " PRI "\n", f1);
292#endif
293}
Note: See TracBrowser for help on using the repository browser.