22#ifndef PROTOCORE_CT_EQ_H
23#define PROTOCORE_CT_EQ_H
27#if PROTOCORE_ENABLE_CT_EQ
29#include "memoria_operor/memoria_operor.h"
42static inline proto_bool protocore_ct_eq(
const void *a,
const void *b,
size_t n)
44 const uint8_t *pa = (
const uint8_t *)a;
45 const uint8_t *pb = (
const uint8_t *)b;
47 for (
size_t i = 0; i < n; i++)
49 diff |= (uint8_t)(pa[i] ^ pb[i]);
101 void (*
const eq)(uint8_t *work);
106void protocore_ct_eq_eq(uint8_t *work);
112static const CtEqNs CtEq __attribute__((unused)) = {
113 .eq = protocore_ct_eq_eq,
#define PROTOCORE_BEGIN_DECLS
Give a header's declarations C linkage, so their symbol names carry no parameter types.
_Bool proto_bool
The truth value.
#define PROTOCORE_END_DECLS