OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [libstdc++-v3/] [testsuite/] [tr1/] [8_c_compatibility/] [cmath/] [overloads.cc] - Blame information for rev 424

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 424 jeremybenn
// { dg-do compile }
2
 
3
// 2006-03-07  Paolo Carlini  <pcarlini@suse.de>
4
//
5
// Copyright (C) 2006, 2009 Free Software Foundation, Inc.
6
//
7
// This file is part of the GNU ISO C++ Library.  This library is free
8
// software; you can redistribute it and/or modify it under the
9
// terms of the GNU General Public License as published by the
10
// Free Software Foundation; either version 3, or (at your option)
11
// any later version.
12
//
13
// This library is distributed in the hope that it will be useful,
14
// but WITHOUT ANY WARRANTY; without even the implied warranty of
15
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
// GNU General Public License for more details.
17
//
18
// You should have received a copy of the GNU General Public License along
19
// with this library; see the file COPYING3.  If not see
20
// <http://www.gnu.org/licenses/>.
21
 
22
// 8.16.4 Additional overloads
23
 
24
#include <tr1/cmath>
25
#include <testsuite_tr1.h>
26
 
27
void test01()
28
{
29
#if _GLIBCXX_USE_C99_MATH_TR1
30
 
31
  using namespace __gnu_test;
32
 
33
  double d0 = 0.0;
34
  float f0 = 0.0f;
35
  long double ld0 = 0.0l;
36
  int i0 = 0;
37
  int* pquo = 0;
38
  long lex = 0l;
39
  int ex = 0;
40
 
41
  check_ret_type<double>(std::tr1::atan2(d0, d0));
42
  check_ret_type<double>(std::tr1::atan2(d0, f0));
43
  check_ret_type<float>(std::tr1::atan2(f0, f0));
44
  check_ret_type<long double>(std::tr1::atan2(ld0, ld0));
45
  check_ret_type<long double>(std::tr1::atan2(ld0, d0));
46
  check_ret_type<double>(std::tr1::atan2(i0, i0));
47
  check_ret_type<double>(std::tr1::atan2(d0, i0));
48
 
49
  check_ret_type<double>(std::tr1::acosh(d0));
50
  check_ret_type<float>(std::tr1::acosh(f0));
51
  check_ret_type<long double>(std::tr1::acosh(ld0));
52
  check_ret_type<double>(std::tr1::acosh(i0));
53
 
54
  check_ret_type<double>(std::tr1::asinh(d0));
55
  check_ret_type<float>(std::tr1::asinh(f0));
56
  check_ret_type<long double>(std::tr1::asinh(ld0));
57
  check_ret_type<double>(std::tr1::asinh(i0));
58
 
59
  check_ret_type<double>(std::tr1::atanh(d0));
60
  check_ret_type<float>(std::tr1::atanh(f0));
61
  check_ret_type<long double>(std::tr1::atanh(ld0));
62
  check_ret_type<double>(std::tr1::atanh(i0));
63
 
64
  check_ret_type<double>(std::tr1::cbrt(d0));
65
  check_ret_type<float>(std::tr1::cbrt(f0));
66
  check_ret_type<long double>(std::tr1::cbrt(ld0));
67
  check_ret_type<double>(std::tr1::cbrt(i0));
68
 
69
  check_ret_type<double>(std::tr1::copysign(d0, d0));
70
  check_ret_type<double>(std::tr1::copysign(d0, f0));
71
  check_ret_type<float>(std::tr1::copysign(f0, f0));
72
  check_ret_type<long double>(std::tr1::copysign(ld0, ld0));
73
  check_ret_type<long double>(std::tr1::copysign(ld0, d0));
74
  check_ret_type<double>(std::tr1::copysign(i0, i0));
75
  check_ret_type<double>(std::tr1::copysign(d0, i0));
76
 
77
  check_ret_type<double>(std::tr1::erf(d0));
78
  check_ret_type<float>(std::tr1::erf(f0));
79
  check_ret_type<long double>(std::tr1::erf(ld0));
80
  check_ret_type<double>(std::tr1::erf(i0));
81
 
82
  check_ret_type<double>(std::tr1::erfc(d0));
83
  check_ret_type<float>(std::tr1::erfc(f0));
84
  check_ret_type<long double>(std::tr1::erfc(ld0));
85
  check_ret_type<double>(std::tr1::erfc(i0));
86
 
87
  check_ret_type<double>(std::tr1::exp2(d0));
88
  check_ret_type<float>(std::tr1::exp2(f0));
89
  check_ret_type<long double>(std::tr1::exp2(ld0));
90
  check_ret_type<double>(std::tr1::exp2(i0));
91
 
92
  check_ret_type<double>(std::tr1::expm1(d0));
93
  check_ret_type<float>(std::tr1::expm1(f0));
94
  check_ret_type<long double>(std::tr1::expm1(ld0));
95
  check_ret_type<double>(std::tr1::expm1(i0));
96
 
97
  check_ret_type<double>(std::tr1::fdim(d0, d0));
98
  check_ret_type<double>(std::tr1::fdim(d0, f0));
99
  check_ret_type<float>(std::tr1::fdim(f0, f0));
100
  check_ret_type<long double>(std::tr1::fdim(ld0, ld0));
101
  check_ret_type<long double>(std::tr1::fdim(ld0, d0));
102
  check_ret_type<double>(std::tr1::fdim(i0, i0));
103
  check_ret_type<double>(std::tr1::fdim(d0, i0));
104
 
105
  check_ret_type<double>(std::tr1::fma(d0, d0, d0));
106
  check_ret_type<double>(std::tr1::fma(d0, f0, d0));
107
  check_ret_type<float>(std::tr1::fma(f0, f0, f0));
108
  check_ret_type<long double>(std::tr1::fma(ld0, ld0, ld0));
109
  check_ret_type<long double>(std::tr1::fma(ld0, d0, f0));
110
  check_ret_type<double>(std::tr1::fma(i0, i0, i0));
111
  check_ret_type<double>(std::tr1::fma(d0, i0, f0));
112
 
113
  check_ret_type<double>(std::tr1::fmax(d0, d0));
114
  check_ret_type<double>(std::tr1::fmax(d0, f0));
115
  check_ret_type<float>(std::tr1::fmax(f0, f0));
116
  check_ret_type<long double>(std::tr1::fmax(ld0, ld0));
117
  check_ret_type<long double>(std::tr1::fmax(ld0, d0));
118
  check_ret_type<double>(std::tr1::fmax(i0, i0));
119
  check_ret_type<double>(std::tr1::fmax(d0, i0));
120
 
121
  check_ret_type<double>(std::tr1::fmin(d0, d0));
122
  check_ret_type<double>(std::tr1::fmin(d0, f0));
123
  check_ret_type<float>(std::tr1::fmin(f0, f0));
124
  check_ret_type<long double>(std::tr1::fmin(ld0, ld0));
125
  check_ret_type<long double>(std::tr1::fmin(ld0, d0));
126
  check_ret_type<double>(std::tr1::fmin(i0, i0));
127
  check_ret_type<double>(std::tr1::fmin(d0, i0));
128
 
129
  check_ret_type<double>(std::tr1::hypot(d0, d0));
130
  check_ret_type<double>(std::tr1::hypot(d0, f0));
131
  check_ret_type<float>(std::tr1::hypot(f0, f0));
132
  check_ret_type<long double>(std::tr1::hypot(ld0, ld0));
133
  check_ret_type<long double>(std::tr1::hypot(ld0, d0));
134
  check_ret_type<double>(std::tr1::hypot(i0, i0));
135
  check_ret_type<double>(std::tr1::hypot(d0, i0));
136
 
137
  check_ret_type<int>(std::tr1::ilogb(d0));
138
  check_ret_type<int>(std::tr1::ilogb(f0));
139
  check_ret_type<int>(std::tr1::ilogb(ld0));
140
  check_ret_type<int>(std::tr1::ilogb(i0));
141
 
142
  check_ret_type<double>(std::tr1::lgamma(d0));
143
  check_ret_type<float>(std::tr1::lgamma(f0));
144
  check_ret_type<long double>(std::tr1::lgamma(ld0));
145
  check_ret_type<double>(std::tr1::lgamma(i0));
146
 
147
  check_ret_type<long long>(std::tr1::llrint(d0));
148
  check_ret_type<long long>(std::tr1::llrint(f0));
149
  check_ret_type<long long>(std::tr1::llrint(ld0));
150
  check_ret_type<long long>(std::tr1::llrint(i0));
151
 
152
  check_ret_type<long long>(std::tr1::llround(d0));
153
  check_ret_type<long long>(std::tr1::llround(f0));
154
  check_ret_type<long long>(std::tr1::llround(ld0));
155
  check_ret_type<long long>(std::tr1::llround(i0));
156
 
157
  check_ret_type<double>(std::tr1::log1p(d0));
158
  check_ret_type<float>(std::tr1::log1p(f0));
159
  check_ret_type<long double>(std::tr1::log1p(ld0));
160
  check_ret_type<double>(std::tr1::log1p(i0));
161
 
162
  // DR 568.
163
  check_ret_type<double>(std::tr1::log2(d0));
164
  check_ret_type<float>(std::tr1::log2(f0));
165
  check_ret_type<long double>(std::tr1::log2(ld0));
166
  check_ret_type<double>(std::tr1::log2(i0));
167
 
168
  check_ret_type<double>(std::tr1::logb(d0));
169
  check_ret_type<float>(std::tr1::logb(f0));
170
  check_ret_type<long double>(std::tr1::logb(ld0));
171
  check_ret_type<double>(std::tr1::logb(i0));
172
 
173
  check_ret_type<long>(std::tr1::lrint(d0));
174
  check_ret_type<long>(std::tr1::lrint(f0));
175
  check_ret_type<long>(std::tr1::lrint(ld0));
176
  check_ret_type<long>(std::tr1::lrint(i0));
177
 
178
  check_ret_type<long>(std::tr1::lround(d0));
179
  check_ret_type<long>(std::tr1::lround(f0));
180
  check_ret_type<long>(std::tr1::lround(ld0));
181
  check_ret_type<long>(std::tr1::lround(i0));
182
 
183
  check_ret_type<double>(std::tr1::nearbyint(d0));
184
  check_ret_type<float>(std::tr1::nearbyint(f0));
185
  check_ret_type<long double>(std::tr1::nearbyint(ld0));
186
  check_ret_type<double>(std::tr1::nearbyint(i0));
187
 
188
  check_ret_type<double>(std::tr1::nextafter(d0, d0));
189
  check_ret_type<double>(std::tr1::nextafter(d0, f0));
190
  check_ret_type<float>(std::tr1::nextafter(f0, f0));
191
  check_ret_type<long double>(std::tr1::nextafter(ld0, ld0));
192
  check_ret_type<long double>(std::tr1::nextafter(ld0, d0));
193
  check_ret_type<double>(std::tr1::nextafter(i0, i0));
194
  check_ret_type<double>(std::tr1::nextafter(d0, i0));
195
 
196
  check_ret_type<double>(std::tr1::nexttoward(d0, ld0));
197
  check_ret_type<float>(std::tr1::nexttoward(f0, ld0));
198
  check_ret_type<long double>(std::tr1::nexttoward(ld0, ld0));
199
  check_ret_type<double>(std::tr1::nexttoward(i0, ld0));
200
 
201
  check_ret_type<double>(std::tr1::pow(d0, d0));
202
  check_ret_type<double>(std::tr1::pow(d0, f0));
203
  check_ret_type<float>(std::tr1::pow(f0, f0));
204
  check_ret_type<long double>(std::tr1::pow(ld0, ld0));
205
  check_ret_type<long double>(std::tr1::pow(ld0, d0));
206
  check_ret_type<double>(std::tr1::pow(i0, i0));
207
  check_ret_type<double>(std::tr1::pow(d0, i0));
208
  check_ret_type<double>(std::tr1::pow(f0, i0));
209
 
210
  check_ret_type<double>(std::tr1::remainder(d0, d0));
211
  check_ret_type<double>(std::tr1::remainder(d0, f0));
212
  check_ret_type<float>(std::tr1::remainder(f0, f0));
213
  check_ret_type<long double>(std::tr1::remainder(ld0, ld0));
214
  check_ret_type<long double>(std::tr1::remainder(ld0, d0));
215
  check_ret_type<double>(std::tr1::remainder(i0, i0));
216
  check_ret_type<double>(std::tr1::remainder(d0, i0));
217
 
218
  check_ret_type<double>(std::tr1::remquo(d0, d0, pquo));
219
  check_ret_type<double>(std::tr1::remquo(d0, f0, pquo));
220
  check_ret_type<float>(std::tr1::remquo(f0, f0, pquo));
221
  check_ret_type<long double>(std::tr1::remquo(ld0, ld0, pquo));
222
  check_ret_type<long double>(std::tr1::remquo(ld0, d0, pquo));
223
  check_ret_type<double>(std::tr1::remquo(i0, i0, pquo));
224
  check_ret_type<double>(std::tr1::remquo(d0, i0, pquo));
225
 
226
  check_ret_type<double>(std::tr1::rint(d0));
227
  check_ret_type<float>(std::tr1::rint(f0));
228
  check_ret_type<long double>(std::tr1::rint(ld0));
229
  check_ret_type<double>(std::tr1::rint(i0));
230
 
231
  check_ret_type<double>(std::tr1::round(d0));
232
  check_ret_type<float>(std::tr1::round(f0));
233
  check_ret_type<long double>(std::tr1::round(ld0));
234
  check_ret_type<double>(std::tr1::round(i0));
235
 
236
  check_ret_type<double>(std::tr1::scalbln(d0, lex));
237
  check_ret_type<float>(std::tr1::scalbln(f0, lex));
238
  check_ret_type<long double>(std::tr1::scalbln(ld0, lex));
239
  check_ret_type<double>(std::tr1::scalbln(i0, lex));
240
 
241
  check_ret_type<double>(std::tr1::scalbn(d0, ex));
242
  check_ret_type<float>(std::tr1::scalbn(f0, ex));
243
  check_ret_type<long double>(std::tr1::scalbn(ld0, ex));
244
  check_ret_type<double>(std::tr1::scalbn(i0, ex));
245
 
246
  check_ret_type<double>(std::tr1::tgamma(d0));
247
  check_ret_type<float>(std::tr1::tgamma(f0));
248
  check_ret_type<long double>(std::tr1::tgamma(ld0));
249
  check_ret_type<double>(std::tr1::tgamma(i0));
250
 
251
  check_ret_type<double>(std::tr1::trunc(d0));
252
  check_ret_type<float>(std::tr1::trunc(f0));
253
  check_ret_type<long double>(std::tr1::trunc(ld0));
254
  check_ret_type<double>(std::tr1::trunc(i0));
255
 
256
#endif
257
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.