Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Tue, 11 Feb 2020 23:51:51 +0800
From: "mg1633068" <songyue@...il.nju.edu.cn>
To: "musl" <musl@...ts.openwall.com>
Subject: casinh function accuracy problem

Hi everyone,
I'm writing testcases for complex math function. Considering the following simple code

#include <stdio.h>
#include <complex.h>
int main(int argc, char *argv[])
{
    double complex d = 3.0+6.6*I;
    double complex ret = casinh(d);
    printf("casinh(3.0+6.6*I)=%.15f+%.15f*I\n", creal(ret), cimag(ret));

    return 0;
}

With musl libc, the result is:
    casinh(3.0+6.6*I)=2.671002221994648+1.140551372972568*I
but with glibc, the result is:
    casinh(3.0+6.6*I)=2.671002221994652+1.140551372972565*I

We can see that musl is less accurate. I'm trying to solve this problem.
With little knowledge of numerical computing, any comment is appreciated!

Thank you in advance!

BR,
Song Yue

Powered by blists - more mailing lists

Your e-mail address:

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.