From 2714c0a0e568a1ef767b7454cab844a19290ec3b Mon Sep 17 00:00:00 2001 From: paulfd Date: Sun, 15 Sep 2019 23:04:01 +0200 Subject: [PATCH] Added tests for the subtract helper --- tests/SIMDHelpersT.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/SIMDHelpersT.cpp b/tests/SIMDHelpersT.cpp index eb611487..4fd8075f 100644 --- a/tests/SIMDHelpersT.cpp +++ b/tests/SIMDHelpersT.cpp @@ -632,6 +632,15 @@ TEST_CASE("[Helpers] Subtract") REQUIRE(output == expected); } +TEST_CASE("[Helpers] Subtract 2") +{ + std::array output { 1.0f, 2.0f, 3.0f, 4.0f, 5.0f }; + std::array expected { 0.0, 1.0, 2.0, 3.0, 4.0 }; + subtract(1.0f, absl::MakeSpan(output)); + REQUIRE(output == expected); +} + + TEST_CASE("[Helpers] Subtract (SIMD)") { std::array input { 1.0f, 2.0f, 3.0f, 4.0f, 5.0f }; @@ -655,6 +664,18 @@ TEST_CASE("[Helpers] Subtract (SIMD vs scalar)") REQUIRE(approxEqual(outputScalar, outputSIMD)); } +TEST_CASE("[Helpers] Subtract 2 (SIMD vs scalar)") +{ + std::vector outputScalar(bigBufferSize); + std::vector outputSIMD(bigBufferSize); + absl::c_iota(outputScalar, 0.0); + absl::c_iota(outputSIMD, 0.0); + + subtract(1.2f, absl::MakeSpan(outputScalar)); + subtract(1.2f, absl::MakeSpan(outputSIMD)); + REQUIRE(approxEqual(outputScalar, outputSIMD)); +} + TEST_CASE("[Helpers] copy") { std::array input { 1.0f, 2.0f, 3.0f, 4.0f, 5.0f };