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
121
thirdparty/simde/test/arm/neon/fma_n.c
vendored
121
thirdparty/simde/test/arm/neon/fma_n.c
vendored
|
|
@ -3,6 +3,125 @@
|
|||
#include "test-neon.h"
|
||||
#include "../../../simde/arm/neon/fma_n.h"
|
||||
|
||||
static int
|
||||
test_simde_vfma_n_f16 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
struct {
|
||||
simde_float16_t a[4];
|
||||
simde_float16_t b[4];
|
||||
simde_float16_t c;
|
||||
simde_float16_t r[4];
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_FLOAT16_VALUE(3.1), SIMDE_FLOAT16_VALUE(0.5), SIMDE_FLOAT16_VALUE(-11.4), SIMDE_FLOAT16_VALUE(4.0) },
|
||||
{ SIMDE_FLOAT16_VALUE(12.9), SIMDE_FLOAT16_VALUE(-2.2), SIMDE_FLOAT16_VALUE(6.4), SIMDE_FLOAT16_VALUE(-0.6) },
|
||||
SIMDE_FLOAT16_VALUE(-2.9),
|
||||
{ SIMDE_FLOAT16_VALUE(-34.310), SIMDE_FLOAT16_VALUE(6.880), SIMDE_FLOAT16_VALUE(-29.960), SIMDE_FLOAT16_VALUE(5.740) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(11.7), SIMDE_FLOAT16_VALUE(6.0), SIMDE_FLOAT16_VALUE(0.3), SIMDE_FLOAT16_VALUE(-10.4) },
|
||||
{ SIMDE_FLOAT16_VALUE(14.7), SIMDE_FLOAT16_VALUE(-8.9), SIMDE_FLOAT16_VALUE(-13.1), SIMDE_FLOAT16_VALUE(13.6) },
|
||||
SIMDE_FLOAT16_VALUE(2.3),
|
||||
{ SIMDE_FLOAT16_VALUE(45.510), SIMDE_FLOAT16_VALUE(-14.470), SIMDE_FLOAT16_VALUE(-29.830), SIMDE_FLOAT16_VALUE(20.880) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(10.9), SIMDE_FLOAT16_VALUE(-8.6), SIMDE_FLOAT16_VALUE(8.1), SIMDE_FLOAT16_VALUE(-1.3) },
|
||||
{ SIMDE_FLOAT16_VALUE(-1.9), SIMDE_FLOAT16_VALUE(4.7), SIMDE_FLOAT16_VALUE(10.2), SIMDE_FLOAT16_VALUE(-10.8) },
|
||||
SIMDE_FLOAT16_VALUE(-3.9),
|
||||
{ SIMDE_FLOAT16_VALUE(18.310), SIMDE_FLOAT16_VALUE(-26.930), SIMDE_FLOAT16_VALUE(-31.680), SIMDE_FLOAT16_VALUE(40.820) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-0.5), SIMDE_FLOAT16_VALUE(9.7), SIMDE_FLOAT16_VALUE(-8.4), SIMDE_FLOAT16_VALUE(12.4) },
|
||||
{ SIMDE_FLOAT16_VALUE(-1.8), SIMDE_FLOAT16_VALUE(1.1), SIMDE_FLOAT16_VALUE(9.8), SIMDE_FLOAT16_VALUE(-14.7) },
|
||||
SIMDE_FLOAT16_VALUE(3.6),
|
||||
{ SIMDE_FLOAT16_VALUE(-6.980), SIMDE_FLOAT16_VALUE(13.660), SIMDE_FLOAT16_VALUE(26.880), SIMDE_FLOAT16_VALUE(-40.520) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-9.0), SIMDE_FLOAT16_VALUE(-8.0), SIMDE_FLOAT16_VALUE(-14.7), SIMDE_FLOAT16_VALUE(-9.6) },
|
||||
{ SIMDE_FLOAT16_VALUE(13.2), SIMDE_FLOAT16_VALUE(-5.4), SIMDE_FLOAT16_VALUE(3.0), SIMDE_FLOAT16_VALUE(-12.0) },
|
||||
SIMDE_FLOAT16_VALUE(-4.9),
|
||||
{ SIMDE_FLOAT16_VALUE(-73.680), SIMDE_FLOAT16_VALUE(18.460), SIMDE_FLOAT16_VALUE(-29.400), SIMDE_FLOAT16_VALUE(49.200) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-12.0), SIMDE_FLOAT16_VALUE(-9.3), SIMDE_FLOAT16_VALUE(-12.7), SIMDE_FLOAT16_VALUE(4.8) },
|
||||
{ SIMDE_FLOAT16_VALUE(13.8), SIMDE_FLOAT16_VALUE(7.0), SIMDE_FLOAT16_VALUE(-6.1), SIMDE_FLOAT16_VALUE(-14.4) },
|
||||
SIMDE_FLOAT16_VALUE(-1.3),
|
||||
{ SIMDE_FLOAT16_VALUE(-29.940), SIMDE_FLOAT16_VALUE(-18.400), SIMDE_FLOAT16_VALUE(-4.770), SIMDE_FLOAT16_VALUE(23.520) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-14.2), SIMDE_FLOAT16_VALUE(11.2), SIMDE_FLOAT16_VALUE(3.6), SIMDE_FLOAT16_VALUE(-1.8) },
|
||||
{ SIMDE_FLOAT16_VALUE(-3.0), SIMDE_FLOAT16_VALUE(-8.8), SIMDE_FLOAT16_VALUE(-10.4), SIMDE_FLOAT16_VALUE(-5.9) },
|
||||
SIMDE_FLOAT16_VALUE(4.3),
|
||||
{ SIMDE_FLOAT16_VALUE(-27.100), SIMDE_FLOAT16_VALUE(-26.640), SIMDE_FLOAT16_VALUE(-41.120), SIMDE_FLOAT16_VALUE(-27.170) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(8.5), SIMDE_FLOAT16_VALUE(7.4), SIMDE_FLOAT16_VALUE(-12.1), SIMDE_FLOAT16_VALUE(-15.0) },
|
||||
{ SIMDE_FLOAT16_VALUE(-7.2), SIMDE_FLOAT16_VALUE(3.5), SIMDE_FLOAT16_VALUE(6.6), SIMDE_FLOAT16_VALUE(1.3) },
|
||||
SIMDE_FLOAT16_VALUE(-1.3),
|
||||
{ SIMDE_FLOAT16_VALUE(17.860), SIMDE_FLOAT16_VALUE(2.850), SIMDE_FLOAT16_VALUE(-20.680), SIMDE_FLOAT16_VALUE(-16.690) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-8.0), SIMDE_FLOAT16_VALUE(-11.5), SIMDE_FLOAT16_VALUE(2.6), SIMDE_FLOAT16_VALUE(-0.1) },
|
||||
{ SIMDE_FLOAT16_VALUE(-3.5), SIMDE_FLOAT16_VALUE(13.9), SIMDE_FLOAT16_VALUE(13.8), SIMDE_FLOAT16_VALUE(-2.1) },
|
||||
SIMDE_FLOAT16_VALUE(4.8),
|
||||
{ SIMDE_FLOAT16_VALUE(-24.800), SIMDE_FLOAT16_VALUE(55.220), SIMDE_FLOAT16_VALUE(68.840), SIMDE_FLOAT16_VALUE(-10.180) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(5.3), SIMDE_FLOAT16_VALUE(2.9), SIMDE_FLOAT16_VALUE(10.1), SIMDE_FLOAT16_VALUE(6.4) },
|
||||
{ SIMDE_FLOAT16_VALUE(2.0), SIMDE_FLOAT16_VALUE(9.2), SIMDE_FLOAT16_VALUE(2.0), SIMDE_FLOAT16_VALUE(-0.2) },
|
||||
SIMDE_FLOAT16_VALUE(-4.9),
|
||||
{ SIMDE_FLOAT16_VALUE(-4.500), SIMDE_FLOAT16_VALUE(-42.180), SIMDE_FLOAT16_VALUE(0.300), SIMDE_FLOAT16_VALUE(7.380) } },
|
||||
};
|
||||
|
||||
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 b = simde_vld1_f16(test_vec[i].b);
|
||||
simde_float16_t c = test_vec[i].c;
|
||||
simde_float16x4_t r = simde_vfma_n_f16(a, b, c);
|
||||
|
||||
simde_test_arm_neon_assert_equal_f16x4(r, simde_vld1_f16(test_vec[i].r), 1);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vfmaq_n_f16 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
struct {
|
||||
simde_float16_t a[8];
|
||||
simde_float16_t b[8];
|
||||
simde_float16_t c;
|
||||
simde_float16_t r[8];
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_FLOAT16_VALUE(-3.2), SIMDE_FLOAT16_VALUE(-1.5), SIMDE_FLOAT16_VALUE(-13.5), SIMDE_FLOAT16_VALUE(11.7),
|
||||
SIMDE_FLOAT16_VALUE(-0.3), SIMDE_FLOAT16_VALUE(-14.6), SIMDE_FLOAT16_VALUE(-13.6), SIMDE_FLOAT16_VALUE(-2.7) },
|
||||
{ SIMDE_FLOAT16_VALUE(-12.8), SIMDE_FLOAT16_VALUE(11.5), SIMDE_FLOAT16_VALUE(-14.3), SIMDE_FLOAT16_VALUE(-7.9),
|
||||
SIMDE_FLOAT16_VALUE(-10.5), SIMDE_FLOAT16_VALUE(4.1), SIMDE_FLOAT16_VALUE(6.7), SIMDE_FLOAT16_VALUE(-7.5) },
|
||||
SIMDE_FLOAT16_VALUE(1.9),
|
||||
{ SIMDE_FLOAT16_VALUE(-27.520), SIMDE_FLOAT16_VALUE(20.350), SIMDE_FLOAT16_VALUE(-40.670), SIMDE_FLOAT16_VALUE(-3.310),
|
||||
SIMDE_FLOAT16_VALUE(-20.250), SIMDE_FLOAT16_VALUE(-6.810), SIMDE_FLOAT16_VALUE(-0.870), SIMDE_FLOAT16_VALUE(-16.950) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(5.5), SIMDE_FLOAT16_VALUE(12.8), SIMDE_FLOAT16_VALUE(-10.5), SIMDE_FLOAT16_VALUE(-3.1),
|
||||
SIMDE_FLOAT16_VALUE(-5.8), SIMDE_FLOAT16_VALUE(12.1), SIMDE_FLOAT16_VALUE(-9.6), SIMDE_FLOAT16_VALUE(10.9) },
|
||||
{ SIMDE_FLOAT16_VALUE(-13.7), SIMDE_FLOAT16_VALUE(1.6), SIMDE_FLOAT16_VALUE(5.9), SIMDE_FLOAT16_VALUE(-3.2),
|
||||
SIMDE_FLOAT16_VALUE(4.7), SIMDE_FLOAT16_VALUE(-7.6), SIMDE_FLOAT16_VALUE(-10.1), SIMDE_FLOAT16_VALUE(-14.5) },
|
||||
SIMDE_FLOAT16_VALUE(0.4),
|
||||
{ SIMDE_FLOAT16_VALUE(0.020), SIMDE_FLOAT16_VALUE(13.440), SIMDE_FLOAT16_VALUE(-8.140), SIMDE_FLOAT16_VALUE(-4.380),
|
||||
SIMDE_FLOAT16_VALUE(-3.920), SIMDE_FLOAT16_VALUE(9.060), SIMDE_FLOAT16_VALUE(-13.640), SIMDE_FLOAT16_VALUE(5.100) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-9.9), SIMDE_FLOAT16_VALUE(2.2), SIMDE_FLOAT16_VALUE(-4.9), SIMDE_FLOAT16_VALUE(-8.4),
|
||||
SIMDE_FLOAT16_VALUE(-11.5), SIMDE_FLOAT16_VALUE(10.2), SIMDE_FLOAT16_VALUE(-4.7), SIMDE_FLOAT16_VALUE(-4.7) },
|
||||
{ SIMDE_FLOAT16_VALUE(11.5), SIMDE_FLOAT16_VALUE(8.5), SIMDE_FLOAT16_VALUE(-7.6), SIMDE_FLOAT16_VALUE(-5.1),
|
||||
SIMDE_FLOAT16_VALUE(11.6), SIMDE_FLOAT16_VALUE(-0.3), SIMDE_FLOAT16_VALUE(-12.7), SIMDE_FLOAT16_VALUE(2.7) },
|
||||
SIMDE_FLOAT16_VALUE(-1.3),
|
||||
{ SIMDE_FLOAT16_VALUE(-24.850), SIMDE_FLOAT16_VALUE(-8.850), SIMDE_FLOAT16_VALUE(4.980), SIMDE_FLOAT16_VALUE(-1.770),
|
||||
SIMDE_FLOAT16_VALUE(-26.580), SIMDE_FLOAT16_VALUE(10.590), SIMDE_FLOAT16_VALUE(11.810), SIMDE_FLOAT16_VALUE(-8.210) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(0.5), SIMDE_FLOAT16_VALUE(-11.3), SIMDE_FLOAT16_VALUE(-12.3), SIMDE_FLOAT16_VALUE(4.1),
|
||||
SIMDE_FLOAT16_VALUE(-13.3), SIMDE_FLOAT16_VALUE(-14.4), SIMDE_FLOAT16_VALUE(4.8), SIMDE_FLOAT16_VALUE(3.6) },
|
||||
{ SIMDE_FLOAT16_VALUE(5.4), SIMDE_FLOAT16_VALUE(13.3), SIMDE_FLOAT16_VALUE(7.0), SIMDE_FLOAT16_VALUE(13.2),
|
||||
SIMDE_FLOAT16_VALUE(-0.6), SIMDE_FLOAT16_VALUE(-3.6), SIMDE_FLOAT16_VALUE(14.4), SIMDE_FLOAT16_VALUE(9.6) },
|
||||
SIMDE_FLOAT16_VALUE(1.5),
|
||||
{ SIMDE_FLOAT16_VALUE(8.600), SIMDE_FLOAT16_VALUE(8.650), SIMDE_FLOAT16_VALUE(-1.800), SIMDE_FLOAT16_VALUE(23.900),
|
||||
SIMDE_FLOAT16_VALUE(-14.200), SIMDE_FLOAT16_VALUE(-19.800), SIMDE_FLOAT16_VALUE(26.400), SIMDE_FLOAT16_VALUE(18.000) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-4.5), SIMDE_FLOAT16_VALUE(11.4), SIMDE_FLOAT16_VALUE(-3.5), SIMDE_FLOAT16_VALUE(6.4),
|
||||
SIMDE_FLOAT16_VALUE(-13.2), SIMDE_FLOAT16_VALUE(9.6), SIMDE_FLOAT16_VALUE(-4.8), SIMDE_FLOAT16_VALUE(-0.6) },
|
||||
{ SIMDE_FLOAT16_VALUE(-10.6), SIMDE_FLOAT16_VALUE(9.2), SIMDE_FLOAT16_VALUE(-10.0), SIMDE_FLOAT16_VALUE(-6.4),
|
||||
SIMDE_FLOAT16_VALUE(8.2), SIMDE_FLOAT16_VALUE(9.8), SIMDE_FLOAT16_VALUE(1.4), SIMDE_FLOAT16_VALUE(-7.0) },
|
||||
SIMDE_FLOAT16_VALUE(-4.1),
|
||||
{ SIMDE_FLOAT16_VALUE(38.960), SIMDE_FLOAT16_VALUE(-26.320), SIMDE_FLOAT16_VALUE(37.500), SIMDE_FLOAT16_VALUE(32.640),
|
||||
SIMDE_FLOAT16_VALUE(-46.820), SIMDE_FLOAT16_VALUE(-30.580), SIMDE_FLOAT16_VALUE(-10.540), SIMDE_FLOAT16_VALUE(28.100) } },
|
||||
};
|
||||
|
||||
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 b = simde_vld1q_f16(test_vec[i].b);
|
||||
simde_float16_t c = test_vec[i].c;
|
||||
simde_float16x8_t r = simde_vfmaq_n_f16(a, b, c);
|
||||
|
||||
simde_test_arm_neon_assert_equal_f16x8(r, simde_vld1q_f16(test_vec[i].r), 1);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vfma_n_f32 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
|
|
@ -283,9 +402,11 @@ test_simde_vfmaq_n_f64 (SIMDE_MUNIT_TEST_ARGS) {
|
|||
}
|
||||
|
||||
SIMDE_TEST_FUNC_LIST_BEGIN
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vfma_n_f16)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vfma_n_f32)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vfma_n_f64)
|
||||
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vfmaq_n_f16)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vfmaq_n_f32)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vfmaq_n_f64)
|
||||
SIMDE_TEST_FUNC_LIST_END
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue