1# Data test file for mpc_cosh. 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# See file sin.dat for the format description. 21 22# Special values, following ISO C99 standard, Annex G, 23# more precisely Section G.6.2.4 "The ccosh functions". 24 25# Rule [conj]: cosh(conj(z)) = conj(cosh(z)) 26# Rule [even]: cosh(-z) = cosh(z) 27 28# cosh(+0 + i*0) = 1 + i*0 290 0 2 1 2 +0 2 +0 2 +0 N N 30# [conj]: cosh(+0 - i*0) = 1 - i*0 310 0 2 1 2 -0 2 +0 2 -0 N N 32# [even]: cosh(-0 - i*0) = 1 + i*0 330 0 2 1 2 +0 2 -0 2 -0 N N 34# [even+conj]: cosh(-0 + i*0) = 1 - i*0 350 0 2 1 2 -0 2 -0 2 +0 N N 36 37# cosh(+0 + i*inf) = nan + i*0 (C99 says that the sign of the imaginary part 38# is left unspecified) 390 0 2 nan 2 0 2 +0 2 +inf N N 40# [conj]: cosh(+0 - i*inf) = nan - i*0 410 0 2 nan 2 0 2 +0 2 -inf N N 42# [even]: cosh(-0 - i*inf) = nan + i*0 430 0 2 nan 2 0 2 -0 2 -inf N N 44# [even+conj]: cosh(-0 + i*inf) = nan - i*0 450 0 2 nan 2 0 2 -0 2 +inf N N 46 47# cosh(+0 +i*nan) = nan + i*0 (C99 says that the sign of the imaginary part 48# is left unspecified) 490 0 2 nan 2 0 2 +0 2 nan N N 50# [even]: cosh(-0 + i*nan) = nan + i*0 510 0 2 nan 2 0 2 -0 2 nan N N 52 53# cosh(x + i*inf) = nan + i*nan for finite nonzero x 540 0 2 nan 2 nan 2 1 2 inf N N 550 0 2 nan 2 nan 2 -1 2 inf N N 56# [conj]: cosh(x - i*inf) = nan + i*nan 570 0 2 nan 2 nan 2 1 2 -inf N N 580 0 2 nan 2 nan 2 -1 2 -inf N N 59# [even] and [even+conj] are already considered for x=-1 < 0 60 61# cosh(x + i*nan) = nan + i*nan for finite nonzero x 620 0 2 nan 2 nan 2 1 2 nan N N 630 0 2 nan 2 nan 2 -1 2 nan N N 64# [conj] makes no sense since nan has no sign 65# [even] is already considered for x=-1 < 0 66 67# cosh(+inf + i*0) = +inf + i*0 680 0 2 +inf 2 +0 2 +inf 2 +0 N N 69# [conj]: cosh(+inf - i*0) = +inf - i*0 700 0 2 +inf 2 -0 2 +inf 2 -0 N N 71# [even]: cosh(-inf - i*0) = +inf + i*0 720 0 2 +inf 2 +0 2 -inf 2 -0 N N 73# [even+conj]: cosh(-inf + i*0) = +inf - i*0 740 0 2 +inf 2 -0 2 -inf 2 +0 N N 75 76# cosh(+inf + i*y) = +inf * (cos(y) + i*sin(y)) for finite non-zero y 770 0 2 +inf 2 +inf 2 +inf 2 1 N N 780 0 2 -inf 2 +inf 2 +inf 2 2 N N 790 0 2 -inf 2 -inf 2 +inf 2 4 N N 800 0 2 +inf 2 -inf 2 +inf 2 1024 N N 81# [conj] 820 0 2 +inf 2 -inf 2 +inf 2 -1 N N 830 0 2 -inf 2 -inf 2 +inf 2 -2 N N 840 0 2 -inf 2 +inf 2 +inf 2 -4 N N 850 0 2 +inf 2 +inf 2 +inf 2 -1024 N N 86# [even] 870 0 2 +inf 2 +inf 2 -inf 2 -1 N N 880 0 2 -inf 2 +inf 2 -inf 2 -2 N N 890 0 2 -inf 2 -inf 2 -inf 2 -4 N N 900 0 2 +inf 2 -inf 2 -inf 2 -1024 N N 91# [even+conj] 920 0 2 +inf 2 -inf 2 -inf 2 1 N N 930 0 2 -inf 2 -inf 2 -inf 2 2 N N 940 0 2 -inf 2 +inf 2 -inf 2 4 N N 950 0 2 +inf 2 +inf 2 -inf 2 1024 N N 96 97# cosh(+inf + i*inf) = +inf + i*nan (C99 leaves unspecified the sign of the 98# real part) 990 0 2 inf 2 nan 2 +inf 2 +inf N N 100# [conj]: cosh(+inf - i*inf) = +inf + i*nan 1010 0 2 inf 2 nan 2 +inf 2 -inf N N 102# [even]: cosh(-inf - i*inf) = +inf + i*nan 1030 0 2 inf 2 nan 2 -inf 2 -inf N N 104# [even+conj]: cosh(-inf + i*inf) = +inf + i*nan 1050 0 2 inf 2 nan 2 -inf 2 +inf N N 106 107# cosh(+inf + i*nan) = +inf + i*nan 1080 0 2 +inf 2 nan 2 +inf 2 nan N N 109# [conj] makes no sense since NaN has no sign 110# [even]: cosh(-inf + i*nan) = +inf + i*nan 1110 0 2 +inf 2 nan 2 -inf 2 nan N N 112 113# cosh(nan + i*0) = nan - i*0 (C99 leaves unspecified the sign of the 114# imaginary part) 1150 0 2 nan 2 0 2 nan 2 +0 N N 116# [conj]: cosh(nan - i*0) = nan + i*0 1170 0 2 nan 2 0 2 nan 2 -0 N N 118 119# cosh(nan + i*y) = nan + i*nan for all nonzero y (including +/-inf) 1200 0 2 nan 2 nan 2 nan 2 1 N N 1210 0 2 nan 2 nan 2 nan 2 -1 N N 1220 0 2 nan 2 nan 2 nan 2 +inf N N 1230 0 2 nan 2 nan 2 nan 2 -inf N N 124 125# cosh(nan + i*nan) = nan + i*nan 1260 0 2 nan 2 nan 2 nan 2 nan N N 127 128+ + 53 0x10000000000001p-53 53 0x10000000000001p-52 53 0x1DA2E1BD2C9EBCp-53 53 0x138AADEA15829Fp-52 N N 129 130 131# huge values 132+ - 53 +inf 53 -inf 53 0x4580CBF242683p-3 53 -0x1B3E8A3660D279p-3 N N 133- - 53 -inf 53 -inf 53 -0x1B3E8A3660D279p-3 53 0x4580CBF242683p-3 N N 134