annotate examples/embedded.cc @ 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 db1f49eaba6b
children 84873dc19757
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8097
804c60f92fb1 Add explanationation of initializing the interpreter in a standalone program
David Bateman <dbateman@free.fr>
parents:
diff changeset
1 #include <iostream>
804c60f92fb1 Add explanationation of initializing the interpreter in a standalone program
David Bateman <dbateman@free.fr>
parents:
diff changeset
2 #include <octave/oct.h>
804c60f92fb1 Add explanationation of initializing the interpreter in a standalone program
David Bateman <dbateman@free.fr>
parents:
diff changeset
3 #include <octave/octave.h>
804c60f92fb1 Add explanationation of initializing the interpreter in a standalone program
David Bateman <dbateman@free.fr>
parents:
diff changeset
4 #include <octave/parse.h>
9053
4295d634797d remove copyright notices from example files
John W. Eaton <jwe@octave.org>
parents: 8097
diff changeset
5
8097
804c60f92fb1 Add explanationation of initializing the interpreter in a standalone program
David Bateman <dbateman@free.fr>
parents:
diff changeset
6 int
804c60f92fb1 Add explanationation of initializing the interpreter in a standalone program
David Bateman <dbateman@free.fr>
parents:
diff changeset
7 main (void)
804c60f92fb1 Add explanationation of initializing the interpreter in a standalone program
David Bateman <dbateman@free.fr>
parents:
diff changeset
8 {
804c60f92fb1 Add explanationation of initializing the interpreter in a standalone program
David Bateman <dbateman@free.fr>
parents:
diff changeset
9 string_vector argv (2);
804c60f92fb1 Add explanationation of initializing the interpreter in a standalone program
David Bateman <dbateman@free.fr>
parents:
diff changeset
10 argv(0) = "embedded";
804c60f92fb1 Add explanationation of initializing the interpreter in a standalone program
David Bateman <dbateman@free.fr>
parents:
diff changeset
11 argv(1) = "-q";
804c60f92fb1 Add explanationation of initializing the interpreter in a standalone program
David Bateman <dbateman@free.fr>
parents:
diff changeset
12
16481
27a6bb1a2f74 Backport working embedded.cc example for documentation.
Rik <rik@octave.org>
parents: 12174
diff changeset
13 octave_main (2, argv.c_str_vec (), 1);
8097
804c60f92fb1 Add explanationation of initializing the interpreter in a standalone program
David Bateman <dbateman@free.fr>
parents:
diff changeset
14
804c60f92fb1 Add explanationation of initializing the interpreter in a standalone program
David Bateman <dbateman@free.fr>
parents:
diff changeset
15 octave_idx_type n = 2;
16481
27a6bb1a2f74 Backport working embedded.cc example for documentation.
Rik <rik@octave.org>
parents: 12174
diff changeset
16 octave_value_list in;
8097
804c60f92fb1 Add explanationation of initializing the interpreter in a standalone program
David Bateman <dbateman@free.fr>
parents:
diff changeset
17
16481
27a6bb1a2f74 Backport working embedded.cc example for documentation.
Rik <rik@octave.org>
parents: 12174
diff changeset
18 for (octave_idx_type i = 0; i < n; i++)
27a6bb1a2f74 Backport working embedded.cc example for documentation.
Rik <rik@octave.org>
parents: 12174
diff changeset
19 in(i) = octave_value (5 * (i + 1));
27a6bb1a2f74 Backport working embedded.cc example for documentation.
Rik <rik@octave.org>
parents: 12174
diff changeset
20
8097
804c60f92fb1 Add explanationation of initializing the interpreter in a standalone program
David Bateman <dbateman@free.fr>
parents:
diff changeset
21 octave_value_list out = feval ("gcd", in, 1);
804c60f92fb1 Add explanationation of initializing the interpreter in a standalone program
David Bateman <dbateman@free.fr>
parents:
diff changeset
22
16481
27a6bb1a2f74 Backport working embedded.cc example for documentation.
Rik <rik@octave.org>
parents: 12174
diff changeset
23
8097
804c60f92fb1 Add explanationation of initializing the interpreter in a standalone program
David Bateman <dbateman@free.fr>
parents:
diff changeset
24 if (!error_state && out.length () > 0)
16481
27a6bb1a2f74 Backport working embedded.cc example for documentation.
Rik <rik@octave.org>
parents: 12174
diff changeset
25 std::cout << "GCD of ["
27a6bb1a2f74 Backport working embedded.cc example for documentation.
Rik <rik@octave.org>
parents: 12174
diff changeset
26 << in(0).int_value ()
27a6bb1a2f74 Backport working embedded.cc example for documentation.
Rik <rik@octave.org>
parents: 12174
diff changeset
27 << ", "
27a6bb1a2f74 Backport working embedded.cc example for documentation.
Rik <rik@octave.org>
parents: 12174
diff changeset
28 << in(1).int_value ()
27a6bb1a2f74 Backport working embedded.cc example for documentation.
Rik <rik@octave.org>
parents: 12174
diff changeset
29 << "] is " << out(0).int_value ()
27a6bb1a2f74 Backport working embedded.cc example for documentation.
Rik <rik@octave.org>
parents: 12174
diff changeset
30 << std::endl;
8097
804c60f92fb1 Add explanationation of initializing the interpreter in a standalone program
David Bateman <dbateman@free.fr>
parents:
diff changeset
31 else
804c60f92fb1 Add explanationation of initializing the interpreter in a standalone program
David Bateman <dbateman@free.fr>
parents:
diff changeset
32 std::cout << "invalid\n";
804c60f92fb1 Add explanationation of initializing the interpreter in a standalone program
David Bateman <dbateman@free.fr>
parents:
diff changeset
33
804c60f92fb1 Add explanationation of initializing the interpreter in a standalone program
David Bateman <dbateman@free.fr>
parents:
diff changeset
34 return 0;
804c60f92fb1 Add explanationation of initializing the interpreter in a standalone program
David Bateman <dbateman@free.fr>
parents:
diff changeset
35 }