head 1.1; branch 1.1.1; access; symbols netbsd-11-0-RC4:1.1.1.2 netbsd-11-0-RC3:1.1.1.2 netbsd-11-0-RC2:1.1.1.2 netbsd-11-0-RC1:1.1.1.2 perseant-exfatfs-base-20250801:1.1.1.2 netbsd-11:1.1.1.2.0.18 netbsd-11-base:1.1.1.2 netbsd-10-1-RELEASE:1.1.1.2 perseant-exfatfs-base-20240630:1.1.1.2 perseant-exfatfs:1.1.1.2.0.16 perseant-exfatfs-base:1.1.1.2 netbsd-8-3-RELEASE:1.1.1.1 netbsd-9-4-RELEASE:1.1.1.2 netbsd-10-0-RELEASE:1.1.1.2 netbsd-10-0-RC6:1.1.1.2 netbsd-10-0-RC5:1.1.1.2 netbsd-10-0-RC4:1.1.1.2 netbsd-10-0-RC3:1.1.1.2 netbsd-10-0-RC2:1.1.1.2 netbsd-10-0-RC1:1.1.1.2 mpc-1-3-1:1.1.1.2 netbsd-10:1.1.1.2.0.14 netbsd-10-base:1.1.1.2 netbsd-9-3-RELEASE:1.1.1.2 mpc-1-2-1:1.1.1.2 cjep_sun2x-base1:1.1.1.2 cjep_sun2x:1.1.1.2.0.12 cjep_sun2x-base:1.1.1.2 cjep_staticlib_x-base1:1.1.1.2 netbsd-9-2-RELEASE:1.1.1.2 cjep_staticlib_x:1.1.1.2.0.10 cjep_staticlib_x-base:1.1.1.2 netbsd-9-1-RELEASE:1.1.1.2 mpc-1-2-0:1.1.1.2 phil-wifi-20200421:1.1.1.2 phil-wifi-20200411:1.1.1.2 is-mlppp:1.1.1.2.0.8 is-mlppp-base:1.1.1.2 phil-wifi-20200406:1.1.1.2 netbsd-8-2-RELEASE:1.1.1.1 netbsd-9-0-RELEASE:1.1.1.2 netbsd-9-0-RC2:1.1.1.2 netbsd-9-0-RC1:1.1.1.2 phil-wifi-20191119:1.1.1.2 netbsd-9:1.1.1.2.0.6 netbsd-9-base:1.1.1.2 phil-wifi-20190609:1.1.1.2 netbsd-8-1-RELEASE:1.1.1.1 netbsd-8-1-RC1:1.1.1.1 pgoyette-compat-merge-20190127:1.1.1.2 pgoyette-compat-20190127:1.1.1.2 pgoyette-compat-20190118:1.1.1.2 pgoyette-compat-1226:1.1.1.2 pgoyette-compat-1126:1.1.1.2 pgoyette-compat-1020:1.1.1.2 pgoyette-compat-0930:1.1.1.2 pgoyette-compat-0906:1.1.1.2 mpc-1-1-0:1.1.1.2 netbsd-7-2-RELEASE:1.1.1.1 pgoyette-compat-0728:1.1.1.2 netbsd-8-0-RELEASE:1.1.1.1 phil-wifi:1.1.1.2.0.4 phil-wifi-base:1.1.1.2 pgoyette-compat-0625:1.1.1.2 netbsd-8-0-RC2:1.1.1.1 pgoyette-compat-0521:1.1.1.2 pgoyette-compat-0502:1.1.1.2 pgoyette-compat-0422:1.1.1.2 netbsd-8-0-RC1:1.1.1.1 pgoyette-compat-0415:1.1.1.2 pgoyette-compat-0407:1.1.1.2 pgoyette-compat-0330:1.1.1.2 pgoyette-compat-0322:1.1.1.2 pgoyette-compat-0315:1.1.1.2 netbsd-7-1-2-RELEASE:1.1.1.1 pgoyette-compat:1.1.1.2.0.2 pgoyette-compat-base:1.1.1.2 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.2 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 1.1.1.2; commitid q22cPE2uoE8G02fx; 1.1.1.2 date 2017.08.17.00.08.04; author mrg; state Exp; branches; next ; commitid Y7TKj8mSw5D8Uu3A; 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 test file for mpc_log10. # # Copyright (C) 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/ . # See file sin.dat for the format description. # Special values, following ISO C99 standard, Annex G, # more precisely Section 7.26 "Future library directions" # Rule [conj]: log10(conj(z)) = conj(log10(z)) # log10(nan + i*inf) = +inf + i*nan 0 0 2 +inf 2 nan 2 nan 2 +inf N N 0 0 2 +inf 2 nan 2 nan 2 -inf N N # log10(nan + i*nan) = nan + i*nan 0 0 2 nan 2 nan 2 nan 2 nan N N # log10(nan + i*y) = nan + i*nan for finite y 0 0 2 nan 2 nan 2 nan 2 1 N N 0 0 2 nan 2 nan 2 nan 2 +0 N N 0 0 2 nan 2 nan 2 nan 2 -0 N N 0 0 2 nan 2 nan 2 nan 2 -1 N N # log10(+/-inf + i*nan) = +inf + i*nan 0 0 2 +inf 2 nan 2 +inf 2 nan N N 0 0 2 +inf 2 nan 2 -inf 2 nan N N # log10(x + i*nan) = nan+i*nan for finite x 0 0 2 nan 2 nan 2 1 2 nan N N 0 0 2 nan 2 nan 2 +0 2 nan N N 0 0 2 nan 2 nan 2 -0 2 nan N N 0 0 2 nan 2 nan 2 -1 2 nan N N # log10(x + i*inf) = +inf + i*pi/2/log(10) for finite x 0 + 2 +inf 53 +0x15d47c4cb2fba1p-53 2 1 2 +inf N N 0 + 2 +inf 53 +0x15d47c4cb2fba1p-53 2 +0 2 +inf N N 0 + 2 +inf 53 +0x15d47c4cb2fba1p-53 2 -0 2 +inf N N 0 + 2 +inf 53 +0x15d47c4cb2fba1p-53 2 -1 2 +inf N N # by [conj]: log10(x - i*inf) = +inf - i*pi/2/log(10) for finite x 0 - 2 +inf 53 -0x15d47c4cb2fba1p-53 2 1 2 -inf N N 0 - 2 +inf 53 -0x15d47c4cb2fba1p-53 2 +0 2 -inf N N 0 - 2 +inf 53 -0x15d47c4cb2fba1p-53 2 -0 2 -inf N N 0 - 2 +inf 53 -0x15d47c4cb2fba1p-53 2 -1 2 -inf N N # log10(-inf + i*y) = +inf + i*pi/log(10) for finite positive-signed y 0 + 2 +inf 53 0x15d47c4cb2fba1p-52 2 -inf 2 1 N N 0 + 2 +inf 53 0x15d47c4cb2fba1p-52 2 -inf 2 +0 N N # by [conj]: log10(-inf+i*y) = +inf - i*pi/log(10) for finite negative-signed y 0 - 2 +inf 53 -0x15d47c4cb2fba1p-52 2 -inf 2 -1 N N 0 - 2 +inf 53 -0x15d47c4cb2fba1p-52 2 -inf 2 -0 N N # log10(+inf + i*y) = +inf + i*0 for finite positive-signed y 0 0 2 +inf 2 +0 2 +inf 2 1 N N 0 0 2 +inf 2 +0 2 +inf 2 +0 N N # by [conj]: log10(+inf + i*y) = +inf - i*0 for finite negative-signed y 0 0 2 +inf 2 -0 2 +inf 2 -1 N N 0 0 2 +inf 2 -0 2 +inf 2 -0 N N # log10(-inf + i*inf) = +inf + i*(3*pi/4)/log(10) 0 + 2 +inf 53 0x105f5d39863cb9p-52 2 -inf 2 +inf N N # by [conj]: log10(-inf - i*inf) = +inf - i*(3*pi/4)/log(10) 0 - 2 +inf 53 -0x105f5d39863cb9p-52 2 -inf 2 -inf N N # log10(+inf + i*inf) = +inf + i*(pi/4)/log(10) 0 + 2 +inf 53 0x15d47c4cb2fba1p-54 2 +inf 2 +inf N N # by [conj]: log10(+inf - i*inf) = +inf - i*(pi/4)/log(10) 0 - 2 +inf 53 -0x15d47c4cb2fba1p-54 2 +inf 2 -inf N N # log10(-0 + i*0) = -inf + i*pi/log(10) 0 + 2 -inf 53 +0x15d47c4cb2fba1p-52 2 -0 2 +0 N N 0 - 2 -inf 53 -0x15d47c4cb2fba1p-52 2 -0 2 -0 N N 0 + 2 -inf 53 +0x15d47c4cb2fba1p-52 2 -0 2 +0 N U 0 + 2 -inf 53 -0xaea3e26597ddp-47 2 -0 2 -0 N U 0 - 2 -inf 53 +0xaea3e26597ddp-47 2 -0 2 +0 N D 0 - 2 -inf 53 -0x15d47c4cb2fba1p-52 2 -0 2 -0 N D # log10(+0 + i*0) = -inf + i*0 0 0 2 -inf 2 +0 2 +0 2 +0 N N 0 0 2 -inf 2 -0 2 +0 2 -0 N N # log10(+1 +- i*0) = +0 +- i*0 0 0 2 +0 2 +0 2 1 2 +0 N N 0 0 2 +0 2 -0 2 1 2 -0 N N # log10(10 +- i*0) = 1 +- i*0 0 0 2 1 2 +0 4 10 2 +0 N N 0 0 2 1 2 -0 4 10 2 -0 N N # log10(100 +- i*0) = 1 +- i*0 0 0 2 2 2 +0 5 100 2 +0 N N 0 0 2 2 2 -0 5 100 2 -0 N N # log10(-1 +- i*0) = +0 +- i*pi/log(10) 0 + 2 +0 53 +0x15d47c4cb2fba1p-52 2 -1 2 +0 N N 0 - 2 +0 53 -0x15d47c4cb2fba1p-52 2 -1 2 -0 N N # log10(x + i*y) with either x or y zero and the other non-zero - 0 53 0x13afeb354b7d97p-52 2 0 5 0x11 2 0 N N - + 53 0x13afeb354b7d97p-52 53 0x15d47c4cb2fba1p-53 2 0 5 0x11 N N - + 53 0x1475c655fbc11p-48 53 0x15d47c4cb2fba1p-52 5 -0x13 2 +0 N N - - 53 0x1475c655fbc11p-48 53 -0x15d47c4cb2fba1p-52 5 -0x13 2 -0 N N - - 53 0x1475c655fbc11p-48 53 -0x15d47c4cb2fba1p-53 2 0 5 -0x13 N N - + 53 0x15c9a3209bf97fp-52 53 0x15d47c4cb2fba1p-52 5 -0x17 2 +0 Z U - - 53 0x15c9a3209bf97fp-52 53 -0x15d47c4cb2fba1p-52 5 -0x17 2 -0 N D + - 53 0x2b93464137f3p-45 53 0xaea3e26597ddp-47 5 -0x17 2 +0 U Z - - 53 0x15c9a3209bf97fp-52 53 -0x15d47c4cb2fba1p-52 5 -0x17 2 -0 D N - - 53 0x1d1cda1a0c996dp-52 53 0xaea3e26597ddp-47 7 -0x42 2 +0 Z D + + 53 0xe8e6d0d064cb7p-51 53 -0xaea3e26597ddp-47 7 -0x42 2 -0 N Z + + 53 0xe8e6d0d064cb7p-51 53 0x15d47c4cb2fba1p-52 7 -0x42 2 +0 U N - + 53 0x1d1cda1a0c996dp-52 53 -0xaea3e26597ddp-47 7 -0x42 2 -0 D U # huge values + 0 53 0x134413509f79ffp-44 2 0 2 0x1p1024 2 +0 U U + 0 53 0x134413509f79ffp-43 2 0 2 0x1p2048 2 +0 U U + 0 53 0x134413509f79ffp-42 2 0 2 0x1p4096 2 +0 U U + 0 53 0x134413509f79ffp-41 2 0 2 0x1p8192 2 +0 U U + 0 53 0x134413509f79ffp-40 2 0 2 0x1p16384 2 +0 U U + 0 53 0x134413509f79ffp-39 2 0 2 0x1p32768 2 +0 U U + 0 53 0x134413509f79ffp-38 2 0 2 0x1p65536 2 +0 U U + 0 53 0x134413509f79ffp-37 2 0 2 0x1p131072 2 +0 U U + 0 53 0x134413509f79ffp-36 2 0 2 0x1p262144 2 +0 U U + 0 53 0x134413509f79ffp-35 2 0 2 0x1p524288 2 +0 U U + 0 53 0x134413509f79ffp-34 2 0 2 0x1p1048576 2 +0 U U + 0 53 0x134413509f79ffp-33 2 0 2 0x1p2097152 2 +0 U U + 0 53 0x134413509f79ffp-32 2 0 2 0x1p4194304 2 +0 U U + 0 53 0x134413509f79ffp-31 2 0 2 0x1p8388608 2 +0 U U + 0 53 0x134413509f79ffp-30 2 0 2 0x1p16777216 2 +0 U U + 0 53 0x134413509f79ffp-29 2 0 2 0x1p33554432 2 +0 U U + 0 53 0x134413509f79ffp-28 2 0 2 0x1p67108864 2 +0 U U + 0 53 0x134413509f79ffp-27 2 0 2 0x1p134217728 2 +0 U U + 0 53 0x134413509f79ffp-26 2 0 2 0x1p268435456 2 +0 U U + 0 53 0x134413509f79ffp-25 2 0 2 0x1p536870912 2 +0 U U + + 53 0x13467bd3098defp-44 53 0x15d47c4cb2fba1p-54 2 0x1p1024 2 0x1p1024 U U + + 53 0x13454791d483f7p-43 53 0x15d47c4cb2fba1p-54 2 0x1p2048 2 0x1p2048 U U + + 53 0x1344ad7139fefbp-42 53 0x15d47c4cb2fba1p-54 2 0x1p4096 2 0x1p4096 U U + + 53 0x13446060ecbc7dp-41 53 0x15d47c4cb2fba1p-54 2 0x1p8192 2 0x1p8192 U U + + 53 0x9a21cec630d9fp-39 53 0x15d47c4cb2fba1p-54 2 0x1p16384 2 0x1p16384 U U + + 53 0x13442694b2ca9fp-39 53 0x15d47c4cb2fba1p-54 2 0x1p32768 2 0x1p32768 U U + + 53 0x13441cf2a9224fp-38 53 0x15d47c4cb2fba1p-54 2 0x1p65536 2 0x1p65536 U U + + 53 0x13441821a44e27p-37 2 0x3p-3 2 0x1p131072 2 0x1p131072 U U + + 53 0x134415b921e413p-36 2 0x3p-3 2 0x1p262144 2 0x1p262144 U U + + 53 0x13441484e0af09p-35 2 0x3p-3 2 0x1p524288 2 0x1p524288 U U + + 53 0x4d104fab00521p-32 2 0x3p-3 2 0x1p1048576 2 0x1p1048576 U U + + 53 0x9a209ced7e3a1p-32 2 0x3p-3 2 0x1p2097152 2 0x1p2097152 U U + + 53 0x1344137727a0a1p-32 2 0x3p-3 2 0x1p4194304 2 0x1p4194304 U U + + 53 0x13441363e38d5p-27 2 0x3p-3 2 0x1p8388608 2 0x1p8388608 U U + + 53 0x268826b483075p-27 2 0x3p-3 2 0x1p16777216 2 0x1p16777216 U U + + 53 0x4d104d55c1fb5p-27 2 0x3p-3 2 0x1p33554432 2 0x1p33554432 U U + + 53 0x9a209a983fe35p-27 2 0x3p-3 2 0x1p67108864 2 0x1p67108864 U U + + 53 0x4d104d474eecdp-25 2 0x3p-3 2 0x1p134217728 2 0x1p134217728 U U + + 53 0x9a209a89ccd4dp-25 2 0x3p-3 2 0x1p268435456 2 0x1p268435456 U U # Due to intermediate overflow, the following result has wrong real part # instead of the correct result. Since this may happen in other parts of the # library as well, we do not consider it a bug for the moment. # + + 53 0x13441350ec8a4dp-25 2 0x3p-3 2 0x1p536870912 2 0x1p536870912 U U # log10(3+I) has an exact real part (from Joseph S. Myers) 0 + 53 0.5 53 0x8f168ee8415e7p-54 2 3 2 1 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.2 log @initial import of MPC 1.0.3 package. changes since 1.0.1: Changes in version 1.0.3: - Fixed mpc_pow, see http://lists.gforge.inria.fr/pipermail/mpc-discuss/2014-October/001315.html - #18257: Switched to libtool 2.4.5. Changes in version 1.0.2: - Fixed mpc_atan, mpc_atanh for (+-0, +-1), see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57994#c7 - Fixed mpc_log10 for purely imaginary argument, see http://lists.gforge.inria.fr/pipermail/mpc-discuss/2012-September/001208.html @ text @a175 4 # bug found by Mickael Gastineau on 29 Sep 2012 0 + 2 +0 2 0.75 2 +0 2 1 N N 0 - 2 +0 2 -0.75 2 +0 2 -1 N N @ 1.1.1.1.8.1 log @file log10.dat was added on branch tls-maxphys on 2014-08-20 00:00:02 +0000 @ text @d1 175 @ 1.1.1.1.8.2 log @Rebase to HEAD as of a few days ago. @ text @a0 175 # Data test file for mpc_log10. # # Copyright (C) 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/ . # See file sin.dat for the format description. # Special values, following ISO C99 standard, Annex G, # more precisely Section 7.26 "Future library directions" # Rule [conj]: log10(conj(z)) = conj(log10(z)) # log10(nan + i*inf) = +inf + i*nan 0 0 2 +inf 2 nan 2 nan 2 +inf N N 0 0 2 +inf 2 nan 2 nan 2 -inf N N # log10(nan + i*nan) = nan + i*nan 0 0 2 nan 2 nan 2 nan 2 nan N N # log10(nan + i*y) = nan + i*nan for finite y 0 0 2 nan 2 nan 2 nan 2 1 N N 0 0 2 nan 2 nan 2 nan 2 +0 N N 0 0 2 nan 2 nan 2 nan 2 -0 N N 0 0 2 nan 2 nan 2 nan 2 -1 N N # log10(+/-inf + i*nan) = +inf + i*nan 0 0 2 +inf 2 nan 2 +inf 2 nan N N 0 0 2 +inf 2 nan 2 -inf 2 nan N N # log10(x + i*nan) = nan+i*nan for finite x 0 0 2 nan 2 nan 2 1 2 nan N N 0 0 2 nan 2 nan 2 +0 2 nan N N 0 0 2 nan 2 nan 2 -0 2 nan N N 0 0 2 nan 2 nan 2 -1 2 nan N N # log10(x + i*inf) = +inf + i*pi/2/log(10) for finite x 0 + 2 +inf 53 +0x15d47c4cb2fba1p-53 2 1 2 +inf N N 0 + 2 +inf 53 +0x15d47c4cb2fba1p-53 2 +0 2 +inf N N 0 + 2 +inf 53 +0x15d47c4cb2fba1p-53 2 -0 2 +inf N N 0 + 2 +inf 53 +0x15d47c4cb2fba1p-53 2 -1 2 +inf N N # by [conj]: log10(x - i*inf) = +inf - i*pi/2/log(10) for finite x 0 - 2 +inf 53 -0x15d47c4cb2fba1p-53 2 1 2 -inf N N 0 - 2 +inf 53 -0x15d47c4cb2fba1p-53 2 +0 2 -inf N N 0 - 2 +inf 53 -0x15d47c4cb2fba1p-53 2 -0 2 -inf N N 0 - 2 +inf 53 -0x15d47c4cb2fba1p-53 2 -1 2 -inf N N # log10(-inf + i*y) = +inf + i*pi/log(10) for finite positive-signed y 0 + 2 +inf 53 0x15d47c4cb2fba1p-52 2 -inf 2 1 N N 0 + 2 +inf 53 0x15d47c4cb2fba1p-52 2 -inf 2 +0 N N # by [conj]: log10(-inf+i*y) = +inf - i*pi/log(10) for finite negative-signed y 0 - 2 +inf 53 -0x15d47c4cb2fba1p-52 2 -inf 2 -1 N N 0 - 2 +inf 53 -0x15d47c4cb2fba1p-52 2 -inf 2 -0 N N # log10(+inf + i*y) = +inf + i*0 for finite positive-signed y 0 0 2 +inf 2 +0 2 +inf 2 1 N N 0 0 2 +inf 2 +0 2 +inf 2 +0 N N # by [conj]: log10(+inf + i*y) = +inf - i*0 for finite negative-signed y 0 0 2 +inf 2 -0 2 +inf 2 -1 N N 0 0 2 +inf 2 -0 2 +inf 2 -0 N N # log10(-inf + i*inf) = +inf + i*(3*pi/4)/log(10) 0 + 2 +inf 53 0x105f5d39863cb9p-52 2 -inf 2 +inf N N # by [conj]: log10(-inf - i*inf) = +inf - i*(3*pi/4)/log(10) 0 - 2 +inf 53 -0x105f5d39863cb9p-52 2 -inf 2 -inf N N # log10(+inf + i*inf) = +inf + i*(pi/4)/log(10) 0 + 2 +inf 53 0x15d47c4cb2fba1p-54 2 +inf 2 +inf N N # by [conj]: log10(+inf - i*inf) = +inf - i*(pi/4)/log(10) 0 - 2 +inf 53 -0x15d47c4cb2fba1p-54 2 +inf 2 -inf N N # log10(-0 + i*0) = -inf + i*pi/log(10) 0 + 2 -inf 53 +0x15d47c4cb2fba1p-52 2 -0 2 +0 N N 0 - 2 -inf 53 -0x15d47c4cb2fba1p-52 2 -0 2 -0 N N 0 + 2 -inf 53 +0x15d47c4cb2fba1p-52 2 -0 2 +0 N U 0 + 2 -inf 53 -0xaea3e26597ddp-47 2 -0 2 -0 N U 0 - 2 -inf 53 +0xaea3e26597ddp-47 2 -0 2 +0 N D 0 - 2 -inf 53 -0x15d47c4cb2fba1p-52 2 -0 2 -0 N D # log10(+0 + i*0) = -inf + i*0 0 0 2 -inf 2 +0 2 +0 2 +0 N N 0 0 2 -inf 2 -0 2 +0 2 -0 N N # log10(+1 +- i*0) = +0 +- i*0 0 0 2 +0 2 +0 2 1 2 +0 N N 0 0 2 +0 2 -0 2 1 2 -0 N N # log10(10 +- i*0) = 1 +- i*0 0 0 2 1 2 +0 4 10 2 +0 N N 0 0 2 1 2 -0 4 10 2 -0 N N # log10(100 +- i*0) = 1 +- i*0 0 0 2 2 2 +0 5 100 2 +0 N N 0 0 2 2 2 -0 5 100 2 -0 N N # log10(-1 +- i*0) = +0 +- i*pi/log(10) 0 + 2 +0 53 +0x15d47c4cb2fba1p-52 2 -1 2 +0 N N 0 - 2 +0 53 -0x15d47c4cb2fba1p-52 2 -1 2 -0 N N # log10(x + i*y) with either x or y zero and the other non-zero - 0 53 0x13afeb354b7d97p-52 2 0 5 0x11 2 0 N N - + 53 0x13afeb354b7d97p-52 53 0x15d47c4cb2fba1p-53 2 0 5 0x11 N N - + 53 0x1475c655fbc11p-48 53 0x15d47c4cb2fba1p-52 5 -0x13 2 +0 N N - - 53 0x1475c655fbc11p-48 53 -0x15d47c4cb2fba1p-52 5 -0x13 2 -0 N N - - 53 0x1475c655fbc11p-48 53 -0x15d47c4cb2fba1p-53 2 0 5 -0x13 N N - + 53 0x15c9a3209bf97fp-52 53 0x15d47c4cb2fba1p-52 5 -0x17 2 +0 Z U - - 53 0x15c9a3209bf97fp-52 53 -0x15d47c4cb2fba1p-52 5 -0x17 2 -0 N D + - 53 0x2b93464137f3p-45 53 0xaea3e26597ddp-47 5 -0x17 2 +0 U Z - - 53 0x15c9a3209bf97fp-52 53 -0x15d47c4cb2fba1p-52 5 -0x17 2 -0 D N - - 53 0x1d1cda1a0c996dp-52 53 0xaea3e26597ddp-47 7 -0x42 2 +0 Z D + + 53 0xe8e6d0d064cb7p-51 53 -0xaea3e26597ddp-47 7 -0x42 2 -0 N Z + + 53 0xe8e6d0d064cb7p-51 53 0x15d47c4cb2fba1p-52 7 -0x42 2 +0 U N - + 53 0x1d1cda1a0c996dp-52 53 -0xaea3e26597ddp-47 7 -0x42 2 -0 D U # huge values + 0 53 0x134413509f79ffp-44 2 0 2 0x1p1024 2 +0 U U + 0 53 0x134413509f79ffp-43 2 0 2 0x1p2048 2 +0 U U + 0 53 0x134413509f79ffp-42 2 0 2 0x1p4096 2 +0 U U + 0 53 0x134413509f79ffp-41 2 0 2 0x1p8192 2 +0 U U + 0 53 0x134413509f79ffp-40 2 0 2 0x1p16384 2 +0 U U + 0 53 0x134413509f79ffp-39 2 0 2 0x1p32768 2 +0 U U + 0 53 0x134413509f79ffp-38 2 0 2 0x1p65536 2 +0 U U + 0 53 0x134413509f79ffp-37 2 0 2 0x1p131072 2 +0 U U + 0 53 0x134413509f79ffp-36 2 0 2 0x1p262144 2 +0 U U + 0 53 0x134413509f79ffp-35 2 0 2 0x1p524288 2 +0 U U + 0 53 0x134413509f79ffp-34 2 0 2 0x1p1048576 2 +0 U U + 0 53 0x134413509f79ffp-33 2 0 2 0x1p2097152 2 +0 U U + 0 53 0x134413509f79ffp-32 2 0 2 0x1p4194304 2 +0 U U + 0 53 0x134413509f79ffp-31 2 0 2 0x1p8388608 2 +0 U U + 0 53 0x134413509f79ffp-30 2 0 2 0x1p16777216 2 +0 U U + 0 53 0x134413509f79ffp-29 2 0 2 0x1p33554432 2 +0 U U + 0 53 0x134413509f79ffp-28 2 0 2 0x1p67108864 2 +0 U U + 0 53 0x134413509f79ffp-27 2 0 2 0x1p134217728 2 +0 U U + 0 53 0x134413509f79ffp-26 2 0 2 0x1p268435456 2 +0 U U + 0 53 0x134413509f79ffp-25 2 0 2 0x1p536870912 2 +0 U U + + 53 0x13467bd3098defp-44 53 0x15d47c4cb2fba1p-54 2 0x1p1024 2 0x1p1024 U U + + 53 0x13454791d483f7p-43 53 0x15d47c4cb2fba1p-54 2 0x1p2048 2 0x1p2048 U U + + 53 0x1344ad7139fefbp-42 53 0x15d47c4cb2fba1p-54 2 0x1p4096 2 0x1p4096 U U + + 53 0x13446060ecbc7dp-41 53 0x15d47c4cb2fba1p-54 2 0x1p8192 2 0x1p8192 U U + + 53 0x9a21cec630d9fp-39 53 0x15d47c4cb2fba1p-54 2 0x1p16384 2 0x1p16384 U U + + 53 0x13442694b2ca9fp-39 53 0x15d47c4cb2fba1p-54 2 0x1p32768 2 0x1p32768 U U + + 53 0x13441cf2a9224fp-38 53 0x15d47c4cb2fba1p-54 2 0x1p65536 2 0x1p65536 U U + + 53 0x13441821a44e27p-37 2 0x3p-3 2 0x1p131072 2 0x1p131072 U U + + 53 0x134415b921e413p-36 2 0x3p-3 2 0x1p262144 2 0x1p262144 U U + + 53 0x13441484e0af09p-35 2 0x3p-3 2 0x1p524288 2 0x1p524288 U U + + 53 0x4d104fab00521p-32 2 0x3p-3 2 0x1p1048576 2 0x1p1048576 U U + + 53 0x9a209ced7e3a1p-32 2 0x3p-3 2 0x1p2097152 2 0x1p2097152 U U + + 53 0x1344137727a0a1p-32 2 0x3p-3 2 0x1p4194304 2 0x1p4194304 U U + + 53 0x13441363e38d5p-27 2 0x3p-3 2 0x1p8388608 2 0x1p8388608 U U + + 53 0x268826b483075p-27 2 0x3p-3 2 0x1p16777216 2 0x1p16777216 U U + + 53 0x4d104d55c1fb5p-27 2 0x3p-3 2 0x1p33554432 2 0x1p33554432 U U + + 53 0x9a209a983fe35p-27 2 0x3p-3 2 0x1p67108864 2 0x1p67108864 U U + + 53 0x4d104d474eecdp-25 2 0x3p-3 2 0x1p134217728 2 0x1p134217728 U U + + 53 0x9a209a89ccd4dp-25 2 0x3p-3 2 0x1p268435456 2 0x1p268435456 U U # Due to intermediate overflow, the following result has wrong real part # instead of the correct result. Since this may happen in other parts of the # library as well, we do not consider it a bug for the moment. # + + 53 0x13441350ec8a4dp-25 2 0x3p-3 2 0x1p536870912 2 0x1p536870912 U U # log10(3+I) has an exact real part (from Joseph S. Myers) 0 + 53 0.5 53 0x8f168ee8415e7p-54 2 3 2 1 N N @ 1.1.1.1.4.1 log @file log10.dat was added on branch yamt-pagecache on 2014-05-22 14:09:14 +0000 @ text @d1 175 @ 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 175 # Data test file for mpc_log10. # # Copyright (C) 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/ . # See file sin.dat for the format description. # Special values, following ISO C99 standard, Annex G, # more precisely Section 7.26 "Future library directions" # Rule [conj]: log10(conj(z)) = conj(log10(z)) # log10(nan + i*inf) = +inf + i*nan 0 0 2 +inf 2 nan 2 nan 2 +inf N N 0 0 2 +inf 2 nan 2 nan 2 -inf N N # log10(nan + i*nan) = nan + i*nan 0 0 2 nan 2 nan 2 nan 2 nan N N # log10(nan + i*y) = nan + i*nan for finite y 0 0 2 nan 2 nan 2 nan 2 1 N N 0 0 2 nan 2 nan 2 nan 2 +0 N N 0 0 2 nan 2 nan 2 nan 2 -0 N N 0 0 2 nan 2 nan 2 nan 2 -1 N N # log10(+/-inf + i*nan) = +inf + i*nan 0 0 2 +inf 2 nan 2 +inf 2 nan N N 0 0 2 +inf 2 nan 2 -inf 2 nan N N # log10(x + i*nan) = nan+i*nan for finite x 0 0 2 nan 2 nan 2 1 2 nan N N 0 0 2 nan 2 nan 2 +0 2 nan N N 0 0 2 nan 2 nan 2 -0 2 nan N N 0 0 2 nan 2 nan 2 -1 2 nan N N # log10(x + i*inf) = +inf + i*pi/2/log(10) for finite x 0 + 2 +inf 53 +0x15d47c4cb2fba1p-53 2 1 2 +inf N N 0 + 2 +inf 53 +0x15d47c4cb2fba1p-53 2 +0 2 +inf N N 0 + 2 +inf 53 +0x15d47c4cb2fba1p-53 2 -0 2 +inf N N 0 + 2 +inf 53 +0x15d47c4cb2fba1p-53 2 -1 2 +inf N N # by [conj]: log10(x - i*inf) = +inf - i*pi/2/log(10) for finite x 0 - 2 +inf 53 -0x15d47c4cb2fba1p-53 2 1 2 -inf N N 0 - 2 +inf 53 -0x15d47c4cb2fba1p-53 2 +0 2 -inf N N 0 - 2 +inf 53 -0x15d47c4cb2fba1p-53 2 -0 2 -inf N N 0 - 2 +inf 53 -0x15d47c4cb2fba1p-53 2 -1 2 -inf N N # log10(-inf + i*y) = +inf + i*pi/log(10) for finite positive-signed y 0 + 2 +inf 53 0x15d47c4cb2fba1p-52 2 -inf 2 1 N N 0 + 2 +inf 53 0x15d47c4cb2fba1p-52 2 -inf 2 +0 N N # by [conj]: log10(-inf+i*y) = +inf - i*pi/log(10) for finite negative-signed y 0 - 2 +inf 53 -0x15d47c4cb2fba1p-52 2 -inf 2 -1 N N 0 - 2 +inf 53 -0x15d47c4cb2fba1p-52 2 -inf 2 -0 N N # log10(+inf + i*y) = +inf + i*0 for finite positive-signed y 0 0 2 +inf 2 +0 2 +inf 2 1 N N 0 0 2 +inf 2 +0 2 +inf 2 +0 N N # by [conj]: log10(+inf + i*y) = +inf - i*0 for finite negative-signed y 0 0 2 +inf 2 -0 2 +inf 2 -1 N N 0 0 2 +inf 2 -0 2 +inf 2 -0 N N # log10(-inf + i*inf) = +inf + i*(3*pi/4)/log(10) 0 + 2 +inf 53 0x105f5d39863cb9p-52 2 -inf 2 +inf N N # by [conj]: log10(-inf - i*inf) = +inf - i*(3*pi/4)/log(10) 0 - 2 +inf 53 -0x105f5d39863cb9p-52 2 -inf 2 -inf N N # log10(+inf + i*inf) = +inf + i*(pi/4)/log(10) 0 + 2 +inf 53 0x15d47c4cb2fba1p-54 2 +inf 2 +inf N N # by [conj]: log10(+inf - i*inf) = +inf - i*(pi/4)/log(10) 0 - 2 +inf 53 -0x15d47c4cb2fba1p-54 2 +inf 2 -inf N N # log10(-0 + i*0) = -inf + i*pi/log(10) 0 + 2 -inf 53 +0x15d47c4cb2fba1p-52 2 -0 2 +0 N N 0 - 2 -inf 53 -0x15d47c4cb2fba1p-52 2 -0 2 -0 N N 0 + 2 -inf 53 +0x15d47c4cb2fba1p-52 2 -0 2 +0 N U 0 + 2 -inf 53 -0xaea3e26597ddp-47 2 -0 2 -0 N U 0 - 2 -inf 53 +0xaea3e26597ddp-47 2 -0 2 +0 N D 0 - 2 -inf 53 -0x15d47c4cb2fba1p-52 2 -0 2 -0 N D # log10(+0 + i*0) = -inf + i*0 0 0 2 -inf 2 +0 2 +0 2 +0 N N 0 0 2 -inf 2 -0 2 +0 2 -0 N N # log10(+1 +- i*0) = +0 +- i*0 0 0 2 +0 2 +0 2 1 2 +0 N N 0 0 2 +0 2 -0 2 1 2 -0 N N # log10(10 +- i*0) = 1 +- i*0 0 0 2 1 2 +0 4 10 2 +0 N N 0 0 2 1 2 -0 4 10 2 -0 N N # log10(100 +- i*0) = 1 +- i*0 0 0 2 2 2 +0 5 100 2 +0 N N 0 0 2 2 2 -0 5 100 2 -0 N N # log10(-1 +- i*0) = +0 +- i*pi/log(10) 0 + 2 +0 53 +0x15d47c4cb2fba1p-52 2 -1 2 +0 N N 0 - 2 +0 53 -0x15d47c4cb2fba1p-52 2 -1 2 -0 N N # log10(x + i*y) with either x or y zero and the other non-zero - 0 53 0x13afeb354b7d97p-52 2 0 5 0x11 2 0 N N - + 53 0x13afeb354b7d97p-52 53 0x15d47c4cb2fba1p-53 2 0 5 0x11 N N - + 53 0x1475c655fbc11p-48 53 0x15d47c4cb2fba1p-52 5 -0x13 2 +0 N N - - 53 0x1475c655fbc11p-48 53 -0x15d47c4cb2fba1p-52 5 -0x13 2 -0 N N - - 53 0x1475c655fbc11p-48 53 -0x15d47c4cb2fba1p-53 2 0 5 -0x13 N N - + 53 0x15c9a3209bf97fp-52 53 0x15d47c4cb2fba1p-52 5 -0x17 2 +0 Z U - - 53 0x15c9a3209bf97fp-52 53 -0x15d47c4cb2fba1p-52 5 -0x17 2 -0 N D + - 53 0x2b93464137f3p-45 53 0xaea3e26597ddp-47 5 -0x17 2 +0 U Z - - 53 0x15c9a3209bf97fp-52 53 -0x15d47c4cb2fba1p-52 5 -0x17 2 -0 D N - - 53 0x1d1cda1a0c996dp-52 53 0xaea3e26597ddp-47 7 -0x42 2 +0 Z D + + 53 0xe8e6d0d064cb7p-51 53 -0xaea3e26597ddp-47 7 -0x42 2 -0 N Z + + 53 0xe8e6d0d064cb7p-51 53 0x15d47c4cb2fba1p-52 7 -0x42 2 +0 U N - + 53 0x1d1cda1a0c996dp-52 53 -0xaea3e26597ddp-47 7 -0x42 2 -0 D U # huge values + 0 53 0x134413509f79ffp-44 2 0 2 0x1p1024 2 +0 U U + 0 53 0x134413509f79ffp-43 2 0 2 0x1p2048 2 +0 U U + 0 53 0x134413509f79ffp-42 2 0 2 0x1p4096 2 +0 U U + 0 53 0x134413509f79ffp-41 2 0 2 0x1p8192 2 +0 U U + 0 53 0x134413509f79ffp-40 2 0 2 0x1p16384 2 +0 U U + 0 53 0x134413509f79ffp-39 2 0 2 0x1p32768 2 +0 U U + 0 53 0x134413509f79ffp-38 2 0 2 0x1p65536 2 +0 U U + 0 53 0x134413509f79ffp-37 2 0 2 0x1p131072 2 +0 U U + 0 53 0x134413509f79ffp-36 2 0 2 0x1p262144 2 +0 U U + 0 53 0x134413509f79ffp-35 2 0 2 0x1p524288 2 +0 U U + 0 53 0x134413509f79ffp-34 2 0 2 0x1p1048576 2 +0 U U + 0 53 0x134413509f79ffp-33 2 0 2 0x1p2097152 2 +0 U U + 0 53 0x134413509f79ffp-32 2 0 2 0x1p4194304 2 +0 U U + 0 53 0x134413509f79ffp-31 2 0 2 0x1p8388608 2 +0 U U + 0 53 0x134413509f79ffp-30 2 0 2 0x1p16777216 2 +0 U U + 0 53 0x134413509f79ffp-29 2 0 2 0x1p33554432 2 +0 U U + 0 53 0x134413509f79ffp-28 2 0 2 0x1p67108864 2 +0 U U + 0 53 0x134413509f79ffp-27 2 0 2 0x1p134217728 2 +0 U U + 0 53 0x134413509f79ffp-26 2 0 2 0x1p268435456 2 +0 U U + 0 53 0x134413509f79ffp-25 2 0 2 0x1p536870912 2 +0 U U + + 53 0x13467bd3098defp-44 53 0x15d47c4cb2fba1p-54 2 0x1p1024 2 0x1p1024 U U + + 53 0x13454791d483f7p-43 53 0x15d47c4cb2fba1p-54 2 0x1p2048 2 0x1p2048 U U + + 53 0x1344ad7139fefbp-42 53 0x15d47c4cb2fba1p-54 2 0x1p4096 2 0x1p4096 U U + + 53 0x13446060ecbc7dp-41 53 0x15d47c4cb2fba1p-54 2 0x1p8192 2 0x1p8192 U U + + 53 0x9a21cec630d9fp-39 53 0x15d47c4cb2fba1p-54 2 0x1p16384 2 0x1p16384 U U + + 53 0x13442694b2ca9fp-39 53 0x15d47c4cb2fba1p-54 2 0x1p32768 2 0x1p32768 U U + + 53 0x13441cf2a9224fp-38 53 0x15d47c4cb2fba1p-54 2 0x1p65536 2 0x1p65536 U U + + 53 0x13441821a44e27p-37 2 0x3p-3 2 0x1p131072 2 0x1p131072 U U + + 53 0x134415b921e413p-36 2 0x3p-3 2 0x1p262144 2 0x1p262144 U U + + 53 0x13441484e0af09p-35 2 0x3p-3 2 0x1p524288 2 0x1p524288 U U + + 53 0x4d104fab00521p-32 2 0x3p-3 2 0x1p1048576 2 0x1p1048576 U U + + 53 0x9a209ced7e3a1p-32 2 0x3p-3 2 0x1p2097152 2 0x1p2097152 U U + + 53 0x1344137727a0a1p-32 2 0x3p-3 2 0x1p4194304 2 0x1p4194304 U U + + 53 0x13441363e38d5p-27 2 0x3p-3 2 0x1p8388608 2 0x1p8388608 U U + + 53 0x268826b483075p-27 2 0x3p-3 2 0x1p16777216 2 0x1p16777216 U U + + 53 0x4d104d55c1fb5p-27 2 0x3p-3 2 0x1p33554432 2 0x1p33554432 U U + + 53 0x9a209a983fe35p-27 2 0x3p-3 2 0x1p67108864 2 0x1p67108864 U U + + 53 0x4d104d474eecdp-25 2 0x3p-3 2 0x1p134217728 2 0x1p134217728 U U + + 53 0x9a209a89ccd4dp-25 2 0x3p-3 2 0x1p268435456 2 0x1p268435456 U U # Due to intermediate overflow, the following result has wrong real part # instead of the correct result. Since this may happen in other parts of the # library as well, we do not consider it a bug for the moment. # + + 53 0x13441350ec8a4dp-25 2 0x3p-3 2 0x1p536870912 2 0x1p536870912 U U # log10(3+I) has an exact real part (from Joseph S. Myers) 0 + 53 0.5 53 0x8f168ee8415e7p-54 2 3 2 1 N N @