Mercurial > hg > octave-lyh
comparison src/pt-unop.cc @ 10315:57a59eae83cc
untabify src C++ source files
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 11 Feb 2010 12:41:46 -0500 |
parents | cd96d29c5efa |
children | d1194069e58c |
comparison
equal
deleted
inserted
replaced
10314:07ebe522dac2 | 10315:57a59eae83cc |
---|---|
48 { | 48 { |
49 octave_value_list retval; | 49 octave_value_list retval; |
50 | 50 |
51 if (nargout > 1) | 51 if (nargout > 1) |
52 error ("prefix operator `%s': invalid number of output arguments", | 52 error ("prefix operator `%s': invalid number of output arguments", |
53 oper () . c_str ()); | 53 oper () . c_str ()); |
54 else | 54 else |
55 retval = rvalue1 (nargout); | 55 retval = rvalue1 (nargout); |
56 | 56 |
57 return retval; | 57 return retval; |
58 } | 58 } |
66 return retval; | 66 return retval; |
67 | 67 |
68 if (op) | 68 if (op) |
69 { | 69 { |
70 if (etype == octave_value::op_incr || etype == octave_value::op_decr) | 70 if (etype == octave_value::op_incr || etype == octave_value::op_decr) |
71 { | 71 { |
72 op->rvalue1 (); | 72 op->rvalue1 (); |
73 | 73 |
74 if (! error_state) | 74 if (! error_state) |
75 { | 75 { |
76 octave_lvalue ref = op->lvalue (); | 76 octave_lvalue ref = op->lvalue (); |
77 | 77 |
78 if (! error_state && ref.is_defined ()) | 78 if (! error_state && ref.is_defined ()) |
79 { | 79 { |
80 ref.do_unary_op (etype); | 80 ref.do_unary_op (etype); |
81 | 81 |
82 retval = ref.value (); | 82 retval = ref.value (); |
83 } | 83 } |
84 } | 84 } |
85 } | 85 } |
86 else | 86 else |
87 { | 87 { |
88 octave_value val = op->rvalue1 (); | 88 octave_value val = op->rvalue1 (); |
89 | 89 |
90 if (! error_state && val.is_defined ()) | 90 if (! error_state && val.is_defined ()) |
91 { | 91 { |
92 // Attempt to do the operation in-place if it is unshared | 92 // Attempt to do the operation in-place if it is unshared |
93 // (a temporary expression). | 93 // (a temporary expression). |
94 if (val.get_count () == 1) | 94 if (val.get_count () == 1) |
95 retval = val.do_non_const_unary_op (etype); | 95 retval = val.do_non_const_unary_op (etype); |
96 else | 96 else |
97 retval = ::do_unary_op (etype, val); | 97 retval = ::do_unary_op (etype, val); |
98 | 98 |
99 if (error_state) | 99 if (error_state) |
100 retval = octave_value (); | 100 retval = octave_value (); |
101 } | 101 } |
102 } | 102 } |
103 } | 103 } |
104 | 104 |
105 return retval; | 105 return retval; |
106 } | 106 } |
107 | 107 |
108 tree_expression * | 108 tree_expression * |
109 tree_prefix_expression::dup (symbol_table::scope_id scope, | 109 tree_prefix_expression::dup (symbol_table::scope_id scope, |
110 symbol_table::context_id context) const | 110 symbol_table::context_id context) const |
111 { | 111 { |
112 tree_prefix_expression *new_pe | 112 tree_prefix_expression *new_pe |
113 = new tree_prefix_expression (op ? op->dup (scope, context) : 0, | 113 = new tree_prefix_expression (op ? op->dup (scope, context) : 0, |
114 line (), column (), etype); | 114 line (), column (), etype); |
115 | 115 |
116 new_pe->copy_base (*this); | 116 new_pe->copy_base (*this); |
117 | 117 |
118 return new_pe; | 118 return new_pe; |
119 } | 119 } |
131 { | 131 { |
132 octave_value_list retval; | 132 octave_value_list retval; |
133 | 133 |
134 if (nargout > 1) | 134 if (nargout > 1) |
135 error ("postfix operator `%s': invalid number of output arguments", | 135 error ("postfix operator `%s': invalid number of output arguments", |
136 oper () . c_str ()); | 136 oper () . c_str ()); |
137 else | 137 else |
138 retval = rvalue1 (nargout); | 138 retval = rvalue1 (nargout); |
139 | 139 |
140 return retval; | 140 return retval; |
141 } | 141 } |
149 return retval; | 149 return retval; |
150 | 150 |
151 if (op) | 151 if (op) |
152 { | 152 { |
153 if (etype == octave_value::op_incr || etype == octave_value::op_decr) | 153 if (etype == octave_value::op_incr || etype == octave_value::op_decr) |
154 { | 154 { |
155 op->rvalue1 (); | 155 op->rvalue1 (); |
156 | 156 |
157 if (! error_state) | 157 if (! error_state) |
158 { | 158 { |
159 octave_lvalue ref = op->lvalue (); | 159 octave_lvalue ref = op->lvalue (); |
160 | 160 |
161 if (! error_state && ref.is_defined ()) | 161 if (! error_state && ref.is_defined ()) |
162 { | 162 { |
163 retval = ref.value (); | 163 retval = ref.value (); |
164 | 164 |
165 ref.do_unary_op (etype); | 165 ref.do_unary_op (etype); |
166 } | 166 } |
167 } | 167 } |
168 } | 168 } |
169 else | 169 else |
170 { | 170 { |
171 octave_value val = op->rvalue1 (); | 171 octave_value val = op->rvalue1 (); |
172 | 172 |
173 if (! error_state && val.is_defined ()) | 173 if (! error_state && val.is_defined ()) |
174 { | 174 { |
175 retval = ::do_unary_op (etype, val); | 175 retval = ::do_unary_op (etype, val); |
176 | 176 |
177 if (error_state) | 177 if (error_state) |
178 retval = octave_value (); | 178 retval = octave_value (); |
179 } | 179 } |
180 } | 180 } |
181 } | 181 } |
182 | 182 |
183 return retval; | 183 return retval; |
184 } | 184 } |
185 | 185 |
186 tree_expression * | 186 tree_expression * |
187 tree_postfix_expression::dup (symbol_table::scope_id scope, | 187 tree_postfix_expression::dup (symbol_table::scope_id scope, |
188 symbol_table::context_id context) const | 188 symbol_table::context_id context) const |
189 { | 189 { |
190 tree_postfix_expression *new_pe | 190 tree_postfix_expression *new_pe |
191 = new tree_postfix_expression (op ? op->dup (scope, context) : 0, | 191 = new tree_postfix_expression (op ? op->dup (scope, context) : 0, |
192 line (), column (), etype); | 192 line (), column (), etype); |
193 | 193 |
194 new_pe->copy_base (*this); | 194 new_pe->copy_base (*this); |
195 | 195 |
196 return new_pe; | 196 return new_pe; |
197 } | 197 } |