Import Upstream version 0.8.2
[platform/upstream/mpc.git] / tests / mul.dat
old mode 100755 (executable)
new mode 100644 (file)
index 13ea1e6..5383971
@@ -1,21 +1,23 @@
 # Data file for mpc_mul
 #
-# Copyright (C) 2008, 2010, 2011, 2012 INRIA
+# Copyright (C) 2008 Philippe Th\'eveny, Andreas Enge, Paul Zimmermann
 #
-# This file is part of GNU MPC.
+# This file is part of the MPC Library.
 #
-# GNU MPC is free software; you can redistribute it and/or modify it under
-# the terms of the GNU Lesser General Public License as published by the
-# Free Software Foundation; either version 3 of the License, or (at your
-#ption) any later version.
+# The MPC Library is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or (at your
+# option) any later version.
 #
-# GNU MPC is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
-# more details.
+# The MPC Library is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
+# License for more details.
 #
 # You should have received a copy of the GNU Lesser General Public License
-# along with this program. If not, see http://www.gnu.org/licenses/ .
+# along with the MPC Library; see the file COPYING.LIB.  If not, write to
+# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+# MA 02111-1307, USA.
 #
 # The line format respects the parameter order in function prototype as
 # follow:
 + - 6 0x33p-315 6 0x9p-497     6   0x3p148 6  0x1dp-73  6  0x11p-463 6 0x3p-645  N N
 0 0 4 0x1p-1902 4 0x3p-1085    4 -0x1p-892 4 -0x3p-75   4 -0x1p-1010 4 0         N N
 
