head 1.1; branch 1.1.1; access; symbols netbsd-11-0-RC5:1.1.1.1 netbsd-11-0-RC4:1.1.1.1 netbsd-11-0-RC3:1.1.1.1 netbsd-11-0-RC2:1.1.1.1 netbsd-11-0-RC1:1.1.1.1 perseant-exfatfs-base-20250801:1.1.1.1 netbsd-11:1.1.1.1.0.44 netbsd-11-base:1.1.1.1 netbsd-10-1-RELEASE:1.1.1.1 perseant-exfatfs-base-20240630:1.1.1.1 perseant-exfatfs:1.1.1.1.0.42 perseant-exfatfs-base:1.1.1.1 netbsd-8-3-RELEASE:1.1.1.1 netbsd-9-4-RELEASE:1.1.1.1 netbsd-10-0-RELEASE:1.1.1.1 netbsd-10-0-RC6:1.1.1.1 netbsd-10-0-RC5:1.1.1.1 netbsd-10-0-RC4:1.1.1.1 netbsd-10-0-RC3:1.1.1.1 netbsd-10-0-RC2:1.1.1.1 netbsd-10-0-RC1:1.1.1.1 mpc-1-3-1:1.1.1.1 netbsd-10:1.1.1.1.0.40 netbsd-10-base:1.1.1.1 netbsd-9-3-RELEASE:1.1.1.1 mpc-1-2-1:1.1.1.1 cjep_sun2x-base1:1.1.1.1 cjep_sun2x:1.1.1.1.0.38 cjep_sun2x-base:1.1.1.1 cjep_staticlib_x-base1:1.1.1.1 netbsd-9-2-RELEASE:1.1.1.1 cjep_staticlib_x:1.1.1.1.0.36 cjep_staticlib_x-base:1.1.1.1 netbsd-9-1-RELEASE:1.1.1.1 mpc-1-2-0:1.1.1.1 phil-wifi-20200421:1.1.1.1 phil-wifi-20200411:1.1.1.1 is-mlppp:1.1.1.1.0.34 is-mlppp-base:1.1.1.1 phil-wifi-20200406:1.1.1.1 netbsd-8-2-RELEASE:1.1.1.1 netbsd-9-0-RELEASE:1.1.1.1 netbsd-9-0-RC2:1.1.1.1 netbsd-9-0-RC1:1.1.1.1 phil-wifi-20191119:1.1.1.1 netbsd-9:1.1.1.1.0.32 netbsd-9-base:1.1.1.1 phil-wifi-20190609:1.1.1.1 netbsd-8-1-RELEASE:1.1.1.1 netbsd-8-1-RC1:1.1.1.1 pgoyette-compat-merge-20190127:1.1.1.1 pgoyette-compat-20190127:1.1.1.1 pgoyette-compat-20190118:1.1.1.1 pgoyette-compat-1226:1.1.1.1 pgoyette-compat-1126:1.1.1.1 pgoyette-compat-1020:1.1.1.1 pgoyette-compat-0930:1.1.1.1 pgoyette-compat-0906:1.1.1.1 mpc-1-1-0:1.1.1.1 netbsd-7-2-RELEASE:1.1.1.1 pgoyette-compat-0728:1.1.1.1 netbsd-8-0-RELEASE:1.1.1.1 phil-wifi:1.1.1.1.0.30 phil-wifi-base:1.1.1.1 pgoyette-compat-0625:1.1.1.1 netbsd-8-0-RC2:1.1.1.1 pgoyette-compat-0521:1.1.1.1 pgoyette-compat-0502:1.1.1.1 pgoyette-compat-0422:1.1.1.1 netbsd-8-0-RC1:1.1.1.1 pgoyette-compat-0415:1.1.1.1 pgoyette-compat-0407:1.1.1.1 pgoyette-compat-0330:1.1.1.1 pgoyette-compat-0322:1.1.1.1 pgoyette-compat-0315:1.1.1.1 netbsd-7-1-2-RELEASE:1.1.1.1 pgoyette-compat:1.1.1.1.0.28 pgoyette-compat-base:1.1.1.1 netbsd-7-1-1-RELEASE:1.1.1.1 matt-nb8-mediatek:1.1.1.1.0.26 matt-nb8-mediatek-base:1.1.1.1 mpc-1-0-3:1.1.1.1 perseant-stdc-iso10646:1.1.1.1.0.24 perseant-stdc-iso10646-base:1.1.1.1 netbsd-8:1.1.1.1.0.22 netbsd-8-base:1.1.1.1 prg-localcount2-base3:1.1.1.1 prg-localcount2-base2:1.1.1.1 prg-localcount2-base1:1.1.1.1 prg-localcount2:1.1.1.1.0.20 prg-localcount2-base:1.1.1.1 pgoyette-localcount-20170426:1.1.1.1 bouyer-socketcan-base1:1.1.1.1 pgoyette-localcount-20170320:1.1.1.1 netbsd-7-1:1.1.1.1.0.18 netbsd-7-1-RELEASE:1.1.1.1 netbsd-7-1-RC2:1.1.1.1 netbsd-7-nhusb-base-20170116:1.1.1.1 bouyer-socketcan:1.1.1.1.0.16 bouyer-socketcan-base:1.1.1.1 pgoyette-localcount-20170107:1.1.1.1 netbsd-7-1-RC1:1.1.1.1 pgoyette-localcount-20161104:1.1.1.1 netbsd-7-0-2-RELEASE:1.1.1.1 localcount-20160914:1.1.1.1 netbsd-7-nhusb:1.1.1.1.0.14 netbsd-7-nhusb-base:1.1.1.1 pgoyette-localcount-20160806:1.1.1.1 pgoyette-localcount-20160726:1.1.1.1 pgoyette-localcount:1.1.1.1.0.12 pgoyette-localcount-base:1.1.1.1 netbsd-7-0-1-RELEASE:1.1.1.1 netbsd-7-0:1.1.1.1.0.10 netbsd-7-0-RELEASE:1.1.1.1 netbsd-7-0-RC3:1.1.1.1 netbsd-7-0-RC2:1.1.1.1 netbsd-7-0-RC1:1.1.1.1 tls-maxphys-base:1.1.1.1 tls-maxphys:1.1.1.1.0.8 netbsd-7:1.1.1.1.0.6 netbsd-7-base:1.1.1.1 yamt-pagecache:1.1.1.1.0.4 yamt-pagecache-base9:1.1.1.1 tls-earlyentropy:1.1.1.1.0.2 tls-earlyentropy-base:1.1.1.1 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.1.1.1 riastradh-drm2-base3:1.1.1.1 mpc-1-0-1:1.1.1.1 mpc:1.1.1; locks; strict; comment @# @; 1.1 date 2013.11.28.10.32.39; author mrg; state Exp; branches 1.1.1.1; next ; commitid q22cPE2uoE8G02fx; 1.1.1.1 date 2013.11.28.10.32.39; author mrg; state Exp; branches 1.1.1.1.4.1 1.1.1.1.8.1; next ; commitid q22cPE2uoE8G02fx; 1.1.1.1.4.1 date 2013.11.28.10.32.39; author yamt; state dead; branches; next 1.1.1.1.4.2; commitid nx2BSsHy0NPeAxBx; 1.1.1.1.4.2 date 2014.05.22.14.09.14; author yamt; state Exp; branches; next ; commitid nx2BSsHy0NPeAxBx; 1.1.1.1.8.1 date 2013.11.28.10.32.39; author tls; state dead; branches; next 1.1.1.1.8.2; commitid jTnpym9Qu0o4R1Nx; 1.1.1.1.8.2 date 2014.08.20.00.00.02; author tls; state Exp; branches; next ; commitid jTnpym9Qu0o4R1Nx; desc @@ 1.1 log @Initial revision @ text @# Data file for mpc_add_fr. # # Copyright (C) 2008, 2012 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/ . # # The line format respects the parameter order in function prototype as # follow: # # 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 # # where op1 = op1_re + i * op1_im, rop = rop_re + i * rop_im, # The data are read from the file and stored in variables op1, op2, rop using # rounding to nearest when needed, for instance: rop_re is ROP_RE rounded to # nearest to the precision of PREC_ROP_RE. # ROP_RE is checked against Re(op1 + op2) rounded to the precision PREC_ROP_RE # in the direction RND_RE # ROP_IM is checked against Im(op1) rounded to the precision PREC_ROP_IM # in the direction RND_IM # INEX_RE is the ternary value for the real part with the following notation: # "?" ternary value not checked # "+" if ROP_RE is greater than the exact mathematical result # "0" if ROP_RE is exactly the mathematical result # "-" if ROP_RE is less than the exact mathematical result # (m.m. INEX_IM) # rounding modes notation: # "N" is rounding to nearest # "Z" is rounding towards zero # "U" is rounding towards plus infinity # "D" is rounding towards minus infinity # Use prefixes "0b" for values in base two, "0x" for values in base sixteen, # no prefix for value in base ten. # In all bases, "nan" is NaN, "inf" is infinity; # The sign of the result is checked with "+inf", "-inf", "-0", or "+0". # special values (following ISO C99 standard) 0 0 53 -inf 53 -inf 53 -inf 53 -inf 53 -inf N Z 0 0 53 -inf 53 +inf 53 -inf 53 +inf 53 -1 Z U 0 0 53 -inf 53 -0 53 -inf 53 -0 53 -0 U D 0 0 53 -inf 53 +0 53 -inf 53 +0 53 +0 D N 0 0 53 -inf 53 -1 53 -inf 53 -1 53 +1 N U 0 0 53 nan 53 +1 53 -inf 53 +1 53 +inf Z D 0 0 53 nan 53 nan 53 -inf 53 nan 53 nan U N 0 0 53 -inf 53 +inf 53 -1 53 +inf 53 -inf N Z 0 0 53 -2 53 -0 53 -1 53 -0 53 -1 Z U 0 0 53 -1 53 +0 53 -1 53 +0 53 -0 U D 0 0 53 -1 53 -1 53 -1 53 -1 53 +0 D N 0 0 53 +0 53 +1 53 -1 53 +1 53 +1 N U 0 0 53 +inf 53 nan 53 -1 53 nan 53 +inf Z D 0 0 53 nan 53 -inf 53 -1 53 -inf 53 nan U N 0 0 53 -inf 53 -0 53 -0 53 -0 53 -inf N Z 0 0 53 -1 53 +0 53 -0 53 +0 53 -1 Z U 0 0 53 -0 53 -1 53 -0 53 -1 53 -0 U D 0 0 53 -0 53 +1 53 -0 53 +1 53 +0 D N 0 0 53 +1 53 nan 53 -0 53 nan 53 +1 N U 0 0 53 +inf 53 -inf 53 -0 53 -inf 53 +inf Z D 0 0 53 nan 53 +inf 53 -0 53 +inf 53 nan U N 0 0 53 -inf 53 +0 53 +0 53 +0 53 -inf N Z 0 0 53 -1 53 -1 53 +0 53 -1 53 -1 Z U 0 0 53 +0 53 +1 53 +0 53 +1 53 -0 U D 0 0 53 +0 53 nan 53 +0 53 nan 53 +0 D N 0 0 53 +1 53 -inf 53 +0 53 -inf 53 +1 N U 0 0 53 +inf 53 +inf 53 +0 53 +inf 53 +inf Z D 0 0 53 nan 53 -0 53 +0 53 -0 53 nan U N 0 0 53 -inf 53 -1 53 +1 53 -1 53 -inf N Z 0 0 53 +0 53 +1 53 +1 53 +1 53 -1 Z U 0 0 53 +1 53 nan 53 +1 53 nan 53 -0 U D 0 0 53 +1 53 -inf 53 +1 53 -inf 53 +0 D N 0 0 53 +2 53 +inf 53 +1 53 +inf 53 +1 N U 0 0 53 +inf 53 -0 53 +1 53 -0 53 +inf Z D 0 0 53 nan 53 +0 53 +1 53 +0 53 nan U N 0 0 53 nan 53 +1 53 +inf 53 +1 53 -inf N Z 0 0 53 +inf 53 nan 53 +inf 53 nan 53 -1 Z U 0 0 53 +inf 53 -inf 53 +inf 53 -inf 53 -0 U D 0 0 53 +inf 53 +inf 53 +inf 53 +inf 53 +0 D N 0 0 53 +inf 53 -0 53 +inf 53 -0 53 +1 N U 0 0 53 +inf 53 +0 53 +inf 53 +0 53 +inf Z D 0 0 53 nan 53 -1 53 +inf 53 -1 53 nan U N 0 0 53 nan 53 nan 53 nan 53 nan 53 -inf N Z 0 0 53 nan 53 -inf 53 nan 53 -inf 53 -1 Z U 0 0 53 nan 53 +inf 53 nan 53 +inf 53 -0 U D 0 0 53 nan 53 -0 53 nan 53 -0 53 +0 D N 0 0 53 nan 53 +0 53 nan 53 +0 53 +1 N U 0 0 53 nan 53 -1 53 nan 53 -1 53 +inf Z D 0 0 53 nan 53 +1 53 nan 53 +1 53 nan U N # pure real argument - 0 53 0x10000000000000p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-106 N N + 0 53 0x10000000000001p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-105 N N - 0 53 0x10000000000001p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-104 N N - 0 53 0x10000000000000p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-105 Z Z + 0 53 0x10000000000001p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-105 U U - 0 53 0x10000000000000p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-105 D D # pure imaginary argument 0 0 53 +1 53 +1 53 -0 53 1 53 +1 N N 0 0 53 +1 53 +1 53 +0 53 1 53 +1 Z Z 0 0 53 +1 53 +1 53 +0 53 1 53 +1 U U 0 0 53 +1 53 +1 53 -0 53 1 53 +1 D D # non-zero return values for imaginary part 0 + 2 0 2 8 3 0 3 7 3 0 N N 0 - 2 0 2 4 3 0 3 5 3 0 N N @ 1.1.1.1 log @initial import of MPC 1.0.1 package. changes since 0.9: Changes in version 1.0.1: - Switched to automake 1.11.6, see https://lists.gnu.org/archive/html/automake/2012-07/msg00023.html - #14669: Fixed extraction of CC from gmp.h - Fixed case of intermediate zero real or imaginary part in mpc_fma, found by hydra with GMP_CHECK_RANDOMIZE=1346362345 Changes in version 1.0: - First release as a GNU package - License change: LGPLv3+ for code, GFDLv1.3+ (with no invariant sections) for documentation - 100% of all lines are covered by tests - Functions renamed: mpc_mul_2exp to mpc_mul_2ui, mpc_div_2exp to mpc_div_2ui - 0^0, which returned (NaN,NaN) previously, now returns (1,+0) - Removed compatibility with K&R compilers, untestable due to lack of such compilers - New functions: mpc_log10, mpc_mul_2si, mpc_div_2si - Speed-ups: - mpc_fma - Bug fixes: - mpc_div and mpc_norm now return a value indicating the effective rounding direction, as the other functions - mpc_mul, mpc_sqr and mpc_norm now return correct results even if there are over- or underflows during the computation - mpc_asin, mpc_proj, mpc_sqr: Wrong result when input variable has infinite part and equals output variable is corrected - mpc_fr_sub: Wrong return value for imaginary part is corrected @ text @@ 1.1.1.1.8.1 log @file add_fr.dat was added on branch tls-maxphys on 2014-08-20 00:00:02 +0000 @ text @d1 122 @ 1.1.1.1.8.2 log @Rebase to HEAD as of a few days ago. @ text @a0 122 # Data file for mpc_add_fr. # # Copyright (C) 2008, 2012 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/ . # # The line format respects the parameter order in function prototype as # follow: # # 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 # # where op1 = op1_re + i * op1_im, rop = rop_re + i * rop_im, # The data are read from the file and stored in variables op1, op2, rop using # rounding to nearest when needed, for instance: rop_re is ROP_RE rounded to # nearest to the precision of PREC_ROP_RE. # ROP_RE is checked against Re(op1 + op2) rounded to the precision PREC_ROP_RE # in the direction RND_RE # ROP_IM is checked against Im(op1) rounded to the precision PREC_ROP_IM # in the direction RND_IM # INEX_RE is the ternary value for the real part with the following notation: # "?" ternary value not checked # "+" if ROP_RE is greater than the exact mathematical result # "0" if ROP_RE is exactly the mathematical result # "-" if ROP_RE is less than the exact mathematical result # (m.m. INEX_IM) # rounding modes notation: # "N" is rounding to nearest # "Z" is rounding towards zero # "U" is rounding towards plus infinity # "D" is rounding towards minus infinity # Use prefixes "0b" for values in base two, "0x" for values in base sixteen, # no prefix for value in base ten. # In all bases, "nan" is NaN, "inf" is infinity; # The sign of the result is checked with "+inf", "-inf", "-0", or "+0". # special values (following ISO C99 standard) 0 0 53 -inf 53 -inf 53 -inf 53 -inf 53 -inf N Z 0 0 53 -inf 53 +inf 53 -inf 53 +inf 53 -1 Z U 0 0 53 -inf 53 -0 53 -inf 53 -0 53 -0 U D 0 0 53 -inf 53 +0 53 -inf 53 +0 53 +0 D N 0 0 53 -inf 53 -1 53 -inf 53 -1 53 +1 N U 0 0 53 nan 53 +1 53 -inf 53 +1 53 +inf Z D 0 0 53 nan 53 nan 53 -inf 53 nan 53 nan U N 0 0 53 -inf 53 +inf 53 -1 53 +inf 53 -inf N Z 0 0 53 -2 53 -0 53 -1 53 -0 53 -1 Z U 0 0 53 -1 53 +0 53 -1 53 +0 53 -0 U D 0 0 53 -1 53 -1 53 -1 53 -1 53 +0 D N 0 0 53 +0 53 +1 53 -1 53 +1 53 +1 N U 0 0 53 +inf 53 nan 53 -1 53 nan 53 +inf Z D 0 0 53 nan 53 -inf 53 -1 53 -inf 53 nan U N 0 0 53 -inf 53 -0 53 -0 53 -0 53 -inf N Z 0 0 53 -1 53 +0 53 -0 53 +0 53 -1 Z U 0 0 53 -0 53 -1 53 -0 53 -1 53 -0 U D 0 0 53 -0 53 +1 53 -0 53 +1 53 +0 D N 0 0 53 +1 53 nan 53 -0 53 nan 53 +1 N U 0 0 53 +inf 53 -inf 53 -0 53 -inf 53 +inf Z D 0 0 53 nan 53 +inf 53 -0 53 +inf 53 nan U N 0 0 53 -inf 53 +0 53 +0 53 +0 53 -inf N Z 0 0 53 -1 53 -1 53 +0 53 -1 53 -1 Z U 0 0 53 +0 53 +1 53 +0 53 +1 53 -0 U D 0 0 53 +0 53 nan 53 +0 53 nan 53 +0 D N 0 0 53 +1 53 -inf 53 +0 53 -inf 53 +1 N U 0 0 53 +inf 53 +inf 53 +0 53 +inf 53 +inf Z D 0 0 53 nan 53 -0 53 +0 53 -0 53 nan U N 0 0 53 -inf 53 -1 53 +1 53 -1 53 -inf N Z 0 0 53 +0 53 +1 53 +1 53 +1 53 -1 Z U 0 0 53 +1 53 nan 53 +1 53 nan 53 -0 U D 0 0 53 +1 53 -inf 53 +1 53 -inf 53 +0 D N 0 0 53 +2 53 +inf 53 +1 53 +inf 53 +1 N U 0 0 53 +inf 53 -0 53 +1 53 -0 53 +inf Z D 0 0 53 nan 53 +0 53 +1 53 +0 53 nan U N 0 0 53 nan 53 +1 53 +inf 53 +1 53 -inf N Z 0 0 53 +inf 53 nan 53 +inf 53 nan 53 -1 Z U 0 0 53 +inf 53 -inf 53 +inf 53 -inf 53 -0 U D 0 0 53 +inf 53 +inf 53 +inf 53 +inf 53 +0 D N 0 0 53 +inf 53 -0 53 +inf 53 -0 53 +1 N U 0 0 53 +inf 53 +0 53 +inf 53 +0 53 +inf Z D 0 0 53 nan 53 -1 53 +inf 53 -1 53 nan U N 0 0 53 nan 53 nan 53 nan 53 nan 53 -inf N Z 0 0 53 nan 53 -inf 53 nan 53 -inf 53 -1 Z U 0 0 53 nan 53 +inf 53 nan 53 +inf 53 -0 U D 0 0 53 nan 53 -0 53 nan 53 -0 53 +0 D N 0 0 53 nan 53 +0 53 nan 53 +0 53 +1 N U 0 0 53 nan 53 -1 53 nan 53 -1 53 +inf Z D 0 0 53 nan 53 +1 53 nan 53 +1 53 nan U N # pure real argument - 0 53 0x10000000000000p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-106 N N + 0 53 0x10000000000001p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-105 N N - 0 53 0x10000000000001p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-104 N N - 0 53 0x10000000000000p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-105 Z Z + 0 53 0x10000000000001p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-105 U U - 0 53 0x10000000000000p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-105 D D # pure imaginary argument 0 0 53 +1 53 +1 53 -0 53 1 53 +1 N N 0 0 53 +1 53 +1 53 +0 53 1 53 +1 Z Z 0 0 53 +1 53 +1 53 +0 53 1 53 +1 U U 0 0 53 +1 53 +1 53 -0 53 1 53 +1 D D # non-zero return values for imaginary part 0 + 2 0 2 8 3 0 3 7 3 0 N N 0 - 2 0 2 4 3 0 3 5 3 0 N N @ 1.1.1.1.4.1 log @file add_fr.dat was added on branch yamt-pagecache on 2014-05-22 14:09:14 +0000 @ text @d1 122 @ 1.1.1.1.4.2 log @sync with head. for a reference, the tree before this commit was tagged as yamt-pagecache-tag8. this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments") @ text @a0 122 # Data file for mpc_add_fr. # # Copyright (C) 2008, 2012 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/ . # # The line format respects the parameter order in function prototype as # follow: # # 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 # # where op1 = op1_re + i * op1_im, rop = rop_re + i * rop_im, # The data are read from the file and stored in variables op1, op2, rop using # rounding to nearest when needed, for instance: rop_re is ROP_RE rounded to # nearest to the precision of PREC_ROP_RE. # ROP_RE is checked against Re(op1 + op2) rounded to the precision PREC_ROP_RE # in the direction RND_RE # ROP_IM is checked against Im(op1) rounded to the precision PREC_ROP_IM # in the direction RND_IM # INEX_RE is the ternary value for the real part with the following notation: # "?" ternary value not checked # "+" if ROP_RE is greater than the exact mathematical result # "0" if ROP_RE is exactly the mathematical result # "-" if ROP_RE is less than the exact mathematical result # (m.m. INEX_IM) # rounding modes notation: # "N" is rounding to nearest # "Z" is rounding towards zero # "U" is rounding towards plus infinity # "D" is rounding towards minus infinity # Use prefixes "0b" for values in base two, "0x" for values in base sixteen, # no prefix for value in base ten. # In all bases, "nan" is NaN, "inf" is infinity; # The sign of the result is checked with "+inf", "-inf", "-0", or "+0". # special values (following ISO C99 standard) 0 0 53 -inf 53 -inf 53 -inf 53 -inf 53 -inf N Z 0 0 53 -inf 53 +inf 53 -inf 53 +inf 53 -1 Z U 0 0 53 -inf 53 -0 53 -inf 53 -0 53 -0 U D 0 0 53 -inf 53 +0 53 -inf 53 +0 53 +0 D N 0 0 53 -inf 53 -1 53 -inf 53 -1 53 +1 N U 0 0 53 nan 53 +1 53 -inf 53 +1 53 +inf Z D 0 0 53 nan 53 nan 53 -inf 53 nan 53 nan U N 0 0 53 -inf 53 +inf 53 -1 53 +inf 53 -inf N Z 0 0 53 -2 53 -0 53 -1 53 -0 53 -1 Z U 0 0 53 -1 53 +0 53 -1 53 +0 53 -0 U D 0 0 53 -1 53 -1 53 -1 53 -1 53 +0 D N 0 0 53 +0 53 +1 53 -1 53 +1 53 +1 N U 0 0 53 +inf 53 nan 53 -1 53 nan 53 +inf Z D 0 0 53 nan 53 -inf 53 -1 53 -inf 53 nan U N 0 0 53 -inf 53 -0 53 -0 53 -0 53 -inf N Z 0 0 53 -1 53 +0 53 -0 53 +0 53 -1 Z U 0 0 53 -0 53 -1 53 -0 53 -1 53 -0 U D 0 0 53 -0 53 +1 53 -0 53 +1 53 +0 D N 0 0 53 +1 53 nan 53 -0 53 nan 53 +1 N U 0 0 53 +inf 53 -inf 53 -0 53 -inf 53 +inf Z D 0 0 53 nan 53 +inf 53 -0 53 +inf 53 nan U N 0 0 53 -inf 53 +0 53 +0 53 +0 53 -inf N Z 0 0 53 -1 53 -1 53 +0 53 -1 53 -1 Z U 0 0 53 +0 53 +1 53 +0 53 +1 53 -0 U D 0 0 53 +0 53 nan 53 +0 53 nan 53 +0 D N 0 0 53 +1 53 -inf 53 +0 53 -inf 53 +1 N U 0 0 53 +inf 53 +inf 53 +0 53 +inf 53 +inf Z D 0 0 53 nan 53 -0 53 +0 53 -0 53 nan U N 0 0 53 -inf 53 -1 53 +1 53 -1 53 -inf N Z 0 0 53 +0 53 +1 53 +1 53 +1 53 -1 Z U 0 0 53 +1 53 nan 53 +1 53 nan 53 -0 U D 0 0 53 +1 53 -inf 53 +1 53 -inf 53 +0 D N 0 0 53 +2 53 +inf 53 +1 53 +inf 53 +1 N U 0 0 53 +inf 53 -0 53 +1 53 -0 53 +inf Z D 0 0 53 nan 53 +0 53 +1 53 +0 53 nan U N 0 0 53 nan 53 +1 53 +inf 53 +1 53 -inf N Z 0 0 53 +inf 53 nan 53 +inf 53 nan 53 -1 Z U 0 0 53 +inf 53 -inf 53 +inf 53 -inf 53 -0 U D 0 0 53 +inf 53 +inf 53 +inf 53 +inf 53 +0 D N 0 0 53 +inf 53 -0 53 +inf 53 -0 53 +1 N U 0 0 53 +inf 53 +0 53 +inf 53 +0 53 +inf Z D 0 0 53 nan 53 -1 53 +inf 53 -1 53 nan U N 0 0 53 nan 53 nan 53 nan 53 nan 53 -inf N Z 0 0 53 nan 53 -inf 53 nan 53 -inf 53 -1 Z U 0 0 53 nan 53 +inf 53 nan 53 +inf 53 -0 U D 0 0 53 nan 53 -0 53 nan 53 -0 53 +0 D N 0 0 53 nan 53 +0 53 nan 53 +0 53 +1 N U 0 0 53 nan 53 -1 53 nan 53 -1 53 +inf Z D 0 0 53 nan 53 +1 53 nan 53 +1 53 nan U N # pure real argument - 0 53 0x10000000000000p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-106 N N + 0 53 0x10000000000001p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-105 N N - 0 53 0x10000000000001p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-104 N N - 0 53 0x10000000000000p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-105 Z Z + 0 53 0x10000000000001p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-105 U U - 0 53 0x10000000000000p-52 53 -0 53 +1 53 -0 53 0x10000000000001p-105 D D # pure imaginary argument 0 0 53 +1 53 +1 53 -0 53 1 53 +1 N N 0 0 53 +1 53 +1 53 +0 53 1 53 +1 Z Z 0 0 53 +1 53 +1 53 +0 53 1 53 +1 U U 0 0 53 +1 53 +1 53 -0 53 1 53 +1 D D # non-zero return values for imaginary part 0 + 2 0 2 8 3 0 3 7 3 0 N N 0 - 2 0 2 4 3 0 3 5 3 0 N N @