Mercurial > hg > octave-nkf
view examples/code/embedded.cc @ 20800:7c0e10f035bd
Extend parser to accept binary constants that begin with '0b' or '0B'.
* NEWS: Announce change:
* lex.ll: Define NUMBIN to be 0[bB] followed by 0,1, or '_'.
Define NUMBER to be NUMREAL|NUMHEX|NUMBIN.
*lex.ll (looks_like_bin): New function to detect 0[bB] prefix.
*lex.ll (handle_numbe): Call looks_like_bin() and if found then convert
binary string to double.
* parser.tst: Add tests for new behavior.
author | Rik <rik@octave.org> |
---|---|
date | Fri, 09 Oct 2015 18:52:58 -0700 |
parents | 2f8500ca91d3 |
children |
line wrap: on
line source
#include <iostream> #include <octave/oct.h> #include <octave/octave.h> #include <octave/parse.h> #include <octave/toplev.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 (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"; clean_up_and_exit (0); }