interp_main.cpp 711 B

1234567891011121314151617181920212223242526
  1. #include <iostream>
  2. #include <oct.h>
  3. #include <octave.h>
  4. #include <parse.h>
  5. #include <toplev.h>
  6. int main(void)
  7. {
  8. string_vector argv(2);
  9. argv(0) = "embedded";
  10. argv(1) = "-q";
  11. try {
  12. octave_main(2, argv.c_str_vec(), 1);
  13. octave_value_list in;
  14. in(0) = 72.0;
  15. const octave_value_list result = feval("sqrt", in);
  16. std::cout << "result is " << result(0).scalar_value() << std::endl;
  17. clean_up_and_exit(0);
  18. } catch (const octave::exit_exception& ex) {
  19. std::cerr << "Octave interpreter exited with status = " << ex.exit_status()
  20. << std::endl;
  21. } catch (const octave::execution_exception&) {
  22. std::cerr << "error encountered in Octave evaluator!" << std::endl;
  23. }
  24. }