From: Josep i T. <jm...@pu...> - 2004-09-09 19:45:16
|
Hi! My computer finally finished building Octave 2.1.58 and Octave-forge and I run the tests. I noticed "error" tests don't work... is this only in my copy or is this a known issue? uintlut fails too because it compares 2 uint64 in an assert, which doesn't work. Try assert(uint64(1),uint64(1)). Should I comment out this test? Some days ago I send an email about test don't working ok for int* and uint* types (current test doesn't work for int* and uint* scalars, and doesn't fail if values in arrays differ), including a patch. I didn't commit it because I'm not 100% sure and this can break a lot of thing, specially now. Regards, --=20 Josep Mon=E9s i Teixidor Clau GnuPG: gpg --recv-keys 80E85CC4 |
From: David B. <Dav...@mo...> - 2004-09-10 08:57:57
Attachments:
changelog-int-double
patch.int_double
|
According to Josep Mon=E9s i Teixidor <jm...@pu...> (on 09/09/04= ): > Hi! >=20 > My computer finally finished building Octave 2.1.58 and Octave-forge an= d > I run the tests. >=20 > I noticed "error" tests don't work... is this only in my copy or is thi= s > a known issue? >=20 > uintlut fails too because it compares 2 uint64 in an assert, which > doesn't work. Try assert(uint64(1),uint64(1)). Should I comment out thi= s > test? This fails due to the fact that isnan and isinf in octave itself haven't been converted to accept int/uint args. Or rather the double_value() method doesn't exist in the integer method. You can see this with the test case octave:1> isnan(uint64(1)) error: octave_base_value::double_value (): wrong type argument `uint64 sc= alar' octave:2> isnan(uint64([1,1])) ans =3D 0 0 So the work around for 2.1.58 is to change your assert to assert(uint64([1,1]),uint64([1,1])). The really fix is to apply the attached patch. > Some days ago I send an email about test don't working ok for int* and > uint* types (current test doesn't work for int* and uint* scalars, and > doesn't fail if values in arrays differ), including a patch. I didn't > commit it because I'm not 100% sure and this can break a lot of thing, > specially now. Could you try the attached patch, it should probably address this issue too. D. --=20 David Bateman Dav...@mo... Motorola CRM +33 1 69 35 48 04 (Ph)=20 Parc Les Algorithmes, Commune de St Aubin +33 1 69 35 77 01 (Fax)=20 91193 Gif-Sur-Yvette FRANCE The information contained in this communication has been classified as:=20 [x] General Business Information=20 [ ] Motorola Internal Use Only=20 [ ] Motorola Confidential Proprietary |
From: John W. E. <jw...@be...> - 2004-09-10 14:58:03
|
On 10-Sep-2004, David Bateman <Dav...@mo...> wrote: | So the work around for 2.1.58 is to change your assert to | assert(uint64([1,1]),uint64([1,1])). The really fix is to apply the | attached patch. I applied this patch. Thanks, jwe |
From: Josep i T. <jm...@pu...> - 2004-09-14 19:38:08
|
Hi David! I apologize for the delay of my response... compiling Octave is sooo slow on my P2 :) On dv, 2004-09-10 at 10:54, David Bateman wrote: >=20 > octave:1> isnan(uint64(1)) > error: octave_base_value::double_value (): wrong type argument `uint64 sc= alar' > octave:2> isnan(uint64([1,1])) > ans =3D >=20 > 0 0 >=20 I've tested your patch on Octave CVS version from last friday (or thursday). It works for nan but I still have problems with test functions because of substraction not being implemented actually, but perhaps you already know this issue because I thing you and John were discussing how to implement operations on 64 bits types: octave:7> isnan(uint64(1)) ans =3D 0 octave:8> uint64(1)=3D=3Duint64(1) ans =3D 1 octave:9> uint64(1)-uint64(1) error: binary operator `-' not implemented for `uint64 scalar' by `uint64 scalar' operations error: evaluating binary operator `-' near line 9, column 10 octave:9> uint64(1)+uint64(1) error: binary operator `+' not implemented for `uint64 scalar' by `uint64 scalar' operations error: evaluating binary operator `+' near line 9, column 10 octave:9> assert(uint64(1),uint64(1)) error: binary operator `-' not implemented for `uint64 scalar' by `uint64 scalar' operations error: evaluating binary operator `-' near line 133, column 17 error: evaluating argument list element number 1 error: evaluating argument list element number 1 error: evaluating assignment expression near line 133, column 6 error: evaluating if command near line 132, column 7 error: evaluating if command near line 120, column 5 error: evaluating if command near line 58, column 3 error: called from `assert' in file `/home/josep/source/cvs/cvs.sourceforge.net/octave-forge/extra/testfun/asse= rt.m' I'll have to setup a cron job to compile Octave and octave-forge every night :) Regards --=20 Josep Mon=E9s i Teixidor Clau GnuPG: gpg --recv-keys 80E85CC4 |
From: David B. <Dav...@mo...> - 2004-09-15 08:05:46
Attachments:
patch.assert
|
According to Josep Mon=E9s i Teixidor <jm...@pu...> (on 09/14/04= ): > I've tested your patch on Octave CVS version from last friday (or > thursday). It works for nan but I still have problems with test > functions because of substraction not being implemented actually, but > perhaps you already know this issue because I thing you and John were > discussing how to implement operations on 64 bits types: >=20 > octave:9> uint64(1)-uint64(1) > error: binary operator `-' not implemented for `uint64 scalar' by > `uint64 scalar' operations > error: evaluating binary operator `-' near line 9, column 10 >=20 > octave:9> uint64(1)+uint64(1) > error: binary operator `+' not implemented for `uint64 scalar' by > `uint64 scalar' operations > error: evaluating binary operator `+' near line 9, column 10 Yes, they aren't implemented in octave or matlab R14 for that matter. > octave:9> assert(uint64(1),uint64(1)) > error: binary operator `-' not implemented for `uint64 scalar' by > `uint64 scalar' operations > error: evaluating binary operator `-' near line 133, column 17 > error: evaluating argument list element number 1 > error: evaluating argument list element number 1 > error: evaluating assignment expression near line 133, column 6 > error: evaluating if command near line 132, column 7 > error: evaluating if command near line 120, column 5 > error: evaluating if command near line 58, column 3 > error: called from `assert' in file > `/home/josep/source/cvs/cvs.sourceforge.net/octave-forge/extra/testfun/= assert.m' Ok this is a bug in assert.m, as it shouldn't try to do a subtraction when the tolerance is zero. Rather it should do a compare.... I'd=20 suggest a patch like, that attached. I haven't committed it however as its upto Paul to decide what he whats done in this case. Cheers David >=20 >=20 >=20 > I'll have to setup a cron job to compile Octave and octave-forge every > night :) >=20 > Regards >=20 > --=20 > Josep Mon=E9s i Teixidor > Clau GnuPG: gpg --recv-keys 80E85CC4 --=20 David Bateman Dav...@mo... Motorola CRM +33 1 69 35 48 04 (Ph)=20 Parc Les Algorithmes, Commune de St Aubin +33 1 69 35 77 01 (Fax)=20 91193 Gif-Sur-Yvette FRANCE The information contained in this communication has been classified as:=20 [x] General Business Information=20 [ ] Motorola Internal Use Only=20 [ ] Motorola Confidential Proprietary |
From: Stefan v. d. W. <st...@su...> - 2004-09-15 10:15:45
|
On Tue, Sep 14, 2004 at 09:39:50PM +0200, Josep Mon?s i Teixidor wrote: > Hi David! > > I apologize for the delay of my response... compiling Octave is sooo > slow on my P2 :) I have recently discovered the joys of distributed compiling! Brought my compile time down from half an hour to about 5 :) Regards Stefan |