From a605c4d1c692624be7ec1e727cc17f5551be5507 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sat, 20 Apr 2024 19:53:54 +0000 Subject: [PATCH] update --- .github/workflows/main.yml | 2 +- Stdlib/Intrinsics.h | 1 + tests/Stdlib/IntrinsicsTest | Bin 0 -> 16320 bytes tests/Stdlib/IntrinsicsTest.cpp | 27 +++++++++++++++++++++++++++ tests/test.sh | 4 +++- 5 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 tests/Stdlib/IntrinsicsTest create mode 100644 tests/Stdlib/IntrinsicsTest.cpp diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1b8cd83..1b8d2f4 100755 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -54,7 +54,7 @@ jobs: run: | cp ./Build/Config/.clang-format ./.clang-format - name: Lint Code Base - uses: github/super-linter/slim@v5 + uses: github/super-linter/slim@v6.4.0 env: VALIDATE_ALL_CODEBASE: false VALIDATE_CLANG_FORMAT : true diff --git a/Stdlib/Intrinsics.h b/Stdlib/Intrinsics.h index c537534..dd1e5d0 100644 --- a/Stdlib/Intrinsics.h +++ b/Stdlib/Intrinsics.h @@ -14,6 +14,7 @@ #include #include #include +#include #include "Types.h" diff --git a/tests/Stdlib/IntrinsicsTest b/tests/Stdlib/IntrinsicsTest new file mode 100644 index 0000000000000000000000000000000000000000..af5bf529964b024ab43a26b6e0dcf7991dd06efb GIT binary patch literal 16320 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 E0D=X^VE_OC literal 0 HcmV?d00001 diff --git a/tests/Stdlib/IntrinsicsTest.cpp b/tests/Stdlib/IntrinsicsTest.cpp new file mode 100644 index 0000000..e948cea --- /dev/null +++ b/tests/Stdlib/IntrinsicsTest.cpp @@ -0,0 +1,27 @@ +/** + * Jingga + * + * @package Test + * @copyright Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link https://jingga.app + */ +#include +#include +#include + +#include "../../Utils/TestUtils.h" +#include "../../Stdlib/Intrinsics.h" + +int main(int argc, char** argv) +{ + printf("Intrinsics:\n\n"); + + ASSERT_EQUALS_WITH_DELTA(Stdlib::Intrinsics::sqrt(1.234f), sqrt(1.234f), 0.01, "%f", "%f"); + ASSERT_EQUALS_WITH_DELTA(Stdlib::Intrinsics::round(1.234f), round(1.234f), 0.01, "%f", "%f"); + + printf("\n\n"); + + return 0; +} \ No newline at end of file diff --git a/tests/test.sh b/tests/test.sh index b2d3980..61befc3 100755 --- a/tests/test.sh +++ b/tests/test.sh @@ -12,4 +12,6 @@ g++ $BASEDIR/Threads/ThreadPoolTest.cpp -o $BASEDIR/Threads/ThreadPoolTest && $B g++ $BASEDIR/Stdlib/SIMD/SIMD_HelperTest.cpp -o $BASEDIR/Stdlib/SIMD/SIMD_HelperTest && $BASEDIR/Stdlib/SIMD/SIMD_HelperTest && rm $BASEDIR/Stdlib/SIMD/SIMD_HelperTest -g++ -mavx -msse -maes -msse3 -msse4.1 -mavx512f -mpclmul -mavx512dq -march=native $BASEDIR/Stdlib/SIMD/SIMD_F32Test.cpp -o $BASEDIR/Stdlib/SIMD/SIMD_F32Test && $BASEDIR/Stdlib/SIMD/SIMD_F32Test && rm $BASEDIR/Stdlib/SIMD/SIMD_F32Test +g++ -mavx -maes -msse -msse2 -msse3 -msse4.1 -mavx512f -mpclmul -mavx512dq -march=native $BASEDIR/Stdlib/IntrinsicsTest.cpp -o $BASEDIR/Stdlib/IntrinsicsTest && $BASEDIR/Stdlib/IntrinsicsTest && rm $BASEDIR/Stdlib/IntrinsicsTest + +g++ -mavx -maes -msse -msse2 -msse3 -msse4.1 -mavx512f -mpclmul -mavx512dq -march=native $BASEDIR/Stdlib/SIMD/SIMD_F32Test.cpp -o $BASEDIR/Stdlib/SIMD/SIMD_F32Test && $BASEDIR/Stdlib/SIMD/SIMD_F32Test && rm $BASEDIR/Stdlib/SIMD/SIMD_F32Test