-# a few particular values
-0 0 8 10 8 -5  8 4 8 3  8 1 8 -2 N N
-+ + 27 0b1.10110000001100010010000000e-3 27 0b1.00111100000010100001011001e-1  27 0b1.11111011011000010101000000e-2 27 0b1.11010001010110111001110001e-3  27 0b1.10100101110110011011100100e-1 27 0b1.10111100011000001100110011e-1 N N
-0 0 15 2 15 0  15 -1 15 -1 15 -1 15 1 N N
-
-# check squares, copied from sqr.dat
-+ - 53  0xfdbac097c8dc58p+2096 53 -0x7f6e5d4c3b2a2p+1036   53 -0xfedcba9876543p+1024 53  0x10000000000001p-42  53 -0xfedcba9876543p+1024 53  0x10000000000001p-42  U D
-+ 0 30 309485009533114692573069312 30 18889465966662952943616  30 17592186044416 30 536870913 30 17592186044416 30 536870913 N N
-0 0 4 0 4 2  4 1 4 1 4 1 4 1 N N
-+ + 8 0b1.1000111e-3 8 0b1.1100111e-3  27 0b1.11111011011000010101000000e-2 27 0b1.11010001010110111001110001e-3 27 0b1.11111011011000010101000000e-2 27 0b1.11010001010110111001110001e-3 N N
-? + 3464 inf 3464 inf  866 -0x2.5763c6519ef1510f8afa101a210b8030b1909cc17004db561a25d9b53e2c08c41c01e8bbac5af6299b9d8786030aa14943d841798c8c369287942e4d4cec42a60ab0922af931159805e631128e97f973754ad53972d5d320a651a3b4a667f0ef2b92dbd698d159c3642675140@192158913 866 -0xd.15f2d530934dd930d66e89d70762d2337a8f973dd6915eb6b532fd372fcc955df1d852632d4e46fe64154ceda991a1302caf1b0ec622497e3e5724dd05b1c89a06e28d7e18e8af58f5ff4c9998cb31714688867524f41e0b31e847c1bf40de5127f858069998efd7c3e599080@192158893 866 -0x2.5763c6519ef1510f8afa101a210b8030b1909cc17004db561a25d9b53e2c08c41c01e8bbac5af6299b9d8786030aa14943d841798c8c369287942e4d4cec42a60ab0922af931159805e631128e97f973754ad53972d5d320a651a3b4a667f0ef2b92dbd698d159c3642675140@192158913 866 -0xd.15f2d530934dd930d66e89d70762d2337a8f973dd6915eb6b532fd372fcc955df1d852632d4e46fe64154ceda991a1302caf1b0ec622497e3e5724dd05b1c89a06e28d7e18e8af58f5ff4c9998cb31714688867524f41e0b31e847c1bf40de5127f858069998efd7c3e599080@192158893 N N
-? + 2256 0 2256 -0  564 0xc.87999bfd1cb1a64288881e214b7cf1af979863b23c030b79c4a8bebb39177967608388a2e4df527977e7755a25df8af8f72fdd6dd2f42bd00de83088b4e9b59ce85caf2e6b0c0@-184298749 564 -0x2.5109af459d4daf357e09475ec991cdc9b02c8f7dfacdc060d2a24710d09c997f8aea6dbd46f10828c30b583fdcc90d7dcbb895689d594d3813db40784d2309e450d1fb6e38da8@-184298726 564 0xc.87999bfd1cb1a64288881e214b7cf1af979863b23c030b79c4a8bebb39177967608388a2e4df527977e7755a25df8af8f72fdd6dd2f42bd00de83088b4e9b59ce85caf2e6b0c0@-184298749 564 -0x2.5109af459d4daf357e09475ec991cdc9b02c8f7dfacdc060d2a24710d09c997f8aea6dbd46f10828c30b583fdcc90d7dcbb895689d594d3813db40784d2309e450d1fb6e38da8@-184298726 N N
-
-# intermediate over- and underflows
-- + 100 -inf 100 +inf  100 0x1@125000750 100 0x3@125000750  100 0x1@225000750 100 0x2@225000750 N N
-- + 100 -inf 100 +inf  100 0x1@225000750 100 0x2@225000750  100 0x1@125000750 100 0x3@125000750 N N
-- - 100 -inf 100 -inf  100 0x1@225000750 100 -0x2@225000750  100 0x1@125000750 100 -0x3@125000750 N N
-+ - 100 -0   100 +0    100 0x1@-125000750 100 0x3@-125000750  100 0x1@-225000750 100 0x2@-225000750 N N
-+ - 100 -0   100 +0    100 0x1@-225000750 100 0x2@-225000750  100 0x1@-125000750 100 0x3@-125000750 N N
-- - 100 +0   100 +0    100 0x3@-125000750 100 0x1@-125000750  100 0x1@-225000750 100 0x2@-225000750 N N
-- - 100 +0   100 +0    100 0x4@-125000750 100 0x1@-125000750  100 0x1@-225000750 100 0x2@-225000750 N N
-+ - 100 -0   100 +0    100 0x2@-225000750 100 0x1@-225000750  100 0x1@-125000750 100 0x3@-125000750 N N
-0 - 100 +0   100 +0    100 0x1@-225000750 100 0x1@-225000750  100 0x1@-125000750 100 0x1@-125000750 N N
-0 + 100 +0   100 +inf  100 0x1@125000750 100 0x1@125000750  100 0x1@225000750 100 0x1@225000750 N N
-+ 0 100 +inf 100 +0    100 0x1@125000750 100 0x1@125000750  100 0x1@225000750 100 -0x1@225000750 N N
-# the same with directed rounding
-- + 10 -inf 10 +inf 10 0x1@125000750 10 0x3@125000750  10 0x1@225000750 10 0x2@225000750 D U
-+ - 10 -0b1.111111111e1073741822 10 0b1.111111111e1073741822  10 0x1@125000750 10 0x3@125000750  10 0x1@225000750 10 0x2@225000750 U D
-+ - 10 -0   10 +0    10 0x1@-125000750 10 0x3@-125000750  10 0x1@-225000750 10 0x2@-225000750 U D
-- + 10 -0b1e-1073741824   10 0b1e-1073741824    10 0x1@-125000750 10 0x3@-125000750  10 0x1@-225000750 10 0x2@-225000750 D U
-# starting with Karatsuba
-- + 10000 -inf 100 +inf  100 0x1@125000750 100 0x3@125000750  100 0x1@225000750 100 0x2@225000750 N N
-- + 10000 -inf 100 +inf  100 0x1@225000750 100 0x2@225000750  100 0x1@125000750 100 0x3@125000750 N N
-- - 10000 -inf 100 -inf  100 0x1@225000750 100 -0x2@225000750  100 0x1@125000750 100 -0x3@125000750 N N
-+ - 10000 -0   100 +0    100 0x1@-125000750 100 0x3@-125000750  100 0x1@-225000750 100 0x2@-225000750 N N
-+ - 10000 -0   100 +0    100 0x1@-225000750 100 0x2@-225000750  100 0x1@-125000750 100 0x3@-125000750 N N
-- - 10000 +0   100 +0    100 0x3@-125000750 100 0x1@-125000750  100 0x1@-225000750 100 0x2@-225000750 N N
-- - 10000 +0   100 +0    100 0x4@-125000750 100 0x1@-125000750  100 0x1@-225000750 100 0x2@-225000750 N N
-+ - 10000 -0   100 +0    100 0x2@-225000750 100 0x1@-225000750  100 0x1@-125000750 100 0x3@-125000750 N N
-0 - 10000 +0   100 +0    100 0x1@-225000750 100 0x1@-225000750  100 0x1@-125000750 100 0x1@-125000750 N N
-0 + 10000 +0   100 +inf  100 0x1@125000750 100 0x1@125000750  100 0x1@225000750 100 0x1@225000750 N N
-+ 0 10000 +inf 100 +0    100 0x1@125000750 100 0x1@125000750  100 0x1@225000750 100 -0x1@225000750 N N
-+ + 10000 +inf 100 +inf  100 0x1@125000750 100 0x3@125000750  100 0x1@143434706 100 0x2@143434705 N N
-
-# improve code coverage: case where sign_x==0 in mpc_mul_karatsuba
-0 0 2000 6 2000 8  2000 4 2000 2 2000 2 2000 1 N N
-0 0 2000 0 2000 4  2000 2 2000 2 2000 1 2000 1 N N
-
-+ 0 2 1 2 0x2p-536870913 2 1 2 0x1p-536870913 2 1 2 0x1p-536870913 N N
-0 - 2 0 2 1 2 0x1p-536870913 2 1 2 1 2 0x1p-536870913 N N