/* Example programs from the book Scientific and Engineering Programming in C++: An Introduction with Advanced Techniques and Examples, Addison-Wesley, 1994. (c) COPYRIGHT INTERNATIONAL BUSINESS MACHINES CORPORATION 1994. ALL RIGHTS RESERVED. See README file for further details. */ #ifndef RectLURepH #define RectLURepH #include "Array/ConcreteFortranArray1d.h" #include "Array/ConcreteFortranArray2d.h" template class RectLURep { public: typedef ConcreteFortranArray2d Unfactored; typedef ConcreteFortranArray1d Unknowns1d; typedef ConcreteFortranArray1d Knowns1d; typedef ConcreteFortranArray2d Unknowns2d; typedef ConcreteFortranArray2d Knowns2d; class Factored { public: Factored(RectLURep::Unfactored* mp); void solve(ConcreteFortranArray2d&); void solve(ConcreteFortranArray2d& x, const ConcreteFortranArray2d& b); void solve(ConcreteFortranArray1d&); void solve(ConcreteFortranArray1d& x, const ConcreteFortranArray1d& b); private: CopiedObjPtr< RectLURep::Unfactored > facmat_p; // Factored matrix pointer ConcreteFortranArray1d pivots; // Pivots }; }; #ifdef XLC_QNOTEMPINC #include "LapackWrap/RectLURep.c" #endif #endif