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
151
thirdparty/simde/test/arm/neon/recpe.c
vendored
151
thirdparty/simde/test/arm/neon/recpe.c
vendored
|
|
@ -3,6 +3,53 @@
|
|||
#include "test-neon.h"
|
||||
#include "../../../simde/arm/neon/recpe.h"
|
||||
|
||||
static int
|
||||
test_simde_vrecpeh_f16 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
struct {
|
||||
simde_float16 a;
|
||||
simde_float16 r;
|
||||
} test_vec[] = {
|
||||
{ SIMDE_FLOAT16_VALUE( 12.162),
|
||||
SIMDE_FLOAT16_VALUE( 0.082) },
|
||||
{ SIMDE_FLOAT16_VALUE( -8.396),
|
||||
SIMDE_FLOAT16_VALUE( -0.119) },
|
||||
{ SIMDE_FLOAT16_VALUE( 8.495),
|
||||
SIMDE_FLOAT16_VALUE( 0.118) },
|
||||
{ SIMDE_FLOAT16_VALUE( -3.825),
|
||||
SIMDE_FLOAT16_VALUE( -0.261) },
|
||||
{ SIMDE_FLOAT16_VALUE( -3.074),
|
||||
SIMDE_FLOAT16_VALUE( -0.325) },
|
||||
{ SIMDE_FLOAT16_VALUE( 2.898),
|
||||
SIMDE_FLOAT16_VALUE( 0.345) },
|
||||
{ SIMDE_FLOAT16_VALUE( -12.082),
|
||||
SIMDE_FLOAT16_VALUE( -0.083) },
|
||||
{ SIMDE_FLOAT16_VALUE( -7.771),
|
||||
SIMDE_FLOAT16_VALUE( -0.129) },
|
||||
};
|
||||
|
||||
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_vrecpeh_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_vrecpeh_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_vrecpes_f32 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
|
|
@ -97,6 +144,57 @@ test_simde_vrecped_f64 (SIMDE_MUNIT_TEST_ARGS) {
|
|||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vrecpe_f16 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
struct {
|
||||
simde_float16_t a[4];
|
||||
simde_float16_t r[4];
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_FLOAT16_VALUE(-3.50), SIMDE_FLOAT16_VALUE(-3.90), SIMDE_FLOAT16_VALUE(5.70), SIMDE_FLOAT16_VALUE(-7.70) },
|
||||
{ SIMDE_FLOAT16_VALUE(-0.29), SIMDE_FLOAT16_VALUE(-0.26), SIMDE_FLOAT16_VALUE(0.18), SIMDE_FLOAT16_VALUE(-0.13) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(3.70), SIMDE_FLOAT16_VALUE(3.40), SIMDE_FLOAT16_VALUE(-7.20), SIMDE_FLOAT16_VALUE(-7.50) },
|
||||
{ SIMDE_FLOAT16_VALUE(0.27), SIMDE_FLOAT16_VALUE(0.29), SIMDE_FLOAT16_VALUE(-0.14), SIMDE_FLOAT16_VALUE(-0.13) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-9.70), SIMDE_FLOAT16_VALUE(7.30), SIMDE_FLOAT16_VALUE(7.80), SIMDE_FLOAT16_VALUE(8.90) },
|
||||
{ SIMDE_FLOAT16_VALUE(-0.10), SIMDE_FLOAT16_VALUE(0.14), SIMDE_FLOAT16_VALUE(0.13), SIMDE_FLOAT16_VALUE(0.11) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(5.10), SIMDE_FLOAT16_VALUE(-8.90), SIMDE_FLOAT16_VALUE(-4.90), SIMDE_FLOAT16_VALUE(-1.50) },
|
||||
{ SIMDE_FLOAT16_VALUE(0.20), SIMDE_FLOAT16_VALUE(-0.11), SIMDE_FLOAT16_VALUE(-0.20), SIMDE_FLOAT16_VALUE(-0.67) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(10.00), SIMDE_FLOAT16_VALUE(7.00), SIMDE_FLOAT16_VALUE(-0.20), SIMDE_FLOAT16_VALUE(-5.20) },
|
||||
{ SIMDE_FLOAT16_VALUE(0.10), SIMDE_FLOAT16_VALUE(0.14), SIMDE_FLOAT16_VALUE(-5.00), SIMDE_FLOAT16_VALUE(-0.19) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-6.40), SIMDE_FLOAT16_VALUE(2.40), SIMDE_FLOAT16_VALUE(8.90), SIMDE_FLOAT16_VALUE(-0.90) },
|
||||
{ SIMDE_FLOAT16_VALUE(-0.16), SIMDE_FLOAT16_VALUE(0.42), SIMDE_FLOAT16_VALUE(0.11), SIMDE_FLOAT16_VALUE(-1.11) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(2.10), SIMDE_FLOAT16_VALUE(7.50), SIMDE_FLOAT16_VALUE(0.60), SIMDE_FLOAT16_VALUE(-2.50) },
|
||||
{ SIMDE_FLOAT16_VALUE(0.48), SIMDE_FLOAT16_VALUE(0.13), SIMDE_FLOAT16_VALUE(1.67), SIMDE_FLOAT16_VALUE(-0.40) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-3.50), SIMDE_FLOAT16_VALUE(-9.40), SIMDE_FLOAT16_VALUE(-3.00), SIMDE_FLOAT16_VALUE(7.00) },
|
||||
{ SIMDE_FLOAT16_VALUE(-0.29), SIMDE_FLOAT16_VALUE(-0.11), SIMDE_FLOAT16_VALUE(-0.33), SIMDE_FLOAT16_VALUE(0.14) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-6.10), SIMDE_FLOAT16_VALUE(9.00), SIMDE_FLOAT16_VALUE(-2.00), SIMDE_FLOAT16_VALUE(2.20) },
|
||||
{ SIMDE_FLOAT16_VALUE(-0.16), SIMDE_FLOAT16_VALUE(0.11), SIMDE_FLOAT16_VALUE(-0.50), SIMDE_FLOAT16_VALUE(0.45) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(4.00), SIMDE_FLOAT16_VALUE(4.20), SIMDE_FLOAT16_VALUE(-4.90), SIMDE_FLOAT16_VALUE(1.60) },
|
||||
{ SIMDE_FLOAT16_VALUE(0.25), SIMDE_FLOAT16_VALUE(0.24), SIMDE_FLOAT16_VALUE(-0.20), SIMDE_FLOAT16_VALUE(0.63) } },
|
||||
};
|
||||
|
||||
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_vrecpe_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_vrecpe_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_vrecpe_f32 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
|
|
@ -284,6 +382,56 @@ test_simde_vrecpeq_f32 (SIMDE_MUNIT_TEST_ARGS) {
|
|||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vrecpeq_f16 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
struct {
|
||||
simde_float16_t a[8];
|
||||
simde_float16_t r[8];
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_FLOAT16_VALUE(7.50), SIMDE_FLOAT16_VALUE(-9.30), SIMDE_FLOAT16_VALUE(7.50), SIMDE_FLOAT16_VALUE(-3.10), SIMDE_FLOAT16_VALUE(5.00), SIMDE_FLOAT16_VALUE(-3.50), SIMDE_FLOAT16_VALUE(-3.70), SIMDE_FLOAT16_VALUE(9.10) },
|
||||
{ SIMDE_FLOAT16_VALUE(0.13), SIMDE_FLOAT16_VALUE(-0.11), SIMDE_FLOAT16_VALUE(0.13), SIMDE_FLOAT16_VALUE(-0.32), SIMDE_FLOAT16_VALUE(0.20), SIMDE_FLOAT16_VALUE(-0.29), SIMDE_FLOAT16_VALUE(-0.27), SIMDE_FLOAT16_VALUE(0.11) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(5.50), SIMDE_FLOAT16_VALUE(-9.60), SIMDE_FLOAT16_VALUE(3.80), SIMDE_FLOAT16_VALUE(9.10), SIMDE_FLOAT16_VALUE(4.80), SIMDE_FLOAT16_VALUE(-9.30), SIMDE_FLOAT16_VALUE(6.60), SIMDE_FLOAT16_VALUE(-5.20) },
|
||||
{ SIMDE_FLOAT16_VALUE(0.18), SIMDE_FLOAT16_VALUE(-0.10), SIMDE_FLOAT16_VALUE(0.26), SIMDE_FLOAT16_VALUE(0.11), SIMDE_FLOAT16_VALUE(0.21), SIMDE_FLOAT16_VALUE(-0.11), SIMDE_FLOAT16_VALUE(0.15), SIMDE_FLOAT16_VALUE(-0.19) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-4.20), SIMDE_FLOAT16_VALUE(-3.20), SIMDE_FLOAT16_VALUE(7.60), SIMDE_FLOAT16_VALUE(5.30), SIMDE_FLOAT16_VALUE(2.60), SIMDE_FLOAT16_VALUE(-3.40), SIMDE_FLOAT16_VALUE(9.40), SIMDE_FLOAT16_VALUE(-8.60) },
|
||||
{ SIMDE_FLOAT16_VALUE(-0.24), SIMDE_FLOAT16_VALUE(-0.31), SIMDE_FLOAT16_VALUE(0.13), SIMDE_FLOAT16_VALUE(0.19), SIMDE_FLOAT16_VALUE(0.38), SIMDE_FLOAT16_VALUE(-0.29), SIMDE_FLOAT16_VALUE(0.11), SIMDE_FLOAT16_VALUE(-0.12) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-3.40), SIMDE_FLOAT16_VALUE(-0.70), SIMDE_FLOAT16_VALUE(1.50), SIMDE_FLOAT16_VALUE(4.50), SIMDE_FLOAT16_VALUE(8.60), SIMDE_FLOAT16_VALUE(6.60), SIMDE_FLOAT16_VALUE(4.30), SIMDE_FLOAT16_VALUE(9.10) },
|
||||
{ SIMDE_FLOAT16_VALUE(-0.29), SIMDE_FLOAT16_VALUE(-1.43), SIMDE_FLOAT16_VALUE(0.67), SIMDE_FLOAT16_VALUE(0.22), SIMDE_FLOAT16_VALUE(0.12), SIMDE_FLOAT16_VALUE(0.15), SIMDE_FLOAT16_VALUE(0.23), SIMDE_FLOAT16_VALUE(0.11) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-5.80), SIMDE_FLOAT16_VALUE(6.00), SIMDE_FLOAT16_VALUE(-9.00), SIMDE_FLOAT16_VALUE(1.00), SIMDE_FLOAT16_VALUE(-2.70), SIMDE_FLOAT16_VALUE(4.90), SIMDE_FLOAT16_VALUE(0.30), SIMDE_FLOAT16_VALUE(-9.30) },
|
||||
{ SIMDE_FLOAT16_VALUE(-0.17), SIMDE_FLOAT16_VALUE(0.17), SIMDE_FLOAT16_VALUE(-0.11), SIMDE_FLOAT16_VALUE(1.00), SIMDE_FLOAT16_VALUE(-0.37), SIMDE_FLOAT16_VALUE(0.20), SIMDE_FLOAT16_VALUE(3.33), SIMDE_FLOAT16_VALUE(-0.11) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-2.70), SIMDE_FLOAT16_VALUE(8.80), SIMDE_FLOAT16_VALUE(-6.10), SIMDE_FLOAT16_VALUE(6.70), SIMDE_FLOAT16_VALUE(-3.90), SIMDE_FLOAT16_VALUE(8.40), SIMDE_FLOAT16_VALUE(4.40), SIMDE_FLOAT16_VALUE(4.10) },
|
||||
{ SIMDE_FLOAT16_VALUE(-0.37), SIMDE_FLOAT16_VALUE(0.11), SIMDE_FLOAT16_VALUE(-0.16), SIMDE_FLOAT16_VALUE(0.15), SIMDE_FLOAT16_VALUE(-0.26), SIMDE_FLOAT16_VALUE(0.12), SIMDE_FLOAT16_VALUE(0.23), SIMDE_FLOAT16_VALUE(0.24) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-1.40), SIMDE_FLOAT16_VALUE(-9.20), SIMDE_FLOAT16_VALUE(9.00), SIMDE_FLOAT16_VALUE(7.20), SIMDE_FLOAT16_VALUE(-4.30), SIMDE_FLOAT16_VALUE(8.60), SIMDE_FLOAT16_VALUE(1.70), SIMDE_FLOAT16_VALUE(6.70) },
|
||||
{ SIMDE_FLOAT16_VALUE(-0.71), SIMDE_FLOAT16_VALUE(-0.11), SIMDE_FLOAT16_VALUE(0.11), SIMDE_FLOAT16_VALUE(0.14), SIMDE_FLOAT16_VALUE(-0.23), SIMDE_FLOAT16_VALUE(0.12), SIMDE_FLOAT16_VALUE(0.59), SIMDE_FLOAT16_VALUE(0.15) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-7.20), SIMDE_FLOAT16_VALUE(1.00), SIMDE_FLOAT16_VALUE(-3.10), SIMDE_FLOAT16_VALUE(6.00), SIMDE_FLOAT16_VALUE(1.70), SIMDE_FLOAT16_VALUE(7.20), SIMDE_FLOAT16_VALUE(-9.80), SIMDE_FLOAT16_VALUE(9.90) },
|
||||
{ SIMDE_FLOAT16_VALUE(-0.14), SIMDE_FLOAT16_VALUE(1.00), SIMDE_FLOAT16_VALUE(-0.32), SIMDE_FLOAT16_VALUE(0.17), SIMDE_FLOAT16_VALUE(0.59), SIMDE_FLOAT16_VALUE(0.14), SIMDE_FLOAT16_VALUE(-0.10), SIMDE_FLOAT16_VALUE(0.10) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(1.40), SIMDE_FLOAT16_VALUE(-4.00), SIMDE_FLOAT16_VALUE(-6.20), SIMDE_FLOAT16_VALUE(6.00), SIMDE_FLOAT16_VALUE(6.90), SIMDE_FLOAT16_VALUE(2.40), SIMDE_FLOAT16_VALUE(6.60), SIMDE_FLOAT16_VALUE(3.00) },
|
||||
{ SIMDE_FLOAT16_VALUE(0.71), SIMDE_FLOAT16_VALUE(-0.25), SIMDE_FLOAT16_VALUE(-0.16), SIMDE_FLOAT16_VALUE(0.17), SIMDE_FLOAT16_VALUE(0.14), SIMDE_FLOAT16_VALUE(0.42), SIMDE_FLOAT16_VALUE(0.15), SIMDE_FLOAT16_VALUE(0.33) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-0.70), SIMDE_FLOAT16_VALUE(-0.40), SIMDE_FLOAT16_VALUE(9.50), SIMDE_FLOAT16_VALUE(-4.70), SIMDE_FLOAT16_VALUE(7.10), SIMDE_FLOAT16_VALUE(4.30), SIMDE_FLOAT16_VALUE(3.00), SIMDE_FLOAT16_VALUE(-7.70) },
|
||||
{ SIMDE_FLOAT16_VALUE(-1.43), SIMDE_FLOAT16_VALUE(-2.50), SIMDE_FLOAT16_VALUE(0.11), SIMDE_FLOAT16_VALUE(-0.21), SIMDE_FLOAT16_VALUE(0.14), SIMDE_FLOAT16_VALUE(0.23), SIMDE_FLOAT16_VALUE(0.33), SIMDE_FLOAT16_VALUE(-0.13) } },
|
||||
};
|
||||
|
||||
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_vrecpeq_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_vrecpeq_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_vrecpe_u32 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
|
|
@ -379,9 +527,11 @@ test_simde_vrecpeq_u32 (SIMDE_MUNIT_TEST_ARGS) {
|
|||
}
|
||||
|
||||
SIMDE_TEST_FUNC_LIST_BEGIN
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vrecpeh_f16)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vrecpes_f32)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vrecped_f64)
|
||||
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vrecpe_f16)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vrecpe_f32)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vrecpe_f64)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vrecpeq_f64)
|
||||
|
|
@ -389,6 +539,7 @@ SIMDE_TEST_FUNC_LIST_ENTRY(vrecpe_u32)
|
|||
SIMDE_TEST_FUNC_LIST_ENTRY(vrecpeq_u32)
|
||||
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vrecpeq_f32)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vrecpeq_f16)
|
||||
SIMDE_TEST_FUNC_LIST_END
|
||||
|
||||
#include "test-neon-footer.h"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue