16 unsigned char* res = (
unsigned char*)res_arg;
17 unsigned char* array1 = (
unsigned char*)array1_arg;
18 unsigned char* array2 = (
unsigned char*)array2_arg;
19 unsigned char* array3 = (
unsigned char*)array3_arg;
24 for (i = 0; i < length; ++i)
26 int flag12 = memcmp(array1, array2, type_len);
27 int flag23 = memcmp(array2, array3, type_len);
29 if (flag12 == 0 && flag23 == 0)
31 memcpy(res, array1, type_len);
35 int flag31 = memcmp(array3, array1, type_len);
37 if (flag12 == 0 || flag23 == 0 || flag31 == 0)
42 memcpy(res, array3, type_len);
46 memcpy(res, array1, type_len);
50 memcpy(res, array2, type_len);
74 unsigned char* array1 = (
unsigned char*)array1_arg;
75 unsigned char* array2 = (
unsigned char*)array2_arg;
76 unsigned char* array3 = (
unsigned char*)array3_arg;
81 for (i = 0; i < length; ++i)
83 int flag12 = memcmp(array1, array2, type_len);
84 int flag23 = memcmp(array2, array3, type_len);
86 if (!(flag12 == 0 && flag23 == 0))
88 int flag31 = memcmp(array3, array1, type_len);
90 if (flag12 == 0 || flag23 == 0 || flag31 == 0)
96 memcpy(array3, array1, type_len);
100 memcpy(array1, array2, type_len);
104 memcpy(array2, array3, type_len);
MAJORITY_VOTE_FOR3_STATUS majority_vote_for3_copy(void *res_arg, void *array1_arg, void *array2_arg, void *array3_arg, size_t type_len, uint32_t length)
3重冗長用汎用多数決関数 (コピー)
MAJORITY_VOTE_FOR3_STATUS majority_vote_for3_sync(void *array1_arg, void *array2_arg, void *array3_arg, size_t type_len, uint32_t length)
3重冗長用汎用多数決関数 (同期)
MAJORITY_VOTE_FOR3_STATUS