vyre-conform 0.1.0

Conformance suite for vyre backends — proves byte-identical output to CPU reference
Documentation
//! Law result type for algebraic law verification.

use crate::spec::law::{AlgebraicLaw, LawViolation};
#[cfg(not(loom))]
use rayon::prelude::*;
use super::support::{check_unary_law_exhaustive_u8, check_unary_law_witnessed_u32};
use super::rebuild::{minimize_binary_violation, minimize_unary_violation};
use super::VerificationLevel;

/// Result of verifying one law against one operation.
#[derive(Debug, Clone)]
pub struct LawResult {
    /// Operation ID.
    pub op_id: String,
    /// Law that was verified.
    pub law_name: String,
    /// Verification level used.
    pub level: VerificationLevel,
    /// Number of input cases tested.
    pub cases_tested: u64,
    /// Violation, if any. None = law holds.
    pub violation: Option<LawViolation>,
}