Mercurial > octave-dspies
view examples/fortrandemo.cc @ 18959:4c45986a278e
dump_demos.m: Check if file exists before demo and add timing.
* dump_demos.m: Skip demo if output print file already exists. Add tic/toc timing
for demo (calculation + plotting) and printing. This allows benchmarks and
finding regressions which causes slow plotting or printing.
author | Andreas Weber <andy.weber.aw@gmail.com> |
---|---|
date | Sat, 26 Jul 2014 12:23:11 +0200 |
parents | 4b32677b6229 |
children |
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") { 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.numel (); OCTAVE_LOCAL_BUFFER (char, ctmp, 128); F77_XFCN (fortransub, FORTSUB, (na, av, ctmp F77_CHAR_ARG_LEN (128))); retval(1) = std::string (ctmp); retval(0) = a; } } return retval; }