Mercurial > hg > octave-thorsten
changeset 6990:9dc99ab00c86
[project @ 2007-10-09 20:39:54 by dbateman]
author | dbateman |
---|---|
date | Tue, 09 Oct 2007 20:39:55 +0000 |
parents | 2d326000e09b |
children | f20010b5dcf0 |
files | liboctave/Array2.h liboctave/ChangeLog |
diffstat | 2 files changed, 16 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/liboctave/Array2.h +++ b/liboctave/Array2.h @@ -56,10 +56,19 @@ Array2 (octave_idx_type r, octave_idx_type c, const T& val) : Array<T> (dim_vector (r, c), val) { } - Array2 (const dim_vector& dv) : Array<T> (dv) { } + Array2 (const dim_vector& dv) : Array<T> (dv) + { + if (dv.length () != 2) + (*current_liboctave_error_handler) ("too many dimensions"); + } - Array2 (const dim_vector& dv, const T& val) - : Array<T> (dv) { Array<T>::fill (val); } + Array2 (const dim_vector& dv, const T& val) : Array<T> (dv) + { + if (dv.length () != 2) + (*current_liboctave_error_handler) ("too many dimensions"); + else + Array<T>::fill (val); + } Array2 (const Array2<T>& a) : Array<T> (a, a.dims ()) { }
--- a/liboctave/ChangeLog +++ b/liboctave/ChangeLog @@ -5,6 +5,10 @@ 2007-10-09 David Bateman <dbateman@free.fr> + * Array2.h (Array2<T>::Array2(const dim_vector&), + Array2<T>::Array(const dim_vector&, const T&)): Check that + dim_vector is 2 dimensional. + * Sparse.cc (Sparse<T> Sparse<T>::index (idx_vector&, idx_vector&, int)): Remove a for loop in the random indexing case at the expense of maintaining a set of linked lists of indices that point