Move all files into ports/ subdirectory in preparation for merge with glibc
[glibc.git] / ports / sysdeps / hppa / fpu / libm-test-ulps
blobb8ec3d25f45b43031900520b4ab2bca193c9b43d
1 # Begin of automatic generation
3 # atan2
4 Test "atan2 (-0.75, -1.0) == -2.49809154479650885165983415456218025":
5 float: 1
6 ifloat: 1
7 Test "atan2 (0.75, -1.0) == 2.49809154479650885165983415456218025":
8 float: 1
9 ifloat: 1
10 Test "atan2 (1.390625, 0.9296875) == 0.981498387184244311516296577615519772":
11 float: 1
12 ifloat: 1
14 # atanh
15 Test "atanh (0.75) == 0.972955074527656652552676371721589865":
16 float: 1
17 ifloat: 1
19 # cacosh
20 Test "Imaginary part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i":
21 float: 1
22 ifloat: 1
24 # casin
25 Test "Real part of: casin (0.75 + 1.25 i) == 0.453276177638793913448921196101971749 + 1.13239363160530819522266333696834467 i":
26 double: 1
27 float: 1
28 idouble: 1
29 ifloat: 1
30 ildouble: 1
31 ldouble: 1
33 # casinh
34 Test "Real part of: casinh (-2 - 3 i) == -1.9686379257930962917886650952454982 - 0.96465850440760279204541105949953237 i":
35 double: 5
36 float: 1
37 idouble: 5
38 ifloat: 1
39 ildouble: 5
40 ldouble: 5
41 Test "Imaginary part of: casinh (-2 - 3 i) == -1.9686379257930962917886650952454982 - 0.96465850440760279204541105949953237 i":
42 double: 3
43 float: 6
44 idouble: 3
45 ifloat: 6
46 ildouble: 3
47 ldouble: 3
48 Test "Real part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i":
49 float: 1
50 ifloat: 1
51 Test "Imaginary part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i":
52 double: 1
53 float: 1
54 idouble: 1
55 ifloat: 1
56 ildouble: 1
57 ldouble: 1
59 # catan
60 Test "Imaginary part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i":
61 double: 1
62 float: 1
63 idouble: 1
64 ifloat: 1
65 ildouble: 1
66 ldouble: 1
68 # catanh
69 Test "Real part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i":
70 double: 4
71 idouble: 4
72 ildouble: 4
73 ldouble: 4
74 Test "Real part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i":
75 double: 1
76 idouble: 1
77 ildouble: 1
78 ldouble: 1
80 # cbrt
81 Test "cbrt (-27.0) == -3.0":
82 double: 1
83 idouble: 1
84 ildouble: 1
85 ldouble: 1
86 Test "cbrt (0.75) == 0.908560296416069829445605878163630251":
87 double: 1
88 idouble: 1
89 ildouble: 1
90 ldouble: 1
91 Test "cbrt (0.9921875) == 0.997389022060725270579075195353955217":
92 double: 1
93 idouble: 1
94 ildouble: 1
95 ldouble: 1
97 # ccos
98 Test "Imaginary part of: ccos (-2 - 3 i) == -4.18962569096880723013255501961597373 - 9.10922789375533659797919726277886212 i":
99 float: 1
100 ifloat: 1
101 Test "Real part of: ccos (0.75 + 1.25 i) == 1.38173873063425888530729933139078645 - 1.09193013555397466170919531722024128 i":
102 double: 1
103 float: 1
104 idouble: 1
105 ifloat: 1
106 ildouble: 1
107 ldouble: 1
108 Test "Imaginary part of: ccos (0.75 + 1.25 i) == 1.38173873063425888530729933139078645 - 1.09193013555397466170919531722024128 i":
109 float: 1
110 ifloat: 1
112 # ccosh
113 Test "Real part of: ccosh (-2 - 3 i) == -3.72454550491532256547397070325597253 + 0.511822569987384608834463849801875634 i":
114 float: 1
115 ifloat: 1
116 Test "Imaginary part of: ccosh (-2 - 3 i) == -3.72454550491532256547397070325597253 + 0.511822569987384608834463849801875634 i":
117 float: 1
118 ifloat: 1
119 Test "Real part of: ccosh (0.75 + 1.25 i) == 0.408242591877968807788852146397499084 + 0.780365930845853240391326216300863152 i":
120 double: 1
121 float: 1
122 idouble: 1
123 ifloat: 1
124 ildouble: 1
125 ldouble: 1
126 Test "Imaginary part of: ccosh (0.75 + 1.25 i) == 0.408242591877968807788852146397499084 + 0.780365930845853240391326216300863152 i":
127 float: 1
128 ifloat: 1
130 # ceil
131 Test "ceil (-4503599627370496.75) == -4503599627370496.0":
132 ildouble: 1
133 ldouble: 1
134 Test "ceil (-4503599627370497.5) == -4503599627370497.0":
135 ildouble: 1
136 ldouble: 1
137 Test "ceil (-9007199254740991.5) == -9007199254740991.0":
138 ildouble: 1
139 ldouble: 1
140 Test "ceil (-9007199254740993.5) == -9007199254740993.0":
141 ildouble: 1
142 ldouble: 1
143 Test "ceil (4503599627370496.25) == 4503599627370497.0":
144 ildouble: 1
145 ldouble: 1
146 Test "ceil (4503599627370496.5) == 4503599627370497.0":
147 ildouble: 1
148 ldouble: 1
150 # cexp
151 Test "Imaginary part of: cexp (-2.0 - 3.0 i) == -0.13398091492954261346140525546115575 - 0.019098516261135196432576240858800925 i":
152 float: 1
153 ifloat: 1
154 Test "Real part of: cexp (0.75 + 1.25 i) == 0.667537446429131586942201977015932112 + 2.00900045494094876258347228145863909 i":
155 float: 1
156 ifloat: 1
158 # clog
159 Test "Real part of: clog (0.75 + 1.25 i) == 0.376885901188190075998919126749298416 + 1.03037682652431246378774332703115153 i":
160 float: 1
161 ifloat: 1
163 # clog10
164 Test "Imaginary part of: clog10 (-0 + inf i) == inf + pi/2*log10(e) i":
165 float: 1
166 ifloat: 1
167 Test "Imaginary part of: clog10 (-0 - inf i) == inf - pi/2*log10(e) i":
168 float: 1
169 ifloat: 1
170 Test "Imaginary part of: clog10 (-2 - 3 i) == 0.556971676153418384603252578971164214 - 0.937554462986374708541507952140189646 i":
171 double: 1
172 idouble: 1
173 ildouble: 1
174 ldouble: 1
175 Test "Imaginary part of: clog10 (-3 + inf i) == inf + pi/2*log10(e) i":
176 float: 1
177 ifloat: 1
178 Test "Imaginary part of: clog10 (-3 - inf i) == inf - pi/2*log10(e) i":
179 float: 1
180 ifloat: 1
181 Test "Imaginary part of: clog10 (-inf + 0 i) == inf + pi*log10(e) i":
182 float: 1
183 ifloat: 1
184 Test "Imaginary part of: clog10 (-inf + 1 i) == inf + pi*log10(e) i":
185 float: 1
186 ifloat: 1
187 Test "Imaginary part of: clog10 (-inf - 0 i) == inf - pi*log10(e) i":
188 float: 1
189 ifloat: 1
190 Test "Imaginary part of: clog10 (-inf - 1 i) == inf - pi*log10(e) i":
191 float: 1
192 ifloat: 1
193 Test "Imaginary part of: clog10 (0 + inf i) == inf + pi/2*log10(e) i":
194 float: 1
195 ifloat: 1
196 Test "Imaginary part of: clog10 (0 - inf i) == inf - pi/2*log10(e) i":
197 float: 1
198 ifloat: 1
199 Test "Real part of: clog10 (0.75 + 1.25 i) == 0.163679467193165171449476605077428975 + 0.447486970040493067069984724340855636 i":
200 float: 1
201 ifloat: 1
202 Test "Imaginary part of: clog10 (3 + inf i) == inf + pi/2*log10(e) i":
203 float: 1
204 ifloat: 1
205 Test "Imaginary part of: clog10 (3 - inf i) == inf - pi/2*log10(e) i":
206 float: 1
207 ifloat: 1
208 Test "Imaginary part of: clog10 (inf + inf i) == inf + pi/4*log10(e) i":
209 float: 1
210 ifloat: 1
211 Test "Imaginary part of: clog10 (inf - inf i) == inf - pi/4*log10(e) i":
212 float: 1
213 ifloat: 1
215 # cos
216 Test "cos (M_PI_6l * 2.0) == 0.5":
217 double: 1
218 idouble: 1
219 ildouble: 1
220 ldouble: 1
221 Test "cos (M_PI_6l * 4.0) == -0.5":
222 double: 2
223 float: 1
224 idouble: 2
225 ifloat: 1
226 ildouble: 2
227 ldouble: 2
229 # cpow
230 Test "Real part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i":
231 float: 1
232 ifloat: 1
233 Test "Imaginary part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i":
234 float: 1
235 ifloat: 1
236 Test "Real part of: cpow (0.75 + 1.25 i, 0.75 + 1.25 i) == 0.117506293914473555420279832210420483 + 0.346552747708338676483025352060418001 i":
237 double: 1
238 float: 4
239 idouble: 1
240 ifloat: 4
241 ildouble: 1
242 ldouble: 1
243 Test "Real part of: cpow (0.75 + 1.25 i, 1.0 + 1.0 i) == 0.0846958290317209430433805274189191353 + 0.513285749182902449043287190519090481 i":
244 double: 2
245 float: 3
246 idouble: 2
247 ifloat: 3
248 ildouble: 2
249 ldouble: 2
250 Test "Real part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i":
251 double: 1
252 float: 4
253 idouble: 1
254 ifloat: 4
255 ildouble: 1
256 ldouble: 1
257 Test "Imaginary part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i":
258 float: 2
259 ifloat: 2
260 Test "Imaginary part of: cpow (e + 0 i, 0 + 2 * M_PIl i) == 1.0 + 0.0 i":
261 double: 2
262 float: 2
263 idouble: 2
264 ifloat: 2
265 ildouble: 2
266 ldouble: 2
268 # csinh
269 Test "Imaginary part of: csinh (-2 - 3 i) == 3.59056458998577995201256544779481679 - 0.530921086248519805267040090660676560 i":
270 double: 1
271 idouble: 1
272 ildouble: 1
273 ldouble: 1
274 Test "Real part of: csinh (0.75 + 1.25 i) == 0.259294854551162779153349830618433028 + 1.22863452409509552219214606515777594 i":
275 float: 1
276 ifloat: 1
277 Test "Imaginary part of: csinh (0.75 + 1.25 i) == 0.259294854551162779153349830618433028 + 1.22863452409509552219214606515777594 i":
278 float: 1
279 ifloat: 1
281 # csqrt
282 Test "Real part of: csqrt (-2 + 3 i) == 0.89597747612983812471573375529004348 + 1.6741492280355400404480393008490519 i":
283 float: 1
284 ifloat: 1
285 Test "Real part of: csqrt (-2 - 3 i) == 0.89597747612983812471573375529004348 - 1.6741492280355400404480393008490519 i":
286 float: 1
287 ifloat: 1
289 # ctan
290 Test "Imaginary part of: ctan (0.75 + 1.25 i) == 0.160807785916206426725166058173438663 + 0.975363285031235646193581759755216379 i":
291 double: 1
292 idouble: 1
293 ildouble: 1
294 ldouble: 1
296 # ctanh
297 Test "Real part of: ctanh (-2 - 3 i) == -0.965385879022133124278480269394560686 + 0.988437503832249372031403430350121098e-2 i":
298 double: 1
299 float: 2
300 idouble: 1
301 ifloat: 2
302 ildouble: 1
303 ldouble: 1
304 Test "Imaginary part of: ctanh (0 + pi/4 i) == 0.0 + 1.0 i":
305 float: 1
306 ifloat: 1
307 Test "Real part of: ctanh (0.75 + 1.25 i) == 1.37260757053378320258048606571226857 + 0.385795952609750664177596760720790220 i":
308 double: 1
309 idouble: 1
310 ildouble: 1
311 ldouble: 1
313 # erf
314 Test "erf (1.25) == 0.922900128256458230136523481197281140":
315 double: 1
316 idouble: 1
317 ildouble: 1
318 ldouble: 1
320 # erfc
321 Test "erfc (2.0) == 0.00467773498104726583793074363274707139":
322 double: 1
323 idouble: 1
324 ildouble: 1
325 ldouble: 1
326 Test "erfc (4.125) == 0.542340079956506600531223408575531062e-8":
327 double: 1
328 idouble: 1
329 ildouble: 1
330 ldouble: 1
332 # exp10
333 Test "exp10 (-1) == 0.1":
334 double: 2
335 float: 1
336 idouble: 2
337 ifloat: 1
338 ildouble: 2
339 ldouble: 2
340 Test "exp10 (0.75) == 5.62341325190349080394951039776481231":
341 double: 1
342 float: 1
343 idouble: 1
344 ifloat: 1
345 ildouble: 1
346 ldouble: 1
347 Test "exp10 (3) == 1000":
348 double: 6
349 float: 2
350 idouble: 6
351 ifloat: 2
352 ildouble: 6
353 ldouble: 6
355 # expm1
356 Test "expm1 (0.75) == 1.11700001661267466854536981983709561":
357 double: 1
358 idouble: 1
359 ildouble: 1
360 ldouble: 1
361 Test "expm1 (1) == M_El - 1.0":
362 float: 1
363 ifloat: 1
365 # floor
366 Test "floor (-4503599627370496.25) == -4503599627370497.0":
367 ildouble: 1
368 ldouble: 1
369 Test "floor (-4503599627370496.5) == -4503599627370497.0":
370 ildouble: 1
371 ldouble: 1
372 Test "floor (4503599627370496.75) == 4503599627370496.0":
373 ildouble: 1
374 ldouble: 1
375 Test "floor (4503599627370497.5) == 4503599627370497.0":
376 ildouble: 1
377 ldouble: 1
378 Test "floor (9007199254740991.5) == 9007199254740991.0":
379 ildouble: 1
380 ldouble: 1
381 Test "floor (9007199254740993.5) == 9007199254740993.0":
382 ildouble: 1
383 ldouble: 1
385 # hypot
386 Test "hypot (-0.7, -12.4) == 12.419742348374220601176836866763271":
387 float: 1
388 ifloat: 1
389 Test "hypot (-0.7, 12.4) == 12.419742348374220601176836866763271":
390 float: 1
391 ifloat: 1
392 Test "hypot (-12.4, -0.7) == 12.419742348374220601176836866763271":
393 float: 1
394 ifloat: 1
395 Test "hypot (-12.4, 0.7) == 12.419742348374220601176836866763271":
396 float: 1
397 ifloat: 1
398 Test "hypot (0.7, -12.4) == 12.419742348374220601176836866763271":
399 float: 1
400 ifloat: 1
401 Test "hypot (0.7, 12.4) == 12.419742348374220601176836866763271":
402 float: 1
403 ifloat: 1
404 Test "hypot (12.4, -0.7) == 12.419742348374220601176836866763271":
405 float: 1
406 ifloat: 1
407 Test "hypot (12.4, 0.7) == 12.419742348374220601176836866763271":
408 float: 1
409 ifloat: 1
411 # j0
412 Test "j0 (-4.0) == -3.9714980986384737228659076845169804197562E-1":
413 double: 1
414 float: 1
415 idouble: 1
416 ifloat: 1
417 ildouble: 1
418 ldouble: 1
419 Test "j0 (0.75) == 0.864242275166648623555731103820923211":
420 float: 1
421 ifloat: 1
422 Test "j0 (10.0) == -0.245935764451348335197760862485328754":
423 double: 2
424 float: 1
425 idouble: 2
426 ifloat: 1
427 ildouble: 2
428 ldouble: 2
429 Test "j0 (2.0) == 0.223890779141235668051827454649948626":
430 float: 2
431 ifloat: 2
432 Test "j0 (4.0) == -3.9714980986384737228659076845169804197562E-1":
433 double: 1
434 float: 1
435 idouble: 1
436 ifloat: 1
437 ildouble: 1
438 ldouble: 1
439 Test "j0 (8.0) == 0.171650807137553906090869407851972001":
440 float: 1
441 ifloat: 1
443 # j1
444 Test "j1 (10.0) == 0.0434727461688614366697487680258592883":
445 float: 2
446 ifloat: 2
447 Test "j1 (2.0) == 0.576724807756873387202448242269137087":
448 double: 1
449 idouble: 1
450 ildouble: 1
451 ldouble: 1
452 Test "j1 (8.0) == 0.234636346853914624381276651590454612":
453 double: 1
454 idouble: 1
455 ildouble: 1
456 ldouble: 1
458 # jn
459 Test "jn (0, -4.0) == -3.9714980986384737228659076845169804197562E-1":
460 double: 1
461 float: 1
462 idouble: 1
463 ifloat: 1
464 ildouble: 1
465 ldouble: 1
466 Test "jn (0, 0.75) == 0.864242275166648623555731103820923211":
467 float: 1
468 ifloat: 1
469 Test "jn (0, 10.0) == -0.245935764451348335197760862485328754":
470 double: 2
471 float: 1
472 idouble: 2
473 ifloat: 1
474 ildouble: 2
475 ldouble: 2
476 Test "jn (0, 2.0) == 0.223890779141235668051827454649948626":
477 float: 2
478 ifloat: 2
479 Test "jn (0, 4.0) == -3.9714980986384737228659076845169804197562E-1":
480 double: 1
481 float: 1
482 idouble: 1
483 ifloat: 1
484 ildouble: 1
485 ldouble: 1
486 Test "jn (0, 8.0) == 0.171650807137553906090869407851972001":
487 float: 1
488 ifloat: 1
489 Test "jn (1, 10.0) == 0.0434727461688614366697487680258592883":
490 float: 2
491 ifloat: 2
492 Test "jn (1, 2.0) == 0.576724807756873387202448242269137087":
493 double: 1
494 idouble: 1
495 ildouble: 1
496 ldouble: 1
497 Test "jn (1, 8.0) == 0.234636346853914624381276651590454612":
498 double: 1
499 idouble: 1
500 ildouble: 1
501 ldouble: 1
502 Test "jn (10, 0.125) == 0.250543369809369890173993791865771547e-18":
503 double: 1
504 float: 1
505 idouble: 1
506 ifloat: 1
507 ildouble: 1
508 ldouble: 1
509 Test "jn (10, 0.75) == 0.149621713117596814698712483621682835e-10":
510 double: 1
511 float: 1
512 idouble: 1
513 ifloat: 1
514 ildouble: 1
515 ldouble: 1
516 Test "jn (10, 10.0) == 0.207486106633358857697278723518753428":
517 double: 4
518 float: 3
519 idouble: 4
520 ifloat: 3
521 ildouble: 4
522 ldouble: 4
523 Test "jn (10, 2.0) == 0.251538628271673670963516093751820639e-6":
524 float: 4
525 ifloat: 4
526 Test "jn (3, 0.125) == 0.406503832554912875023029337653442868e-4":
527 double: 1
528 float: 1
529 idouble: 1
530 ifloat: 1
531 ildouble: 1
532 ldouble: 1
533 Test "jn (3, 0.75) == 0.848438342327410884392755236884386804e-2":
534 double: 1
535 float: 1
536 idouble: 1
537 ifloat: 1
538 ildouble: 1
539 ldouble: 1
540 Test "jn (3, 10.0) == 0.0583793793051868123429354784103409563":
541 double: 3
542 float: 1
543 idouble: 3
544 ifloat: 1
545 ildouble: 3
546 ldouble: 3
547 Test "jn (3, 2.0) == 0.128943249474402051098793332969239835":
548 double: 1
549 float: 2
550 idouble: 1
551 ifloat: 2
552 ildouble: 1
553 ldouble: 1
555 # lgamma
556 Test "lgamma (0.7) == 0.260867246531666514385732417016759578":
557 double: 1
558 float: 1
559 idouble: 1
560 ifloat: 1
561 ildouble: 1
562 ldouble: 1
563 Test "lgamma (1.2) == -0.853740900033158497197028392998854470e-1":
564 double: 1
565 float: 2
566 idouble: 1
567 ifloat: 2
568 ildouble: 1
569 ldouble: 1
571 # llrint
572 Test "llrint (-72057594037927936.75) == -72057594037927937LL":
573 ildouble: 1
574 ldouble: 1
575 Test "llrint (-72057594037927937.5) == -72057594037927938LL":
576 ildouble: 2
577 ldouble: 2
578 Test "llrint (-9007199254740992.75) == -9007199254740993LL":
579 ildouble: 1
580 ldouble: 1
581 Test "llrint (72057594037927936.75) == 72057594037927937LL":
582 ildouble: -1
583 ldouble: -1
584 Test "llrint (72057594037927937.5) == 72057594037927938LL":
585 ildouble: -2
586 ldouble: -2
587 Test "llrint (9007199254740992.75) == 9007199254740993LL":
588 ildouble: -1
589 ldouble: -1
591 # llrint_downward
592 Test "llrint_downward (-4503599627370496.25) == -4503599627370497LL":
593 ildouble: 1
594 ldouble: 1
595 Test "llrint_downward (-4503599627370496.4999999999999) == -4503599627370497LL":
596 ildouble: 1
597 ldouble: 1
598 Test "llrint_downward (-4503599627370496.5) == -4503599627370497LL":
599 ildouble: 1
600 ldouble: 1
601 Test "llrint_downward (-4503599627370497.4999999999999) == -4503599627370498LL":
602 ildouble: 1
603 ldouble: 1
604 Test "llrint_downward (-72057594037927936.25) == -72057594037927937LL":
605 ildouble: 1
606 ldouble: 1
607 Test "llrint_downward (-72057594037927936.5) == -72057594037927937LL":
608 ildouble: 1
609 ldouble: 1
610 Test "llrint_downward (-72057594037927936.75) == -72057594037927937LL":
611 ildouble: 1
612 ldouble: 1
613 Test "llrint_downward (-72057594037927937.5) == -72057594037927938LL":
614 ildouble: 2
615 ldouble: 2
616 Test "llrint_downward (-9007199254740991.4999999999999) == -9007199254740992LL":
617 ildouble: 1
618 ldouble: 1
619 Test "llrint_downward (-9007199254740992.25) == -9007199254740993LL":
620 ildouble: 1
621 ldouble: 1
622 Test "llrint_downward (-9007199254740992.4999999999999) == -9007199254740993LL":
623 ildouble: 1
624 ldouble: 1
625 Test "llrint_downward (-9007199254740992.5) == -9007199254740993LL":
626 ildouble: 1
627 ldouble: 1
628 Test "llrint_downward (-9007199254740992.5000000000001) == -9007199254740993LL":
629 ildouble: 1
630 ldouble: 1
631 Test "llrint_downward (-9007199254740992.75) == -9007199254740993LL":
632 ildouble: 1
633 ldouble: 1
634 Test "llrint_downward (4503599627370496.5000000000001) == 4503599627370496LL":
635 ildouble: 1
636 ldouble: 1
637 Test "llrint_downward (4503599627370496.75) == 4503599627370496LL":
638 ildouble: 1
639 ldouble: 1
640 Test "llrint_downward (4503599627370497.5) == 4503599627370497LL":
641 ildouble: 1
642 ldouble: 1
643 Test "llrint_downward (72057594037927935.5) == 72057594037927935LL":
644 ildouble: 1
645 ldouble: 1
646 Test "llrint_downward (72057594037927937.5) == 72057594037927937LL":
647 ildouble: -1
648 ldouble: -1
649 Test "llrint_downward (9007199254740991.5) == 9007199254740991LL":
650 ildouble: 1
651 ldouble: 1
652 Test "llrint_downward (9007199254740991.5000000000001) == 9007199254740991LL":
653 ildouble: 1
654 ldouble: 1
655 Test "llrint_downward (9007199254740993.4999999999999) == 9007199254740993LL":
656 ildouble: 1
657 ldouble: 1
658 Test "llrint_downward (9007199254740993.5) == 9007199254740993LL":
659 ildouble: 1
660 ldouble: 1
661 Test "llrint_downward (9007199254740993.5000000000001) == 9007199254740993LL":
662 ildouble: 1
663 ldouble: 1
665 # llrint_tonearest
666 Test "llrint_tonearest (-72057594037927936.75) == -72057594037927937LL":
667 ildouble: 1
668 ldouble: 1
669 Test "llrint_tonearest (-72057594037927937.5) == -72057594037927938LL":
670 ildouble: 2
671 ldouble: 2
672 Test "llrint_tonearest (-9007199254740992.75) == -9007199254740993LL":
673 ildouble: 1
674 ldouble: 1
675 Test "llrint_tonearest (72057594037927936.75) == 72057594037927937LL":
676 ildouble: -1
677 ldouble: -1
678 Test "llrint_tonearest (72057594037927937.5) == 72057594037927938LL":
679 ildouble: -2
680 ldouble: -2
681 Test "llrint_tonearest (9007199254740992.75) == 9007199254740993LL":
682 ildouble: -1
683 ldouble: -1
685 # llrint_towardzero
686 Test "llrint_towardzero (-4503599627370496.75) == -4503599627370496LL":
687 ildouble: -1
688 ldouble: -1
689 Test "llrint_towardzero (-4503599627370497.5) == -4503599627370497LL":
690 ildouble: -1
691 ldouble: -1
692 Test "llrint_towardzero (-72057594037927935.5) == -72057594037927935LL":
693 ildouble: -1
694 ldouble: -1
695 Test "llrint_towardzero (-72057594037927937.5) == -72057594037927937LL":
696 ildouble: 1
697 ldouble: 1
698 Test "llrint_towardzero (-9007199254740991.5) == -9007199254740991LL":
699 ildouble: -1
700 ldouble: -1
701 Test "llrint_towardzero (-9007199254740993.5) == -9007199254740993LL":
702 ildouble: -1
703 ldouble: -1
704 Test "llrint_towardzero (4503599627370496.75) == 4503599627370496LL":
705 ildouble: 1
706 ldouble: 1
707 Test "llrint_towardzero (4503599627370497.5) == 4503599627370497LL":
708 ildouble: 1
709 ldouble: 1
710 Test "llrint_towardzero (72057594037927935.5) == 72057594037927935LL":
711 ildouble: 1
712 ldouble: 1
713 Test "llrint_towardzero (72057594037927937.5) == 72057594037927937LL":
714 ildouble: -1
715 ldouble: -1
716 Test "llrint_towardzero (9007199254740991.5) == 9007199254740991LL":
717 ildouble: 1
718 ldouble: 1
719 Test "llrint_towardzero (9007199254740993.5) == 9007199254740993LL":
720 ildouble: 1
721 ldouble: 1
723 # llrint_upward
724 Test "llrint_upward (-4503599627370496.5000000000001) == -4503599627370496LL":
725 ildouble: -1
726 ldouble: -1
727 Test "llrint_upward (-4503599627370496.75) == -4503599627370496LL":
728 ildouble: -1
729 ldouble: -1
730 Test "llrint_upward (-4503599627370497.5) == -4503599627370497LL":
731 ildouble: -1
732 ldouble: -1
733 Test "llrint_upward (-72057594037927935.5) == -72057594037927935LL":
734 ildouble: -1
735 ldouble: -1
736 Test "llrint_upward (-72057594037927937.5) == -72057594037927937LL":
737 ildouble: 1
738 ldouble: 1
739 Test "llrint_upward (-9007199254740991.5) == -9007199254740991LL":
740 ildouble: -1
741 ldouble: -1
742 Test "llrint_upward (-9007199254740991.5000000000001) == -9007199254740991LL":
743 ildouble: -1
744 ldouble: -1
745 Test "llrint_upward (-9007199254740993.4999999999999) == -9007199254740993LL":
746 ildouble: -1
747 ldouble: -1
748 Test "llrint_upward (-9007199254740993.5) == -9007199254740993LL":
749 ildouble: -1
750 ldouble: -1
751 Test "llrint_upward (-9007199254740993.5000000000001) == -9007199254740993LL":
752 ildouble: -1
753 ldouble: -1
754 Test "llrint_upward (4503599627370496.25) == 4503599627370497LL":
755 ildouble: -1
756 ldouble: -1
757 Test "llrint_upward (4503599627370496.4999999999999) == 4503599627370497LL":
758 ildouble: -1
759 ldouble: -1
760 Test "llrint_upward (4503599627370496.5) == 4503599627370497LL":
761 ildouble: -1
762 ldouble: -1
763 Test "llrint_upward (4503599627370497.4999999999999) == 4503599627370498LL":
764 ildouble: -1
765 ldouble: -1
766 Test "llrint_upward (72057594037927936.25) == 72057594037927937LL":
767 ildouble: -1
768 ldouble: -1
769 Test "llrint_upward (72057594037927936.5) == 72057594037927937LL":
770 ildouble: -1
771 ldouble: -1
772 Test "llrint_upward (72057594037927936.75) == 72057594037927937LL":
773 ildouble: -1
774 ldouble: -1
775 Test "llrint_upward (72057594037927937.5) == 72057594037927938LL":
776 ildouble: -2
777 ldouble: -2
778 Test "llrint_upward (9007199254740991.4999999999999) == 9007199254740992LL":
779 ildouble: -1
780 ldouble: -1
781 Test "llrint_upward (9007199254740992.25) == 9007199254740993LL":
782 ildouble: -1
783 ldouble: -1
784 Test "llrint_upward (9007199254740992.4999999999999) == 9007199254740993LL":
785 ildouble: -1
786 ldouble: -1
787 Test "llrint_upward (9007199254740992.5) == 9007199254740993LL":
788 ildouble: -1
789 ldouble: -1
790 Test "llrint_upward (9007199254740992.5000000000001) == 9007199254740993LL":
791 ildouble: -1
792 ldouble: -1
793 Test "llrint_upward (9007199254740992.75) == 9007199254740993LL":
794 ildouble: -1
795 ldouble: -1
797 # llround
798 Test "llround (-4503599627370496.5) == -4503599627370497LL":
799 ildouble: 1
800 ldouble: 1
801 Test "llround (-72057594037927936.5) == -72057594037927937LL":
802 ildouble: 1
803 ldouble: 1
804 Test "llround (-72057594037927936.75) == -72057594037927937LL":
805 ildouble: 1
806 ldouble: 1
807 Test "llround (-72057594037927937.5) == -72057594037927938LL":
808 ildouble: 2
809 ldouble: 2
810 Test "llround (-9007199254740992.5) == -9007199254740993LL":
811 ildouble: 1
812 ldouble: 1
813 Test "llround (-9007199254740992.75) == -9007199254740993LL":
814 ildouble: 1
815 ldouble: 1
816 Test "llround (-9223372036854775806.25) == -9223372036854775806LL":
817 ildouble: -2
818 ldouble: -2
819 Test "llround (-9223372036854775806.5) == -9223372036854775807LL":
820 ildouble: -1
821 ldouble: -1
822 Test "llround (-9223372036854775807.0) == -9223372036854775807LL":
823 ildouble: -1
824 ldouble: -1
825 Test "llround (4503599627370496.5) == 4503599627370497LL":
826 ildouble: -1
827 ldouble: -1
828 Test "llround (72057594037927936.5) == 72057594037927937LL":
829 ildouble: -1
830 ldouble: -1
831 Test "llround (72057594037927936.75) == 72057594037927937LL":
832 ildouble: -1
833 ldouble: -1
834 Test "llround (72057594037927937.5) == 72057594037927938LL":
835 ildouble: -2
836 ldouble: -2
837 Test "llround (9007199254740992.5) == 9007199254740993LL":
838 ildouble: -1
839 ldouble: -1
840 Test "llround (9007199254740992.75) == 9007199254740993LL":
841 ildouble: -1
842 ldouble: -1
843 Test "llround (9223372036854775806.25) == 9223372036854775806LL":
844 ildouble: 1
845 ldouble: 1
847 # log10
848 Test "log10 (0.75) == -0.124938736608299953132449886193870744":
849 double: 1
850 float: 2
851 idouble: 1
852 ifloat: 2
853 ildouble: 1
854 ldouble: 1
855 Test "log10 (e) == log10(e)":
856 float: 1
857 ifloat: 1
859 # log1p
860 Test "log1p (-0.25) == -0.287682072451780927439219005993827432":
861 float: 1
862 ifloat: 1
864 # rint_downward
865 Test "rint_downward (-4503599627370496.25) == -4503599627370497.0":
866 ildouble: 1
867 ldouble: 1
868 Test "rint_downward (-4503599627370496.5) == -4503599627370497.0":
869 ildouble: 1
870 ldouble: 1
871 Test "rint_downward (4503599627370496.75) == 4503599627370496.0":
872 ildouble: 1
873 ldouble: 1
874 Test "rint_downward (4503599627370497.5) == 4503599627370497.0":
875 ildouble: 1
876 ldouble: 1
878 # rint_towardzero
879 Test "rint_towardzero (-4503599627370496.75) == -4503599627370496.0":
880 ildouble: 1
881 ldouble: 1
882 Test "rint_towardzero (-4503599627370497.5) == -4503599627370497.0":
883 ildouble: 1
884 ldouble: 1
885 Test "rint_towardzero (4503599627370496.75) == 4503599627370496.0":
886 ildouble: 1
887 ldouble: 1
888 Test "rint_towardzero (4503599627370497.5) == 4503599627370497.0":
889 ildouble: 1
890 ldouble: 1
892 # rint_upward
893 Test "rint_upward (-4503599627370496.75) == -4503599627370496.0":
894 ildouble: 1
895 ldouble: 1
896 Test "rint_upward (-4503599627370497.5) == -4503599627370497.0":
897 ildouble: 1
898 ldouble: 1
899 Test "rint_upward (4503599627370496.25) == 4503599627370497.0":
900 ildouble: 1
901 ldouble: 1
902 Test "rint_upward (4503599627370496.5) == 4503599627370497.0":
903 ildouble: 1
904 ldouble: 1
906 # round
907 Test "round (-4503599627370496.5) == -4503599627370497.0":
908 ildouble: 1
909 ldouble: 1
910 Test "round (4503599627370496.5) == 4503599627370497.0":
911 ildouble: 1
912 ldouble: 1
914 # sincos
915 Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
916 double: 1
917 idouble: 1
918 ildouble: 1
919 ldouble: 1
920 Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
921 double: 1
922 float: 1
923 idouble: 1
924 ifloat: 1
925 ildouble: 1
926 ldouble: 1
927 Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
928 float: 1
929 ifloat: 1
931 # tgamma
932 Test "tgamma (-0.5) == -2 sqrt (pi)":
933 double: 1
934 float: 1
935 idouble: 1
936 ifloat: 1
937 ildouble: 1
938 ldouble: 1
939 Test "tgamma (0.5) == sqrt (pi)":
940 float: 1
941 ifloat: 1
942 Test "tgamma (0.7) == 1.29805533264755778568117117915281162":
943 double: 1
944 float: 1
945 idouble: 1
946 ifloat: 1
947 ildouble: 1
948 ldouble: 1
950 # trunc
951 Test "trunc (-4503599627370496.75) == -4503599627370496.0":
952 ildouble: 1
953 ldouble: 1
954 Test "trunc (-4503599627370497.5) == -4503599627370497.0":
955 ildouble: 1
956 ldouble: 1
957 Test "trunc (-9007199254740991.5) == -9007199254740991.0":
958 ildouble: 1
959 ldouble: 1
960 Test "trunc (-9007199254740993.5) == -9007199254740993.0":
961 ildouble: 1
962 ldouble: 1
963 Test "trunc (4503599627370496.75) == 4503599627370496.0":
964 ildouble: 1
965 ldouble: 1
966 Test "trunc (4503599627370497.5) == 4503599627370497.0":
967 ildouble: 1
968 ldouble: 1
969 Test "trunc (9007199254740991.5) == 9007199254740991.0":
970 ildouble: 1
971 ldouble: 1
972 Test "trunc (9007199254740993.5) == 9007199254740993.0":
973 ildouble: 1
974 ldouble: 1
976 # y0
977 Test "y0 (1.0) == 0.0882569642156769579829267660235151628":
978 double: 2
979 float: 1
980 idouble: 2
981 ifloat: 1
982 ildouble: 2
983 ldouble: 2
984 Test "y0 (1.5) == 0.382448923797758843955068554978089862":
985 double: 2
986 float: 1
987 idouble: 2
988 ifloat: 1
989 ildouble: 2
990 ldouble: 2
991 Test "y0 (10.0) == 0.0556711672835993914244598774101900481":
992 float: 1
993 ifloat: 1
994 Test "y0 (8.0) == 0.223521489387566220527323400498620359":
995 double: 1
996 float: 1
997 idouble: 1
998 ifloat: 1
999 ildouble: 1
1000 ldouble: 1
1002 # y1
1003 Test "y1 (0.125) == -5.19993611253477499595928744876579921":
1004 double: 1
1005 idouble: 1
1006 ildouble: 1
1007 ldouble: 1
1008 Test "y1 (1.5) == -0.412308626973911295952829820633445323":
1009 float: 1
1010 ifloat: 1
1011 Test "y1 (10.0) == 0.249015424206953883923283474663222803":
1012 double: 3
1013 float: 1
1014 idouble: 3
1015 ifloat: 1
1016 ildouble: 3
1017 ldouble: 3
1018 Test "y1 (2.0) == -0.107032431540937546888370772277476637":
1019 double: 1
1020 float: 1
1021 idouble: 1
1022 ifloat: 1
1023 ildouble: 1
1024 ldouble: 1
1025 Test "y1 (8.0) == -0.158060461731247494255555266187483550":
1026 double: 1
1027 float: 2
1028 idouble: 1
1029 ifloat: 2
1030 ildouble: 1
1031 ldouble: 1
1033 # yn
1034 Test "yn (0, 1.0) == 0.0882569642156769579829267660235151628":
1035 double: 2
1036 float: 1
1037 idouble: 2
1038 ifloat: 1
1039 ildouble: 2
1040 ldouble: 2
1041 Test "yn (0, 1.5) == 0.382448923797758843955068554978089862":
1042 double: 2
1043 float: 1
1044 idouble: 2
1045 ifloat: 1
1046 ildouble: 2
1047 ldouble: 2
1048 Test "yn (0, 10.0) == 0.0556711672835993914244598774101900481":
1049 float: 1
1050 ifloat: 1
1051 Test "yn (0, 8.0) == 0.223521489387566220527323400498620359":
1052 double: 1
1053 float: 1
1054 idouble: 1
1055 ifloat: 1
1056 ildouble: 1
1057 ldouble: 1
1058 Test "yn (1, 0.125) == -5.19993611253477499595928744876579921":
1059 double: 1
1060 idouble: 1
1061 ildouble: 1
1062 ldouble: 1
1063 Test "yn (1, 1.5) == -0.412308626973911295952829820633445323":
1064 float: 1
1065 ifloat: 1
1066 Test "yn (1, 10.0) == 0.249015424206953883923283474663222803":
1067 double: 3
1068 float: 1
1069 idouble: 3
1070 ifloat: 1
1071 ildouble: 3
1072 ldouble: 3
1073 Test "yn (1, 2.0) == -0.107032431540937546888370772277476637":
1074 double: 1
1075 float: 1
1076 idouble: 1
1077 ifloat: 1
1078 ildouble: 1
1079 ldouble: 1
1080 Test "yn (1, 8.0) == -0.158060461731247494255555266187483550":
1081 double: 1
1082 float: 2
1083 idouble: 1
1084 ifloat: 2
1085 ildouble: 1
1086 ldouble: 1
1087 Test "yn (10, 0.125) == -127057845771019398.252538486899753195":
1088 double: 1
1089 idouble: 1
1090 ildouble: 1
1091 ldouble: 1
1092 Test "yn (10, 0.75) == -2133501638.90573424452445412893839236":
1093 double: 1
1094 float: 1
1095 idouble: 1
1096 ifloat: 1
1097 ildouble: 1
1098 ldouble: 1
1099 Test "yn (10, 1.0) == -121618014.278689189288130426667971145":
1100 double: 1
1101 idouble: 1
1102 ildouble: 1
1103 ldouble: 1
1104 Test "yn (10, 10.0) == -0.359814152183402722051986577343560609":
1105 double: 1
1106 float: 1
1107 idouble: 1
1108 ifloat: 1
1109 ildouble: 1
1110 ldouble: 1
1111 Test "yn (10, 2.0) == -129184.542208039282635913145923304214":
1112 double: 2
1113 idouble: 2
1114 ildouble: 2
1115 ldouble: 2
1116 Test "yn (3, 0.125) == -2612.69757350066712600220955744091741":
1117 double: 1
1118 idouble: 1
1119 ildouble: 1
1120 ldouble: 1
1121 Test "yn (3, 0.75) == -12.9877176234475433186319774484809207":
1122 double: 1
1123 float: 1
1124 idouble: 1
1125 ifloat: 1
1126 ildouble: 1
1127 ldouble: 1
1128 Test "yn (3, 10.0) == -0.251362657183837329779204747654240998":
1129 double: 1
1130 float: 1
1131 idouble: 1
1132 ifloat: 1
1133 ildouble: 1
1134 ldouble: 1
1135 Test "yn (3, 2.0) == -1.12778377684042778608158395773179238":
1136 double: 1
1137 idouble: 1
1138 ildouble: 1
1139 ldouble: 1
1141 # Maximal error of functions:
1142 Function: "atan2":
1143 float: 1
1144 ifloat: 1
1146 Function: "atanh":
1147 float: 1
1148 ifloat: 1
1150 Function: Imaginary part of "cacosh":
1151 float: 1
1152 ifloat: 1
1154 Function: Real part of "casin":
1155 double: 1
1156 float: 1
1157 idouble: 1
1158 ifloat: 1
1159 ildouble: 1
1160 ldouble: 1
1162 Function: Real part of "casinh":
1163 double: 5
1164 float: 1
1165 idouble: 5
1166 ifloat: 1
1167 ildouble: 5
1168 ldouble: 5
1170 Function: Imaginary part of "casinh":
1171 double: 3
1172 float: 6
1173 idouble: 3
1174 ifloat: 6
1175 ildouble: 3
1176 ldouble: 3
1178 Function: Imaginary part of "catan":
1179 double: 1
1180 float: 1
1181 idouble: 1
1182 ifloat: 1
1183 ildouble: 1
1184 ldouble: 1
1186 Function: Real part of "catanh":
1187 double: 4
1188 idouble: 4
1189 ildouble: 4
1190 ldouble: 4
1192 Function: "cbrt":
1193 double: 1
1194 idouble: 1
1195 ildouble: 1
1196 ldouble: 1
1198 Function: Real part of "ccos":
1199 double: 1
1200 float: 1
1201 idouble: 1
1202 ifloat: 1
1203 ildouble: 1
1204 ldouble: 1
1206 Function: Imaginary part of "ccos":
1207 float: 1
1208 ifloat: 1
1210 Function: Real part of "ccosh":
1211 double: 1
1212 float: 1
1213 idouble: 1
1214 ifloat: 1
1215 ildouble: 1
1216 ldouble: 1
1218 Function: Imaginary part of "ccosh":
1219 float: 1
1220 ifloat: 1
1222 Function: "ceil":
1223 ildouble: 1
1224 ldouble: 1
1226 Function: Real part of "cexp":
1227 float: 1
1228 ifloat: 1
1230 Function: Imaginary part of "cexp":
1231 float: 1
1232 ifloat: 1
1234 Function: Real part of "clog":
1235 float: 1
1236 ifloat: 1
1238 Function: Real part of "clog10":
1239 float: 1
1240 ifloat: 1
1242 Function: Imaginary part of "clog10":
1243 double: 1
1244 float: 1
1245 idouble: 1
1246 ifloat: 1
1247 ildouble: 1
1248 ldouble: 1
1250 Function: "cos":
1251 double: 2
1252 float: 1
1253 idouble: 2
1254 ifloat: 1
1255 ildouble: 2
1256 ldouble: 2
1258 Function: Real part of "cpow":
1259 double: 2
1260 float: 4
1261 idouble: 2
1262 ifloat: 4
1263 ildouble: 2
1264 ldouble: 2
1266 Function: Imaginary part of "cpow":
1267 double: 2
1268 float: 2
1269 idouble: 2
1270 ifloat: 2
1271 ildouble: 2
1272 ldouble: 2
1274 Function: Real part of "csinh":
1275 float: 1
1276 ifloat: 1
1278 Function: Imaginary part of "csinh":
1279 double: 1
1280 float: 1
1281 idouble: 1
1282 ifloat: 1
1283 ildouble: 1
1284 ldouble: 1
1286 Function: Real part of "csqrt":
1287 float: 1
1288 ifloat: 1
1290 Function: Imaginary part of "ctan":
1291 double: 1
1292 idouble: 1
1293 ildouble: 1
1294 ldouble: 1
1296 Function: Real part of "ctanh":
1297 double: 1
1298 float: 2
1299 idouble: 1
1300 ifloat: 2
1301 ildouble: 1
1302 ldouble: 1
1304 Function: Imaginary part of "ctanh":
1305 float: 1
1306 ifloat: 1
1308 Function: "erf":
1309 double: 1
1310 idouble: 1
1311 ildouble: 1
1312 ldouble: 1
1314 Function: "erfc":
1315 double: 1
1316 idouble: 1
1317 ildouble: 1
1318 ldouble: 1
1320 Function: "exp10":
1321 double: 6
1322 float: 2
1323 idouble: 6
1324 ifloat: 2
1325 ildouble: 6
1326 ldouble: 6
1328 Function: "expm1":
1329 double: 1
1330 float: 1
1331 idouble: 1
1332 ifloat: 1
1333 ildouble: 1
1334 ldouble: 1
1336 Function: "floor":
1337 ildouble: 1
1338 ldouble: 1
1340 Function: "hypot":
1341 float: 1
1342 ifloat: 1
1344 Function: "j0":
1345 double: 2
1346 float: 2
1347 idouble: 2
1348 ifloat: 2
1349 ildouble: 2
1350 ldouble: 2
1352 Function: "j1":
1353 double: 1
1354 float: 2
1355 idouble: 1
1356 ifloat: 2
1357 ildouble: 1
1358 ldouble: 1
1360 Function: "jn":
1361 double: 4
1362 float: 4
1363 idouble: 4
1364 ifloat: 4
1365 ildouble: 4
1366 ldouble: 4
1368 Function: "lgamma":
1369 double: 1
1370 float: 2
1371 idouble: 1
1372 ifloat: 2
1373 ildouble: 1
1374 ldouble: 1
1376 Function: "log10":
1377 double: 1
1378 float: 2
1379 idouble: 1
1380 ifloat: 2
1381 ildouble: 1
1382 ldouble: 1
1384 Function: "log1p":
1385 float: 1
1386 ifloat: 1
1388 Function: "rint_downward":
1389 ildouble: 1
1390 ldouble: 1
1392 Function: "rint_towardzero":
1393 ildouble: 1
1394 ldouble: 1
1396 Function: "rint_upward":
1397 ildouble: 1
1398 ldouble: 1
1400 Function: "round":
1401 ildouble: 1
1402 ldouble: 1
1404 Function: "sincos":
1405 double: 1
1406 float: 1
1407 idouble: 1
1408 ifloat: 1
1409 ildouble: 1
1410 ldouble: 1
1412 Function: "tan":
1413 double: 1
1414 idouble: 1
1415 ildouble: 1
1416 ldouble: 1
1418 Function: "tgamma":
1419 double: 1
1420 float: 1
1421 idouble: 1
1422 ifloat: 1
1423 ildouble: 1
1424 ldouble: 1
1426 Function: "trunc":
1427 ildouble: 1
1428 ldouble: 1
1430 Function: "y0":
1431 double: 2
1432 float: 1
1433 idouble: 2
1434 ifloat: 1
1435 ildouble: 2
1436 ldouble: 2
1438 Function: "y1":
1439 double: 3
1440 float: 2
1441 idouble: 3
1442 ifloat: 2
1443 ildouble: 3
1444 ldouble: 3
1446 Function: "yn":
1447 double: 3
1448 float: 2
1449 idouble: 3
1450 ifloat: 2
1451 ildouble: 3
1452 ldouble: 3
1454 # end of automatic generation