<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-1895</id>
	<title>Nabble - Octave</title>
	<updated>2009-11-10T10:36:22Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Octave-f1895.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Octave-f1895.html" />
	<subtitle type="html">GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab. It may also be used as a batch-oriented language. Octave home is &lt;a href=&quot;http://www.octave.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26288932</id>
	<title>Re: gnulib and automake</title>
	<published>2009-11-10T10:36:22Z</published>
	<updated>2009-11-10T10:36:22Z</updated>
	<author>
		<name>John W. Eaton-3</name>
	</author>
	<content type="html">On &amp;nbsp;9-Nov-2009, Benjamin Lindner wrote:
&lt;br&gt;&lt;br&gt;| John W. Eaton wrote:
&lt;br&gt;| &amp;gt; 
&lt;br&gt;| &amp;gt; Ah, but Windows doesn't have symbolic links and $(LN_S) is just cp, so
&lt;br&gt;| &amp;gt; I guess this fails. &amp;nbsp;
&lt;br&gt;| 
&lt;br&gt;| Windows has a kind of &amp;quot;symbolic links&amp;quot;, but only with absolute paths,
&lt;br&gt;| not with relative paths. But I'm not sure if they are supported in msys.
&lt;br&gt;| So you can't do what you can do with links on unix filesystems
&lt;br&gt;| 
&lt;br&gt;| &amp;gt; OK, I think what we need to do is
&lt;br&gt;| &amp;gt; 
&lt;br&gt;| &amp;gt; &amp;nbsp; cd DLD-FUNCTIONS &amp;&amp; $(LN_S) .libs/foo.dll foo.oct
&lt;br&gt;| &amp;gt; 
&lt;br&gt;| &amp;gt; so that it will work correctly with either cp or &amp;quot;ln -s&amp;quot;. &amp;nbsp;I've made a
&lt;br&gt;| &amp;gt; change that should do this correctly now. &amp;nbsp;The updated versinon of my
&lt;br&gt;| &amp;gt; patch is now on &lt;a href=&quot;http://jweaton.org/automake-diffs.gz&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jweaton.org/automake-diffs.gz&lt;/a&gt;. This version of
&lt;br&gt;| &amp;gt; the patch includes all the other changes I made on Friday.
&lt;br&gt;| 
&lt;br&gt;| Works fine,
&lt;br&gt;| make now completes beyond building all dld-functions.
&lt;br&gt;| It's stuck building the doumentation, but I expected that.
&lt;br&gt;| I need to translate my local patches and get shared libstdc++ working
&lt;br&gt;| with libtool to get octave finally up and running
&lt;br&gt;&lt;br&gt;Does it link and run now, even without a shared libstdc++?
&lt;br&gt;&lt;br&gt;What are the problems with building the documentation? &amp;nbsp;Is it anything
&lt;br&gt;that we should fix before checking the the changes to the main
&lt;br&gt;development branch? &amp;nbsp;If not, then I'd like to go ahead and check it in
&lt;br&gt;today.
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;&lt;br&gt;jwe
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---Maintainers-f1900.html&quot; embed=&quot;fixTarget[1900]&quot; target=&quot;_top&quot; &gt;Octave - Maintainers&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gnulib-and-automake-tp25480858p26288932.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26288819</id>
	<title>Re: gnulib and automake (a fix?)</title>
	<published>2009-11-10T10:27:35Z</published>
	<updated>2009-11-10T10:27:35Z</updated>
	<author>
		<name>John W. Eaton-3</name>
	</author>
	<content type="html">On 30-Oct-2009, Ben Abbott wrote:
&lt;br&gt;&lt;br&gt;| The attached resolves the problem for John's example. The following &amp;nbsp;
&lt;br&gt;| also ran without incident.
&lt;br&gt;| 
&lt;br&gt;| 	geometryimages ('voronoi', 'eps');
&lt;br&gt;| 	geometryimages ('triplot', 'eps');
&lt;br&gt;| 	geometryimages ('griddata', 'eps');
&lt;br&gt;| 	geometryimages ('convhull', 'eps');
&lt;br&gt;&lt;br&gt;I applied the changeset.
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;&lt;br&gt;jwe
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---Maintainers-f1900.html&quot; embed=&quot;fixTarget[1900]&quot; target=&quot;_top&quot; &gt;Octave - Maintainers&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gnulib-and-automake-tp25480858p26288819.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26288227</id>
	<title>Re: gnuplot 4.5</title>
	<published>2009-11-10T09:53:06Z</published>
	<updated>2009-11-10T09:53:06Z</updated>
	<author>
		<name>Leo T Butler</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;On Tue, 10 Nov 2009, &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26288227&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;rpf@...&lt;/a&gt; wrote:
&lt;br&gt;&lt;br&gt;&amp;lt; I would like to use gnuplot 4.5 compiled from source with octave (from
&lt;br&gt;&amp;lt; ubuntu-repositories). I have compiled it into my $HOME/usr directory.
&lt;br&gt;&amp;lt; Is there any way to tell octave to use the gnuplot in my $HOME/usr
&lt;br&gt;&amp;lt; instead of the one in /usr ?
&lt;br&gt;&amp;nbsp;
&lt;br&gt;Try 
&lt;br&gt;&lt;br&gt;help gnuplot_binary
&lt;br&gt;&lt;br&gt;for this info.
&lt;br&gt;&lt;br&gt;Leo
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;The University of Edinburgh is a charitable body, registered in
&lt;br&gt;Scotland, with registration number SC005336.
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Help-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26288227&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Help-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---General-f1897.html&quot; embed=&quot;fixTarget[1897]&quot; target=&quot;_top&quot; &gt;Octave - General&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gnuplot-4.5-tp26287800p26288227.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26288155</id>
	<title>Re: gnuplot 4.5</title>
	<published>2009-11-10T09:49:59Z</published>
	<updated>2009-11-10T09:49:59Z</updated>
	<author>
		<name>Søren Hauberg</name>
	</author>
	<content type="html">Look at the 'gnuplot_binary' function.
&lt;br&gt;&lt;br&gt;Søren
&lt;br&gt;&lt;br&gt;tir, 10 11 2009 kl. 18:34 +0100, skrev &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26288155&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;rpf@...&lt;/a&gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I would like to use gnuplot 4.5 compiled from source with octave (from
&lt;br&gt;&amp;gt; ubuntu-repositories). I have compiled it into my $HOME/usr directory.
&lt;br&gt;&amp;gt; Is there any way to tell octave to use the gnuplot in my $HOME/usr
&lt;br&gt;&amp;gt; instead of the one in /usr ?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; thanks!
&lt;br&gt;&amp;gt; --h
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Help-octave mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26288155&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Help-octave@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&lt;/a&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Help-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26288155&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Help-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---General-f1897.html&quot; embed=&quot;fixTarget[1897]&quot; target=&quot;_top&quot; &gt;Octave - General&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gnuplot-4.5-tp26287800p26288155.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26287800</id>
	<title>gnuplot 4.5</title>
	<published>2009-11-10T09:34:09Z</published>
	<updated>2009-11-10T09:34:09Z</updated>
	<author>
		<name>rpf-2</name>
	</author>
	<content type="html">I would like to use gnuplot 4.5 compiled from source with octave (from
&lt;br&gt;ubuntu-repositories). I have compiled it into my $HOME/usr directory.
&lt;br&gt;Is there any way to tell octave to use the gnuplot in my $HOME/usr
&lt;br&gt;instead of the one in /usr ?
&lt;br&gt;&lt;br&gt;thanks!
&lt;br&gt;--h
&lt;br&gt;_______________________________________________
&lt;br&gt;Help-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26287800&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Help-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---General-f1897.html&quot; embed=&quot;fixTarget[1897]&quot; target=&quot;_top&quot; &gt;Octave - General&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gnuplot-4.5-tp26287800p26287800.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26287264</id>
	<title>RE: rlocus Step Size Change</title>
	<published>2009-11-10T09:01:02Z</published>
	<updated>2009-11-10T09:01:02Z</updated>
	<author>
		<name>dastew</name>
	</author>
	<content type="html">&lt;html&gt;
&lt;head&gt;

&lt;/head&gt;
&lt;body class='hmmessage'&gt;
&lt;br&gt;&lt;br&gt;&lt;hr id=&quot;stopSpelling&quot;&gt;Date: Tue, 10 Nov 2009 09:11:10 -0700&lt;br&gt;Subject: rlocus Step Size Change&lt;br&gt;From: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26287264&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dustin.brothers@...&lt;/a&gt;&lt;br&gt;To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26287264&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;help@...&lt;/a&gt;&lt;br&gt;&lt;br&gt;Octave Gurus,&lt;br&gt;&lt;br&gt;I am trying to change the step size and range of the &quot;gain&quot; of my system while using rlocus and cannot seem to get it to function properly.&lt;br&gt;&lt;br&gt;I have the following packages installed (control and signal), and am using qtoctave as a GUI front-end.&lt;br&gt;
&lt;br&gt;According to your &lt;i&gt;documentation&lt;/i&gt;, I should be able to change the step size following the syntax:&lt;br&gt;&lt;br&gt;rlocus(sys, [step,min,max]);&lt;br&gt;&lt;br&gt;Yet, I am getting errors. Is this possible another way, utilizing a k-vector and multiplying into the system transfer function prior to using rlocus? Or am I using this wrong (very likely :])?&lt;br&gt;
&lt;br&gt;Any help you can give me would be great!&lt;br&gt;&lt;br&gt;Thanks.&lt;br&gt;&lt;br&gt;Dustin Brothers&lt;br&gt;MSCD Engineering&lt;br&gt;&lt;br&gt;try &lt;br&gt;&lt;br&gt;rlocus(sys, step,min,max);&lt;br&gt;&lt;br&gt;&lt;br&gt;no [] brackets&lt;br&gt;Doug&lt;br&gt; 		 	   		  &lt;/body&gt;
&lt;/html&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Help-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26287264&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Help-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---General-f1897.html&quot; embed=&quot;fixTarget[1897]&quot; target=&quot;_top&quot; &gt;Octave - General&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/rlocus-Step-Size-Change-tp26287037p26287264.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26287037</id>
	<title>rlocus Step Size Change</title>
	<published>2009-11-10T08:11:10Z</published>
	<updated>2009-11-10T08:11:10Z</updated>
	<author>
		<name>Dustin Brothers</name>
	</author>
	<content type="html">Octave Gurus,&lt;br&gt;&lt;br&gt;I am trying to change the step size and range of the &amp;quot;gain&amp;quot; of my system while using rlocus and cannot seem to get it to function properly.&lt;br&gt;&lt;br&gt;I have the following packages installed (control and signal), and am using qtoctave as a GUI front-end.&lt;br&gt;
&lt;br&gt;According to your &lt;i&gt;documentation&lt;/i&gt;, I should be able to change the step size following the syntax:&lt;br&gt;&lt;br&gt;rlocus(sys, [step,min,max]);&lt;br&gt;&lt;br&gt;Yet, I am getting errors. Is this possible another way, utilizing a k-vector and multiplying into the system transfer function prior to using rlocus? Or am I using this wrong (very likely :])?&lt;br&gt;
&lt;br&gt;Any help you can give me would be great!&lt;br&gt;&lt;br&gt;Thanks.&lt;br&gt;&lt;br&gt;Dustin Brothers&lt;br&gt;MSCD Engineering&lt;br&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;Help-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26287037&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Help-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---General-f1897.html&quot; embed=&quot;fixTarget[1897]&quot; target=&quot;_top&quot; &gt;Octave - General&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/rlocus-Step-Size-Change-tp26287037p26287037.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26284155</id>
	<title>sscanf always returns 0</title>
	<published>2009-11-10T06:12:20Z</published>
	<updated>2009-11-10T06:12:20Z</updated>
	<author>
		<name>David Grundberg-2</name>
	</author>
	<content type="html">Hi buglist,
&lt;br&gt;&lt;br&gt;Running
&lt;br&gt;&lt;br&gt;&amp;nbsp; [scanned, count, errmsg, offset] = sscanf (&amp;quot;56 foobar&amp;quot;, &amp;quot;%d&amp;quot;)
&lt;br&gt;&lt;br&gt;should give offset = 4 but instead I get offset = 0.
&lt;br&gt;&lt;br&gt;I changed octave_istrstream to fix this, see attachment.
&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;David
&lt;br&gt;&lt;br&gt;&lt;br /&gt;# HG changeset patch
&lt;br&gt;# User David Grundberg &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26284155&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;davidg@...&lt;/a&gt;&amp;gt;
&lt;br&gt;# Date 1257850593 -3600
&lt;br&gt;# Node ID d83dd90b46debd8b2288a992e60cc78cf1089306
&lt;br&gt;# Parent &amp;nbsp;2d19eb339df748f8dd776b6f7b804df7ffe66c5a
&lt;br&gt;Fix fourth argument from sscanf
&lt;br&gt;&lt;br&gt;diff -r 2d19eb339df7 -r d83dd90b46de src/ChangeLog
&lt;br&gt;--- a/src/ChangeLog	Tue Nov 10 11:02:35 2009 +0100
&lt;br&gt;+++ b/src/ChangeLog	Tue Nov 10 11:56:33 2009 +0100
&lt;br&gt;@@ -1,3 +1,8 @@
&lt;br&gt;+2009-11-10 &amp;nbsp;David Grundberg &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26284155&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;davidg@...&lt;/a&gt;&amp;gt;
&lt;br&gt;+
&lt;br&gt;+	* oct-strstrm.h (octave_base_strstream::tell): Declare virtual.
&lt;br&gt;+	(octave_istrstream::tell): New method.
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;2009-11-10 &amp;nbsp;Jaroslav Hajek &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26284155&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;highegg@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	* ov-class.cc (octave_class::numel): Use base version if called from
&lt;br&gt;diff -r 2d19eb339df7 -r d83dd90b46de src/oct-strstrm.h
&lt;br&gt;--- a/src/oct-strstrm.h	Tue Nov 10 11:02:35 2009 +0100
&lt;br&gt;+++ b/src/oct-strstrm.h	Tue Nov 10 11:56:33 2009 +0100
&lt;br&gt;@@ -45,7 +45,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;// Return current stream position.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;long tell (void);
&lt;br&gt;+ &amp;nbsp;virtual long tell (void);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;// The name of the file.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -104,6 +104,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;std::istream *input_stream (void) { return &amp;is; }
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;std::ostream *output_stream (void) { return 0; }
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;long tell (void) { return is.tellg (); }
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;std::streambuf *rdbuf (void) { return is ? is.rdbuf () : 0; }
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Bug-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26284155&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---Bugs-f1896.html&quot; embed=&quot;fixTarget[1896]&quot; target=&quot;_top&quot; &gt;Octave - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/sscanf-always-returns-0-tp26284155p26284155.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26282617</id>
	<title>Re: single/double precision in C++</title>
	<published>2009-11-10T04:29:17Z</published>
	<updated>2009-11-10T04:29:17Z</updated>
	<author>
		<name>Jaroslav Hajek-2</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Tue, Nov 10, 2009 at 1:14 PM, John W. Eaton &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26282617&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jwe@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
