view examples/embedded.cc @ 17213:334d8edd48bc

lo-regexp.cc: prevent cast of negative floating point value to size_t. * regexp.cc: simplify two expressions like "static_cast<size_t> (e - 1) + 1" to "static_cast<size_t> (e), where 'e' is a nonnegative index value of type double. This prevents a cast of -1.0 to the unsigned integral type "size_t" whenever 'e' is zero. A test case where this occurs (for the second change) is regexprep ('World', '^', 'Hello ', 'emptymatch').
author Philipp Kutin <philipp.kutin@gmail.com>
date Thu, 08 Aug 2013 10:58:37 +0200
parents be41c30bcb44
children
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;
  octave_value_list in;

  for (octave_idx_type i = 0; i < n; i++)  
    in(i) = octave_value (5 * (i + 2));
  
  octave_value_list out = feval ("gcd", in, 1);

  if (!error_state && out.length () > 0)
    std::cout << "GCD of [" 
              << in(0).int_value () 
              << ", " 
              << in(1).int_value ()
              << "] is " << out(0).int_value () 
              << std::endl;
  else
    std::cout << "invalid\n";

  return 0;
}