From e34d942135696bcda53324c467b55c8975fa72a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Bylica?= Date: Thu, 6 Aug 2020 10:50:47 +0200 Subject: [PATCH] test: Use FP utils in spectest runner --- test/spectests/spectests.cpp | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/test/spectests/spectests.cpp b/test/spectests/spectests.cpp index f54ac8ee3..9458b6bdb 100644 --- a/test/spectests/spectests.cpp +++ b/test/spectests/spectests.cpp @@ -5,6 +5,7 @@ #include "execute.hpp" #include "parser.hpp" #include +#include #include #include #include @@ -58,22 +59,6 @@ fizzy::bytes load_wasm_file(const fs::path& json_file_path, std::string_view fil std::istreambuf_iterator{wasm_file}, std::istreambuf_iterator{}); } -bool float_values_equal(fizzy::Value value1, fizzy::Value value2) noexcept -{ - if (std::isnan(value1.as())) - return value1.as() == value2.as(); // compare binary representations - else - return value1.as() == value2.as(); -} - -bool double_values_equal(fizzy::Value value1, fizzy::Value value2) noexcept -{ - if (std::isnan(value1.as())) - return value1.i64 == value2.i64; // compare binary representations - else - return value1.as() == value2.as(); -} - struct test_settings { bool skip_validation = false; @@ -482,9 +467,9 @@ class test_runner if (value_type == "i32" || value_type == "i64") is_equal = expected_value.i64 == actual_value.i64; else if (value_type == "f32") - is_equal = float_values_equal(expected_value, actual_value); + is_equal = fizzy::test::FP{expected_value.f32} == actual_value.f32; else if (value_type == "f64") - is_equal = double_values_equal(expected_value, actual_value); + is_equal = fizzy::test::FP{expected_value.f64} == actual_value.f64; else assert(false);