禁用boost :: ublas中的警告日志

时间:2017-09-11 09:48:27

标签: c++ boost boost-ublas

使用boost::ublas反转矩阵时,我有时会在日志中出现此错误:

  

在文件/usr/include/boost/numeric/ublas/lu.hpp中检查失败   298:detail :: expression_type_check(prod   (triangular_adaptor(m),e),cm2)

我知道这通常是有用的信息,但不是我的情况。有没有办法抑制该消息(以某种方式配置boost,或使用编译器标志)? BOOST_UBLAS_NDEBUG并没有削减它。

1 个答案:

答案 0 :(得分:4)

看着那个标题显示:

#if BOOST_UBLAS_TYPE_CHECK
        BOOST_UBLAS_CHECK (detail::expression_type_check (prod (triangular_adaptor<const_matrix_type, upper> (m), e), cm2), internal_logic ());
#endif

甚至documented

  

BOOST_UBLAS_TYPE_CHECK

     

启用BOOST_UBLAS_TYPE_CHECK后,将启用所有可能昂贵的结构检查。如果不希望这样,那么在包含任何uBLAS标头之前使用#define BOOST_UBLAS_TYPE_CHECK 0。可以使用定义BOOST_UBLAS_TYPE_CHECK_EPSILON来控制可接受的容差,有关此检查的实现详细信息,请参阅detail/matrix_assign.hpp