gpt4 book ai didi

c++ - 使用 C++ Catch 测试浮点 std::vector

转载 作者:可可西里 更新时间:2023-11-01 17:55:38 31 4
gpt4 key购买 nike

Catch C++ 单元测试框架是否有可能比较基于浮点类型的 std::vectors?我知道我可以比较两个容器和每个元素的大小(使用 Approx),但这很麻烦。

整数类型 vector 的比较工作正常。

现在,我必须使用这样的结构

REQUIRE(computed.size() == expected.size());
for (size_t i = 0; i < computed.size(); ++i)
REQUIRE(computed[i] == Approx(expected[i]));

但我想使用一个衬里(它适用于整数类型):

REQUIRE(computed == expected);

最佳答案

下面的构造由Catch2自己提供。无需自己动手。

 REQUIRE_THAT( computed, Catch::Approx(expected).epsilon(1.e-5) );

关于c++ - 使用 C++ Catch 测试浮点 std::vector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41160846/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com