14 size_t sequence_length = 0;
15 for (
size_t i = 0; i < length; i++)
17 if (data[i] % multiple == 0)
23 if (sequence_length > 1)
25 size_t start = i - sequence_length;
26 size_t end = start + sequence_length - 1;
27 for (
size_t j = 0; j < sequence_length / 2; j++)
29 uint8_t temp = data[start + j];
30 data[start + j] = data[end - j];
40 if (sequence_length > 1)
42 size_t start = length - sequence_length;
43 size_t end = start + sequence_length - 1;
44 for (
size_t j = 0; j < sequence_length / 2; j++)
46 uint8_t temp = data[start + j];
47 data[start + j] = data[end - j];
68 size_t big_half = (length + 1) / 2;
70 for (
size_t i = 0; i < length; i++)
72 size_t next = (i < big_half) ? (i * 2) : ((length - 1 - i) * 2 + 1);
75 if ((data[i] & 0x7F) != 0)
83 while (j != i && j > i)
85 j = (j < big_half) ? (j * 2) : ((length - 1 - j) * 2 + 1);
92 uint8_t temp = data[i];
96 uint8_t swap = data[j];
97 if ((temp & 0x7F) != 0)
103 j = (j < big_half) ? (j * 2) : ((length - 1 - j) * 2 + 1);
106 if ((temp & 0x7F) != 0)
121 for (
size_t i = 0; i < length; i++)
123 size_t next = (i % 2 == 0) ? (i / 2) : (length - 1 - (i - 1) / 2);
126 if ((data[i] & 0x7F) != 0)
134 while (j != i && j > i)
136 j = (j % 2 == 0) ? (j / 2) : (length - 1 - (j - 1) / 2);
143 uint8_t temp = data[i];
147 uint8_t swap = data[j];
148 if ((temp & 0x7F) != 0)
154 j = (j % 2 == 0) ? (j / 2) : (length - 1 - (j - 1) / 2);
157 if ((temp & 0x7F) != 0)