1 # Data file for mpc_mul
3 # Copyright (C) 2008 Philippe Th\'eveny, Andreas Enge, Paul Zimmermann
5 # This file is part of the MPC Library.
7 # The MPC Library is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU Lesser General Public License as published by
9 # the Free Software Foundation; either version 2.1 of the License, or (at your
10 # option) any later version.
12 # The MPC Library is distributed in the hope that it will be useful, but
13 # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
15 # License for more details.
17 # You should have received a copy of the GNU Lesser General Public License
18 # along with the MPC Library; see the file COPYING.LIB. If not, write to
19 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
22 # The line format respects the parameter order in function prototype as
25 # INEX_RE INEX_IM PREC_ROP_RE ROP_RE PREC_ROP_IM ROP_IM PREC_OP1_RE OP1_RE PREC_OP1_IM OP1_IM PREC_OP2_RE OP2_RE PREC_OP2_IM OP2_IM RND_RE RND_IM
27 # See add.dat for more details.
29 # special values (following ISO C99 standard, G.5.1)
30 0 0 53 nan 53 +inf 53 -inf 53 -inf 53 -inf 53 -inf N Z
31 0 0 53 nan 53 +inf 53 -inf 53 +inf 53 +1 53 -inf Z U
32 0 0 53 +inf 53 -inf 53 +inf 53 -inf 53 +inf 53 +0 U D
33 0 0 53 +inf 53 -inf 53 +inf 53 +inf 53 -0 53 -1 D N
34 0 0 53 -inf 53 +inf 53 -inf 53 -inf 53 -0 53 -1 N U
35 0 0 53 -inf 53 +inf 53 -inf 53 +inf 53 +inf 53 nan Z D
36 0 0 53 -inf 53 -inf 53 +inf 53 -inf 53 nan 53 -1 U N
37 0 0 53 nan 53 nan 53 +inf 53 +inf 53 -0 53 nan D Z
38 0 0 53 nan 53 nan 53 -inf 53 -inf 53 nan 53 nan N D
40 0 0 53 -inf 53 -inf 53 -1 53 -inf 53 +inf 53 -1 N D
41 0 0 53 -inf 53 nan 53 -inf 53 +1 53 +inf 53 -0 Z N
42 0 0 53 +inf 53 nan 53 +1 53 -inf 53 -0 53 +1 U Z
43 0 0 53 nan 53 nan 53 +inf 53 +1 53 -0 53 -0 D U
44 0 0 53 nan 53 -inf 53 -1 53 -inf 53 +inf 53 nan N N
45 0 0 53 nan 53 -inf 53 -inf 53 +1 53 nan 53 +1 Z Z
46 0 0 53 nan 53 nan 53 +1 53 -inf 53 -0 53 nan U U
47 0 0 53 nan 53 nan 53 +inf 53 +1 53 nan 53 nan D D
49 0 0 53 +inf 53 nan 53 -0 53 -inf 53 +0 53 +inf D D
50 0 0 53 -inf 53 nan 53 -inf 53 +0 53 +1 53 -0 N Z
51 0 0 53 nan 53 nan 53 +0 53 -inf 53 -0 53 -0 Z U
52 0 0 53 -inf 53 nan 53 +inf 53 +0 53 -inf 53 nan U D
53 0 0 53 -inf 53 nan 53 -0 53 -inf 53 nan 53 -1 D N
54 0 0 53 nan 53 nan 53 -inf 53 +0 53 +0 53 nan N U
55 0 0 53 nan 53 nan 53 +0 53 -inf 53 nan 53 nan Z D
57 0 0 53 +1 53 -0 53 +0 53 +1 53 -0 53 -1 Z D
58 0 0 53 -0 53 +0 53 -1 53 -0 53 +0 53 -0 U N
59 0 0 53 -inf 53 nan 53 -0 53 +1 53 nan 53 +inf D Z
60 0 0 53 nan 53 nan 53 +1 53 -0 53 -1 53 nan N D
61 0 0 53 nan 53 nan 53 +0 53 +1 53 nan 53 -0 Z N
62 0 0 53 nan 53 nan 53 -1 53 -0 53 nan 53 nan U Z
64 0 0 53 +0 53 +0 53 -0 53 +0 53 +0 53 -0 U Z
65 0 0 53 nan 53 nan 53 +0 53 -0 53 nan 53 -inf D U
66 0 0 53 nan 53 nan 53 +0 53 +0 53 -1 53 nan N N
67 0 0 53 nan 53 nan 53 -0 53 -0 53 nan 53 -0 Z Z
68 0 0 53 nan 53 nan 53 -0 53 +0 53 nan 53 nan U U
70 0 0 53 +inf 53 nan 53 nan 53 -inf 53 nan 53 +inf U U
71 0 0 53 -inf 53 nan 53 +inf 53 nan 53 -1 53 nan D D
72 0 0 53 nan 53 nan 53 nan 53 -inf 53 nan 53 -0 N Z
73 0 0 53 nan 53 nan 53 -inf 53 nan 53 nan 53 nan Z U
75 0 0 53 nan 53 nan 53 +1 53 nan 53 nan 53 -1 Z U
76 0 0 53 nan 53 nan 53 nan 53 +1 53 -0 53 nan U D
77 0 0 53 nan 53 nan 53 -1 53 nan 53 nan 53 nan D N
79 0 0 53 nan 53 nan 53 nan 53 +0 53 +0 53 nan D N
80 0 0 53 nan 53 nan 53 +0 53 nan 53 nan 53 nan N U
82 0 0 53 nan 53 nan 53 nan 53 nan 53 nan 53 nan N U
85 0 0 53 0x10000000000001p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-52 53 -0 N N
86 0 0 53 0x10000000000001p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-52 53 -0 Z Z
87 0 0 53 0x10000000000001p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-52 53 -0 U U
88 0 0 53 -0x10000000000001p-52 53 -0 53 -1 53 -0 53 0x10000000000001p-52 53 -0 D D
90 # one pure real argument
91 0 0 53 0x10000000000001p-52 53 0x10000000000001p-52 53 +1 53 +1 53 0x10000000000001p-52 53 -0 N N
92 0 0 53 0x10000000000001p-52 53 -0x10000000000001p-51 53 +1 53 -2 53 0x10000000000001p-52 53 -0 Z Z
93 - + 53 -0x30000000000004p-52 53 0x30000000000004p-52 53 -3 53 +3 53 0x10000000000001p-52 53 +0 N N
94 + - 53 -0x30000000000002p-52 53 0x30000000000002p-52 53 -3 53 +3 53 0x10000000000001p-52 53 +0 Z Z
95 + + 53 -0x30000000000002p-52 53 0x30000000000004p-52 53 -3 53 +3 53 0x10000000000001p-52 53 +0 U U
96 - - 53 -0x30000000000004p-52 53 0x30000000000002p-52 53 -3 53 +3 53 0x10000000000001p-52 53 +0 D D
97 0 0 53 -0x10000000000001p-52 53 -0x10000000000001p-50 53 -1 53 -4 53 0x10000000000001p-52 53 +0 D D
98 0 0 53 +0 53 +0 53 +0 53 +0 53 0x10000000000001p-52 53 -1 N N
99 0 0 53 +0 53 -0 53 +0 53 -0 53 0x10000000000001p-52 53 -2 Z Z
100 0 0 53 +0 53 +0 53 +0 53 +0 53 0x10000000000001p-52 53 +3 U U
101 0 0 53 -0 53 -0 53 -0 53 -0 53 0x10000000000001p-52 53 +4 D D
103 # pure imaginary arguments
104 0 0 53 -0x10000000000001p-52 53 -0 53 -0 53 0x10000000000001p-52 53 -0 53 +1 N N
105 0 0 53 -0x10000000000001p-52 53 +0 53 +0 53 0x10000000000001p-52 53 -0 53 +1 Z Z
106 0 0 53 -0x10000000000001p-52 53 +0 53 +0 53 0x10000000000001p-52 53 -0 53 +1 U U
107 0 0 53 -0x10000000000001p-52 53 -0 53 -0 53 0x10000000000001p-52 53 -0 53 +1 D D
109 # one pure imaginary argument
110 0 0 53 -0x10000000000001p-52 53 -0x10000000000001p-52 53 -0 53 0x10000000000001p-52 53 -1 53 +1 N N
111 0 0 53 +0x10000000000001p-52 53 -0x10000000000001p-51 53 +0 53 0x10000000000001p-52 53 -2 53 -1 Z Z
112 + - 53 0x30000000000004p-52 53 -0x30000000000004p-52 53 +0 53 0x10000000000001p-52 53 -3 53 -3 N N
113 - + 53 0x30000000000002p-52 53 -0x30000000000002p-52 53 +0 53 0x10000000000001p-52 53 -3 53 -3 Z Z
114 + + 53 0x30000000000004p-52 53 -0x30000000000002p-52 53 +0 53 0x10000000000001p-52 53 -3 53 -3 U U
115 - - 53 0x30000000000002p-52 53 -0x30000000000004p-52 53 +0 53 0x10000000000001p-52 53 -3 53 -3 D D
116 0 0 53 +0x10000000000001p-52 53 -0x10000000000001p-50 53 -0 53 0x10000000000001p-52 53 -4 53 -1 D D
118 # big precision uses Karatsuba method
119 0 0 4096 0x1420176785BD601FC018AD36471p-96 4096 -0x1ECCDBDA38B2611A32848E7ADF43p-100 53 0x6B2E363676587p-44 53 0x1AC20AAC49ED37p-47 53 0x12264C57B44C6Bp-53 53 -0x138639A4B8D8B3p-50 N N
121 # Karatsuba case where x=0 since ad=bc: (1+i)^2 at artificially high
122 # precision so that Karatsuba is actually used.
123 0 0 4096 0 4096 2 4096 1 4096 1 4096 1 4096 1 N N
124 # trigger the line reducing prec_x to prec_u
125 0 0 4096 0 4096 2 40960 1 40960 1 40960 1 40960 1 N N
126 # another particular cases
127 + + 6 -0x9p-497 6 0x33p-315 6 -0x1dp-73 6 0x3p148 6 0x11p-463 6 0x3p-645 N N
128 + - 6 0x33p-315 6 0x9p-497 6 0x3p148 6 0x1dp-73 6 0x11p-463 6 0x3p-645 N N
129 0 0 4 0x1p-1902 4 0x3p-1085 4 -0x1p-892 4 -0x3p-75 4 -0x1p-1010 4 0 N N