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_FloatComplexColumnVector_h)
00025 #define octave_FloatComplexColumnVector_h 1
00026
00027 #include "MArray.h"
00028
00029 #include "mx-defs.h"
00030
00031 class
00032 OCTAVE_API
00033 FloatComplexColumnVector : public MArray<FloatComplex>
00034 {
00035 friend class FloatComplexMatrix;
00036 friend class FloatComplexRowVector;
00037
00038 public:
00039
00040 FloatComplexColumnVector (void) : MArray<FloatComplex> () { }
00041
00042 explicit FloatComplexColumnVector (octave_idx_type n) : MArray<FloatComplex> (n) { }
00043
00044 explicit FloatComplexColumnVector (const dim_vector& dv) : MArray<FloatComplex> (dv) { }
00045
00046 FloatComplexColumnVector (octave_idx_type n, const FloatComplex& val)
00047 : MArray<FloatComplex> (n, val) { }
00048
00049 FloatComplexColumnVector (const FloatComplexColumnVector& a) : MArray<FloatComplex> (a) { }
00050
00051 FloatComplexColumnVector (const MArray<FloatComplex>& a) : MArray<FloatComplex> (a) { }
00052
00053 explicit FloatComplexColumnVector (const FloatColumnVector& a);
00054
00055 FloatComplexColumnVector& operator = (const FloatComplexColumnVector& a)
00056 {
00057 MArray<FloatComplex>::operator = (a);
00058 return *this;
00059 }
00060
00061 bool operator == (const FloatComplexColumnVector& a) const;
00062 bool operator != (const FloatComplexColumnVector& a) const;
00063
00064
00065
00066 FloatComplexColumnVector& insert (const FloatColumnVector& a, octave_idx_type r);
00067 FloatComplexColumnVector& insert (const FloatComplexColumnVector& a, octave_idx_type r);
00068
00069 FloatComplexColumnVector& fill (float val);
00070 FloatComplexColumnVector& fill (const FloatComplex& val);
00071 FloatComplexColumnVector& fill (float val, octave_idx_type r1, octave_idx_type r2);
00072 FloatComplexColumnVector& fill (const FloatComplex& val, octave_idx_type r1, octave_idx_type r2);
00073
00074 FloatComplexColumnVector stack (const FloatColumnVector& a) const;
00075 FloatComplexColumnVector stack (const FloatComplexColumnVector& a) const;
00076
00077 FloatComplexRowVector hermitian (void) const;
00078 FloatComplexRowVector transpose (void) const;
00079
00080 friend OCTAVE_API FloatComplexColumnVector conj (const FloatComplexColumnVector& a);
00081
00082
00083
00084 FloatComplexColumnVector extract (octave_idx_type r1, octave_idx_type r2) const;
00085
00086 FloatComplexColumnVector extract_n (octave_idx_type r1, octave_idx_type n) const;
00087
00088
00089
00090 FloatComplexColumnVector& operator += (const FloatColumnVector& a);
00091 FloatComplexColumnVector& operator -= (const FloatColumnVector& a);
00092
00093
00094
00095 friend OCTAVE_API FloatComplexColumnVector operator * (const FloatComplexMatrix& a,
00096 const FloatColumnVector& b);
00097
00098 friend OCTAVE_API FloatComplexColumnVector operator * (const FloatComplexMatrix& a,
00099 const FloatComplexColumnVector& b);
00100
00101
00102
00103 friend OCTAVE_API FloatComplexColumnVector operator * (const FloatMatrix& a,
00104 const FloatComplexColumnVector& b);
00105
00106
00107
00108 friend OCTAVE_API FloatComplexColumnVector operator * (const FloatDiagMatrix& a,
00109 const FloatComplexColumnVector& b);
00110
00111 friend OCTAVE_API FloatComplexColumnVector operator * (const FloatComplexDiagMatrix& a,
00112 const ColumnVector& b);
00113
00114 friend OCTAVE_API FloatComplexColumnVector operator * (const FloatComplexDiagMatrix& a,
00115 const FloatComplexColumnVector& b);
00116
00117
00118
00119 typedef float (*dmapper) (const FloatComplex&);
00120 typedef FloatComplex (*cmapper) (const FloatComplex&);
00121
00122 FloatColumnVector map (dmapper fcn) const;
00123 FloatComplexColumnVector map (cmapper fcn) const;
00124
00125 FloatComplex min (void) const;
00126 FloatComplex max (void) const;
00127
00128
00129
00130 friend OCTAVE_API std::ostream& operator << (std::ostream& os, const FloatComplexColumnVector& a);
00131 friend OCTAVE_API std::istream& operator >> (std::istream& is, FloatComplexColumnVector& a);
00132
00133 private:
00134
00135 FloatComplexColumnVector (FloatComplex *d, octave_idx_type l) : MArray<FloatComplex> (d, l) { }
00136 };
00137
00138 MARRAY_FORWARD_DEFS (MArray, FloatComplexColumnVector, FloatComplex)
00139
00140 #endif
00141
00142
00143
00144
00145
00146