This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug math/11521] New: Ctanh Returns Incorrect Values


ctanh returns incorrect values.  Code below.

Build test-tanh: gcc test-tanh.c -o test-tanh -lm

./test-tanh-c 711
libc version 2.10.1
libc release stable
arg        = 7.110000e+02 + 7.110000e+02 * i
sinh (arg) = inf + inf * i
cosh (arg) = inf + inf * i
s/c         = nan + nan * i   (should be 1 + 0 * i)
tanh (arg) = 0.000000e+00 + 0.000000e+00 * i   (should be 1 + 0 * i)

==== test-tanh.c ========================================
#include <math.h>
#include <complex.h>
#include <stdio.h>
#define _GNU_SOURCE
#include <gnu/libc-version.h>

int main (int argc, char **argv)
{
  long double complex arg = 1 + _Complex_I;
  long double complex s, c, r, t;
  long mult;
  if (argc == 2) {
	mult = atol(argv[1]);
  } else {
	mult = 50000L;
  }

  arg *= mult;
  
  s = csinh (arg);
  c = ccosh (arg);
  r = s / c;
  t = ctanh (arg);
  
  printf ("libc version %s\n", gnu_get_libc_version ());
  printf ("libc release %s\n", gnu_get_libc_release ());
  printf ("arg        = %e + %e * i\n", creal (arg), cimag
		  (arg));
  printf ("sinh (arg) = %e + %e * i\n",
		  creal (s), cimag (s));
  printf ("cosh (arg) = %e + %e * i\n",
		  creal (c), cimag (c));
  printf("s/c         = %e + %e * i   (should be 1 + 0 * i)\n",
		 creal (r), cimag (r));
  printf ("tanh (arg) = %e + %e * i   (should be 1 + 0 * i)\n",
		  creal (t), cimag (t));
    
  return 0;
}

-- 
           Summary: Ctanh Returns Incorrect Values
           Product: glibc
           Version: 2.10
            Status: NEW
          Severity: normal
          Priority: P2
         Component: math
        AssignedTo: aj at suse dot de
        ReportedBy: tomdean at speakeasy dot org
                CC: glibc-bugs at sources dot redhat dot com,tomdean at
                    speakeasy dot org
  GCC host triplet: ubuntu 9.10
GCC target triplet: ubuntu 9.10


http://sourceware.org/bugzilla/show_bug.cgi?id=11521

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]