Home | History | Annotate | Line # | Download | only in tests
      1 # Data file for mpc_sin.
      2 #
      3 # Copyright (C) 2008, 2010 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_OP_RE  OP_RE  PREC_OP_IM  OP_IM  RND_RE  RND_IM
     24 #
     25 # where op = op_re + i * op_im, rop = rop_re + i * rop_im,
     26 # rop_re is ROP_RE rounded to nearest to the precision of PREC_ROP_RE
     27 # rop_im is ROP_IM rounded to nearest to the precision of PREC_ROP_IM
     28 # op_re is OP_RE rounded to nearest to the precision of PREC_OP_RE
     29 # op_im is OP_IM rounded to nearest to the precision of PREC_OP_IM
     30 # ROP_RE is checked against Re(sin op) rounded to the precision PREC_ROP_RE
     31 #   in the direction RND_RE
     32 # ROP_IM is checked against Im(sin op) rounded to the precision PREC_ROP_IM
     33 #   in the direction RND_IM
     34 # INEX_RE is the ternary value for the real part with the following notation:
     35 # "?" ternary value not checked
     36 # "+" if ROP_RE is greater than the exact mathematical result
     37 # "0" if ROP_RE is exactly the mathematical result
     38 # "-" if ROP_RE is less than the exact mathematical result
     39 # (m.m. INEX_IM)
     40 # rounding modes notation:
     41 # "N" is rounding to nearest
     42 # "Z" is rounding towards zero
     43 # "U" is rounding towards plus infinity
     44 # "D" is rounding towards minus infinity
     45 # Use prefixes "0b" for values in base two, "0x" for values in base sixteen,
     46 #   no prefix for value in base ten.
     47 # In all bases, "nan" is NaN, "inf" is infinity;
     48 # The sign of the result is checked with "+inf", "-inf", "-0", or "+0".
     49 
     50 # special values (following ISO C99 standard)
     51 0 0 53  nan 53  inf    53 -inf 53 -inf N N
     52 0 0 53  nan 53  nan    53 -inf 53   -1 N N
     53 0 0 53  nan 53    0    53 -inf 53   -0 N N
     54 0 0 53  nan 53    0    53 -inf 53   +0 N N
     55 0 0 53  nan 53  nan    53 -inf 53   +1 N N
     56 0 0 53  nan 53  inf    53 -inf 53 +inf N N
     57 0 0 53  nan 53  nan    53 -inf 53  nan N N
     58 0 0 53 +inf 53 -inf    53   -6 53 -inf N N
     59 0 0 53 +inf 53 +inf    53   -6 53 +inf N N
     60 0 0 53  nan 53  nan    53   -6 53  nan N N
     61 0 0 53 +inf 53 +inf    53   -4 53 -inf N N
     62 0 0 53 +inf 53 -inf    53   -4 53 +inf N N
     63 0 0 53  nan 53  nan    53   -4 53  nan N N
     64 0 0 53 -inf 53 +inf    53   -2 53 -inf N N
     65 0 0 53 -inf 53 -inf    53   -2 53 +inf N N
     66 0 0 53  nan 53  nan    53   -2 53  nan N N
     67 0 0 53 -inf 53 -inf    53   -1 53 -inf N N
     68 0 0 53 -inf 53 +inf    53   -1 53 +inf N N
     69 0 0 53  nan 53  nan    53   -1 53  nan N N
     70 0 0 53   -0 53 -inf    53   -0 53 -inf N N
     71 0 0 53   -0 53   -0    53   -0 53   -0 N N
     72 0 0 53   -0 53   +0    53   -0 53   +0 N N
     73 0 0 53   -0 53 +inf    53   -0 53 +inf N N
     74 0 0 53   -0 53  nan    53   -0 53  nan N N
     75 0 0 53   +0 53 -inf    53   +0 53 -inf N N
     76 0 0 53   +0 53   -0    53   +0 53   -0 N N
     77 0 0 53   +0 53   +0    53   +0 53   +0 N N
     78 0 0 53   +0 53 +inf    53   +0 53 +inf N N
     79 0 0 53   +0 53  nan    53   +0 53  nan N N
     80 0 0 53 +inf 53 -inf    53   +1 53 -inf N N
     81 0 0 53 +inf 53 +inf    53   +1 53 +inf N N
     82 0 0 53  nan 53  nan    53   +1 53  nan N N
     83 0 0 53 +inf 53 +inf    53   +2 53 -inf N N
     84 0 0 53 +inf 53 -inf    53   +2 53 +inf N N
     85 0 0 53  nan 53  nan    53   +2 53  nan N N
     86 0 0 53 -inf 53 +inf    53   +4 53 -inf N N
     87 0 0 53 -inf 53 -inf    53   +4 53 +inf N N
     88 0 0 53  nan 53  nan    53   +4 53  nan N N
     89 0 0 53 -inf 53 -inf    53   +6 53 -inf N N
     90 0 0 53 -inf 53 +inf    53   +6 53 +inf N N
     91 0 0 53  nan 53  nan    53   +6 53  nan N N
     92 0 0 53  nan 53  inf    53 +inf 53 -inf N N
     93 0 0 53  nan 53  nan    53 +inf 53   -1 N N
     94 0 0 53  nan 53    0    53 +inf 53   -0 N N
     95 0 0 53  nan 53    0    53 +inf 53   +0 N N
     96 0 0 53  nan 53  nan    53 +inf 53   +1 N N
     97 0 0 53  nan 53  inf    53 +inf 53 +inf N N
     98 0 0 53  nan 53  nan    53 +inf 53  nan N N
     99 0 0 53  nan 53  inf    53  nan 53 -inf N N
    100 0 0 53  nan 53  nan    53  nan 53   -1 N N
    101 0 0 53  nan 53    0    53  nan 53   -0 N N
    102 0 0 53  nan 53    0    53  nan 53   +0 N N
    103 0 0 53  nan 53  nan    53  nan 53   +1 N N
    104 0 0 53  nan 53  inf    53  nan 53 +inf N N
    105 0 0 53  nan 53  nan    53  nan 53  nan N N
    106 
    107 # pure real argument
    108 - 0 53  0x4787C62AC28Bp-48  53 -0    53 -6 53 -0 N N
    109 - 0 53  0x4787C62AC28Bp-48  53 +0    53 -6 53 +0 N N
    110 - 0 53  0xC1BDCEEEE0F57p-52 53 +0    53 -4 53 -0 N N
    111 - 0 53  0xC1BDCEEEE0F57p-52 53 -0    53 -4 53 +0 N N
    112 - 0 53 -0xE8C7B7568DA23p-52 53 +0    53 -2 53 -0 N N
    113 - 0 53 -0xE8C7B7568DA23p-52 53 -0    53 -2 53 +0 N N
    114 + 0 53 -0xD76AA47848677p-52 53 -0    53 -1 53 -0 N N
    115 + 0 53 -0xD76AA47848677p-52 53 +0    53 -1 53 +0 N N
    116 - 0 53  0xD76AA47848677p-52 53 -0    53 +1 53 -0 N N
    117 - 0 53  0xD76AA47848677p-52 53 +0    53 +1 53 +0 N N
    118 + 0 53  0xE8C7B7568DA23p-52 53 +0    53 +2 53 -0 N N
    119 + 0 53  0xE8C7B7568DA23p-52 53 -0    53 +2 53 +0 N N
    120 + 0 53 -0xC1BDCEEEE0F57p-52 53 +0    53 +4 53 -0 N N
    121 + 0 53 -0xC1BDCEEEE0F57p-52 53 -0    53 +4 53 +0 N N
    122 + 0 53 -0x4787C62AC28Bp-48  53 -0    53 +6 53 -0 N N
    123 + 0 53 -0x4787C62AC28Bp-48  53 +0    53 +6 53 +0 N N
    124 
    125 # pure imaginary argument
    126 0 + 53 -0 53 -0x1936D22F67C805p-45    53 -0 53 -6 N N
    127 0 + 53 +0 53 -0x1936D22F67C805p-45    53 +0 53 -6 N N
    128 0 - 53 -0 53 -0x1B4A3803703631p-48    53 -0 53 -4 N N
    129 0 - 53 +0 53 -0x1B4A3803703631p-48    53 +0 53 -4 N N
    130 0 + 53 -0 53 -0x1D03CF63B6E19Fp-51    53 -0 53 -2 N N
    131 0 + 53 +0 53 -0x1D03CF63B6E19Fp-51    53 +0 53 -2 N N
    132 0 + 53 -0 53 -0x966CFE2275CC1p-51     53 -0 53 -1 N N
    133 0 + 53 +0 53 -0x966CFE2275CC1p-51     53 +0 53 -1 N N
    134 0 - 53 -0 53  0x966CFE2275CC1p-51     53 -0 53 +1 N N
    135 0 - 53 +0 53  0x966CFE2275CC1p-51     53 +0 53 +1 N N
    136 0 - 53 -0 53  0x1D03CF63B6E19Fp-51    53 -0 53 +2 N N
    137 0 - 53 +0 53  0x1D03CF63B6E19Fp-51    53 +0 53 +2 N N
    138 0 + 53 -0 53  0x1B4A3803703631p-48    53 -0 53 +4 N N
    139 0 + 53 +0 53  0x1B4A3803703631p-48    53 +0 53 +4 N N
    140 0 - 53 -0 53  0x1936D22F67C805p-45    53 -0 53 +6 N N
    141 0 - 53 +0 53  0x1936D22F67C805p-45    53 +0 53 +6 N N
    142 
    143 # IEEE-754 double precision
    144 + + 53 514                  53 -0x11B7CA26B51951p-97    53 0x3243F6A8885A3p-49 53 -0x1BBDD1808C59A3p-50 N N
    145 + + 53 514                  53 -0x11B7CA26B51951p-97    53 0x3243F6A8885A3p-49 53 -0x1BBDD1808C59A3p-50 N Z
    146 + + 53 514                  53 -0x11B7CA26B51951p-97    53 0x3243F6A8885A3p-49 53 -0x1BBDD1808C59A3p-50 N U
    147 + - 53 514                  53 -0x8DBE5135A8CA9p-96     53 0x3243F6A8885A3p-49 53 -0x1BBDD1808C59A3p-50 N D
    148 - + 53 0x100FFFFFFFFFFFp-43 53 -0x11B7CA26B51951p-97    53 0x3243F6A8885A3p-49 53 -0x1BBDD1808C59A3p-50 Z N
    149 - + 53 0x100FFFFFFFFFFFp-43 53 -0x11B7CA26B51951p-97    53 0x3243F6A8885A3p-49 53 -0x1BBDD1808C59A3p-50 Z Z
    150 - + 53 0x100FFFFFFFFFFFp-43 53 -0x11B7CA26B51951p-97    53 0x3243F6A8885A3p-49 53 -0x1BBDD1808C59A3p-50 Z U
    151 - - 53 0x100FFFFFFFFFFFp-43 53 -0x8DBE5135A8CA9p-96     53 0x3243F6A8885A3p-49 53 -0x1BBDD1808C59A3p-50 Z D
    152 + + 53 514                  53 -0x11B7CA26B51951p-97    53 0x3243F6A8885A3p-49 53 -0x1BBDD1808C59A3p-50 U N
    153 + + 53 514                  53 -0x11B7CA26B51951p-97    53 0x3243F6A8885A3p-49 53 -0x1BBDD1808C59A3p-50 U Z
    154 + + 53 514                  53 -0x11B7CA26B51951p-97    53 0x3243F6A8885A3p-49 53 -0x1BBDD1808C59A3p-50 U U
    155 + - 53 514                  53 -0x8DBE5135A8CA9p-96     53 0x3243F6A8885A3p-49 53 -0x1BBDD1808C59A3p-50 U D
    156 - + 53 0x100FFFFFFFFFFFp-43 53 -0x11B7CA26B51951p-97    53 0x3243F6A8885A3p-49 53 -0x1BBDD1808C59A3p-50 D N
    157 - + 53 0x100FFFFFFFFFFFp-43 53 -0x11B7CA26B51951p-97    53 0x3243F6A8885A3p-49 53 -0x1BBDD1808C59A3p-50 D Z
    158 - + 53 0x100FFFFFFFFFFFp-43 53 -0x11B7CA26B51951p-97    53 0x3243F6A8885A3p-49 53 -0x1BBDD1808C59A3p-50 D U
    159 - - 53 0x100FFFFFFFFFFFp-43 53 -0x8DBE5135A8CA9p-96     53 0x3243F6A8885A3p-49 53 -0x1BBDD1808C59A3p-50 D D
    160 
    161 # huge values
    162 + + 53 +inf 53 +inf 53 0x4580CBF242683p-3 53 -0x1B3E8A3660D279p-3 N N
    163 - + 53 -inf 53 +inf 53 -0x1B3E8A3660D279p-3 53 0x4580CBF242683p-3 N N
    164 
    165 # bug reported by Joseph Myers (25 Mar 2015)
    166 - - 2 0x3p1073741819 2 0x3p1073741819 2 -0x1p200 2 -0x1p800 Z Z
    167