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_FloatComplexGEPBALANCE_h)
00025 #define octave_FloatComplexGEPBALANCE_h 1
00026
00027 #include <iosfwd>
00028 #include <string>
00029
00030 #include "fMatrix.h"
00031 #include "fCMatrix.h"
00032
00033 class
00034 OCTAVE_API
00035 FloatComplexGEPBALANCE
00036 {
00037 public:
00038
00039 FloatComplexGEPBALANCE (void) : balanced_mat (), balancing_mat () { }
00040
00041 FloatComplexGEPBALANCE (const FloatComplexMatrix& a, const FloatComplexMatrix& b, const std::string& balance_job)
00042 {
00043 init (a, b, balance_job);
00044 }
00045
00046 FloatComplexGEPBALANCE (const FloatComplexGEPBALANCE& a)
00047 : balanced_mat (a.balanced_mat), balanced_mat2 (a.balanced_mat2),
00048 balancing_mat (a.balancing_mat), balancing_mat2 (a.balancing_mat2) { }
00049
00050 FloatComplexGEPBALANCE& operator = (const FloatComplexGEPBALANCE& a)
00051 {
00052 if (this != &a)
00053 {
00054 balanced_mat = a.balanced_mat;
00055 balanced_mat2 = a.balanced_mat2;
00056 balancing_mat = a.balancing_mat;
00057 balancing_mat2 = a.balancing_mat2;
00058 }
00059 return *this;
00060 }
00061
00062 ~FloatComplexGEPBALANCE (void) { }
00063
00064 FloatComplexMatrix balanced_matrix (void) const { return balanced_mat; }
00065
00066 FloatComplexMatrix balanced_matrix2 (void) const { return balanced_mat2; }
00067
00068 FloatMatrix balancing_matrix (void) const { return balancing_mat; }
00069
00070 FloatMatrix balancing_matrix2 (void) const { return balancing_mat2; }
00071
00072 friend std::ostream& operator << (std::ostream& os, const FloatComplexGEPBALANCE& a);
00073
00074 private:
00075
00076 FloatComplexMatrix balanced_mat;
00077 FloatComplexMatrix balanced_mat2;
00078 FloatMatrix balancing_mat;
00079 FloatMatrix balancing_mat2;
00080
00081 octave_idx_type init (const FloatComplexMatrix& a, const FloatComplexMatrix& b,
00082 const std::string& balance_job);
00083 };
00084
00085 #endif
00086
00087
00088
00089
00090
00091