| 59 | // ============================================================================ |
| 60 | |
| 61 | void test_add_sat_u8_16(TestResult& result) { |
| 62 | uint8_t a_data[16] = {100, 150, 200, 250, 100, 150, 200, 250, 100, 150, 200, 250, 100, 150, 200, 250}; |
| 63 | uint8_t b_data[16] = {50, 100, 50, 100, 50, 100, 50, 100, 50, 100, 50, 100, 50, 100, 50, 100}; |
| 64 | uint8_t expected[16] = {150, 250, 250, 255, 150, 250, 250, 255, 150, 250, 250, 255, 150, 250, 250, 255}; |
| 65 | uint8_t output[16] = {0}; |
| 66 | |
| 67 | simd_u8x16 a = load_u8_16(a_data); |
| 68 | simd_u8x16 b = load_u8_16(b_data); |
| 69 | simd_u8x16 c = add_sat_u8_16(a, b); |
| 70 | store_u8_16(output, c); |
| 71 | |
| 72 | if (!compare_u8_arrays(expected, output, 16)) { |
| 73 | result.fail("Saturating add produced incorrect results"); |
| 74 | } |
| 75 | } |
| 76 | |
| 77 | void test_sub_sat_u8_16(TestResult& result) { |
| 78 | uint8_t a_data[16] = {100, 50, 200, 10, 100, 50, 200, 10, 100, 50, 200, 10, 100, 50, 200, 10}; |
nothing calls this directly
no test coverage detected