expression-templates相关内容
让我们看一下表达式模板的一个特殊好处:ET可用于避免内存中的矢量大小的临时变量,这些临时变量会在重载运算符中发生,例如: template std :: vector运算子+(const std :: vector T& a,const std :: vector T& b) { std :: vector
..
我正在尝试创建一个规则,该规则返回通过引用Phoenix表达式构造的function.例如, start = int_[_val = xxx]; rule start; xxx应该是什么,以便解析字符串"5"应该给我一个函数,该函数给我输入的第五个字符?我已经尝试过像la
..
我们正在尝试在我的研究小组中实施新的C ++代码,以执行大型数值模拟(有限元,有限差分法,拓扑优化等).该软件将被学术界和行业人士使用. 对于该软件的稠密线性代数,我们想使用Eigen或Armadillo.我们希望围绕这些软件包构建一个包装器,其原因有两个:1.向用户而不是第三方API公开我们自己的API; 2.如果将来需要切换库.我知道原因2是一种非常昂贵的保险形式,但是我们在以前的模拟软
..
我已经完成了数学库的第一个版本,下一步,我想转向表达式模板来提高代码的性能.但是,我的初步结果与预期不同.我正在MSVC 2010中以原始发布模式进行编译(并且对于C ++ 0x没问题). 我将向您展示大量代码,这是预先的道歉,它使我尽可能地做到最小,同时让人们了解我在做什么.分析框架: #include #include #include
..
我一直给人的印象是,对于任何比较语句,即X == Y或X != Y是格式,并且您将语句与&&或||链接在一起. 有没有什么方法可以代替X == Y || X == Z来编写X == (Y || Z)? 编辑:由于已经确定不可能做到这一点,所以还可以怎么做? 解决方案 #include #include #include
..
我正在写一个库,存储Eigen表达式模板作为成员变量,以进行需要做的复杂计算。但是,似乎我不能存储或返回这些表达式模板,除非它们直接在MatrixXd或类似的转换。这迫使每一步都被保存到一个临时的,并且浪费整个设计的效率。 这里有一个简短的例子,导致麻烦。 Holder只是拥有一个Eigen矩阵,而Summer需要两个持有者并输出他们持有的两个矩阵的总和,当你调用get()。 包含文件
..
我的实际问题是更复杂,看起来很难给出一个简短的具体例子来重现它。所以我在这里发布一个不同的小例子,可能是相关的,它的讨论也可能有助于在实际的问题: // A:works fine(prints'2') cout(std :: get( std :: forward_as_tuple(3,std :: forward_as_tuple(2,0))
..
我明白做了以下事情: auto&& x = Matrix1()+ Matrix2()+ Matrix3(); std :: cout boost :: ubla
..
使用以下代码,“hello2”不会显示为在执行第4行之前在第3行模具上创建的临时字符串。使用#define作为行1避免了这个问题,但有没有一种方法,以避免使用#define? (C ++ 11代码没问题) #include #include class C { public: C(const std :: string& p_s)
..
我一直在改变一些代码,以利用 QStringBuilder 表示模板声称性能提高。不幸的是,这导致我的代码部分开始崩溃的地方,例如: #define QT_USE_QSTRINGBUILDER #include #include #include #include int m
..
我在编译器依赖的问题中遇到以下代码(存储在crtp.cc中): #include #include #include template class AlgebraicVectorExpression { public: typedef std :: vector ::
..
我想在我的程序中使用Eigen矩阵库作为线性代数引擎。 Eigen使用表达式模板实现延迟评估,并简化循环和计算。 例如: #include int main() { int size = 40; // VectorXf是一个带有动态大小的浮点数的向量。 Eigen :: VectorXf u(size),v(size),w(size),
..
我有一组,我需要覆盖前pression模板运营商。我想一个基本类型匹配的基本类型的所有派生类。其他的事情然后由泛型类型被抓。不幸的是,基本类型做之前泛型类型抓住派生类型。为了让这件事情扑朔迷离,一切都是模板pretty巨资,其中包括一些CRTP。让我试着给code更简单的版本: //注:'R'是用于返回类型 模板< typename的DerivedType,typename的R>
..
有什么好介绍的创造C ++前pression模板系统?我想前preSS算术用户定义类型,同时避免了临时值(可能是大),并学习如何做到这一点,而不是直接将现有的库。 我发现托德Veldhuizen的原始纸并从的
..