view examples/embedded.cc @ 15497:c49d891eb263 stable

Update broken or inconsistent project and wiki urls * README, doc/interpreter/contrib.txi, etc/HACKING, etc/README.MacOS, etc/README.MinGW, etc/README.devel: Update urls to use the octave.org domain. * doc/faq/OctaveFAQ.texi, scripts/miscellaneous/info.m: Replace broken links to the manual and help mailing list. * doc/faq/OctaveFAQ.texi, etc/PROJECTS, etc/README.MacOS: Update wiki urls to short naming scheme. * doc/interpreter/contrib.txi, scripts/help/unimplemented.m: Make Octave-Forge project urls consistent. * src/version.h.in: Update url to contribution page.
author Mike Miller <mtmiller@ieee.org>
date Mon, 08 Oct 2012 08:01:07 -0400
parents db1f49eaba6b
children 3c5e6971064c 27a6bb1a2f74
line wrap: on
line source

#include <iostream>
#include <octave/oct.h>
#include <octave/octave.h>
#include <octave/parse.h>

int
main (void)
{
  string_vector argv (2);
  argv(0) = "embedded";
  argv(1) = "-q";

  octave_main (2, argv.c_str_vec(), 1);

  octave_idx_type n = 2;
  Matrix a_matrix = Matrix (1, 2);

  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);
  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";
    }
  else
    std::cout << "invalid\n";

  return 0;
}