//! Named constants for commonly used [`U512`] values.
use super::U512;

impl U512 {
    /// The additive identity (`0`).
    pub const ZERO: U512 = U512([0, 0, 0, 0, 0, 0, 0, 0]);

    /// The multiplicative identity (`1`).
    pub const ONE: U512 = U512([1, 0, 0, 0, 0, 0, 0, 0]);

    /// The maximum representable value (`2^512 - 1`), with all bits set.
    pub const MAX: U512 = U512([
        u64::MAX, u64::MAX, u64::MAX, u64::MAX,
        u64::MAX, u64::MAX, u64::MAX, u64::MAX,
    ]);
}
