const-siphasher 1.0.2

SipHash-2-4, SipHash-1-3 and 128-bit variants in pure Rust
Documentation
#![doc = include_str!("../README.md")]
#![cfg_attr(not(test), no_std)]
#![allow(clippy::unreadable_literal)]
#![allow(clippy::cast_lossless)]
#![allow(clippy::many_single_char_names)]

pub mod sip;
pub mod sip128;

#[cfg(test)]
mod tests;

#[cfg(test)]
mod tests128;

#[doc(hidden)]
trait Sip {
    const C_ROUNDS: usize;
    const D_ROUNDS: usize;
}

#[derive(Debug, Clone, Copy, Default)]
struct Sip13Rounds;

impl Sip for Sip13Rounds {
    const C_ROUNDS: usize = 1;
    const D_ROUNDS: usize = 3;
}

#[derive(Debug, Clone, Copy, Default)]
struct Sip24Rounds;

impl Sip for Sip24Rounds {
    const C_ROUNDS: usize = 2;
    const D_ROUNDS: usize = 4;
}

#[cfg(any(feature = "serde", feature = "serde_std", feature = "serde_no_std"))]
pub mod reexports {
    pub use serde;
    #[cfg(feature = "serde_json")]
    pub use serde_json;
}

pub mod prelude {
    pub use core::hash::Hasher as _;

    pub use sip128::Hasher128 as _;

    pub use crate::{sip, sip128};
}