From 544cc52a5a325f9a7945b6f3b65b45a01e49da60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Constantin=20F=C3=BCrst?= Date: Wed, 1 Nov 2023 13:45:48 +0100 Subject: [PATCH] add source files and binary --- test-project/CMakeLists.txt | 13 +++++++ test-project/dml-test | Bin 0 -> 166304 bytes test-project/main.cpp | 68 ++++++++++++++++++++++++++++++++++++ 3 files changed, 81 insertions(+) create mode 100755 test-project/CMakeLists.txt create mode 100755 test-project/dml-test create mode 100644 test-project/main.cpp diff --git a/test-project/CMakeLists.txt b/test-project/CMakeLists.txt new file mode 100755 index 0000000..fa76768 --- /dev/null +++ b/test-project/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.18) + +project(dml-test) + +set(CMAKE_CXX_STANDARD 20) + +include_directories("../DML/include/") + +set(SOURCES main.cpp) + +add_executable(dml-test ${SOURCES}) + +target_link_libraries(dml-test libdml.a ${CMAKE_DL_LIBS}) diff --git a/test-project/dml-test b/test-project/dml-test new file mode 100755 index 0000000000000000000000000000000000000000..e477bfdab07ccbd293c70858eaf50e937893b2e5 GIT binary patch literal 166304 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 z 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 literal 0 HcmV?d00001 diff --git a/test-project/main.cpp b/test-project/main.cpp new file mode 100644 index 0000000..0f02654 --- /dev/null +++ b/test-project/main.cpp @@ -0,0 +1,68 @@ +#include +#include +#include +#include + +constexpr auto string = "Calculate CRC value for this string...\n"; + +template + + +template +int execute_copy_crc(){ + std::cout << "Starting dml::copy_crc example...\n"; + std::cout << string; + + // Prepare data + auto crc_seed = std::uint32_t(0u); + auto src = std::basic_string(reinterpret_cast(string)); + auto dst = std::basic_string(src.size(), '0'); + + // Run operation + auto result = dml::execute(dml::copy_crc, dml::make_view(src), dml::make_view(dst), crc_seed); + dml::submit() + + // Check result + if (result.status == dml::status_code::ok) { + std::cout << "Finished successfully. Calculated CRC is: 0x" << std::hex << result.crc_value << std::dec << std::endl; + } + else { + std::cout << "Failure occurred." << std::endl; + return -1; + } + + if (src != dst) { + std::cout << "Operation result is incorrect" << std::endl; + return -1; + } + + return 0; +} + +int main(int argc, char **argv) +{ + if (argc < 2) { + std::cout << "Missing the execution path as the first parameter." + << "Use hardware_path, software_path or automatic_path." << std::endl; + return 1; + } + + std::string path = argv[1]; + if (path == "hardware_path") { + std::cout << "Executing using dml::hardware path" << std::endl; + return execute_copy_crc(); + } + else if (path == "software_path") { + std::cout << "Executing using dml::software path" << std::endl; + return execute_copy_crc(); + } + else if (path == "auto_path") { + std::cout << "Executing using dml::automatic path" << std::endl; + return execute_copy_crc(); + } + else { + std::cout << "Unrecognized value for parameter." + << "Use hardware_path, software_path or automatic_path." << std::endl; + return 1; + } +} \ No newline at end of file