view examples/code/fortrandemo.cc @ 21220:d78e45987d6a

rename octave::build_env namespace from octave::config * build-env-features.sh: Rename from ocgt-conf-features.sh. Update for new names. * build-env.h: Rename from oct-conf.h. Also declare features function. * build-env.in.cc: Rename from oct-conf.in.cc. * oct-conf-features.h: Delete. * libinterp/module.mk: Update. * toplev.cc, __init_gnuplot__.cc, octave.cc: Update for new names.
author John W. Eaton <jwe@octave.org>
date Sun, 07 Feb 2016 14:56:17 -0500
parents 73ab962bc52d
children 59cadee1c74b
line wrap: on
line source

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

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

DEFUN_DLD (fortrandemo, args, , "Fortran Demo")
{
  if (args.length () != 1)
    print_usage ();

  NDArray a = args(0).array_value ();

  double *av = a.fortran_vec ();
  octave_idx_type na = a.numel ();

  OCTAVE_LOCAL_BUFFER (char, ctmp, 128);

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

  return ovl (a, std::string (ctmp));
}