/* 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 ConcreteRigidArithmeticH #define ConcreteRigidArithmeticH #include "Algebra/DivisionAlgebraCategory.h" #include "Vector/DistributingDivisionAlgebra.h" #include "Array/ConcreteRigidArray1d.h" template class ConcreteRigidArithmetic : public DivisionAlgebraCategory< ConcreteRigidArithmetic, T >, public DistributingDivisionAlgebra,T>, public ConcreteRigidArray1d { public: ConcreteRigidArithmetic() : ConcreteRigidArray1d() {} ConcreteRigidArithmetic(Subscript n) : ConcreteRigidArray1d(n) {} ConcreteRigidArithmetic& operator/=(const ConcreteRigidArithmetic& rhs) { DistributingDivisionAlgebra,T>::operator/=(rhs); return *this; } const ConcreteRigidArithmetic& operator=(const ConcreteRigidArithmetic& rhs) { ConcreteRigidArray1d::operator=(rhs); return *this; } const ConcreteRigidArithmetic& operator=(const T& rhs) { ConcreteRigidArray1d::operator=(rhs); return *this; } }; #endif