clock-hash 1.0.0

ClockHash-256: Consensus hash function for ClockinChain
Documentation
//! SIMD-accelerated implementations for ClockHash-256
//!
//! This module provides fully vectorized AVX2/AVX-512 implementations that accelerate
//! ClockHash-256 cryptographic operations while maintaining correctness and
//! constant-time behavior.
//!
//! # Implementation
//!
//! - Full AVX2 vectorization of ClockMix operations
//! - AVX2-accelerated ClockPermute operations
//! - Runtime CPU feature detection
//! - Fallback to scalar implementation when SIMD unavailable
//! - Constant-time operations maintained
//!
//! # Modules
//!
//! - `dispatch`: CPU feature detection and SIMD dispatch logic
//! - `avx2`: AVX2-specific implementations
//! - `avx512`: AVX-512-specific implementations
//! - `scalar`: Scalar fallback implementations
//! - `debug`: Debug utilities for SIMD operations

#[cfg(all(feature = "simd", any(target_arch = "x86_64", target_arch = "x86")))]
pub mod avx2;
#[cfg(all(feature = "simd", any(target_arch = "x86_64", target_arch = "x86")))]
pub mod avx512;
pub mod dispatch;
pub mod scalar;

// Re-export the main public interfaces
pub use dispatch::{clock_mix_avx2, process_block_simd};

// Test modules are only included when testing and std is available
#[cfg(all(test, feature = "std"))]
pub mod tests {
    pub mod alignment_tests;
    pub mod basic;
    pub mod cpu_feature_tests;
    pub mod integration_tests;
    pub mod performance_tests;
    pub mod property_tests;
}