#include "memory.h" #include #include #include bool circe_memory_equal (const uint8_t *a, const uint8_t *b, size_t len) { uint8_t acc = 0x0; for (size_t i = 0; i < len; ++i) { acc |= a[i] ^ b[i]; } return acc == 0x0; } void circe_memory_copy (const uint8_t *restrict src, uint8_t *restrict dst, size_t len) { for (size_t i = 0; i < len; ++i) { dst[i] = src[i]; } } void circe_memory_set (uint8_t *dst, uint8_t value, size_t n) { for (size_t i = 0; i < n; ++i) { dst[i] = value; } } void * circe_memset (void *dest, int value, size_t count) { circe_memory_set ((uint8_t *)dest, (uint8_t)value, count); return dest; } void * circe_memcpy (void *restrict dest, const void *restrict src, size_t n) { circe_memory_copy ((const uint8_t *restrict)src, (uint8_t *restrict)dest, n); return dest; }