MCPcopy Create free account
hub / github.com/0xShug0/audio.cpp / require_close

Function require_close

tests/unittests/test_zipenhancer_utility.cpp:51–80  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

49}
50
51void require_close(
52 const std::vector<float> & actual,
53 const engine::assets::TensorDataF32 & expected,
54 float max_allowed,
55 double mean_allowed,
56 const std::string & label) {
57 require(expected.shape.rank == 2 && expected.shape.dims[0] == 1, label + " expected shape mismatch");
58 require(actual.size() == expected.values.size(), label + " size mismatch");
59 float max_diff = 0.0f;
60 size_t max_index = 0;
61 double mean_diff = 0.0;
62 for (size_t i = 0; i < actual.size(); ++i) {
63 const float diff = std::fabs(actual[i] - expected.values[i]);
64 mean_diff += static_cast<double>(diff);
65 if (diff > max_diff) {
66 max_diff = diff;
67 max_index = i;
68 }
69 }
70 mean_diff /= static_cast<double>(actual.size());
71 if (max_diff > max_allowed || mean_diff > mean_allowed) {
72 std::ostringstream oss;
73 oss << label << " mismatch: max_diff=" << max_diff
74 << " mean_diff=" << mean_diff
75 << " index=" << max_index
76 << " expected=" << expected.values[max_index]
77 << " actual=" << actual[max_index];
78 throw std::runtime_error(oss.str());
79 }
80}
81
82void run_case(const engine::audio::ZipEnhancerModel & model, int case_index) {
83 const auto fixture = engine::assets::open_tensor_source(

Callers 1

run_caseFunction · 0.70

Calls 3

strMethod · 0.80
requireFunction · 0.70
sizeMethod · 0.45

Tested by

no test coverage detected