[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: R: Octave 3.1.55 available for ftp
From: |
Marco Atzeri |
Subject: |
Re: R: Octave 3.1.55 available for ftp |
Date: |
Sat, 28 Mar 2009 06:28:55 +0000 (GMT) |
--- Ven 27/3/09, Jaroslav Hajek ha scritto:
> Da: Jaroslav Hajek
> Oggetto: Re: R: Octave 3.1.55 available for ftp
> A: "Marco Atzeri"
> Cc: "octave maintainers mailing list" , "John W. Eaton"
> Data: Venerdì 27 marzo 2009, 20:51
> On Fri, Mar 27, 2009 at 4:43 PM,
> Marco Atzeri <address@hidden>
> wrote:
> >
> > --- Gio 26/3/09, John W. Eaton ha scritto:
> >
> >> Da: John W. Eaton
> >> Oggetto: Octave 3.1.55 available for ftp
> >> A: "octave maintainers mailing list" <address@hidden>
> >> Data: Giovedì 26 marzo 2009, 05:04
> >> A new snapshot of Octave is now
> >> available from ftp.octave.org in the
> >> directory /pub/octave/bleeding-edge:
> >
> >>
> >>
> >
> > Hi John,
> > I made the test on HG snapshot one day before 3.1.55,
> > so I assume it is almost the same:
> >
> > Built on Cygwin-1.7.0-44 latest (development)
> snapshot
> >
> > The fltk backend is built but the plot page
> > is full of garbage. I will investigate.
> >
> > For the rest:
> >
> > src/data.cc ............. PASS 502/509 FAIL 7
> > scripts/help/doc.m ...... PASS 0/1 FAIL 1
> > (this fault is due to Cygwin and should be
> solved in next
> > development snapshot)
> >
> >
> > Summary:
> >
> > PASS 5683
> > FAIL 8
> >
> > the data fails are related to Inf position in a sort
> >
> >
> >
> **********************************************************
> >>>>>> processing
> /pub/hg/octave_local/src/data.cc
> > ***** assert(log2(complex(0,Inf)), Inf + log2(i));
> > !!!!! test failed
> > assert (log2 (complex (0, Inf)),Inf + log2 (i))
> expected
> > Inf + 2.266i
> > but got
> > NaN + 2.266i
> > NaNs don't match ***** assert (sort ([NaN, 1i, -1,
> 2, Inf], "descend"), [NaN, Inf, 2, -1, 1i])
> > !!!!! test failed
> > assert (sort ([NaN, 1i, -1, 2, Inf], "descend"),[NaN,
> Inf, 2, -1, 1i]) expected
> > NaN + 0i Inf + 0i 2 + 0i -1
> + 0i 0 + 1i
> > but got
> > NaN + 0i 2 + 0i -1 + 0i 0
> + 1i Inf + 0i
> > Infs don't matchshared variables {
> > m2 =
> >
> > 1 2
> > 3 4
> >
> > flo = 0
> > fhi = Inf
> > }
> > ***** assert (sort ([NaN, 1i, -1, 2, Inf], 2,
> "descend"), [NaN, Inf, 2, -1, 1i])
> > !!!!! test failed
> > assert (sort ([NaN, 1i, -1, 2, Inf], 2,
> "descend"),[NaN, Inf, 2, -1, 1i]) expected
> > NaN + 0i Inf + 0i 2 + 0i -1
> + 0i 0 + 1i
> > but got
> > NaN + 0i 2 + 0i -1 + 0i 0
> + 1i Inf + 0i
> > Infs don't matchshared variables {
> > m2 =
> >
> > 1 2
> > 3 4
> >
> > flo = 0
> > fhi = Inf
> > }
> > ***** test
> > [v, i] = sort ([NaN, 1i, -1, Inf, 1, 1i]);
> > assert (v, [1, 1i, 1i, -1, Inf, NaN])
> > assert (i, [5, 2, 6, 3, 4, 1])
> > !!!!! test failed
> > assert (v,[1, 1i, 1i, -1, Inf, NaN]) expected
> > 1 + 0i 0 + 1i 0 + 1i
> -1 + 0i Inf + 0i NaN + 0i
> > but got
> > 0 + 1i -1 + 0i Inf + 0i 1
> + 0i 0 + 1i NaN + 0i
> > Infs don't matchshared variables {
> > m2 =
> >
> > 1 2
> > 3 4
> >
> > flo = 0
> > fhi = Inf
> > }
> > ***** assert (sort (single([NaN, 1i, -1, 2, Inf]),
> "descend"), single([NaN, Inf, 2, -1, 1i]))
> > !!!!! test failed
> > assert (sort (single ([NaN, 1i, -1, 2, Inf]),
> "descend"),single ([NaN, Inf, 2, -1, 1i])) expected
> > NaN + 0i Inf + 0i 2 + 0i -1
> + 0i 0 + 1i
> > but got
> > NaN + 0i 2 + 0i -1 + 0i 0
> + 1i Inf + 0i
> > Infs don't matchshared variables {
> > m2 =
> >
> > 1 2
> > 3 4
> >
> > flo = 0
> > fhi = Inf
> > }
> > ***** assert (sort (single([NaN, 1i, -1, 2, Inf]),
> 2, "descend"), single([NaN, Inf, 2, -1, 1i]))
> > !!!!! test failed
> > assert (sort (single ([NaN, 1i, -1, 2, Inf]), 2,
> "descend"),single ([NaN, Inf, 2, -1, 1i])) expected
> > NaN + 0i Inf + 0i 2 + 0i -1
> + 0i 0 + 1i
> > but got
> > NaN + 0i 2 + 0i -1 + 0i 0
> + 1i Inf + 0i
> > Infs don't matchshared variables {
> > m2 =
> >
> > 1 2
> > 3 4
> >
> > flo = 0
> > fhi = Inf
> > }
> > ***** test
> > [v, i] = sort (single([NaN, 1i, -1, Inf, 1, 1i]));
> > assert (v, single([1, 1i, 1i, -1, Inf, NaN]))
> > assert (i, [5, 2, 6, 3, 4, 1])
> > !!!!! test failed
> > assert (v,single ([1, 1i, 1i, -1, Inf, NaN]))
> expected
> > 1 + 0i 0 + 1i 0 + 1i
> -1 + 0i Inf + 0i NaN + 0i
> > but got
> > 0 + 1i -1 + 0i Inf + 0i 1
> + 0i 0 + 1i NaN + 0i
> > Infs don't matchshared variables {
> > m2 =
> >
> > 1 2
> > 3 4
> >
> > flo = 0
> > fhi = Inf
> > }
> >
> >
> **********************************************************
> >
> > Regards
> > Marco
> >
>
> Since I don't see those problems (and neither probably do
> most
> others), I can only make wild guesses that this may be a
> Cygwin gcc
> problem, especially if you compiled with gcc 3.
>
> I assume isnan works correctly when applied to the arrays
> used in the
> test? In that case, my wild guess is that gcc 3 is not
> correctly
> recognizing the sort_isnan specializations in Array-C.cc
> and
> Array-fC.cc.
>
> Does maybe the attached workaround fix the issue?
>
> cheers
>
> --
> RNDr. Jaroslav Hajek
Hi Jaroslav,
gcc-4.3.2
isnan is working, but it seems an issue related to
max/min when Inf is present in a complex number.
octave:10> a=1/0+i
warning: division by zero
a = Inf + 1i
octave:11> b=0/0+0i
warning: division by zero
b = NaN
octave:12> c=-1/0+2i
warning: division by zero
c = -Inf + 2i
octave:13> max([a,b,c,i])
ans = Inf + 1i
octave:14> min([a,b,c,i])
ans = Inf + 1i ????
octave:15> sort([a,b,c,i])
ans =
Inf + 1i -Inf + 2i 0 + 1i NaN + 0i
octave:21> min([b,c,a,i])
ans = -Inf + 2i
octave:22> max([b,c,a,i])
ans = -Inf + 2i
octave:16> isnan(a)
ans = 0
octave:17> isnan(b)
ans = 1
octave:18> isnan(c)
ans = 0
octave:19> isnan(i)
ans = 0
for real number the issue is not present
octave:1> a=1/0
warning: division by zero
a = Inf
octave:2> b=0/0
warning: division by zero
b = NaN
octave:3> isnan(b)
ans = 1
octave:4> isnan(a)
ans = 0
octave:5> max([a,b,1])
ans = Inf
octave:6> c=-1/0
warning: division by zero
c = -Inf
octave:7> max([a,b,c,1])
ans = Inf
octave:8> min([a,b,c,1])
ans = -Inf
octave:9> sort([a,b,c,1])
ans =
-Inf 1 Inf NaN
I doubt it is a sort problem.
Do you still need the test ?
I think the problem could be also here:
[b,c,a,i]
ans =
NaN + 0i -Inf + 2i Inf + 1i 0 + 1i
octave:30> abs([b,c,a,i])
ans =
NaN NaN NaN 1 ???
octave:31> abs(c)
ans = Inf look right
This problem does not exist in 3.0.3
octave:1>[1/0+i,-1/0-2i,i,0/0]
ans =
Inf + 1i -Inf - 2i 0 + 1i NaN + 0i
octave:2>abs([1/0+i,-1/0-2i,i,0/0])
ans =
Inf Inf 1 NaN
octave:3> sort([1/0+i,-1/0-2i,i,0/0])
ans =
0 + 1i -Inf - 2i Inf + 1i NaN + 0i
Regards
Marco