Mercurial > octave-dspies
view examples/standalonebuiltin.cc @ 19008:80ca3b05d77c draft
New "dispatch" selects template argument from octave-value (Bug #42424, 42425)
* find.cc (Ffind): This method now calls dispatch() rather than attempting to
handle all matrix types on its own
(findTemplated): Changed to a functor to be passed as a template template
argument to dispatch()
(findInfo): A struct that holds the other arguments to find
(n_to_find, direction, nargout)
Added unit tests for bugs 42424 and 42425
* (new file) dispatch.h (dispatch): A method for dispatching function calls to
the right templated value based on an octave_value argument.
author | David Spies <dnspies@gmail.com> |
---|---|
date | Sat, 21 Jun 2014 13:13:05 -0600 |
parents | adb7c7e6a4a1 |
children |
line wrap: on
line source
#include <iostream> #include <octave/oct.h> #include <octave/builtin-defun-decls.h> int main (void) { int n = 2; Matrix a_matrix = Matrix (n, n); for (octave_idx_type i = 0; i < n; i++) for (octave_idx_type j = 0; j < n; j++) a_matrix(i,j) = (i + 1) * 10 + (j + 1); std::cout << "This is a matrix:" << std::endl << a_matrix << std::endl; octave_value_list in; in(0) = a_matrix; octave_value_list out = Fnorm (in, 1); double norm_of_the_matrix = out(0).double_value (); std::cout << "This is the norm of the matrix:" << std::endl << norm_of_the_matrix << std::endl; return 0; }