⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 identity.h

📁 关于矩阵运算的很强的一个工具包
💻 H
字号:
/* * $Id: Identity.h,v 1.4 2006-11-21 18:43:09 opetzold Exp $ */#ifndef TVMET_XPR_IDENTITY_H#define TVMET_XPR_IDENTITY_Hnamespace tvmet {/** * \class XprIdentity Identity.h "tvmet/xpr/Identity.h" * \brief Expression for the identity matrix. * * This expression doesn't hold any other expression, it * simply returns 1 or 0 depends where the row and column * element excess is done. * * \since release 1.6.0 * \sa identity */template<class T, std::size_t Rows, std::size_t Cols>struct XprIdentity  : public TvmetBase< XprIdentity<T, Rows, Cols> >{  XprIdentity& operator=(const XprIdentity&);public:  typedef T				value_type;public:  /** Complexity counter. */  enum {    ops_assign = Rows * Cols,    ops        = ops_assign  };public:  /** access by index. */  value_type operator()(std::size_t i, std::size_t j) const {    return i==j ? 1 : 0;  }public: // debugging Xpr parse tree  void print_xpr(std::ostream& os, std::size_t l=0) const {    os << IndentLevel(l++)       << "XprIdentity[O="<< ops << ")]<"       << std::endl;    os << IndentLevel(l)       << typeid(T).name() << ","       << "R=" << Rows << ", C=" << Cols << std::endl;    os << IndentLevel(--l) << ">"       << ((l != 0) ? "," : "") << std::endl;  }};} // namespace tvmet#endif // TVMET_XPR_IDENTITY_H// Local Variables:// mode:C++// tab-width:8// End:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -