我想在我的项目中捕获Eigen矩阵中未初始化值的使用。在documentation我找到了一个有用的定义我可以使用:EIGEN_INITIALIZE_MATRICES_BY_NAN
。这已经比没有好了,但仍然不够好:因为我可以使用std::numeric_limits<Scalar>::quiet_NaN()
来明确初始化 quiet NaN。
我宁愿让程序在这些事件上获得FPU异常(可以对其进行陷阱),而不是静默传播NaN值。我之前考虑过在包含任何Eigen标头和#define quiet_NaN signaling_NaN
之前做过#undef quiet_NaN
,但在查看来源之后我发现它们确实包含了一堆系统标题,最有可能使用#define
使用信号NaN自动初始化矩阵是否有更好的方法来编辑特征源?