1 1.1 mrg # Data test file for mpc_cosh. 2 1.1 mrg # 3 1.1 mrg # Copyright (C) 2008, 2010 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 #o ption) 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.2.4 "The ccosh functions". 24 1.1 mrg 25 1.1 mrg # Rule [conj]: cosh(conj(z)) = conj(cosh(z)) 26 1.1 mrg # Rule [even]: cosh(-z) = cosh(z) 27 1.1 mrg 28 1.1 mrg # cosh(+0 + i*0) = 1 + i*0 29 1.1 mrg 0 0 2 1 2 +0 2 +0 2 +0 N N 30 1.1 mrg # [conj]: cosh(+0 - i*0) = 1 - i*0 31 1.1 mrg 0 0 2 1 2 -0 2 +0 2 -0 N N 32 1.1 mrg # [even]: cosh(-0 - i*0) = 1 + i*0 33 1.1 mrg 0 0 2 1 2 +0 2 -0 2 -0 N N 34 1.1 mrg # [even+conj]: cosh(-0 + i*0) = 1 - i*0 35 1.1 mrg 0 0 2 1 2 -0 2 -0 2 +0 N N 36 1.1 mrg 37 1.1 mrg # cosh(+0 + i*inf) = nan + i*0 (C99 says that the sign of the imaginary part 38 1.1 mrg # is left unspecified) 39 1.1 mrg 0 0 2 nan 2 0 2 +0 2 +inf N N 40 1.1 mrg # [conj]: cosh(+0 - i*inf) = nan - i*0 41 1.1 mrg 0 0 2 nan 2 0 2 +0 2 -inf N N 42 1.1 mrg # [even]: cosh(-0 - i*inf) = nan + i*0 43 1.1 mrg 0 0 2 nan 2 0 2 -0 2 -inf N N 44 1.1 mrg # [even+conj]: cosh(-0 + i*inf) = nan - i*0 45 1.1 mrg 0 0 2 nan 2 0 2 -0 2 +inf N N 46 1.1 mrg 47 1.1 mrg # cosh(+0 +i*nan) = nan + i*0 (C99 says that the sign of the imaginary part 48 1.1 mrg # is left unspecified) 49 1.1 mrg 0 0 2 nan 2 0 2 +0 2 nan N N 50 1.1 mrg # [even]: cosh(-0 + i*nan) = nan + i*0 51 1.1 mrg 0 0 2 nan 2 0 2 -0 2 nan N N 52 1.1 mrg 53 1.1 mrg # cosh(x + i*inf) = nan + i*nan for finite nonzero x 54 1.1 mrg 0 0 2 nan 2 nan 2 1 2 inf N N 55 1.1 mrg 0 0 2 nan 2 nan 2 -1 2 inf N N 56 1.1 mrg # [conj]: cosh(x - i*inf) = nan + i*nan 57 1.1 mrg 0 0 2 nan 2 nan 2 1 2 -inf N N 58 1.1 mrg 0 0 2 nan 2 nan 2 -1 2 -inf N N 59 1.1 mrg # [even] and [even+conj] are already considered for x=-1 < 0 60 1.1 mrg 61 1.1 mrg # cosh(x + i*nan) = nan + i*nan for finite nonzero x 62 1.1 mrg 0 0 2 nan 2 nan 2 1 2 nan N N 63 1.1 mrg 0 0 2 nan 2 nan 2 -1 2 nan N N 64 1.1 mrg # [conj] makes no sense since nan has no sign 65 1.1 mrg # [even] is already considered for x=-1 < 0 66 1.1 mrg 67 1.1 mrg # cosh(+inf + i*0) = +inf + i*0 68 1.1 mrg 0 0 2 +inf 2 +0 2 +inf 2 +0 N N 69 1.1 mrg # [conj]: cosh(+inf - i*0) = +inf - i*0 70 1.1 mrg 0 0 2 +inf 2 -0 2 +inf 2 -0 N N 71 1.1 mrg # [even]: cosh(-inf - i*0) = +inf + i*0 72 1.1 mrg 0 0 2 +inf 2 +0 2 -inf 2 -0 N N 73 1.1 mrg # [even+conj]: cosh(-inf + i*0) = +inf - i*0 74 1.1 mrg 0 0 2 +inf 2 -0 2 -inf 2 +0 N N 75 1.1 mrg 76 1.1 mrg # cosh(+inf + i*y) = +inf * (cos(y) + i*sin(y)) for finite non-zero y 77 1.1 mrg 0 0 2 +inf 2 +inf 2 +inf 2 1 N N 78 1.1 mrg 0 0 2 -inf 2 +inf 2 +inf 2 2 N N 79 1.1 mrg 0 0 2 -inf 2 -inf 2 +inf 2 4 N N 80 1.1 mrg 0 0 2 +inf 2 -inf 2 +inf 2 1024 N N 81 1.1 mrg # [conj] 82 1.1 mrg 0 0 2 +inf 2 -inf 2 +inf 2 -1 N N 83 1.1 mrg 0 0 2 -inf 2 -inf 2 +inf 2 -2 N N 84 1.1 mrg 0 0 2 -inf 2 +inf 2 +inf 2 -4 N N 85 1.1 mrg 0 0 2 +inf 2 +inf 2 +inf 2 -1024 N N 86 1.1 mrg # [even] 87 1.1 mrg 0 0 2 +inf 2 +inf 2 -inf 2 -1 N N 88 1.1 mrg 0 0 2 -inf 2 +inf 2 -inf 2 -2 N N 89 1.1 mrg 0 0 2 -inf 2 -inf 2 -inf 2 -4 N N 90 1.1 mrg 0 0 2 +inf 2 -inf 2 -inf 2 -1024 N N 91 1.1 mrg # [even+conj] 92 1.1 mrg 0 0 2 +inf 2 -inf 2 -inf 2 1 N N 93 1.1 mrg 0 0 2 -inf 2 -inf 2 -inf 2 2 N N 94 1.1 mrg 0 0 2 -inf 2 +inf 2 -inf 2 4 N N 95 1.1 mrg 0 0 2 +inf 2 +inf 2 -inf 2 1024 N N 96 1.1 mrg 97 1.1 mrg # cosh(+inf + i*inf) = +inf + i*nan (C99 leaves unspecified the sign of the 98 1.1 mrg # real part) 99 1.1 mrg 0 0 2 inf 2 nan 2 +inf 2 +inf N N 100 1.1 mrg # [conj]: cosh(+inf - i*inf) = +inf + i*nan 101 1.1 mrg 0 0 2 inf 2 nan 2 +inf 2 -inf N N 102 1.1 mrg # [even]: cosh(-inf - i*inf) = +inf + i*nan 103 1.1 mrg 0 0 2 inf 2 nan 2 -inf 2 -inf N N 104 1.1 mrg # [even+conj]: cosh(-inf + i*inf) = +inf + i*nan 105 1.1 mrg 0 0 2 inf 2 nan 2 -inf 2 +inf N N 106 1.1 mrg 107 1.1 mrg # cosh(+inf + i*nan) = +inf + i*nan 108 1.1 mrg 0 0 2 +inf 2 nan 2 +inf 2 nan N N 109 1.1 mrg # [conj] makes no sense since NaN has no sign 110 1.1 mrg # [even]: cosh(-inf + i*nan) = +inf + i*nan 111 1.1 mrg 0 0 2 +inf 2 nan 2 -inf 2 nan N N 112 1.1 mrg 113 1.1 mrg # cosh(nan + i*0) = nan - i*0 (C99 leaves unspecified the sign of the 114 1.1 mrg # imaginary part) 115 1.1 mrg 0 0 2 nan 2 0 2 nan 2 +0 N N 116 1.1 mrg # [conj]: cosh(nan - i*0) = nan + i*0 117 1.1 mrg 0 0 2 nan 2 0 2 nan 2 -0 N N 118 1.1 mrg 119 1.1 mrg # cosh(nan + i*y) = nan + i*nan for all nonzero y (including +/-inf) 120 1.1 mrg 0 0 2 nan 2 nan 2 nan 2 1 N N 121 1.1 mrg 0 0 2 nan 2 nan 2 nan 2 -1 N N 122 1.1 mrg 0 0 2 nan 2 nan 2 nan 2 +inf N N 123 1.1 mrg 0 0 2 nan 2 nan 2 nan 2 -inf N N 124 1.1 mrg 125 1.1 mrg # cosh(nan + i*nan) = nan + i*nan 126 1.1 mrg 0 0 2 nan 2 nan 2 nan 2 nan N N 127 1.1 mrg 128 1.1 mrg + + 53 0x10000000000001p-53 53 0x10000000000001p-52 53 0x1DA2E1BD2C9EBCp-53 53 0x138AADEA15829Fp-52 N N 129 1.1 mrg 130 1.1 mrg 131 1.1 mrg # huge values 132 1.1 mrg + - 53 +inf 53 -inf 53 0x4580CBF242683p-3 53 -0x1B3E8A3660D279p-3 N N 133 1.1 mrg - - 53 -inf 53 -inf 53 -0x1B3E8A3660D279p-3 53 0x4580CBF242683p-3 N N 134