BOOST_CHECK_CLOSE的一个版本,用于处理绝对差异
A version of BOOST_CHECK_CLOSE that deals with absolute differences
是否有BOOST_CHECK_CLOSE版本可以使用绝对差异而不是百分比?在某些情况下,绝对差异更有意义,例如,当我们处理金钱时(是的,我知道双倍并不是最好的类型),我们可能会检查答案是否接近一分钱。还有许多其他的例子。
使用例如BOOST _CHECK_SMALL自己编写其中一个是相当琐碎的,但我认为正确宏的详细输出会使错误更容易跟踪。
TBH,我不理解BOOST_CHECK_SMALL:的问题
double val = func(); //should be between 95 and 105
BOOST_CHECK_SMALL(val - 100, 5);
然而,如果它看起来更像CHECK_CLOSE,那么你就必须像boost那样滚动你自己的宏——只需深入到相应的标题中。您可能需要添加自己的检查类型枚举值,创建一个谓词并在宏中使用它。
或者使用BOOST_CHECK_PREDICATE,老实说,它看起来比CHECK_SMALL丑得多,但有一点不同。或者简单地将BOOST_CHECK与返回谓词的自定义函数一起使用,但我认为这太过分了。
相关文章:
- 用于矢量处理的多个线程
- 开放 CV 中的动态内存分配,用于视频处理
- 余数运算符的等效操作,用于处理低于允许的最小值
- 用于处理多个通信协议处理的设计类
- 使输出流式处理运算符适用于 boost::variant<std::vector<int>、int、double 的正确方法是什么>
- Aysnc 处理程序用于 POCO Websocket 中的传入消息
- G++ (C++14) 链接器错误,用于处理 C++03 代码
- CPP -D 选项,用于预处理 Fortran 代码
- GTK 将一个处理程序用于多个小部件
- Wformat 用于为两种不同变体处理的库
- 用于视频处理的图像缓冲区
- read() 的参数类型,用于 c++ 中的文件处理
- 用于批处理分配的库
- 用于对编译时字符串进行哈希处理的延迟指针
- 如何在 Python 3 中正确处理用于嵌入的字符串
- 用于立体视觉的OpenCV分散处理
- 用于处理重新启动时剩余天数的逻辑
- (C )正在创建专门用于处理所有其他自定义对象的类/对象一种处理项目的正确方法
- 处理用于构造有用值的旧变量
- 处理用于创建算法的多个版本的 #ifdef