&lt;div class=&quot;im&quot;&gt;On 10-Nov-2009, Jaroslav Hajek wrote:&lt;br&gt;
&lt;br&gt;
| On Tue, Nov 10, 2009 at 12:56 PM, John W. Eaton &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26282617&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jwe@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;
|&lt;br&gt;
| &amp;gt; On 10-Nov-2009, Jaroslav Hajek wrote:&lt;br&gt;
| &amp;gt;&lt;br&gt;
| &amp;gt; | + // const_casts are necessary because LTFAT doesn&amp;#39;t specify const on&lt;br&gt;
| &amp;gt; input data.&lt;br&gt;
| &amp;gt; | + lib_func (const_cast&amp;lt;T1 *&amp;gt;(f.fortran_vec ()), const_cast&amp;lt;T2&lt;br&gt;
| &amp;gt; *&amp;gt;(gf.fortran_vec ()),&lt;br&gt;
| &amp;gt; | +           L, W, R, a, M, cout.fortran_vec ());&lt;br&gt;
| &amp;gt;&lt;br&gt;
| &amp;gt; Maybe I&amp;#39;m missing something, but I don&amp;#39;t see why the const_cast is&lt;br&gt;
| &amp;gt; necessary here.  The result of fortran_vec is not const.&lt;br&gt;
| &amp;gt;&lt;br&gt;
| &amp;gt;&lt;br&gt;
| The result of fortran_vec *is* const when called on a const variable, which&lt;br&gt;
| is the case here. In this sense, fortran_vec behaves just like the elem()&lt;br&gt;
| functions. data () is a const-only method.&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;OK, so I was missing something.  :-)&lt;br&gt;
&lt;br&gt;
But I would still not recommend getting in the habit of casting away&lt;br&gt;
const...&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;Neither would I - that&amp;#39;s why I recommended to improve the ltfat headers. But when you&amp;#39;re dealing with legacy code...&lt;br&gt;Of course, an alternative is to bother the extra copy and just get a writable pointer. But that doesn&amp;#39;t work if you&amp;#39;re a little obsessed by performance, like me :)&lt;br&gt;
&lt;br&gt;regards&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;RNDr. Jaroslav Hajek&lt;br&gt;computing expert &amp;amp; GNU Octave developer&lt;br&gt;Aeronautical Research and Test Institute (VZLU)&lt;br&gt;Prague, Czech Republic&lt;br&gt;url: &lt;a href=&quot;http://www.highegg.matfyz.cz&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;www.highegg.matfyz.cz&lt;/a&gt;&lt;br&gt;

&lt;br /&gt;_______________________________________________
&lt;br&gt;Help-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26282617&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Help-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---General-f1897.html&quot; embed=&quot;fixTarget[1897]&quot; target=&quot;_top&quot; &gt;Octave - General&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/single-double-precision-in-C%2B%2B-tp26266776p26282617.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26282533</id>
	<title>Re: method indexing bug</title>
	<published>2009-11-10T04:24:24Z</published>
	<updated>2009-11-10T04:24:24Z</updated>
	<author>
		<name>Jaroslav Hajek-2</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Tue, Nov 10, 2009 at 1:10 PM, John W. Eaton &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26282533&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jwe@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
&lt;div class=&quot;im&quot;&gt;On 10-Nov-2009, Jaroslav Hajek wrote:&lt;br&gt;
&lt;br&gt;
| Good. Please note that the OOP support is still partial; inheritance simply&lt;br&gt;
| doesn&amp;#39;t work together with multidimensional classes. To make it work like in&lt;br&gt;
| Matlab a massive rewrite would probably be needed.&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;By multidimensional classes, do you mean something like&lt;br&gt;
&lt;br&gt;
  class (struct (&amp;quot;x&amp;quot;, {1, 2; 3, 4}), &amp;quot;foo&amp;quot;)&lt;br&gt;
&lt;br&gt;
?  &lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;Yes.&lt;br&gt; &lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;Is this kind of thing used very often by real code?  How is it&lt;br&gt;

useful?&lt;br&gt;
&lt;font color=&quot;#888888&quot;&gt;&lt;br&gt;
jwe&lt;br&gt;
&lt;br&gt;
&lt;/font&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;I dunno. I suppose scalar struct with multidimensional fields will be used in most cases - that gives you a far better flexibility&lt;br&gt;(an example is the dict class from the &amp;quot;general&amp;quot; package). &lt;br&gt;
What Matlab does in the multi-dim inheritance case is also quite weird. When you create&lt;br&gt;&lt;br&gt;obj = class (struct (&amp;quot;x&amp;quot;, {1, 2; 3, 4}), &amp;quot;foo&amp;quot;, bar),&lt;br&gt;&lt;br&gt;I think bar may either be a scalar or 2x2. obj.bar then behaves like an ordinary field, i.e. gives a cs-list of 4 bar classes. Stuff like obj(I,J).bar also works. This would suggest that the constructor splits bar into 1x1 inherited sub objects (or replicates the 1x1 object given) and stores the field normally.&lt;br&gt;
But then, when foo object is passed to an inherited method, a 2x2 class is visible again to the method, as if the 1x1 objects were magically joined. I tested this quickly with a Matlab copy some time ago, so I may not be entirely correct here.&lt;br&gt;
&lt;br&gt;In any case this behaviour is quite ill-suited for our current implementation - splitting a struct array into scalar structs is very wasteful, and this is needed for an ordinary field to be created. If we were to work this around, then foo.bar must not be an ordinary field, but resolved magically.&lt;br&gt;
&lt;br&gt;-- &lt;br&gt;RNDr. Jaroslav Hajek&lt;br&gt;computing expert &amp;amp; GNU Octave developer&lt;br&gt;Aeronautical Research and Test Institute (VZLU)&lt;br&gt;Prague, Czech Republic&lt;br&gt;url: &lt;a href=&quot;http://www.highegg.matfyz.cz&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;www.highegg.matfyz.cz&lt;/a&gt;&lt;br&gt;

&lt;br /&gt;_______________________________________________
&lt;br&gt;Bug-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26282533&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---Bugs-f1896.html&quot; embed=&quot;fixTarget[1896]&quot; target=&quot;_top&quot; &gt;Octave - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/method-indexing-bug-tp26180168p26282533.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26282527</id>
	<title>Re: method indexing bug</title>
	<published>2009-11-10T04:23:51Z</published>
	<updated>2009-11-10T04:23:51Z</updated>
	<author>
		<name>David Grundberg-2</name>
	</author>
	<content type="html">Jaroslav Hajek wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Tue, Nov 10, 2009 at 12:04 PM, David Grundberg &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26282527&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;individ@...&lt;/a&gt; 
&lt;br&gt;&amp;gt; &amp;lt;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26282527&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;individ@...&lt;/a&gt;&amp;gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; Jaroslav Hajek wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; On Tue, Nov 3, 2009 at 3:08 PM, David Grundberg
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26282527&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;individ@...&lt;/a&gt; &amp;lt;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26282527&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;individ@...&lt;/a&gt;&amp;gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; David Grundberg wrote:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Hi bug-list,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; In an object's subasgn, I want to assign to a object
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; field using
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;object.field(1, :) = [1,2]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; syntax. This works in Matlab. However, in Octave, I
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get 'error: a cs-list
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cannot be further indexed'.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; I'm attaching a tarball with an example as minimal as
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; I could make it.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; After extracting the tarball, I can run
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p=Mini; p.key = 1:2
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; on rev 9771:4634a0e9ea1b to recreate the error message.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Regards,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; David
&lt;br&gt;&amp;gt;
&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;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Naturally, it helps if I actually attach the tarball.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Please try this patch:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://hg.savannah.gnu.org/hgweb/octave/rev/384616240a8f&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://hg.savannah.gnu.org/hgweb/octave/rev/384616240a8f&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; thanks
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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; &amp;nbsp; Jaroslav,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; thanks for fixing this. The indexing works now.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; David
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Good. Please note that the OOP support is still partial; inheritance 
&lt;br&gt;&amp;gt; simply doesn't work together with multidimensional classes. To make it 
&lt;br&gt;&amp;gt; work like in Matlab a massive rewrite would probably be needed.
&lt;/div&gt;&lt;br&gt;Ok, good to know about problems with multidimensional classes. 
&lt;br&gt;Fortunate, I don't have any inheritance!
&lt;br&gt;&lt;br&gt;One problem with making a Matlab-compatible oo system is that OOP is 
&lt;br&gt;extremely scarcely documented. The docs are written by some technical 
&lt;br&gt;writer that haven't bothered to test whether the statements made are 
&lt;br&gt;correct. The new oo-system (with single classdef files) makes it even 
&lt;br&gt;harder to know how the legacy system is supposed to work.
&lt;br&gt;&lt;br&gt;Does anyone have a detailed idea of how legacy OOP works in Matlab? 
&lt;br&gt;Otherwise implementing it correctly would be hard.
&lt;br&gt;&lt;br&gt;David
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26282527&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---Bugs-f1896.html&quot; embed=&quot;fixTarget[1896]&quot; target=&quot;_top&quot; &gt;Octave - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/method-indexing-bug-tp26180168p26282527.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26282417</id>
	<title>Re: single/double precision in C++</title>
	<published>2009-11-10T04:14:10Z</published>
	<updated>2009-11-10T04:14:10Z</updated>
	<author>
		<name>John W. Eaton-3</name>
	</author>
	<content type="html">On 10-Nov-2009, Jaroslav Hajek wrote:
&lt;br&gt;&lt;br&gt;| On Tue, Nov 10, 2009 at 12:56 PM, John W. Eaton &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26282417&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jwe@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;| 
&lt;br&gt;| &amp;gt; On 10-Nov-2009, Jaroslav Hajek wrote:
&lt;br&gt;| &amp;gt;
&lt;br&gt;| &amp;gt; | + // const_casts are necessary because LTFAT doesn't specify const on
&lt;br&gt;| &amp;gt; input data.
&lt;br&gt;| &amp;gt; | + lib_func (const_cast&amp;lt;T1 *&amp;gt;(f.fortran_vec ()), const_cast&amp;lt;T2
&lt;br&gt;| &amp;gt; *&amp;gt;(gf.fortran_vec ()),
&lt;br&gt;| &amp;gt; | + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; L, W, R, a, M, cout.fortran_vec ());
&lt;br&gt;| &amp;gt;
&lt;br&gt;| &amp;gt; Maybe I'm missing something, but I don't see why the const_cast is
&lt;br&gt;| &amp;gt; necessary here. &amp;nbsp;The result of fortran_vec is not const.
&lt;br&gt;| &amp;gt;
&lt;br&gt;| &amp;gt;
&lt;br&gt;| The result of fortran_vec *is* const when called on a const variable, which
&lt;br&gt;| is the case here. In this sense, fortran_vec behaves just like the elem()
&lt;br&gt;| functions. data () is a const-only method.
&lt;br&gt;&lt;br&gt;OK, so I was missing something. &amp;nbsp;:-)
&lt;br&gt;&lt;br&gt;But I would still not recommend getting in the habit of casting away
&lt;br&gt;const...
&lt;br&gt;&lt;br&gt;jwe
&lt;br&gt;_______________________________________________
&lt;br&gt;Help-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26282417&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Help-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---General-f1897.html&quot; embed=&quot;fixTarget[1897]&quot; target=&quot;_top&quot; &gt;Octave - General&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/single-double-precision-in-C%2B%2B-tp26266776p26282417.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26282401</id>
	<title>Re: method indexing bug</title>
	<published>2009-11-10T04:10:34Z</published>
	<updated>2009-11-10T04:10:34Z</updated>
	<author>
		<name>John W. Eaton-3</name>
	</author>
	<content type="html">On 10-Nov-2009, Jaroslav Hajek wrote:
&lt;br&gt;&lt;br&gt;| Good. Please note that the OOP support is still partial; inheritance simply
&lt;br&gt;| doesn't work together with multidimensional classes. To make it work like in
&lt;br&gt;| Matlab a massive rewrite would probably be needed.
&lt;br&gt;&lt;br&gt;By multidimensional classes, do you mean something like
&lt;br&gt;&lt;br&gt;&amp;nbsp; class (struct (&amp;quot;x&amp;quot;, {1, 2; 3, 4}), &amp;quot;foo&amp;quot;)
&lt;br&gt;&lt;br&gt;? &amp;nbsp;Is this kind of thing used very often by real code? &amp;nbsp;How is it
&lt;br&gt;useful?
&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://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26282401&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---Bugs-f1896.html&quot; embed=&quot;fixTarget[1896]&quot; target=&quot;_top&quot; &gt;Octave - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/method-indexing-bug-tp26180168p26282401.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26282278</id>
	<title>Re: single/double precision in C++</title>
	<published>2009-11-10T04:00:44Z</published>
	<updated>2009-11-10T04:00:44Z</updated>
	<author>
		<name>Jaroslav Hajek-2</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Tue, Nov 10, 2009 at 12:56 PM, John W. Eaton &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26282278&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jwe@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
&lt;div class=&quot;im&quot;&gt;On 10-Nov-2009, Jaroslav Hajek wrote:&lt;br&gt;
&lt;br&gt;
| + // const_casts are necessary because LTFAT doesn&amp;#39;t specify const on input data.&lt;br&gt;
| + lib_func (const_cast&amp;lt;T1 *&amp;gt;(f.fortran_vec ()), const_cast&amp;lt;T2 *&amp;gt;(gf.fortran_vec ()),&lt;br&gt;
| +           L, W, R, a, M, cout.fortran_vec ());&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;Maybe I&amp;#39;m missing something, but I don&amp;#39;t see why the const_cast is&lt;br&gt;
necessary here.  The result of fortran_vec is not const.&lt;br&gt;
&lt;br&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;The result of fortran_vec *is* const when called on a const variable, which is the case here. In this sense, fortran_vec behaves just like the elem() functions. data () is a const-only method.&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;RNDr. Jaroslav Hajek&lt;br&gt;computing expert &amp;amp; GNU Octave developer&lt;br&gt;Aeronautical Research and Test Institute (VZLU)&lt;br&gt;Prague, Czech Republic&lt;br&gt;url: &lt;a href=&quot;http://www.highegg.matfyz.cz&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;www.highegg.matfyz.cz&lt;/a&gt;&lt;br&gt;

&lt;br /&gt;_______________________________________________
&lt;br&gt;Help-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26282278&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Help-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---General-f1897.html&quot; embed=&quot;fixTarget[1897]&quot; target=&quot;_top&quot; &gt;Octave - General&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/single-double-precision-in-C%2B%2B-tp26266776p26282278.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26282251</id>
	<title>Re: single/double precision in C++</title>
	<published>2009-11-10T03:56:30Z</published>
	<updated>2009-11-10T03:56:30Z</updated>
	<author>
		<name>John W. Eaton-3</name>
	</author>
	<content type="html">On 10-Nov-2009, Jaroslav Hajek wrote:
