minimap2 0.2.25.0 → 0.2.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -3
  3. data/ext/minimap2/Makefile +6 -2
  4. data/ext/minimap2/NEWS.md +38 -0
  5. data/ext/minimap2/README.md +9 -3
  6. data/ext/minimap2/align.c +5 -3
  7. data/ext/minimap2/cookbook.md +2 -2
  8. data/ext/minimap2/format.c +7 -4
  9. data/ext/minimap2/kalloc.c +20 -1
  10. data/ext/minimap2/kalloc.h +13 -2
  11. data/ext/minimap2/ksw2.h +1 -0
  12. data/ext/minimap2/ksw2_extd2_sse.c +1 -1
  13. data/ext/minimap2/ksw2_exts2_sse.c +79 -40
  14. data/ext/minimap2/ksw2_extz2_sse.c +1 -1
  15. data/ext/minimap2/lchain.c +15 -16
  16. data/ext/minimap2/lib/simde/CONTRIBUTING.md +114 -0
  17. data/ext/minimap2/lib/simde/COPYING +20 -0
  18. data/ext/minimap2/lib/simde/README.md +333 -0
  19. data/ext/minimap2/lib/simde/amalgamate.py +58 -0
  20. data/ext/minimap2/lib/simde/meson.build +33 -0
  21. data/ext/minimap2/lib/simde/netlify.toml +20 -0
  22. data/ext/minimap2/lib/simde/simde/arm/neon/float32x2.h +140 -0
  23. data/ext/minimap2/lib/simde/simde/arm/neon/float32x4.h +137 -0
  24. data/ext/minimap2/lib/simde/simde/arm/neon/float64x1.h +142 -0
  25. data/ext/minimap2/lib/simde/simde/arm/neon/float64x2.h +145 -0
  26. data/ext/minimap2/lib/simde/simde/arm/neon/int16x4.h +140 -0
  27. data/ext/minimap2/lib/simde/simde/arm/neon/int16x8.h +145 -0
  28. data/ext/minimap2/lib/simde/simde/arm/neon/int32x2.h +140 -0
  29. data/ext/minimap2/lib/simde/simde/arm/neon/int32x4.h +143 -0
  30. data/ext/minimap2/lib/simde/simde/arm/neon/int64x1.h +137 -0
  31. data/ext/minimap2/lib/simde/simde/arm/neon/int64x2.h +141 -0
  32. data/ext/minimap2/lib/simde/simde/arm/neon/int8x16.h +147 -0
  33. data/ext/minimap2/lib/simde/simde/arm/neon/int8x8.h +141 -0
  34. data/ext/minimap2/lib/simde/simde/arm/neon/uint16x4.h +134 -0
  35. data/ext/minimap2/lib/simde/simde/arm/neon/uint16x8.h +138 -0
  36. data/ext/minimap2/lib/simde/simde/arm/neon/uint32x2.h +134 -0
  37. data/ext/minimap2/lib/simde/simde/arm/neon/uint32x4.h +137 -0
  38. data/ext/minimap2/lib/simde/simde/arm/neon/uint64x1.h +131 -0
  39. data/ext/minimap2/lib/simde/simde/arm/neon/uint64x2.h +135 -0
  40. data/ext/minimap2/lib/simde/simde/arm/neon/uint8x16.h +141 -0
  41. data/ext/minimap2/lib/simde/simde/arm/neon/uint8x8.h +135 -0
  42. data/ext/minimap2/lib/simde/simde/arm/neon.h +97 -0
  43. data/ext/minimap2/lib/simde/simde/check.h +267 -0
  44. data/ext/minimap2/lib/simde/simde/debug-trap.h +83 -0
  45. data/ext/minimap2/lib/simde/simde/hedley.h +1899 -0
  46. data/ext/minimap2/lib/simde/simde/simde-arch.h +445 -0
  47. data/ext/minimap2/lib/simde/simde/simde-common.h +697 -0
  48. data/ext/minimap2/lib/simde/simde/x86/avx.h +5385 -0
  49. data/ext/minimap2/lib/simde/simde/x86/avx2.h +2402 -0
  50. data/ext/minimap2/lib/simde/simde/x86/avx512bw.h +391 -0
  51. data/ext/minimap2/lib/simde/simde/x86/avx512f.h +3389 -0
  52. data/ext/minimap2/lib/simde/simde/x86/avx512vl.h +112 -0
  53. data/ext/minimap2/lib/simde/simde/x86/fma.h +659 -0
  54. data/ext/minimap2/lib/simde/simde/x86/mmx.h +2210 -0
  55. data/ext/minimap2/lib/simde/simde/x86/sse.h +3696 -0
  56. data/ext/minimap2/lib/simde/simde/x86/sse2.h +5991 -0
  57. data/ext/minimap2/lib/simde/simde/x86/sse3.h +343 -0
  58. data/ext/minimap2/lib/simde/simde/x86/sse4.1.h +1783 -0
  59. data/ext/minimap2/lib/simde/simde/x86/sse4.2.h +105 -0
  60. data/ext/minimap2/lib/simde/simde/x86/ssse3.h +1053 -0
  61. data/ext/minimap2/lib/simde/simde/x86/svml.h +543 -0
  62. data/ext/minimap2/lib/simde/test/CMakeLists.txt +166 -0
  63. data/ext/minimap2/lib/simde/test/arm/meson.build +4 -0
  64. data/ext/minimap2/lib/simde/test/arm/neon/meson.build +23 -0
  65. data/ext/minimap2/lib/simde/test/arm/neon/skel.c +871 -0
  66. data/ext/minimap2/lib/simde/test/arm/neon/test-neon-internal.h +134 -0
  67. data/ext/minimap2/lib/simde/test/arm/neon/test-neon.c +39 -0
  68. data/ext/minimap2/lib/simde/test/arm/neon/test-neon.h +10 -0
  69. data/ext/minimap2/lib/simde/test/arm/neon/vadd.c +1260 -0
  70. data/ext/minimap2/lib/simde/test/arm/neon/vdup_n.c +873 -0
  71. data/ext/minimap2/lib/simde/test/arm/neon/vmul.c +1084 -0
  72. data/ext/minimap2/lib/simde/test/arm/neon/vsub.c +1260 -0
  73. data/ext/minimap2/lib/simde/test/arm/test-arm-internal.h +18 -0
  74. data/ext/minimap2/lib/simde/test/arm/test-arm.c +20 -0
  75. data/ext/minimap2/lib/simde/test/arm/test-arm.h +8 -0
  76. data/ext/minimap2/lib/simde/test/cmake/AddCompilerFlags.cmake +171 -0
  77. data/ext/minimap2/lib/simde/test/cmake/ExtraWarningFlags.cmake +68 -0
  78. data/ext/minimap2/lib/simde/test/meson.build +64 -0
  79. data/ext/minimap2/lib/simde/test/munit/COPYING +21 -0
  80. data/ext/minimap2/lib/simde/test/munit/Makefile +55 -0
  81. data/ext/minimap2/lib/simde/test/munit/README.md +54 -0
  82. data/ext/minimap2/lib/simde/test/munit/example.c +351 -0
  83. data/ext/minimap2/lib/simde/test/munit/meson.build +37 -0
  84. data/ext/minimap2/lib/simde/test/munit/munit.c +2055 -0
  85. data/ext/minimap2/lib/simde/test/munit/munit.h +535 -0
  86. data/ext/minimap2/lib/simde/test/run-tests.c +20 -0
  87. data/ext/minimap2/lib/simde/test/run-tests.h +260 -0
  88. data/ext/minimap2/lib/simde/test/x86/avx.c +13752 -0
  89. data/ext/minimap2/lib/simde/test/x86/avx2.c +9977 -0
  90. data/ext/minimap2/lib/simde/test/x86/avx512bw.c +2664 -0
  91. data/ext/minimap2/lib/simde/test/x86/avx512f.c +10416 -0
  92. data/ext/minimap2/lib/simde/test/x86/avx512vl.c +210 -0
  93. data/ext/minimap2/lib/simde/test/x86/fma.c +2557 -0
  94. data/ext/minimap2/lib/simde/test/x86/meson.build +33 -0
  95. data/ext/minimap2/lib/simde/test/x86/mmx.c +2878 -0
  96. data/ext/minimap2/lib/simde/test/x86/skel.c +2984 -0
  97. data/ext/minimap2/lib/simde/test/x86/sse.c +5121 -0
  98. data/ext/minimap2/lib/simde/test/x86/sse2.c +9860 -0
  99. data/ext/minimap2/lib/simde/test/x86/sse3.c +486 -0
  100. data/ext/minimap2/lib/simde/test/x86/sse4.1.c +3446 -0
  101. data/ext/minimap2/lib/simde/test/x86/sse4.2.c +101 -0
  102. data/ext/minimap2/lib/simde/test/x86/ssse3.c +2084 -0
  103. data/ext/minimap2/lib/simde/test/x86/svml.c +1545 -0
  104. data/ext/minimap2/lib/simde/test/x86/test-avx.h +16 -0
  105. data/ext/minimap2/lib/simde/test/x86/test-avx512.h +25 -0
  106. data/ext/minimap2/lib/simde/test/x86/test-mmx.h +13 -0
  107. data/ext/minimap2/lib/simde/test/x86/test-sse.h +13 -0
  108. data/ext/minimap2/lib/simde/test/x86/test-sse2.h +13 -0
  109. data/ext/minimap2/lib/simde/test/x86/test-x86-internal.h +196 -0
  110. data/ext/minimap2/lib/simde/test/x86/test-x86.c +48 -0
  111. data/ext/minimap2/lib/simde/test/x86/test-x86.h +8 -0
  112. data/ext/minimap2/main.c +13 -6
  113. data/ext/minimap2/map.c +0 -5
  114. data/ext/minimap2/minimap.h +40 -31
  115. data/ext/minimap2/minimap2.1 +19 -5
  116. data/ext/minimap2/misc/paftools.js +545 -24
  117. data/ext/minimap2/options.c +1 -1
  118. data/ext/minimap2/pyproject.toml +2 -0
  119. data/ext/minimap2/python/mappy.pyx +3 -1
  120. data/ext/minimap2/seed.c +1 -1
  121. data/ext/minimap2/setup.py +32 -22
  122. data/lib/minimap2/version.rb +1 -1
  123. metadata +100 -3
