source: rtems/testsuites/libtests/mathl/domathl.c @ 2e50ba1a

4.115
Last change on this file since 2e50ba1a was 2e50ba1a, checked in by Ralf Corsepius <ralf.corsepius@…>, on 02/02/11 at 13:58:02

New (Split out from math/).

  • Property mode set to 100644
File size: 6.7 KB
Line 
1/*
2 * Copyright (c) 2010 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/*
10 * Try to compile and link against POSIX math routines.
11 */
12
13#include <math.h>
14#include <stdio.h>
15
16#ifndef M_PI_2
17#define M_PI_2 1.57079632679489661923
18#endif
19
20#ifndef M_PI_4
21#define M_PI_4 0.78539816339744830962
22#endif
23
24void
25domathl (void)
26{
27#ifndef NO_LONG_DOUBLE
28  long double f1;
29  long double f2;
30
31  int i1;
32
33  f1 = acosl(0.0);
34  fprintf( stdout, "acosl          : %Lf\n", f1);
35
36  f1 = acoshl(0.0);
37  fprintf( stdout, "acoshl         : %Lf\n", f1);
38
39  f1 = asinl(1.0);
40  fprintf( stdout, "asinl          : %Lf\n", f1);
41
42  f1 = asinhl(1.0);
43  fprintf( stdout, "asinhl         : %Lf\n", f1);
44
45  f1 = atanl(M_PI_4);
46  fprintf( stdout, "atanl          : %Lf\n", f1);
47
48  f1 = atan2l(2.3, 2.3);
49  fprintf( stdout, "atan2l         : %Lf\n", f1);
50
51  f1 = atanhl(1.0);
52  fprintf( stdout, "atanhl         : %Lf\n", f1);
53
54  f1 = cbrtl(27.0);
55  fprintf( stdout, "cbrtl          : %Lf\n", f1);
56
57  f1 = ceill(3.5);
58  fprintf( stdout, "ceill          : %Lf\n", f1);
59
60  f1 = copysignl(3.5, -2.5);
61  fprintf( stdout, "copysignl      : %Lf\n", f1);
62
63  f1 = cosl(M_PI_2);
64  fprintf( stdout, "cosl           : %Lf\n", f1);
65
66  f1 = coshl(M_PI_2);
67  fprintf( stdout, "coshl          : %Lf\n", f1);
68
69  f1 = erfl(42.0);
70  fprintf( stdout, "erfl           : %Lf\n", f1);
71
72  f1 = erfcl(42.0);
73  fprintf( stdout, "erfcl          : %Lf\n", f1);
74
75  f1 = expl(0.42);
76  fprintf( stdout, "expl           : %Lf\n", f1);
77
78  f1 = exp2l(0.42);
79  fprintf( stdout, "exp2l          : %Lf\n", f1);
80
81  f1 = expm1l(0.00042);
82  fprintf( stdout, "expm1l         : %Lf\n", f1);
83
84  f1 = fabsl(-1.123);
85  fprintf( stdout, "fabsl          : %Lf\n", f1);
86
87  f1 = fdiml(1.123, 2.123);
88  fprintf( stdout, "fdiml          : %Lf\n", f1);
89
90  f1 = floorl(0.5);
91  fprintf( stdout, "floorl         : %Lf\n", f1);
92  f1 = floorl(-0.5);
93  fprintf( stdout, "floorl         : %Lf\n", f1);
94
95  f1 = fmal(2.1, 2.2, 3.01);
96  fprintf( stdout, "fmal           : %Lf\n", f1);
97
98  f1 = fmaxl(-0.42, 0.42);
99  fprintf( stdout, "fmaxl          : %Lf\n", f1);
100
101  f1 = fminl(-0.42, 0.42);
102  fprintf( stdout, "fminl          : %Lf\n", f1);
103
104  f1 = fmodl(42.0, 3.0);
105  fprintf( stdout, "fmodl          : %Lf\n", f1);
106
107  /* no type-specific variant */
108  i1 = fpclassify(1.0);
109  fprintf( stdout, "fpclassify     : %d\n", i1);
110
111  f1 = frexpl(42.0, &i1);
112  fprintf( stdout, "frexpl         : %Lf\n", f1);
113
114  f1 = hypotl(42.0, 42.0);
115  fprintf( stdout, "hypotl         : %Lf\n", f1);
116
117  i1 = ilogbl(42.0);
118  fprintf( stdout, "ilogbl         : %d\n", i1);
119
120  /* no type-specific variant */
121  i1 = isfinite(3.0);
122  fprintf( stdout, "isfinite       : %d\n", i1);
123
124  /* no type-specific variant */
125  i1 = isgreater(3.0, 3.1);
126  fprintf( stdout, "isgreater      : %d\n", i1);
127
128  /* no type-specific variant */
129  i1 = isgreaterequal(3.0, 3.1);
130  fprintf( stdout, "isgreaterequal : %d\n", i1);
131
132  /* no type-specific variant */
133  i1 = isinf(3.0);
134  fprintf( stdout, "isinf          : %d\n", i1);
135
136  /* no type-specific variant */
137  i1 = isless(3.0, 3.1);
138  fprintf( stdout, "isless         : %d\n", i1);
139
140  /* no type-specific variant */
141  i1 = islessequal(3.0, 3.1);
142  fprintf( stdout, "islessequal    : %d\n", i1);
143
144  /* no type-specific variant */
145  i1 = islessgreater(3.0, 3.1);
146  fprintf( stdout, "islessgreater  : %d\n", i1);
147
148  /* no type-specific variant */
149  i1 = isnan(0.0);
150  fprintf( stdout, "isnan          : %d\n", i1);
151
152  /* no type-specific variant */
153  i1 = isnormal(3.0);
154  fprintf( stdout, "isnormal       : %d\n", i1);
155
156  /* no type-specific variant */
157  f1 = isunordered(1.0, 2.0);
158  fprintf( stdout, "isunordered    : %d\n", i1);
159
160  f1 = j0l(1.2);
161  fprintf( stdout, "j0l            : %Lf\n", f1);
162
163  f1 = j1l(1.2);
164  fprintf( stdout, "j1l            : %Lf\n", f1);
165
166  f1 = jnl(2,1.2);
167  fprintf( stdout, "jnl            : %Lf\n", f1);
168
169  f1 = ldexpl(1.2,3);
170  fprintf( stdout, "ldexpl         : %Lf\n", f1);
171
172  f1 = lgammal(42.0);
173  fprintf( stdout, "lgammal        : %Lf\n", f1);
174
175  f1 = llrintl(-0.5);
176  fprintf( stdout, "llrintl        : %Lf\n", f1);
177  f1 = llrintl(0.5);
178  fprintf( stdout, "llrintl        : %Lf\n", f1);
179
180  f1 = llroundl(-0.5);
181  fprintf( stdout, "lroundl        : %Lf\n", f1);
182  f1 = llroundl(0.5);
183  fprintf( stdout, "lroundl        : %Lf\n", f1);
184
185  f1 = logl(42.0);
186  fprintf( stdout, "logl           : %Lf\n", f1);
187
188  f1 = log10l(42.0);
189  fprintf( stdout, "log10l         : %Lf\n", f1);
190
191  f1 = log1pl(42.0);
192  fprintf( stdout, "log1pl         : %Lf\n", f1);
193
194  f1 = log2l(42.0);
195  fprintf( stdout, "log2l          : %Lf\n", f1);
196
197  f1 = logbl(42.0);
198  fprintf( stdout, "logbl          : %Lf\n", f1);
199
200  f1 = lrintl(-0.5);
201  fprintf( stdout, "lrintl         : %Lf\n", f1);
202  f1 = lrintl(0.5);
203  fprintf( stdout, "lrintl         : %Lf\n", f1);
204
205  f1 = lroundl(-0.5);
206  fprintf( stdout, "lroundl        : %Lf\n", f1);
207  f1 = lroundl(0.5);
208  fprintf( stdout, "lroundl        : %Lf\n", f1);
209
210  f1 = modfl(42.0,&f2);
211  fprintf( stdout, "lmodfl         : %Lf\n", f1);
212
213  f1 = nanl("");
214  fprintf( stdout, "nanl           : %Lf\n", f1);
215
216  f1 = nearbyintl(1.5);
217  fprintf( stdout, "nearbyintl     : %Lf\n", f1);
218
219  f1 = nextafterl(1.5,2.0);
220  fprintf( stdout, "nextafterl     : %Lf\n", f1);
221
222  f1 = powl(3.01, 2.0);
223  fprintf( stdout, "powl           : %Lf\n", f1);
224
225  f1 = remainderl(3.01,2.0);
226  fprintf( stdout, "remainderl     : %Lf\n", f1);
227
228  f1 = remquol(29.0,3.0,&i1);
229  fprintf( stdout, "remquol        : %Lf\n", f1);
230
231  f1 = rintl(0.5);
232  fprintf( stdout, "rintl          : %Lf\n", f1);
233  f1 = rintl(-0.5);
234  fprintf( stdout, "rintl          : %Lf\n", f1);
235
236  f1 = roundl(0.5);
237  fprintf( stdout, "roundl         : %Lf\n", f1);
238  f1 = roundl(-0.5);
239  fprintf( stdout, "roundl         : %Lf\n", f1);
240
241  f1 = scalblnl(1.2,3);
242  fprintf( stdout, "scalblnl       : %Lf\n", f1);
243
244  f1 = scalbnl(1.2,3);
245  fprintf( stdout, "scalbnl        : %Lf\n", f1);
246
247  /* no type-specific variant */
248  i1 = signbit(1.0);
249  fprintf( stdout, "signbit        : %i\n", i1);
250
251  f1 = sinl(M_PI_4);
252  fprintf( stdout, "sinl           : %Lf\n", f1);
253
254  f1 = sinhl(M_PI_4);
255  fprintf( stdout, "sinhl          : %Lf\n", f1);
256
257  f1 = sqrtl(9.0);
258  fprintf( stdout, "sqrtl          : %Lf\n", f1);
259
260  f1 = tanl(M_PI_4);
261  fprintf( stdout, "tanl           : %Lf\n", f1);
262
263  f1 = tanhl(M_PI_4);
264  fprintf( stdout, "tanhl          : %Lf\n", f1);
265
266  f1 = tgammal(2.1);
267  fprintf( stdout, "tgammal        : %Lf\n", f1);
268
269  f1 = truncl(3.5);
270  fprintf( stdout, "truncl         : %Lf\n", f1);
271
272  f1 = y0l(1.2);
273  fprintf( stdout, "y0l            : %Lf\n", f1);
274
275  f1 = y1l(1.2);
276  fprintf( stdout, "y1l            : %Lf\n", f1);
277
278  f1 = ynl(3,1.2);
279  fprintf( stdout, "ynl            : %Lf\n", f1);
280#endif
281}
Note: See TracBrowser for help on using the repository browser.