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_base_lu_h)
00024 #define octave_base_lu_h 1
00025
00026 #if defined (__GNUG__) && defined (USE_PRAGMA_INTERFACE_IMPLEMENTATION)
00027 #pragma interface
00028 #endif
00029
00030 #include "MArray.h"
00031
00032 template <class lu_type, class lu_elt_type, class p_type, class p_elt_type>
00033 class
00034 base_lu
00035 {
00036 public:
00037
00038 base_lu (void) { }
00039
00040 base_lu (const base_lu& a) : a_fact (a.a_fact), ipvt (a.ipvt) { }
00041
00042 base_lu& operator = (const base_lu& a)
00043 {
00044 if (this != &a)
00045 {
00046 a_fact = a.a_fact;
00047 ipvt = a.ipvt;
00048 }
00049 return *this;
00050 }
00051
00052 ~base_lu (void) { }
00053
00054 lu_type L (void) const;
00055
00056 lu_type U (void) const;
00057
00058 p_type P (void) const;
00059
00060 protected:
00061
00062 lu_type a_fact;
00063 MArray<int> ipvt;
00064 };
00065
00066 #endif
00067
00068
00069
00070
00071
00072