diff liboctave/fRowVector.h @ 10350:12884915a8e4

merge MArray classes & improve Array interface
author Jaroslav Hajek <highegg@gmail.com>
date Sat, 23 Jan 2010 21:41:03 +0100
parents 4c0cdbe0acca
children 96ed7c629bbd
line wrap: on
line diff
--- a/liboctave/fRowVector.h	Mon Feb 22 23:07:21 2010 -0500
+++ b/liboctave/fRowVector.h	Sat Jan 23 21:41:03 2010 +0100
@@ -34,17 +34,18 @@
 {
 public:
 
-  FloatRowVector (void) : MArray<float> () { }
+  FloatRowVector (void) : MArray<float> (1, 0) { }
 
-  explicit FloatRowVector (octave_idx_type n) : MArray<float> (n) { }
+  explicit FloatRowVector (octave_idx_type n) : MArray<float> (1, n) { }
 
-  explicit FloatRowVector (const dim_vector& dv) : MArray<float> (dv) { }
+  explicit FloatRowVector (const dim_vector& dv) : MArray<float> (dv.as_row ()) { }
 
-  FloatRowVector (octave_idx_type n, float val) : MArray<float> (n, val) { }
+  FloatRowVector (octave_idx_type n, float val) : MArray<float> (1, n, val) { }
 
   FloatRowVector (const FloatRowVector& a) : MArray<float> (a) { }
 
-  FloatRowVector (const MArray<float>& a) : MArray<float> (a) { }
+  FloatRowVector (const MArray<float>& a) : MArray<float> (a.as_row ()) { }
+  FloatRowVector (const Array<float>& a) : MArray<float> (a.as_row ()) { }
 
   FloatRowVector& operator = (const FloatRowVector& a)
     {
@@ -89,9 +90,15 @@
   friend OCTAVE_API std::ostream& operator << (std::ostream& os, const FloatRowVector& a);
   friend OCTAVE_API std::istream& operator >> (std::istream& is, FloatRowVector& a);
 
+  void resize (octave_idx_type n, const float& rfv = Array<float>::resize_fill_value ())
+    { Array<float>::resize (1, n, rfv); }
+
+  void clear (octave_idx_type n)
+    { Array<float>::clear (1, n); }
+
 private:
 
-  FloatRowVector (float *d, octave_idx_type l) : MArray<float> (d, l) { }
+  FloatRowVector (float *d, octave_idx_type l) : MArray<float> (d, 1, l) { }
 };
 
 // row vector by column vector -> scalar