Mercurial > octave-nkf
diff src/pt-unop.cc @ 10614:d1194069e58c
optimize code handling ++,--
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Sat, 08 May 2010 15:15:22 +0200 |
parents | 57a59eae83cc |
children | fd0a3ac60b0e |
line wrap: on
line diff
--- a/src/pt-unop.cc Fri May 07 15:58:51 2010 -0400 +++ b/src/pt-unop.cc Sat May 08 15:15:22 2010 +0200 @@ -69,18 +69,14 @@ { if (etype == octave_value::op_incr || etype == octave_value::op_decr) { - op->rvalue1 (); + octave_lvalue ref = op->lvalue (); if (! error_state) { - octave_lvalue ref = op->lvalue (); + ref.do_unary_op (etype); - if (! error_state && ref.is_defined ()) - { - ref.do_unary_op (etype); - - retval = ref.value (); - } + if (! error_state) + retval = ref.value (); } } else @@ -152,18 +148,13 @@ { if (etype == octave_value::op_incr || etype == octave_value::op_decr) { - op->rvalue1 (); + octave_lvalue ref = op->lvalue (); if (! error_state) { - octave_lvalue ref = op->lvalue (); + retval = ref.value (); - if (! error_state && ref.is_defined ()) - { - retval = ref.value (); - - ref.do_unary_op (etype); - } + ref.do_unary_op (etype); } } else