Mercurial > hg > octave-nkf
view examples/code/fortrandemo.cc @ 20828:a3b9ee5c040a
Replace bsxfun with broadcasting for performance with complex inputs (bug #38628).
cumtrapz.m, quadgk.m, trapz.m, center.m, zscore.m: Replace bsxfun with
broadcasting for performance where inputs might be complex.
author | Rik <rik@octave.org> |
---|---|
date | Mon, 12 Oct 2015 21:28:32 -0700 |
parents | 2f8500ca91d3 |
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; 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))); retval(1) = std::string (ctmp); retval(0) = a; return retval; }