Mercurial > hg > octave-lyh
diff liboctave/fCRowVector.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 | cbc402e64d83 |
children | 96ed7c629bbd |
line wrap: on
line diff
--- a/liboctave/fCRowVector.h +++ b/liboctave/fCRowVector.h @@ -25,6 +25,7 @@ #define octave_FloatComplexRowVector_h 1 #include "MArray.h" +#include "fRowVector.h" #include "mx-defs.h" @@ -36,19 +37,21 @@ public: - FloatComplexRowVector (void) : MArray<FloatComplex> () { } + FloatComplexRowVector (void) : MArray<FloatComplex> (1, 0) { } - explicit FloatComplexRowVector (octave_idx_type n) : MArray<FloatComplex> (n) { } + explicit FloatComplexRowVector (octave_idx_type n) : MArray<FloatComplex> (1, n) { } - explicit FloatComplexRowVector (const dim_vector& dv) : MArray<FloatComplex> (dv) { } + explicit FloatComplexRowVector (const dim_vector& dv) : MArray<FloatComplex> (dv.as_row ()) { } - FloatComplexRowVector (octave_idx_type n, const FloatComplex& val) : MArray<FloatComplex> (n, val) { } + FloatComplexRowVector (octave_idx_type n, const FloatComplex& val) + : MArray<FloatComplex> (1, n, val) { } FloatComplexRowVector (const FloatComplexRowVector& a) : MArray<FloatComplex> (a) { } - FloatComplexRowVector (const MArray<FloatComplex>& a) : MArray<FloatComplex> (a) { } + FloatComplexRowVector (const MArray<FloatComplex>& a) : MArray<FloatComplex> (a.as_row ()) { } + FloatComplexRowVector (const Array<FloatComplex>& a) : MArray<FloatComplex> (a.as_row ()) { } - explicit FloatComplexRowVector (const FloatRowVector& a); + explicit FloatComplexRowVector (const FloatRowVector& a) : MArray<FloatComplex> (a) { } FloatComplexRowVector& operator = (const FloatComplexRowVector& a) { @@ -106,9 +109,15 @@ friend std::ostream& operator << (std::ostream& os, const FloatComplexRowVector& a); friend std::istream& operator >> (std::istream& is, FloatComplexRowVector& a); + void resize (octave_idx_type n, const FloatComplex& rfv = Array<FloatComplex>::resize_fill_value ()) + { Array<FloatComplex>::resize (1, n, rfv); } + + void clear (octave_idx_type n) + { Array<FloatComplex>::clear (1, n); } + private: - FloatComplexRowVector (FloatComplex *d, octave_idx_type l) : MArray<FloatComplex> (d, l) { } + FloatComplexRowVector (FloatComplex *d, octave_idx_type l) : MArray<FloatComplex> (d, 1, l) { } }; // row vector by column vector -> scalar