Home | History | Annotate | Line # | Download | only in tests
      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