From 9c96eefbaca6c85be79529bce7ff04fd7dfe3a0d Mon Sep 17 00:00:00 2001 From: evacha01 Date: Wed, 7 Feb 2024 11:21:55 +0000 Subject: FULL data gen mode for FP16 Signed-off-by: evacha01 Change-Id: I81bb322132daf25328a40342edc62d8e1db9edd6 --- reference_model/test/generate_tests.cpp | 53 +++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'reference_model/test/generate_tests.cpp') diff --git a/reference_model/test/generate_tests.cpp b/reference_model/test/generate_tests.cpp index 564af4a..294705c 100644 --- a/reference_model/test/generate_tests.cpp +++ b/reference_model/test/generate_tests.cpp @@ -1556,4 +1556,57 @@ TEST_CASE("positive - FP32 rfft2d dot product (values -8, -7 & -6 from the end)" } } +TEST_CASE("positive - FP16 full range") +{ + std::string templateJsonCfg = R"({ + "tensors" : { + "input0" : { + "generator": "FULL_RANGE", + "data_type": "FP16", + "input_type": "VARIABLE", + "shape" : [ 48, 49, 47 ], + "input_pos": 0, + "op" : "CEIL", + "full_range_info": { + "start_val": _START_ + } + } + } + })"; + + const std::string tosaName = "input0"; + const size_t tosaElements = 48 * 49 * 47; + + SUBCASE("ceil - startVal 0") + { + std::string jsonCfg = templateJsonCfg; + update_json_template(jsonCfg, "_START_", "0"); + + std::vector buffer(tosaElements); + REQUIRE(tgd_generate_data(jsonCfg.c_str(), tosaName.c_str(), (void*)buffer.data(), tosaElements * 2)); + std::vector expected = { 0, 1, 2 }; + check_output(buffer, expected); + + std::vector last_three(buffer.end() - std::min(3, buffer.size()), buffer.end()); + // To calculate last_expected: last value = tosaElements % 65535 - 1 + startVal + std::vector last_expected = { 45005, 45006, 45007 }; + check_output(last_three, last_expected); + } + SUBCASE("ceil - startVal 100") + { + std::string jsonCfg = templateJsonCfg; + update_json_template(jsonCfg, "_START_", "100"); + + std::vector buffer(tosaElements); + REQUIRE(tgd_generate_data(jsonCfg.c_str(), tosaName.c_str(), (void*)buffer.data(), tosaElements * 2)); + std::vector expected = { 100, 101, 102 }; + check_output(buffer, expected); + + std::vector last_three(buffer.end() - std::min(3, buffer.size()), buffer.end()); + // To calculate last_expected: last value = tosaElements % 65535 - 1 + startVal + std::vector last_expected = { 45105, 45106, 45107 }; + check_output(last_three, last_expected); + } +} + TEST_SUITE_END(); // generate -- cgit v1.2.1