[Top][All Lists]

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

Re: oct files

From: Paul Kienzle
Subject: Re: oct files
Date: Mon, 31 Mar 2003 20:47:50 -0500
User-agent: Mozilla/5.0 (Windows; U; Win 9x 4.90; en-US; rv:1.3a) Gecko/20021212

branganj wrote:

Hi, I have tried to dynamically link a function, but I get the following warnings:

With mkoctfile  I get: In function `class octave_value_list Fmpi_mm(const class octave_value_list &, int)': warning: unused variable `int nbytes' warning: control reaches end of non-void function `Fmpi_mm(const octave_value_list &, int)'

You are not returning an octave_value_list() from your function.  The
usual style is:

   octave_value_list retval;

   if (some error) {
   } else {
      retval(0) = returned_value;
   return retval;

There is an oct file created, but in octave when I call the function it gives :

error: Segmentation fault -- stopping myself...
attempting to save variables to `octave-core'...
save to `octave-core' complete

Segmentation fault (core dumped)

I have defined the function with DEFUN_DLD (mpi_mm, , ,"Parallel multiplication of two matrices using mpi")

And execution is throug mpi_mm(0,0)

So I shouldn't be passing in any octave_value_lists??Or is it ok to leave it blank?? Do I need to have a return value? Can this be an octave_matrix ? At the moment I have it only printing out stuff, but I have tried with another type returning an octave_matrix, but this doesn't get a .oct file created.

See above.  The return value can be any octave_value_list.  It's not
surprising it doesn't work with no return value.  To return a matrix,
do the following:

   Matrix r(n,m);
   retval(0) = r;
   return retval;

Da Coda Al Fine [] talks
about this sort of thing.

Paul Kienzle

Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:
How to fund new projects:
Subscription information:

reply via email to

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