Mercurial > octave
comparison libinterp/octave-value/ov-range.cc @ 28634:e057dbd3c108
use m_ prefix for octave_range member variables
* ov-range.h, ov-range.cc (class octave_range): Use m_ prefix for
range and idx_cache member variables. Change all uses.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 04 Aug 2020 10:56:14 -0400 |
parents | 70cdf8de553d |
children | a3db48e66ef8 |
comparison
equal
deleted
inserted
replaced
28633:c897ec8fb5d1 | 28634:e057dbd3c108 |
---|---|
83 octave_base_value * | 83 octave_base_value * |
84 octave_range::try_narrowing_conversion (void) | 84 octave_range::try_narrowing_conversion (void) |
85 { | 85 { |
86 octave_base_value *retval = nullptr; | 86 octave_base_value *retval = nullptr; |
87 | 87 |
88 switch (range.numel ()) | 88 switch (m_range.numel ()) |
89 { | 89 { |
90 case 1: | 90 case 1: |
91 retval = new octave_scalar (range.base ()); | 91 retval = new octave_scalar (m_range.base ()); |
92 break; | 92 break; |
93 | 93 |
94 case 0: | 94 case 0: |
95 retval = new octave_matrix (Matrix (1, 0)); | 95 retval = new octave_matrix (Matrix (1, 0)); |
96 break; | 96 break; |
97 | 97 |
98 case -2: | 98 case -2: |
99 retval = new octave_matrix (range.matrix_value ()); | 99 retval = new octave_matrix (m_range.matrix_value ()); |
100 break; | 100 break; |
101 | 101 |
102 default: | 102 default: |
103 break; | 103 break; |
104 } | 104 } |
144 | 144 |
145 try | 145 try |
146 { | 146 { |
147 idx_vector i = idx(0).index_vector (); | 147 idx_vector i = idx(0).index_vector (); |
148 | 148 |
149 if (i.is_scalar () && i(0) < range.numel ()) | 149 if (i.is_scalar () && i(0) < m_range.numel ()) |
150 retval = range.elem (i(0)); | 150 retval = m_range.elem (i(0)); |
151 else | 151 else |
152 retval = range.index (i); | 152 retval = m_range.index (i); |
153 } | 153 } |
154 catch (octave::index_exception& e) | 154 catch (octave::index_exception& e) |
155 { | 155 { |
156 // More info may be added later before displaying error. | 156 // More info may be added later before displaying error. |
157 | 157 |
161 | 161 |
162 return retval; | 162 return retval; |
163 } | 163 } |
164 else | 164 else |
165 { | 165 { |
166 octave_value tmp (new octave_matrix (range.matrix_value ())); | 166 octave_value tmp (new octave_matrix (m_range.matrix_value ())); |
167 | 167 |
168 return tmp.index_op (idx, resize_ok); | 168 return tmp.index_op (idx, resize_ok); |
169 } | 169 } |
170 } | 170 } |
171 | 171 |
172 idx_vector | 172 idx_vector |
173 octave_range::index_vector (bool require_integers) const | 173 octave_range::index_vector (bool require_integers) const |
174 { | 174 { |
175 if (idx_cache) | 175 if (m_idx_cache) |
176 return *idx_cache; | 176 return *m_idx_cache; |
177 else | 177 else |
178 { | 178 { |
179 if (require_integers || range.all_elements_are_ints ()) | 179 if (require_integers || m_range.all_elements_are_ints ()) |
180 return set_idx_cache (idx_vector (range)); | 180 return set_idx_cache (idx_vector (m_range)); |
181 else | 181 else |
182 { | 182 { |
183 warning_with_id ("Octave:noninteger-range-as-index", | 183 warning_with_id ("Octave:noninteger-range-as-index", |
184 "non-integer range used as index"); | 184 "non-integer range used as index"); |
185 | 185 |
189 } | 189 } |
190 | 190 |
191 double | 191 double |
192 octave_range::double_value (bool) const | 192 octave_range::double_value (bool) const |
193 { | 193 { |
194 octave_idx_type nel = range.numel (); | 194 octave_idx_type nel = m_range.numel (); |
195 | 195 |
196 if (nel == 0) | 196 if (nel == 0) |
197 err_invalid_conversion ("range", "real scalar"); | 197 err_invalid_conversion ("range", "real scalar"); |
198 | 198 |
199 warn_implicit_conversion ("Octave:array-to-scalar", | 199 warn_implicit_conversion ("Octave:array-to-scalar", |
200 "range", "real scalar"); | 200 "range", "real scalar"); |
201 | 201 |
202 return range.base (); | 202 return m_range.base (); |
203 } | 203 } |
204 | 204 |
205 float | 205 float |
206 octave_range::float_value (bool) const | 206 octave_range::float_value (bool) const |
207 { | 207 { |
208 octave_idx_type nel = range.numel (); | 208 octave_idx_type nel = m_range.numel (); |
209 | 209 |
210 if (nel == 0) | 210 if (nel == 0) |
211 err_invalid_conversion ("range", "real scalar"); | 211 err_invalid_conversion ("range", "real scalar"); |
212 | 212 |
213 warn_implicit_conversion ("Octave:array-to-scalar", | 213 warn_implicit_conversion ("Octave:array-to-scalar", |
214 "range", "real scalar"); | 214 "range", "real scalar"); |
215 | 215 |
216 return range.base (); | 216 return m_range.base (); |
217 } | 217 } |
218 | 218 |
219 charNDArray | 219 charNDArray |
220 octave_range::char_array_value (bool) const | 220 octave_range::char_array_value (bool) const |
221 { | 221 { |
222 const Matrix matrix = range.matrix_value (); | 222 const Matrix matrix = m_range.matrix_value (); |
223 charNDArray retval (dims ()); | 223 charNDArray retval (dims ()); |
224 | 224 |
225 octave_idx_type nel = numel (); | 225 octave_idx_type nel = numel (); |
226 | 226 |
227 for (octave_idx_type i = 0; i < nel; i++) | 227 for (octave_idx_type i = 0; i < nel; i++) |
233 octave_value | 233 octave_value |
234 octave_range::all (int dim) const | 234 octave_range::all (int dim) const |
235 { | 235 { |
236 // FIXME: this is a potential waste of memory. | 236 // FIXME: this is a potential waste of memory. |
237 | 237 |
238 Matrix m = range.matrix_value (); | 238 Matrix m = m_range.matrix_value (); |
239 | 239 |
240 return m.all (dim); | 240 return m.all (dim); |
241 } | 241 } |
242 | 242 |
243 octave_value | 243 octave_value |
244 octave_range::any (int dim) const | 244 octave_range::any (int dim) const |
245 { | 245 { |
246 // FIXME: this is a potential waste of memory. | 246 // FIXME: this is a potential waste of memory. |
247 | 247 |
248 Matrix m = range.matrix_value (); | 248 Matrix m = m_range.matrix_value (); |
249 | 249 |
250 return m.any (dim); | 250 return m.any (dim); |
251 } | 251 } |
252 | 252 |
253 octave_value | 253 octave_value |
254 octave_range::diag (octave_idx_type k) const | 254 octave_range::diag (octave_idx_type k) const |
255 { | 255 { |
256 return | 256 return |
257 (k == 0 | 257 (k == 0 |
258 ? octave_value (DiagMatrix (DiagArray2<double> (range.matrix_value ()))) | 258 ? octave_value (DiagMatrix (DiagArray2<double> (m_range.matrix_value ()))) |
259 : octave_value (range.diag (k))); | 259 : octave_value (m_range.diag (k))); |
260 } | 260 } |
261 | 261 |
262 octave_value | 262 octave_value |
263 octave_range::diag (octave_idx_type m, octave_idx_type n) const | 263 octave_range::diag (octave_idx_type m, octave_idx_type n) const |
264 { | 264 { |
265 Matrix mat = range.matrix_value (); | 265 Matrix mat = m_range.matrix_value (); |
266 | 266 |
267 return mat.diag (m, n); | 267 return mat.diag (m, n); |
268 } | 268 } |
269 | 269 |
270 // Return true if this range has all true elements (non-zero, not NaN/NA). | 270 // Return true if this range has all true elements (non-zero, not NaN/NA). |
272 bool | 272 bool |
273 octave_range::is_true (void) const | 273 octave_range::is_true (void) const |
274 { | 274 { |
275 bool retval = false; | 275 bool retval = false; |
276 | 276 |
277 if (! range.isempty ()) | 277 if (! m_range.isempty ()) |
278 { | 278 { |
279 if (dims ().numel () > 1) | 279 if (dims ().numel () > 1) |
280 warn_array_as_logical (dims ()); | 280 warn_array_as_logical (dims ()); |
281 | 281 |
282 Range r = range_value (); | 282 Range r = range_value (); |
294 | 294 |
295 retval = (steps_to_zero != floor (steps_to_zero)); | 295 retval = (steps_to_zero != floor (steps_to_zero)); |
296 */ | 296 */ |
297 | 297 |
298 // FIXME: this is a waste of memory. | 298 // FIXME: this is a waste of memory. |
299 Matrix m ((range.matrix_value ().all ()).all ()); | 299 Matrix m ((m_range.matrix_value ().all ()).all ()); |
300 | 300 |
301 retval = ! m.isempty () && m(0, 0) != 0.0; | 301 retval = ! m.isempty () && m(0, 0) != 0.0; |
302 } | 302 } |
303 } | 303 } |
304 | 304 |
306 } | 306 } |
307 | 307 |
308 Complex | 308 Complex |
309 octave_range::complex_value (bool) const | 309 octave_range::complex_value (bool) const |
310 { | 310 { |
311 octave_idx_type nel = range.numel (); | 311 octave_idx_type nel = m_range.numel (); |
312 | 312 |
313 if (nel == 0) | 313 if (nel == 0) |
314 err_invalid_conversion ("range", "complex scalar"); | 314 err_invalid_conversion ("range", "complex scalar"); |
315 | 315 |
316 warn_implicit_conversion ("Octave:array-to-scalar", | 316 warn_implicit_conversion ("Octave:array-to-scalar", |
317 "range", "complex scalar"); | 317 "range", "complex scalar"); |
318 | 318 |
319 return Complex (range.base (), 0); | 319 return Complex (m_range.base (), 0); |
320 } | 320 } |
321 | 321 |
322 FloatComplex | 322 FloatComplex |
323 octave_range::float_complex_value (bool) const | 323 octave_range::float_complex_value (bool) const |
324 { | 324 { |
325 float tmp = lo_ieee_float_nan_value (); | 325 float tmp = lo_ieee_float_nan_value (); |
326 | 326 |
327 FloatComplex retval (tmp, tmp); | 327 FloatComplex retval (tmp, tmp); |
328 | 328 |
329 octave_idx_type nel = range.numel (); | 329 octave_idx_type nel = m_range.numel (); |
330 | 330 |
331 if (nel == 0) | 331 if (nel == 0) |
332 err_invalid_conversion ("range", "complex scalar"); | 332 err_invalid_conversion ("range", "complex scalar"); |
333 | 333 |
334 warn_implicit_conversion ("Octave:array-to-scalar", | 334 warn_implicit_conversion ("Octave:array-to-scalar", |
335 "range", "complex scalar"); | 335 "range", "complex scalar"); |
336 | 336 |
337 retval = range.base (); | 337 retval = m_range.base (); |
338 | 338 |
339 return retval; | 339 return retval; |
340 } | 340 } |
341 | 341 |
342 boolNDArray | 342 boolNDArray |
343 octave_range::bool_array_value (bool warn) const | 343 octave_range::bool_array_value (bool warn) const |
344 { | 344 { |
345 Matrix m = range.matrix_value (); | 345 Matrix m = m_range.matrix_value (); |
346 | 346 |
347 if (m.any_element_is_nan ()) | 347 if (m.any_element_is_nan ()) |
348 octave::err_nan_to_logical_conversion (); | 348 octave::err_nan_to_logical_conversion (); |
349 if (warn && m.any_element_not_one_or_zero ()) | 349 if (warn && m.any_element_not_one_or_zero ()) |
350 warn_logical_conversion (); | 350 warn_logical_conversion (); |
364 } | 364 } |
365 | 365 |
366 octave_value | 366 octave_value |
367 octave_range::convert_to_str_internal (bool pad, bool force, char type) const | 367 octave_range::convert_to_str_internal (bool pad, bool force, char type) const |
368 { | 368 { |
369 octave_value tmp (range.matrix_value ()); | 369 octave_value tmp (m_range.matrix_value ()); |
370 return tmp.convert_to_str (pad, force, type); | 370 return tmp.convert_to_str (pad, force, type); |
371 } | 371 } |
372 | 372 |
373 octave_value | 373 octave_value |
374 octave_range::as_double (void) const | 374 octave_range::as_double (void) const |
375 { | 375 { |
376 return range; | 376 return m_range; |
377 } | 377 } |
378 | 378 |
379 octave_value | 379 octave_value |
380 octave_range::as_single (void) const | 380 octave_range::as_single (void) const |
381 { | 381 { |
382 return FloatMatrix (range.matrix_value ()); | 382 return FloatMatrix (m_range.matrix_value ()); |
383 } | 383 } |
384 | 384 |
385 octave_value | 385 octave_value |
386 octave_range::as_int8 (void) const | 386 octave_range::as_int8 (void) const |
387 { | 387 { |
388 return int8NDArray (range.matrix_value ()); | 388 return int8NDArray (m_range.matrix_value ()); |
389 } | 389 } |
390 | 390 |
391 octave_value | 391 octave_value |
392 octave_range::as_int16 (void) const | 392 octave_range::as_int16 (void) const |
393 { | 393 { |
394 return int16NDArray (range.matrix_value ()); | 394 return int16NDArray (m_range.matrix_value ()); |
395 } | 395 } |
396 | 396 |
397 octave_value | 397 octave_value |
398 octave_range::as_int32 (void) const | 398 octave_range::as_int32 (void) const |
399 { | 399 { |
400 return int32NDArray (range.matrix_value ()); | 400 return int32NDArray (m_range.matrix_value ()); |
401 } | 401 } |
402 | 402 |
403 octave_value | 403 octave_value |
404 octave_range::as_int64 (void) const | 404 octave_range::as_int64 (void) const |
405 { | 405 { |
406 return int64NDArray (range.matrix_value ()); | 406 return int64NDArray (m_range.matrix_value ()); |
407 } | 407 } |
408 | 408 |
409 octave_value | 409 octave_value |
410 octave_range::as_uint8 (void) const | 410 octave_range::as_uint8 (void) const |
411 { | 411 { |
412 return uint8NDArray (range.matrix_value ()); | 412 return uint8NDArray (m_range.matrix_value ()); |
413 } | 413 } |
414 | 414 |
415 octave_value | 415 octave_value |
416 octave_range::as_uint16 (void) const | 416 octave_range::as_uint16 (void) const |
417 { | 417 { |
418 return uint16NDArray (range.matrix_value ()); | 418 return uint16NDArray (m_range.matrix_value ()); |
419 } | 419 } |
420 | 420 |
421 octave_value | 421 octave_value |
422 octave_range::as_uint32 (void) const | 422 octave_range::as_uint32 (void) const |
423 { | 423 { |
424 return uint32NDArray (range.matrix_value ()); | 424 return uint32NDArray (m_range.matrix_value ()); |
425 } | 425 } |
426 | 426 |
427 octave_value | 427 octave_value |
428 octave_range::as_uint64 (void) const | 428 octave_range::as_uint64 (void) const |
429 { | 429 { |
430 return uint64NDArray (range.matrix_value ()); | 430 return uint64NDArray (m_range.matrix_value ()); |
431 } | 431 } |
432 | 432 |
433 void | 433 void |
434 octave_range::print (std::ostream& os, bool pr_as_read_syntax) | 434 octave_range::print (std::ostream& os, bool pr_as_read_syntax) |
435 { | 435 { |
438 } | 438 } |
439 | 439 |
440 void | 440 void |
441 octave_range::print_raw (std::ostream& os, bool pr_as_read_syntax) const | 441 octave_range::print_raw (std::ostream& os, bool pr_as_read_syntax) const |
442 { | 442 { |
443 octave_print_internal (os, range, pr_as_read_syntax, | 443 octave_print_internal (os, m_range, pr_as_read_syntax, |
444 current_print_indent_level ()); | 444 current_print_indent_level ()); |
445 } | 445 } |
446 | 446 |
447 bool | 447 bool |
448 octave_range::print_name_tag (std::ostream& os, const std::string& name) const | 448 octave_range::print_name_tag (std::ostream& os, const std::string& name) const |
449 { | 449 { |
450 bool retval = false; | 450 bool retval = false; |
451 | 451 |
452 octave_idx_type n = range.numel (); | 452 octave_idx_type n = m_range.numel (); |
453 | 453 |
454 indent (os); | 454 indent (os); |
455 | 455 |
456 if (n == 0 || n == 1) | 456 if (n == 0 || n == 1) |
457 os << name << " = "; | 457 os << name << " = "; |
469 } | 469 } |
470 | 470 |
471 void | 471 void |
472 octave_range::short_disp (std::ostream& os) const | 472 octave_range::short_disp (std::ostream& os) const |
473 { | 473 { |
474 octave_idx_type len = range.numel (); | 474 octave_idx_type len = m_range.numel (); |
475 | 475 |
476 if (len == 0) | 476 if (len == 0) |
477 os << "[]"; | 477 os << "[]"; |
478 else | 478 else |
479 { | 479 { |
480 os << range.base () << ':'; | 480 os << m_range.base () << ':'; |
481 | 481 |
482 if (len > 1) | 482 if (len > 1) |
483 { | 483 { |
484 if (range.inc () != 1) | 484 if (m_range.inc () != 1) |
485 os << range.inc () << ':'; | 485 os << m_range.inc () << ':'; |
486 | 486 |
487 os << range.limit (); | 487 os << m_range.limit (); |
488 } | 488 } |
489 } | 489 } |
490 } | 490 } |
491 | 491 |
492 // Skip white space and comments on stream IS. | 492 // Skip white space and comments on stream IS. |
515 std::string | 515 std::string |
516 octave_range::edit_display (const float_display_format& fmt, | 516 octave_range::edit_display (const float_display_format& fmt, |
517 octave_idx_type, octave_idx_type j) const | 517 octave_idx_type, octave_idx_type j) const |
518 { | 518 { |
519 std::ostringstream buf; | 519 std::ostringstream buf; |
520 octave_print_internal (buf, fmt, range.elem (j)); | 520 octave_print_internal (buf, fmt, m_range.elem (j)); |
521 return buf.str (); | 521 return buf.str (); |
522 } | 522 } |
523 | 523 |
524 bool | 524 bool |
525 octave_range::save_ascii (std::ostream& os) | 525 octave_range::save_ascii (std::ostream& os) |
559 | 559 |
560 if (! is) | 560 if (! is) |
561 error ("load: failed to load range constant"); | 561 error ("load: failed to load range constant"); |
562 | 562 |
563 if (inc != 0) | 563 if (inc != 0) |
564 range = Range (base, limit, inc); | 564 m_range = Range (base, limit, inc); |
565 else | 565 else |
566 range = Range (base, inc, static_cast<octave_idx_type> (limit)); | 566 m_range = Range (base, inc, static_cast<octave_idx_type> (limit)); |
567 | 567 |
568 return true; | 568 return true; |
569 } | 569 } |
570 | 570 |
571 bool | 571 bool |
606 if (! is.read (reinterpret_cast<char *> (&inc), 8)) | 606 if (! is.read (reinterpret_cast<char *> (&inc), 8)) |
607 return false; | 607 return false; |
608 if (swap) | 608 if (swap) |
609 swap_bytes<8> (&inc); | 609 swap_bytes<8> (&inc); |
610 if (inc != 0) | 610 if (inc != 0) |
611 range = Range (bas, lim, inc); | 611 m_range = Range (bas, lim, inc); |
612 else | 612 else |
613 range = Range (bas, inc, static_cast<octave_idx_type> (lim)); | 613 m_range = Range (bas, inc, static_cast<octave_idx_type> (lim)); |
614 | 614 |
615 return true; | 615 return true; |
616 } | 616 } |
617 | 617 |
618 #if defined (HAVE_HDF5) | 618 #if defined (HAVE_HDF5) |
743 { | 743 { |
744 retval = true; | 744 retval = true; |
745 octave_idx_type nel; | 745 octave_idx_type nel; |
746 if (hdf5_get_scalar_attr (data_hid, H5T_NATIVE_IDX, | 746 if (hdf5_get_scalar_attr (data_hid, H5T_NATIVE_IDX, |
747 "OCTAVE_RANGE_NELEM", &nel)) | 747 "OCTAVE_RANGE_NELEM", &nel)) |
748 range = Range (rangevals[0], rangevals[2], nel); | 748 m_range = Range (rangevals[0], rangevals[2], nel); |
749 else | 749 else |
750 { | 750 { |
751 if (rangevals[2] != 0) | 751 if (rangevals[2] != 0) |
752 range = Range (rangevals[0], rangevals[1], rangevals[2]); | 752 m_range = Range (rangevals[0], rangevals[1], rangevals[2]); |
753 else | 753 else |
754 range = Range (rangevals[0], rangevals[2], | 754 m_range = Range (rangevals[0], rangevals[2], |
755 static_cast<octave_idx_type> (rangevals[1])); | 755 static_cast<octave_idx_type> (rangevals[1])); |
756 } | 756 } |
757 } | 757 } |
758 | 758 |
759 H5Tclose (range_type); | 759 H5Tclose (range_type); |
790 } | 790 } |
791 | 791 |
792 octave_value | 792 octave_value |
793 octave_range::fast_elem_extract (octave_idx_type n) const | 793 octave_range::fast_elem_extract (octave_idx_type n) const |
794 { | 794 { |
795 return (n < range.numel ()) ? octave_value (range.elem (n)) | 795 return (n < m_range.numel () |
796 : octave_value (); | 796 ? octave_value (m_range.elem (n)) : octave_value ()); |
797 } | 797 } |