1# Data file for mpc_add_fr. 2# 3# Copyright (C) 2008, 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 PREC_OP2 OP2 RND_RE RND_IM 24# 25# where op1 = op1_re + i * op1_im, rop = rop_re + i * rop_im, 26# The data are read from the file and stored in variables op1, op2, rop using 27# rounding to nearest when needed, for instance: rop_re is ROP_RE rounded to 28# nearest to the precision of PREC_ROP_RE. 29# ROP_RE is checked against Re(op1 + op2) rounded to the precision PREC_ROP_RE 30# in the direction RND_RE 31# ROP_IM is checked against Im(op1) rounded to the precision PREC_ROP_IM 32# in the direction RND_IM 33# INEX_RE is the ternary value for the real part with the following notation: 34# "?" ternary value not checked 35# "+" if ROP_RE is greater than the exact mathematical result 36# "0" if ROP_RE is exactly the mathematical result 37# "-" if ROP_RE is less than the exact mathematical result 38# (m.m. INEX_IM) 39# rounding modes notation: 40# "N" is rounding to nearest 41# "Z" is rounding towards zero 42# "U" is rounding towards plus infinity 43# "D" is rounding towards minus infinity 44# Use prefixes "0b" for values in base two, "0x" for values in base sixteen, 45# no prefix for value in base ten. 46# In all bases, "nan" is NaN, "inf" is infinity; 47# The sign of the result is checked with "+inf", "-inf", "-0", or "+0". 48 49# special values (following ISO C99 standard) 500 0 53 -inf 53 -inf 53 -inf 53 -inf 53 -inf N Z 510 0 53 -inf 53 +inf 53 -inf 53 +inf 53 -1 Z U 520 0 53 -inf 53 -0 53 -inf 53 -0 53 -0 U D 530 0 53 -inf 53 +0 53 -inf 53 +0 53 +0 D N 540 0 53 -inf 53 -1 53 -inf 53 -1 53 +1 N U 550 0 53 nan 53 +1 53 -inf 53 +1 53 +inf Z D 560 0 53 nan 53 nan 53 -inf 53 nan 53 nan U N 57 580 0 53 -inf 53 +inf 53 -1 53 +inf 53 -inf N Z 590 0 53 -2 53 -0 53 -1 53 -0 53 -1 Z U 600 0 53 -1 53 +0 53 -1 53 +0 53 -0 U D 610 0 53 -1 53 -1 53 -1 53 -1 53 +0 D N 620 0 53 +0 53 +1 53 -1 53 +1 53 +1 N U 630 0 53 +inf 53 nan 53 -1 53 nan 53 +inf Z D 640 0 53 nan 53 -inf 53 -1 53 -inf 53 nan U N 65 660 0 53 -inf 53 -0 53 -0 53 -0 53 -inf N Z 670 0 53 -1 53 +0 53 -0 53 +0 53 -1 Z U 680 0 53 -0 53 -1 53 -0 53 -1 53 -0 U D 690 0 53 -0 53 +1 53 -0 53 +1 53 +0 D N 700 0 53 +1 53 nan 53 -0 53 nan 53 +1 N U 710 0 53 +inf 53 -inf 53 -0 53 -inf 53 +inf Z D 720 0 53 nan 53 +inf 53 -0 53 +inf 53 nan U N 73 740 0 53 -inf 53 +0 53 +0 53 +0 53 -inf N Z 750 0 53 -1 53 -1 53 +0 53 -1 53 -1 Z U 760 0 53 +0 53 +1 53 +0 53 +1 53 -0 U D 770 0 53 +0 53 nan 53 +0 53 nan 53 +0 D N 780 0 53 +1 53 -inf 53 +0 53 -inf 53 +1 N U 790 0 53 +inf 53 +inf 53 +0 53 +inf 53 +inf Z D 800 0 53 nan 53 -0 53 +0 53 -0 53 nan U N 81 820 0 53 -inf 53 -1 53 +1 53 -1 53 -inf N Z 830 0 53 +0 53 +1 53 +1 53 +1 53 -1 Z U 840 0 53 +1 53 nan 53 +1 53 nan 53 -0 U D 850 0 53 +1 53 -inf 53 +1 53 -inf 53 +0 D N 860 0 53 +2 53 +inf 53 +1 53 +inf 53 +1 N U 870 0 53 +inf 53 -0 53 +1 53 -0 53 +inf Z D 880 0 53 nan 53 +0 53 +1 53 +0 53 nan U N 89 900 0 53 nan 53 +1 53 +inf 53 +1 53 -inf N Z 910 0 53 +inf 53 nan 53 +inf 53 nan 53 -1 Z U 920 0 53 +inf 53 -inf 53 +inf 53 -inf 53 -0 U D 930 0 53 +inf 53 +inf 53 +inf 53 +inf 53 +0 D N 940 0 53 +inf 53 -0 53 +inf 53 -0 53 +1 N U 950 0 53 +inf 53 +0 53 +inf 53 +0 53 +inf Z D 960 0 53 nan 53 -1 53 +inf 53 -1 53 nan U N 97 980 0 53 nan 53 nan 53 nan 53 nan 53 -inf N Z 990 0 53 nan 53 -inf 53 nan 53 -inf 53 -1 Z U 1000 0 53 nan 53 +inf 53 nan 53 +inf 53 -0 U D 1010 0 53 nan 53 -0 53 nan 53 -0 53 +0 D N 1020 0 53 nan 53 +0 53 nan 53 +0 53 +1 N U 1030 0 53 nan 53 -1 53 nan 53 -1 53 +inf Z D 1040 0 53 nan 53 +1 53 nan 53 +1 53 nan U N 105 106# pure real argument 107- 0 53 0x10000000000000p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-106 N N 108+ 0 53 0x10000000000001p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-105 N N 109- 0 53 0x10000000000001p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-104 N N 110- 0 53 0x10000000000000p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-105 Z Z 111+ 0 53 0x10000000000001p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-105 U U 112- 0 53 0x10000000000000p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-105 D D 113 114# pure imaginary argument 1150 0 53 +1 53 +1 53 -0 53 1 53 +1 N N 1160 0 53 +1 53 +1 53 +0 53 1 53 +1 Z Z 1170 0 53 +1 53 +1 53 +0 53 1 53 +1 U U 1180 0 53 +1 53 +1 53 -0 53 1 53 +1 D D 119 120# non-zero return values for imaginary part 1210 + 2 0 2 8 3 0 3 7 3 0 N N 1220 - 2 0 2 4 3 0 3 5 3 0 N N 123