&lt;br&gt;&lt;br&gt;| + // const_casts are necessary because LTFAT doesn't specify const on input data.
&lt;br&gt;| + lib_func (const_cast&amp;lt;T1 *&amp;gt;(f.fortran_vec ()), const_cast&amp;lt;T2 *&amp;gt;(gf.fortran_vec ()),
&lt;br&gt;| + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; L, W, R, a, M, cout.fortran_vec ());
&lt;br&gt;&lt;br&gt;Maybe I'm missing something, but I don't see why the const_cast is
&lt;br&gt;necessary here. &amp;nbsp;The result of fortran_vec is not const.
&lt;br&gt;&lt;br&gt;The following compiles cleanly for me:
&lt;br&gt;&lt;br&gt;&amp;nbsp; #include &amp;lt;octave/oct.h&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; static void bar (double *) { }
&lt;br&gt;&lt;br&gt;&amp;nbsp; DEFUN_DLD (foo, , , &amp;quot;&amp;quot;)
&lt;br&gt;&amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; Matrix m;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; bar (m.fortran_vec ());
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; return octave_value_list ();
&lt;br&gt;&amp;nbsp; }
&lt;br&gt;&lt;br&gt;Changing the above to use
&lt;br&gt;&lt;br&gt;&amp;nbsp; bar (m.data ());
&lt;br&gt;&lt;br&gt;would be a compile-time error because the data method returns
&lt;br&gt;a const pointer. &amp;nbsp;But casting away const there would not be the thing
&lt;br&gt;to do unless you know that the called function does not modify its
&lt;br&gt;argument. &amp;nbsp;And in that case, you should really fix the prototype for
&lt;br&gt;the called function, not cast away const.
&lt;br&gt;&lt;br&gt;jwe
&lt;br&gt;_______________________________________________
&lt;br&gt;Help-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26282251&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Help-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---General-f1897.html&quot; embed=&quot;fixTarget[1897]&quot; target=&quot;_top&quot; &gt;Octave - General&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/single-double-precision-in-C%2B%2B-tp26266776p26282251.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26281944</id>
	<title>Re: method indexing bug</title>
	<published>2009-11-10T03:31:06Z</published>
	<updated>2009-11-10T03:31:06Z</updated>
	<author>
		<name>Jaroslav Hajek-2</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Tue, Nov 10, 2009 at 12:04 PM, David Grundberg &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26281944&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;individ@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
&lt;div class=&quot;im&quot;&gt;Jaroslav Hajek wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
On Tue, Nov 3, 2009 at 3:08 PM, David Grundberg &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26281944&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;individ@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;
  &lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
David Grundberg wrote:&lt;br&gt;
    &lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
Hi bug-list,&lt;br&gt;
&lt;br&gt;
In an object&amp;#39;s subasgn, I want to assign to a object field using&lt;br&gt;
&lt;br&gt;
 object.field(1, :) = [1,2]&lt;br&gt;
&lt;br&gt;
syntax. This works in Matlab. However, in Octave, I get &amp;#39;error: a cs-list&lt;br&gt;
cannot be further indexed&amp;#39;.&lt;br&gt;
&lt;br&gt;
I&amp;#39;m attaching a tarball with an example as minimal as I could make it.&lt;br&gt;
After extracting the tarball, I can run&lt;br&gt;
&lt;br&gt;
 p=Mini; p.key = 1:2&lt;br&gt;
&lt;br&gt;
on rev 9771:4634a0e9ea1b to recreate the error message.&lt;br&gt;
&lt;br&gt;
Regards,&lt;br&gt;
David&lt;br&gt;
&lt;br&gt;
      &lt;br&gt;
&lt;/blockquote&gt;
Naturally, it helps if I actually attach the tarball.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
    &lt;br&gt;
&lt;/blockquote&gt;
&lt;br&gt;
Please try this patch:&lt;br&gt;
&lt;a href=&quot;http://hg.savannah.gnu.org/hgweb/octave/rev/384616240a8f&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://hg.savannah.gnu.org/hgweb/octave/rev/384616240a8f&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
thanks&lt;br&gt;
&lt;br&gt;
  &lt;br&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;br&gt;&lt;/div&gt;
Jaroslav,&lt;br&gt;
&lt;br&gt;
thanks for fixing this. The indexing works now.&lt;br&gt;&lt;font color=&quot;#888888&quot;&gt;
&lt;br&gt;
David&lt;br&gt;
&lt;/font&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;Good. Please note that the OOP support is still partial; inheritance simply doesn&amp;#39;t work together with multidimensional classes. To make it work like in Matlab a massive rewrite would probably be needed.&lt;br clear=&quot;all&quot;&gt;
&lt;br&gt;-- &lt;br&gt;RNDr. Jaroslav Hajek&lt;br&gt;computing expert &amp;amp; GNU Octave developer&lt;br&gt;Aeronautical Research and Test Institute (VZLU)&lt;br&gt;Prague, Czech Republic&lt;br&gt;url: &lt;a href=&quot;http://www.highegg.matfyz.cz&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;www.highegg.matfyz.cz&lt;/a&gt;&lt;br&gt;

