view examples/fortdemo.cc @ 14354:55bb8c902a4d

maint: Remove deprecated functions from dev branch for next (3.8) release. * NEWS: Update list of deprecated functions which had duplicates and missing functions * deprecated/module.mk: Remove deprecated m-files from build system. * autocor.m, autocov.m, betai.m, cellidx.m, clg.m, cquad.m, dispatch.m, fstat.m, gammai.m, glpkmex.m, intwarning.m, is_duplicate_entry.m, is_global.m, krylovb.m, perror.m, replot.m, saveimage.m, strerror.m, values.m, weibcdf.m, weibinv.m, weibpdf.m, weibrnd.m: Remove deprecated functions from Mercurial.
author Rik <octave@nomad.inbox5.com>
date Thu, 09 Feb 2012 13:16:39 -0800
parents db1f49eaba6b
children 460a3c6d8bf1
line wrap: on
line source

#include <octave/oct.h>
#include <octave/f77-fcn.h>

extern "C"
{
  F77_RET_T
  F77_FUNC (fortsub, FORTSUB)
        (const int&, double*, F77_CHAR_ARG_DECL
         F77_CHAR_ARG_LEN_DECL);
}

DEFUN_DLD (fortdemo , args , , "Fortran Demo.")
{
  octave_value_list retval;
  int nargin = args.length();
  if (nargin != 1)
    print_usage ();
  else
    {
      NDArray a = args(0).array_value ();
      if (! error_state)
        {
          double *av = a.fortran_vec ();
          octave_idx_type na = a.nelem ();
          OCTAVE_LOCAL_BUFFER (char, ctmp, 128);

          F77_XFCN (fortsub, FORTSUB, (na, av, ctmp
                    F77_CHAR_ARG_LEN (128)));

          retval(1) = std::string (ctmp);
          retval(0) = a;
        }
    }
  return retval;
}