From ff6b1f7ac92f7ffee9c92831e15cb20203a3bb39 Mon Sep 17 00:00:00 2001 From: Dominik Werder Date: Tue, 1 Apr 2025 15:37:56 +0200 Subject: [PATCH] Add counter type --- src/lib.rs | 1 + src/types.rs | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 src/types.rs diff --git a/src/lib.rs b/src/lib.rs index eda363d..9bedb0e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1 +1,2 @@ pub mod macros; +pub mod types; diff --git a/src/types.rs b/src/types.rs new file mode 100644 index 0000000..0ad7c1c --- /dev/null +++ b/src/types.rs @@ -0,0 +1,21 @@ +#[derive(Debug)] +pub struct CounterU32 { + v: u32, +} + +impl CounterU32 { + #[inline(always)] + pub fn new() -> Self { + Self { v: 0 } + } + + #[inline(always)] + pub fn inc(&mut self) { + self.v += 1 + } + + #[inline(always)] + pub fn ingest(&mut self, rhs: Self) { + self.v += rhs.v + } +}