&lt;br /&gt;_______________________________________________
&lt;br&gt;Bug-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26281944&amp;i=2&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---Bugs-f1896.html&quot; embed=&quot;fixTarget[1896]&quot; target=&quot;_top&quot; &gt;Octave - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/method-indexing-bug-tp26180168p26281944.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26281926</id>
	<title>Re: single/double precision in C++</title>
	<published>2009-11-10T03:27:10Z</published>
	<updated>2009-11-10T03:27:10Z</updated>
	<author>
		<name>Jaroslav Hajek-2</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;On Tue, Nov 10, 2009 at 12:22 PM, Jaroslav Hajek &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26281926&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;highegg@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; On Tue, Nov 10, 2009 at 11:48 AM, Peter L. &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26281926&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;peter@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Templates could help you here. Octave 3.3.50+ provides a templatized function&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; octave_value_extract that extracts a specified matrix type from an octave_value.&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; If you want to target the 3.2.x series as well (which you probably&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; do), you can steal these from the development sources and define them&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; conditionally.&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Using octave_value_extract, you could write something like:&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; template &amp;lt;class MT1, class MT2&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; static octave_value do_comp_dgt_fac (const octave_value_list&amp;amp; args,&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;                                                        const int a, const int M,&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;                                                        void&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; (*lib_func) (/* TODO */))&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; {&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;   const MT1 f = octave_value_extract&amp;lt;MT1&amp;gt; args(0);&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;   const MT2 gf = octave_value_extract&amp;lt;MT1&amp;gt; args(0);&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;        const int L = f.rows();&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;        const int W = f.columns();&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;        const int R = gf.rows()*gf.columns()/L;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;        const int N = L/a;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;        MT2 cout(M,N*W*R);&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;    lib_func (...);&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;   return cout;&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; and then call it for the 4 cases&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; return do_comp_dgt_fac&amp;lt;Matrix, ComplexMatrix&amp;gt; (args, a, m, dgt_fac_r);&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; etc&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; Thanks for the suggestion, this is just the sort of stuff I don&amp;#39;t know&lt;br&gt;&amp;gt;&amp;gt; about. This made me read up on trait classes.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; The C prototypes pose another problem as these use different complex&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; number type than Octave (Octave uses std::complex and assumes the&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; layout conforms to Fortran and C99).&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; A quick solution is to let these types be implied by the template, but&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; that is quite unsafe, as it will silently crash if you misspell a&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; function&amp;#39;s name. A better solution is to provide a trait class&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; converting Octave&amp;#39;s types to LTFAT&amp;#39;s. A possibly yet better solution&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; is to alter ltfat.h in such a manner that it will use a user-defined&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; complex type if one is provided via a #define:&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; #include &amp;lt;oct.h&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; #define LTFAT_USER_COMPLEX Complex&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; #define LTFAT_USER_SCOMPLEX FloatComplex&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; #include &amp;quot;ltfat.h&amp;quot; // will now use Complex and FloatComplex for the prototypes&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; this can be useful in general when interfacing with other software.&lt;br&gt;&amp;gt;&amp;gt; This is actually what is already being done:&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;   typedef fftw_complex  ltfat_complex;&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; so the complex type is bit-compatible with Octave&amp;#39;s.&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Yes, that is the assumption (it&amp;#39;s not actually guaranteed by C++, but&lt;br&gt;&amp;gt; Octave uses the same assumption), but being compatible is not enough -&lt;br&gt;
&amp;gt; C++ still won&amp;#39;t allow you to implicitly convert fftw_complex to&lt;br&gt;&amp;gt; std::complex.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; I checked out ltfat and hacked together a patch (not actually tested)&lt;br&gt;&amp;gt; demonstrating my meaning:&lt;br&gt;&amp;gt;&lt;br&gt;
&lt;br&gt;Once more, this time complete and not garbled (attached).&lt;br&gt;&lt;br&gt;hth&lt;br&gt;-- &lt;br&gt;RNDr. Jaroslav Hajek&lt;br&gt;computing expert &amp;amp; GNU Octave developer&lt;br&gt;Aeronautical Research and Test Institute (VZLU)&lt;br&gt;Prague, Czech Republic&lt;br&gt;
url: &lt;a href=&quot;http://www.highegg.matfyz.cz&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;www.highegg.matfyz.cz&lt;/a&gt;
&lt;br /&gt;&lt;tt&gt;[ltfat.diff]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;Index: src/ltfat.h
&lt;br&gt;===================================================================
&lt;br&gt;--- src/ltfat.h	(revision 879)
&lt;br&gt;+++ src/ltfat.h	(working copy)
&lt;br&gt;@@ -8,8 +8,11 @@
&lt;br&gt;&amp;nbsp;/* FFTW_ESTIMATE is the only one to work, as the other types destroys input */
&lt;br&gt;&amp;nbsp;#define FFTW_OPTITYPE FFTW_ESTIMATE
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+/* Allow using arbitrary complex types. Assumes identical memory layout. */
&lt;br&gt;+#ifndef LTFAT_USER_COMPLEX
&lt;br&gt;&amp;nbsp;typedef fftw_complex &amp;nbsp;ltfat_complex;
&lt;br&gt;&amp;nbsp;typedef fftwf_complex ltfat_scomplex;
&lt;br&gt;+#endif
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/* BEGIN_C_DECLS */
&lt;br&gt;&amp;nbsp;
&lt;br&gt;Index: oct/comp_dgt_fac.cc
&lt;br&gt;===================================================================
&lt;br&gt;--- oct/comp_dgt_fac.cc	(revision 879)
&lt;br&gt;+++ oct/comp_dgt_fac.cc	(working copy)
&lt;br&gt;@@ -2,57 +2,64 @@
&lt;br&gt;&amp;nbsp;#include &amp;quot;config.h&amp;quot;
&lt;br&gt;&amp;nbsp;#include &amp;quot;ltfat.h&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+template &amp;lt;class MT1, class MT2&amp;gt;
&lt;br&gt;+static octave_value 
&lt;br&gt;+do_comp_dgt_fac (const octave_value_list&amp; args,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const int a, const int M,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; void (*lib_func) (typename MT1::element_type *,
&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; typename MT2::element_type *,
&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; const int, const int,
&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; const int, const int,
&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; const int,
&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; typename MT2::element_type *))
&lt;br&gt;+{
&lt;br&gt;+ typedef typename MT1::element_type T1;
&lt;br&gt;+ typedef typename MT2::element_type T2;
&lt;br&gt;+
&lt;br&gt;+ const MT1 f = octave_value_extract&amp;lt;MT1&amp;gt; args(0);
&lt;br&gt;+ const MT2 gf = octave_value_extract&amp;lt;MT1&amp;gt; args(1);
&lt;br&gt;+
&lt;br&gt;+ const int L = f.rows();
&lt;br&gt;+ const int W = f.columns();
&lt;br&gt;+ const int R = gf.rows()*gf.columns()/L;
&lt;br&gt;+
&lt;br&gt;+ const int N = L/a;
&lt;br&gt;+
&lt;br&gt;+ MT2 cout(M,N*W*R);
&lt;br&gt;+
&lt;br&gt;+ // const_casts are necessary because LTFAT doesn't specify const on input data.
&lt;br&gt;+ lib_func (const_cast&amp;lt;T1 *&amp;gt;(f.fortran_vec ()), const_cast&amp;lt;T2 *&amp;gt;(gf.fortran_vec ()),
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; L, W, R, a, M, cout.fortran_vec ());
&lt;br&gt;+
&lt;br&gt;+ return cout;
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+template &amp;lt;class MT1, class MT2&amp;gt;
&lt;br&gt;&amp;nbsp;DEFUN_DLD (comp_dgt_fac, args, ,
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;quot;This function calls the C-library\n\
&lt;br&gt;&amp;nbsp; &amp;nbsp;c=comp_dgt_fac(f,gf,a,M);\n\
&lt;br&gt;&amp;nbsp; &amp;nbsp;Yeah.&amp;quot;)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;+ &amp;nbsp;octave_value_list retval;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;const bool f_is_complex &amp;nbsp;= args(0).is_complex_type();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;const int a = args(2).int_value();
&lt;br&gt;&amp;nbsp; &amp;nbsp;const int M = args(3).int_value();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;if (f_is_complex)
&lt;br&gt;- &amp;nbsp;{
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; const ComplexMatrix f = args(0).complex_matrix_value();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; const ComplexMatrix gf = args(1).complex_matrix_value();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; const int L = f.rows();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; const int W = f.columns();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; const int R = gf.rows()*gf.columns()/L;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; const int N = L/a;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; ComplexMatrix cout(M,N*W*R); &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; dgt_fac((ltfat_complex*)f.data(),(ltfat_complex*)gf.data(),
&lt;br&gt;- &amp;nbsp; &amp;nbsp; L, W, R, a, M,(ltfat_complex*)cout.data());
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; return octave_value (cout);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; 
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;if (args(0).is_single_type ())
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if (f_is_complex)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;do_comp_dgt_fac (args, a, M, sdgt_fac);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;do_comp_dgt_fac (args, a, M, sdgt_fac_r);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;else
&lt;br&gt;- &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if (f_is_complex)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;do_comp_dgt_fac (args, a, M, dgt_fac);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;do_comp_dgt_fac (args, a, M, dgt_fac_r);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; const Matrix f = args(0).matrix_value();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; const ComplexMatrix gf = args(1).complex_matrix_value();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; const int L = f.rows();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; const int W = f.columns();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; const int R = gf.rows()*gf.columns()/L;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; const int N = L/a;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; ComplexMatrix cout(M,N*W*R); &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; dgt_fac_r((double*)f.data(),(ltfat_complex*)gf.data(),
&lt;br&gt;- &amp;nbsp; &amp;nbsp; L, W, R, a, M,(ltfat_complex*)cout.data());
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; return octave_value (cout);
&lt;br&gt;- &amp;nbsp;
&lt;br&gt;- &amp;nbsp;}
&lt;br&gt;-
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;Index: oct/config.h
&lt;br&gt;===================================================================
&lt;br&gt;--- oct/config.h	(revision 879)
&lt;br&gt;+++ oct/config.h	(working copy)
&lt;br&gt;@@ -5,13 +5,15 @@
&lt;br&gt;&amp;nbsp;#define CONFIG_H 1
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#include &amp;quot;fftw3.h&amp;quot;
&lt;br&gt;+
&lt;br&gt;+#define LTFAT_USER_COMPLEX
&lt;br&gt;+typedef Complex &amp;nbsp;ltfat_complex;
&lt;br&gt;+typedef FloatComplex ltfat_scomplex;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;#include &amp;quot;ltfat.h&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#define FFTW_OPTITYPE FFTW_ESTIMATE
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-typedef fftw_complex &amp;nbsp;ltfat_complex;
&lt;br&gt;-typedef fftwf_complex ltfat_scomplex;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp;void* ltfat_malloc (size_t n)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp;return fftw_malloc(n);
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Help-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26281926&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Help-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---General-f1897.html&quot; embed=&quot;fixTarget[1897]&quot; target=&quot;_top&quot; &gt;Octave - General&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/single-double-precision-in-C%2B%2B-tp26266776p26281926.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26281879</id>
	<title>Re: single/double precision in C++</title>
	<published>2009-11-10T03:22:30Z</published>
	<updated>2009-11-10T03:22:30Z</updated>
	<author>
		<name>Jaroslav Hajek-2</name>
	</author>
	<content type="html">On Tue, Nov 10, 2009 at 11:48 AM, Peter L. &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26281879&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;peter@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; Templates could help you here. Octave 3.3.50+ provides a templatized function
&lt;br&gt;&amp;gt;&amp;gt; octave_value_extract that extracts a specified matrix type from an octave_value.
&lt;br&gt;&amp;gt;&amp;gt; If you want to target the 3.2.x series as well (which you probably
&lt;br&gt;&amp;gt;&amp;gt; do), you can steal these from the development sources and define them
&lt;br&gt;&amp;gt;&amp;gt; conditionally.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Using octave_value_extract, you could write something like:
&lt;br&gt;&amp;gt;&amp;gt; template &amp;lt;class MT1, class MT2&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; static octave_value do_comp_dgt_fac (const octave_value_list&amp; args,
&lt;br&gt;&amp;gt;&amp;gt;                                                        const int a, const int M,
&lt;br&gt;&amp;gt;&amp;gt;                                                        void
&lt;br&gt;&amp;gt;&amp;gt; (*lib_func) (/* TODO */))
&lt;br&gt;&amp;gt;&amp;gt; {
&lt;br&gt;&amp;gt;&amp;gt;   const MT1 f = octave_value_extract&amp;lt;MT1&amp;gt; args(0);
&lt;br&gt;&amp;gt;&amp;gt;   const MT2 gf = octave_value_extract&amp;lt;MT1&amp;gt; args(0);
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;        const int L = f.rows();
&lt;br&gt;&amp;gt;&amp;gt;        const int W = f.columns();
&lt;br&gt;&amp;gt;&amp;gt;        const int R = gf.rows()*gf.columns()/L;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;        const int N = L/a;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;        MT2 cout(M,N*W*R);
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;    lib_func (...);
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;   return cout;
&lt;br&gt;&amp;gt;&amp;gt; }
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; and then call it for the 4 cases
&lt;br&gt;&amp;gt;&amp;gt; return do_comp_dgt_fac&amp;lt;Matrix, ComplexMatrix&amp;gt; (args, a, m, dgt_fac_r);
&lt;br&gt;&amp;gt;&amp;gt; etc
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks for the suggestion, this is just the sort of stuff I don't know
&lt;br&gt;&amp;gt; about. This made me read up on trait classes.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; The C prototypes pose another problem as these use different complex
&lt;br&gt;&amp;gt;&amp;gt; number type than Octave (Octave uses std::complex and assumes the
&lt;br&gt;&amp;gt;&amp;gt; layout conforms to Fortran and C99).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; A quick solution is to let these types be implied by the template, but
&lt;br&gt;&amp;gt;&amp;gt; that is quite unsafe, as it will silently crash if you misspell a
&lt;br&gt;&amp;gt;&amp;gt; function's name. A better solution is to provide a trait class
&lt;br&gt;&amp;gt;&amp;gt; converting Octave's types to LTFAT's. A possibly yet better solution
&lt;br&gt;&amp;gt;&amp;gt; is to alter ltfat.h in such a manner that it will use a user-defined
&lt;br&gt;&amp;gt;&amp;gt; complex type if one is provided via a #define:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; #include &amp;lt;oct.h&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; #define LTFAT_USER_COMPLEX Complex
&lt;br&gt;&amp;gt;&amp;gt; #define LTFAT_USER_SCOMPLEX FloatComplex
&lt;br&gt;&amp;gt;&amp;gt; #include &amp;quot;ltfat.h&amp;quot; // will now use Complex and FloatComplex for the prototypes
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; this can be useful in general when interfacing with other software.
&lt;br&gt;&amp;gt; This is actually what is already being done:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;   typedef fftw_complex  ltfat_complex;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; so the complex type is bit-compatible with Octave's.
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;Yes, that is the assumption (it's not actually guaranteed by C++, but
&lt;br&gt;Octave uses the same assumption), but being compatible is not enough -
&lt;br&gt;C++ still won't allow you to implicitly convert fftw_complex to
&lt;br&gt;std::complex.
&lt;br&gt;&lt;br&gt;I checked out ltfat and hacked together a patch (not actually tested)
&lt;br&gt;demonstrating my meaning:
&lt;br&gt;&lt;br&gt;Index: comp_dgt_fac.cc
&lt;br&gt;===================================================================
&lt;br&gt;--- comp_dgt_fac.cc	(revision 879)
&lt;br&gt;+++ comp_dgt_fac.cc	(working copy)
&lt;br&gt;@@ -2,57 +2,64 @@
&lt;br&gt;&amp;nbsp;#include &amp;quot;config.h&amp;quot;
&lt;br&gt;&amp;nbsp;#include &amp;quot;ltfat.h&amp;quot;
&lt;br&gt;&lt;br&gt;+template &amp;lt;class MT1, class MT2&amp;gt;
&lt;br&gt;+static octave_value
&lt;br&gt;+do_comp_dgt_fac (const octave_value_list&amp; args,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const int a, const int M,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; void (*lib_func) (typename MT1::element_type *,
&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; typename MT2::element_type *,
&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; const int, const int,
&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; const int, const int,
&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; const int,
&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; typename MT2::element_type *))
&lt;br&gt;+{
&lt;br&gt;+ typedef typename MT1::element_type T1;
&lt;br&gt;+ typedef typename MT2::element_type T2;
&lt;br&gt;+
&lt;br&gt;+ const MT1 f = octave_value_extract&amp;lt;MT1&amp;gt; args(0);
&lt;br&gt;+ const MT2 gf = octave_value_extract&amp;lt;MT1&amp;gt; args(1);
&lt;br&gt;+
&lt;br&gt;+ const int L = f.rows();
&lt;br&gt;+ const int W = f.columns();
&lt;br&gt;+ const int R = gf.rows()*gf.columns()/L;
&lt;br&gt;+
&lt;br&gt;+ const int N = L/a;
&lt;br&gt;+
&lt;br&gt;+ MT2 cout(M,N*W*R);
&lt;br&gt;+
&lt;br&gt;+ // const_casts are necessary because LTFAT doesn't specify const on
&lt;br&gt;input data.
&lt;br&gt;+ lib_func (const_cast&amp;lt;T1 *&amp;gt;(f.fortran_vec ()), const_cast&amp;lt;T2
&lt;br&gt;*&amp;gt;(gf.fortran_vec ()),
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; L, W, R, a, M, cout.fortran_vec ());
&lt;br&gt;+
&lt;br&gt;+ return cout;
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+template &amp;lt;class MT1, class MT2&amp;gt;
&lt;br&gt;&amp;nbsp;DEFUN_DLD (comp_dgt_fac, args, ,
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;quot;This function calls the C-library\n\
&lt;br&gt;&amp;nbsp; &amp;nbsp;c=comp_dgt_fac(f,gf,a,M);\n\
&lt;br&gt;&amp;nbsp; &amp;nbsp;Yeah.&amp;quot;)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;+ &amp;nbsp;octave_value_list retval;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;const bool f_is_complex &amp;nbsp;= args(0).is_complex_type();
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;const int a = args(2).int_value();
&lt;br&gt;&amp;nbsp; &amp;nbsp;const int M = args(3).int_value();
&lt;br&gt;&lt;br&gt;- &amp;nbsp;if (f_is_complex)
&lt;br&gt;- &amp;nbsp;{
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; const ComplexMatrix f = args(0).complex_matrix_value();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; const ComplexMatrix gf = args(1).complex_matrix_value();
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; const int L = f.rows();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; const int W = f.columns();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; const int R = gf.rows()*gf.columns()/L;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; const int N = L/a;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; ComplexMatrix cout(M,N*W*R);
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; dgt_fac((ltfat_complex*)f.data(),(ltfat_complex*)gf.data(),
&lt;br&gt;- &amp;nbsp; &amp;nbsp; L, W, R, a, M,(ltfat_complex*)cout.data());
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; return octave_value (cout);
&lt;br&gt;-
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;if (args(0).is_single_type ())
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if (f_is_complex)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;do_comp_dgt_fac (args, a, M, sdgt_fac);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;do_comp_dgt_fac (args, a, M, sdgt_fac_r);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;else
&lt;br&gt;- &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if (f_is_complex)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;do_comp_dgt_fac (args, a, M, dgt_fac);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;do_comp_dgt_fac (args, a, M, dgt_fac_r);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;- &amp;nbsp; &amp;nbsp; const Matrix f = args(0).matrix_value();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; const ComplexMatrix gf = args(1).complex_matrix_value();
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; const int L = f.rows();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; const int W = f.columns();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; const int R = gf.rows()*gf.columns()/L;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; const int N = L/a;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; ComplexMatrix cout(M,N*W*R);
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; dgt_fac_r((double*)f.data(),(ltfat_complex*)gf.data(),
&lt;br&gt;- &amp;nbsp; &amp;nbsp; L, W, R, a, M,(ltfat_complex*)cout.data());
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; return octave_value (cout);
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp;}
&lt;br&gt;-
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;Index: config.h
&lt;br&gt;===================================================================
&lt;br&gt;--- config.h	(revision 879)
&lt;br&gt;+++ config.h	(working copy)
&lt;br&gt;@@ -5,13 +5,15 @@
&lt;br&gt;&amp;nbsp;#define CONFIG_H 1
&lt;br&gt;&lt;br&gt;&amp;nbsp;#include &amp;quot;fftw3.h&amp;quot;
&lt;br&gt;+
&lt;br&gt;+#define LTFAT_USER_COMPLEX
&lt;br&gt;+typedef Complex &amp;nbsp;ltfat_complex;
&lt;br&gt;+typedef FloatComplex ltfat_scomplex;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;#include &amp;quot;ltfat.h&amp;quot;
&lt;br&gt;&lt;br&gt;&amp;nbsp;#define FFTW_OPTITYPE FFTW_ESTIMATE
&lt;br&gt;&lt;br&gt;-typedef fftw_complex &amp;nbsp;ltfat_complex;
&lt;br&gt;-typedef fftwf_complex ltfat_scomplex;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp;void* ltfat_malloc (size_t n)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp;return fftw_malloc(n);
&lt;br&gt;&lt;br&gt;&lt;br&gt;in this manner, you write the bulk of the interfacing code just once,
&lt;br&gt;in a template, then instantiate the template 4 times.
&lt;br&gt;The trick in ltfat.h is used to map the correct Octave complex types
&lt;br&gt;into the prototypes.
&lt;br&gt;Note that there are still const_casts for the first two arguments,
&lt;br&gt;because the prototypes in LTFAT do not specify const input pointers
&lt;br&gt;(assuming the input data is unchanged). You can get rid of them (and
&lt;br&gt;get even better prototype checking) by
&lt;br&gt;augmenting the prototypes in ltfat_typeindependent.h by CONST
&lt;br&gt;(#defined to const or nothing) specifiers where a const pointer is
&lt;br&gt;only needed. Another option is to not specify const for f and gf, but
&lt;br&gt;that way you'll get a useless copy of the data (if you query a
&lt;br&gt;writable pointer for Octave's matrix types, the data is internally
&lt;br&gt;unshared).
&lt;br&gt;&lt;br&gt;hth
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;RNDr. Jaroslav Hajek
&lt;br&gt;computing expert &amp; GNU Octave developer
&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;br&gt;Help-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26281879&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Help-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---General-f1897.html&quot; embed=&quot;fixTarget[1897]&quot; target=&quot;_top&quot; &gt;Octave - General&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/single-double-precision-in-C%2B%2B-tp26266776p26281879.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26281681</id>
	<title>Re: method indexing bug</title>
	<published>2009-11-10T03:04:29Z</published>
	<updated>2009-11-10T03:04:29Z</updated>
	<author>
		<name>David Grundberg-2</name>
	</author>
	<content type="html">Jaroslav Hajek wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Tue, Nov 3, 2009 at 3:08 PM, David Grundberg &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26281681&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;individ@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; David Grundberg wrote:
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Hi bug-list,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; In an object's subasgn, I want to assign to a object field using
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;object.field(1, :) = [1,2]
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; syntax. This works in Matlab. However, in Octave, I get 'error: a cs-list
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; cannot be further indexed'.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I'm attaching a tarball with an example as minimal as I could make it.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; After extracting the tarball, I can run
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;p=Mini; p.key = 1:2
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; on rev 9771:4634a0e9ea1b to recreate the error message.
&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; David
&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; Naturally, it helps if I actually attach the tarball.
&lt;br&gt;&amp;gt;&amp;gt;
&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; Please try this patch:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://hg.savannah.gnu.org/hgweb/octave/rev/384616240a8f&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://hg.savannah.gnu.org/hgweb/octave/rev/384616240a8f&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; thanks
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;Jaroslav,
&lt;br&gt;&lt;br&gt;thanks for fixing this. The indexing works now.
&lt;br&gt;&lt;br&gt;David
&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26281681&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---Bugs-f1896.html&quot; embed=&quot;fixTarget[1896]&quot; target=&quot;_top&quot; &gt;Octave - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/method-indexing-bug-tp26180168p26281681.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26281572</id>
	<title>Re: single/double precision in C++</title>
	<published>2009-11-10T02:48:45Z</published>
	<updated>2009-11-10T02:48:45Z</updated>
	<author>
		<name>Peter Soendergaard</name>
	</author>
	<content type="html">&lt;div class='shrinkable-quote'&gt;&amp;gt; Templates could help you here. Octave 3.3.50+ provides a templatized function
&lt;br&gt;&amp;gt; octave_value_extract that extracts a specified matrix type from an octave_value.
&lt;br&gt;&amp;gt; If you want to target the 3.2.x series as well (which you probably
&lt;br&gt;&amp;gt; do), you can steal these from the development sources and define them
&lt;br&gt;&amp;gt; conditionally.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Using octave_value_extract, you could write something like:
&lt;br&gt;&amp;gt; template &amp;lt;class MT1, class MT2&amp;gt;
&lt;br&gt;&amp;gt; static octave_value do_comp_dgt_fac (const octave_value_list&amp; args,
&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;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;const int a, const int M,
&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;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;void
&lt;br&gt;&amp;gt; (*lib_func) (/* TODO */))
&lt;br&gt;&amp;gt; {
&lt;br&gt;&amp;gt; &amp;nbsp; const MT1 f = octave_value_extract&amp;lt;MT1&amp;gt; args(0);
&lt;br&gt;&amp;gt; &amp;nbsp; const MT2 gf = octave_value_extract&amp;lt;MT1&amp;gt; args(0);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const int L = f.rows();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const int W = f.columns();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const int R = gf.rows()*gf.columns()/L;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const int N = L/a;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MT2 cout(M,N*W*R);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;lib_func (...);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; return cout;
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; and then call it for the 4 cases
&lt;br&gt;&amp;gt; return do_comp_dgt_fac&amp;lt;Matrix, ComplexMatrix&amp;gt; (args, a, m, dgt_fac_r);
&lt;br&gt;&amp;gt; etc
&lt;/div&gt;&lt;br&gt;Thanks for the suggestion, this is just the sort of stuff I don't know
&lt;br&gt;about. This made me read up on trait classes.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; The C prototypes pose another problem as these use different complex
&lt;br&gt;&amp;gt; number type than Octave (Octave uses std::complex and assumes the
&lt;br&gt;&amp;gt; layout conforms to Fortran and C99).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; A quick solution is to let these types be implied by the template, but
&lt;br&gt;&amp;gt; that is quite unsafe, as it will silently crash if you misspell a
&lt;br&gt;&amp;gt; function's name. A better solution is to provide a trait class
&lt;br&gt;&amp;gt; converting Octave's types to LTFAT's. A possibly yet better solution
&lt;br&gt;&amp;gt; is to alter ltfat.h in such a manner that it will use a user-defined
&lt;br&gt;&amp;gt; complex type if one is provided via a #define:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; #include &amp;lt;oct.h&amp;gt;
&lt;br&gt;&amp;gt; #define LTFAT_USER_COMPLEX Complex
&lt;br&gt;&amp;gt; #define LTFAT_USER_SCOMPLEX FloatComplex
&lt;br&gt;&amp;gt; #include &amp;quot;ltfat.h&amp;quot; // will now use Complex and FloatComplex for the prototypes
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; this can be useful in general when interfacing with other software.
&lt;/div&gt;This is actually what is already being done:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;typedef fftw_complex &amp;nbsp;ltfat_complex;
&lt;br&gt;&lt;br&gt;so the complex type is bit-compatible with Octave's.
&lt;br&gt;&lt;br&gt;Is there a way of getting around the
&lt;br&gt;&lt;br&gt;&amp;nbsp; (ltfat_complex*)f.data()
&lt;br&gt;&lt;br&gt;construction when ever I need a pointer to the actual data? It should be
&lt;br&gt;easy as you suggest to change the typedef &amp;quot;ltfat_complex&amp;quot; to point to
&lt;br&gt;the correct Octave complex format, so perhaps the ugly typecast in the
&lt;br&gt;above line could go away. 
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;&lt;br&gt;Peter. 
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Help-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26281572&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Help-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---General-f1897.html&quot; embed=&quot;fixTarget[1897]&quot; target=&quot;_top&quot; &gt;Octave - General&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/single-double-precision-in-C%2B%2B-tp26266776p26281572.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26281223</id>
	<title>Re: feval bug in 3.2.3</title>
	<published>2009-11-10T02:25:44Z</published>
	<updated>2009-11-10T02:25:44Z</updated>
	<author>
		<name>Jaroslav Hajek-2</name>
	</author>
	<content type="html">On Sat, Nov 7, 2009 at 6:54 PM, Gunnar Rätsch
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26281223&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gunnar.Raetsch@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi again,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I tried it now with other octave versions. It works with 3.0.4 and
&lt;br&gt;&amp;gt; 3.0.5.
&lt;br&gt;&amp;gt; It does not work with 3.2.0, 3.2.2 and 3.2.3.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hth, Gunnar
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On 07.11.2009, at 18:07, Gunnar Raetsch wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Hi Octave team,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I'm using octave 3.2.3 on amd64 (compiled from source) and have
&lt;br&gt;&amp;gt;&amp;gt; problems with the feval function.
&lt;br&gt;&amp;gt;&amp;gt; The code without feval works (1), while it does not work with eval
&lt;br&gt;&amp;gt;&amp;gt; (2):
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 1. fprintf('calling exp_galaxy(PAR_config)\n') ;
&lt;br&gt;&amp;gt;&amp;gt; exp_galaxy(PAR_config) ;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 2. Exp='exp_galaxy'
&lt;br&gt;&amp;gt;&amp;gt; fprintf('calling feval(''%s'', PAR_config)\n', Exp) ;
&lt;br&gt;&amp;gt;&amp;gt; PAR_exp = feval(Exp, PAR_config) ;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; The function exp_galaxy is in the same source file as the code above
&lt;br&gt;&amp;gt;&amp;gt; (a local function).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; feval works as expected in octave 3.0.4, but not in 3.2.3.
&lt;br&gt;&amp;gt;&amp;gt; (I did not try versions between these versions as I could not get
&lt;br&gt;&amp;gt;&amp;gt; them compiled.)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Thanks a lot for your help!
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; All the best,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Gunnar
&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;/div&gt;&lt;br&gt;Since you haven't given a working code, I can't be sure, but probably
&lt;br&gt;this is a duplicate of
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/feval-call-to-a-subfunction-fails-when-it-is-in-a-subfunction-to25691978.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/feval-call-to-a-subfunction-fails-when-it-is-in-a-subfunction-to25691978.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;RNDr. Jaroslav Hajek
&lt;br&gt;computing expert &amp; GNU Octave developer
&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;br&gt;Bug-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26281223&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---Bugs-f1896.html&quot; embed=&quot;fixTarget[1896]&quot; target=&quot;_top&quot; &gt;Octave - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/feval-bug-in-3.2.3-tp26247949p26281223.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26280904</id>
	<title>Re: method indexing bug</title>
	<published>2009-11-10T01:59:56Z</published>
	<updated>2009-11-10T01:59:56Z</updated>
	<author>
		<name>Jaroslav Hajek-2</name>
	</author>
	<content type="html">On Tue, Nov 3, 2009 at 3:08 PM, David Grundberg &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26280904&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;individ@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; David Grundberg wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Hi bug-list,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; In an object's subasgn, I want to assign to a object field using
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;  object.field(1, :) = [1,2]
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; syntax. This works in Matlab. However, in Octave, I get 'error: a cs-list
&lt;br&gt;&amp;gt;&amp;gt; cannot be further indexed'.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I'm attaching a tarball with an example as minimal as I could make it.
&lt;br&gt;&amp;gt;&amp;gt; After extracting the tarball, I can run
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;  p=Mini; p.key = 1:2
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; on rev 9771:4634a0e9ea1b to recreate the error message.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt;&amp;gt; David
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Naturally, it helps if I actually attach the tarball.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;Please try this patch:
&lt;br&gt;&lt;a href=&quot;http://hg.savannah.gnu.org/hgweb/octave/rev/384616240a8f&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://hg.savannah.gnu.org/hgweb/octave/rev/384616240a8f&lt;/a&gt;&lt;br&gt;&lt;br&gt;thanks
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;RNDr. Jaroslav Hajek
&lt;br&gt;computing expert &amp; GNU Octave developer
&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;br&gt;Bug-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26280904&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---Bugs-f1896.html&quot; embed=&quot;fixTarget[1896]&quot; target=&quot;_top&quot; &gt;Octave - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/method-indexing-bug-tp26180168p26280904.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26280610</id>
	<title>Re: gnulib and automake</title>
	<published>2009-11-10T01:31:02Z</published>
	<updated>2009-11-10T01:31:02Z</updated>
	<author>
		<name>Michael D Godfrey-2</name>
	</author>
	<content type="html">&amp;gt;
&lt;br&gt;&amp;gt; This version of the patch should apply cleanly to the the current tip
&lt;br&gt;&amp;gt; of the public Octave hg archive on savannah. 
&lt;br&gt;Worked without problem on Fedora FC11 x86_64.
&lt;br&gt;&lt;br&gt;Michael
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---Maintainers-f1900.html&quot; embed=&quot;fixTarget[1900]&quot; target=&quot;_top&quot; &gt;Octave - Maintainers&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gnulib-and-automake-tp25480858p26280610.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26280306</id>
	<title>Re: gnulib and automake</title>
	<published>2009-11-10T01:02:00Z</published>
	<updated>2009-11-10T01:02:00Z</updated>
	<author>
		<name>David Grundberg-2</name>
	</author>
	<content type="html">John W. Eaton wrote:
&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I've placed another updated version of the automake patch here:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &lt;a href=&quot;http://jweaton.org/automake-diffs.gz&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jweaton.org/automake-diffs.gz&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This version of the patch should apply cleanly to the the current tip
&lt;br&gt;&amp;gt; of the public Octave hg archive on savannah. &amp;nbsp;I think it addresses all
&lt;br&gt;&amp;gt; problems reported so far. &amp;nbsp;If I've missed something, let me know
&lt;br&gt;&amp;gt; what's broken. &amp;nbsp;I'd like to check in this change within the next day
&lt;br&gt;&amp;gt; or two.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; jwe
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;/div&gt;I needed to add a backslash. Once I did that, it builds the executable 
&lt;br&gt;(but no documentation or check).
&lt;br&gt;&lt;br&gt;Attaching patch.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;David
&lt;br&gt;&lt;br&gt;&lt;br /&gt;diff -r 15d9caf60128 liboctave/Makefile.am
&lt;br&gt;--- a/liboctave/Makefile.am	Mon Nov 09 13:48:22 2009 -0500
&lt;br&gt;+++ b/liboctave/Makefile.am	Tue Nov 10 09:56:57 2009 +0100
&lt;br&gt;@@ -512,7 +512,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;liboctave_la_LIBADD = $(LINK_DEPS)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-liboctave_la_LDFLAGS = -release $(version) $(NO_UNDEFINED_LDFLAG)
&lt;br&gt;+liboctave_la_LDFLAGS = -release $(version) $(NO_UNDEFINED_LDFLAG) \
&lt;br&gt;&amp;nbsp; &amp;nbsp;$(SPARSE_XLDFLAGS) \
&lt;br&gt;&amp;nbsp; &amp;nbsp;$(ARPACK_LDFLAGS) \
&lt;br&gt;&amp;nbsp; &amp;nbsp;$(QRUPDATE_LDFLAGS) \
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---Maintainers-f1900.html&quot; embed=&quot;fixTarget[1900]&quot; target=&quot;_top&quot; &gt;Octave - Maintainers&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gnulib-and-automake-tp25480858p26280306.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26280000</id>
	<title>Re: gnulib and automake</title>
	<published>2009-11-10T00:38:11Z</published>
	<updated>2009-11-10T00:38:11Z</updated>
	<author>
		<name>Thomas Treichl</name>
	</author>
	<content type="html">John W. Eaton schrieb:
&lt;br&gt;&amp;gt; I've placed another updated version of the automake patch here:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &lt;a href=&quot;http://jweaton.org/automake-diffs.gz&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jweaton.org/automake-diffs.gz&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This version of the patch should apply cleanly to the the current tip
&lt;br&gt;&amp;gt; of the public Octave hg archive on savannah. &amp;nbsp;I think it addresses all
&lt;br&gt;&amp;gt; problems reported so far. &amp;nbsp;If I've missed something, let me know
&lt;br&gt;&amp;gt; what's broken. &amp;nbsp;I'd like to check in this change within the next day
&lt;br&gt;&amp;gt; or two.
&lt;br&gt;&lt;br&gt;Everything worked fine on Mac OS X 10.4.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;Thomas
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---Maintainers-f1900.html&quot; embed=&quot;fixTarget[1900]&quot; target=&quot;_top&quot; &gt;Octave - Maintainers&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gnulib-and-automake-tp25480858p26280000.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26276410</id>
	<title>Re: compiling java package on linux</title>
	<published>2009-11-09T16:44:47Z</published>
	<updated>2009-11-09T16:44:47Z</updated>
	<author>
		<name>nikorey</name>
	</author>
	<content type="html">Thanks Michael. &amp;nbsp;Besides replacing the __java__.cc file, I was able to get it working after the following 2 additional steps:
&lt;br&gt;&lt;br&gt;1) change the permissions of the /usr/lib/octave and /usr/share/octave directories to allow the writing of the generated directories and files (I tried installing the java package after starting octave with sudo but all the environment variables such as JAVA_HOME get lost when you do that)
&lt;br&gt;&lt;br&gt;2) created a directory called client under $JAVA_HOME/jre/lib/amd64 and then create a symlink from $JAVA_HOME/jre/lib/amd64/server/libjvm.so to $JAVA_HOME/jre/lib/amd64/client/libjvm.so
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;&lt;br&gt;Niko
&lt;br&gt;&lt;br&gt;&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;Michael Goffioul-2 wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;This is fixed in SVN. But there's been any new package release
&lt;br&gt;yet. However, you can grab the __java__.cc source file by browsing
&lt;br&gt;the source repository and update your package archive with it.
&lt;br&gt;&lt;br&gt;Michael.
&lt;br&gt;&lt;br&gt;On Mon, Nov 9, 2009 at 4:11 AM, nikorey &amp;lt;elliott@l1partners.com&amp;gt; wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Just install 3.2.2 from the package manager on ubuntu 9.10 and had not
&lt;br&gt;&amp;gt; problems. Now I am trying to install the java package and I get the
&lt;br&gt;&amp;gt; following error:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; octave:2&amp;gt; pkg -verbose  install java-1.2.6.tar.gz
&lt;br&gt;&amp;gt; mkdir (/tmp/oct-22PbG9)
&lt;br&gt;&amp;gt; untar (java-1.2.6.tar.gz, /tmp/oct-22PbG9)
&lt;br&gt;&amp;gt; checking for gcc... gcc
&lt;br&gt;&amp;gt; checking for C compiler default output file name... a.out
&lt;br&gt;&amp;gt; checking whether the C compiler works... yes
&lt;br&gt;&amp;gt; checking whether we are cross compiling... no
&lt;br&gt;&amp;gt; checking for suffix of executables...
&lt;br&gt;&amp;gt; checking for suffix of object files... o
&lt;br&gt;&amp;gt; checking whether we are using the GNU C compiler... yes
&lt;br&gt;&amp;gt; checking whether gcc accepts -g... yes
&lt;br&gt;&amp;gt; checking for gcc option to accept ISO C89... none needed
&lt;br&gt;&amp;gt; checking for mkoctfile... mkoctfile
&lt;br&gt;&amp;gt; retrieving compile and link flags from mkoctfile
&lt;br&gt;&amp;gt; checking for F77_FUNC... yes
&lt;br&gt;&amp;gt; checking for octave... octave
&lt;br&gt;&amp;gt; checking for OCTAVE_VERSION in Octave... 3.2.2
&lt;br&gt;&amp;gt; checking for octave_config_info('canonical_host_type') in Octave...
&lt;br&gt;&amp;gt; x86_64-pc-linux-gnu
&lt;br&gt;&amp;gt; checking for octave_config_info('SHLEXT') in Octave... so
&lt;br&gt;&amp;gt; checking whether ln -s works... yes
&lt;br&gt;&amp;gt; checking for ranlib... ranlib
&lt;br&gt;&amp;gt; checking for strip... strip
&lt;br&gt;&amp;gt; checking for java... java
&lt;br&gt;&amp;gt; checking for javac... javac
&lt;br&gt;&amp;gt; checking for jar... jar
&lt;br&gt;&amp;gt; checking for Java version... 1.6.0_0
&lt;br&gt;&amp;gt; configure: creating ./config.status
&lt;br&gt;&amp;gt; config.status: creating Makeconf
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;  &amp;quot;$prefix&amp;quot; is /usr/share/octave/packages/3.2/java-1.2.6
&lt;br&gt;&amp;gt;  &amp;quot;$exec_prefix&amp;quot; is ${prefix}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; octave commands will install into the following directories:
&lt;br&gt;&amp;gt;   m-files:   /usr/share/octave/3.2.2/site/m/octave-forge
&lt;br&gt;&amp;gt;   oct-files:
&lt;br&gt;&amp;gt; /usr/lib/octave/3.2.2/site/oct/x86_64-pc-linux-gnu/octave-forge
&lt;br&gt;&amp;gt;   binaries:  /usr/lib/octave/3.2.2/site/exec/x86_64-pc-linux-gnu
&lt;br&gt;&amp;gt; alternatives:
&lt;br&gt;&amp;gt;   m-files:   /usr/share/octave/3.2.2/site/octave-forge-alternatives/m
&lt;br&gt;&amp;gt;   oct-files:
&lt;br&gt;&amp;gt; /usr/lib/octave/3.2.2/site/octave-forge-alternatives/oct/x86_64-pc-linux-gnu
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; shell commands will install into the following directories:
&lt;br&gt;&amp;gt;   binaries:  ${exec_prefix}/bin
&lt;br&gt;&amp;gt;   man pages: ${datarootdir}/man
&lt;br&gt;&amp;gt;   libraries: ${exec_prefix}/lib
&lt;br&gt;&amp;gt;   headers:   ${prefix}/include
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; octave-forge is configured with
&lt;br&gt;&amp;gt;   octave:      octave (version 3.2.2)
&lt;br&gt;&amp;gt;   mkoctfile:   mkoctfile for Octave 2
&lt;br&gt;&amp;gt;   java:        yes
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; find . -name NOINSTALL -print    # shows which toolboxes won't be installed
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; __java__.cc: In member function ‘void JVMArgs::read_java_opts(const
&lt;br&gt;&amp;gt; std::string&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:106: error: ‘cerr’ is not a member of ‘std’
&lt;br&gt;&amp;gt; __java__.cc: In member function ‘void JVMArgs::update()’:
&lt;br&gt;&amp;gt; __java__.cc:137: error: ‘cout’ is not a member of ‘std’
&lt;br&gt;&amp;gt; __java__.cc: In function ‘void initialize_jvm()’:
&lt;br&gt;&amp;gt; __java__.cc:384: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In function ‘_jobject* make_java_index(JNIEnv*, const
&lt;br&gt;&amp;gt; octave_value_list&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:587: error: ‘class idx_vector’ has no member named ‘capacity’
&lt;br&gt;&amp;gt; __java__.cc:589: error: ‘class idx_vector’ has no member named ‘capacity’
&lt;br&gt;&amp;gt; __java__.cc: In function ‘octave_value get_array_elements(JNIEnv*,
&lt;br&gt;&amp;gt; _jobject*, const octave_value_list&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:611: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In function ‘octave_value set_array_elements(JNIEnv*,
&lt;br&gt;&amp;gt; _jobject*, const octave_value_list&amp;, const octave_value&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:633: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In function ‘string_vector get_invoke_list(JNIEnv*,
&lt;br&gt;&amp;gt; _jobject*)’:
&lt;br&gt;&amp;gt; __java__.cc:679: error: ‘class string_vector’ has no member named ‘qsort’
&lt;br&gt;&amp;gt; __java__.cc: In function ‘octave_value box(JNIEnv*, _jobject*, _jclass*)’:
&lt;br&gt;&amp;gt; __java__.cc:782: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc:847: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In function ‘int unbox(JNIEnv*, const octave_value&amp;,
&lt;br&gt;&amp;gt; jobject_ref&amp;, jclass_ref&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:987: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc:1051: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In function ‘int java_event_hook()’:
&lt;br&gt;&amp;gt; __java__.cc:1116: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In member function ‘octave_value
&lt;br&gt;&amp;gt; octave_java::do_java_invoke(JNIEnv*, const std::string&amp;, const
&lt;br&gt;&amp;gt; octave_value_list&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:1695: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In static member function ‘static octave_value
&lt;br&gt;&amp;gt; octave_java::do_java_invoke(JNIEnv*, const std::string&amp;, const std::string&amp;,
&lt;br&gt;&amp;gt; const octave_value_list&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:1720: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In static member function ‘static octave_value
&lt;br&gt;&amp;gt; octave_java::do_java_create(JNIEnv*, const std::string&amp;, const
&lt;br&gt;&amp;gt; octave_value_list&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:1745: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In member function ‘octave_value
&lt;br&gt;&amp;gt; octave_java::do_java_get(JNIEnv*, const std::string&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:1766: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In static member function ‘static octave_value
&lt;br&gt;&amp;gt; octave_java::do_java_get(JNIEnv*, const std::string&amp;, const std::string&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:1786: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In member function ‘octave_value
&lt;br&gt;&amp;gt; octave_java::do_java_set(JNIEnv*, const std::string&amp;, const octave_value&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:1812: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In static member function ‘static octave_value
&lt;br&gt;&amp;gt; octave_java::do_java_set(JNIEnv*, const std::string&amp;, const std::string&amp;,
&lt;br&gt;&amp;gt; const octave_value&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:1834: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; make: *** [__java__.oct] Error 1
&lt;br&gt;&amp;gt; 'make' returned the following error: make: Entering directory
&lt;br&gt;&amp;gt; `/tmp/oct-22PbG9/java-1.2.6/src'
&lt;br&gt;&amp;gt; if [ &amp;quot;Xamd64X&amp;quot; = &amp;quot;XX&amp;quot; ]; then \
&lt;br&gt;&amp;gt;                mkoctfile -DHAVE_OCTAVE_32 -v -DJAVAPKG_BUILD
&lt;br&gt;&amp;gt; -I/usr/lib/jvm/java-6-sun/include -I/usr/lib/jvm/java-6-sun/include/linux -o
&lt;br&gt;&amp;gt; __java__.oct __java__.cc ; \
&lt;br&gt;&amp;gt;        else \
&lt;br&gt;&amp;gt;                mkoctfile -DHAVE_OCTAVE_32 -v -DJAVAPKG_BUILD -DJAVA_ARCH=\\\&amp;quot;amd64\\\&amp;quot;
&lt;br&gt;&amp;gt; -DJAVA_HOME=\\\&amp;quot;/usr/lib/jvm/java-6-sun\\\&amp;quot;
&lt;br&gt;&amp;gt; -I/usr/lib/jvm/java-6-sun/include -I/usr/lib/jvm/java-6-sun/include/linux -o
&lt;br&gt;&amp;gt; __java__.oct __java__.cc ; \
&lt;br&gt;&amp;gt;        fi
&lt;br&gt;&amp;gt; g++ -c -fPIC -I/usr/include/octave-3.2.2 -I/usr/include/octave-3.2.2/octave
&lt;br&gt;&amp;gt; -I/usr/include/freetype2 -O2 -g -I/usr/lib/jvm/java-6-sun/include
&lt;br&gt;&amp;gt; -I/usr/lib/jvm/java-6-sun/include/linux -DHAVE_OCTAVE_32 -DJAVAPKG_BUILD
&lt;br&gt;&amp;gt; -DJAVA_ARCH=\&amp;quot;amd64\&amp;quot; -DJAVA_HOME=\&amp;quot;/usr/lib/jvm/java-6-sun\&amp;quot; __java__.cc -o
&lt;br&gt;&amp;gt; __java__.o
&lt;br&gt;&amp;gt; make: Leaving directory `/tmp/oct-22PbG9/java-1.2.6/src'
&lt;br&gt;&amp;gt; error: called from `pkg&amp;gt;configure_make' in file
&lt;br&gt;&amp;gt; /usr/share/octave/3.2.2/m/pkg/pkg.m near line 1253, column 2
&lt;br&gt;&amp;gt; error: called from:
&lt;br&gt;&amp;gt; error:   /usr/share/octave/3.2.2/m/pkg/pkg.m at line 714, column 5
&lt;br&gt;&amp;gt; error:   /usr/share/octave/3.2.2/m/pkg/pkg.m at line 287, column 7
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Any ideas?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; thanks
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; View this message in context: &lt;a href=&quot;http://old.nabble.com/compiling-java-package-on-linux-tp26261041p26261041.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/compiling-java-package-on-linux-tp26261041p26261041.html&lt;/a&gt;&lt;br&gt;&amp;gt; Sent from the Octave - General mailing list archive at Nabble.com.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Help-octave mailing list
&lt;br&gt;&amp;gt; Help-octave@octave.org
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Help-octave mailing list
&lt;br&gt;Help-octave@octave.org
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---General-f1897.html&quot; embed=&quot;fixTarget[1897]&quot; target=&quot;_top&quot; &gt;Octave - General&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/compiling-java-package-on-linux-tp26261041p26276410.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26276222</id>
	<title>[SOLVED] Re: qtoctave on Mac Os X 10.6 Snow Leopard - menus not working</title>
	<published>2009-11-09T16:21:51Z</published>
	<updated>2009-11-09T16:21:51Z</updated>
	<author>
		<name>coccoinomane</name>
	</author>
	<content type="html">Hello everybody,
&lt;br&gt;&lt;br&gt;just to point out that I solved my problem with menus in qtoctave. The merit goes to Ted Rippert, who in 
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://groups.google.com/group/qtoctave-english/browse_thread/thread/19187ee734e316cf/8344a04b4189a0e3?lnk=gst&amp;q=qtoctave#8344a04b4189a0e3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.google.com/group/qtoctave-english/browse_thread/thread/19187ee734e316cf/8344a04b4189a0e3?lnk=gst&amp;q=qtoctave#8344a04b4189a0e3&lt;/a&gt;&lt;br&gt;&lt;br&gt;suggested this solution:
&lt;br&gt;&lt;br&gt;&lt;i&gt;Just make 2 changes to mainwindow.cpp in the src directory of
&lt;br&gt;the unzipped code.
&lt;br&gt;&lt;br&gt;change line 216 to:
&lt;br&gt;menubar = new QMenuBar(0);
&lt;br&gt;&lt;br&gt;comment out line 237:
&lt;br&gt;//setMenuBar(menubar);
&lt;br&gt;&lt;br&gt;That's all it took. &amp;nbsp;Works great. &amp;nbsp;You could probably put an if_define
&lt;br&gt;switch in the code to make this only happen on macs if you wanted to
&lt;br&gt;put a patch into the main code version.
&lt;br&gt;&lt;br&gt;By the way, I did install easy_plot and it works fine, but I had to
&lt;br&gt;make sure that I had set the environment variable GNUTERM=x11. &amp;nbsp;If
&lt;br&gt;it's set to aqua, then you just get an empty window in easy_plot. 
&lt;br&gt;&lt;/i&gt;&lt;br&gt;&lt;br&gt;Hope it helps :) ... and I swear this is my last post on qtoctave!
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;&lt;br&gt;G.
&lt;br&gt;&lt;br&gt;&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;coccoinomane wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;Hi all!
&lt;br&gt;&lt;br&gt;I succesfully installed and compiled qtoctave (&lt;a href=&quot;http://qtoctave.wordpress.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://qtoctave.wordpress.com/&lt;/a&gt;&amp;nbsp;
&lt;br&gt;) in my MacBook Pro running Mac Os X 10.6 aka Snow Leopard with QT &amp;nbsp;
&lt;br&gt;4.5.3. I strongly suggest this gui, it has functionality which in my &amp;nbsp;
&lt;br&gt;opinion are, to some extent, even better than Matlab gui.
&lt;br&gt;&lt;br&gt;Everythink is working fine, but I have two problems:
&lt;br&gt;&lt;br&gt;1) Menus won’t load; both default ones in /usr/local/share/qtoctave/ 
&lt;br&gt;menus and custom ones in ~/.qtoctave/menus won’t show up in the menu &amp;nbsp;
&lt;br&gt;bar. The only entry is the useless ‘qtoctave’. The only exception is &amp;nbsp;
&lt;br&gt;when the focus is on the editor window, where I can see the defualt &amp;nbsp;
&lt;br&gt;editing menus (View, File, Edit, Run, Tools, Config). I can use &amp;nbsp;
&lt;br&gt;qtoctave without menus, but I really would like to enable them;
&lt;br&gt;&lt;br&gt;2) I do not know how to use easy_plot. This is not a bug, it is just &amp;nbsp;
&lt;br&gt;my ignorance :)
&lt;br&gt;&lt;br&gt;On a side note, did anybody manage to install the QT terminal for &amp;nbsp;
&lt;br&gt;gnuplot on Snow Leopard? I get plenty of errors when compiling gnuplot &amp;nbsp;
&lt;br&gt;witht the –eneable-qt option…
&lt;br&gt;&lt;br&gt;Thank you very much for any help!
&lt;br&gt;&lt;br&gt;Guido
&lt;br&gt;_______________________________________________
&lt;br&gt;Help-octave mailing list
&lt;br&gt;Help-octave@octave.org
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---General-f1897.html&quot; embed=&quot;fixTarget[1897]&quot; target=&quot;_top&quot; &gt;Octave - General&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/qtoctave-on-Mac-Os-X-10.6-Snow-Leopard---menus-not-working-tp26095966p26276222.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26274590</id>
	<title>Re: compiling java package on linux</title>
	<published>2009-11-09T14:03:00Z</published>
	<updated>2009-11-09T14:03:00Z</updated>
	<author>
		<name>Michael Goffioul-2</name>
	</author>
	<content type="html">This is fixed in SVN. But there's been any new package release
&lt;br&gt;yet. However, you can grab the __java__.cc source file by browsing
&lt;br&gt;the source repository and update your package archive with it.
&lt;br&gt;&lt;br&gt;Michael.
&lt;br&gt;&lt;br&gt;On Mon, Nov 9, 2009 at 4:11 AM, nikorey &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26274590&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;elliott@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Just install 3.2.2 from the package manager on ubuntu 9.10 and had not
&lt;br&gt;&amp;gt; problems. Now I am trying to install the java package and I get the
&lt;br&gt;&amp;gt; following error:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; octave:2&amp;gt; pkg -verbose  install java-1.2.6.tar.gz
&lt;br&gt;&amp;gt; mkdir (/tmp/oct-22PbG9)
&lt;br&gt;&amp;gt; untar (java-1.2.6.tar.gz, /tmp/oct-22PbG9)
&lt;br&gt;&amp;gt; checking for gcc... gcc
&lt;br&gt;&amp;gt; checking for C compiler default output file name... a.out
&lt;br&gt;&amp;gt; checking whether the C compiler works... yes
&lt;br&gt;&amp;gt; checking whether we are cross compiling... no
&lt;br&gt;&amp;gt; checking for suffix of executables...
&lt;br&gt;&amp;gt; checking for suffix of object files... o
&lt;br&gt;&amp;gt; checking whether we are using the GNU C compiler... yes
&lt;br&gt;&amp;gt; checking whether gcc accepts -g... yes
&lt;br&gt;&amp;gt; checking for gcc option to accept ISO C89... none needed
&lt;br&gt;&amp;gt; checking for mkoctfile... mkoctfile
&lt;br&gt;&amp;gt; retrieving compile and link flags from mkoctfile
&lt;br&gt;&amp;gt; checking for F77_FUNC... yes
&lt;br&gt;&amp;gt; checking for octave... octave
&lt;br&gt;&amp;gt; checking for OCTAVE_VERSION in Octave... 3.2.2
&lt;br&gt;&amp;gt; checking for octave_config_info('canonical_host_type') in Octave...
&lt;br&gt;&amp;gt; x86_64-pc-linux-gnu
&lt;br&gt;&amp;gt; checking for octave_config_info('SHLEXT') in Octave... so
&lt;br&gt;&amp;gt; checking whether ln -s works... yes
&lt;br&gt;&amp;gt; checking for ranlib... ranlib
&lt;br&gt;&amp;gt; checking for strip... strip
&lt;br&gt;&amp;gt; checking for java... java
&lt;br&gt;&amp;gt; checking for javac... javac
&lt;br&gt;&amp;gt; checking for jar... jar
&lt;br&gt;&amp;gt; checking for Java version... 1.6.0_0
&lt;br&gt;&amp;gt; configure: creating ./config.status
&lt;br&gt;&amp;gt; config.status: creating Makeconf
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;  &amp;quot;$prefix&amp;quot; is /usr/share/octave/packages/3.2/java-1.2.6
&lt;br&gt;&amp;gt;  &amp;quot;$exec_prefix&amp;quot; is ${prefix}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; octave commands will install into the following directories:
&lt;br&gt;&amp;gt;   m-files:   /usr/share/octave/3.2.2/site/m/octave-forge
&lt;br&gt;&amp;gt;   oct-files:
&lt;br&gt;&amp;gt; /usr/lib/octave/3.2.2/site/oct/x86_64-pc-linux-gnu/octave-forge
&lt;br&gt;&amp;gt;   binaries:  /usr/lib/octave/3.2.2/site/exec/x86_64-pc-linux-gnu
&lt;br&gt;&amp;gt; alternatives:
&lt;br&gt;&amp;gt;   m-files:   /usr/share/octave/3.2.2/site/octave-forge-alternatives/m
&lt;br&gt;&amp;gt;   oct-files:
&lt;br&gt;&amp;gt; /usr/lib/octave/3.2.2/site/octave-forge-alternatives/oct/x86_64-pc-linux-gnu
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; shell commands will install into the following directories:
&lt;br&gt;&amp;gt;   binaries:  ${exec_prefix}/bin
&lt;br&gt;&amp;gt;   man pages: ${datarootdir}/man
&lt;br&gt;&amp;gt;   libraries: ${exec_prefix}/lib
&lt;br&gt;&amp;gt;   headers:   ${prefix}/include
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; octave-forge is configured with
&lt;br&gt;&amp;gt;   octave:      octave (version 3.2.2)
&lt;br&gt;&amp;gt;   mkoctfile:   mkoctfile for Octave 2
&lt;br&gt;&amp;gt;   java:        yes
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; find . -name NOINSTALL -print    # shows which toolboxes won't be installed
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; __java__.cc: In member function ‘void JVMArgs::read_java_opts(const
&lt;br&gt;&amp;gt; std::string&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:106: error: ‘cerr’ is not a member of ‘std’
&lt;br&gt;&amp;gt; __java__.cc: In member function ‘void JVMArgs::update()’:
&lt;br&gt;&amp;gt; __java__.cc:137: error: ‘cout’ is not a member of ‘std’
&lt;br&gt;&amp;gt; __java__.cc: In function ‘void initialize_jvm()’:
&lt;br&gt;&amp;gt; __java__.cc:384: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In function ‘_jobject* make_java_index(JNIEnv*, const
&lt;br&gt;&amp;gt; octave_value_list&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:587: error: ‘class idx_vector’ has no member named ‘capacity’
&lt;br&gt;&amp;gt; __java__.cc:589: error: ‘class idx_vector’ has no member named ‘capacity’
&lt;br&gt;&amp;gt; __java__.cc: In function ‘octave_value get_array_elements(JNIEnv*,
&lt;br&gt;&amp;gt; _jobject*, const octave_value_list&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:611: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In function ‘octave_value set_array_elements(JNIEnv*,
&lt;br&gt;&amp;gt; _jobject*, const octave_value_list&amp;, const octave_value&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:633: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In function ‘string_vector get_invoke_list(JNIEnv*,
&lt;br&gt;&amp;gt; _jobject*)’:
&lt;br&gt;&amp;gt; __java__.cc:679: error: ‘class string_vector’ has no member named ‘qsort’
&lt;br&gt;&amp;gt; __java__.cc: In function ‘octave_value box(JNIEnv*, _jobject*, _jclass*)’:
&lt;br&gt;&amp;gt; __java__.cc:782: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc:847: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In function ‘int unbox(JNIEnv*, const octave_value&amp;,
&lt;br&gt;&amp;gt; jobject_ref&amp;, jclass_ref&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:987: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc:1051: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In function ‘int java_event_hook()’:
&lt;br&gt;&amp;gt; __java__.cc:1116: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In member function ‘octave_value
&lt;br&gt;&amp;gt; octave_java::do_java_invoke(JNIEnv*, const std::string&amp;, const
&lt;br&gt;&amp;gt; octave_value_list&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:1695: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In static member function ‘static octave_value
&lt;br&gt;&amp;gt; octave_java::do_java_invoke(JNIEnv*, const std::string&amp;, const std::string&amp;,
&lt;br&gt;&amp;gt; const octave_value_list&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:1720: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In static member function ‘static octave_value
&lt;br&gt;&amp;gt; octave_java::do_java_create(JNIEnv*, const std::string&amp;, const
&lt;br&gt;&amp;gt; octave_value_list&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:1745: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In member function ‘octave_value
&lt;br&gt;&amp;gt; octave_java::do_java_get(JNIEnv*, const std::string&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:1766: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In static member function ‘static octave_value
&lt;br&gt;&amp;gt; octave_java::do_java_get(JNIEnv*, const std::string&amp;, const std::string&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:1786: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In member function ‘octave_value
&lt;br&gt;&amp;gt; octave_java::do_java_set(JNIEnv*, const std::string&amp;, const octave_value&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:1812: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; __java__.cc: In static member function ‘static octave_value
&lt;br&gt;&amp;gt; octave_java::do_java_set(JNIEnv*, const std::string&amp;, const std::string&amp;,
&lt;br&gt;&amp;gt; const octave_value&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:1834: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&amp;gt; make: *** [__java__.oct] Error 1
&lt;br&gt;&amp;gt; 'make' returned the following error: make: Entering directory
&lt;br&gt;&amp;gt; `/tmp/oct-22PbG9/java-1.2.6/src'
&lt;br&gt;&amp;gt; if [ &amp;quot;Xamd64X&amp;quot; = &amp;quot;XX&amp;quot; ]; then \
&lt;br&gt;&amp;gt;                mkoctfile -DHAVE_OCTAVE_32 -v -DJAVAPKG_BUILD
&lt;br&gt;&amp;gt; -I/usr/lib/jvm/java-6-sun/include -I/usr/lib/jvm/java-6-sun/include/linux -o
&lt;br&gt;&amp;gt; __java__.oct __java__.cc ; \
&lt;br&gt;&amp;gt;        else \
&lt;br&gt;&amp;gt;                mkoctfile -DHAVE_OCTAVE_32 -v -DJAVAPKG_BUILD -DJAVA_ARCH=\\\&amp;quot;amd64\\\&amp;quot;
&lt;br&gt;&amp;gt; -DJAVA_HOME=\\\&amp;quot;/usr/lib/jvm/java-6-sun\\\&amp;quot;
&lt;br&gt;&amp;gt; -I/usr/lib/jvm/java-6-sun/include -I/usr/lib/jvm/java-6-sun/include/linux -o
&lt;br&gt;&amp;gt; __java__.oct __java__.cc ; \
&lt;br&gt;&amp;gt;        fi
&lt;br&gt;&amp;gt; g++ -c -fPIC -I/usr/include/octave-3.2.2 -I/usr/include/octave-3.2.2/octave
&lt;br&gt;&amp;gt; -I/usr/include/freetype2 -O2 -g -I/usr/lib/jvm/java-6-sun/include
&lt;br&gt;&amp;gt; -I/usr/lib/jvm/java-6-sun/include/linux -DHAVE_OCTAVE_32 -DJAVAPKG_BUILD
&lt;br&gt;&amp;gt; -DJAVA_ARCH=\&amp;quot;amd64\&amp;quot; -DJAVA_HOME=\&amp;quot;/usr/lib/jvm/java-6-sun\&amp;quot; __java__.cc -o
&lt;br&gt;&amp;gt; __java__.o
&lt;br&gt;&amp;gt; make: Leaving directory `/tmp/oct-22PbG9/java-1.2.6/src'
&lt;br&gt;&amp;gt; error: called from `pkg&amp;gt;configure_make' in file
&lt;br&gt;&amp;gt; /usr/share/octave/3.2.2/m/pkg/pkg.m near line 1253, column 2
&lt;br&gt;&amp;gt; error: called from:
&lt;br&gt;&amp;gt; error:   /usr/share/octave/3.2.2/m/pkg/pkg.m at line 714, column 5
&lt;br&gt;&amp;gt; error:   /usr/share/octave/3.2.2/m/pkg/pkg.m at line 287, column 7
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Any ideas?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; thanks
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; View this message in context: &lt;a href=&quot;http://old.nabble.com/compiling-java-package-on-linux-tp26261041p26261041.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/compiling-java-package-on-linux-tp26261041p26261041.html&lt;/a&gt;&lt;br&gt;&amp;gt; Sent from the Octave - General mailing list archive at Nabble.com.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Help-octave mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26274590&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Help-octave@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Help-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26274590&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Help-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---General-f1897.html&quot; embed=&quot;fixTarget[1897]&quot; target=&quot;_top&quot; &gt;Octave - General&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/compiling-java-package-on-linux-tp26261041p26274590.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26274064</id>
	<title>Re: Build error: __init_fltk__ missing</title>
	<published>2009-11-09T13:31:13Z</published>
	<updated>2009-11-09T13:31:13Z</updated>
	<author>
		<name>Michael D Godfrey-2</name>
	</author>
	<content type="html">Program received signal SIGSEGV, Segmentation fault.
&lt;br&gt;0x000000396727f440 in ?? () from /usr/lib64/nvidia/libGL.so.1
&lt;br&gt;&lt;br&gt;I tried a build without the new automake and it fails the same
&lt;br&gt;way. &amp;nbsp;My experience is that while OpenGL does lots of good
&lt;br&gt;stuff, it also has its share of quirks. &amp;nbsp;This is one of them.
&lt;br&gt;&lt;br&gt;Michael
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---Maintainers-f1900.html&quot; embed=&quot;fixTarget[1900]&quot; target=&quot;_top&quot; &gt;Octave - Maintainers&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Build-error%3A-__init_fltk__-missing-tp26214139p26274064.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26273920</id>
	<title>Re: gnulib and automake</title>
	<published>2009-11-09T12:36:15Z</published>
	<updated>2009-11-09T12:36:15Z</updated>
	<author>
		<name>Benjamin Lindner</name>
	</author>
	<content type="html">John W. Eaton wrote:
&lt;br&gt;&amp;gt; I've placed another updated version of the automake patch here:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &lt;a href=&quot;http://jweaton.org/automake-diffs.gz&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jweaton.org/automake-diffs.gz&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This version of the patch should apply cleanly to the the current tip
&lt;br&gt;&amp;gt; of the public Octave hg archive on savannah. &amp;nbsp;I think it addresses all
&lt;br&gt;&amp;gt; problems reported so far. &amp;nbsp;If I've missed something, let me know
&lt;br&gt;&amp;gt; what's broken. &amp;nbsp;I'd like to check in this change within the next day
&lt;br&gt;&amp;gt; or two.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Ok, not sure if I picked up the last updated patch or not, so I
&lt;br&gt;rechecked.
&lt;br&gt;Works fine until building the documentation, which I expect to fail
&lt;br&gt;at the current stage.
&lt;br&gt;&lt;br&gt;benjamin
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---Maintainers-f1900.html&quot; embed=&quot;fixTarget[1900]&quot; target=&quot;_top&quot; &gt;Octave - Maintainers&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gnulib-and-automake-tp25480858p26273920.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26273062</id>
	<title>Re: compiling java package on linux</title>
	<published>2009-11-09T12:20:47Z</published>
	<updated>2009-11-09T12:20:47Z</updated>
	<author>
		<name>Thomas Weber-8</name>
	</author>
	<content type="html">On Sun, Nov 08, 2009 at 08:11:13PM -0800, nikorey wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Just install 3.2.2 from the package manager on ubuntu 9.10 and had not
&lt;br&gt;&amp;gt; problems. Now I am trying to install the java package and I get the
&lt;br&gt;&amp;gt; following error:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; octave:2&amp;gt; pkg -verbose &amp;nbsp;install java-1.2.6.tar.gz
&lt;br&gt;&lt;br&gt;&amp;lt;snip&amp;gt;
&lt;br&gt;&amp;gt; __java__.cc: In member function ‘void JVMArgs::read_java_opts(const
&lt;br&gt;&amp;gt; std::string&amp;)’:
&lt;br&gt;&amp;gt; __java__.cc:106: error: ‘cerr’ is not a member of ‘std’
&lt;br&gt;&amp;gt; __java__.cc: In member function ‘void JVMArgs::update()’:
&lt;br&gt;&amp;gt; __java__.cc:137: error: ‘cout’ is not a member of ‘std’
&lt;br&gt;&amp;gt; __java__.cc: In function ‘void initialize_jvm()’:
&lt;br&gt;&amp;gt; __java__.cc:384: warning: deprecated conversion from string constant to
&lt;br&gt;&amp;gt; ‘char*’
&lt;br&gt;&lt;br&gt;Please post the output of 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; gcc --version
&lt;br&gt;&lt;br&gt;I suspect a 4.4 version, which doesn't include quite some header files
&lt;br&gt;by default.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Thomas
&lt;br&gt;_______________________________________________
&lt;br&gt;Help-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26273062&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Help-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---General-f1897.html&quot; embed=&quot;fixTarget[1897]&quot; target=&quot;_top&quot; &gt;Octave - General&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/compiling-java-package-on-linux-tp26261041p26273062.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26273096</id>
	<title>Re: gnulib and automake</title>
	<published>2009-11-09T12:08:18Z</published>
	<updated>2009-11-09T12:08:18Z</updated>
	<author>
		<name>Benjamin Lindner</name>
	</author>
	<content type="html">John W. Eaton wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Ah, but Windows doesn't have symbolic links and $(LN_S) is just cp, so
&lt;br&gt;&amp;gt; I guess this fails. &amp;nbsp;
&lt;br&gt;&lt;br&gt;Windows has a kind of &amp;quot;symbolic links&amp;quot;, but only with absolute paths,
&lt;br&gt;not with relative paths. But I'm not sure if they are supported in msys.
&lt;br&gt;So you can't do what you can do with links on unix filesystems
&lt;br&gt;&lt;br&gt;&amp;gt; OK, I think what we need to do is
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; cd DLD-FUNCTIONS &amp;&amp; $(LN_S) .libs/foo.dll foo.oct
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; so that it will work correctly with either cp or &amp;quot;ln -s&amp;quot;. &amp;nbsp;I've made a
&lt;br&gt;&amp;gt; change that should do this correctly now. &amp;nbsp;The updated versinon of my
&lt;br&gt;&amp;gt; patch is now on &lt;a href=&quot;http://jweaton.org/automake-diffs.gz&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jweaton.org/automake-diffs.gz&lt;/a&gt;. This version of
&lt;br&gt;&amp;gt; the patch includes all the other changes I made on Friday.
&lt;br&gt;&lt;br&gt;Works fine,
&lt;br&gt;make now completes beyond building all dld-functions.
&lt;br&gt;It's stuck building the doumentation, but I expected that.
&lt;br&gt;I need to translate my local patches and get shared libstdc++ working
&lt;br&gt;with libtool to get octave finally up and running
&lt;br&gt;&lt;br&gt;thanks so far
&lt;br&gt;benjamin
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---Maintainers-f1900.html&quot; embed=&quot;fixTarget[1900]&quot; target=&quot;_top&quot; &gt;Octave - Maintainers&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gnulib-and-automake-tp25480858p26273096.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26272789</id>
	<title>Re: single/double precision in C++</title>
	<published>2009-11-09T11:57:37Z</published>
	<updated>2009-11-09T11:57:37Z</updated>
	<author>
		<name>Sergei Steshenko-2</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;--- On Mon, 11/9/09, Peter L. Søndergaard &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26272789&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;peter@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; From: Peter L. Søndergaard &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26272789&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;peter@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; Subject: single/double precision in C++
&lt;br&gt;&amp;gt; To: &amp;quot;Octave users list&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26272789&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;help-octave@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; Date: Monday, November 9, 2009, 5:13 AM
&lt;br&gt;&amp;gt; Hello everyone,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I am writing Octave interfaces for a library I have
&lt;br&gt;&amp;gt; developed (see LTFAT
&lt;br&gt;&amp;gt; on sourceforge). The interface should be able to handle
&lt;br&gt;&amp;gt; both real and
&lt;br&gt;&amp;gt; complex input in both single and double precision.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This leads to code like the one further down this email.
&lt;br&gt;&amp;gt; The code works,
&lt;br&gt;&amp;gt; but there is a lot of duplication, because I end up having
&lt;br&gt;&amp;gt; 4 different
&lt;br&gt;&amp;gt; cases to handle all situations. In the end, something like
&lt;br&gt;&amp;gt; this is
&lt;br&gt;&amp;gt; necessary, because I need to call 4 different C functions,
&lt;br&gt;&amp;gt; but still I
&lt;br&gt;&amp;gt; would hope that there was a more clever way of writing the
&lt;br&gt;&amp;gt; function.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Any suggestions would be most welcome, because I have to do
&lt;br&gt;&amp;gt; it for
&lt;br&gt;&amp;gt; around 20 different functions.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Peter.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; And here is the current code:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; #include &amp;lt;octave/oct.h&amp;gt;
&lt;br&gt;&amp;gt; #include &amp;quot;config.h&amp;quot;
&lt;br&gt;&amp;gt; #include &amp;quot;ltfat.h&amp;quot;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; DEFUN_DLD (comp_dgt_fac, args, ,
&lt;br&gt;&amp;gt;   &amp;quot;This function calls the C-library\n\
&lt;br&gt;&amp;gt;   c=comp_dgt_fac(f,gf,a,M);\n\
&lt;br&gt;&amp;gt;   Yeah.&amp;quot;)
&lt;br&gt;&amp;gt; {
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;   const bool f_is_complex  =
&lt;br&gt;&amp;gt; args(0).is_complex_type();
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;   const int a = args(2).int_value();
&lt;br&gt;&amp;gt;   const int M = args(3).int_value();
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;   if (f_is_complex)
&lt;br&gt;&amp;gt;   {
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;      if (args(0).is_double_type())
&lt;br&gt;&amp;gt;      {
&lt;br&gt;&amp;gt;     const ComplexMatrix f =
&lt;br&gt;&amp;gt; args(0).complex_matrix_value();
&lt;br&gt;&amp;gt;     const ComplexMatrix gf =
&lt;br&gt;&amp;gt; args(1).complex_matrix_value();
&lt;br&gt;&amp;gt;     
&lt;br&gt;&amp;gt;     const int L = f.rows();
&lt;br&gt;&amp;gt;     const int W = f.columns();
&lt;br&gt;&amp;gt;     const int R = gf.rows()*gf.columns()/L;
&lt;br&gt;&amp;gt;     
&lt;br&gt;&amp;gt;     const int N = L/a;
&lt;br&gt;&amp;gt;     
&lt;br&gt;&amp;gt;     ComplexMatrix cout(M,N*W*R);  
&lt;br&gt;&amp;gt;     
&lt;br&gt;&amp;gt;    
&lt;br&gt;&amp;gt; dgt_fac((ltfat_complex*)f.data(),(ltfat_complex*)gf.data(),
&lt;br&gt;&amp;gt;         L, W, R, a,
&lt;br&gt;&amp;gt; M,(ltfat_complex*)cout.data());
&lt;br&gt;&amp;gt;     
&lt;br&gt;&amp;gt;     return octave_value (cout);
&lt;br&gt;&amp;gt;      
&lt;br&gt;&amp;gt;      }
&lt;br&gt;&amp;gt;      else
&lt;br&gt;&amp;gt;      {
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;     const FloatComplexMatrix f =
&lt;br&gt;&amp;gt; args(0).float_complex_matrix_value();
&lt;br&gt;&amp;gt;     const FloatComplexMatrix gf =
&lt;br&gt;&amp;gt; args(1).float_complex_matrix_value();
&lt;br&gt;&amp;gt;     
&lt;br&gt;&amp;gt;     const int L = f.rows();
&lt;br&gt;&amp;gt;     const int W = f.columns();
&lt;br&gt;&amp;gt;     const int R = gf.rows()*gf.columns()/L;
&lt;br&gt;&amp;gt;     
&lt;br&gt;&amp;gt;     const int N = L/a;
&lt;br&gt;&amp;gt;     
&lt;br&gt;&amp;gt;     FloatComplexMatrix cout(M,N*W*R); 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;     
&lt;br&gt;&amp;gt;    
&lt;br&gt;&amp;gt; sdgt_fac((ltfat_scomplex*)f.data(),(ltfat_scomplex*)gf.data(),
&lt;br&gt;&amp;gt;         L, W, R, a,
&lt;br&gt;&amp;gt; M,(ltfat_scomplex*)cout.data());
&lt;br&gt;&amp;gt;     
&lt;br&gt;&amp;gt;     return octave_value (cout);
&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;   else
&lt;br&gt;&amp;gt;   {
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;      if (args(0).is_double_type())
&lt;br&gt;&amp;gt;      {
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;     const Matrix f =
&lt;br&gt;&amp;gt; args(0).matrix_value();
&lt;br&gt;&amp;gt;     const ComplexMatrix gf =
&lt;br&gt;&amp;gt; args(1).complex_matrix_value();
&lt;br&gt;&amp;gt;     
&lt;br&gt;&amp;gt;     const int L = f.rows();
&lt;br&gt;&amp;gt;     const int W = f.columns();
&lt;br&gt;&amp;gt;     const int R = gf.rows()*gf.columns()/L;
&lt;br&gt;&amp;gt;     
&lt;br&gt;&amp;gt;     const int N = L/a;
&lt;br&gt;&amp;gt;     
&lt;br&gt;&amp;gt;     ComplexMatrix cout(M,N*W*R);  
&lt;br&gt;&amp;gt;     
&lt;br&gt;&amp;gt;    
&lt;br&gt;&amp;gt; dgt_fac_r((double*)f.data(),(ltfat_complex*)gf.data(),
&lt;br&gt;&amp;gt;           L, W, R, a,
&lt;br&gt;&amp;gt; M,(ltfat_complex*)cout.data());
&lt;br&gt;&amp;gt;     
&lt;br&gt;&amp;gt;     return octave_value (cout);
&lt;br&gt;&amp;gt;     
&lt;br&gt;&amp;gt;      }
&lt;br&gt;&amp;gt;      else
&lt;br&gt;&amp;gt;      {
&lt;br&gt;&amp;gt;     const FloatMatrix f =
&lt;br&gt;&amp;gt; args(0).float_matrix_value();
&lt;br&gt;&amp;gt;     const FloatComplexMatrix gf =
&lt;br&gt;&amp;gt; args(1).float_complex_matrix_value();
&lt;br&gt;&amp;gt;     
&lt;br&gt;&amp;gt;     const int L = f.rows();
&lt;br&gt;&amp;gt;     const int W = f.columns();
&lt;br&gt;&amp;gt;     const int R = gf.rows()*gf.columns()/L;
&lt;br&gt;&amp;gt;     
&lt;br&gt;&amp;gt;     const int N = L/a;
&lt;br&gt;&amp;gt;     
&lt;br&gt;&amp;gt;     FloatComplexMatrix cout(M,N*W*R); 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;     
&lt;br&gt;&amp;gt;    
&lt;br&gt;&amp;gt; sdgt_fac_r((float*)f.data(),(ltfat_scomplex*)gf.data(),
&lt;br&gt;&amp;gt;           L, W, R, a,
&lt;br&gt;&amp;gt; M,(ltfat_scomplex*)cout.data());
&lt;br&gt;&amp;gt;     
&lt;br&gt;&amp;gt;     return octave_value (cout);
&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;/div&gt;&lt;br&gt;I would write a macro (and in C++, I think, it is possible to write a
&lt;br&gt;&amp;quot;fancier&amp;quot; template class/function, though I'm not an expert in C++).
&lt;br&gt;&lt;br&gt;I have a similar (float/double, float complex/double complex) situattion
&lt;br&gt;in my (non-octave) code, and macros serve me pretty well.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&amp;nbsp; Sergei.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Help-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26272789&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Help-octave@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www-old.cae.wisc.edu/mailman/listinfo/help-octave&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---General-f1897.html&quot; embed=&quot;fixTarget[1897]&quot; target=&quot;_top&quot; &gt;Octave - General&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/single-double-precision-in-C%2B%2B-tp26266776p26272789.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26272211</id>
	<title>Re: gnulib and automake</title>
	<published>2009-11-09T11:23:30Z</published>
	<updated>2009-11-09T11:23:30Z</updated>
	<author>
		<name>John W. Eaton-3</name>
	</author>
	<content type="html">I've placed another updated version of the automake patch here:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &lt;a href=&quot;http://jweaton.org/automake-diffs.gz&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jweaton.org/automake-diffs.gz&lt;/a&gt;&lt;br&gt;&lt;br&gt;This version of the patch should apply cleanly to the the current tip
&lt;br&gt;of the public Octave hg archive on savannah. &amp;nbsp;I think it addresses all
&lt;br&gt;problems reported so far. &amp;nbsp;If I've missed something, let me know
&lt;br&gt;what's broken. &amp;nbsp;I'd like to check in this change within the next day
&lt;br&gt;or two.
&lt;br&gt;&lt;br&gt;jwe
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---Maintainers-f1900.html&quot; embed=&quot;fixTarget[1900]&quot; target=&quot;_top&quot; &gt;Octave - Maintainers&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gnulib-and-automake-tp25480858p26272211.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26271661</id>
	<title>Re: plotyy force dataaspectratio</title>
	<published>2009-11-09T10:46:00Z</published>
	<updated>2009-11-09T10:46:00Z</updated>
	<author>
		<name>Ben Abbott</name>
	</author>
	<content type="html">On Monday, November 09, 2009, at 09:09AM, &amp;quot;Christoph Ellenberger&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26271661&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;C.Ellenberger@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;-------- Original-Nachricht --------
&lt;br&gt;&amp;gt;&amp;gt; Datum: Mon, 09 Nov 2009 07:46:21 -0500
&lt;br&gt;&amp;gt;&amp;gt; Von: Ben Abbott &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26271661&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bpabbott@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; An: Christoph Ellenberger &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26271661&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;C.Ellenberger@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; CC: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26271661&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bug-octave@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; Betreff: Re: plotyy force dataaspectratio
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; On Nov 9, 2009, at 6:17 AM, Christoph Ellenberger wrote:
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; I am using the regular mingw snapshots for windows. Some of my &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; scripts got broken when I updated from 3.2.0 to 3.2.2/3. It is about &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; using two axis plots with plotyy. The problem is that after I change &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; axis properties the plot of the second axis gets way too small (see &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; fig). I traced it down to the update_position function in plotyy &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; where the dataaspectratio property from the first axis is forced &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; onto the second axis which does not make sense. Now I don't know &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; what the intended behaviour of this function would have been or if &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; the function is called somewhere with the wrong axes handles but as &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; far as I understand it, it should be reverted to the 3.2.0 version &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; as it only updates the positioning, which in my opinion does not &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; change the aspectratio...
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; 3.2.2/3
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; function update_position (h, d, ax2)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp;persistent recursion = false;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp;## Don't allow recursion
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp;if (! recursion)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;unwind_protect
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;recursion = true;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;position = get (h, &amp;quot;position&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;view = get (h, &amp;quot;view&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;dataaspectratio = get (h, &amp;quot;dataaspectratio&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;oldposition = get (ax2, &amp;quot;position&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;oldview = get (ax2, &amp;quot;view&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;olddataaspectratio = get (ax2, &amp;quot;dataaspectratio&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (! (isequal (position, oldposition)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;&amp; isequal (view, oldview)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;&amp; isequal (dataaspectratio, olddataaspectratio)))
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; 	set (ax2, &amp;quot;position&amp;quot;, position,
&lt;br&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;quot;view&amp;quot;, view,
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; 		 &amp;nbsp;&amp;quot;dataaspectratio&amp;quot;, dataaspectratio);
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;endif
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;unwind_protect_cleanup
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;recursion = false;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;end_unwind_protect
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp;endif
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; endfunction
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; 3.2.0 and my suggestion
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; function update_position (h, d, ax2)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp;persistent recursion = false;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp;## Don't allow recursion
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp;if (! recursion)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;unwind_protect
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;recursion = true;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;position = get (h, &amp;quot;position&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;view = get (h, &amp;quot;view&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;oldposition = get (ax2, &amp;quot;position&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;oldview = get (ax2, &amp;quot;view&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (! (isequal (position, oldposition) &amp;&amp; isequal (view, &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; oldview)))
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; 	set (ax2, &amp;quot;position&amp;quot;, position, &amp;quot;view&amp;quot;, view);
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;endif
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;unwind_protect_cleanup
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;recursion = false;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;end_unwind_protect
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp;endif
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; endfunction
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; thanks in advance
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; christoph
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Please verify that your proposed change works for the demos. You can &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; do that by starting Octave and typing ...
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 	demo plotyy
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Also, it would be useful to add a new demo for your case. Can you give &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; us a simple example where 3.2.3 produces the wrong result?
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Ben
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;I tested the demos and they still work, though as I said the error might be at a different spot. Because the problem occurs when calling the axis command on the second axis itself (using the first works well), so it might be that the axis command is calling update_position with a wrong handle set, but I haven't actually found from where this function is called. I only saw that it is copying the dataaspectratio from axis1 to axis2 as it is called with h=handle axis1 and ax2=handle axis2
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;So here is my &amp;quot;simple example&amp;quot;:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;x=1:8;
&lt;br&gt;&amp;gt;y=7000:20:7140;
&lt;br&gt;&amp;gt;y2=repmat(2,1,8);
&lt;br&gt;&amp;gt;ax=plotyy(x,y,x,y2);
&lt;br&gt;&amp;gt;lim=axis;
&lt;br&gt;&amp;gt;lim(1:4)=[3 5 1 5];
&lt;br&gt;&amp;gt;axis(lim);
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;My suggestion is just a workaround for the function as it is called right now, but wouldn't fix it if the idea of the reposition is to compare it with older axis properties, but to my idea of it it is not intended to copy the dataaspectratio if just the position of an axis is changed.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;kind regards
&lt;br&gt;&amp;gt;christoph
&lt;/div&gt;&lt;br&gt;I tried your example with current version for 3.2.x. The result looks correct to me. Meaning it is consistent with what Matlab produces.
&lt;br&gt;&lt;br&gt;The current version for 3.2.x can be found at the like below.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://hg.tw-math.de/release-3-2-x/file/fee95bb4ee94/scripts/plot/plotyy.m&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://hg.tw-math.de/release-3-2-x/file/fee95bb4ee94/scripts/plot/plotyy.m&lt;/a&gt;&lt;br&gt;&lt;br&gt;Ben
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Ben
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-octave mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26271661&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Octave---Bugs-f1896.html&quot; embed=&quot;fixTarget[1896]&quot; target=&quot;_top&quot; &gt;Octave - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/plotyy-force-dataaspectratio-tp26264727p26271661.html" />
</entry>

</feed>
