Update googletest to 1.18.0 and SIMDe to 0.8.2.
Googletest 1.18 asks for CMake 3.13 or newer, so configuring the tests no longer warns that CMake compatibility below 3.10 is deprecated. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
e4e666f459
commit
3f10e05176
912 changed files with 224964 additions and 11502 deletions
159
thirdparty/simde/test/arm/neon/rndm.c
vendored
159
thirdparty/simde/test/arm/neon/rndm.c
vendored
|
|
@ -3,6 +3,100 @@
|
|||
#include "test-neon.h"
|
||||
#include "../../../simde/arm/neon/rndm.h"
|
||||
|
||||
static int
|
||||
test_simde_vrndmh_f16 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
struct {
|
||||
simde_float16 a;
|
||||
simde_float16 r;
|
||||
} test_vec[] = {
|
||||
{ SIMDE_FLOAT16_VALUE( -9.173),
|
||||
SIMDE_FLOAT16_VALUE( -10.000) },
|
||||
{ SIMDE_FLOAT16_VALUE( 11.447),
|
||||
SIMDE_FLOAT16_VALUE( 11.000) },
|
||||
{ SIMDE_FLOAT16_VALUE( -12.280),
|
||||
SIMDE_FLOAT16_VALUE( -13.000) },
|
||||
{ SIMDE_FLOAT16_VALUE( -3.306),
|
||||
SIMDE_FLOAT16_VALUE( -4.000) },
|
||||
{ SIMDE_FLOAT16_VALUE( 11.735),
|
||||
SIMDE_FLOAT16_VALUE( 11.000) },
|
||||
{ SIMDE_FLOAT16_VALUE( -10.946),
|
||||
SIMDE_FLOAT16_VALUE( -11.000) },
|
||||
{ SIMDE_FLOAT16_VALUE( 9.931),
|
||||
SIMDE_FLOAT16_VALUE( 9.000) },
|
||||
{ SIMDE_FLOAT16_VALUE( -12.979),
|
||||
SIMDE_FLOAT16_VALUE( -13.000) },
|
||||
};
|
||||
|
||||
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
|
||||
simde_float16_t a = test_vec[i].a;
|
||||
simde_float16_t r = simde_vrndmh_f16(a);
|
||||
|
||||
simde_assert_equal_f16(r, test_vec[i].r, 1);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
#else
|
||||
fputc('\n', stdout);
|
||||
for (int i = 0 ; i < 8 ; i++) {
|
||||
simde_float16_t a = simde_test_codegen_random_f16(-100.0f, 100.0f);
|
||||
simde_float16_t r = simde_vrndmh_f16(a);
|
||||
|
||||
simde_test_codegen_write_f16(2, a, SIMDE_TEST_VEC_POS_FIRST);
|
||||
simde_test_codegen_write_f16(2, r, SIMDE_TEST_VEC_POS_LAST);
|
||||
}
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vrndm_f16 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
struct {
|
||||
simde_float16 a[4];
|
||||
simde_float16 r[4];
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_FLOAT16_VALUE( -2.379), SIMDE_FLOAT16_VALUE( 4.542), SIMDE_FLOAT16_VALUE( -7.585), SIMDE_FLOAT16_VALUE( 6.519) },
|
||||
{ SIMDE_FLOAT16_VALUE( -3.000), SIMDE_FLOAT16_VALUE( 4.000), SIMDE_FLOAT16_VALUE( -8.000), SIMDE_FLOAT16_VALUE( 6.000) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( -11.393), SIMDE_FLOAT16_VALUE( 13.886), SIMDE_FLOAT16_VALUE( -1.843), SIMDE_FLOAT16_VALUE( -10.969) },
|
||||
{ SIMDE_FLOAT16_VALUE( -12.000), SIMDE_FLOAT16_VALUE( 13.000), SIMDE_FLOAT16_VALUE( -2.000), SIMDE_FLOAT16_VALUE( -11.000) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( 2.602), SIMDE_FLOAT16_VALUE( -0.236), SIMDE_FLOAT16_VALUE( 4.740), SIMDE_FLOAT16_VALUE( -12.796) },
|
||||
{ SIMDE_FLOAT16_VALUE( 2.000), SIMDE_FLOAT16_VALUE( -1.000), SIMDE_FLOAT16_VALUE( 4.000), SIMDE_FLOAT16_VALUE( -13.000) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( -11.112), SIMDE_FLOAT16_VALUE( -2.740), SIMDE_FLOAT16_VALUE( 11.841), SIMDE_FLOAT16_VALUE( -11.292) },
|
||||
{ SIMDE_FLOAT16_VALUE( -12.000), SIMDE_FLOAT16_VALUE( -3.000), SIMDE_FLOAT16_VALUE( 11.000), SIMDE_FLOAT16_VALUE( -12.000) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( -14.513), SIMDE_FLOAT16_VALUE( -12.480), SIMDE_FLOAT16_VALUE( 7.073), SIMDE_FLOAT16_VALUE( -0.692) },
|
||||
{ SIMDE_FLOAT16_VALUE( -15.000), SIMDE_FLOAT16_VALUE( -13.000), SIMDE_FLOAT16_VALUE( 7.000), SIMDE_FLOAT16_VALUE( -1.000) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( 8.690), SIMDE_FLOAT16_VALUE( 0.633), SIMDE_FLOAT16_VALUE( -6.096), SIMDE_FLOAT16_VALUE( -5.570) },
|
||||
{ SIMDE_FLOAT16_VALUE( 8.000), SIMDE_FLOAT16_VALUE( 0.000), SIMDE_FLOAT16_VALUE( -7.000), SIMDE_FLOAT16_VALUE( -6.000) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( 10.356), SIMDE_FLOAT16_VALUE( 11.634), SIMDE_FLOAT16_VALUE( 1.680), SIMDE_FLOAT16_VALUE( -3.994) },
|
||||
{ SIMDE_FLOAT16_VALUE( 10.000), SIMDE_FLOAT16_VALUE( 11.000), SIMDE_FLOAT16_VALUE( 1.000), SIMDE_FLOAT16_VALUE( -4.000) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( 6.787), SIMDE_FLOAT16_VALUE( 0.691), SIMDE_FLOAT16_VALUE( 0.723), SIMDE_FLOAT16_VALUE( -2.915) },
|
||||
{ SIMDE_FLOAT16_VALUE( 6.000), SIMDE_FLOAT16_VALUE( 0.000), SIMDE_FLOAT16_VALUE( 0.000), SIMDE_FLOAT16_VALUE( -3.000) } },
|
||||
};
|
||||
|
||||
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
|
||||
simde_float16x4_t a = simde_vld1_f16(test_vec[i].a);
|
||||
simde_float16x4_t r = simde_vrndm_f16(a);
|
||||
|
||||
simde_test_arm_neon_assert_equal_f16x4(r, simde_vld1_f16(test_vec[i].r), 1);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
#else
|
||||
fputc('\n', stdout);
|
||||
for (int i = 0 ; i < 8 ; i++) {
|
||||
simde_float16x4_t a = simde_test_arm_neon_random_f16x4(-100.0f, 100.0f);
|
||||
simde_float16x4_t r = simde_vrndm_f16(a);
|
||||
|
||||
simde_test_arm_neon_write_f16x4(2, a, SIMDE_TEST_VEC_POS_FIRST);
|
||||
simde_test_arm_neon_write_f16x4(2, r, SIMDE_TEST_VEC_POS_LAST);
|
||||
}
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vrndm_f32 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
|
|
@ -119,6 +213,68 @@ test_simde_vrndm_f64 (SIMDE_MUNIT_TEST_ARGS) {
|
|||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vrndmq_f16 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
struct {
|
||||
simde_float16 a[8];
|
||||
simde_float16 r[8];
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_FLOAT16_VALUE( 12.316), SIMDE_FLOAT16_VALUE( 6.207), SIMDE_FLOAT16_VALUE( -7.010), SIMDE_FLOAT16_VALUE( -2.756),
|
||||
SIMDE_FLOAT16_VALUE( 3.880), SIMDE_FLOAT16_VALUE( -4.529), SIMDE_FLOAT16_VALUE( -1.830), SIMDE_FLOAT16_VALUE( 7.099) },
|
||||
{ SIMDE_FLOAT16_VALUE( 12.000), SIMDE_FLOAT16_VALUE( 6.000), SIMDE_FLOAT16_VALUE( -8.000), SIMDE_FLOAT16_VALUE( -3.000),
|
||||
SIMDE_FLOAT16_VALUE( 3.000), SIMDE_FLOAT16_VALUE( -5.000), SIMDE_FLOAT16_VALUE( -2.000), SIMDE_FLOAT16_VALUE( 7.000) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( 0.069), SIMDE_FLOAT16_VALUE( -13.074), SIMDE_FLOAT16_VALUE( 4.743), SIMDE_FLOAT16_VALUE( -7.822),
|
||||
SIMDE_FLOAT16_VALUE( 6.738), SIMDE_FLOAT16_VALUE( 3.987), SIMDE_FLOAT16_VALUE( 8.981), SIMDE_FLOAT16_VALUE( 6.574) },
|
||||
{ SIMDE_FLOAT16_VALUE( 0.000), SIMDE_FLOAT16_VALUE( -14.000), SIMDE_FLOAT16_VALUE( 4.000), SIMDE_FLOAT16_VALUE( -8.000),
|
||||
SIMDE_FLOAT16_VALUE( 6.000), SIMDE_FLOAT16_VALUE( 3.000), SIMDE_FLOAT16_VALUE( 8.000), SIMDE_FLOAT16_VALUE( 6.000) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( -12.115), SIMDE_FLOAT16_VALUE( -9.219), SIMDE_FLOAT16_VALUE( -11.847), SIMDE_FLOAT16_VALUE( -0.519),
|
||||
SIMDE_FLOAT16_VALUE( -12.974), SIMDE_FLOAT16_VALUE( 3.431), SIMDE_FLOAT16_VALUE( -13.006), SIMDE_FLOAT16_VALUE( -3.632) },
|
||||
{ SIMDE_FLOAT16_VALUE( -13.000), SIMDE_FLOAT16_VALUE( -10.000), SIMDE_FLOAT16_VALUE( -12.000), SIMDE_FLOAT16_VALUE( -1.000),
|
||||
SIMDE_FLOAT16_VALUE( -13.000), SIMDE_FLOAT16_VALUE( 3.000), SIMDE_FLOAT16_VALUE( -14.000), SIMDE_FLOAT16_VALUE( -4.000) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( 5.561), SIMDE_FLOAT16_VALUE( 4.862), SIMDE_FLOAT16_VALUE( -2.777), SIMDE_FLOAT16_VALUE( -1.666),
|
||||
SIMDE_FLOAT16_VALUE( -14.182), SIMDE_FLOAT16_VALUE( 10.188), SIMDE_FLOAT16_VALUE( -12.497), SIMDE_FLOAT16_VALUE( 7.534) },
|
||||
{ SIMDE_FLOAT16_VALUE( 5.000), SIMDE_FLOAT16_VALUE( 4.000), SIMDE_FLOAT16_VALUE( -3.000), SIMDE_FLOAT16_VALUE( -2.000),
|
||||
SIMDE_FLOAT16_VALUE( -15.000), SIMDE_FLOAT16_VALUE( 10.000), SIMDE_FLOAT16_VALUE( -13.000), SIMDE_FLOAT16_VALUE( 7.000) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( 10.757), SIMDE_FLOAT16_VALUE( 5.534), SIMDE_FLOAT16_VALUE( 0.216), SIMDE_FLOAT16_VALUE( -0.573),
|
||||
SIMDE_FLOAT16_VALUE( -3.911), SIMDE_FLOAT16_VALUE( -14.799), SIMDE_FLOAT16_VALUE( -6.012), SIMDE_FLOAT16_VALUE( -0.565) },
|
||||
{ SIMDE_FLOAT16_VALUE( 10.000), SIMDE_FLOAT16_VALUE( 5.000), SIMDE_FLOAT16_VALUE( 0.000), SIMDE_FLOAT16_VALUE( -1.000),
|
||||
SIMDE_FLOAT16_VALUE( -4.000), SIMDE_FLOAT16_VALUE( -15.000), SIMDE_FLOAT16_VALUE( -7.000), SIMDE_FLOAT16_VALUE( -1.000) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( 8.949), SIMDE_FLOAT16_VALUE( -11.439), SIMDE_FLOAT16_VALUE( 14.844), SIMDE_FLOAT16_VALUE( -6.808),
|
||||
SIMDE_FLOAT16_VALUE( 14.334), SIMDE_FLOAT16_VALUE( -9.234), SIMDE_FLOAT16_VALUE( -2.210), SIMDE_FLOAT16_VALUE( 8.783) },
|
||||
{ SIMDE_FLOAT16_VALUE( 8.000), SIMDE_FLOAT16_VALUE( -12.000), SIMDE_FLOAT16_VALUE( 14.000), SIMDE_FLOAT16_VALUE( -7.000),
|
||||
SIMDE_FLOAT16_VALUE( 14.000), SIMDE_FLOAT16_VALUE( -10.000), SIMDE_FLOAT16_VALUE( -3.000), SIMDE_FLOAT16_VALUE( 8.000) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( 2.023), SIMDE_FLOAT16_VALUE( -13.690), SIMDE_FLOAT16_VALUE( -3.775), SIMDE_FLOAT16_VALUE( -3.677),
|
||||
SIMDE_FLOAT16_VALUE( -1.737), SIMDE_FLOAT16_VALUE( -0.698), SIMDE_FLOAT16_VALUE( -12.550), SIMDE_FLOAT16_VALUE( -3.609) },
|
||||
{ SIMDE_FLOAT16_VALUE( 2.000), SIMDE_FLOAT16_VALUE( -14.000), SIMDE_FLOAT16_VALUE( -4.000), SIMDE_FLOAT16_VALUE( -4.000),
|
||||
SIMDE_FLOAT16_VALUE( -2.000), SIMDE_FLOAT16_VALUE( -1.000), SIMDE_FLOAT16_VALUE( -13.000), SIMDE_FLOAT16_VALUE( -4.000) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( -10.790), SIMDE_FLOAT16_VALUE( 7.928), SIMDE_FLOAT16_VALUE( -4.525), SIMDE_FLOAT16_VALUE( -2.016),
|
||||
SIMDE_FLOAT16_VALUE( 9.566), SIMDE_FLOAT16_VALUE( -11.880), SIMDE_FLOAT16_VALUE( 12.959), SIMDE_FLOAT16_VALUE( -6.830) },
|
||||
{ SIMDE_FLOAT16_VALUE( -11.000), SIMDE_FLOAT16_VALUE( 7.000), SIMDE_FLOAT16_VALUE( -5.000), SIMDE_FLOAT16_VALUE( -3.000),
|
||||
SIMDE_FLOAT16_VALUE( 9.000), SIMDE_FLOAT16_VALUE( -12.000), SIMDE_FLOAT16_VALUE( 12.000), SIMDE_FLOAT16_VALUE( -7.000) } },
|
||||
};
|
||||
|
||||
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
|
||||
simde_float16x8_t a = simde_vld1q_f16(test_vec[i].a);
|
||||
simde_float16x8_t r = simde_vrndmq_f16(a);
|
||||
simde_test_arm_neon_assert_equal_f16x8(r, simde_vld1q_f16(test_vec[i].r), 1);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
#else
|
||||
fputc('\n', stdout);
|
||||
for (int i = 0 ; i < 8 ; i++) {
|
||||
simde_float16x8_t a = simde_test_arm_neon_random_f16x8(-100.0f, 100.0f);
|
||||
simde_float16x8_t r = simde_vrndmq_f16(a);
|
||||
|
||||
simde_test_arm_neon_write_f16x8(2, a, SIMDE_TEST_VEC_POS_FIRST);
|
||||
simde_test_arm_neon_write_f16x8(2, r, SIMDE_TEST_VEC_POS_LAST);
|
||||
}
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vrndmq_f32 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
|
|
@ -227,9 +383,12 @@ test_simde_vrndmq_f64 (SIMDE_MUNIT_TEST_ARGS) {
|
|||
}
|
||||
|
||||
SIMDE_TEST_FUNC_LIST_BEGIN
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vrndmh_f16)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vrndm_f16)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vrndm_f32)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vrndm_f64)
|
||||
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vrndmq_f16)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vrndmq_f32)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vrndmq_f64)
|
||||
SIMDE_TEST_FUNC_LIST_END
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue