Home | History | Annotate | Line # | Download | only in tests
      1      1.1  mrg # Data test file for mpc_log.
      2      1.1  mrg #
      3      1.1  mrg # Copyright (C) 2008, 2009, 2010, 2012 INRIA
      4      1.1  mrg #
      5      1.1  mrg # This file is part of GNU MPC.
      6      1.1  mrg #
      7      1.1  mrg # GNU MPC is free software; you can redistribute it and/or modify it under
      8      1.1  mrg # the terms of the GNU Lesser General Public License as published by the
      9      1.1  mrg # Free Software Foundation; either version 3 of the License, or (at your
     10      1.1  mrg # option) any later version.
     11      1.1  mrg #
     12      1.1  mrg # GNU MPC is distributed in the hope that it will be useful, but WITHOUT ANY
     13      1.1  mrg # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
     14      1.1  mrg # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
     15      1.1  mrg # more details.
     16      1.1  mrg #
     17      1.1  mrg # You should have received a copy of the GNU Lesser General Public License
     18      1.1  mrg # along with this program. If not, see http://www.gnu.org/licenses/ .
     19      1.1  mrg 
     20      1.1  mrg # See file sin.dat for the format description.
     21      1.1  mrg 
     22      1.1  mrg # Special values, following ISO C99 standard, Annex G,
     23      1.1  mrg # more precisely Section G.6.3.2 "The clog functions".
     24      1.1  mrg 
     25      1.1  mrg # Rule [conj]: log(conj(z)) = conj(log(z))
     26      1.1  mrg 
     27      1.1  mrg # log(-0 + i*0) = -inf + i*pi
     28      1.1  mrg 0 - 2 -inf 53 +0x3243F6A8885A3p-48   2 -0 2 +0     N N
     29      1.1  mrg 0 + 2 -inf 53 -0x3243F6A8885A3p-48   2 -0 2 -0     N N
     30      1.1  mrg 0 - 2 -inf 53 +0x3243F6A8885A3p-48   2 -0 2 +0     N D
     31      1.1  mrg 0 - 2 -inf 53 -0x3243F6A8885A32p-52  2 -0 2 -0     N D
     32      1.1  mrg 
     33      1.1  mrg # log(+0 + i*0) = -inf + i*0
     34      1.1  mrg 0 0 2 -inf 2 +0                      2 +0 2 +0    N N
     35      1.1  mrg 0 0 2 -inf 2 -0                      2 +0 2 -0    N N
     36      1.1  mrg 
     37      1.1  mrg # log(+1 +- i*0) = +0 +- i*0
     38      1.1  mrg 0 0 2 +0 2 +0                      2 1 2 +0    N N
     39      1.1  mrg 0 0 2 +0 2 -0                      2 1 2 -0    N N
     40      1.1  mrg 
     41      1.1  mrg # log(-1 +- i*0) = +0 +- i*pi
     42      1.1  mrg 0 - 2 +0 53 +0x3243F6A8885A3p-48   2 -1 2 +0     N N
     43      1.1  mrg 0 + 2 +0 53 -0x3243F6A8885A3p-48   2 -1 2 -0     N N
     44      1.1  mrg 
     45      1.1  mrg # log(x + i*inf) = +inf + i*pi/2 for finite x
     46      1.1  mrg 0 - 2 +inf 53 +0x3243F6A8885A3p-49  2  1 2 +inf   N N
     47      1.1  mrg 0 - 2 +inf 53 +0x3243F6A8885A3p-49  2 +0 2 +inf   N N
     48      1.1  mrg 0 - 2 +inf 53 +0x3243F6A8885A3p-49  2 -0 2 +inf   N N
     49      1.1  mrg 0 - 2 +inf 53 +0x3243F6A8885A3p-49  2 -1 2 +inf   N N
     50      1.1  mrg # by [conj]: log(x - i*inf) = +inf - i*pi/2 for finite x
     51      1.1  mrg 0 + 2 +inf 53 -0x3243F6A8885A3p-49  2  1 2 -inf  N N
     52      1.1  mrg 0 + 2 +inf 53 -0x3243F6A8885A3p-49  2 +0 2 -inf  N N
     53      1.1  mrg 0 + 2 +inf 53 -0x3243F6A8885A3p-49  2 -0 2 -inf  N N
     54      1.1  mrg 0 + 2 +inf 53 -0x3243F6A8885A3p-49  2 -1 2 -inf  N N
     55      1.1  mrg 
     56      1.1  mrg # log(x + i*nan) = nan+i*nan for finite x
     57      1.1  mrg 0 0 2 nan 2 nan                    2  1 2 nan    N N
     58      1.1  mrg 0 0 2 nan 2 nan                    2 +0 2 nan    N N
     59      1.1  mrg 0 0 2 nan 2 nan                    2 -0 2 nan    N N
     60      1.1  mrg 0 0 2 nan 2 nan                    2 -1 2 nan    N N
     61      1.1  mrg 
     62      1.1  mrg # log(-inf + i*y) = +inf + i*pi for finite positive-signed y
     63      1.1  mrg 0 - 2 +inf 53 0x3243F6A8885A3p-48  2 -inf 2  1   N N
     64      1.1  mrg 0 - 2 +inf 53 0x3243F6A8885A3p-48  2 -inf 2 +0   N N
     65      1.1  mrg # by [conj]: log(-inf + i*y) = +inf - i*pi for finite negative-signed y
     66      1.1  mrg 0 + 2 +inf 53 -0x3243F6A8885A3p-48  2 -inf 2 -1  N N
     67      1.1  mrg 0 + 2 +inf 53 -0x3243F6A8885A3p-48  2 -inf 2 -0  N N
     68      1.1  mrg 
     69      1.1  mrg # log(+inf + i*y) = +inf + i*0 for finite positive-signed y
     70      1.1  mrg 0 0 2 +inf 2 +0                    2 +inf 2  1   N N
     71      1.1  mrg 0 0 2 +inf 2 +0                    2 +inf 2 +0   N N
     72      1.1  mrg # by [conj]: log(+inf + i*y) = +inf - i*0 for finite negative-signed y
     73      1.1  mrg 0 0 2 +inf 2 -0                    2 +inf 2 -1   N N
     74      1.1  mrg 0 0 2 +inf 2 -0                    2 +inf 2 -0   N N
     75      1.1  mrg 
     76      1.1  mrg # log(-inf + i*inf) = +inf + i*(3*pi/4)
     77      1.1  mrg 0 - 2 +inf 53 0x96CBE3F9990E9p-50  2 -inf 2 +inf N N
     78      1.1  mrg # by [conj]: log(-inf - i*inf) = +inf - i*(3*pi/4)
     79      1.1  mrg 0 + 2 +inf 53 -0x96CBE3F9990E9p-50 2 -inf 2 -inf N N
     80      1.1  mrg 
     81      1.1  mrg # log(+inf + i*inf) = +inf + i*(pi/4)
     82      1.1  mrg 0 - 2 +inf 53 0x3243F6A8885A3p-50  2 +inf 2 +inf N N
     83      1.1  mrg # by [conj]: log(+inf - i*inf) = +inf - i*(pi/4)
     84      1.1  mrg 0 + 2 +inf 53 -0x3243F6A8885A3p-50 2 +inf 2 -inf N N
     85      1.1  mrg 
     86      1.1  mrg # log(+/-inf + i*nan) = +inf + i*nan
     87      1.1  mrg 0 0 2 +inf 2 nan                   2 +inf 2 nan  N N
     88      1.1  mrg 0 0 2 +inf 2 nan                   2 -inf 2 nan  N N
     89      1.1  mrg 
     90      1.1  mrg # log(nan + i*y) = nan + i*nan for finite y
     91      1.1  mrg 0 0 2 nan 2 nan                    2 nan 2  1    N N
     92      1.1  mrg 0 0 2 nan 2 nan                    2 nan 2 +0    N N
     93      1.1  mrg 0 0 2 nan 2 nan                    2 nan 2 -0    N N
     94      1.1  mrg 0 0 2 nan 2 nan                    2 nan 2 -1    N N
     95      1.1  mrg 
     96      1.1  mrg # log(nan + i*inf) = +inf + i*nan
     97      1.1  mrg 0 0 2 +inf 2 nan                   2 nan 2 +inf  N N
     98      1.1  mrg 0 0 2 +inf 2 nan                   2 nan 2 -inf  N N
     99      1.1  mrg 
    100      1.1  mrg # log(nan + i*nan) = nan + i*nan
    101      1.1  mrg 0 0 2 nan 2 nan                    2 nan 2 nan   N N
    102      1.1  mrg 
    103      1.1  mrg # log(x + i*y) with either x or y zero and the other non-zero
    104      1.1  mrg + 0 53 0xB5535E0FD3FBDp-50  2                    0     5  0x11 2     0 N N
    105      1.1  mrg + - 53 0xB5535E0FD3FBDp-50 53  0x3243F6A8885A3p-49     2     0 5  0x11 N N
    106      1.1  mrg - - 53 0x5E38D81812CCBp-49 53  0x3243F6A8885A3p-48     5 -0x13 2    +0 N N
    107      1.1  mrg - + 53 0x5E38D81812CCBp-49 53 -0x3243F6A8885A3p-48     5 -0x13 2    -0 N N
    108      1.1  mrg - + 53 0x5E38D81812CCBp-49 53 -0x3243F6A8885A3p-49     2     0 5 -0x13 N N
    109      1.1  mrg 
    110      1.1  mrg - + 53 0x19157DFDD1B3Fp-47  53  0x1921FB54442D19p-51   5 -0x17 2    +0 Z U
    111      1.1  mrg - - 53 0x19157DFDD1B3Fp-47  53 -0x1921FB54442D19p-51   5 -0x17 2    -0 N D
    112      1.1  mrg + - 53 0x19157DFDD1B3F1p-51 53  0x3243F6A8885A3p-48    5 -0x17 2    +0 U Z
    113      1.1  mrg - + 53 0x19157DFDD1B3Fp-47  53 -0x3243F6A8885A3p-48    5 -0x17 2    -0 D N
    114      1.1  mrg - - 53 0x8611A6D2511D3p-49  53  0x3243F6A8885A3p-48    7 -0x42 2    +0 Z D
    115      1.1  mrg - + 53 0x8611A6D2511D3p-49  53 -0x3243F6A8885A3p-48    7 -0x42 2    -0 N Z
    116      1.1  mrg + - 53 0x10C234DA4A23A7p-50 53  0x3243F6A8885A3p-48    7 -0x42 2    +0 U N
    117      1.1  mrg - + 53 0x8611A6D2511D3p-49  53 -0x3243F6A8885A3p-48    7 -0x42 2    -0 D U
    118      1.1  mrg 
    119      1.1  mrg # normal non-zero numbers
    120      1.1  mrg - - 17 0x6701p-15 42 0x3b58ce0ac37p-43 2 2 2 1 N N
    121      1.1  mrg - + 17 0x6701p-15 42 -0x3b58ce0ac37p-43 2 2 2 -1 N N
    122      1.1  mrg - + 17 0x6701p-15 42 0x2ad8dce72ffp-40 2 -2 2 1 N N
    123      1.1  mrg - - 17 0x6701p-15 42 -0x2ad8dce72ffp-40 2 -2 2 -1 N N
    124      1.1  mrg - + 17 0x6701p-15 42 0x46db864bafp-38 2 1 2 2 N N
    125      1.1  mrg - - 17 0x6701p-15 42 -0x46db864bafp-38 2 1 2 -2 N N
    126      1.1  mrg - + 17 0x6701p-15 42 0x10468a8ace5p-39 2 -1 2 2 N N
    127      1.1  mrg - - 17 0x6701p-15 42 -0x10468a8ace5p-39 2 -1 2 -2 N N
    128      1.1  mrg 
    129      1.1  mrg # huge values
    130      1.1  mrg + 0 53 0x162E42FEFA39Fp-39  2   0                   2 0x1p1024 2    +0 U U
    131      1.1  mrg + 0 53 0x162E42FEFA39Fp-38  2   0                   2 0x1p2048 2    +0 U U
    132      1.1  mrg + 0 53 0x162E42FEFA39Fp-37  2   0                   2 0x1p4096 2    +0 U U
    133      1.1  mrg + 0 53 0x162E42FEFA39Fp-36  2   0                   2 0x1p8192 2    +0 U U
    134      1.1  mrg + 0 53 0x162E42FEFA39Fp-35  2   0                   2 0x1p16384 2   +0 U U
    135      1.1  mrg + 0 53 0x162E42FEFA39Fp-34  2   0                   2 0x1p32768 2   +0 U U
    136      1.1  mrg + 0 53 0x162E42FEFA39Fp-33  2   0                   2 0x1p65536 2   +0 U U
    137      1.1  mrg + 0 53 0x162E42FEFA39Fp-32  2   0                   2 0x1p131072 2  +0 U U
    138      1.1  mrg + 0 53 0x162E42FEFA39Fp-31  2   0                   2 0x1p262144 2  +0 U U
    139      1.1  mrg + 0 53 0x162E42FEFA39Fp-30  2   0                   2 0x1p524288 2  +0 U U
    140      1.1  mrg + 0 53 0x162E42FEFA39Fp-29  2   0                   2 0x1p1048576 2 +0 U U
    141      1.1  mrg + 0 53 0x162E42FEFA39Fp-28  2   0                   2 0x1p2097152 2 +0 U U
    142      1.1  mrg + 0 53 0x162E42FEFA39Fp-27  2   0                   2 0x1p4194304 2 +0 U U
    143      1.1  mrg + 0 53 0x162E42FEFA39Fp-26  2   0                   2 0x1p8388608 2 +0 U U
    144      1.1  mrg + 0 53 0x162E42FEFA39Fp-25  2   0                  2 0x1p16777216 2 +0 U U
    145      1.1  mrg + 0 53 0x162E42FEFA39Fp-24  2   0                  2 0x1p33554432 2 +0 U U
    146      1.1  mrg + 0 53 0x162E42FEFA39Fp-23  2   0                  2 0x1p67108864 2 +0 U U
    147      1.1  mrg + 0 53 0x162E42FEFA39Fp-22  2   0                 2 0x1p134217728 2 +0 U U
    148      1.1  mrg + 0 53 0x162E42FEFA39Fp-21  2   0                 2 0x1p268435456 2 +0 U U
    149      1.1  mrg + 0 53 0x162E42FEFA39Fp-20  2   0                 2 0x1p536870912 2 +0 U U
    150      1.1  mrg + + 53 0x163108C75A1937p-43 53 0x1921FB54442D19p-53 2 0x1p1024 2 0x1p1024 U U
    151      1.1  mrg + + 53 0x162FA5E32A2993p-42 53 0x1921FB54442D19p-53 2 0x1p2048 2 0x1p2048 U U
    152      1.1  mrg + + 53 0xB177A388918E1p-40  53 0x1921FB54442D19p-53 2 0x1p4096 2 0x1p4096 U U
    153      1.1  mrg + + 53 0x162E9BB80635D9p-40 53 0x1921FB54442D19p-53 2 0x1p8192 2 0x1p8192 U U
    154      1.1  mrg + + 53 0x58B9BD6E00DF9p-37  53 0x1921FB54442D19p-53 2 0x1p16384 2 0x1p16384 U U
    155      1.1  mrg + + 53 0xB172C969E9C75p-37  53 0x1921FB54442D19p-53 2 0x1p32768 2 0x1p32768 U U
    156      1.1  mrg + + 53 0x162E4E161BB96Dp-37 53 0x1921FB54442D19p-53 2 0x1p65536 2 0x1p65536 U U
    157      1.1  mrg + + 53 0xB172445457CD7p-35   2  0x1p0             2 0x1p131072 2 0x1p131072 U U
    158      1.1  mrg + + 53 0x162E45C4C299CFp-35  2  0x1p0             2 0x1p262144 2 0x1p262144 U U
    159      1.1  mrg + + 53 0x162E4461DE69DFp-34  2  0x1p0             2 0x1p524288 2 0x1p524288 U U
    160      1.1  mrg + + 53 0x2C5C8760D8A3Dp-30   2  0x1p0           2 0x1p1048576 2 0x1p1048576 U U
    161      1.1  mrg + + 53 0x58B90D5ECD17Bp-30   2  0x1p0           2 0x1p2097152 2 0x1p2097152 U U
    162      1.1  mrg + + 53 0xB172195AB5FF7p-30   2  0x1p0           2 0x1p4194304 2 0x1p4194304 U U
    163      1.1  mrg + + 53 0x162E4315287CEFp-30  2  0x1p0           2 0x1p8388608 2 0x1p8388608 U U
    164      1.1  mrg + + 53 0x162E430A115B6Fp-29  2  0x1p0         2 0x1p16777216 2 0x1p16777216 U U
    165      1.1  mrg + + 53 0x162E430485CAAFp-28  2  0x1p0         2 0x1p33554432 2 0x1p33554432 U U
    166      1.1  mrg + + 53 0x162E4301C0025p-23   2  0x1p0         2 0x1p67108864 2 0x1p67108864 U U
    167      1.1  mrg + + 53 0xB1721802E8F1p-21    2  0x1p0       2 0x1p134217728 2 0x1p134217728 U U
    168      1.1  mrg + + 53 0x2C5C85FF57581p-22   2  0x1p0       2 0x1p268435456 2 0x1p268435456 U U
    169      1.1  mrg 
    170      1.1  mrg # Example leading to intermediate overflow in x^2+y^2
    171      1.1  mrg + + 53 0x58B90BFD4BCBFp-22   2  0x1p0       2 0x1p536870912 2 0x1p536870912 U U
    172  1.1.1.2  mrg + + 53 0xb17217efbcc47p-22   2  0x1p0       2 0x3p1073741819 2 0x3p1073741819 U U
    173      1.1  mrg # Example leading to intermediate underflow in x^2+y^2
    174  1.1.1.2  mrg - - 53 -0xb17217f0e35a9p-22   2  0x3p-2     2 0x1p-1073741822 2 0x1p-1073741822 D D
    175      1.1  mrg 
    176      1.1  mrg # log (-1 + i*eps), looped in previous version
    177      1.1  mrg - - 2 0 2 3                2 -1 2 0x1p-1073741813 N N
    178      1.1  mrg - - 2 0 2 3                2 -1 2 0x1p-1073741813 D D
    179  1.1.1.2  mrg + + 2 0x1p-1073741822 2 4  2 -1 2 0x1p-1073741813 U U
    180      1.1  mrg # log(1 + i*eps), could cause similar problems
    181  1.1.1.2  mrg - + 2 0               2 0x1p-1073741822  2 1 2 0x1p-1073741822 N N
    182  1.1.1.2  mrg - - 2 0               2 0                2 1 2 0x1p-1073741822 D D
    183  1.1.1.2  mrg + + 2 0x1p-1073741822 2 0x1p-1073741822  2 1 2 0x1p-1073741822 U U
    184      1.1  mrg # log (eps + i)
    185  1.1.1.2  mrg - - 2 0               2 0x3p-1  2 0x1p-1073741822 2 1 N N
    186  1.1.1.2  mrg - - 2 0               2 0x3p-1  2 0x1p-1073741822 2 1 D D
    187  1.1.1.2  mrg + + 2 0x1p-1073741822 2 2  2 0x1p-1073741822 2 1 U U
    188      1.1  mrg 
    189      1.1  mrg # log (close to 1 + i*eps), improves test coverage
    190  1.1.1.2  mrg + - 2 -0x1p-36 2 0x1p-1073741822  36 0x0.FFFFFFFFF 2 0x1p-1073741822 N N
    191