[英]Can Eigen be used also for 1-vectors (scalars)?
我正在寫一些例程,該例程對於2矢量和標量在形式上都是相同的。 我想寫的是Eigen::Matrix<double,N,1>
的模板,實例化為N = 2或N = 1(對於標量,將標量double d
包裝為Eigen::Map<Eigen::Matrix<double,1,1>>(&d)
。
Eigen在設計時就考慮了這種特殊情況嗎? 它會高效嗎,例如內部調用Eigen::Matrix<double,1,1>::norm()
abs(v1)
,對squaredNorm()
copysign(1,v1)
v1*v1
或對squaredNorm()
copysign(1,v1)
normalized()
?
沒有對size=1
顯式專門化,但是由於顯式展開,大多數表達式將生成標量代碼。 例如, squaredNorm()
將生成x*x
,但norm
將生成sqrt(x*x)
。 相同於normalized()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.