C2A_Core
|
3重冗長用汎用多数決関数 [詳解]
関数 | |
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重冗長用汎用多数決関数 (同期) [詳解] | |
3重冗長用汎用多数決関数
majority_vote_for3.c に定義があります。
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重冗長用汎用多数決関数 (コピー)
3重冗長用配列を受け取って多数決を行った結果をresに入れ, 冗長の状態を返す
[in] | array1_arg | ~ array3_arg 判定したい3重冗長 |
[in] | type_len | sizeof(型)を入れる |
[in] | length | 配列の長さ, 多次元でも実体は1次元なので全長を入れる, 単体の場合は1を |
[out] | res_arg | 返り値のポインタ, あらかじめ確保しておくように |
MAJORITY_VOTE_ERROR | 全不一致が少なくとも1つ存在, 異常 |
MAJORITY_VOTE_MAJORITY | 2:1が少なくとも1つ存在, 正常 |
MAJORITY_VOTE_MATCH | 全てについて全一致, 正常 |
majority_vote_for3.c の 9 行目に定義があります。
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重冗長用汎用多数決関数 (同期)
3重冗長用配列を受け取って多数決を行い、全てを一致させた状態にする
[in] | array1_arg | ~ array3_arg 判定したい3重冗長 |
[in] | type_len | sizeof(型)を入れる |
[in] | length | 配列の長さ, 多次元でも実体は1次元なので全長を入れる, 単体の場合は1を |
MAJORITY_VOTE_ERROR | 全不一致が少なくとも1つ存在, 異常 |
MAJORITY_VOTE_MAJORITY | 2:1が少なくとも1つ存在, 正常 |
MAJORITY_VOTE_MATCH | 全てについて全一致, 正常 |
majority_vote_for3.c の 68 行目に定義があります。