00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #if !defined (octave_FloatComplexRowVector_h)
00025 #define octave_FloatComplexRowVector_h 1
00026
00027 #include "MArray.h"
00028
00029 #include "mx-defs.h"
00030
00031 class
00032 OCTAVE_API
00033 FloatComplexRowVector : public MArray<FloatComplex>
00034 {
00035 friend class FloatComplexColumnVector;
00036
00037 public:
00038
00039 FloatComplexRowVector (void) : MArray<FloatComplex> () { }
00040
00041 explicit FloatComplexRowVector (octave_idx_type n) : MArray<FloatComplex> (n) { }
00042
00043 explicit FloatComplexRowVector (const dim_vector& dv) : MArray<FloatComplex> (dv) { }
00044
00045 FloatComplexRowVector (octave_idx_type n, const FloatComplex& val) : MArray<FloatComplex> (n, val) { }
00046
00047 FloatComplexRowVector (const FloatComplexRowVector& a) : MArray<FloatComplex> (a) { }
00048
00049 FloatComplexRowVector (const MArray<FloatComplex>& a) : MArray<FloatComplex> (a) { }
00050
00051 explicit FloatComplexRowVector (const FloatRowVector& a);
00052
00053 FloatComplexRowVector& operator = (const FloatComplexRowVector& a)
00054 {
00055 MArray<FloatComplex>::operator = (a);
00056 return *this;
00057 }
00058
00059 bool operator == (const FloatComplexRowVector& a) const;
00060 bool operator != (const FloatComplexRowVector& a) const;
00061
00062
00063
00064 FloatComplexRowVector& insert (const FloatRowVector& a, octave_idx_type c);
00065 FloatComplexRowVector& insert (const FloatComplexRowVector& a, octave_idx_type c);
00066
00067 FloatComplexRowVector& fill (float val);
00068 FloatComplexRowVector& fill (const FloatComplex& val);
00069 FloatComplexRowVector& fill (float val, octave_idx_type c1, octave_idx_type c2);
00070 FloatComplexRowVector& fill (const FloatComplex& val, octave_idx_type c1, octave_idx_type c2);
00071
00072 FloatComplexRowVector append (const FloatRowVector& a) const;
00073 FloatComplexRowVector append (const FloatComplexRowVector& a) const;
00074
00075 FloatComplexColumnVector hermitian (void) const;
00076 FloatComplexColumnVector transpose (void) const;
00077
00078 friend FloatComplexRowVector conj (const FloatComplexRowVector& a);
00079
00080
00081
00082 FloatComplexRowVector extract (octave_idx_type c1, octave_idx_type c2) const;
00083
00084 FloatComplexRowVector extract_n (octave_idx_type c1, octave_idx_type n) const;
00085
00086
00087
00088 FloatComplexRowVector& operator += (const FloatRowVector& a);
00089 FloatComplexRowVector& operator -= (const FloatRowVector& a);
00090
00091
00092
00093 friend FloatComplexRowVector operator * (const FloatComplexRowVector& a,
00094 const FloatComplexMatrix& b);
00095
00096 friend FloatComplexRowVector operator * (const FloatRowVector& a,
00097 const FloatComplexMatrix& b);
00098
00099
00100
00101 typedef float (*dmapper) (const FloatComplex&);
00102 typedef FloatComplex (*cmapper) (const FloatComplex&);
00103
00104 FloatRowVector map (dmapper fcn) const;
00105 FloatComplexRowVector map (cmapper fcn) const;
00106
00107 FloatComplex min (void) const;
00108 FloatComplex max (void) const;
00109
00110
00111
00112 friend std::ostream& operator << (std::ostream& os, const FloatComplexRowVector& a);
00113 friend std::istream& operator >> (std::istream& is, FloatComplexRowVector& a);
00114
00115 private:
00116
00117 FloatComplexRowVector (FloatComplex *d, octave_idx_type l) : MArray<FloatComplex> (d, l) { }
00118 };
00119
00120
00121
00122 FloatComplex operator * (const FloatComplexRowVector& a, const ColumnVector& b);
00123
00124 FloatComplex operator * (const FloatComplexRowVector& a, const FloatComplexColumnVector& b);
00125
00126
00127
00128 OCTAVE_API FloatComplexRowVector linspace (const FloatComplex& x1, const FloatComplex& x2, octave_idx_type n);
00129
00130 MARRAY_FORWARD_DEFS (MArray, FloatComplexRowVector, FloatComplex)
00131
00132 #endif
00133
00134
00135
00136
00137
00138