Mercurial > octave-nkf
comparison src/ov-scalar.h @ 7922:935be827eaf8
error for NaN values in & and | expressions
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 11 Jul 2008 14:56:30 -0400 |
parents | f336dd8e96d0 |
children | cf59d542f33e |
comparison
equal
deleted
inserted
replaced
7921:fcc70f30fe31 | 7922:935be827eaf8 |
---|---|
190 return retval; | 190 return retval; |
191 } | 191 } |
192 | 192 |
193 bool bool_value (bool warn = false) const | 193 bool bool_value (bool warn = false) const |
194 { | 194 { |
195 if (warn && scalar != 0 && scalar != 1) | 195 if (xisnan (scalar)) |
196 error ("invalid conversion from NaN to logical"); | |
197 else if (warn && scalar != 0 && scalar != 1) | |
196 gripe_logical_conversion (); | 198 gripe_logical_conversion (); |
197 | 199 |
198 return scalar; | 200 return scalar; |
199 } | 201 } |
200 | 202 |
201 boolNDArray bool_array_value (bool warn = false) const | 203 boolNDArray bool_array_value (bool warn = false) const |
202 { | 204 { |
203 if (warn && scalar != 0 && scalar != 1) | 205 if (xisnan (scalar)) |
206 error ("invalid conversion from NaN to logical"); | |
207 else if (warn && scalar != 0 && scalar != 1) | |
204 gripe_logical_conversion (); | 208 gripe_logical_conversion (); |
205 | 209 |
206 return boolNDArray (dim_vector (1, 1), scalar); | 210 return boolNDArray (dim_vector (1, 1), scalar); |
207 } | 211 } |
208 | 212 |