summaryrefslogtreecommitdiff
path: root/mpc/tests/norm.dat
diff options
context:
space:
mode:
Diffstat (limited to 'mpc/tests/norm.dat')
-rw-r--r--mpc/tests/norm.dat166
1 files changed, 166 insertions, 0 deletions
diff --git a/mpc/tests/norm.dat b/mpc/tests/norm.dat
new file mode 100644
index 0000000000..1a7e341cbe
--- /dev/null
+++ b/mpc/tests/norm.dat
@@ -0,0 +1,166 @@
+# Data file for mpc_norm.
+#
+# Copyright (C) 2008, 2010, 2011 INRIA
+#
+# This file is part of GNU MPC.
+#
+# 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
+#o ption) 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.
+#
+# 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/ .
+#
+# For explanations on the file format, see abs.dat.
+
+# special values
+0 7 +inf 7 -inf 7 -inf N
+0 7 +inf 7 -inf 7 -1 N
+0 7 +inf 7 -inf 7 -0 N
+0 7 +inf 7 -inf 7 +0 N
+0 7 +inf 7 -inf 7 1 N
+0 7 +inf 7 -inf 7 +inf N
+0 7 +inf 7 -inf 7 nan N
+0 7 +inf 7 -1 7 -inf N
+0 7 +inf 7 -1 7 +inf N
+0 7 nan 7 -1 7 nan N
+0 7 +inf 7 -0 7 -inf N
+0 7 +inf 7 -0 7 +inf N
+0 7 nan 7 -0 7 nan N
+0 7 +inf 7 +0 7 -inf N
+0 7 +inf 7 +0 7 +inf N
+0 7 nan 7 +0 7 nan N
+0 7 +inf 7 1 7 -inf N
+0 7 +inf 7 1 7 +inf N
+0 7 nan 7 1 7 nan N
+0 7 +inf 7 +inf 7 -inf N
+0 7 +inf 7 +inf 7 -1 N
+0 7 +inf 7 +inf 7 -0 N
+0 7 +inf 7 +inf 7 +0 N
+0 7 +inf 7 +inf 7 1 N
+0 7 +inf 7 +inf 7 +inf N
+0 7 +inf 7 +inf 7 nan N
+0 7 +inf 7 nan 7 -inf N
+0 7 nan 7 nan 7 -1 N
+0 7 nan 7 nan 7 -0 N
+0 7 nan 7 nan 7 +0 N
+0 7 nan 7 nan 7 1 N
+0 7 +inf 7 nan 7 +inf N
+0 7 nan 7 nan 7 nan N
+
+# values with only 1, -1, +0, -0
+0 7 2 7 -1 7 -1 N
+0 7 1 7 -1 7 -0 N
+0 7 1 7 -1 7 +0 N
+0 7 2 7 -1 7 1 N
+0 7 1 7 -0 7 -1 N
+0 7 +0 7 -0 7 -0 N
+0 7 +0 7 -0 7 +0 N
+0 7 1 7 -0 7 1 N
+0 7 1 7 +0 7 -1 N
+0 7 +0 7 +0 7 -0 N
+0 7 +0 7 +0 7 +0 N
+0 7 1 7 +0 7 1 N
+0 7 2 7 1 7 -1 N
+0 7 1 7 1 7 -0 N
+0 7 1 7 1 7 +0 N
+0 7 2 7 1 7 1 N
+
+# overflow
++ 53 +inf 2 0x1p536870912 2 0x1p536870912 U
+
+# infinite loop reported by E. Thome
+- 250 +0 250 -0xf.fdda3457c3e69e5841461d505b42987feb42867a4a2d2872179c4efa20054c0@-136943039 250 -0xc.670d1beda685fdd771b6246e32ff49ec4fd70aec25367444e00933e6965d3c0@-136943040 N
+
+# inexact values: norm (2+i)=5, in the middle between two values at precision 2
+- 2 4 2 2 2 1 D
+- 2 4 2 2 2 1 Z
++ 2 6 2 2 2 1 U
+- 2 4 2 2 2 1 N
+
+# over- and underflows
++ 10 inf 10 0 10 0b1@536870912 N
++ 10 inf 10 0 10 0b1@536870912 U
+- 10 0b1.111111111@1073741822 10 0 10 0b1@536870912 D
+- 10 0b1.111111111@1073741822 10 0 10 0b1@536870912 Z
+- 10 0 10 0 10 0b1@-536870913 N
+- 10 0 10 0 10 0b1@-536870913 D
+- 10 0 10 0 10 0b1@-536870913 Z
++ 10 0b1.000000000e-1073741824 10 0 10 0b1@-536870913 U
+
++ 10 inf 10 0b1@536870912 10 0 N
++ 10 inf 10 0b1@536870912 10 0 U
+- 10 0b1.111111111@1073741822 10 0b1@536870912 10 0 D
+- 10 0b1.111111111@1073741822 10 0b1@536870912 10 0 Z
+- 10 0 10 0b1@-536870913 10 0 N
+- 10 0 10 0b1@-536870913 10 0 D
+- 10 0 10 0b1@-536870913 10 0 Z
++ 10 0b1.000000000e-1073741824 10 0b1@-536870913 10 0 U
+
++ 10 inf 10 1 10 0b1@536870912 N
++ 10 inf 10 1 10 0b1@536870912 U
+- 10 0b1.111111111@1073741822 10 1 10 0b1@536870912 D
+- 10 0b1.111111111@1073741822 10 1 10 0b1@536870912 Z
+- 10 1 10 1 10 0b1@-536870913 N
+- 10 1 10 1 10 0b1@-536870913 D
+- 10 1 10 1 10 0b1@-536870913 Z
++ 10 0b1.000000001 10 1 10 0b1@-536870913 U
+
++ 10 inf 10 0b1@536870912 10 1 N
++ 10 inf 10 0b1@536870912 10 1 U
+- 10 0b1.111111111@1073741822 10 0b1@536870912 10 1 D
+- 10 0b1.111111111@1073741822 10 0b1@536870912 10 1 Z
+- 10 1 10 0b1@-536870913 10 1 N
+- 10 1 10 0b1@-536870913 10 1 D
+- 10 1 10 0b1@-536870913 10 1 Z
++ 10 0b1.000000001 10 0b1@-536870913 10 1 U
+
++ 3 inf 10 0b1.1 10 0b1@536870912 N
++ 3 inf 10 0b1.1 10 0b1@536870912 U
+- 3 0b1.11@1073741822 10 0b1.1 10 0b1@536870912 D
+- 3 0b1.11@1073741822 10 0b1.1 10 0b1@536870912 Z
++ 3 2.5 10 0b1.1 10 0b1@-536870913 N
+- 3 2 10 0b1.1 10 0b1@-536870913 D
+- 3 2 10 0b1.1 10 0b1@-536870913 Z
++ 3 0b1.01@1 10 0b1.1 10 0b1@-536870913 U
+
++ 3 inf 10 0b1@536870912 10 0b1.1 N
++ 3 inf 10 0b1@536870912 10 0b1.1 U
+- 3 0b1.11@1073741822 10 0b1@536870912 10 0b1.1 D
+- 3 0b1.11@1073741822 10 0b1@536870912 10 0b1.1 Z
++ 3 2.5 10 0b1@-536870913 10 0b1.1 N
+- 3 2 10 0b1@-536870913 10 0b1.1 D
+- 3 2 10 0b1@-536870913 10 0b1.1 Z
++ 3 0b1.01@1 10 0b1@-536870913 10 0b1.1 U
+
++ 10 inf 10 0b1@-536870913 10 0b1@536870912 N
++ 10 inf 10 0b1@-536870913 10 0b1@536870912 U
+- 10 0b1.111111111@1073741822 10 0b1@-536870913 10 0b1@536870912 D
+- 10 0b1.111111111@1073741822 10 0b1@-536870912 10 0b1@536870912 Z
++ 10 inf 10 0b1@536870912 10 0b1@-536870913 N
++ 10 inf 10 0b1@536870912 10 0b1@-536870913 U
+- 10 0b1.111111111@1073741822 10 0b1@536870912 10 0b1@-536870913 D
+- 10 0b1.111111111@1073741822 10 0b1@536870912 10 0b1@-536870913 Z
++ 10 inf 10 0b1@536870912 10 0b1@536870912 N
++ 10 inf 10 0b1@536870912 10 0b1@536870912 U
+- 10 0b1.111111111@1073741822 10 0b1@536870912 10 0b1@536870912 D
+- 10 0b1.111111111@1073741822 10 0b1@536870912 10 0b1@536870912 Z
+- 10 0 10 0b1@-536870913 10 0b1@-536870913 N
+- 10 0 10 0b1@-536870913 10 0b1@-536870913 D
+- 10 0 10 0b1@-536870913 10 0b1@-536870913 Z
++ 10 0b1@-1073741824 10 0b1@-536870913 10 0b1@-536870913 U
+
+0 18 0b1.00100000000001001@-1073741811 2 0b1.1@-536870906 2 0b1.1@-536870913 N
+0 18 0b1.00100000000001001@-1073741811 2 0b1.1@-536870913 2 0b1.1@-536870906 N
+0 18 0b1.00100000000001001@-1073741811 2 0b1.1@-536870906 2 0b1.1@-536870913 Z
+0 18 0b1.00100000000001001@-1073741811 2 0b1.1@-536870913 2 0b1.1@-536870906 Z
+0 18 0b1.00100000000001001@-1073741811 2 0b1.1@-536870906 2 0b1.1@-536870913 D
+0 18 0b1.00100000000001001@-1073741811 2 0b1.1@-536870913 2 0b1.1@-536870906 D
+0 18 0b1.00100000000001001@-1073741811 2 0b1.1@-536870906 2 0b1.1@-536870913 U
+0 18 0b1.00100000000001001@-1073741811 2 0b1.1@-536870913 2 0b1.1@-536870906 U