vyre-conform 0.1.0

Conformance suite for vyre backends — proves byte-identical output to CPU reference
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//! Built-in defendants for primitive.math.negate.

use super::super::macros::*;
use crate::adversarial::defender::{Defendant, DefendantCatalog, DefenderClass};

#[must_use]
#[inline]
pub(crate) fn catalog_primitive_math_negate() -> DefendantCatalog {
    DefendantCatalog {
        target_op_id: "primitive.math.negate",
        defendants: vec![
            Defendant { id: "negate_law_involution_corruption_0", target_op_id: "primitive.math.negate", description: "NEGATE law mutation corruption 0 falsifies the declared involution law at a concrete witness.", class: DefenderClass::PseudoCorrect, broken_fn: negate_law_mut::<0, 0, 0>, fails_laws: &["involution"], expected_witness: &[(0, 0)], },
            Defendant { id: "negate_law_involution_corruption_1", target_op_id: "primitive.math.negate", description: "NEGATE law mutation corruption 1 falsifies the declared involution law at a concrete witness.", class: DefenderClass::PseudoCorrect, broken_fn: negate_law_mut::<1, 0, 1>, fails_laws: &["involution"], expected_witness: &[(1, 0)], },
        ],
    }
}