Refactor array_foreach_i to array_foreach_idx
| Author | Mitja Felicijan <mitja.felicijan@gmail.com> | 2026-01-21 18:37:07 +0100 |
| Committer | Mitja Felicijan <mitja.felicijan@gmail.com> | 2026-01-21 18:37:07 +0100 |
| Commit | b5575596c187fe6d9143b9e08f5b1068ab01410f (patch) |
|
-rw-r--r-- |
examples/array.c | 4 | |
-rw-r--r-- |
nonstd.h | 2 | |
-rw-r--r-- |
tests.c | 6 |
3 files changed, 6 insertions, 6 deletions
| diff --git a/examples/array.c b/examples/array.c | |||
| ... | |||
| 91 | } |
91 | } |
| 92 | printf("\n"); |
92 | printf("\n"); |
| 93 | 93 | ||
| 94 | printf(" Using array_foreach_i: "); |
94 | printf(" Using array_foreach_idx: "); |
| 95 | array_foreach_i(values, val, idx) { |
95 | array_foreach_idx(values, val, idx) { |
| 96 | printf("[%zu]=%d ", idx, val); |
96 | printf("[%zu]=%d ", idx, val); |
| 97 | } |
97 | } |
| 98 | printf("\n\n"); |
98 | printf("\n\n"); |
| ... | |||
| diff --git a/nonstd.h b/nonstd.h | |||
| ... | |||
| 203 | _i_##var < (arr).length && ((var) = (arr).data[_i_##var], 1); \ |
203 | _i_##var < (arr).length && ((var) = (arr).data[_i_##var], 1); \ |
| 204 | ++_i_##var) |
204 | ++_i_##var) |
| 205 | 205 | ||
| 206 | #define array_foreach_i(arr, var, index) \ |
206 | #define array_foreach_idx(arr, var, index) \ |
| 207 | for (size_t index = 0; \ |
207 | for (size_t index = 0; \ |
| 208 | index < (arr).length && ((var) = (arr).data[index], 1); ++index) |
208 | index < (arr).length && ((var) = (arr).data[index], 1); ++index) |
| 209 | 209 | ||
| ... | |||
| diff --git a/tests.c b/tests.c | |||
| ... | |||
| 663 | array_free(arr); |
663 | array_free(arr); |
| 664 | } |
664 | } |
| 665 | 665 | ||
| 666 | MU_TEST(test_array_foreach_i) { |
666 | MU_TEST(test_array_foreach_idx) { |
| 667 | array(int) arr; |
667 | array(int) arr; |
| 668 | array_init(arr); |
668 | array_init(arr); |
| 669 | array_push(arr, 10); |
669 | array_push(arr, 10); |
| ... | |||
| 674 | size_t sum_idx = 0; |
674 | size_t sum_idx = 0; |
| 675 | int val; |
675 | int val; |
| 676 | 676 | ||
| 677 | array_foreach_i(arr, val, i) { |
677 | array_foreach_idx(arr, val, i) { |
| 678 | sum_val += val; |
678 | sum_val += val; |
| 679 | sum_idx += i; |
679 | sum_idx += i; |
| 680 | mu_assert_int_eq(val, arr.data[i]); |
680 | mu_assert_int_eq(val, arr.data[i]); |
| ... | |||
| 932 | RUN_TEST_WITH_NAME(test_array_reserve); |
932 | RUN_TEST_WITH_NAME(test_array_reserve); |
| 933 | RUN_TEST_WITH_NAME(test_array_clear); |
933 | RUN_TEST_WITH_NAME(test_array_clear); |
| 934 | RUN_TEST_WITH_NAME(test_array_foreach); |
934 | RUN_TEST_WITH_NAME(test_array_foreach); |
| 935 | RUN_TEST_WITH_NAME(test_array_foreach_i); |
935 | RUN_TEST_WITH_NAME(test_array_foreach_idx); |
| 936 | } |
936 | } |
| 937 | 937 | ||
| 938 | MU_TEST_SUITE(test_suite_slice) { |
938 | MU_TEST_SUITE(test_suite_slice) { |
| ... | |||