Imported Upstream version 1.0
[platform/upstream/mpc.git] / tests / pow_ui.dat
1 # Data file for mpc_pow_ui.
2 #
3 # Copyright (C) 2010, 2011, 2012 INRIA
4 #
5 # This file is part of GNU MPC.
6 #
7 # GNU MPC is free software; you can redistribute it and/or modify it under
8 # the terms of the GNU Lesser General Public License as published by the
9 # Free Software Foundation; either version 3 of the License, or (at your
10 #o ption) any later version.
11 #
12 # GNU MPC is distributed in the hope that it will be useful, but WITHOUT ANY
13 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14 # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
15 # more details.
16 #
17 # You should have received a copy of the GNU Lesser General Public License
18 # along with this program. If not, see http://www.gnu.org/licenses/ .
19 #
20 # The line format respects the parameter order in function prototype as
21 # follow:
22 #
23 # INEX_RE INEX_IM PREC_ROP_RE  ROP_RE  PREC_ROP_IM  ROP_IM  PREC_OP1_RE  OP1_RE  PREC_OP1_IM  OP1_IM  OP2  RND_RE  RND_IM
24 #
25 # For further details, see add_fr.dat.
26
27 # special cases, copied from pow.dat
28 0 0 53   +1 53    0    53  nan 53   +0  +0 N N
29 0 0 53  nan 53  nan    53  nan 53   +0  +1 N N
30 0 0 53  inf 53  nan    53 +inf 53   +0  +1 N N
31 0 0 53 +inf 53  nan    53 +inf 53   +1  +1 N N
32 0 0 53 +inf 53  nan    53 +inf 53   -1  +1 N N
33 0 0 53 +inf 53  nan    53 -inf 53   +0  +1 N N
34 0 0 53 +inf 53  nan    53 -inf 53   +1  +1 N N
35 0 0 53 +inf 53  nan    53 -inf 53   -1  +1 N N
36
37 0 0 53   +1 53   +0    53   +0 53   +0  +0 N N
38 0 0 53   +0 53   +0    53   +0 53   +0  +1 N N
39
40 0 0 53   +1 53   +0    53   +0 53   +1  +0 N N
41 0 0 53   +1 53   -0    53   +0 53   +1  +0 N D
42 0 0 53   +1 53   +0    53   -0 53   +1  +0 N N
43 0 0 53   +1 53   +0    53   -1 53   +0  +0 N N
44 0 0 53   +1 53   -0    53   -1 53   -0  +0 N N
45 0 0 53   +1 53   -0    53   -0 53   -1  +0 N N
46 0 0 53   +1 53   -0    53   +0 53   -1  +0 N N
47
48 0 0 53   +1 53   +0    53 +inf 53   +2  +0 N N
49 0 0 53   +1 53   +0    53 +inf 53   -0  +0 N N
50 0 0 53   +1 53   +0    53   +2 53 +inf  +0 N N
51 0 0 53   +1 53   +0    53   +2 53   +0  +0 N N
52 0 0 53   +1 53   +0    53   +0 53   +2  +0 N N
53 0 0 53   +1 53   +0    53   +0 53 +inf  +0 N N
54 0 0 53   +1 53   +0    53   -0 53   +2  +0 N N
55 0 0 53   +1 53   +0    53   -0 53 +inf  +0 N N
56 0 0 53   +1 53   +0    53   -5 53 +inf  +0 N N
57 0 0 53   +1 53   +0    53   -2 53   +0  +0 N N
58 0 0 53   +1 53   +0    53 -inf 53   +0  +0 N N
59 0 0 53   +1 53   +0    53 -inf 53   +3  +0 N N
60 0 0 53   +1 53   -0    53 +0.5 53 -0.5  +0 N N
61 0 0 53   +1 53   -0    53 +0.5 53   +0  +0 N N
62 0 0 53   +1 53   -0    53 +0.5 53   -0  +0 N N
63 0 0 53   +1 53   -0    53 -0.5 53   -0  +0 N N
64 0 0 53   +1 53   -0    53   +0 53 -0.5  +0 N N
65 0 0 53   +1 53   -0    53   -0 53 -0.5  +0 N N
66 0 0 53   +9 53   +0    53   +3 53   +0  +2 N N
67 0 0 53   +1 53   +0    53   +1 53   +0  +4 N N
68 0 0 53   +1 53   -0    53   +1 53   -0  +4 N N
69 0 0 53 0.25 53   -0    53 +0.5 53   -0  +2 N N
70
71 0 0 53    1 53    0    53   +2 53   -1  +0 N N
72 0 0 53    1 53    0    53   -2 53   -1  +0 N N
73 0 0 53    1 53    0    53   -2 53   -0  +0 N N
74 0 0 53    1 53    0    53 +0.5 53 +0.5  +0 N N
75 0 0 53    1 53    0    53 -0.5 53 +0.5  +0 N N
76 0 0 53    1 53    0    53 -0.5 53   +0  +0 N N
77 0 0 53    1 53    0    53   +0 53 +0.5  +0 N N
78 0 0 53    1 53    0    53   -0 53 +0.5  +0 N N
79 0 0 53    1 53    0    53   -0 53   -4  +0 N N
80 0 0 53    1 53    0    53   +0 53   -4  +0 N N
81 0 0 53    1 53    0    53   -1 53   -0  +0 N N
82 0 0 53    1 53    0    53   -1 53   +0  +0 N N
83
84 0 0 53    4 53    0    53   +2 53   -0  +2 N N
85 0 0 53    1 53    0    53   +1 53   +0  +2 N N
86 0 0 53    1 53    0    53   +1 53   -0  +2 N N
87
88 # overflow
89 ? ? 53 +inf 53 +inf    53 1e100000000  53 1e100000000   1000000000 N N
90 # underflow
91 ? ? 53    0 53    0    53 1e-100000000 53 1e-100000000  1000000000 N N
92 # cannot round after one loop
93 ? ? 420  -0x1.c3fb41a71665f9a144927e70cbc2dc899e9e30880c0b5aa924ad8a538b4cd06e503f38bdbb7cfcfded29f7504fe0c91ecd4230984@-187 420 -0xc.82a09ac98133eb05b2643c98eb1c8e1a1609e75f682b14098176abd6c8b4b3c6c72dadaf8929f9bd87f8c78d03361bacb9fb13140@-292  420 0x1.cf13ce58adc4e639fd1c3063ffc9291433647999951bc04ba6797ec4de0335336ad0a28df18573d3b6322ebab662c08eadaed4a8e@-8 420 0x3.cf71d602ca6f754ebd6af522154f3ee1c46da0a52deb1f60016fca4b1e0b4b447b752169e837bb1866aa3734850cd158a7e3ca33c@-9  24 N N
94 # exact result
95 0 0  5 -9 5 46  5 3 5 2  3 D U
96
97 # special cases with exponents 1 and 2
98 0 0 53  3 53  4  53 3 53 4 1 N N
99 0 0 53 -7 53 24  53 3 53 4 2 N N
100
101 # coverage test
102 + - 2 1 2 1 100 0x8ac78f4e6aec091921cbdc891p-99 100 0x4a5f2972ea662e1cc0caebb81p-100 3 N N