# HG changeset patch # User dbateman # Date 1191962395 0 # Node ID 9dc99ab00c86097e8f844bd83ebbbe2cbc3d5029 # Parent 2d326000e09b1b233a25a7abed4a171c66f822ba [project @ 2007-10-09 20:39:54 by dbateman] diff -r 2d326000e09b -r 9dc99ab00c86 liboctave/Array2.h --- a/liboctave/Array2.h Tue Oct 09 20:32:43 2007 +0000 +++ b/liboctave/Array2.h Tue Oct 09 20:39:55 2007 +0000 @@ -56,10 +56,19 @@ Array2 (octave_idx_type r, octave_idx_type c, const T& val) : Array (dim_vector (r, c), val) { } - Array2 (const dim_vector& dv) : Array (dv) { } + Array2 (const dim_vector& dv) : Array (dv) + { + if (dv.length () != 2) + (*current_liboctave_error_handler) ("too many dimensions"); + } - Array2 (const dim_vector& dv, const T& val) - : Array (dv) { Array::fill (val); } + Array2 (const dim_vector& dv, const T& val) : Array (dv) + { + if (dv.length () != 2) + (*current_liboctave_error_handler) ("too many dimensions"); + else + Array::fill (val); + } Array2 (const Array2& a) : Array (a, a.dims ()) { } diff -r 2d326000e09b -r 9dc99ab00c86 liboctave/ChangeLog --- a/liboctave/ChangeLog Tue Oct 09 20:32:43 2007 +0000 +++ b/liboctave/ChangeLog Tue Oct 09 20:39:55 2007 +0000 @@ -5,6 +5,10 @@ 2007-10-09 David Bateman + * Array2.h (Array2::Array2(const dim_vector&), + Array2::Array(const dim_vector&, const T&)): Check that + dim_vector is 2 dimensional. + * Sparse.cc (Sparse Sparse::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