00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #if !defined (octave_ComplexDET_h)
00024 #define octave_ComplexDET_h 1
00025
00026 #if defined (__GNUG__) && defined (USE_PRAGMA_INTERFACE_IMPLEMENTATION)
00027 #pragma interface
00028 #endif
00029
00030 #include <iostream>
00031
00032 #include "oct-cmplx.h"
00033
00034 class
00035 ComplexDET
00036 {
00037 friend class ComplexMatrix;
00038
00039 public:
00040
00041 ComplexDET (void) { }
00042
00043 ComplexDET (const ComplexDET& a)
00044 {
00045 det[0] = a.det[0];
00046 det[1] = a.det[1];
00047 }
00048
00049 ComplexDET& operator = (const ComplexDET& a)
00050 {
00051 if (this != &a)
00052 {
00053 det[0] = a.det[0];
00054 det[1] = a.det[1];
00055 }
00056 return *this;
00057 }
00058
00059 int value_will_overflow (void) const;
00060 int value_will_underflow (void) const;
00061
00062 Complex coefficient (void) const;
00063
00064 int exponent (void) const;
00065
00066 Complex value (void) const;
00067
00068 friend std::ostream& operator << (std::ostream& os, const ComplexDET& a);
00069
00070 private:
00071
00072 ComplexDET (const Complex *d)
00073 {
00074 det[0] = d[0];
00075 det[1] = d[1];
00076 }
00077
00078 Complex det [2];
00079 };
00080
00081 #endif
00082
00083
00084
00085
00086
00087