# HG changeset patch # User Jaroslav Hajek # Date 1240391155 -7200 # Node ID a48c500e48e1c933e652aafe241b5e429db10c00 # Parent 53364bb317d4dc10fdd26b365be9c191fa7f0325 support range->string conversions diff --git a/src/ChangeLog b/src/ChangeLog --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2009-04-22 Jaroslav Hajek + + * ov-range.cc (octave_range::char_array_value): New virtual function + override. + * ov-range.h: Declare it. + 2009-04-22 Jaroslav Hajek * pt-mat.cc (tm_row_const::tm_row_const_rep::do_init_element): diff --git a/src/ov-range.cc b/src/ov-range.cc --- a/src/ov-range.cc +++ b/src/ov-range.cc @@ -173,6 +173,20 @@ return retval; } +charNDArray +octave_range::char_array_value (bool) const +{ + const Matrix matrix = range.matrix_value (); + charNDArray retval (dims ()); + + octave_idx_type nel = numel (); + + for (octave_idx_type i = 0; i < nel; i++) + retval.elem (i) = static_cast(matrix.elem (i)); + + return retval; +} + octave_value octave_range::all (int dim) const { diff --git a/src/ov-range.h b/src/ov-range.h --- a/src/ov-range.h +++ b/src/ov-range.h @@ -181,6 +181,8 @@ FloatNDArray float_array_value (bool = false) const { return FloatMatrix (range.matrix_value ()); } + charNDArray char_array_value (bool = false) const; + // FIXME -- it would be better to have Range::intXNDArray_value // functions to avoid the intermediate conversion to a matrix // object.