Mercurial > hg > octave-nkf
changeset 16481:27a6bb1a2f74 stable
Backport working embedded.cc example for documentation.
* doc/interpreter/dynamic.txi: Change documented output of embedded.cc to match
new output.
* examples/embedded.cc: Backported from 3.7.2+. Does not call gcd() with
a matrix input which is unsupported.
author | Rik <rik@octave.org> |
---|---|
date | Tue, 09 Apr 2013 16:06:29 -0700 |
parents | 40e34895a987 |
children | 84873dc19757 f441dc7d1afd |
files | doc/interpreter/dynamic.txi examples/embedded.cc |
diffstat | 2 files changed, 13 insertions(+), 22 deletions(-) [+] |
line wrap: on
line diff
--- a/doc/interpreter/dynamic.txi +++ b/doc/interpreter/dynamic.txi @@ -1719,7 +1719,7 @@ @group $ mkoctfile --link-stand-alone embedded.cc -o embedded $ ./embedded -GCD of [10, 15] is 5 +GCD of [5, 10] is 5 $ @end group @end example
--- a/examples/embedded.cc +++ b/examples/embedded.cc @@ -10,33 +10,24 @@ argv(0) = "embedded"; argv(1) = "-q"; - octave_main (2, argv.c_str_vec(), 1); + octave_main (2, argv.c_str_vec (), 1); octave_idx_type n = 2; - Matrix a_matrix = Matrix (1, 2); + octave_value_list in; - std::cout << "GCD of ["; - for (octave_idx_type i = 0; i < n; i++) - { - a_matrix (i) = 5 * (i + 1); - if (i != 0) - std::cout << ", " << 5 * (i + 2); - else - std::cout << 5 * (i + 2); - } - std::cout << "] is "; - - octave_value_list in = octave_value (a_matrix); + for (octave_idx_type i = 0; i < n; i++) + in(i) = octave_value (5 * (i + 1)); + octave_value_list out = feval ("gcd", in, 1); + if (!error_state && out.length () > 0) - { - a_matrix = out(0).matrix_value (); - if (a_matrix.numel () == 1) - std::cout << a_matrix(0) << "\n"; - else - std::cout << "invalid\n"; - } + std::cout << "GCD of [" + << in(0).int_value () + << ", " + << in(1).int_value () + << "] is " << out(0).int_value () + << std::endl; else std::cout << "invalid\n";