39     template<
typename DataType, 
typename InnerMatrixType>
 
   47     template<
typename DataType, 
typename InnerMatrixType>
 
   49               boost::shared_ptr<const InnerType> m) :
 
   56     template<
typename DataType, 
typename InnerMatrixType>
 
   59         m_matrix(rhs.m_matrix),
 
   65     template<
typename DataType, 
typename InnerMatrixType>
 
   66     NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::NekMatrix(
 
   67             typename boost::call_traits<
typename NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::NumberType>::const_reference scale, 
const NekMatrix<InnerType, ScaledMatrixTag>& rhs) :
 
   68         NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::BaseType(rhs),
 
   69         m_matrix(rhs.m_matrix),
 
   74     template<
typename DataType, 
typename InnerMatrixType>
 
   75     typename NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::ConstGetValueType
 
   78         return m_scale*m_matrix->GetValue(row, col, this->GetTransposeFlag());
 
   81     template<
typename DataType, 
typename InnerMatrixType>
 
   84         return m_matrix->GetStorageSize();
 
   87     template<
typename DataType, 
typename InnerMatrixType>
 
   88     MatrixStorage NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::GetType()
 const { 
return m_matrix->GetStorageType(); }
 
   90     template<
typename DataType, 
typename InnerMatrixType>
 
   91     typename NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::NumberType
 
   92     NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::Scale()
 const 
   94         return m_scale*m_matrix->Scale();
 
   97     template<
typename DataType, 
typename InnerMatrixType>
 
   98     void NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::SetScale(
const NumberType& value)
 
  103     template<
typename DataType, 
typename InnerMatrixType>
 
  104     const typename NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::NumberType*
 
  105     NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::GetRawPtr()
 const { 
return m_matrix->GetRawPtr(); }
 
  107     template<
typename DataType, 
typename InnerMatrixType>
 
  108     boost::shared_ptr<const typename NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::InnerType>
 
  109     NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::GetOwnedMatrix()
 const 
  114     template<
typename DataType, 
typename InnerMatrixType>
 
  115     unsigned int NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::GetNumberOfSubDiagonals()
 const { 
return m_matrix->GetNumberOfSubDiagonals(); }
 
  117     template<
typename DataType, 
typename InnerMatrixType>
 
  118     unsigned int NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::GetNumberOfSuperDiagonals()
 const { 
return m_matrix->GetNumberOfSuperDiagonals(); }
 
  120     template<
typename DataType, 
typename InnerMatrixType>
 
  121     typename NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::const_iterator
 
  122     NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::begin()
 const { 
return const_iterator(m_matrix->begin(this->GetTransposeFlag()), m_scale); }
 
  124     template<
typename DataType, 
typename InnerMatrixType>
 
  125     typename NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::const_iterator
 
  126     NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::end()
 const { 
return const_iterator(m_matrix->end(this->GetTransposeFlag()), m_scale); }
 
  128     template<
typename DataType, 
typename InnerMatrixType>
 
  129     NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>
 
  132         return NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>(rhs);
 
  135     template<
typename DataType, 
typename InnerMatrixType>
 
  136     boost::shared_ptr<NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag> >
 
  137     NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::CreateWrapper(
const boost::shared_ptr<NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag> >& rhs)
 
  139         return boost::shared_ptr<ThisType>(
new ThisType(*rhs));
 
  143     template<
typename DataType, 
typename InnerMatrixType>
 
  144     typename boost::call_traits<typename NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::NumberType>::value_type
 
  145     NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::v_GetValue(
unsigned int row, 
unsigned int column)
 const 
  147         return ThisType::operator()(row, column);
 
  150     template<
typename DataType, 
typename InnerMatrixType>
 
  151     unsigned int NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::v_GetStorageSize()
 const 
  153         return ThisType::GetStorageSize();
 
  156     template<
typename DataType, 
typename InnerMatrixType>
 
  157     MatrixStorage NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::v_GetStorageType()
 const 
  159         return ThisType::GetType();
 
  162     template<
typename DataType, 
typename InnerMatrixType>
 
  163     char NekMatrix<NekMatrix< DataType, InnerMatrixType>, ScaledMatrixTag>::v_GetTransposeFlag()
 const 
  165         if( this->GetRawTransposeFlag() == 
'N' )
 
  167             return m_matrix->GetTransposeFlag();
 
  171             if( m_matrix->GetTransposeFlag() == 
'N' )
 
  185     template<
typename DataType>
 
  240     template LIB_UTILITIES_EXPORT class NekMatrix<NekMatrix< NekDouble, StandardMatrixTag>, ScaledMatrixTag>;
 
  244     Transpose(NekMatrix<NekMatrix<NekDouble, StandardMatrixTag>, ScaledMatrixTag>& rhs);
 
  246     template<
typename DataType>
 
  249         v.SetScale(-1.0*v.Scale());
 
boost::remove_const< typename InnerType::NumberType >::type NumberType
 
#define LIB_UTILITIES_EXPORT
 
NekMatrix< InnerMatrixType, BlockMatrixTag > Transpose(NekMatrix< InnerMatrixType, BlockMatrixTag > &rhs)
 
void NegateInPlace(NekVector< DataType > &v)