Mercurial > hg > octave-nkf
diff src/ov.cc @ 8982:dc6bda6f9994
implement compound logical ops
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Sat, 14 Mar 2009 23:08:08 +0100 |
parents | 93f18f166aba |
children | d12f44a5dce3 |
line wrap: on
line diff
--- a/src/ov.cc +++ b/src/ov.cc @@ -377,6 +377,22 @@ retval = "timesherm"; break; + case op_el_and_not: + retval = "andnot"; + break; + + case op_el_or_not: + retval = "ornot"; + break; + + case op_el_not_and: + retval = "notand"; + break; + + case op_el_not_or: + retval = "notor"; + break; + default: break; } @@ -1903,6 +1919,26 @@ v1, do_unary_op (octave_value::op_hermitian, v2)); break; + case octave_value::op_el_not_and: + retval = do_binary_op (octave_value::op_el_and, + do_unary_op (octave_value::op_not, v1), + v2); + break; + case octave_value::op_el_not_or: + retval = do_binary_op (octave_value::op_el_or, + do_unary_op (octave_value::op_not, v1), + v2); + break; + case octave_value::op_el_and_not: + retval = do_binary_op (octave_value::op_el_and, + v1, + do_unary_op (octave_value::op_not, v2)); + break; + case octave_value::op_el_or_not: + retval = do_binary_op (octave_value::op_el_or, + v1, + do_unary_op (octave_value::op_not, v2)); + break; default: error ("invalid compound operator"); break;