octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #44310] log and functions which use log return


From: Michael Godfrey
Subject: [Octave-bug-tracker] [bug #44310] log and functions which use log return incorrect result
Date: Wed, 25 Feb 2015 22:40:46 +0000
User-agent: Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0

Follow-up Comment #5, bug #44310 (project octave):

I left out what I meant to include "below"
That is:

++
#include <stdio.h>
#include <complex.h>
#include <math.h>

int main(void)
{
    float complex z = catanh(0-10i);
    printf("catanh(0-10i) = %e%+ein", creal(z), cimag(z));
 
    double complex x  = (0-10i);
    double complex xm = (1.0 - x);
    double complex xp = (1.0 + x);
    double complex an = clog(xp/xm)/2.0;
    long double complex anl = clogl(xp/xm)/2.0;
    double complex ans   = (clog(xp) - clog(xm))/2.0;
    printf("catanh (an)  =  %e%+ein", creal(an), cimag(an));
    printf("catanh (anl) =  %e%+ein", creal(anl), cimag(anl));
    printf("catanh (ans) =  %e%+ein", creal(ans), cimag(ans));
}
which gives:
catanh(0-10i) = 0.000000e+00-1.471128e+00i
catanh (an)  =  4.671731e-17-1.471128e+00i
catanh (anl) =  4.671731e-17-1.471128e+00i
catanh (ans) =  0.000000e+00-1.471128e+00i
--
This shows that clog(xp) - clog(xm) yields a different
and correct answer instead of clog(xp/xm)


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?44310>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]