pipecircuit-cli 0.0.2

Command-line architectural tools for Pipecircuit programs
use core::num::NonZeroU64;

/// A positive increment; zero is refused at the boundary.
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct Amount(NonZeroU64);

impl Amount {
    pub const fn new(value: NonZeroU64) -> Self {
        Self(value)
    }

    pub const fn get(self) -> u64 {
        self.0.get()
    }
}

#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct Count(u64);

impl Count {
    pub const ZERO: Self = Self(0);

    pub const fn new(value: u64) -> Self {
        Self(value)
    }

    pub const fn get(self) -> u64 {
        self.0
    }
}

#[cfg(kani)]
mod proofs;
#[cfg(test)]
mod tests;