我想使用BOOST_TEST机器来比较使用普通(In)相等运算符的数学向量类型。
我只能找到如何告诉Boost.Test,它应该对类型进行比较(通过对该类型的boost::math::fpc::tolerance_based进行专门化),考虑到通常的算术和比较运算符的存在,但我不能告诉它以一种特定的方式进行比较(我希望在这里进行元素级的比较,并且只需要(在)相等,不少于/更大等)。
该功能有任何定制点吗?若非如此,我又怎能只在测试时才轻易作出这种行为呢?
发布于 2022-06-27 16:40:50
您可以始终编写将进行比较的自定义运算符。例如:
bool operator == (const Vector3d &lhs, const double &rhs){
return (lhs.array() == rhs).all();
}我猜艾根的作者没有包括这些内容,因为他们提供了array类来让您访问元素级操作。此外,有许多方法来定义这样的不平等,每个人都有不同的需求集。
https://stackoverflow.com/questions/72748242
复制相似问题