| 1 | /* @title: HyperLogLog */ |
|---|---|
| 2 | #pragma once |
| 3 | #include <stddef.h> |
| 4 | #include <stdint.h> |
| 5 | #include <types/types.h> |
| 6 | |
| 7 | struct hyperloglog; |
| 8 | |
| 9 | #define HYPERLOGLOG_REGISTER_WIDTH_DEFAULT 4 |
| 10 | |
| 11 | struct hyperloglog *hyperloglog_create(uint8_t register_width); |
| 12 | void hyperloglog_destroy(struct hyperloglog *hll); |
| 13 | fx32_32_t hyperloglog_estimate(struct hyperloglog *hll); |
| 14 | void hyperloglog_add(struct hyperloglog *hll, uint32_t hash); |
| 15 |