1 # Data test file for mpc_log10. 2 # 3 # Copyright (C) 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 # See file sin.dat for the format description. 21 22 # Special values, following ISO C99 standard, Annex G, 23 # more precisely Section 7.26 "Future library directions" 24 25 # Rule [conj]: log10(conj(z)) = conj(log10(z)) 26 27 # log10(nan + i*inf) = +inf + i*nan 28 0 0 2 +inf 2 nan 2 nan 2 +inf N N 29 0 0 2 +inf 2 nan 2 nan 2 -inf N N 30 31 # log10(nan + i*nan) = nan + i*nan 32 0 0 2 nan 2 nan 2 nan 2 nan N N 33 34 # log10(nan + i*y) = nan + i*nan for finite y 35 0 0 2 nan 2 nan 2 nan 2 1 N N 36 0 0 2 nan 2 nan 2 nan 2 +0 N N 37 0 0 2 nan 2 nan 2 nan 2 -0 N N 38 0 0 2 nan 2 nan 2 nan 2 -1 N N 39 40 # log10(+/-inf + i*nan) = +inf + i*nan 41 0 0 2 +inf 2 nan 2 +inf 2 nan N N 42 0 0 2 +inf 2 nan 2 -inf 2 nan N N 43 44 # log10(x + i*nan) = nan+i*nan for finite x 45 0 0 2 nan 2 nan 2 1 2 nan N N 46 0 0 2 nan 2 nan 2 +0 2 nan N N 47 0 0 2 nan 2 nan 2 -0 2 nan N N 48 0 0 2 nan 2 nan 2 -1 2 nan N N 49 50 # log10(x + i*inf) = +inf + i*pi/2/log(10) for finite x 51 0 + 2 +inf 53 +0x15d47c4cb2fba1p-53 2 1 2 +inf N N 52 0 + 2 +inf 53 +0x15d47c4cb2fba1p-53 2 +0 2 +inf N N 53 0 + 2 +inf 53 +0x15d47c4cb2fba1p-53 2 -0 2 +inf N N 54 0 + 2 +inf 53 +0x15d47c4cb2fba1p-53 2 -1 2 +inf N N 55 # by [conj]: log10(x - i*inf) = +inf - i*pi/2/log(10) for finite x 56 0 - 2 +inf 53 -0x15d47c4cb2fba1p-53 2 1 2 -inf N N 57 0 - 2 +inf 53 -0x15d47c4cb2fba1p-53 2 +0 2 -inf N N 58 0 - 2 +inf 53 -0x15d47c4cb2fba1p-53 2 -0 2 -inf N N 59 0 - 2 +inf 53 -0x15d47c4cb2fba1p-53 2 -1 2 -inf N N 60 61 # log10(-inf + i*y) = +inf + i*pi/log(10) for finite positive-signed y 62 0 + 2 +inf 53 0x15d47c4cb2fba1p-52 2 -inf 2 1 N N 63 0 + 2 +inf 53 0x15d47c4cb2fba1p-52 2 -inf 2 +0 N N 64 # by [conj]: log10(-inf+i*y) = +inf - i*pi/log(10) for finite negative-signed y 65 0 - 2 +inf 53 -0x15d47c4cb2fba1p-52 2 -inf 2 -1 N N 66 0 - 2 +inf 53 -0x15d47c4cb2fba1p-52 2 -inf 2 -0 N N 67 68 # log10(+inf + i*y) = +inf + i*0 for finite positive-signed y 69 0 0 2 +inf 2 +0 2 +inf 2 1 N N 70 0 0 2 +inf 2 +0 2 +inf 2 +0 N N 71 # by [conj]: log10(+inf + i*y) = +inf - i*0 for finite negative-signed y 72 0 0 2 +inf 2 -0 2 +inf 2 -1 N N 73 0 0 2 +inf 2 -0 2 +inf 2 -0 N N 74 75 # log10(-inf + i*inf) = +inf + i*(3*pi/4)/log(10) 76 0 + 2 +inf 53 0x105f5d39863cb9p-52 2 -inf 2 +inf N N 77 # by [conj]: log10(-inf - i*inf) = +inf - i*(3*pi/4)/log(10) 78 0 - 2 +inf 53 -0x105f5d39863cb9p-52 2 -inf 2 -inf N N 79 80 # log10(+inf + i*inf) = +inf + i*(pi/4)/log(10) 81 0 + 2 +inf 53 0x15d47c4cb2fba1p-54 2 +inf 2 +inf N N 82 # by [conj]: log10(+inf - i*inf) = +inf - i*(pi/4)/log(10) 83 0 - 2 +inf 53 -0x15d47c4cb2fba1p-54 2 +inf 2 -inf N N 84 85 # log10(-0 + i*0) = -inf + i*pi/log(10) 86 0 + 2 -inf 53 +0x15d47c4cb2fba1p-52 2 -0 2 +0 N N 87 0 - 2 -inf 53 -0x15d47c4cb2fba1p-52 2 -0 2 -0 N N 88 0 + 2 -inf 53 +0x15d47c4cb2fba1p-52 2 -0 2 +0 N U 89 0 + 2 -inf 53 -0xaea3e26597ddp-47 2 -0 2 -0 N U 90 0 - 2 -inf 53 +0xaea3e26597ddp-47 2 -0 2 +0 N D 91 0 - 2 -inf 53 -0x15d47c4cb2fba1p-52 2 -0 2 -0 N D 92 93 # log10(+0 + i*0) = -inf + i*0 94 0 0 2 -inf 2 +0 2 +0 2 +0 N N 95 0 0 2 -inf 2 -0 2 +0 2 -0 N N 96 97 # log10(+1 +- i*0) = +0 +- i*0 98 0 0 2 +0 2 +0 2 1 2 +0 N N 99 0 0 2 +0 2 -0 2 1 2 -0 N N 100 101 # log10(10 +- i*0) = 1 +- i*0 102 0 0 2 1 2 +0 4 10 2 +0 N N 103 0 0 2 1 2 -0 4 10 2 -0 N N 104 105 # log10(100 +- i*0) = 1 +- i*0 106 0 0 2 2 2 +0 5 100 2 +0 N N 107 0 0 2 2 2 -0 5 100 2 -0 N N 108 109 # log10(-1 +- i*0) = +0 +- i*pi/log(10) 110 0 + 2 +0 53 +0x15d47c4cb2fba1p-52 2 -1 2 +0 N N 111 0 - 2 +0 53 -0x15d47c4cb2fba1p-52 2 -1 2 -0 N N 112 113 # log10(x + i*y) with either x or y zero and the other non-zero 114 - 0 53 0x13afeb354b7d97p-52 2 0 5 0x11 2 0 N N 115 - + 53 0x13afeb354b7d97p-52 53 0x15d47c4cb2fba1p-53 2 0 5 0x11 N N 116 - + 53 0x1475c655fbc11p-48 53 0x15d47c4cb2fba1p-52 5 -0x13 2 +0 N N 117 - - 53 0x1475c655fbc11p-48 53 -0x15d47c4cb2fba1p-52 5 -0x13 2 -0 N N 118 - - 53 0x1475c655fbc11p-48 53 -0x15d47c4cb2fba1p-53 2 0 5 -0x13 N N 119 120 - + 53 0x15c9a3209bf97fp-52 53 0x15d47c4cb2fba1p-52 5 -0x17 2 +0 Z U 121 - - 53 0x15c9a3209bf97fp-52 53 -0x15d47c4cb2fba1p-52 5 -0x17 2 -0 N D 122 + - 53 0x2b93464137f3p-45 53 0xaea3e26597ddp-47 5 -0x17 2 +0 U Z 123 - - 53 0x15c9a3209bf97fp-52 53 -0x15d47c4cb2fba1p-52 5 -0x17 2 -0 D N 124 - - 53 0x1d1cda1a0c996dp-52 53 0xaea3e26597ddp-47 7 -0x42 2 +0 Z D 125 + + 53 0xe8e6d0d064cb7p-51 53 -0xaea3e26597ddp-47 7 -0x42 2 -0 N Z 126 + + 53 0xe8e6d0d064cb7p-51 53 0x15d47c4cb2fba1p-52 7 -0x42 2 +0 U N 127 - + 53 0x1d1cda1a0c996dp-52 53 -0xaea3e26597ddp-47 7 -0x42 2 -0 D U 128 129 # huge values 130 + 0 53 0x134413509f79ffp-44 2 0 2 0x1p1024 2 +0 U U 131 + 0 53 0x134413509f79ffp-43 2 0 2 0x1p2048 2 +0 U U 132 + 0 53 0x134413509f79ffp-42 2 0 2 0x1p4096 2 +0 U U 133 + 0 53 0x134413509f79ffp-41 2 0 2 0x1p8192 2 +0 U U 134 + 0 53 0x134413509f79ffp-40 2 0 2 0x1p16384 2 +0 U U 135 + 0 53 0x134413509f79ffp-39 2 0 2 0x1p32768 2 +0 U U 136 + 0 53 0x134413509f79ffp-38 2 0 2 0x1p65536 2 +0 U U 137 + 0 53 0x134413509f79ffp-37 2 0 2 0x1p131072 2 +0 U U 138 + 0 53 0x134413509f79ffp-36 2 0 2 0x1p262144 2 +0 U U 139 + 0 53 0x134413509f79ffp-35 2 0 2 0x1p524288 2 +0 U U 140 + 0 53 0x134413509f79ffp-34 2 0 2 0x1p1048576 2 +0 U U 141 + 0 53 0x134413509f79ffp-33 2 0 2 0x1p2097152 2 +0 U U 142 + 0 53 0x134413509f79ffp-32 2 0 2 0x1p4194304 2 +0 U U 143 + 0 53 0x134413509f79ffp-31 2 0 2 0x1p8388608 2 +0 U U 144 + 0 53 0x134413509f79ffp-30 2 0 2 0x1p16777216 2 +0 U U 145 + 0 53 0x134413509f79ffp-29 2 0 2 0x1p33554432 2 +0 U U 146 + 0 53 0x134413509f79ffp-28 2 0 2 0x1p67108864 2 +0 U U 147 + 0 53 0x134413509f79ffp-27 2 0 2 0x1p134217728 2 +0 U U 148 + 0 53 0x134413509f79ffp-26 2 0 2 0x1p268435456 2 +0 U U 149 + 0 53 0x134413509f79ffp-25 2 0 2 0x1p536870912 2 +0 U U 150 + + 53 0x13467bd3098defp-44 53 0x15d47c4cb2fba1p-54 2 0x1p1024 2 0x1p1024 U U 151 + + 53 0x13454791d483f7p-43 53 0x15d47c4cb2fba1p-54 2 0x1p2048 2 0x1p2048 U U 152 + + 53 0x1344ad7139fefbp-42 53 0x15d47c4cb2fba1p-54 2 0x1p4096 2 0x1p4096 U U 153 + + 53 0x13446060ecbc7dp-41 53 0x15d47c4cb2fba1p-54 2 0x1p8192 2 0x1p8192 U U 154 + + 53 0x9a21cec630d9fp-39 53 0x15d47c4cb2fba1p-54 2 0x1p16384 2 0x1p16384 U U 155 + + 53 0x13442694b2ca9fp-39 53 0x15d47c4cb2fba1p-54 2 0x1p32768 2 0x1p32768 U U 156 + + 53 0x13441cf2a9224fp-38 53 0x15d47c4cb2fba1p-54 2 0x1p65536 2 0x1p65536 U U 157 + + 53 0x13441821a44e27p-37 2 0x3p-3 2 0x1p131072 2 0x1p131072 U U 158 + + 53 0x134415b921e413p-36 2 0x3p-3 2 0x1p262144 2 0x1p262144 U U 159 + + 53 0x13441484e0af09p-35 2 0x3p-3 2 0x1p524288 2 0x1p524288 U U 160 + + 53 0x4d104fab00521p-32 2 0x3p-3 2 0x1p1048576 2 0x1p1048576 U U 161 + + 53 0x9a209ced7e3a1p-32 2 0x3p-3 2 0x1p2097152 2 0x1p2097152 U U 162 + + 53 0x1344137727a0a1p-32 2 0x3p-3 2 0x1p4194304 2 0x1p4194304 U U 163 + + 53 0x13441363e38d5p-27 2 0x3p-3 2 0x1p8388608 2 0x1p8388608 U U 164 + + 53 0x268826b483075p-27 2 0x3p-3 2 0x1p16777216 2 0x1p16777216 U U 165 + + 53 0x4d104d55c1fb5p-27 2 0x3p-3 2 0x1p33554432 2 0x1p33554432 U U 166 + + 53 0x9a209a983fe35p-27 2 0x3p-3 2 0x1p67108864 2 0x1p67108864 U U 167 + + 53 0x4d104d474eecdp-25 2 0x3p-3 2 0x1p134217728 2 0x1p134217728 U U 168 + + 53 0x9a209a89ccd4dp-25 2 0x3p-3 2 0x1p268435456 2 0x1p268435456 U U 169 # Due to intermediate overflow, the following result has wrong real part 170 # instead of the correct result. Since this may happen in other parts of the 171 # library as well, we do not consider it a bug for the moment. 172 # + + 53 0x13441350ec8a4dp-25 2 0x3p-3 2 0x1p536870912 2 0x1p536870912 U U 173 174 # log10(3+I) has an exact real part (from Joseph S. Myers) 175 0 + 53 0.5 53 0x8f168ee8415e7p-54 2 3 2 1 N N 176 177 # bug found by Mickael Gastineau on 29 Sep 2012 178 0 + 2 +0 2 0.75 2 +0 2 1 N N 179 0 - 2 +0 2 -0.75 2 +0 2 -1 N N 180