octave-maintainers
[Top][All Lists]
Advanced

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

Re: imag () function detail regarding -0.0000


From: Max Brister
Subject: Re: imag () function detail regarding -0.0000
Date: Tue, 11 Sep 2012 19:26:42 -0600

On Tue, Sep 11, 2012 at 7:21 PM, Michael D Godfrey
<address@hidden> wrote:
> On 09/11/2012 08:53 PM, Daniel J Sebald wrote:
>
> On 09/11/2012 07:15 PM, Jordi GutiƩrrez Hermoso wrote:
>
> On 11 September 2012 20:00, Daniel J Sebald<address@hidden>  wrote:
>
> octave:59>  [1,-1,-0]'*i
> ans =
>
>     0 + 1i
>    -0 - 1i
>    -0 - 0i
>
> Is this proper behavior?  I would think
>
>
> There is no actual "i" in Octave. Instead, "i" is a function that
> returns the equivalent of std::complex<double>(0.0, 1.0). You can see
> this behaviour in other ways, e.g. inf*i giving NaNs.
>
> Matlab says:
> ans =
>
>         0 + 1.0000i
>         0 - 1.0000i
>         0
>
> For once, I go with Matlab.  -0 implies (as in ones-complement) there are 2
> representations of 0.  But, there are not in nearly all modern
> (twos-complement)
> machines.

IEEE 745 does have a signed zero. [1]

> Whatever causes -0 to be displayed should be fixed.
>

Yes, I don't think the negative sign conveys any extra information to the user.

[1] http://en.wikipedia.org/wiki/Floating_point#Signed_zero

-- 
Max Brister


reply via email to

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