<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:www.nabble.com,2006:forum-1896</id>
	<title>Nabble - Octave - Bugs</title>
	<updated>2008-10-10T11:05:06Z</updated>
	<link rel="self" type="application/atom+xml" href="http://www.nabble.com/Octave---Bugs-f1896.xml" />
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Octave---Bugs-f1896.html" />
	<subtitle type="html"></subtitle>
	
<entry>
	<id>tag:www.nabble.com,2006:post-19923191</id>
	<title>Re: octave-3.0.2: compilation error csparse.cc</title>
	<published>2008-10-10T11:05:06Z</published>
	<updated>2008-10-10T11:05:06Z</updated>
	<author>
		<name>JuergenNeubauer</name>
	</author>
	<content type="html">&lt;br&gt;Dear Jaroslav,
&lt;br&gt;&lt;br&gt;thanks for your help.
&lt;br&gt;&lt;br&gt;I applied the patch but the compilation error message is still the same.
&lt;br&gt;&lt;br&gt;Shouldn't the Csparse.cc file also be changed because the compilation error appears there?
&lt;br&gt;&lt;br&gt;Please advice.
&lt;br&gt;&lt;br&gt;Best,
&lt;br&gt;&lt;br&gt;Ciao, Juergen
&lt;br&gt;&lt;br&gt;Apparently there has been a subtle API change in SuiteSparse between
&lt;br&gt;3.1 and 3.2. I believe the attached patch should solve the problem. I
&lt;br&gt;pushed this to the development sources; if nobody reports a compiler
&lt;br&gt;choking on this (IMHO it's standard C++, but a subtle issue), I'll
&lt;br&gt;transplant this into 3-0-x, so that it will appear in 3.0.4.
&lt;br&gt;&lt;br&gt;regards
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;RNDr. Jaroslav Hajek
&lt;br&gt;computing expert
&lt;br&gt;Aeronautical Research and Test Institute (VZLU)
&lt;br&gt;Prague, Czech Republic
&lt;br&gt;url: www.highegg.matfyz.cz
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/octave-3.0.2%3A-compilation-error-csparse.cc-tp19910718p19923191.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19919941</id>
	<title>Re: octave-3.0.2: compilation error csparse.cc</title>
	<published>2008-10-10T07:51:02Z</published>
	<updated>2008-10-10T07:51:02Z</updated>
	<author>
		<name>Jaroslav Hajek-2</name>
	</author>
	<content type="html">On Fri, Oct 10, 2008 at 4:18 AM, JuergenNeubauer
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19919941&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jneubauer@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I get an error during compilation of octave-3.0.2.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Architecture: Linux localhost.localdomain 2.6.18-92.1.13.el5 #1 SMP Wed Sep
&lt;br&gt;&amp;gt; 24 16:44:34 EDT 2008 i686 i686 i386 GNU/Linux
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; gcc: version 4.1.2
&lt;br&gt;&amp;gt; g++: version 4.1.2
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; make[2]: Entering directory `/opt/octave/octave-3.0.2/liboctave'
&lt;br&gt;&amp;gt; g++ -c -I/usr/include/suitesparse &amp;nbsp;-fPIC -I. -I.. -I../liboctave -I../src
&lt;br&gt;&amp;gt; -I../libcruft/misc &amp;nbsp;-DHAVE_CONFIG_H -mieee-fp -Wall -W -Wshadow
&lt;br&gt;&amp;gt; -Wold-style-cast -g -O2 CSparse.cc -o pic/CSparse.o
&lt;br&gt;&amp;gt; CSparse.cc: In member function 'ComplexMatrix
&lt;br&gt;&amp;gt; SparseComplexMatrix::fsolve(MatrixType&amp;, const Matrix&amp;, octave_idx_type&amp;,
&lt;br&gt;&amp;gt; double&amp;, void (*)(double), bool) const':
&lt;br&gt;&amp;gt; CSparse.cc:5769: error: invalid conversion from 'void (*)(int, char*, int,
&lt;br&gt;&amp;gt; char*)' to 'void (*)(int, const char*, int, const char*)'
&lt;br&gt;&amp;gt; CSparse.cc: In member function 'SparseComplexMatrix
&lt;br&gt;&amp;gt; SparseComplexMatrix::fsolve(MatrixType&amp;, const SparseMatrix&amp;,
&lt;br&gt;&amp;gt; octave_idx_type&amp;, double&amp;, void (*)(double), bool) const':
&lt;br&gt;&amp;gt; CSparse.cc:6012: error: invalid conversion from 'void (*)(int, char*, int,
&lt;br&gt;&amp;gt; char*)' to 'void (*)(int, const char*, int, const char*)'
&lt;br&gt;&amp;gt; CSparse.cc: In member function 'ComplexMatrix
&lt;br&gt;&amp;gt; SparseComplexMatrix::fsolve(MatrixType&amp;, const ComplexMatrix&amp;,
&lt;br&gt;&amp;gt; octave_idx_type&amp;, double&amp;, void (*)(double), bool) const':
&lt;br&gt;&amp;gt; CSparse.cc:6303: error: invalid conversion from 'void (*)(int, char*, int,
&lt;br&gt;&amp;gt; char*)' to 'void (*)(int, const char*, int, const char*)'
&lt;br&gt;&amp;gt; CSparse.cc: In member function 'SparseComplexMatrix
&lt;br&gt;&amp;gt; SparseComplexMatrix::fsolve(MatrixType&amp;, const SparseComplexMatrix&amp;,
&lt;br&gt;&amp;gt; octave_idx_type&amp;, double&amp;, void (*)(double), bool) const':
&lt;br&gt;&amp;gt; CSparse.cc:6525: error: invalid conversion from 'void (*)(int, char*, int,
&lt;br&gt;&amp;gt; char*)' to 'void (*)(int, const char*, int, const char*)'
&lt;br&gt;&amp;gt; make[2]: *** [pic/CSparse.o] Error 1
&lt;br&gt;&amp;gt; make[2]: Leaving directory `/opt/octave/octave-3.0.2/liboctave'
&lt;br&gt;&amp;gt; make[1]: *** [liboctave] Error 2
&lt;br&gt;&amp;gt; make[1]: Leaving directory `/opt/octave/octave-3.0.2'
&lt;br&gt;&amp;gt; make: *** [all] Error 2
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I attached the config.log here:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/file/p19910718/config.log&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/file/p19910718/config.log&lt;/a&gt;&amp;nbsp;config.log
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I need help to resolve this issue. Please let me know if you need more
&lt;br&gt;&amp;gt; information.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks for your help and advice.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Ciao, Juergen
&lt;br&gt;&amp;gt; --
&lt;/div&gt;&lt;br&gt;Apparently there has been a subtle API change in SuiteSparse between
&lt;br&gt;3.1 and 3.2. I believe the attached patch should solve the problem. I
&lt;br&gt;pushed this to the development sources; if nobody reports a compiler
&lt;br&gt;choking on this (IMHO it's standard C++, but a subtle issue), I'll
&lt;br&gt;transplant this into 3-0-x, so that it will appear in 3.0.4.
&lt;br&gt;&lt;br&gt;regards
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;RNDr. Jaroslav Hajek
&lt;br&gt;computing expert
&lt;br&gt;Aeronautical Research and Test Institute (VZLU)
&lt;br&gt;Prague, Czech Republic
&lt;br&gt;url: www.highegg.matfyz.cz
&lt;br&gt;&lt;br&gt;# HG changeset patch
&lt;br&gt;# User Jaroslav Hajek &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19919941&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;highegg@...&lt;/a&gt;&amp;gt;
&lt;br&gt;# Date 1223649861 -7200
&lt;br&gt;# Node ID 60b4c75287a13ed3a16e414c466802c2549ba93c
&lt;br&gt;# Parent &amp;nbsp;0168d22e6bba2c24342079e49cc65a9a3afef693
&lt;br&gt;fix for SuiteSparse 3.2
&lt;br&gt;&lt;br&gt;diff --git a/liboctave/ChangeLog b/liboctave/ChangeLog
&lt;br&gt;--- a/liboctave/ChangeLog
&lt;br&gt;+++ b/liboctave/ChangeLog
&lt;br&gt;@@ -0,0 +1,6 @@
&lt;br&gt;+2008-10-10 &amp;nbsp;Jaroslav Hajek &amp;nbsp;&amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19919941&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;highegg@...&lt;/a&gt;&amp;gt;
&lt;br&gt;+
&lt;br&gt;+	* sparse-util.h (SparseCholPrint): Change char * argument to const
&lt;br&gt;+	char *.
&lt;br&gt;+	* sparse-util.cc (SparseCholPrint): Likewise.
&lt;br&gt;+
&lt;br&gt;diff --git a/liboctave/sparse-util.cc b/liboctave/sparse-util.cc
&lt;br&gt;--- a/liboctave/sparse-util.cc
&lt;br&gt;+++ b/liboctave/sparse-util.cc
&lt;br&gt;@@ -30,8 +30,15 @@
&lt;br&gt;&amp;nbsp;#include &amp;quot;lo-error.h&amp;quot;
&lt;br&gt;&amp;nbsp;#include &amp;quot;sparse-util.h&amp;quot;
&lt;br&gt;&lt;br&gt;+// FIXME this overload is here due to API change in SuiteSparse (3.1 -&amp;gt; 3.2)
&lt;br&gt;&amp;nbsp;void
&lt;br&gt;&amp;nbsp;SparseCholError (int status, char *file, int line, char *message)
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp;SparseCholError (status, file, line, message);
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+void
&lt;br&gt;+SparseCholError (int status, const char *file, int line, const char *message)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp;(*current_liboctave_warning_handler)(&amp;quot;warning %i, at line %i in file %s&amp;quot;,
&lt;br&gt;&amp;nbsp;				 &amp;nbsp; &amp;nbsp; status, line, file);
&lt;br&gt;diff --git a/liboctave/sparse-util.h b/liboctave/sparse-util.h
&lt;br&gt;--- a/liboctave/sparse-util.h
&lt;br&gt;+++ b/liboctave/sparse-util.h
&lt;br&gt;@@ -24,7 +24,11 @@
&lt;br&gt;&amp;nbsp;#if !defined (octave_sparse_util_h)
&lt;br&gt;&amp;nbsp;#define octave_sparse_util_h 1
&lt;br&gt;&lt;br&gt;-extern OCTAVE_API void SparseCholError (int status, char *file, int
&lt;br&gt;line, char *message);
&lt;br&gt;+// FIXME this overload is here due to API change in SuiteSparse (3.1 -&amp;gt; 3.2)
&lt;br&gt;+extern OCTAVE_API void SparseCholError (int status, char *file,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int line, char *message);
&lt;br&gt;+extern OCTAVE_API void SparseCholError (int status, const char *file,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int line, const char *message);
&lt;br&gt;&amp;nbsp;extern OCTAVE_API int SparseCholPrint (const char *fmt, ...);
&lt;br&gt;&lt;br&gt;&amp;nbsp;#endif
&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19919941&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/octave-3.0.2%3A-compilation-error-csparse.cc-tp19910718p19919941.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19917984</id>
	<title>Re: io package, dlmread</title>
	<published>2008-10-10T06:05:50Z</published>
	<updated>2008-10-10T06:05:50Z</updated>
	<author>
		<name>k.kamal</name>
	</author>
	<content type="html">hi,
&lt;br&gt;&lt;br&gt;I have a problem with io package, and dlmread
&lt;br&gt;i want to use dlmread, but i don't find it in the /usr/share/octave/2.1.57/m/io directory
&lt;br&gt;&lt;br&gt;do any one know from where the problem comes?</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/io-package%2C-dlmread-tp13796165p19917984.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19914912</id>
	<title>Re: seperate multiple filenames by non-space character in pkg.m</title>
	<published>2008-10-10T02:20:12Z</published>
	<updated>2008-10-10T02:20:12Z</updated>
	<author>
		<name>Jaroslav Hajek-2</name>
	</author>
	<content type="html">On Thu, Oct 2, 2008 at 9:02 PM, John W. Eaton &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19914912&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jwe@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On &amp;nbsp;2-Oct-2008, John W. Eaton wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; | Shouldn't we also do the same thing for the .m files? &amp;nbsp;Should we try
&lt;br&gt;&amp;gt; | to avoid putting a trailing colon at the end of filenames?
&lt;br&gt;&amp;gt; |
&lt;br&gt;&amp;gt; | Or, instead of
&lt;br&gt;&amp;gt; |
&lt;br&gt;&amp;gt; | &amp;nbsp; m = dir (fullfile (src, &amp;quot;*.m&amp;quot;));
&lt;br&gt;&amp;gt; | &amp;nbsp; oct = dir (fullfile (src, &amp;quot;*.oct&amp;quot;));
&lt;br&gt;&amp;gt; | &amp;nbsp; mex = dir (fullfile (src, &amp;quot;*.mex&amp;quot;));
&lt;br&gt;&amp;gt; | &amp;nbsp; archdependent = &amp;quot;&amp;quot;;
&lt;br&gt;&amp;gt; | &amp;nbsp; archindependent = &amp;quot;&amp;quot;;
&lt;br&gt;&amp;gt; | &amp;nbsp; filenames = &amp;quot;&amp;quot;;
&lt;br&gt;&amp;gt; | &amp;nbsp; if (length (m) &amp;gt; 0)
&lt;br&gt;&amp;gt; | &amp;nbsp; &amp;nbsp; filenames = sprintf (fullfile (src, &amp;quot;%s &amp;quot;), m.name);
&lt;br&gt;&amp;gt; | &amp;nbsp; endif
&lt;br&gt;&amp;gt; | &amp;nbsp; if (length (oct) &amp;gt; 0)
&lt;br&gt;&amp;gt; | &amp;nbsp; &amp;nbsp; filenames = cstrcat (filenames, &amp;quot; &amp;quot;,
&lt;br&gt;&amp;gt; | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sprintf (fullfile (src, &amp;quot;%s &amp;quot;), oct.name));
&lt;br&gt;&amp;gt; | &amp;nbsp; endif
&lt;br&gt;&amp;gt; | &amp;nbsp; if (length (mex) &amp;gt; 0)
&lt;br&gt;&amp;gt; | &amp;nbsp; &amp;nbsp; filenames = cstrcat (filenames, &amp;quot; &amp;quot;,
&lt;br&gt;&amp;gt; | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sprintf (fullfile (src, &amp;quot;%s &amp;quot;), mex.name));
&lt;br&gt;&amp;gt; | &amp;nbsp; endif
&lt;br&gt;&amp;gt; | &amp;nbsp; filenames = split_by (filenames, &amp;quot; &amp;quot;);
&lt;br&gt;&amp;gt; |
&lt;br&gt;&amp;gt; | maybe we could simplify all of this by doing something like
&lt;br&gt;&amp;gt; |
&lt;br&gt;&amp;gt; | &amp;nbsp; m = dir (fullfile (src, &amp;quot;*.m&amp;quot;));
&lt;br&gt;&amp;gt; | &amp;nbsp; oct = dir (fullfile (src, &amp;quot;*.oct&amp;quot;));
&lt;br&gt;&amp;gt; | &amp;nbsp; mex = dir (fullfile (src, &amp;quot;*.mex&amp;quot;));
&lt;br&gt;&amp;gt; |
&lt;br&gt;&amp;gt; | &amp;nbsp; ## FIXME -- we should not need the tests on size here, but there is
&lt;br&gt;&amp;gt; | &amp;nbsp; ## a bug in concatenation with { } when an expression like oct.name
&lt;br&gt;&amp;gt; | &amp;nbsp; ## produces nothing.
&lt;br&gt;&amp;gt; |
&lt;br&gt;&amp;gt; | &amp;nbsp; if (isempty (m)) mnames = { }; else mnames = { m.name }; endif
&lt;br&gt;&amp;gt; | &amp;nbsp; if (isempty (oct)) octnames = { }; else octnames = { oct.name }; endif
&lt;br&gt;&amp;gt; | &amp;nbsp; if (isempty (mex)) mexnames = { }; else mexnames = { mex.name }; endif
&lt;br&gt;&amp;gt; |
&lt;br&gt;&amp;gt; | &amp;nbsp; filenames = cellfun (@(x) fullfile (src, x), [mnames, octnames, mexnames],
&lt;br&gt;&amp;gt; | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;UniformOutput&amp;quot;, false);
&lt;br&gt;&amp;gt; |
&lt;br&gt;&amp;gt; | Of course this could be further simplified if the bug is fixed, so I'll
&lt;br&gt;&amp;gt; | take a look at doing that.
&lt;br&gt;&amp;gt; |
&lt;br&gt;&amp;gt; | Also, why are archdependent and archindependent even set in this
&lt;br&gt;&amp;gt; | block? &amp;nbsp;They appear to be set unconditionally just below.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I checked in a bug fix so now things like
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;x = dir (&amp;quot;nonexistent-file&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp;{x.name}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; does the right thing and produces an empty cell array instead of a
&lt;br&gt;&amp;gt; cell array containing an undefined value.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Then I also checked in a fix for pkg.m as outlined above (but without
&lt;br&gt;&amp;gt; the isempty checks).
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;I transplanted both of them to 3.0.x.
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;RNDr. Jaroslav Hajek
&lt;br&gt;computing expert
&lt;br&gt;Aeronautical Research and Test Institute (VZLU)
&lt;br&gt;Prague, Czech Republic
&lt;br&gt;url: www.highegg.matfyz.cz
&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19914912&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/seperate-multiple-filenames-by-non-space-character-in-pkg.m-tp19747233p19914912.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19914837</id>
	<title>Re: quote directory names in pkg.m</title>
	<published>2008-10-10T02:14:56Z</published>
	<updated>2008-10-10T02:14:56Z</updated>
	<author>
		<name>Jaroslav Hajek-2</name>
	</author>
	<content type="html">On Thu, Oct 2, 2008 at 7:26 PM, John W. Eaton &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19914837&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jwe@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On &amp;nbsp;2-Oct-2008, Benjamin Lindner wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; | Benjamin Lindner wrote:
&lt;br&gt;&amp;gt; | &amp;gt; Hello,
&lt;br&gt;&amp;gt; | &amp;gt;
&lt;br&gt;&amp;gt; | &amp;gt; Using the package manager in octave 3.0.2 to install forge-packages
&lt;br&gt;&amp;gt; | &amp;gt; currently fails in win32 if the directories used in the build process
&lt;br&gt;&amp;gt; | &amp;gt; contain spaces (like TMP does by default on win32).
&lt;br&gt;&amp;gt; | &amp;gt;
&lt;br&gt;&amp;gt; | &amp;gt; The attached patch fixes this
&lt;br&gt;&amp;gt; |
&lt;br&gt;&amp;gt; | I realized, I should have attached a changeset against current HG
&lt;br&gt;&amp;gt; | sources, sorry.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I applied this change.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Your ChangeLog entry shoudl have been added to the scripts/ChangeLog file.
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;I transplanted it to 3.0.x.
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;RNDr. Jaroslav Hajek
&lt;br&gt;computing expert
&lt;br&gt;Aeronautical Research and Test Institute (VZLU)
&lt;br&gt;Prague, Czech Republic
&lt;br&gt;url: www.highegg.matfyz.cz
&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19914837&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/quote-directory-names-in-pkg.m-tp19747137p19914837.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19918849</id>
	<title>Re: [OctDev] A Bug in Octave-OdePkg</title>
	<published>2008-10-09T19:49:28Z</published>
	<updated>2008-10-09T19:49:28Z</updated>
	<author>
		<name>Wang Long</name>
	</author>
	<content type="html">On Wed, 2008-10-08 at 21:33 +0200, Thomas Treichl wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Wang Long schrieb:
&lt;br&gt;&amp;gt; &amp;gt; Hi Thomas,
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Thank you very much in helping me with this problem! The solution in
&lt;br&gt;&amp;gt; &amp;gt; your email solved the problem I mentioned before, but when I tried some
&lt;br&gt;&amp;gt; &amp;gt; other t_in's, for example,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; t_in_2=[0.00 0.10 0.23 0.38 0.63 1.21 1.97];
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; t_in_3=[0.00 0.03 0.05 0.11 0.17 0.25 0.38 0.47 0.68 0.91 1.38 1.98];
&lt;br&gt;&amp;gt; &amp;gt; it seems that the same problem comes out again in the 0.6.0 release of
&lt;br&gt;&amp;gt; &amp;gt; odepkg :( &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; I examined the improper t_out's, and found that every element in them is
&lt;br&gt;&amp;gt; &amp;gt; identical to t_in's, respectively, except those at ``t_out(end-1)'',
&lt;br&gt;&amp;gt; &amp;gt; which is created by ode45. Therefore, can we simply make ode45 check the
&lt;br&gt;&amp;gt; &amp;gt; length of t_out, and delete certain elements of t_out (and ``y'', of
&lt;br&gt;&amp;gt; &amp;gt; course) if the length of t_out is larger than t_in?
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Thanks!
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Regards,
&lt;br&gt;&amp;gt; &amp;gt; Wang Long
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Hi Wang,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; there seems to be another problem in the 0.6.0 solver file(s), I can't see that 
&lt;br&gt;&amp;gt; with the current sources. I'll send you a snapshot of the latest solver files 
&lt;br&gt;&amp;gt; offside this mailing list in a few minutes (because of the sizes of these 
&lt;br&gt;&amp;gt; files). Please try once again with these files...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Thomas
&lt;/div&gt;&lt;br&gt;Hi Thomas,
&lt;br&gt;&lt;br&gt;The problem was solved by the snapshot of latest version, thank you very
&lt;br&gt;much!
&lt;br&gt;&lt;br&gt;At first, your latest snapshot of ode45, ode78 and other ode-solvers
&lt;br&gt;does not work at all but complained:
&lt;br&gt;&amp;nbsp; &amp;nbsp;error: structure has no member `OutputSave'
&lt;br&gt;&amp;nbsp; &amp;nbsp;error: evaluating argument list element number 1
&lt;br&gt;&amp;nbsp; &amp;nbsp;error: if: error evaluating conditional expression
&lt;br&gt;&amp;nbsp; &amp;nbsp;error: evaluating if command near line 166, column 3
&lt;br&gt;&amp;nbsp; &amp;nbsp;error: called from `ode45' in file `ode45.m'
&lt;br&gt;&lt;br&gt;I think this is due to the mismatch between `odeset' version 0.6.0 and
&lt;br&gt;the latest snapshot. Then I downloaded the latest version (0.6.4) of
&lt;br&gt;odepkg released at &lt;a href=&quot;http://octave.sf.net/odepkg/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://octave.sf.net/odepkg/&lt;/a&gt;&amp;nbsp;and tried with my
&lt;br&gt;t_in's, only got another error:
&lt;br&gt;&amp;nbsp; &amp;nbsp;Solving has not been successful. The iterative integration 
&lt;br&gt;&amp;nbsp; &amp;nbsp;loop exited at time t = 1.470000 before endpoint at 
&lt;br&gt;&amp;nbsp; &amp;nbsp;tend = 1.780000 was reached. &amp;nbsp;This may happen if the 
&lt;br&gt;&amp;nbsp; &amp;nbsp;stepsize grows smaller than defined in vminstepsize. Try 
&lt;br&gt;&amp;nbsp; &amp;nbsp;to reduce the value of &amp;quot;InitialStep&amp;quot; and/or &amp;quot;MaxStep&amp;quot; with 
&lt;br&gt;&amp;nbsp; &amp;nbsp;the command &amp;quot;odeset&amp;quot;.
&lt;br&gt;&lt;br&gt;Fortunately, everything works after the ode45 and other ode-solvers in
&lt;br&gt;odepkg version 0.6.4 were overwritten with your latest version. Thank
&lt;br&gt;you for your continuously help!
&lt;br&gt;&lt;br&gt;Best wishes and regards!
&lt;br&gt;&lt;br&gt;Wang Long
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19918849&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/A-Bug-in-Octave-OdePkg-tp19723309p19918849.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19910718</id>
	<title>octave-3.0.2: compilation error csparse.cc</title>
	<published>2008-10-09T19:18:13Z</published>
	<updated>2008-10-09T19:18:13Z</updated>
	<author>
		<name>JuergenNeubauer</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;I get an error during compilation of octave-3.0.2.
&lt;br&gt;&lt;br&gt;Architecture: Linux localhost.localdomain 2.6.18-92.1.13.el5 #1 SMP Wed Sep 24 16:44:34 EDT 2008 i686 i686 i386 GNU/Linux
&lt;br&gt;&lt;br&gt;gcc: version 4.1.2
&lt;br&gt;g++: version 4.1.2
&lt;br&gt;&lt;br&gt;make[2]: Entering directory `/opt/octave/octave-3.0.2/liboctave'
&lt;br&gt;g++ -c -I/usr/include/suitesparse &amp;nbsp;-fPIC -I. -I.. -I../liboctave -I../src -I../libcruft/misc &amp;nbsp;-DHAVE_CONFIG_H -mieee-fp -Wall -W -Wshadow -Wold-style-cast -g -O2 CSparse.cc -o pic/CSparse.o
&lt;br&gt;CSparse.cc: In member function ‘ComplexMatrix SparseComplexMatrix::fsolve(MatrixType&amp;, const Matrix&amp;, octave_idx_type&amp;, double&amp;, void (*)(double), bool) const’:
&lt;br&gt;CSparse.cc:5769: error: invalid conversion from ‘void (*)(int, char*, int, char*)’ to ‘void (*)(int, const char*, int, const char*)’
&lt;br&gt;CSparse.cc: In member function ‘SparseComplexMatrix SparseComplexMatrix::fsolve(MatrixType&amp;, const SparseMatrix&amp;, octave_idx_type&amp;, double&amp;, void (*)(double), bool) const’:
&lt;br&gt;CSparse.cc:6012: error: invalid conversion from ‘void (*)(int, char*, int, char*)’ to ‘void (*)(int, const char*, int, const char*)’
&lt;br&gt;CSparse.cc: In member function ‘ComplexMatrix SparseComplexMatrix::fsolve(MatrixType&amp;, const ComplexMatrix&amp;, octave_idx_type&amp;, double&amp;, void (*)(double), bool) const’:
&lt;br&gt;CSparse.cc:6303: error: invalid conversion from ‘void (*)(int, char*, int, char*)’ to ‘void (*)(int, const char*, int, const char*)’
&lt;br&gt;CSparse.cc: In member function ‘SparseComplexMatrix SparseComplexMatrix::fsolve(MatrixType&amp;, const SparseComplexMatrix&amp;, octave_idx_type&amp;, double&amp;, void (*)(double), bool) const’:
&lt;br&gt;CSparse.cc:6525: error: invalid conversion from ‘void (*)(int, char*, int, char*)’ to ‘void (*)(int, const char*, int, const char*)’
&lt;br&gt;make[2]: *** [pic/CSparse.o] Error 1
&lt;br&gt;make[2]: Leaving directory `/opt/octave/octave-3.0.2/liboctave'
&lt;br&gt;make[1]: *** [liboctave] Error 2
&lt;br&gt;make[1]: Leaving directory `/opt/octave/octave-3.0.2'
&lt;br&gt;make: *** [all] Error 2
&lt;br&gt;&lt;br&gt;I attached the config.log here: &lt;a href=&quot;http://www.nabble.com/file/p19910718/config.log&quot; target=&quot;_top&quot;&gt;config.log&lt;/a&gt;&lt;br&gt;&lt;br&gt;I need help to resolve this issue. Please let me know if you need more information.
&lt;br&gt;&lt;br&gt;Thanks for your help and advice.
&lt;br&gt;&lt;br&gt;Ciao, Juergen</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/octave-3.0.2%3A-compilation-error-csparse.cc-tp19910718p19910718.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19903726</id>
	<title>Re: plot with gnuplot and scite</title>
	<published>2008-10-09T10:38:23Z</published>
	<updated>2008-10-09T10:38:23Z</updated>
	<author>
		<name>michael714</name>
	</author>
	<content type="html">&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;SUBE Samuel wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message&quot;&gt;When i use Scite to execute a octave script, &amp;quot;go&amp;quot; command, the plot
&lt;br&gt;disappear after around one second.
&lt;br&gt;I use octave 3 under windows XP installed using the windows setup file
&lt;br&gt;named &amp;quot;octave-3.0.0-setup.exe&amp;quot;.
&lt;br&gt;I choose Gnuplot and i launch Scite with &amp;quot;Edit&amp;quot; command.
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
Just add the &amp;quot;pause;&amp;quot; command at the end of your matlab/octave script and the screen will stay up until you hit a key. &amp;nbsp;Enjoy!</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/plot-with-gnuplot-and-scite-tp15483400p19903726.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19884446</id>
	<title>Re: fileparts / fullfile inconsistency</title>
	<published>2008-10-08T11:10:55Z</published>
	<updated>2008-10-08T11:10:55Z</updated>
	<author>
		<name>John W. Eaton</name>
	</author>
	<content type="html">On &amp;nbsp;3-Oct-2008, Søren Hauberg wrote:
&lt;br&gt;&lt;br&gt;| fre, 03 10 2008 kl. 16:25 +0200, skrev Francesco Potorti`:
&lt;br&gt;| &amp;gt; octave&amp;gt; [a b c]=fileparts(&amp;quot;/file.ext&amp;quot;), fullfile(a,[b c])
&lt;br&gt;| &amp;gt; a = 
&lt;br&gt;| &amp;gt; b = file
&lt;br&gt;| &amp;gt; c = .ext
&lt;br&gt;| &amp;gt; ans = file.ext
&lt;br&gt;| 
&lt;br&gt;| Matlab sets a = '/' here, which I guess makes sense. So, I'd say this is a bug in Octave.
&lt;br&gt;&lt;br&gt;I checked in the following changes.
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;&lt;br&gt;jwe
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19884446&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/fileparts---fullfile-inconsistency-tp19798884p19884446.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19873049</id>
	<title>Re: test failures</title>
	<published>2008-10-07T23:04:32Z</published>
	<updated>2008-10-07T23:04:32Z</updated>
	<author>
		<name>Jaroslav Hajek-2</name>
	</author>
	<content type="html">On Tue, Oct 7, 2008 at 9:33 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19873049&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Jaroslav Hajek schrieb:
&lt;br&gt;&amp;gt;&amp;gt; On Tue, Oct 7, 2008 at 9:09 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19873049&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Jaroslav Hajek schrieb:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Oct 7, 2008 at 8:34 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19873049&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jaroslav Hajek schrieb:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Oct 7, 2008 at 8:13 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19873049&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jaroslav Hajek schrieb:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Oct 7, 2008 at 7:44 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19873049&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; With today's checkout, I see the following problem:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; processing /home/kai/hg-octave/octave/liboctave/oct-inttypes.cc
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;63 &amp;nbsp; ***** assert(int64(2**63),intmax(&amp;quot;int64&amp;quot;))
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;64 !!!!! test failed
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;65 assert (int64 (2 ^ 63),intmax (&amp;quot;int64&amp;quot;)) expected
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;66 9223372036854775807
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;67 but got
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;68 -9223372036854775808
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;69 values do not match &amp;nbsp;***** assert(uint64(2**64),intmax(&amp;quot;uint64&amp;quot;))
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;70 !!!!! test failed
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;71 assert (uint64 (2 ^ 64),intmax (&amp;quot;uint64&amp;quot;)) expected
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;72 18446744073709551615
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;73 but got
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;74 0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;75 values do not match&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; processing
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; /home/kai/hg-octave/octave/scripts/audio/wavwrite.m
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; using ./run-octave I get:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:7&amp;gt; int64(2**63)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = -9223372036854775808
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:8&amp;gt; int64(2^63)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = -9223372036854775808
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:9&amp;gt; intmax (&amp;quot;int64&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 9223372036854775807
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:10&amp;gt; intmax (&amp;quot;uint64&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 18446744073709551615
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:11&amp;gt; uint64(2**64)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:12&amp;gt; uint64(2^64)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; This is on a X86, 64bit system.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Can you please check your config.h for these macros?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (and tell me whether they're defined and if yes, to what)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; HAVE_FAST_INT_OPS
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; SIZEOF_LONG_DOUBLE
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; HAVE_RANDL
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; thanx
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Sure,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 248 /* Define if signed integers use two's complement */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 249 #define HAVE_FAST_INT_OPS 1
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 956 /* The size of `long double', as computed by sizeof. */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 957 #define SIZEOF_LONG_DOUBLE 16
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I have no string &amp;quot;HAVE_RANDL&amp;quot; in config.h
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Kai
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Huh, sorry. It should have been HAVE_ROUNDL. I guess you probably have
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; it. Still, the part that is failing should work independently of
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; whether
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; you have long double (apparently you do, so you should be benefitting
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; of the faster mixed int64 arithmetics)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Would you mind if I send you a patch adding a couple of debug prints
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; that should try to reveal what is wrong? (You will need to recompile
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Octave).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; The int64 arithmetics is fresh stuff, so bugs can be expected; still,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I don't really see what can be wrong here. I hope the debug prints
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; could illuminate me.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; regards
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; O.k. I have
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 575 /* Define to 1 if you have the `roundl' function. */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 576 #define HAVE_ROUNDL 1
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Yes I am happy to assist you with some tests, but only tonight or again
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; next week (sorry I am very busy for the time being).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; OK, then please try the following patch (the simplest way is via
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; mercurial queues),
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; recompile, the run octave in place (./run-octave), type
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; int64(2^63)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; uint64(2^64)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; and please report the output...
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Kai
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; After applying your patch recompiling and running ./run-octave
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I get:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; octave:1&amp;gt; int64(2^63)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; check1: 2048
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; check2: -9.22337e+18
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; check3: -2048
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ans = -9223372036854775808
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; octave:2&amp;gt; uint64(2^64)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; check1: 9.22337e+18
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; check2: 4096
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; check3: 9.22337e+18
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ans = 0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; octave:3&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Kai
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Thanks. I guess compiler optimization is interfering in
&lt;br&gt;&amp;gt;&amp;gt; octave_base_int&amp;lt;T&amp;gt;::compute_threshold.
&lt;br&gt;&amp;gt;&amp;gt; Do you use GCC or something else? I'll try to code up something more
&lt;br&gt;&amp;gt;&amp;gt; robust. If I can have another bit of your time,
&lt;br&gt;&amp;gt;&amp;gt; I'd like to know the output of the following small program using, if
&lt;br&gt;&amp;gt;&amp;gt; possible, the same compiler &amp; flags as those you
&lt;br&gt;&amp;gt;&amp;gt; compile Octave with, and then using no optimization (-O0).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Many thanks.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; #include &amp;lt;iostream&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; #include &amp;lt;limits&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; #include &amp;lt;inttypes.h&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; int main ()
&lt;br&gt;&amp;gt;&amp;gt; {
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; int64_t orig_val = std::numeric_limits&amp;lt;int64_t&amp;gt;::max ();
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; double val = orig_val;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; if (static_cast&amp;lt;int64_t&amp;gt; (val) != orig_val)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;!=\n&amp;quot;;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; else
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;==\n&amp;quot;;
&lt;br&gt;&amp;gt;&amp;gt; }
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; kai@linuxpc:~$ cat int64_test.cc
&lt;br&gt;&amp;gt; #include &amp;lt;iostream&amp;gt;
&lt;br&gt;&amp;gt; #include &amp;lt;limits&amp;gt;
&lt;br&gt;&amp;gt; #include &amp;lt;inttypes.h&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; int main ()
&lt;br&gt;&amp;gt; {
&lt;br&gt;&amp;gt; &amp;nbsp;int64_t orig_val = std::numeric_limits&amp;lt;int64_t&amp;gt;::max ();
&lt;br&gt;&amp;gt; &amp;nbsp;double val = orig_val;
&lt;br&gt;&amp;gt; &amp;nbsp;if (static_cast&amp;lt;int64_t&amp;gt; (val) != orig_val)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;std::cout &amp;lt;&amp;lt; &amp;quot;!=\n&amp;quot;;
&lt;br&gt;&amp;gt; &amp;nbsp;else
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;std::cout &amp;lt;&amp;lt; &amp;quot;==\n&amp;quot;;
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I see already a difference for -O0 and -O2
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; kai@linuxpc:~$ g++ -O2 int64_test.cc
&lt;br&gt;&amp;gt; kai@linuxpc:~$ ./a.out
&lt;br&gt;&amp;gt; ==
&lt;br&gt;&amp;gt; kai@linuxpc:~$ g++ -O0 int64_test.cc
&lt;br&gt;&amp;gt; kai@linuxpc:~$ ./a.out
&lt;br&gt;&amp;gt; !=
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; kai@linuxpc:~$ g++ --version
&lt;br&gt;&amp;gt; g++ (SUSE Linux) 4.3.1 20080507 (prerelease) [gcc-4_3-branch revision
&lt;br&gt;&amp;gt; 135036]
&lt;br&gt;&amp;gt; Copyright (C) 2008 Free Software Foundation, Inc.
&lt;br&gt;&amp;gt; This is free software; see the source for copying conditions. &amp;nbsp;There is NO
&lt;br&gt;&amp;gt; warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Kai
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;Hi Kai,
&lt;br&gt;&lt;br&gt;the changes are now committed into development tree. Please let me
&lt;br&gt;know if your problem persists. Thanks for your cooperation.
&lt;br&gt;&lt;br&gt;regards
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;RNDr. Jaroslav Hajek
&lt;br&gt;computing expert
&lt;br&gt;Aeronautical Research and Test Institute (VZLU)
&lt;br&gt;Prague, Czech Republic
&lt;br&gt;url: www.highegg.matfyz.cz
&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19873049&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/test-failures-tp19863807p19873049.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19918768</id>
	<title>Re: [OctDev] A Bug in Octave-OdePkg</title>
	<published>2008-10-07T19:23:17Z</published>
	<updated>2008-10-07T19:23:17Z</updated>
	<author>
		<name>Wang Long</name>
	</author>
	<content type="html">On Tue, 2008-10-07 at 23:01 +0200, Thomas Treichl wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Wang Long schrieb:
&lt;br&gt;&amp;gt; &amp;gt; Hi,
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; When I was running this in octave:
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 	t_in = [0 0.05 0.13 0.19];
&lt;br&gt;&amp;gt; &amp;gt; 	[t_out, y] = ode45 (@(t,x) x, t_in, 1);
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; I got t_out=[0.00000 &amp;nbsp; 0.05000 &amp;nbsp; 0.10000 &amp;nbsp; 0.15000 &amp;nbsp; 0.19000]. While the
&lt;br&gt;&amp;gt; &amp;gt; length of t_in is 4, I found that of t_out is 5 instead of 4. However
&lt;br&gt;&amp;gt; &amp;gt; the length of t_in and t_out should be identical. This bug also exists
&lt;br&gt;&amp;gt; &amp;gt; in ode23, ode54, ode78, etc.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; I'm using octave on Ubuntu, and the file &amp;quot;ode45.m&amp;quot; belongs to the
&lt;br&gt;&amp;gt; &amp;gt; package &amp;quot;octave-odepkg&amp;quot; version 0.6.0-1.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Any ideas? Thank you all.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Regards,
&lt;br&gt;&amp;gt; &amp;gt; Wang Long
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Hi Wang,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; please change line number 406 (file ode45.m) originally from
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;vstepsize = vslot(1,vcntloop-1) - vslot(1,vcntloop-2);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; into
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;vstepsize = vslot(vcntloop) - vslot(vcntloop-1);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Does this fix the ode45 problem for the 0.6.0 release of the package? At least 
&lt;br&gt;&amp;gt; it seems to fix the problem for the latest sources and the next package that 
&lt;br&gt;&amp;gt; will become available.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Thomas
&lt;/div&gt;&lt;br&gt;Hi Thomas,
&lt;br&gt;&lt;br&gt;Thank you very much in helping me with this problem! The solution in
&lt;br&gt;your email solved the problem I mentioned before, but when I tried some
&lt;br&gt;other t_in's, for example,
&lt;br&gt;&amp;nbsp; t_in_2=[0.00 0.10 0.23 0.38 0.63 1.21 1.97];
&lt;br&gt;&amp;nbsp; t_in_3=[0.00 0.03 0.05 0.11 0.17 0.25 0.38 0.47 0.68 0.91 1.38 1.98];
&lt;br&gt;it seems that the same problem comes out again in the 0.6.0 release of
&lt;br&gt;odepkg :( &amp;nbsp;
&lt;br&gt;&lt;br&gt;I examined the improper t_out's, and found that every element in them is
&lt;br&gt;identical to t_in's, respectively, except those at ``t_out(end-1)'',
&lt;br&gt;which is created by ode45. Therefore, can we simply make ode45 check the
&lt;br&gt;length of t_out, and delete certain elements of t_out (and ``y'', of
&lt;br&gt;course) if the length of t_out is larger than t_in?
&lt;br&gt;&lt;br&gt;Thanks!
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Wang Long
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19918768&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/A-Bug-in-Octave-OdePkg-tp19723309p19918768.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19865853</id>
	<title>Re: test failures</title>
	<published>2008-10-07T12:43:36Z</published>
	<updated>2008-10-07T12:43:36Z</updated>
	<author>
		<name>Jaroslav Hajek-2</name>
	</author>
	<content type="html">On Tue, Oct 7, 2008 at 9:33 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19865853&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Jaroslav Hajek schrieb:
&lt;br&gt;&amp;gt;&amp;gt; On Tue, Oct 7, 2008 at 9:09 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19865853&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Jaroslav Hajek schrieb:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Oct 7, 2008 at 8:34 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19865853&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jaroslav Hajek schrieb:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Oct 7, 2008 at 8:13 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19865853&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jaroslav Hajek schrieb:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Oct 7, 2008 at 7:44 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19865853&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; With today's checkout, I see the following problem:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; processing /home/kai/hg-octave/octave/liboctave/oct-inttypes.cc
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;63 &amp;nbsp; ***** assert(int64(2**63),intmax(&amp;quot;int64&amp;quot;))
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;64 !!!!! test failed
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;65 assert (int64 (2 ^ 63),intmax (&amp;quot;int64&amp;quot;)) expected
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;66 9223372036854775807
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;67 but got
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;68 -9223372036854775808
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;69 values do not match &amp;nbsp;***** assert(uint64(2**64),intmax(&amp;quot;uint64&amp;quot;))
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;70 !!!!! test failed
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;71 assert (uint64 (2 ^ 64),intmax (&amp;quot;uint64&amp;quot;)) expected
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;72 18446744073709551615
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;73 but got
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;74 0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;75 values do not match&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; processing
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; /home/kai/hg-octave/octave/scripts/audio/wavwrite.m
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; using ./run-octave I get:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:7&amp;gt; int64(2**63)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = -9223372036854775808
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:8&amp;gt; int64(2^63)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = -9223372036854775808
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:9&amp;gt; intmax (&amp;quot;int64&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 9223372036854775807
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:10&amp;gt; intmax (&amp;quot;uint64&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 18446744073709551615
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:11&amp;gt; uint64(2**64)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:12&amp;gt; uint64(2^64)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; This is on a X86, 64bit system.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Can you please check your config.h for these macros?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (and tell me whether they're defined and if yes, to what)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; HAVE_FAST_INT_OPS
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; SIZEOF_LONG_DOUBLE
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; HAVE_RANDL
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; thanx
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Sure,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 248 /* Define if signed integers use two's complement */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 249 #define HAVE_FAST_INT_OPS 1
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 956 /* The size of `long double', as computed by sizeof. */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 957 #define SIZEOF_LONG_DOUBLE 16
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I have no string &amp;quot;HAVE_RANDL&amp;quot; in config.h
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Kai
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Huh, sorry. It should have been HAVE_ROUNDL. I guess you probably have
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; it. Still, the part that is failing should work independently of
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; whether
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; you have long double (apparently you do, so you should be benefitting
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; of the faster mixed int64 arithmetics)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Would you mind if I send you a patch adding a couple of debug prints
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; that should try to reveal what is wrong? (You will need to recompile
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Octave).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; The int64 arithmetics is fresh stuff, so bugs can be expected; still,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I don't really see what can be wrong here. I hope the debug prints
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; could illuminate me.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; regards
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; O.k. I have
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 575 /* Define to 1 if you have the `roundl' function. */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 576 #define HAVE_ROUNDL 1
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Yes I am happy to assist you with some tests, but only tonight or again
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; next week (sorry I am very busy for the time being).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; OK, then please try the following patch (the simplest way is via
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; mercurial queues),
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; recompile, the run octave in place (./run-octave), type
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; int64(2^63)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; uint64(2^64)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; and please report the output...
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Kai
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; After applying your patch recompiling and running ./run-octave
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I get:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; octave:1&amp;gt; int64(2^63)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; check1: 2048
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; check2: -9.22337e+18
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; check3: -2048
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ans = -9223372036854775808
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; octave:2&amp;gt; uint64(2^64)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; check1: 9.22337e+18
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; check2: 4096
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; check3: 9.22337e+18
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ans = 0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; octave:3&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Kai
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Thanks. I guess compiler optimization is interfering in
&lt;br&gt;&amp;gt;&amp;gt; octave_base_int&amp;lt;T&amp;gt;::compute_threshold.
&lt;br&gt;&amp;gt;&amp;gt; Do you use GCC or something else? I'll try to code up something more
&lt;br&gt;&amp;gt;&amp;gt; robust. If I can have another bit of your time,
&lt;br&gt;&amp;gt;&amp;gt; I'd like to know the output of the following small program using, if
&lt;br&gt;&amp;gt;&amp;gt; possible, the same compiler &amp; flags as those you
&lt;br&gt;&amp;gt;&amp;gt; compile Octave with, and then using no optimization (-O0).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Many thanks.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; #include &amp;lt;iostream&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; #include &amp;lt;limits&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; #include &amp;lt;inttypes.h&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; int main ()
&lt;br&gt;&amp;gt;&amp;gt; {
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; int64_t orig_val = std::numeric_limits&amp;lt;int64_t&amp;gt;::max ();
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; double val = orig_val;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; if (static_cast&amp;lt;int64_t&amp;gt; (val) != orig_val)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;!=\n&amp;quot;;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; else
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;==\n&amp;quot;;
&lt;br&gt;&amp;gt;&amp;gt; }
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; kai@linuxpc:~$ cat int64_test.cc
&lt;br&gt;&amp;gt; #include &amp;lt;iostream&amp;gt;
&lt;br&gt;&amp;gt; #include &amp;lt;limits&amp;gt;
&lt;br&gt;&amp;gt; #include &amp;lt;inttypes.h&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; int main ()
&lt;br&gt;&amp;gt; {
&lt;br&gt;&amp;gt; &amp;nbsp;int64_t orig_val = std::numeric_limits&amp;lt;int64_t&amp;gt;::max ();
&lt;br&gt;&amp;gt; &amp;nbsp;double val = orig_val;
&lt;br&gt;&amp;gt; &amp;nbsp;if (static_cast&amp;lt;int64_t&amp;gt; (val) != orig_val)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;std::cout &amp;lt;&amp;lt; &amp;quot;!=\n&amp;quot;;
&lt;br&gt;&amp;gt; &amp;nbsp;else
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;std::cout &amp;lt;&amp;lt; &amp;quot;==\n&amp;quot;;
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I see already a difference for -O0 and -O2
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; kai@linuxpc:~$ g++ -O2 int64_test.cc
&lt;br&gt;&amp;gt; kai@linuxpc:~$ ./a.out
&lt;br&gt;&amp;gt; ==
&lt;br&gt;&amp;gt; kai@linuxpc:~$ g++ -O0 int64_test.cc
&lt;br&gt;&amp;gt; kai@linuxpc:~$ ./a.out
&lt;br&gt;&amp;gt; !=
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;Just what I expected. Many thanks.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; kai@linuxpc:~$ g++ --version
&lt;br&gt;&amp;gt; g++ (SUSE Linux) 4.3.1 20080507 (prerelease) [gcc-4_3-branch revision
&lt;br&gt;&amp;gt; 135036]
&lt;br&gt;&amp;gt; Copyright (C) 2008 Free Software Foundation, Inc.
&lt;br&gt;&amp;gt; This is free software; see the source for copying conditions. &amp;nbsp;There is NO
&lt;br&gt;&amp;gt; warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Kai
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;RNDr. Jaroslav Hajek
&lt;br&gt;computing expert
&lt;br&gt;Aeronautical Research and Test Institute (VZLU)
&lt;br&gt;Prague, Czech Republic
&lt;br&gt;url: www.highegg.matfyz.cz
&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19865853&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/test-failures-tp19863807p19865853.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19865677</id>
	<title>Re: test failures</title>
	<published>2008-10-07T12:33:40Z</published>
	<updated>2008-10-07T12:33:40Z</updated>
	<author>
		<name>kahacjde</name>
	</author>
	<content type="html">Jaroslav Hajek schrieb:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Tue, Oct 7, 2008 at 9:09 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19865677&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; Jaroslav Hajek schrieb:
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Oct 7, 2008 at 8:34 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19865677&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jaroslav Hajek schrieb:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Oct 7, 2008 at 8:13 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19865677&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jaroslav Hajek schrieb:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Oct 7, 2008 at 7:44 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19865677&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; With today's checkout, I see the following problem:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; processing /home/kai/hg-octave/octave/liboctave/oct-inttypes.cc
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;63 &amp;nbsp; ***** assert(int64(2**63),intmax(&amp;quot;int64&amp;quot;))
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;64 !!!!! test failed
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;65 assert (int64 (2 ^ 63),intmax (&amp;quot;int64&amp;quot;)) expected
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;66 9223372036854775807
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;67 but got
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;68 -9223372036854775808
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;69 values do not match &amp;nbsp;***** assert(uint64(2**64),intmax(&amp;quot;uint64&amp;quot;))
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;70 !!!!! test failed
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;71 assert (uint64 (2 ^ 64),intmax (&amp;quot;uint64&amp;quot;)) expected
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;72 18446744073709551615
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;73 but got
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;74 0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;75 values do not match&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; processing
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; /home/kai/hg-octave/octave/scripts/audio/wavwrite.m
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; using ./run-octave I get:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:7&amp;gt; int64(2**63)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = -9223372036854775808
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:8&amp;gt; int64(2^63)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = -9223372036854775808
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:9&amp;gt; intmax (&amp;quot;int64&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 9223372036854775807
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:10&amp;gt; intmax (&amp;quot;uint64&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 18446744073709551615
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:11&amp;gt; uint64(2**64)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:12&amp;gt; uint64(2^64)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; This is on a X86, 64bit system.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Can you please check your config.h for these macros?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (and tell me whether they're defined and if yes, to what)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; HAVE_FAST_INT_OPS
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; SIZEOF_LONG_DOUBLE
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; HAVE_RANDL
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; thanx
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Sure,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 248 /* Define if signed integers use two's complement */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 249 #define HAVE_FAST_INT_OPS 1
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 956 /* The size of `long double', as computed by sizeof. */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 957 #define SIZEOF_LONG_DOUBLE 16
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I have no string &amp;quot;HAVE_RANDL&amp;quot; in config.h
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Kai
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Huh, sorry. It should have been HAVE_ROUNDL. I guess you probably have
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; it. Still, the part that is failing should work independently of
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; whether
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; you have long double (apparently you do, so you should be benefitting
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; of the faster mixed int64 arithmetics)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Would you mind if I send you a patch adding a couple of debug prints
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; that should try to reveal what is wrong? (You will need to recompile
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Octave).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; The int64 arithmetics is fresh stuff, so bugs can be expected; still,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I don't really see what can be wrong here. I hope the debug prints
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; could illuminate me.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; regards
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; O.k. I have
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 575 /* Define to 1 if you have the `roundl' function. */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 576 #define HAVE_ROUNDL 1
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Yes I am happy to assist you with some tests, but only tonight or again
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; next week (sorry I am very busy for the time being).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; OK, then please try the following patch (the simplest way is via
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; mercurial queues),
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; recompile, the run octave in place (./run-octave), type
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; int64(2^63)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; uint64(2^64)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; and please report the output...
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Kai
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; After applying your patch recompiling and running ./run-octave
&lt;br&gt;&amp;gt;&amp;gt; I get:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; octave:1&amp;gt; int64(2^63)
&lt;br&gt;&amp;gt;&amp;gt; check1: 2048
&lt;br&gt;&amp;gt;&amp;gt; check2: -9.22337e+18
&lt;br&gt;&amp;gt;&amp;gt; check3: -2048
&lt;br&gt;&amp;gt;&amp;gt; ans = -9223372036854775808
&lt;br&gt;&amp;gt;&amp;gt; octave:2&amp;gt; uint64(2^64)
&lt;br&gt;&amp;gt;&amp;gt; check1: 9.22337e+18
&lt;br&gt;&amp;gt;&amp;gt; check2: 4096
&lt;br&gt;&amp;gt;&amp;gt; check3: 9.22337e+18
&lt;br&gt;&amp;gt;&amp;gt; ans = 0
&lt;br&gt;&amp;gt;&amp;gt; octave:3&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Kai
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks. I guess compiler optimization is interfering in
&lt;br&gt;&amp;gt; octave_base_int&amp;lt;T&amp;gt;::compute_threshold.
&lt;br&gt;&amp;gt; Do you use GCC or something else? I'll try to code up something more
&lt;br&gt;&amp;gt; robust. If I can have another bit of your time,
&lt;br&gt;&amp;gt; I'd like to know the output of the following small program using, if
&lt;br&gt;&amp;gt; possible, the same compiler &amp; flags as those you
&lt;br&gt;&amp;gt; compile Octave with, and then using no optimization (-O0).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Many thanks.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; #include &amp;lt;iostream&amp;gt;
&lt;br&gt;&amp;gt; #include &amp;lt;limits&amp;gt;
&lt;br&gt;&amp;gt; #include &amp;lt;inttypes.h&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; int main ()
&lt;br&gt;&amp;gt; {
&lt;br&gt;&amp;gt; &amp;nbsp; int64_t orig_val = std::numeric_limits&amp;lt;int64_t&amp;gt;::max ();
&lt;br&gt;&amp;gt; &amp;nbsp; double val = orig_val;
&lt;br&gt;&amp;gt; &amp;nbsp; if (static_cast&amp;lt;int64_t&amp;gt; (val) != orig_val)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;!=\n&amp;quot;;
&lt;br&gt;&amp;gt; &amp;nbsp; else
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;==\n&amp;quot;;
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;kai@linuxpc:~$ cat int64_test.cc
&lt;br&gt;#include &amp;lt;iostream&amp;gt;
&lt;br&gt;#include &amp;lt;limits&amp;gt;
&lt;br&gt;#include &amp;lt;inttypes.h&amp;gt;
&lt;br&gt;&lt;br&gt;int main ()
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; int64_t orig_val = std::numeric_limits&amp;lt;int64_t&amp;gt;::max ();
&lt;br&gt;&amp;nbsp; double val = orig_val;
&lt;br&gt;&amp;nbsp; if (static_cast&amp;lt;int64_t&amp;gt; (val) != orig_val)
&lt;br&gt;&amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;!=\n&amp;quot;;
&lt;br&gt;&amp;nbsp; else
&lt;br&gt;&amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;==\n&amp;quot;;
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;I see already a difference for -O0 and -O2
&lt;br&gt;&lt;br&gt;kai@linuxpc:~$ g++ -O2 int64_test.cc
&lt;br&gt;kai@linuxpc:~$ ./a.out
&lt;br&gt;==
&lt;br&gt;kai@linuxpc:~$ g++ -O0 int64_test.cc
&lt;br&gt;kai@linuxpc:~$ ./a.out
&lt;br&gt;!=
&lt;br&gt;&lt;br&gt;&lt;br&gt;kai@linuxpc:~$ g++ --version
&lt;br&gt;g++ (SUSE Linux) 4.3.1 20080507 (prerelease) [gcc-4_3-branch revision
&lt;br&gt;135036]
&lt;br&gt;Copyright (C) 2008 Free Software Foundation, Inc.
&lt;br&gt;This is free software; see the source for copying conditions. &amp;nbsp;There is NO
&lt;br&gt;warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Kai
&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19865677&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/test-failures-tp19863807p19865677.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19865512</id>
	<title>Re: test failures</title>
	<published>2008-10-07T12:26:40Z</published>
	<updated>2008-10-07T12:26:40Z</updated>
	<author>
		<name>Jaroslav Hajek-2</name>
	</author>
	<content type="html">On Tue, Oct 7, 2008 at 9:09 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19865512&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Jaroslav Hajek schrieb:
&lt;br&gt;&amp;gt;&amp;gt; On Tue, Oct 7, 2008 at 8:34 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19865512&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Jaroslav Hajek schrieb:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Oct 7, 2008 at 8:13 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19865512&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jaroslav Hajek schrieb:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Oct 7, 2008 at 7:44 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19865512&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; With today's checkout, I see the following problem:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; processing /home/kai/hg-octave/octave/liboctave/oct-inttypes.cc
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;63 &amp;nbsp; ***** assert(int64(2**63),intmax(&amp;quot;int64&amp;quot;))
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;64 !!!!! test failed
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;65 assert (int64 (2 ^ 63),intmax (&amp;quot;int64&amp;quot;)) expected
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;66 9223372036854775807
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;67 but got
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;68 -9223372036854775808
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;69 values do not match &amp;nbsp;***** assert(uint64(2**64),intmax(&amp;quot;uint64&amp;quot;))
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;70 !!!!! test failed
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;71 assert (uint64 (2 ^ 64),intmax (&amp;quot;uint64&amp;quot;)) expected
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;72 18446744073709551615
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;73 but got
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;74 0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;75 values do not match&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; processing
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; /home/kai/hg-octave/octave/scripts/audio/wavwrite.m
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; using ./run-octave I get:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:7&amp;gt; int64(2**63)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = -9223372036854775808
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:8&amp;gt; int64(2^63)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = -9223372036854775808
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:9&amp;gt; intmax (&amp;quot;int64&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 9223372036854775807
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:10&amp;gt; intmax (&amp;quot;uint64&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 18446744073709551615
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:11&amp;gt; uint64(2**64)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:12&amp;gt; uint64(2^64)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; This is on a X86, 64bit system.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Can you please check your config.h for these macros?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (and tell me whether they're defined and if yes, to what)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; HAVE_FAST_INT_OPS
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; SIZEOF_LONG_DOUBLE
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; HAVE_RANDL
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; thanx
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Sure,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 248 /* Define if signed integers use two's complement */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 249 #define HAVE_FAST_INT_OPS 1
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 956 /* The size of `long double', as computed by sizeof. */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 957 #define SIZEOF_LONG_DOUBLE 16
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I have no string &amp;quot;HAVE_RANDL&amp;quot; in config.h
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Kai
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Huh, sorry. It should have been HAVE_ROUNDL. I guess you probably have
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; it. Still, the part that is failing should work independently of
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; whether
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; you have long double (apparently you do, so you should be benefitting
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; of the faster mixed int64 arithmetics)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Would you mind if I send you a patch adding a couple of debug prints
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; that should try to reveal what is wrong? (You will need to recompile
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Octave).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; The int64 arithmetics is fresh stuff, so bugs can be expected; still,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I don't really see what can be wrong here. I hope the debug prints
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; could illuminate me.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; regards
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; O.k. I have
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 575 /* Define to 1 if you have the `roundl' function. */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 576 #define HAVE_ROUNDL 1
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Yes I am happy to assist you with some tests, but only tonight or again
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; next week (sorry I am very busy for the time being).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; OK, then please try the following patch (the simplest way is via
&lt;br&gt;&amp;gt;&amp;gt; mercurial queues),
&lt;br&gt;&amp;gt;&amp;gt; recompile, the run octave in place (./run-octave), type
&lt;br&gt;&amp;gt;&amp;gt; int64(2^63)
&lt;br&gt;&amp;gt;&amp;gt; uint64(2^64)
&lt;br&gt;&amp;gt;&amp;gt; and please report the output...
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Kai
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; After applying your patch recompiling and running ./run-octave
&lt;br&gt;&amp;gt; I get:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; octave:1&amp;gt; int64(2^63)
&lt;br&gt;&amp;gt; check1: 2048
&lt;br&gt;&amp;gt; check2: -9.22337e+18
&lt;br&gt;&amp;gt; check3: -2048
&lt;br&gt;&amp;gt; ans = -9223372036854775808
&lt;br&gt;&amp;gt; octave:2&amp;gt; uint64(2^64)
&lt;br&gt;&amp;gt; check1: 9.22337e+18
&lt;br&gt;&amp;gt; check2: 4096
&lt;br&gt;&amp;gt; check3: 9.22337e+18
&lt;br&gt;&amp;gt; ans = 0
&lt;br&gt;&amp;gt; octave:3&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Kai
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;Thanks. I guess compiler optimization is interfering in
&lt;br&gt;octave_base_int&amp;lt;T&amp;gt;::compute_threshold.
&lt;br&gt;Do you use GCC or something else? I'll try to code up something more
&lt;br&gt;robust. If I can have another bit of your time,
&lt;br&gt;I'd like to know the output of the following small program using, if
&lt;br&gt;possible, the same compiler &amp; flags as those you
&lt;br&gt;compile Octave with, and then using no optimization (-O0).
&lt;br&gt;&lt;br&gt;Many thanks.
&lt;br&gt;&lt;br&gt;#include &amp;lt;iostream&amp;gt;
&lt;br&gt;#include &amp;lt;limits&amp;gt;
&lt;br&gt;#include &amp;lt;inttypes.h&amp;gt;
&lt;br&gt;&lt;br&gt;int main ()
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; int64_t orig_val = std::numeric_limits&amp;lt;int64_t&amp;gt;::max ();
&lt;br&gt;&amp;nbsp; double val = orig_val;
&lt;br&gt;&amp;nbsp; if (static_cast&amp;lt;int64_t&amp;gt; (val) != orig_val)
&lt;br&gt;&amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;!=\n&amp;quot;;
&lt;br&gt;&amp;nbsp; else
&lt;br&gt;&amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;==\n&amp;quot;;
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;RNDr. Jaroslav Hajek
&lt;br&gt;computing expert
&lt;br&gt;Aeronautical Research and Test Institute (VZLU)
&lt;br&gt;Prague, Czech Republic
&lt;br&gt;url: www.highegg.matfyz.cz
&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19865512&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/test-failures-tp19863807p19865512.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19865260</id>
	<title>Re: test failures</title>
	<published>2008-10-07T12:09:08Z</published>
	<updated>2008-10-07T12:09:08Z</updated>
	<author>
		<name>kahacjde</name>
	</author>
	<content type="html">Jaroslav Hajek schrieb:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Tue, Oct 7, 2008 at 8:34 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19865260&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; Jaroslav Hajek schrieb:
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Oct 7, 2008 at 8:13 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19865260&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jaroslav Hajek schrieb:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Oct 7, 2008 at 7:44 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19865260&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; With today's checkout, I see the following problem:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; processing /home/kai/hg-octave/octave/liboctave/oct-inttypes.cc
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;63 &amp;nbsp; ***** assert(int64(2**63),intmax(&amp;quot;int64&amp;quot;))
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;64 !!!!! test failed
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;65 assert (int64 (2 ^ 63),intmax (&amp;quot;int64&amp;quot;)) expected
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;66 9223372036854775807
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;67 but got
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;68 -9223372036854775808
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;69 values do not match &amp;nbsp;***** assert(uint64(2**64),intmax(&amp;quot;uint64&amp;quot;))
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;70 !!!!! test failed
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;71 assert (uint64 (2 ^ 64),intmax (&amp;quot;uint64&amp;quot;)) expected
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;72 18446744073709551615
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;73 but got
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;74 0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;75 values do not match&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; processing
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; /home/kai/hg-octave/octave/scripts/audio/wavwrite.m
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; using ./run-octave I get:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:7&amp;gt; int64(2**63)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = -9223372036854775808
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:8&amp;gt; int64(2^63)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = -9223372036854775808
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:9&amp;gt; intmax (&amp;quot;int64&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 9223372036854775807
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:10&amp;gt; intmax (&amp;quot;uint64&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 18446744073709551615
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:11&amp;gt; uint64(2**64)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:12&amp;gt; uint64(2^64)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; This is on a X86, 64bit system.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Can you please check your config.h for these macros?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (and tell me whether they're defined and if yes, to what)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; HAVE_FAST_INT_OPS
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; SIZEOF_LONG_DOUBLE
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; HAVE_RANDL
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; thanx
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Sure,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 248 /* Define if signed integers use two's complement */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 249 #define HAVE_FAST_INT_OPS 1
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 956 /* The size of `long double', as computed by sizeof. */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 957 #define SIZEOF_LONG_DOUBLE 16
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I have no string &amp;quot;HAVE_RANDL&amp;quot; in config.h
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Kai
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Huh, sorry. It should have been HAVE_ROUNDL. I guess you probably have
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; it. Still, the part that is failing should work independently of
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; whether
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; you have long double (apparently you do, so you should be benefitting
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; of the faster mixed int64 arithmetics)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Would you mind if I send you a patch adding a couple of debug prints
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; that should try to reveal what is wrong? (You will need to recompile
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Octave).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; The int64 arithmetics is fresh stuff, so bugs can be expected; still,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I don't really see what can be wrong here. I hope the debug prints
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; could illuminate me.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; regards
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; O.k. I have
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 575 /* Define to 1 if you have the `roundl' function. */
&lt;br&gt;&amp;gt;&amp;gt; 576 #define HAVE_ROUNDL 1
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Yes I am happy to assist you with some tests, but only tonight or again
&lt;br&gt;&amp;gt;&amp;gt; next week (sorry I am very busy for the time being).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; OK, then please try the following patch (the simplest way is via
&lt;br&gt;&amp;gt; mercurial queues),
&lt;br&gt;&amp;gt; recompile, the run octave in place (./run-octave), type
&lt;br&gt;&amp;gt; int64(2^63)
&lt;br&gt;&amp;gt; uint64(2^64)
&lt;br&gt;&amp;gt; and please report the output...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; Kai
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;After applying your patch recompiling and running ./run-octave
&lt;br&gt;I get:
&lt;br&gt;&lt;br&gt;octave:1&amp;gt; int64(2^63)
&lt;br&gt;check1: 2048
&lt;br&gt;check2: -9.22337e+18
&lt;br&gt;check3: -2048
&lt;br&gt;ans = -9223372036854775808
&lt;br&gt;octave:2&amp;gt; uint64(2^64)
&lt;br&gt;check1: 9.22337e+18
&lt;br&gt;check2: 4096
&lt;br&gt;check3: 9.22337e+18
&lt;br&gt;ans = 0
&lt;br&gt;octave:3&amp;gt;
&lt;br&gt;&lt;br&gt;Kai
&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19865260&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/test-failures-tp19863807p19865260.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19864803</id>
	<title>Re: test failures</title>
	<published>2008-10-07T11:47:35Z</published>
	<updated>2008-10-07T11:47:35Z</updated>
	<author>
		<name>Jaroslav Hajek-2</name>
	</author>
	<content type="html">On Tue, Oct 7, 2008 at 8:34 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19864803&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Jaroslav Hajek schrieb:
&lt;br&gt;&amp;gt;&amp;gt; On Tue, Oct 7, 2008 at 8:13 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19864803&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Jaroslav Hajek schrieb:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Oct 7, 2008 at 7:44 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19864803&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; With today's checkout, I see the following problem:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; processing /home/kai/hg-octave/octave/liboctave/oct-inttypes.cc
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;63 &amp;nbsp; ***** assert(int64(2**63),intmax(&amp;quot;int64&amp;quot;))
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;64 !!!!! test failed
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;65 assert (int64 (2 ^ 63),intmax (&amp;quot;int64&amp;quot;)) expected
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;66 9223372036854775807
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;67 but got
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;68 -9223372036854775808
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;69 values do not match &amp;nbsp;***** assert(uint64(2**64),intmax(&amp;quot;uint64&amp;quot;))
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;70 !!!!! test failed
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;71 assert (uint64 (2 ^ 64),intmax (&amp;quot;uint64&amp;quot;)) expected
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;72 18446744073709551615
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;73 but got
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;74 0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;75 values do not match&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; processing
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; /home/kai/hg-octave/octave/scripts/audio/wavwrite.m
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; using ./run-octave I get:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:7&amp;gt; int64(2**63)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = -9223372036854775808
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:8&amp;gt; int64(2^63)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = -9223372036854775808
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:9&amp;gt; intmax (&amp;quot;int64&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 9223372036854775807
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:10&amp;gt; intmax (&amp;quot;uint64&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 18446744073709551615
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:11&amp;gt; uint64(2**64)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; octave:12&amp;gt; uint64(2^64)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ans = 0
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; This is on a X86, 64bit system.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Can you please check your config.h for these macros?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (and tell me whether they're defined and if yes, to what)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; HAVE_FAST_INT_OPS
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; SIZEOF_LONG_DOUBLE
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; HAVE_RANDL
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; thanx
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Sure,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 248 /* Define if signed integers use two's complement */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 249 #define HAVE_FAST_INT_OPS 1
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 956 /* The size of `long double', as computed by sizeof. */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 957 #define SIZEOF_LONG_DOUBLE 16
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I have no string &amp;quot;HAVE_RANDL&amp;quot; in config.h
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Kai
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Huh, sorry. It should have been HAVE_ROUNDL. I guess you probably have
&lt;br&gt;&amp;gt;&amp;gt; it. Still, the part that is failing should work independently of
&lt;br&gt;&amp;gt;&amp;gt; whether
&lt;br&gt;&amp;gt;&amp;gt; you have long double (apparently you do, so you should be benefitting
&lt;br&gt;&amp;gt;&amp;gt; of the faster mixed int64 arithmetics)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Would you mind if I send you a patch adding a couple of debug prints
&lt;br&gt;&amp;gt;&amp;gt; that should try to reveal what is wrong? (You will need to recompile
&lt;br&gt;&amp;gt;&amp;gt; Octave).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; The int64 arithmetics is fresh stuff, so bugs can be expected; still,
&lt;br&gt;&amp;gt;&amp;gt; I don't really see what can be wrong here. I hope the debug prints
&lt;br&gt;&amp;gt;&amp;gt; could illuminate me.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; regards
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; O.k. I have
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 575 /* Define to 1 if you have the `roundl' function. */
&lt;br&gt;&amp;gt; 576 #define HAVE_ROUNDL 1
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Yes I am happy to assist you with some tests, but only tonight or again
&lt;br&gt;&amp;gt; next week (sorry I am very busy for the time being).
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;/div&gt;OK, then please try the following patch (the simplest way is via
&lt;br&gt;mercurial queues),
&lt;br&gt;recompile, the run octave in place (./run-octave), type
&lt;br&gt;int64(2^63)
&lt;br&gt;uint64(2^64)
&lt;br&gt;and please report the output...
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; Kai
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;RNDr. Jaroslav Hajek
&lt;br&gt;computing expert
&lt;br&gt;Aeronautical Research and Test Institute (VZLU)
&lt;br&gt;Prague, Czech Republic
&lt;br&gt;url: www.highegg.matfyz.cz
&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[int64_test_patch.diff]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;# HG changeset patch
&lt;br&gt;# User Jaroslav Hajek &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19864803&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;highegg@...&lt;/a&gt;&amp;gt;
&lt;br&gt;# Date 1223404913 -7200
&lt;br&gt;# Node ID 27ef2720983da6d0631baf34b6878e64599712fd
&lt;br&gt;# Parent &amp;nbsp;9a0a66f650b179c6af41998e18dd2362cc6bc419
&lt;br&gt;[mq]: int64_test_patch.diff
&lt;br&gt;&lt;br&gt;diff -r 9a0a66f650b1 -r 27ef2720983d liboctave/oct-inttypes.h
&lt;br&gt;--- a/liboctave/oct-inttypes.h	Tue Oct 07 15:49:03 2008 +0200
&lt;br&gt;+++ b/liboctave/oct-inttypes.h	Tue Oct 07 20:41:53 2008 +0200
&lt;br&gt;@@ -283,6 +283,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Compute proper thresholds.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;static const S thmin = compute_threshold (static_cast&amp;lt;S&amp;gt; (min_val ()), min_val ());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;static const S thmax = compute_threshold (static_cast&amp;lt;S&amp;gt; (max_val ()), max_val ());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;std::cout &amp;lt;&amp;lt; &amp;quot;check1: &amp;quot; &amp;lt;&amp;lt; (thmax - ldexp (1.0, 63)) &amp;lt;&amp;lt; '\n';
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;std::cout &amp;lt;&amp;lt; &amp;quot;check2: &amp;quot; &amp;lt;&amp;lt; (thmax - ldexp (1.0, 64)) &amp;lt;&amp;lt; '\n';
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;std::cout &amp;lt;&amp;lt; &amp;quot;check3: &amp;quot; &amp;lt;&amp;lt; (thmin - ldexp (-1.0, 63)) &amp;lt;&amp;lt; '\n';
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (lo_ieee_isnan (value))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fnan = true;
&lt;br&gt;@@ -290,11 +293,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (value &amp;lt;= thmin)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;std::cout &amp;lt;&amp;lt; &amp;quot;cutoff low\n&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;octave_int_base&amp;lt;T&amp;gt;::ftrunc = true;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return min_val ();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (value &amp;gt;= thmax)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;std::cout &amp;lt;&amp;lt; &amp;quot;cutoff low\n&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ftrunc = true;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return max_val ();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Bug-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19864803&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/test-failures-tp19863807p19864803.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19864536</id>
	<title>Re: test failures</title>
	<published>2008-10-07T11:34:10Z</published>
	<updated>2008-10-07T11:34:10Z</updated>
	<author>
		<name>kahacjde</name>
	</author>
	<content type="html">Jaroslav Hajek schrieb:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Tue, Oct 7, 2008 at 8:13 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19864536&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; Jaroslav Hajek schrieb:
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Oct 7, 2008 at 7:44 PM, Kai Habel &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19864536&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kai.habel@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; With today's checkout, I see the following problem:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; processing /home/kai/hg-octave/octave/liboctave/oct-inttypes.cc
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;63 &amp;nbsp; ***** assert(int64(2**63),intmax(&amp;quot;int64&amp;quot;))
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;64 !!!!! test failed
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;65 assert (int64 (2 ^ 63),intmax (&amp;quot;int64&amp;quot;)) expected
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;66 9223372036854775807
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;67 but got
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;68 -9223372036854775808
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;69 values do not match &amp;nbsp;***** assert(uint64(2**64),intmax(&amp;quot;uint64&amp;quot;))
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;70 !!!!! test failed
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;71 assert (uint64 (2 ^ 64),intmax (&amp;quot;uint64&amp;quot;)) expected
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;72 18446744073709551615
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;73 but got
&l