36 #ifndef NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_SCALED_MATRIX_HPP
37 #define NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_SCALED_MATRIX_HPP
44 #include <boost/shared_ptr.hpp>
48 template<
typename DataType,
typename InnerMatrixType>
55 typedef typename boost::remove_const<typename InnerType::NumberType>::type
NumberType;
68 const NumberType& scale) :
76 const_iterator out = *
this;
89 return m_scale*(*m_iter);
94 return m_iter == rhs.m_iter;
99 return !(*
this == rhs);
103 typename InnerType::const_iterator
m_iter;
113 boost::shared_ptr<const InnerType> m);
140 LIB_UTILITIES_EXPORT static boost::shared_ptr<ThisType> CreateWrapper(
const boost::shared_ptr<ThisType>& rhs);
146 v_GetValue(
unsigned int row,
unsigned int column)
const;
156 template<
typename DataType>
159 template<
typename DataType>
166 #endif //NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_SCALED_MATRIX_HPP
boost::remove_const< typename InnerType::NumberType >::type NumberType
NekMatrix< DataType, InnerMatrixType > InnerType
const_iterator & operator++()
NumberType ConstGetValueType
NekMatrix< InnerType, ScaledMatrixTag > ThisType
InnerType::const_iterator m_iter
const_iterator(typename InnerType::const_iterator iter, const NumberType &scale)
bool operator!=(const const_iterator &rhs)
#define LIB_UTILITIES_EXPORT
NekMatrix< InnerMatrixType, BlockMatrixTag > Transpose(NekMatrix< InnerMatrixType, BlockMatrixTag > &rhs)
boost::shared_ptr< const InnerType > m_matrix
bool operator==(const const_iterator &rhs)
void NegateInPlace(NekVector< DataType > &v)
ConstMatrix< DataType > BaseType
const_iterator operator++(int)