# HG changeset patch # User jwe # Date 982130729 0 # Node ID 6065668133b15a82c0683ee1c1a82ff0bf16fce4 # Parent 7f5eeace12b322cb9dacf339e1d1a8959bc29279 [project @ 2001-02-14 06:05:29 by jwe] diff --git a/src/ChangeLog b/src/ChangeLog --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,4 +1,11 @@ -2001-02-09 Cai Jianming +2001-02-14 John W. Eaton + + * pt-binop.cc (tree_boolean_expression::rvalue): + Don't cast result to double. + + * OPERATORS/op-b-b.cc: Allow & and | operators to return bool values. + +2001-02-09 John W. Eaton * data.cc (DATA_REDUCTION): Undo previous change. diff --git a/src/OPERATORS/op-b-b.cc b/src/OPERATORS/op-b-b.cc --- a/src/OPERATORS/op-b-b.cc +++ b/src/OPERATORS/op-b-b.cc @@ -48,18 +48,8 @@ DEFBINOP_OP (eq, bool, bool, ==) DEFBINOP_OP (ne, bool, bool, !=) - -BINOPDECL (el_and, a1, a2) -{ - CAST_BINOP_ARGS (const octave_bool&, const octave_bool&); - return octave_value (v1.bool_value () && v2.bool_value ()); -} - -BINOPDECL (el_or, a1, a2) -{ - CAST_BINOP_ARGS (const octave_bool&, const octave_bool&); - return octave_value (v1.bool_value () || v2.bool_value ()); -} +DEFBINOP_OP (el_and, bool, bool, &&) +DEFBINOP_OP (el_or, bool, bool, ||) void install_b_b_ops (void) diff --git a/src/pt-binop.cc b/src/pt-binop.cc --- a/src/pt-binop.cc +++ b/src/pt-binop.cc @@ -191,7 +191,7 @@ done: if (! error_state) - retval = octave_value (static_cast (result)); + retval = octave_value (result); } } }