[Top][All Lists]

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

passing a matrix to a fortran subroutine

From: Michael J Ursiak
Subject: passing a matrix to a fortran subroutine
Date: Wed, 15 Jul 1998 14:12:20 -0400 (EDT)

Can anybody help me with the following problem:

I am attempting to pass a matrix to fortran subroutine from octave.

I have written the following wrapper function based upon your

#include <octave/oct.h>
#include <config.h>

#include <iostream.h>

#include "defun-dld.h"
#include "error.h"
#include "gripes.h"
#include "help.h"
#include "mappers.h"
#include "oct-obj.h"
#include "pr-output.h"
#include "utils.h"
#include "f77-fcn.h"
#include "dDiagMatrix.h"
#include "dMatrix.h"
#include "ndbleSVD.h"

extern "C"
  int F77_FCN (xstuff, XSTUFF) ( int&,int&,double*,int&);

DEFUN_DLD (newsvd, args, ,
  "The `newsvd'.")
  int z;
  octave_value arg = args(0);
  Matrix tmp = arg.matrix_value();
  int m = tmp.rows ();
  int n = tmp.cols ();
  double *tmp_data = tmp.fortran_vec ();
  F77_XFCN (xstuff, XSTUFF, (m,n,tmp_data,z));

  return octave_value(z);


I get the following error when I try to execute this newvd in octave:

octave:2> y = newsvd(h) octave: fatal: relocation error: symbol not found: __f_open_nv:
referenced in /a/kenner/lime/homes/ursiak/octave/newstuff/newsvd.oct

I am running Octave, version 2.0.10 on SunOS 5.5.1
sun4m sparc SUNW,SPARCstation-20.

reply via email to

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