/* 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 TransposedConcreteBlas2dH #define TransposedConcreteBlas2dH #include "Array/ConcreteArrayShape.h" #include "Array/ConcreteArray2d.h" #include "LapackWrap/ConcreteBlas2d.h" #include "SciEng/Boolean.h" template class TransposedConcreteBlas2d : public ConcreteArray2dRef, T> { public: TransposedConcreteBlas2d(ConcreteBlas2d& a); friend ConcreteBlas2d operator*(const TransposedConcreteBlas2d& t, const TransposedConcreteBlas2d& u); friend ConcreteBlas2d operator*(const ConcreteBlas2d& u, const TransposedConcreteBlas2d& t); friend ConcreteBlas2d operator*(const TransposedConcreteBlas2d& t, const ConcreteBlas2d& u); friend ConcreteBlas1d operator*(const TransposedConcreteBlas2d& t, const ConcreteBlas1d& u); operator ConcreteBlas2d() const; }; template inline ostream& operator<<(ostream& os, const TransposedConcreteBlas2d& a) { return os << ConcreteArray2dConstRef::SubscriptorT, T>(a); } #ifdef XLC_QNOTEMPINC #include "LapackWrap/TransposedConcreteBlas2d.c" #endif #endif