@@ -0,0 +1,134 @@
1
+ #if !defined(SIMDE_TESTS_NEON_INTERNAL_H)
2
+ #define SIMDE_TESTS_CURRENT_ARCH arm
3
+ #define SIMDE_TESTS_CURRENT_ISAX neon
4
+
5
+ #include "../../run-tests.h"
6
+ #include "../../../simde/arm/neon.h"
7
+
8
+ HEDLEY_BEGIN_C_DECLS
9
+
10
+ #define SIMDE_TESTS_GENERATE_SUITE_GETTERS(op) \
11
+ MunitSuite* SIMDE_TESTS_GENERATE_SYMBOL_FULL(op, SIMDE_TESTS_CURRENT_ARCH, neon, native, c) (void); \
12
+ MunitSuite* SIMDE_TESTS_GENERATE_SYMBOL_FULL(op, SIMDE_TESTS_CURRENT_ARCH, neon, native, cpp)(void); \
13
+ MunitSuite* SIMDE_TESTS_GENERATE_SYMBOL_FULL(op, SIMDE_TESTS_CURRENT_ARCH, neon, emul, c) (void); \
14
+ MunitSuite* SIMDE_TESTS_GENERATE_SYMBOL_FULL(op, SIMDE_TESTS_CURRENT_ARCH, neon, emul, cpp)(void)
15
+
16
+ #define SIMDE_TESTS_NEON_GENERATE_INTRIN_FULL(vtype, variant) HEDLEY_CONCAT(v, SIMDE_TESTS_CONCAT3(HEDLEY_CONCAT(SIMDE_TESTS_CURRENT_NEON_OP, vtype), _, variant))
17
+ #define SIMDE_TESTS_NEON_GENERATE_INTRIN(vtype, variant) HEDLEY_CONCAT(v, SIMDE_TESTS_CONCAT3(SIMDE_TESTS_CURRENT_NEON_OP, _, variant))
18
+
19
+ #define SIMDE_TESTS_NEON_DEFINE_TEST_FULL(vtype, variant) \
20
+ { (char*) HEDLEY_STRINGIFY(vtype) "_" HEDLEY_STRINGIFY(variant) "/" HEDLEY_STRINGIFY(SIMDE_TESTS_CURRENT_NATIVE) "/" HEDLEY_STRINGIFY(SIMDE_TESTS_CURRENT_LANG), HEDLEY_CONCAT(test_simde_, SIMDE_TESTS_NEON_GENERATE_INTRIN_FULL(vtype, variant)), NULL, NULL, MUNIT_TEST_OPTION_NONE, NULL }
21
+ #define SIMDE_TESTS_NEON_DEFINE_TEST(variant) \
22
+ { (char*) "_" HEDLEY_STRINGIFY(variant) "/" HEDLEY_STRINGIFY(SIMDE_TESTS_CURRENT_NATIVE) "/" HEDLEY_STRINGIFY(SIMDE_TESTS_CURRENT_LANG), HEDLEY_CONCAT(test_simde_, SIMDE_TESTS_NEON_GENERATE_INTRIN(vtype, variant)), NULL, NULL, MUNIT_TEST_OPTION_NONE, NULL }
23
+
24
+ SIMDE_TESTS_GENERATE_SUITE_GETTERS(add);
25
+ SIMDE_TESTS_GENERATE_SUITE_GETTERS(dup);
26
+ SIMDE_TESTS_GENERATE_SUITE_GETTERS(mul);
27
+ SIMDE_TESTS_GENERATE_SUITE_GETTERS(sub);
28
+
29
+ #define simde_neon_assert_int8x8(a, op, b) \
30
+ simde_assert_typev(int8_t, PRId8, (sizeof(a) / sizeof(int8_t)), (const int8_t*) &(a), op, (const int8_t*) &(b))
31
+ #define simde_neon_assert_int16x4(a, op, b) \
32
+ simde_assert_typev(int16_t, PRId16, (sizeof(a) / sizeof(int16_t)), (const int16_t*) &(a), op, (const int16_t*) &(b))
33
+ #define simde_neon_assert_int32x2(a, op, b) \
34
+ simde_assert_typev(int32_t, PRId32, (sizeof(a) / sizeof(int32_t)), (const int32_t*) &(a), op, (const int32_t*) &(b))
35
+ #define simde_neon_assert_int64x1(a, op, b) \
36
+ simde_assert_typev(int64_t, PRId64, (sizeof(a) / sizeof(int64_t)), (const int64_t*) &(a), op, (const int64_t*) &(b))
37
+ #define simde_neon_assert_uint8x8(a, op, b) \
38
+ simde_assert_typev(uint8_t, PRId8, (sizeof(a) / sizeof(uint8_t)), (const uint8_t*) &(a), op, (const uint8_t*) &(b))
39
+ #define simde_neon_assert_uint16x4(a, op, b) \
40
+ simde_assert_typev(uint16_t, PRId16, (sizeof(a) / sizeof(uint16_t)), (const uint16_t*) &(a), op, (const uint16_t*) &(b))
41
+ #define simde_neon_assert_uint32x2(a, op, b) \
42
+ simde_assert_typev(uint32_t, PRId32, (sizeof(a) / sizeof(uint32_t)), (const uint32_t*) &(a), op, (const uint32_t*) &(b))
43
+ #define simde_neon_assert_uint64x1(a, op, b) \
44
+ simde_assert_typev(uint64_t, PRId64, (sizeof(a) / sizeof(uint64_t)), (const uint64_t*) &(a), op, (const uint64_t*) &(b))
45
+ #define simde_neon_assert_float32x2(a, op, b) \
46
+ simde_assert_typev(simde_float32, "f", (sizeof(a) / sizeof(simde_float32)), (const simde_float32*) &(a), op, (const simde_float32*) &(b))
47
+ #define simde_neon_assert_float32x2_equal(a, b, precision) \
48
+ simde_assert_f32v_equal(simde_float32, (sizeof(a) / sizeof(simde_float32)), (const simde_float32*) &(a), (const simde_float32*) &(b), precision)
49
+ #define simde_neon_assert_float64x1(a, op, b) \
50
+ simde_assert_typev(simde_float64, "f", (sizeof(a) / sizeof(simde_float64)), (const simde_float64*) &(a), op, (const simde_float64*) &(b))
51
+ #define simde_neon_assert_float64x1_equal(a, b, precision) \
52
+ simde_assert_f32v_equal(simde_float64, (sizeof(a) / sizeof(simde_float64)), (const simde_float64*) &(a), (const simde_float64*) &(b), precision)
53
+
54
+ #define simde_neon_assert_int8x16(a, op, b) \
55
+ simde_assert_typev(int8_t, PRId8, (sizeof(a) / sizeof(int8_t)), (const int8_t*) &(a), op, (const int8_t*) &(b))
56
+ #define simde_neon_assert_int16x8(a, op, b) \
57
+ simde_assert_typev(int16_t, PRId16, (sizeof(a) / sizeof(int16_t)), (const int16_t*) &(a), op, (const int16_t*) &(b))
58
+ #define simde_neon_assert_int32x4(a, op, b) \
59
+ simde_assert_typev(int32_t, PRId32, (sizeof(a) / sizeof(int32_t)), (const int32_t*) &(a), op, (const int32_t*) &(b))
60
+ #define simde_neon_assert_int64x2(a, op, b) \
61
+ simde_assert_typev(int64_t, PRId64, (sizeof(a) / sizeof(int64_t)), (const int64_t*) &(a), op, (const int64_t*) &(b))
62
+ #define simde_neon_assert_uint8x16(a, op, b) \
63
+ simde_assert_typev(uint8_t, PRId8, (sizeof(a) / sizeof(uint8_t)), (const uint8_t*) &(a), op, (const uint8_t*) &(b))
64
+ #define simde_neon_assert_uint16x8(a, op, b) \
65
+ simde_assert_typev(uint16_t, PRId16, (sizeof(a) / sizeof(uint16_t)), (const uint16_t*) &(a), op, (const uint16_t*) &(b))
66
+ #define simde_neon_assert_uint32x4(a, op, b) \
67
+ simde_assert_typev(uint32_t, PRId32, (sizeof(a) / sizeof(uint32_t)), (const uint32_t*) &(a), op, (const uint32_t*) &(b))
68
+ #define simde_neon_assert_uint64x2(a, op, b) \
69
+ simde_assert_typev(uint64_t, PRId64, (sizeof(a) / sizeof(uint64_t)), (const uint64_t*) &(a), op, (const uint64_t*) &(b))
70
+ #define simde_neon_assert_float32x4(a, op, b) \
71
+ simde_assert_typev(simde_float32, "f", (sizeof(a) / sizeof(simde_float32)), (const simde_float32*) &(a), op, (const simde_float32*) &(b))
72
+ #define simde_neon_assert_float32x4_equal(a, b, precision) \
73
+ simde_assert_f32v_equal(simde_float32, (sizeof(a) / sizeof(simde_float32)), (const simde_float32*) &(a), (const simde_float32*) &(b), precision)
74
+ #define simde_neon_assert_float64x2(a, op, b) \
75
+ simde_assert_typev(simde_float64, "f", (sizeof(a) / sizeof(simde_float64)), (const simde_float64*) &(a), op, (const simde_float64*) &(b))
76
+ #define simde_neon_assert_float64x2_equal(a, b, precision) \
77
+ simde_assert_f32v_equal(simde_float64, (sizeof(a) / sizeof(simde_float64)), (const simde_float64*) &(a), (const simde_float64*) &(b), precision)
78
+
79
+ #include <math.h>
80
+
81
+ #define SIMDE_NEON_GEN_RAND_ARRAY_FUNC(L, N, V) \
82
+ SIMDE__FUNCTION_ATTRIBUTES \
83
+ simde_float##L##x##N##_t \
84
+ simde_neon_random_float##L##x##N(void) { \
85
+ simde_float##L v[sizeof(simde_float##L##x##N##_t) / sizeof(simde_float##L)]; \
86
+ for (size_t i = 0 ; i < sizeof(v) / sizeof(v[0]) ; i++) { \
87
+ v[i] = (simde_float##L) (round(random_f64_range(-1000.0, 1000.0) * 100.0) / 100.0); \
88
+ } \
89
+ return simde_vld1##V##_f##L(v); \
90
+ }
91
+
92
+ SIMDE__FUNCTION_ATTRIBUTES
93
+ simde_float32x2_t
94
+ simde_neon_random_float32x2(void) {
95
+ simde_float32 v[sizeof(simde_float32x2_t) / sizeof(simde_float32)];
96
+ for (size_t i = 0 ; i < sizeof(v) / sizeof(v[0]) ; i++) {
97
+ v[i] = (simde_float32) (round(random_f64_range(-1000.0, 1000.0) * 100.0) / 100.0);
98
+ }
99
+ return simde_vld1_f32(v);
100
+ }
101
+
102
+ SIMDE__FUNCTION_ATTRIBUTES
103
+ simde_float64x1_t
104
+ simde_neon_random_float64x1(void) {
105
+ simde_float64 v[sizeof(simde_float64x1_t) / sizeof(simde_float64)];
106
+ for (size_t i = 0 ; i < sizeof(v) / sizeof(v[0]) ; i++) {
107
+ v[i] = (simde_float64) (round(random_f64_range(-1000.0, 1000.0) * 100.0) / 100.0);
108
+ }
109
+ return simde_vld1_f64(v);
110
+ }
111
+
112
+ SIMDE__FUNCTION_ATTRIBUTES
113
+ simde_float32x4_t
114
+ simde_neon_random_float32x4(void) {
115
+ simde_float32 v[sizeof(simde_float32x4_t) / sizeof(simde_float32)];
116
+ for (size_t i = 0 ; i < sizeof(v) / sizeof(v[0]) ; i++) {
117
+ v[i] = (simde_float32) (round(random_f64_range(-1000.0, 1000.0) * 100.0) / 100.0);
118
+ }
119
+ return simde_vld1q_f32(v);
120
+ }
121
+
122
+ SIMDE__FUNCTION_ATTRIBUTES
123
+ simde_float64x2_t
124
+ simde_neon_random_float64x2(void) {
125
+ simde_float64 v[sizeof(simde_float64x2_t) / sizeof(simde_float64)];
126
+ for (size_t i = 0 ; i < sizeof(v) / sizeof(v[0]) ; i++) {
127
+ v[i] = (simde_float64) (round(random_f64_range(-1000.0, 1000.0) * 100.0) / 100.0);
128
+ }
129
+ return simde_vld1q_f64(v);
130
+ }
131
+
132
+ HEDLEY_END_C_DECLS
133
+
134
+ #endif /* !defined(SIMDE_TESTS_NEON_INTERNAL_H) */
@@ -0,0 +1,39 @@
1
+ #include "test-neon.h"
2
+ #include "test-neon-internal.h"
3
+
4
+ #include <stdio.h>
5
+
6
+ #if defined(SIMDE_BUILD_CPP_TESTS)
7
+ #define CHILD_GROUP_LEN 4
8
+ #define SET_CHILDREN_FOR_OP(op) \
9
+ children[i++] = *SIMDE_TESTS_GENERATE_SYMBOL_FULL(op, SIMDE_TESTS_CURRENT_ARCH, neon, native, c) (); \
10
+ children[i++] = *SIMDE_TESTS_GENERATE_SYMBOL_FULL(op, SIMDE_TESTS_CURRENT_ARCH, neon, emul, c) (); \
11
+ children[i++] = *SIMDE_TESTS_GENERATE_SYMBOL_FULL(op, SIMDE_TESTS_CURRENT_ARCH, neon, native, cpp)(); \
12
+ children[i++] = *SIMDE_TESTS_GENERATE_SYMBOL_FULL(op, SIMDE_TESTS_CURRENT_ARCH, neon, emul, cpp)()
13
+ #else
14
+ #define CHILD_GROUP_LEN 2
15
+ #define SET_CHILDREN_FOR_OP(op) \
16
+ children[i++] = *SIMDE_TESTS_GENERATE_SYMBOL_FULL(op, SIMDE_TESTS_CURRENT_ARCH, neon, native, c) (); \
17
+ children[i++] = *SIMDE_TESTS_GENERATE_SYMBOL_FULL(op, SIMDE_TESTS_CURRENT_ARCH, neon, emul, c) ()
18
+
19
+ #endif
20
+
21
+ MunitSuite*
22
+ simde_tests_arm_neon_get_suite(void) {
23
+ static MunitSuite children[(4 * CHILD_GROUP_LEN) + 1];
24
+ static MunitSuite suite = { "/neon", NULL, children, 1, MUNIT_SUITE_OPTION_NONE };
25
+ static const MunitSuite empty = { NULL, NULL, NULL, 1, MUNIT_SUITE_OPTION_NONE };
26
+
27
+ size_t i = 0;
28
+
29
+ SET_CHILDREN_FOR_OP(add);
30
+ SET_CHILDREN_FOR_OP(dup);
31
+ SET_CHILDREN_FOR_OP(mul);
32
+ SET_CHILDREN_FOR_OP(sub);
33
+
34
+ children[i++] = empty;
35
+
36
+ munit_assert_size(i, ==, sizeof(children) / sizeof(children[0]));
37
+
38
+ return &suite;
39
+ }
@@ -0,0 +1,10 @@
1
+ #include "../../../simde/hedley.h"
2
+ #include "../../munit/munit.h"
3
+
4
+ #define SIMDE_TESTS_CURRENT_ISAX neon
5
+
6
+ HEDLEY_BEGIN_C_DECLS
7
+
8
+ MunitSuite* simde_tests_arm_neon_get_suite(void);
9
+
10
+ HEDLEY_END_C_DECLS