Mercurial > hg > octave-lyh
diff liboctave/idx-vector.cc @ 10486:4e64fbbd5c58
allow non-integer values in ranges used for array indexing
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 02 Apr 2010 14:28:34 -0400 |
parents | ded9beac7582 |
children | 942386d6d1a5 |
line wrap: on
line diff
--- a/liboctave/idx-vector.cc +++ b/liboctave/idx-vector.cc @@ -770,6 +770,23 @@ rep = new idx_mask_rep (bnda, nnz); } +idx_vector::idx_vector (const Range& r) + : rep (0) +{ + if (r.nelem () > 0 && ! r.all_elements_are_ints ()) + { + gripe_invalid_index (false); + + Matrix m = r.matrix_value (); + + rep = new idx_vector_rep (m.map (xround)); + } + else + rep = new idx_range_rep (r); + + chkerr (); +} + bool idx_vector::maybe_reduce (octave_idx_type n, const idx_vector& j, octave_idx_type nj) {